Seimas priėmė kibernetinio saugumo įstatymą – berods visų frakcijų pritarimu. Net “sveiko proto liberalai” galvoja, kad jis padės geriau “atremti atakas”. Pradinės redakcijos buvo iš viso tragiškos, netinkančios teisinei valstybei, bet kalbama, kad pavyko pataisyt kažkiek, ir tai tebus tik šiaip farsas.

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 (žr. https://en.wikipedia.org/wiki/Cyber_Intelligence_Sharing_and_Protection_Act).

Į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 Schneier yra vienintelis, kuris gali dantimis tą elipsę ištiesint, žr http://www.schneierfacts.com/), 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 – https://en.wikipedia.org/wiki/HyperLogLog). 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% 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.

Būna mažiukas procesoriukas, kuris duoda komandas specializuotai įrangai (adresas “Gedimino 11” yra ant skylės nr. 3), ta specializuota įranga sutikus bet kokią nežinomą situaciją turi kreiptis į procesoriuką, kuris dažnai yra silpnesnis nei jūsų išmaniojo tapšnuko. Tuo tarpu, kai nežinomų situacijų per daug nėra, specializuota įranga gali viską labai labai greitai atlikti. Visas tas “nuo šiol man reikės atlikinėt filtravimus, analizes ir įrašymus” reikalauja įrangos perdarymo arba siuntimo specializuotai įrangai. Specializuota įranga, žinoma, egzistuoja, bet ją stato greta Ypatingai Svarbios Infrastruktūros, o ne ant kiekvieno praėjimo.

Jeigu mano paketus pradės kas nors siųsti specializuotai įrangai, yra tikimybė, kad aš pastebėsiu. Beje, iš to pastebėjimo nulis naudos, nes aš ir taip darau viską, kad perėmus visą mano srautą niekas nenutiktų, nes nuolat naudojuos visokiais nesaugiais bevieliais tinklais. Būtų gal kiek juokinga, bet nelabai, nes už tai kažkas turi sumokėt (ko gero aš).

Taigi, sparčiausio interneto žemėje gali tekt įrašinėti vartotojų srauto duomenis su to nesugebančia įranga, kad ją po to saugoti duomenų saugyklose, kuriose nėra nei greitaveikos, nei vietos, kad po to valdiškos įmonės specialistai su valdiškom algom ir vietine kompetencija mėgintų atrast šifruotuose asimetriniuose duomenyse kibernetinį incidentą, kaip Holivude! Kaip ten per kokį “Numb3ers” sakė “we will use data mining, thats what CIA uses to find terrorists”.

Iš tiesų, kompetencijos didinimas, gerų procedūrų ir metodikų turėjimas yra svarbu, bet pradžioje svarbu tai mėgint įgyvendint valstybės institucijose, nes komercinės institucijos ir taip dažnai geriau žino, ką daro (nes turi ką prarasti). Iš kitos pusės, įsilaužėliams užtenka vienkartinės sekmės, o saugant sistemas jos reikia visą laiką. Kartais tereikia nusiraminti ir blaiviai įvertinti rizikas. Šiuo atveju buvo tiek skubėta, kad dar visai neseniai įstatymo redakcijos neturėjo jokių saugiklių.

Ar žinote, ką aš visus kartus dariau, kai mačiau DDoS ataką, dėl kurios kažkada vartotojams neveikė mano prižiūrimos sistemos? Užsikaičiau arbatos, pasidariau sumuštinį ir perskaičiau kitas dienos naujienas. Kitus kartus sugalvojau kaip apeit. Priklauso nuo atakos, turimų resursų, etc.

Kažkada atakuotojai “puolė” Mastercard ar Visa puslapius, ir taip, galbūt puslapiai neveikė, bet nei vienas mokėjimas dėl to nebuvo sutrikęs. Jeigu kritinės sistemos neveikia dėl to, kad jos prijungtos prie Interneto, galbūt nereikia jų jungti prie Interneto. DELFI kurį laiką buvo nepasiekiamas iš užsienio, bet tai buvo pasiekiami CNN, Facebook, Google, Wikipedia, …

Žinoma, viskas čia dėl naujo žodžio – “kibernetinis”, nes kai niekas nesupranta, kalbėt galima ką tik nori. Mūsų kibernetinio saugumo dramaturgai mums sukūrė teatrą, nepamirškit susimokėt už bilietus. Nors galbūt būtų geriau mokėt už psichologinę pagalbą savižudžiams, mediciną, švietimą, saugumą keliuose ar dar ką.