Heatrail

Peatükk 10

Tõend minutitega

Enne Heatraili kirjutas üks Eesti veebipood oma raporti riiklikule CERT-ile nii, nagu enamik poode: käsitsi, pärast, eksportidest, mis tuli uuesti järjekorda panna, ja inimese mälust selle nädala kohta. See võttis päevi. Sama raport koostatakse nüüd kirjest, mida juba kirjutati, kuni intsident juhtus. See artikkel räägib sellest kirjest, ja sellest, kus ta peatub.

Omadus

Iga kaalukas sündmus lisatakse räsiahelaga logiraamatusse, mis allkirjastatakse igal ööl ja kontrollitakse võtme vastu, mida hoitakse andmebaasist väljas. Kui pood peab organiteni minema, genereeritakse tehniline toimik sellest kirjest, ja memo on mustand, mida inimene loeb, toimetab ja saadab. Minutid, mitte nädalad.

Miks see kehtib

Raport, mis võttis varem päevi

See toode tuleb poest, mitte tema kassast. Ta tuleb nädalast pärast, kui keegi peab seletama, mis juhtus, inimesele, keda seal ei olnud. See veebipood oli seda teinud: tellimuste ekspordid ühest süsteemist, makseviited teisest, ja jada, kes mida märkas, rekonstrueeritud postkastist. Päevade töö, ja toimiku nõrgimad osad olid osad, millel juhtum pöördub: järjekord, milles asjad juhtusid, ja kas midagi puudutati pärast.

Muutub koostamine. Faktid on samad faktid, ja ükski kirje ei tee nõrka juhtumit tugevaks. Sündmused salvestati juhtumise hetkel, järjekorras, ja järjekord ise on kaitstud, seega toimiku tootmine on eksport, mitte uurimine.

Mida ahel püüab, ja mida allkiri püüab

Iga kaalukas sündmus, kontrollid, mis loetsid, sildid, operaatori teod, skoorimise konfiguratsiooni muudatused, lisatakse logiraamatusse. Iga rida hoiab oma kanoniseeritud payloadi SHA-256 ja rea räsi üle oma järjekorranumbri, sündmuse tüübi, selle payloadi räsi ja eelmise rea räsi, geneesist kuuekümne nelja nulliga. Lisamised serialiseeritakse andmebaasi nõuandval lukul, seega järjekorranumbrid on pidevad ja sisestus väljaspool rakendust murrab ahela. Murre on lõksuöör.

Igaöine käsk arvutab ahela geneesist uuesti ja võrdleb iga rida tema salvestatud räsidega. Pööratud bait, kustutatud rida või sisestatud rida teatatakse esimesel järjekorranumbril, mis ei klapi, ja käsk väljub nullist erineva koodiga. See püüab muutmist, aga mitte ümberkirjutamist, sest keegi, kes saab ühe rea ümber kirjutada, saab kõik ümber kirjutada ja ahela edasi uuesti räsida millekski, mis on iseendaga kooskõlas.

Seega ankurdatakse pea igal ööl kell 00:05 UTC Ed25519 allkirjaga, ja kontroll kell 00:15 UTC kontrollib seda allkirja operaatori seadistatud avaliku võtme, mitte ankru kõrval hoitava võtme vastu. Ümberkirjutatud ahel, mis on uuesti allkirjastatud ründaja võtmega, ei lähe läbi, sest võti, mille vastu teda kontrollitakse, ei ole kohas, kuhu ründaja jõudis.

Joonis 1

Räsiga aheldatud logiraamat, mille pea kohal on öine allkiri, läbi käidud ja võrreldud, ning esimene lahknev kanne välja öeldud.Neli kasti reas kannavad nimesid Kanne 41 kuni Kanne 44, igaüks lühikese räsiprefiksiga monospace kirjas, ühendatud vasakult paremale nooltega. Viimase kasti kohal on paneel, millel seisab allkirjastatud ankur ahela pea kohal, 00:05 UTC, kontroll 00:15 UTC, ja sellest viib nool alla samasse kasti. Kolmas kast on joonistatud kuumas värvis ja temast viib nool alla kuuma värvi väljakutsele, kus seisab esimene kanne, mis ei klapi, ning et sellest teatatakse järjekorranumbriga. All vasakul on väike kõndiv kujuke nimega öine läbikäik, mis arvutab ahela algusest uuesti ja võrdleb teda salvestatuga. Lõpurida ütleb, et muudetud bait jääb selles kandes kinni ja et ka iga kande ümberkirjutamise püüab allkiri kinni, sest võtit, mille vastu teda kontrollitakse, tema kõrval ei hoita.Allkirjastatud ankur ahela pea kohal00:05 UTC, kontroll 00:15 UTCKanne 413ba1Kanne 42c4f0Kanne 430d7eKanne 448a19Iga kanne kannab oma sisu räsi ja temale eelnenud kande räsi.Esimene kanne, mis ei klapiteatatakse järjekorranumbrigaÖine läbikäikarvutab ahela algusest uuestija võrdleb teda salvestatugaMuudetud bait jääb siin kinni. Ka iga kande ümberkirjutamise püüab allkiri kinni,sest võtit, mille vastu teda kontrollitakse, tema kõrval ei hoita.
Pööratud bait püütakse esimesel kandel, mis ei klapi. Hulgi ümberkirjutamise püüab allkiri, sest võti, mille vastu teda kontrollitakse, ei ole tema kõrval.

Mida andmebaas keelab

Avastamine on palju väärt ja ta ei ole ennetamine, seega on kolmas kiht. Deploy'tud rakendus ühendub andmebaasi rolliga, kellel on logiraamatu, auditilogi ja ankrutabeli peal ainult INSERT ja SELECT, ning UPDATE, DELETE ja TRUNCATE on tühistatud. See kontrolliti, ühendudes selle rollina ja proovides keelatud kirjutamisi: permission denied, andmebaasist, mitte meie enda koodist. Kiht kannab kuupäeva, 2. september 2026, nii et lugeja näeb, milliseid kandeid ta katab. Enne seda kirjutatud kanded on kinnitatud ahela ja tema ankrutega.

Selle väite piir on lepingus samade sõnadega. Tühistamised seovad rolli, millega rakendus käitusel ühendub. Nad ei seo eraldi omaniku volitust, mida hostingplatvorm hoiab skeemimuudatusteks, ja see volitus hoitakse eemal igast protsessist, mis päringut teenindab. Kõige vastu, mis selle volituseni jõuab, on garantii avastamine, mitte ennetamine: räsiahel, igaöised allkirjastatud ankrud, ja kirje ahela pikkusest väljaspool andmebaasi, nii et tühjendatud logiraamat ei saa ennast esitada noorena, keda keegi pole veel ankurdanud.

Memo, ja kus ta peatub

Kui pood otsustab viia intsidendi organiteni, genereeritakse toimik kirjest: jada, mis juhtus ja millal, kaasatud tellimuste viited, sildid ja kes need millal pani, ning logiraamatu kanded ja räsiprefiksid, mis seovad narratiivi tagasi ahelaga, millest ta tuli. Ta kannab identifikaatoreid ja räsisid, mitte tooreid kontaktandmeid.

Siis ta peatub. Memo on mustand. Inimene avab ta, loeb ta, parandab, mis masin valesti sai, allkirjastab ja saadab oma nime all. Integratsiooni politseiga ei ole, ühendust CERT-iga ei ole, partnerite jaotusnimekirja ei ole, midagi kohaletoimetamise järjekorras ei ole. See ei ole poliitika saatmisest hoiduda. Mehhanismi, mis saata saaks, ei ole. Ainus automaatne teavitus, mis süsteemil on, läheb selle poe adminile, kelle tellimusele intsident kuulub.

Joonis 2

Memo sünnib mustandina, saadab inimene, ja tee süsteemist ametiasutusteni on katki.Vasakul on kast nimega Heatrail, mis koostab faili logiraamatust. Nool viib dokumendini, mis loetleb intsidendi kokkuvõtte, ajajoone, tellimuste viited, räsiprefiksid ja logiraamatu kanded, ilma ühegi toorkontaktita, ning kannab kuuma värvi märget MUSTAND ja selle all allkirjarida. Teine nool viib väikese inimkujukeseni, kes selle loeb, toimetab ja saadab. All väljub Heatraili kastist katkendlik joon kasti poole nimega Ametiasutused, politsei, CERT või partner, ja selle lõikab läbi kuuma värvi rist märkusega, et süsteemist postkasti teed ei ole olemas.Heatrailkoostab faililogiraamatustMemo ametiasutusteleintsidendi kokkuvõte, ajajoontellimuse viited, sildid, ajadlogiraamatu kanded selle tagaainult räsiprefiksidMUSTANDinimene allkirjastab ja saadabInimeneloeb, toimetabja saadab oma nime allautomaatselt ei saadeta midagiAmetiasutusedpolitsei, CERT, partnerteed ei ole
Toimiku kirjutab süsteem ja saadab inimene. Teed süsteemist kellegi postkasti ei ole.

Kuidas kontrollida

Lugege turvalehe tervikluse jaotist. Ta ütleb kolm kihti kuupäevaga, mil igaüks jõusse läks, ja ta kannab seda, mida ajastatud kontroll produktsioonis raporteerib: logiraamat on terve ja kontrollitud allkirjastatud ankru vastu.

Seejärel lugege andmetöötluslepingu lõiget 5(3). Ta kannab sama kuupäeva, sama lauset, et õigused seovad rolli, millega rakendus ühendub, sama ainult avastamise kaitset enne seda kirjutatud kannetele, ja omaniku volituse piiri: platvorm hoiab volitust, mida need õigused ei seo, ja selle vastu toetub ahel avastamisele. Kahe dokumendi võrdlemine on kontroll. Nad kirjeldavad seda kontrolli sama tugevusega, klausel klausli haaval.

  • Kinnitus, reegel, et võrgu kuumus vajab kahte sõltumatult omatud poodi, ja operaatori teod (poe kinnitamine, sõltumatuse otsus), mis lähevad sellesse kirjesse.
  • Unustamine ajakava järgi, kuidas püsiv tervikluse tõend ja üheksakümne päeva kustutusaken elavad ühes süsteemis.
  • Turvalisus, jaotis 07, kihtide ja nende jõustumiskuupäevade jaoks.

Heatrail

This site is not public yet

Heatrail is in a private pre-launch period. Enter the access password to continue.

Enquiries: hello@heatrail.eu