Du audito klausimai skamba panašiai ir reikalauja skirtingų įrodymų. Į klausimą, kuri sesija susisiekė su šiuo adresu, galima atsakyti iš ryšio ir srauto įrašų. Į klausimą, kuris asmuo atidarė šį puslapį, paprastai ne, bent jau ne iš tų įrašų. Surinkėjo pasirinkimas prieš pasirenkant klausimą yra būdas, kuriuo tinklo komanda galiausiai pateikia prieglobos vardą kaip naršymo istoriją.

Pradėkite nuo įvykio, kurį auditas turi nustatyti

Parašykite klausimą kaip sakinį su veiksniu, tariniu ir laiku. Vien ši drausmė atskleidžia atotrūkį tarp sesijos įrašo ir puslapio peržiūros. Sesijos žurnalas nustato, kad tapatybė buvo priimta tam tikram intervalui, su priskirtu adresu pagal užregistruotą politiką, ir jis negali nustatyti, kurį puslapį kas nors skaitė, nes niekada nematė užklausos.

Pavadinkite stebėjimą prieš projektuodami rinkimą. Laukas, pavadintas aplankytos svetainės vardu, bet iš tikrųjų saugantis išspręstą vardą, yra būsima klaida, o ne patogumas. Laukų pavadinimai gyvena ilgiau nei juos pasirinkę žmonės, todėl rinkitės tokius, kurie aprašo įrodymą, o ne išvadą.

Ką kiekvienas įrašas gali ir ko negali pagrįsti

Beveik kiekviename audito projekte atsiranda keturi įrašų tipai, ir kiekvienas atsako į skirtingą klausimą. Laikykite juos atskirai tiek ataskaitoje, tiek apdorojimo grandinėje, nes jų sumaišymas yra tai, kas apginamą išvadą paverčia gėdinga.

The question being askedRecord that can answer itWhat that record provesWhat still needs a join
Was this address contacted?Flow recordThe connection five-tuple and when it was seenWhich session held the address at that moment
Which account held that address?Session logWhich identity authenticated and the tunnel address it receivedWhich device or person used that account
Was this name looked up?Resolver queryThat this resolver was asked for this nameWhether a page was fetched, and by whom
Was this page viewed?Proxy or application transactionThe request and identity recorded inside that application's scopeTraffic outside that application's visibility
Who was the person?None of the four on its ownAn account in use, at bestA named human, whenever accounts are shared

Skaitykite paskutinį stulpelį taip pat atidžiai kaip vidurinį. Srauto įrašas aprašo adresus ir prievadus, o atvirkštinė adreso paieška neatkuria vardo, kurį naudojo naršyklė, nes vienas adresas gali prieglobsti daug nesusijusių svetainių. Resolverio užklausa įrodo, kad klausimas buvo užduotas, o ne kad puslapis buvo parodytas. TLS derybų metu matomas prieglobos vardas taip pat nėra užšifruotas užklausos kelias.

Kiekvienas iš jų yra tikras stebėjimas, ir nė vienas nėra tas stebėjimas, kurį žmonės daro prielaidą. Naršyklė, kuri reikalauja savo užšifruoto resolverio, yra už stebimos srities, o analizė negali atkurti to, ko žurnalas niekada nematė. Ta spraga priklauso ataskaitai kaip nurodyta riba, o ne kaip išnaša.

Išankstinės užklausos ir talpykloje saugomi atsakymai

Naršyklės sprendžia vardus iš anksto, kartais nieko neįkeldamos. Jos taip pat atsako iš talpyklos nesiųsdamos naujos užklausos resolveriui, kurį stebite, o tai reiškia, kad užklausos nebuvimas nėra apsilankymo nebuvimas. Abi elgsenos sugriauna naivią lygtį tarp DNS žurnalo ir naršymo istorijos.

DNS per HTTPS prideda antrą ribą: naršyklė ar svečio programa su savo resolveriu niekada nieko neklausia organizacijos registratoriaus. Tikslios operacijos gaunamos tik iš pačios programos įvykių arba iš tarpinio serverio, kurio registravimą aiškiai palaikote. Paprastas HTTPS CONNECT tunelis palieka tarpinį serverį be jokio vaizdo į viduje esančius puslapių kelius. Turėti tinklą nėra leidimas tyliai pakeisti programos pasitikėjimo modelį.

Adresas priklauso sesijai, o ne asmeniui

Srauto įrašas su adresu iš tunelio diapazono yra atspirties taškas, o ne atsakymas. Sujunkite tą adresą ir laiko žymą su tuo metu aktyviu sesijos priskyrimu, nes tą adresą po valandos galima priskirti kitai sesijai. Statinis adresavimas yra vienas būdas išlaikyti tą ryšį, bet ne vienintelis.

Kai vertimo žingsnis sujungia kelis įrenginius į vieną šaltinio adresą virš jutiklio, sujungimas gali įvardyti tik bendrą tinklų sietuvos sesiją. Bendras abonementas arba kelių žmonių naudojamas sertifikatas riboja priskyrimą, kad ir kiek išsamūs atrodytų tinklo duomenys. Abu priklauso ataskaitai kaip ribos, o ne kaip vėlesni išlygos.

Užrašykite laiko juostą, laikrodžio šaltinį, stebėjimo tašką ir kiekvieną vertimo ribą tarp jų. Nebuvimas nusipelno tokios pat priežiūros kaip buvimas, nes trūkstamas įrašas gali reikšti, kad srauto įrašas pasibaigė, jutiklis niekada nematė paketo arba programos žurnalas buvo išjungtas.

Projektuokite pagal nurodytą tikslą, tada įrodykite grandinę

Kai klausimas nustatytas, apibrėžkite, kokių laukų reikia, kas gali juos skaityti ir kiek jie saugomi. Rinkti daugiau todėl, kad saugykla pigi, sukuria atsakomybę, kuri pergyvena tyrimą. RFC 6973 privatumo modelis koreliaciją, klaidingą priskyrimą ir nereikalingą rinkimą laiko projektavimo problemomis, o ne vėlesnėmis mintimis.

Saugokite susiejimą ir įrašus kaip vieną objektą, nes kiekvienas atskirai yra daug mažiau jautrus nei pora. Tada patikrinkite projektą su veikla, kurią leidžiama generuoti ir kurią jau suprantate, naudodami mažiausią užklausą, kuria ataskaita remsis. Grandinė, kuri negali atkurti žinomo įvykio, neatkurs ir nežinomo. Praneškite apie įvykį, kurį pagrindžia įrodymai, žodžiais, kuriuos įrodymai leidžia, ir leiskite skaitytojui pačiam pasiekti didesnę išvadą.

Šalia išvados parašykite ribas: kas buvo sujungta, kas išversta ir kuris žurnalas tylėjo. Išvada, kuri nurodo savo ribas, atlaiko peržiūrą, kurios neatlaiko pasitikintis santrauka. Tai skirtumas tarp įrodymo ir istorijos apie įrodymą.

Susiję straipsniai