Visų pirma, pritariu, kad apsaugoti kritinę infrastruktūrą yra svarbu. Kai buvau nepilnametis, „išsiaiškinau” apie įvairių valstybinių sistemų sistemų saugumą, ir tai didelio pasitikėjimo jas stačiusioms kompanijoms nesukėlė. Yra tikrai svarbu, kad nesutriktų elektros ar vandens tiekimas, nenutekėtų žmonių Sodros duomenys (oj, per vėlu), etc.
Nemažai įstatymo nurodytų metodų yra popieriniai – taryba šen, centras ten, įpareigojimai, kompetetingi skyriai ir asmenys paskirti įvairiose institucijose. Kai kurios deklaracijos yra įdomios – pavyzdžiui ką reiškia atsakomybė už saugumą (nebent tikrai užtenka tik vykdyti vyriausybės nurodymus, jeigu tai įmanoma). Kai kurie reikalavimai buvo kontroversiški JAV – pavyzdžiui informacijos apie incidentus centralizuotas rinkimas.
Įstatymo įdomiausia dalis yra apie vartotojų duomenų (ir tuo pačiu – srauto turinio) saugojimą tris mėnesius pas paslaugų teikėjus. Nupiešiu schemutę:
Čia reikia matyti, kad va vartotojas jungias prie paslaugų tiekėjo, o tas ten arba per kažkur aplink arba tiesiai keliauja pas kitą IPT, o ten jau visokios duomenų bazės. Taigi, jeigu mes žinome, kad kažkuris vartotojas jungsis prie Ypatingai Svarbios Infrastruktūros, mes galime jį sekti. Jeigu žinosime, kuris vartotojas. Ir jeigu jis jungsis tiesiai. Jeigu jis jungsis per aplinkui, mes jau žinosime daug mažiau. Jeigu vartotojas jungsis į tašką A internete, iš jo į tašką B, o iš jo į Ypatingai Svarbią Infrastruktūrą, jau reikės genijaus iš televizijos serialo, kad viską sukoreliuot. Tiesą pasakius, net nėra ką koreliuot – vartotojo prisijungimas nebūtinai bus tuo metu, jis net nebūtinai turi būti prisijungęs, kai įvyks veiksmas, etc.
Atsimenate, kaip Irane mistiškai pradėjo gesti urano sodrinimo centrifūgos? Tąkart pikti įsilaužėliai tiesiog primėtė USB raktų po teritoriją, nes negalėjo prieit per internetą. O kai DELFI neveikė dėl kažkokių apkrovų, atjungus srautą iš užsienio (kuriame negalioja Kibernetinio Saugumo Įstatymas), tai viskas pradėjo veikti. Jokie vietinių vartotojų atjungimai ar įrašinėjimai nebūtų per daug padėję…
Tarkime, kad komandos turinys turi būti itin svarbus, ir pagal jį galima nustatyti piktus kėslus, bėda tik ta, kad visi yra pasimokę ir naudoja kriptografiją. Štai, paduosiu komandą „isjungsiu ignalina” savo baisiai sistemai, bet jeigu bent kiek ją koduosiu, gausis U2FsdGVkX18kQ8t1GocY8zW6I76t0L9WO5y…, ir aš čia dar gražiai pateikiau.
Be to, kas kartą tai atrodys kitaip, nes mano algoritmas pasistengs pridėt „druskos”. Taigi, nežinodami kas yra blogietis, nežinodami kaip jį atpažinti, nežinodami į kur ar iš kur jis jungsis mes mėginame sukurt Nacionalinio Saugumo kompetencijas ir įrašų metodikas.
Išlindus visiems sekimo skandalams beveik visos sistemos pradėjo užsiėminėti kriptografija, ir gana pikta kriptografija. Naudojami visokie trumpalaikiai raktai sugeneruoti eliptinės kriptografijos (sakoma, kad Bruce'as Schneieris yra vienintelis, kuris gali dantimis tą elipsę ištiesint), tad nebeužtenka perimt kažkokį esminį raktą. Diffie-Hellman algoritmo variacijos naudoja skirtingus raktus kiekvienoje sesijoje (Diffie turi ne tik ilgą baltą barzdą, bet ir ilgą baltą kasą, sekmės lenktyniaujant :)
Taigi, kuo toliau, tuo daugiau duomenų bus neįskaitomi. Ką reiškia juos saugoti?
Štai čia yra kietas diskas. Tai yra daug maž pigiausia duomenų saugojimo technologija šiais laikais (kai kas eksperimentuoja su naujuoju Archive Disk formatu ar dar kuom, bet ten kainos nesikeičia, kad reiktų apie tai per daug kalbėt). Moderniausias diskas, įrašinėjantis čerpių principu (Shingled Magnetic Recording) gali sutalpinti 8TB informacijos. Jis įrašinėja maždaug tokiu greičiu, kokį turi 70Lt/mėn mokantis Teo šviesolaidinio interneto vartotojas. 500Mbps interneto planas tokį diską gali pripildyti per mažiau nei porą dienų. Taigi, reikia kokių 30 moderniausių diskų norint įrašyt viską, ką daro vartotojas.
Žinoma, ne visi vartotojai ruošias naudot tokius pralaidumus, ir vidutinius duomenų kiekius gali Teo atstovai nupapasakot, bet įrašinėti duomenis kainuoja daug pinigų. Norint juose daryti bent elementarią paiešką reikia tikrai galingų sistemų. Jeigu Lietuvoje yra daug specialistų, kurie moka dirbti su ypatingai dideliais duomenų kiekiais, yra didelė tikimybė, kad jiems galima būtų rasti daug įdomesnio darbo, nei saugoti ar analizuoti duomenis, kurių niekam niekada neprireiks…
Internete perduodami duomenys dažniausiai yra sugeneruoti kelių milisekundžių trukmei, ir tą patį megabaitą diske galima efektyviai panaudot tūkstančius ar milijonus kartų – kai jūs atsiverčiate Delfi ar Facebook, ar Wikipedia puslapį, yra nemaža tikimybė, kad viskas buvo atiduota iš spartinimo sistemų ir jokio disko neprilietė. Peržiūrėsite penkiolikos minučių filmuką – apie jus bus įrašyta vos keli šimtai baitų duomenų.
Internetas veikia tik todėl, kad nereikia visko įrašinėti, ir daug dalykų paremta statistikomis ir spėjimais (dalis įdomios matematikos, leidžiančios suskaičiuot unikalius įvykius jų neišsaugojant). Praktikoje yra daug įvairių įdomių metodų dirbti su incidentais, bet praktikoje kas antras dirbantis su tokiomis problemomis turi matematikos ar statistikos mokslo daktaro laipsnį iš geriausių pasaulio universitetų (kita pusė yra praktikai su daug sistemų inžinerijos patirties).
Iš kitos pusės, net ir nesaugant turinio, o tik techninius sesijų duomenis (kada-iškur-įkur), duomenų kiekis pakankamai nemenkas, nes kiekvieno interneto puslapio atvertime gali dalyvauti dešimtys įvairių servisų, o peer-to-peer sistemos gali užmezginėt tūkstančius ar dešimtis tūkstančių sesijų. Tokio tipo duomenų surinkimas dažniausiai niekur nevykdomas – įrašoma nebent 0.01 proc. duomenų bendrai statistinei analizei, bet individualaus incidento jau spręsti nebeišeis.
Distributed Denial of Service (DDoS) atakų atveju tie duomenys gali būti visiškas triukšmas, nes siuntėjo adresą galima pakeist, ir dažnai kuo daugiau sesijų, tuo sekmingesnė ataka.
Kita bėda yra ta, kad tinklo įranga moka tik vieną dalyką daryt gerai – perduoti atėjusius duomenis į vienos skylės į kitą. Nemoka saugoti, filtruoti, analizuoti, nes tai yra brangu ir to niekam nereikia.
