reede, 18. märts 2016

Krüptolockeritest

Ei hakkagi võibolla pikka juttu sissejuhatuseks tegema, selle asemel soovitan läbi kuulata Raadio2 Tehnikaminutitest läbi käinud jutu krüptolockeritest, mis on tõenäoliselt seni üks parimaid ülevaateid kogu teema kohta.



See oli siis niiöelda tavakasutaja või ohvri seisukohast. Kui aga vaadata lähemalt, et kuidas krüptolockerid reaalselt töötavad, vaatab vastu päris põnev maailm. Geniaalsus peitub lihtsuses, nagu öeldakse, ning tõepoolest, krüptolockerite puhul ei saa rääkida millestki liiga keerukast – "liikuvate osade" hulk on viidud minimaalsele tasemele ja just seetõttu võib ennustada, et me oleme alles krüptopantvanginduse laine alguses. Krüptolockeri tarkvara ehitada on suhteliselt lihtne, levitada on seda samuti lihtne ning ka maksete vastuvõtmine on tänu bitcoinile lihtne ja, mis peamine – krüptopantvangistajate jaoks turvaline.

Kui ette rutata, siis on krüptolockeril (eeldusel, et konkreetne tarkvara on tehtud kompetentsete inimeste poolt, st. et ei ole jäetud sisse totakaid turvaauke) täpselt kaks nõrka kohta. Esiteks command and control server, mis asub reeglina küll kuskil TOR-võrgus, kuid alati eksisteerib oht, et see leitakse kuidagi üles. Teiseks üldisem oht ehk inimeste hirm raha kaotamise ees andmeid tagasi saamata. Krüptolockerlus on nimelt äri nagu iga teine ning kui "kliendid" kardavad petta saada ja on kuulnud lugusid, et konkreetne "kaupmees" ei tee seda, mida lubab, siis äri läheb kehvasti.

Kusjuures ma ei imestaks, kui üsna pea hakkaks erinevad krüptolockerite vendorid levitama konkurentide modifitseeritud tarkvara just sellelsamal eesmärgil, et nende usaldusväärsust alla viia – modifitseeritud locker failid krüpteerib kuid lahti ei tee ja "süüdi" jääb selle esialgne autor, kelle äri hakkaks selliste uudiste peale kiirelt alla käima.

Kuidas krüptolocker arvutisse jõuab?

Sellest on juba palju juttu olnud, kuid mainin lühidalt ikkagi ära. Põhisüüdlaseks ei ole mitte 0day ründed või muud komplitseeritud lahendused, vaid ikka vana hea phishing. See on odav ja see töötab.
Inimesele laekub postkasti "arve" või "kohtukutse" või mõni muu dokument, kuid selle avamisel ei juhtu nagu midagi. Edasine on aga juba ajalugu.

Kuidas krüptolocker töötab?

Tarkvara võtab ühendust oma command and control serveriga TOR võrgus, saab sellelt avaliku võtme (salajane jääb serverisse) ja seejärel asub arvuti kõvaketastelt otsima sobivaid faile, milleks on eelkõige igasugused dokumendiformaadid, pildid jne. Sõltuvalt tarkvarast võib krüptolocker genereerida ühe globaalse parooli või siis uue parooli iga faili jaoks eraldi. Parooli on vaja failide krüpteerimiseks, sest asümmeetriline avalik võti suuremahulise info krüpteerimiseks ei sobi. Selle asemel on mõistlikum kasutada sümmeetrilist šifrit, milleks tavaliselt on mõni AES versioon.

Ühesõnaga, fail krüpteeritakse juhuslikult genereeritud parooliga, aga parool ise juba avaliku võtmega (mis mäletatavasti saadi command and control serverist) ning saadud tulemus pannakse krüpteeritud failile otsa.

Kuidas käib lahtilukustamine?

Lahtilukustamiseks on vaja ligipääsu salajasele võtmele. Sõltuvalt tarkvarast võib lahtilukustamine käia nii, et globaalne, avaliku võtmega krüpteeritud parool saadetakse CC serverisse, kus see siis seal teada oleva salajase võtmega dekrüpteeritakse ning saadetakse pantvangis arvutisse juba lahtisel kujul tagasi või siis saadab CC server salajase võtme (muidugi eeldusel, et avaliku-salajase võtme paar genereeritakse iga "kliendi" jaoks eraldi) pantvangis arvutisse, kus seda kasutatakse krüpteeritud parooli dekrüpteerimiseks.

Igatahes, kui üks hetk on parool salajase võtmega dekrüpteeritud, saab seda kasutada juba sümmeetrilise šifriga krüpteeritud faili dekrüpteerimiseks.

Kuidas küberkurjategijale maksmata failid päästa?

Võimalusi on mitu. Kõige parem variant on, et krüptotarkvara on ebakompetentselt koostatud ning failide krüpteerimiseks kasutatud juhuslik parool on tagantjärele tuletatav. See juhtub näiteks siis, kui juhuslik parool on genereeritud väga kehva PRNG algoritmiga, kusjuures kasutades seed väärtusena midagi teadaolevat, näiteks hetke aega. Sellisel juhul, teades algväärtusi, saame sama parooli tagantjärele uuesti genereerida. Me ei pruugi teada täpset aega, aga piisab ka ajavahemiku teadmisest – laseme arvutil lihtsalt vahemiku iga sekundi jaoks eraldi uue parooli koostada, niikaua kuni leiame sobiva match'i, mis failid avada suudaks.

Teine lootus on command and control serveri vahelekukkumine. Näiteks saadakse küberpätt kätte või siis suudetakse CC server ära häkkida või leitakse selle reaalne asukoht ja lastakse tuvastatud hostingupakkujal sellele ligipääs tekitada vms. Sellisel juhul on võimalik juba koostatud salajased võtmed avaldada ning uutele päringutele mitte vastata (ilma avaliku võtmeta aga midagi krüpteerima ei hakata).

Kolmas on lasta ajal arutust anda. Kunagi kauges tulevikus murtakse AES krüpteering, see on kindlamast kindel. Võibolla oleme siis veel endiselt elus ja kui krüpteeritud failid on endiselt alles, saame pensionipõlveks oma vanad pildid ikkagi tagasi.

Kas tasub küberpättidele maksta?

Juhul, kui pantvangis olevad andmed on väärt rohkem kui nõutud lunaraha, siis tasub. Kui andmed ei ole küsitud summat väärt või eksisteerivad töötavad backupid, siis mitte. Ametlik seisukoht on, et ei tohiks pättide nõudmisele alluda, kuid reaalsuses ei ole sellel, et kas konkreetne ohver maksab või mitte, mitte mingisugust vahet. Küberpantvangi võtmine ei maksa küberpätile peaaegu mitte midagi ning on ettevaatliku päti jaoks ka üsna turvaline tegevus, seega juhul kui kasvõi üks inimene miljonist ära maksab, on pätt juba kasumis. See on siis suures vastuolus niiöelda päris maailma pantvangindusega, kus iga sellise operatsiooniga kaasnevad märkimisväärsed kulud ja ohud.

Kas minu andmed on nüüd häkitud?

Oletame, et mingi asutus on sattunud krüptolockeri ohvriks. Koheselt tekib küsimus, et kas "häkkerid on saanud nüüd ligipääsu sensitiivsetele andmetele?" Lühike vastus on, et ei ole. Ühendus CC serveritega käib läbi väga aeglase TOR võrgu ning kõikide failide valimatu saatmine serverisse ühelt poolt võtaks liiga kaua aega, teiselt poolt aga ummistaks CC serveri, korraldades selle vastu omamoodi DDoS rünnaku. Kuid see muidugi ei välista 100% ka mingite muude andmete liikumise. Rusikareegel siiski on, et nakatunud arvuti ja CC serveri vahel liiguvad eelkõige siiski vaid võtmed.

Kas minu operatsioonisüsteem on kaitstud?

Momendil on kõige ohustatumad Windowsi kasutajad, kuid see ei tähenda, et süüdi oleks Windowsi turvalisus. Windows on tänapäeval sama turvaline kui iga teine operatsioonisüsteem – krüptolockerid ei levi mitte operatsioonisüsteemi turvaaukude tõttu, vaid phishinguga ja seega ohvrid ise "lasevad päti tuppa." Sama hästi võiks see juhtuda nii OSX kui ka Linuxi kasutajatega. Kuna Windowsi kasutajaid on arvuliselt rohkem, siis on siiani levinud peamiselt Windowsi kasutajaid sihtivad tarkvarad, aga juba on teateid esimestest muude operatsioonisüsteemide jaoks ehitatud krüptolockeritest. Näiteks Ransom32 on sisuliselt cross-platform – momendil sihib see vaid Windowsi kasutajaid, aga on jäänud vaid üks samm, et seda seadistada tööle ka muudel platvormidel.

OSX on teistest veidi rohkem kaitstud, aga mitte suurema turvalisuse tõttu, vaid operatsiooniga kaasa tuleva Time Machine backup lahenduse tõttu. OSX puhul lihtsalt on tunduvalt suurem võimalus kui Windowsi puhul, et kasutajal on sisse lülitatud pädev backup lahendus.

Miks antiviirused krüptolockereid ei avasta?

Antiviirused otsivad eelkõige teadaolevate viiruste ja pahavara signatuure. Krüptolockeri tarkvara on suhteliselt lihtne luua, see ei vaja ka ligipääsu mingitele väga spetsiifilistele operatsioonisüsteemi API'dele, seega võib iga tarkvaraversioon olla unikaalne ja mitte jagada koodi eelnevate versioonidega või siis vastupidi – see on ehitatud mõnele väga levinud raamistikule ning seega jagab koodi väga paljude "legitiimsete" rakendustega.

Ühesõnaga, antiviiruste ettevõtted peavad pidama pidevat sõda ühe uuenevate pahavara versioonidega ning lihtsalt ei jõua kõikidele versioonidele piisavalt kiirelt kannule. Selleks ajaks kui tarkvara signatuur on baasis olemas, on pahavara oma töö juba teinud. Peab meeles pidama, et erinevalt näiteks botneti agentidest või viagra kirjade saatmise troojalastest ei ole krüptolockeril tarvis pikaaegset ligipääsuvõimalust. Kui meie arvuti nakatub troojalasega, mis hakkab saatma viagra kirju, siis nädala pärast leiab uuenenud viirusetõrje selle üles ja eemaldab. Samas krüptolocker on oma töö selleks ajaks ammu ära teinud ja meile pole antiviiruse teavitust krüptolockeri olemasolu kohta tarvis, me näeme seda juba isegi.

Lõpetuseks. Mida siis üldse teha?

Tuleb tagasi tulla postituse alguses olnud raadiosaate juurde ja teha täpselt seda, mida seal soovitatakse – teha backupe, teha neid hästi ja teha neid palju. Ainult sellisel juhul oleme krüptopantvangistuse vastu reaalselt kaitstud. Me ei saa eeldada, et selline pahavara meie süsteemi kunagi ei satu. Kui meie ise ei ole "lollid," siis on seda mõni kolleegi või pereliige. Lisaks muutub phishing kogu aeg paremaks. Juhtub ka parimates peredes, nii et keegi selle e-kirjaga saadetud manuse lõpuks ikkagi avab ja sealt tumedad jõud ka välja laseb.