Meltdown ja Spectre ehk kuidas bittidega spekuleerida ja võõras mälus sobrada

Saabunud aasta algas IT-inimestele korraliku üllatusega – 3. jaanuaril jõudis avalikkus ette info, et protsessoritest on avastatud turvaprobleemid, mis võimaldavad sõltumata kasutatavast opsüsteemist pahatahtlikel tegelastel saada ligipääs andmetele, millele nad kuidagi ligi saada ei tohiks.

Kuigi alguses oli jutt peamiselt Inteli protsessoritest, sai peagi selgeks, et ka teiste tootjate protsessorid on probleemist mõjutatud, kuigi oluliselt vähem kui Inteli toodetud.

Üldise meeleolu illustreerimiseks sobib kenasti video terasetehasest. Meie püüame olla need tegelased lõpukaadritest, kes paanikasse ei satu, toimuvat dokumenteerivad ja rahulikult tagajärgedega tegelemiseks valmistuvad 🙂

Nagu tänapäeval tavaline, said turvaprobleemid oma tavapärastele CVE numbritele lisaks nime, veebilehe jpms. Peamiselt ainult Intelit puudutav probleem sai nimeks Meltdown (CVE-2017-5754) ja kaasaegsete protsessorite enamust puudutav probleem on Spectre, millel on kaks variatsiooni (CVE-2017-5753 ja CVE-2017-5715).

Kui üritada seda ühe lausega öelda, siis mõlema näol on tegemist on nõrkustega, mis võimaldavad pahatahtlikel rakendustel spekulatiivselt koodi käivitatavate protsessorite disainiprobleeme ära kasutades lugeda seadmetes külgkanalründe abil mälu, millele nad tegelikult ligi pääseda ei tohiks. Kuidas saab protsessoris üldse selliseid vigu olla ning millega täpsemalt tegemist, on jäänud paljudele arusaamatuks.

Sõnad “külgkanalrünne protsessori spekulatiivse käivitusse realisatsioonide vastu” ei tee enamusele asja oluliselt selgemaks, kuid neile, kes huvi tunnevad, on postituse lõpus lihtsustatud kokkuvõte probleemi olemusest. Kõik, kel jõud ja mõistus üle käib, peaksid kindlasti läbi lugema probleemid avastanud teadlaste originaalartiklid.

Mida siis nende probleemide tõttu tegelikult teha saab?

Praktiliselt ainult Inteli protsessoreid puudutav Meltdown on kahest probleemist tõsisem – kui pahatahtlik rakendus saab seadmes ennast käivitada, siis sellest piisab, et kogu operatsioonisüsteemi tuuma kasutuses olevat mälu maha lugeda. Lugemine ei toimu küll eriti kiiresti, kuid piisavalt, et sellest edasiseks ründeks ära kasutatavaid andmeid (paroolid, krüptovõtmed jms) leida. Probleemi on võimalik vältida tarkvaraliste vahenditega ja tänase päeva (15.01.2018) seisuga on kõik peamised operatsioonisüsteemid (Windows, MacOSX, iOS, Linux, Android) ka turvapaigad väljastanud.

Spectre võimaldab pahatahtlikul rakendusel lugeda nii operatsioonisüsteemi tuuma kui ka teiste rakenduste mälu, kuid selle ära kasutamine on oluliselt keerulisem. Selleks ei piisa lihtsalt koodi käivitamisest – see eeldab ka konkreetsete ära kasutatavate koodimustrite olemasolu operatsioonisüsteemi tuumas või teistes rakendustes. Keerukam on ka Spectre mõjude kõrvaldamine ning see võtab veel aega. Üks Spectre variatsioonidest on ilmselt suhteliselt lihtsalt lahendatav operatsioonisüsteemi tuuma tasemel, kuid teise vastaste meetmete otsing veel käib. Praegu olemas olevad lahendused on väga kulukad – kas kannatab jõudlus väga palju või peaks kõik seadmetes olevad rakendused uue kompilaatoriga ringi kompileerima.

Arusaadaval põhjusel on eelkõige ohustatud keskkonnad, kus kasutajad saavad vabalt koodi käivitada – eelkõige jagatud serverid ning virtuaalmasinate keskkonnad. Virtuaalmasinate puhul võimaldavad need nõrkused kasutajal ka ennast virtuaalmasinast välja murda – lugeda hüperviisori ja teiste virtuaalmasinate mälu. Kuid ohus on ka kõik tavalised tööjaamad – probleeme uurinud eksperdid on tõestanud, et rünnak toimib ka JavaScripti kaudu. Praeguseks on kõik suuremad brauserid rakendanud meetmed, et veebi kaudu probleemide ära kasutamine oleks vähemalt hästi keeruline.

Suhteliselt pessimistliku kirjelduse peale tekib kindlasti küsimus, et kuhu poole nüüd paanikas jooksma peaks ja mida tegema? Ja miks see üleüldse nii kaua aega võtab?

Üks on selge – protsessoreid välja vahetama ei hakka ei Intel ega ka ükski teine tootja ning nendest probleemidest vabad protsessorid jõuavad meieni ilmselt alles järgmisel aastal. Kuid rahu, ainult rahu. Probleemid on vaatamata tõsidusele protsessoritootjate abiga tarkvaras lahendatavad ning kõigi arenduses olevate operatsioonisüsteemide arendajad on praegu ametis. Aega võtab see ka selle pärast, et olukord on väga paljudele uus – tarkvara ja riistvara tootjad peavad tegema koostööd ja üksteist ka usaldama. Ma olen kindel, et tsivilisatsioon ei kuku veel selle pärast kokku, kuid turvapaikade operatiivne paigaldamine on olulisem kui kunagi varem. Nagu juba eespool öeldud, on Meltdown praeguseks juba suuremates opsüsteemides paigatud ning kui sul on uuemad turvapaigad seadmetes, oled sa tõenäoliselt selle vastu juba kaitstud.

Oluline on ka mõista, et kui ründajal pole seadmes võimalik koodi käivitada, otsest ohtu pole. Mis ei tähenda muidugi seda, et esimesel võimalusel uuendamist siiski ette võtma ei peaks – Meltdown ja Spectre võivad olla osa keerulisemast ründest, kus mingi teise turvaprobleemi tõttu saavutatakse kõigepealt koodi käivitamise õigus.

Kuidas Meltdown ja Spectre Zone servereid mõjutavad?

Nii Virtuaalserverite kui Pilveserverite puhul jagab hulk kliente sama riistvaralist serverit ning turvaprobleemid, kus ühe kliendi serveris jooksev kood võib mõjutada teisi, on meie jaoks kõrgeima prioriteediga. Tänaseks on Zone serverid Meltdowni vastu kaitstud – enamus juba 06-08.01 nädalavahetusel.

Küll aga tuletame meelde, et Pilverserver PRO kasutajad peavad oma virtuaalmasinate kernelite uuendamise eest ise hoolt kandma (Pilveserver VPS kernelid uuendasime 07.01 varahommikul).

Meie tehnikud jälgivad sündmuste arenguid ja paigaldavad parandused ka Spectre vastu niipea kui võimalik. Võimalik, et selleks on vaja veel üht erakorralist hooldusakent.

Kas Meltdown’i paikamine mõjutas ka serverite töökiirust?

Paikade mõju sõltub rakendusteks, aga tavapärase veebirakenduse puhul on meie seninsed testid näidanud, et muutus on pea olematu. Tegime oma koormustestiks kasutatava WordPress+WooCommerce+WPML+Flatsome näidisrakendusega teste ning uurisime rakenduse tasemel monitooringus olevate veebide käitumist ning mingit mõõdetavat erinevust ei tuvastanud.

Küll aga on muutus näha Pilveserver VPS protsessori-aja kasutuses. Sellel pildil on üks hardware node, kus ilmselt VPSides jooksvate rakenduste eripärast lähtuvalt on syscall’ide osakaal märkimisväärne ja kasvab ca 2% pealt ca 10% peale:

Kuna enamikul ülejäänutest oli kasv oluliselt väiksem, tasub rakenduse töökiiruse muutumisel vaadata üle kõik syscall’e põhjustav ehk ennekõike IO, sh andmebaasikasutus. Selle osa optimeerimine on mõistlik ka ilma Meltdown ja Spectre paikade negatiivse mõju peale mõtlemata.

Trivialiseeritud Meltdown ehk “Kuidas lugeda võõrast mälu?”

Probleemide olemuse mõistmine pole tegelikult ühelegi programmeerimisega kokku puutunule üle jõu käiv, kuid illustreerib väga hästi külgkanalründe olemust. Alljärgnev on kõvasti lihtustatud versioon Meltdown probleemist. Kõigepealt räägime pisut kaasaegse protsessori tööst.

Kaasaegsed protsessorid on kiired, kuid mälust lugemine ja sinna kirjutamine ca 100x aeglasem. Et protsessor mälu taga pidevalt ootama ei peaks, on protsessoritel varuks hulga trikke, millest olulisimad on spekulatiivne käivitamine ja vahemälu.

Kui arvutitunnis räägiti teile, et protsessor käivitab ühe käsu teise järel, siis tänapäeval ei vasta see tihti enam tõele. Kuna protsessorid on mälust nii palju kiiremad, üritavad nad juhul, kui neil midagi targemat teha pole, järgmiseks käivitatavaid programmi harusid ette aimata ning selle töö ka igaks juhuks ette ära teha. Kui peaks juhtuma, et tõenäoline stsenaarium siiski ei realiseerunud, unustatakse see igaks juhuks ette tehtud töö tulemus lihtsalt ära. Kuna spekulatiivset tööd tehakse protsessori “vabast ajast”, ei muuda see midagi aeglasemaks, kuid kui stsenaarium realiseerub, on kiirusevõit oluline.

Võtame näiteks alltoodud veebilehe vaatamise pseudokoodi. Lehe kerimine on veebilehel oluliselt tõenäolisem sündmus kui lingile vajutamine ning protsessoril on kasulik see alati ette ära teha, isegi kui kasutaja veel kerimise liigutust teinud pole.

kui (kasutaja kerib lehte alla) {
  liigu rida allapoole;
} vastasel juhul kui (vajutatakse lingile) {
  liigu uuele lehele;
}

Sellisest spekulatiivsest käivitamisest poleks iseenesest aga väga palju kasu, sest suure tõenäosusega vajavad ka need käsud mälu poole pöördumist. Selle vältimiseks on protsessorites endis olemas hästi kiire vahemälu, kus hoitakse hiljuti kasutatud või sagedamini vaja minevaid andmeid neid mälust sinna portsu kaupa laadides. Kui protsessor vajab käsu täitmiseks andmeid mälust, laaditakse need vahemällu, kuhu need jäetakse ka pärast käsu täitmist – igaks juhuks, äkki läheb vaja.

Nüüd on meil olemas kõik põhiteadmised, et mõista alljärgnevat pseudokoodi. Pahatahtlik häkker soovib teada saada mis on mäluaadressi 0x200 vähima kaaluga biti väärtus. Rakendus ei saa seda mäluaadressi otseselt lugeda, kuid ta saab kirjutada sellise programmi.

kui (tingimus) {
  kui (aadressil 0x200 on 1) {
    loe väärtus aadressilt 0x800;
  } vastasel juhul {
    loe väärtus aadressilt 0x900;
  }
}
loe väärtus aadressilt 0x800;
mõõda eelmise käsu täitmiseks kulunud aeg;
loe väärtus aadressilt 0x900;
mõõda eelmise käsu täitmiseks kulunud aeg;

Protsessor täidab spekulatiivselt tingimuslaused ja kuigi selle käigus toimub lugemine aadressilt 0x200, millele pahatahtlik rakendus ei tohiks ligi saada, on see esmapilgul ohutu, sest protsessor on disainitud nii, et rakendus lõpetaks töö kohe, kui „tingimus“ peaks tõeks osutuma ja enne, kui 0x200 aadressilt lugemine rakenduseni reaalselt jõuaks. Sellel spekulatiivsel tingimuslausete täitmisel on aga kõrvalefekt – kas 0x800 või 0x900 aadress laaditakse protsessori vahemällu. Kui nüüd pärast seda mõõta 0x800 ja 0x900 aadresside lugemiseks kuluvat aega, on meil võimalik järeldada kas kumbki neist oli juba protsessori vahemälus olemas (kiire) või tuli seda mälust lugemas käia (aeglane) ning sellest järeldada aadressil 0x200 asuva biti väärtuse.

Tegelikult on probleemide olemus ja ära kasutamine muidugi märksa keerulisem, kuid põhimõte on just nii lihtne – pahatahtlik rakendus saab aja mõõtmise abil järeldada mis väärtused on mäluaadressidel, millele ta muidu ligi ei pääse. Kuna mäluaadresse otse ei loeta, vaid seal leiduva kohta tehakse järeldusi käskude käivitamiseks kulunud aega mõõtes, nimetataksegi selliseid ründeid külgkanalrünneteks (inglise keeles side-channel attack).

Tehnilise toe pettus ehk “Appi! Minu arvutisse tungisid häkkerid!”

Küberpättide erinevatest viisidest netikasutajate võrkudesse ja arvutitesse tungimisest ning nende ülevõtmistest võiks ilmselt kirjutada riiuleid täitvaid raamatuid. Tänu netitarbijate küberohuteadlikkuse üleüldisele paranemisele oleme aga üha enam hakanud saama kirju, kus kasutaja on pettusest aru saanud ja tahaks sellest kellelegi teada anda.

Täna keskendume ühele sedasorti skeemile, mis on tuntud kui “Microsofti klienditoe pettus”. Liimile lennanud ja seeläbi oma arvuti üle kontrolli kaotanud kasutajatelt nõutakse kompuutri “puhastamiseks” kopsakaid summasid või lausa lunaraha. Ja kui ohver ei maksa, siis hakkavat tema arvuti ohjeldamatult pahavara, viiruseid ning muud jama levitama.

Järgnev on ühe meie kliendi pöördumine, mis kirjeldab toimunu põgusalt ära. Ta oli lahkesti nõus oma kogemust meie lugejatega jagama, et aidata sellega ära hoida sarnaseid lõksulangemisi tulevikus.

Juhtus selline asi, et internetis surfamise ajal mu arvuti äkki blokeerus, tulid ette mingid kastikesed ja inglisekeelne hääl, mis ütles, et minu arvutisse püüdsid just häkkerid sisse murda, et arvuti on suures ohus jne. Mul ei õnnestunud liikuda ei edasi ega tagasi, panin vahepeal arvuti kinni, aga lahti tehes oli ikka seesama jama ees.

Kastikeses seisis kirjas, et tuleb viivitamatult helistada Microsofti tugikeskusesse (seal oli antud telefon +372 668 24**). Helistasin siis, küsiti, et millega saavad aidata. Kõik toimus inglise keeles. Rääkisin probleemi ära. Kästi minna mõne teise brauseriga leheküljele www.helpme.net. Sinna tuli sisestada oma nimi ja kood, mis anti mulle telefonis. Seejärel laadis arvuti alla ühe .exe faili, mis tuli avada, ja hakkas peale mingi töötlusprotsess. See pidi olema arvuti skanneerimine.

Asi lõppes sellega, et öeldi, et mul on vaja oma arvutile kaitse- või turvaprogramm peale panna, see maksvat 400 eurot ja seda saavat ainult nende käest. Selle peale lõpetasin kõne ära ja lasin ühel tuttaval oma tuttava it-mehe käest küsida, mida selline asi peaks tähendama. Tema ütles, et see olevat lollide püüdmise nipp ja et sellest tuleb kindlasti kuhugi teatada.

Ma aga muretsen nüüd selle pärast, et ma üldse nendega suhtlesin ja selle .exe faili avasin. Lihtsalt ei teadnud, milles asi. Kardan, et äkki neil on nüüd mu arvutile ja andmetele mingi juurdepääs. Esialgu polnud muud hullu märgata, kui nool ei reageerinud klikkamistele. Praegu panin selle arvuti kinni ja võtsin teise arvuti. Aga kas on oht, et mu kontodele võidakse ligi pääseda ja mis ma peaksin nüüd tegema? Kasutan ka internetipanka.

Aitäh, P. – loodetavasti oli Su arvuti ülevaatus päris IT-spetside poolt edukas!

Mis siis toimus?

Asja lühidalt kokku võttes kuvati arvutikasutajale “reklaambännerit” väitega, et arvuti on nakatatud – see võib juhtuda mõne täiesti viisaka veebilehe külastamisel puhta arvutiga. Kuna meil konkreetse reklaami näidet pole, siis laename sarnase päris-Microsofti Windows Security blogist:

Sedapuhku oli aga kirsiks tordil ilus Eestimaine telefoninumber. Mis siis ikka, astusime läbi lähimast Selverist ning ostsime odavaima ehk 1€ kõnekaardi – ning panime püsti värske Windows 8 virtuaalmasina, mille saab pärast blogiposti jaoks piltide tegemist minema visata. Ka võrguühenduseks kasutasime 4G võrku.

Kohustuslik hoiatus: “Palun ära proovi seda kodus järgi teha!”. Meie kasutatud virtuaalmasin läks pärast testi hävitamisele.

On aeg valida number, mis ühendab meid ilmselt kusagilt Indias oleva kõnekeskusega:

Seejärel palutakse kasutajal avada brauser, minna Google lehele ning öeldakse, mis tuleb sisse tippida. Meil tuli otsida “fast support” ning nii jõudsimegi fastsupport.com lehele. Samasse viib edasi ka algses kirjas viidatud helpme.net. Tegemist on tuntud LogMeIn teenusega, mille kaudu osutavad tehnilist kaughaldustuge sajad erinevad infotehnoloogiaettevõtted üle maailma.

“Tehnilise toe” osutamiseks on petturid loonud enesele Fastsupport keskkonnas kasutajakonto, millega kaasneb automaatselt ka kaughaldusrakendus. See laeti “kärbsepaberile” lennanud ohvri arvutisse .exe failina niipea, kui viimane oli petturite “tehnilise toega” telefonitsi ühendust võtnud ning veenvalt ja usutavalt teispool toru inglise keeles esinenud petturitelt saadud koodiga Fastsupporti keskkonda sisenenud.

Ehkki kõnealuse veebilehe sisselogimiskeskkonna päises on hoiatus, mis kutsub kasutajaid üles ettevaatlikkusele oma arvutile ligipääsu võimaldamisel ning kahtlastest tegevustest neile kindlasti märku andma, on küberkriminaalid leidnud siiski viisi ka selle keskkonna kurjalt ärakasutamiseks. Ja nagu eelnevast näitest näha, teevad nad seda osavalt.

Kui keegi meie lugejatest peaks sarnase olukorraga tulevikus kokku puutuma, siis kuni selle hetkeni (kaughaldurakendus on laetud, aga “yes” on klikkimata), pole reaalselt veel mingit kahju tehtud. Siit edasi võtab aga pettur arvuti üle juba täieliku kontrolli, liigutab ekraanil hiirt ja tipib käskusid.

Edasine suhtlus seisnebki selles, et pettur näitab arvutis erinevaid “probleeme”: veateated süsteemsete sündmuste logis, mingid kummalise nimega DLL-failid mille nime googeldamine annab tulemuseks väite, et tegu on tagauksega. Jah, internetis on tõesti olemas veebilehed, mis sisaldavad praktiliselt kõigi Windowsi komponentide kohta selgitust, et tegu on suure probleemiga ja kohe on vaja osta mingi võlts antiviirus:

Et asi veelgi hirmsamaks ajada, käivitatakse käsurealt Netstat näitamaks, et arvutil on mingid võrguühendused püsti ja selle käigus küsitakse kasutajalt, kas ta tunneb neid IP-aadresse. Ei tunne? Raudselt on tegu häkkeritega:

Aga töö käigus mõeldakse ka tulevikule. Meie puhul käis kiiresti ekraanilt läbi tegevus mingi “syskey” nimelise tööriista abil:

See on juba kuri tegu – nüüd peaks Windows hakkama käivitumisel “Startup key” nimelist parooli küsima ja petturil on tõesti õigus väita, et meil on väga tõsine probleem … millest saab üle vaid talle lunaraha makstes.

Edasi avatakse Notepad ja hakatakse sinna tippima nimekirja töödest, mis vaja teha – jõutakse tulemuseni, et see on umbes 50 minutit tööd ning Microsoft’i hinnakirja kohaselt (mida vahepeal brauseris otsitakse ja kuvatakse) maksab lifetime security 1499,99 € ja viieks aastaks 1399,99 €. Ühekordne parandus on kõigest 499,99 €, aga seda ei soovitata, sest siis tuleb aasta pärast porno tagasi:

Nagu näha, on Notepad’is kenasti valmis tehtud väljad krediitkaardinumbri sisestamiseks … ning kui ma lahkun “krediitkaarti otsima” tuleb hindikeelne lausejupp (mille Google tõlgib kui “How are you, bay dog?”), kaughalduslahendus talletab mingi muudatuse virtuaalmasinas … ning siis:

Ilmselt tuli Parallels’i virtuaalmasina kasutus sellele tüübile üllatusena, sest ta küll vaatas vahepeal “dxdiag” tööriista abil süsteemi infot… aga jätkas agaralt müügitööd.

Kuidas selliseid asju vältida?

Nagu paljude asjadega siin elus, saab kõik alguse hügieenist. Täpselt samamoodi, nagu me hoolitseme pimedal ja viirusterohkel aastaajal oma tervise eest, pestes käsi, süües vitamiinirohkeid toitusid ning ohtralt liikudes, tuleb käituda ka virtuaalses maailmas. Mantratena kordame siinkohal soovitusi vältida klõpsamisi kahtlastele linkidele ning siin-seal lahtihüppavatele popup akendele. Uuenduste saabudes värskenda alati oma arvuti operatsioonisüsteemi ning uuenda perioodiliselt viiruse- ja pahavaratõrjet. Need üleskutsed jäävad paratamatult ja tungivalt kõlama ka selle kirjatüki juures. Palun ole valvas. Ole v e e l g i valvsam!

Kindlasti soovitame netiavaruse kahtlasematesse soppidesse sattudes säilitada külma närvi, sest mitmed veebipettused, kaasa arvatud selles kirjatükis lahatav nn. tehnilise toe pettus, toetuvad eeskätt inimlikele nõrkustele ja emotsioonidele: hirmudele ja sellega kaasnevale ehmatusele, mida on osaval pätil väga lihtne oma huvides ära kasutada. Ja mis seal salata – netikasutaja napp teadlikkus ning puudulik valmisolek vilkuvaid ja ähvardavaid veebibännereid sellistes olukordades lihtsalt ignoreerida on vaid kütuseks petturitele.

Kirjeldatud petuskeemi eest hoiatas oma säutsuga käesoleva kuu alguses meie kõigi kübarturvalisuse eest hoolt kandev CERT.ee, mis soovitab kasutada efektiivset ja tõhusat tööriista pahavara avastamiseks: https://www.malwarebytes.com/ . Selle soovitusega ühineme ka meie.

Hoidku kõigevägevamad (Google, Facebook ja AliExpress) meie blogi lugejaid sarnastesse olukordadesse sattumast, kuid kui see peaks kõigele vaatamata juhtuma, siis kindlasti ärge tehke petturitele mingisuguseidki järeleandmisi!

Sarnaselt meie loo ohvriga katkesta kõne, jäta selles arvutis katki kõik pooleliolevad toimingud ning lase esimese asjana oma arvuti üle vaadata ja seejärel puhastada pädeval IT-spetsialistil.

Ehkki tegu on rahvusvahelise mastaabiga petuskeemiga ning selle ametlik menetlemine jõuametkondade poolt ei pruugi tulemusteni viia, ei tee paha ka juhtunust teatamine meie küberpolitseile cybercrime@politsei.ee ja Riigi Infosüsteemi Ameti küberintsidentide tiimile cert@cert.ee, kes saavad sellest lähtuvalt vähemalt meedia kaudu hoiatuse teiste kasutajateni viia.

Lisaks: kui oledki sarnase skeemi poolt juba “pihta saanud”, siis soovitame teist arvutit kasutades ära vahetada kõik oma olulisemate teenuste paroolid: Zone, Gmail, Facebook jt ning rakendada neis nn. kahe faktoriga sisselogimist. Kuigi meie testis tundus asi piirduvat krediitkaardi numbri õngitsemisega ei või kunagi kindel olla, mida nad kasutajale märkamatult on paigaldanud.

Google puhul saab sellega alustada https://www.google.com/landing/2step/ ning selleks piisab kõige lihtsamast lahendusest, mis saadab mobiilile SMSiga kontrollkoodi, kui proovid uuest seadmest sisse logida. Ka Facebook’i jaoks leiab samasuguse lahenduse.

Netipankade – ja Zone teenuste – kasutamisel mobiil-ID või ID-kaardi (pankade puhul lisaks ka Smart-ID) abil tõenäoliselt riski ei ole, aga kindlasti ei maksaks seda teha sellest arvutist, kuhu klienditoe-petturid üle kaughalduse ligi said, enne kui spetsialist selle üle kontrollis ja ära puhastas. Hunt seda teab, mis nad oma ladusa jutu kõrval tegid – või mis selles arvutis juba varem või probleemiks olla.

P.S. Kui tekstist paistab läbi isiksuse kahestumine, siis olgu selgitatud, et Jaanus kirjutas kõigepealt õpetliku jutu kokku… ja siis jõudis kohale Pets eurose SIM-kaardiga ning kirjutas sinna keskele praktilise testi.

 

SPF kirje nüüd kõigil Zone postiservereid kasutavatel domeenidel

Tegime teoks ühe ammuse plaani ja lisasime kõigi Zone postiservereid kasutavate domeenide nimeserveritesse SPF-kirje, mis aitab e-postiteenustel kirju paremini spämmist eristada ja vähendab võimalust, et keegi kolmas saab domeeni aadresse kasutavaid kirju saata.

Kõigi muudatusest puudutatud domeenide omanikud said e-posti teel eelnevalt teavitatud, kirjed lisasime 23.08.2017 hommikul.

Tehniline kokkuvõte: vältimaks probleeme klientidele, kes võivad kasutada oma SMTP-servereid või e-posti saatvaid rakendusi, on lisatud kirje võimalikult leebe ehk v=spf1 a mx include:_spf.zone.eu ~all . Muudest allikatest saadetud kirjad saavad olekuks SoftFail. Soovitame kõigil see ise rangemaks muuta välistades võõraste serverite kasutamise täielikult, selleks peab kirje lõpus olema -all. Kõigile uutele virtuaalserveritele lisame automaatselt range ehk -all SPFi.

Miks me sellise muudatuse tegime?
Põhjuseid on kaks.

Esiteks on viimasel ajal lisaks võõralt aadressilt spämmi saatmisele sagenenud juhtumid, kus kurjategijad võltsivad e-kirjade päiseid ning sisu jätmaks vastuvõtjale mulje, et kiri on igati legitiimne ning saadetud teie ettevõtte töötaja poolt. Reeglina palutakse sellistes kirjades, mis jõuavad teie kolleegide postkastidesse, teha rahaülekanne mõnele välismaisele pangakontole. Kirjutasin ühest sellisest kelmusest Zone blogipostituses “Kas saaksid kiiresti ühe maksekorralduse teha?”.

NB! Juhul, kui olete ise sarnase sisuga kirju saanud, siis kindlasti suhtuge neisse äärmiselt kriitiliselt ning vajadusel täpsustage muid kanaleid pidi saatjalt üle, kas saabunud kiri on ikka tema saadetud!

Teiseks on postiteenused nagu Gmail hakanud järjest enam kontrollima, et e-kirjad saabuksid vastava domeeni omaniku poolt heaks kiidetud serveri vahendusel.

Milles muudatus seisneb?

Me lisame spetsiaalse SPF (Sender Policy Framework) kirje domeeni teenindavasse nimeserverisse. Tänu sellele veenduvad kirju vastuvõtvad e-posti serverid, et saabunud e-kiri on saadetud justnimelt selle domeeninimega seotud e-postkastist ning kiri toimetatakse süsteemi poolt edasi õige saajani. SPF-kirjete lisamine aitab vältida domeeni kasutajate nimel saadetavate võltskirjade ja spämmi jõudmise adressaatideni ning tagab kirjade jõudmise nt Gmail’i kasutajateni.

Tehnilisem selgitus: kirjes on viide kõigile kasutusel olevatele Zone e-posti ja veebiserveritele: kui saadate kirju Outlook’ist vms e-postikliendist, kasutades selleks SMTP protokolli; Zone veebimeilist või kui panete kirjad teele Zones majutatud veebiserveri abil.

Lisatav kirje ei välista täielikult teistest serveritest saadetava e-posti kohalejõudmist. Kui soovite turvalisust suurendada ja e-posti kohalejõudmist veelgi paremini tagada, siis tuleb sätteid veelgi rangemaks muuta.

Päris tehniline selgitus: lisame TXT-kirje mille sisuks on:

v=spf1 a mx include:_spf.zone.eu ~all

Antud juhul me kasutame vaikimisi leebemat ~all parameetrit, mis tähendab, et loetlemata serverid saavad tulemuseks SoftFail. Meie tungiv soovitus on kindlasti tuvastada ja lisada kõik legitiimsed e-posti saatmise kanalid (MailChimp, raamatupidamis- või kliendisuhtehaldustarkvara) ning minna üle parameetri -all peale.

Kas sellest saab loobuda?

Ei, sest puudub mistahes mõistlik põhjus. Küll aga võib soovi korral ise endale meelepärase SPF-kirje seada, selle olemasolul me midagi ei muuda. SPF-kirje aktiveerimiseks talitage nii:

  • logige https://www.zone.ee lehel oma kasutajakontoga Minu Zone’sse
  • menüüvalikus “Teenuste ülevaade” klõpsake asjakohase serveri järel lingile „Halda”
  • järgmisel lehel valige “E-post” ning selle alammenüüst valik “DKIM / SPF / DMARC”
  • avanenud valikutes on tõenäoliselt näha, et SPF kirje on juba aktiveeritud – soovi korral saab klõpsata “Muuda” ning kirje sisu kohandada

Täpsema selgituse ja leiab mullusest blogipostist “3 tehnoloogiat, mis aitavad kirjad kindlalt kohale toimetada”.

Kas midagi võib katki minna?

Ei. Meie lisatav kirje on piisavalt leebe, sest see loetleb lubatud serverid, aga ei keela mujalt saatmist.

Aga kui soovite oma e-posti veel turvalisemaks muuta ning mujalt e-posti saatmine täielikult välistada, kasutades SPF-kirjes -all parameetrit, siis võib juhtuda, et oma e-postitarkvaras mõne mitte-Zone SMTP serveri seadistanud kasutajate kirjad ei jõua kohale või satuvad spämmifiltrisse. Sama lugu võib juhtuda ka MailChimpist või mõnest teisest e-postiturunduslahendusest saadetud kirjadega, raamatupidamisprogrammist saadetavate arvetega jne.

Sellisel puhul on vaja SPF-kirjet vastavalt kohandada, lisades MailChimpi puhul kirjesse include:servers.mcsv.net, Outlook.com postiteenuse kasutamisel include:spf.protection.outlook.com või mõne konkreetse arvuti IP-aadressi. See ei ole keeruline, aga meie seda omal algatusel teha ei saa.

Kuidas kontrollida, et kõik toimib?

Selleks on üks mugav teenus, mis asub aadressil https://www.mail-tester.com , mis sai mullu ka eestikeelse tõlke. Saates teenuse poolt genereeritud test-aadressile oma postkastist kirja, saab mõne minuti pärast tulemust näha. Lähemalt saab sellest lugeda blogipostitusest “Kuidas kontrollida väljuva e-posti SPF+DKIM+DMARC toimimist?“.

Vaata, kuidas kelmidel CEO-pettus nihu läks!

Oleme juba kaks nädalat oodanud oma postkastidesse kirja, kus Martti või Ardi palub kiiremas korras ühe väikse välisülekande teha. Miks meie kliendid saavad neid kirju, aga meie mitte?

Nagu ma “Kas saaksid kiiresti ühe maksekorralduse teha?” postituses selgitasin, on selle skeemi taga tõenäoliselt veebiskanner, mis tuvastab ettevõtte juhi nime ja paneb raamatupidaja või üld-aadressile teele võltsitud saatja-aadressiga kirja. Kui kirjale vastata, saadetakse info makse saaja kohta ning vajadusel mõeldakse välja mingi põhjus miks on kiire ja asjakohast arvet saata ei saa.

Meie saime täna aga sellise kirja:

Üle kontori kõlas kooris “Alex, who the heck is Alex?” … kuniks Ardi taipas, miks see nimi kangesti tuttav tundub: kui googeldada zone manager alexander mitter on esimene vaste paari-aasta-tagune uudis “veebi suitsuanduri” Nimbusec’i lisamisest Zone+ alla. Ja sealt leiab tsitaadi:

Cumulo’s partner relations development manager Alexander Mitter described Nimbusec’s mission: “Cyber attacks are not only aimed at high profile targets anymore, it is a phenomenon that targets the whole society. The mission of Nimbusec is to stay a step ahead of the criminals, watch over our clients websites and alert them when problems arise. This way we help our customers avoid financial and reputation loss. […]

Rrrright, Alex on meil ju igapäevaselt olemas Skype-chatis, kus me Nimbusec’i tehnilist tiimi vale-positiivsetest ja vale-negatiivsetest pahavara-leidudest teavitame.

Mu algne oletus oli, et veebist leitakse firma kontakti-leht ning sealt tuvastatakse manager / CEO vms oluline panjandrum – aga paistab, et nad on suutelised leidma täiesti suvalistest tekstides juhi-rollile viitava sõna kõrvalt nimesid ning nende nimel info@ aadressile kirjutama. Meie saime sama kirja ka arve@zone aadressile.

Moraal?

  • tõepoolest, me räägime Zone veebis teenustest, tehtust, tehnopoliitikast ja küberturvast – aga “who the heck is zone?” on >80% osas katmata ja robotil polnud absoluutselt mingit võimalust tuvastada kes on CEO, kes konduktor või kes büroo-assistent (samas ma ise alati heameelega tutvun enne ostu ettevõtte taustaga)
  • jah, selle kelmuse taga on üsna juhm veebiskanner ning kellelgi pole vaja karta, et tema postkasti-parool vms mitte-avalikud andmed oleks lekkinud
  • võtame asja rahulikult, sest kuniks me ei teosta ülekandeid ilma korrektselt vormistatud ja asjakohaselt aktsepteeritud raamatupidamise algdokumendita (laiemalt tuntud kui “arve”) puudub ka risk kelmuse ohvriks langeda

Kas saaksid kiiresti ühe maksekorralduse teha?

Umbes sellise küsimusega hakkab pihta enamus CEO-kelmuse kirjavahetustest – ja viimastel päevadel on nende hulk järsult kasvanud. Suvi, firmades on osa inimesi puhkamas ning suhtlevad teistega äärmise vajaduse korral lühikeste, mobla-ekraanilt tipitud sõnumitega.

Kontorisse jäänutel on aga puhkajate asendamistega käed-jalad tööd täis ning olukord natuke uus ja ilma sisse harjunud käitumisreegliteta.

Näiteks võiks reedel, napilt enne lõunapausi, assistent Anne postkasti saabuda selline kiri tegevjuht Tiiult:

Ääremärkus: see ja järgmised kirjad on pärit ühe meie turvateadliku kliendi suhtlusest päris kelmidega. Nimed ja aadressid muudetud, fiktiivse firma nimi pärit ühest sotsmeedia-eksperimendist. Igaks juhuks ka tavakohane hoiatus “don’t try that at home work” – vaevalt, et neil sind maksma petta õnnestub… aga äkki võtab keegi trollimist südamesse ja leiab mõne turvaprobleemi mille ärakasutamise-katseks sa veel valmis pole.

Raamatupidaja on puhkusel, aga lõunalt naasnud Anne ülesandeks on kontor iga ilmaga toimivana hoida ja Tiiu saab peagi täpsustava küsimuse:

Viis minutit hiljem tuleb talt vastus:

Samuel on ilmselt rahamuul, kes on “töökuulutuse” peale olnud nõus oma kontole saabuvast rahast 90% sulas välja võtma ja Western Union’i kaudu edasi saatma.

Anne jääb hetkeks kirja uurima – aga peagi on postkastis järgmine kiri Tiiult, kellel ilmselt on maksega kiire:

Mistahes kelmuse puhul on oluline sundida ohver enne tegutsema ja alles siis mõtlema. “Ja-jaa, juba jooksen,” ohkab Anne – aga ta ei saa ju niisama maksta, sest raamatupidaja peaks selle kuidagi algdokumendiga kokku viima:

Ja saab vastuseks:

Nagu näha, sai Google Translate jälle natuke tööd teha ning kellegi nobedad näpud kopeerisid vastused Outlook’i.

Järgmine kord ei pruugi aga pettus nii kergesti märgatav olla, sest suhtluse kulg on üsnagi etteaimatav ja pole keeruline paarkümmend tüüpvastust inimtõlgilt tellida. Tegemist on ikkagi levinud kelmuseliigiga ja küllap leiab selle läbiviimiseks asjakohastest veebidest nii õpetusi kui ka tekstinäiteid. Brian Krebs’il on hea lugu veidi erinevast pettuseliigi ehk “vene kohtinguteenusest” toimimisest.

Jätame aga Tiiu ja Anne omavahel suhtlema ning vaatame…

Kuidas selline kelmus töötab?

Keerulisemate CEO-kelmuste puhul on tegemist ühe osapoole e-postikonto ülevõtmise ning päris arve võltsimisega. Sellist näidet kirjeldab Andris postituses Tõestisündinud lugu e-posti võltsimise tõttu kaotatud rahast ja ühte banaalselt lihtsat postikontosse sissemurdmist lahkas Ardi loos “Paha Panda” varastab postkaste.

Sedapuhku pole aga tegemist konkreetse firma vastu suunatud kuluka harpuunimisega ning Tiiu ja Anne kontaktid leiti pigem firma kodulehelt:

Veebifragment kelmidega kirjavahetust arendanud firma kodulehelt, pildid “Anna Malvara” loo juurest. Olgu lisatud, et mõlemad on 100% sünteetilised ehk 3D-renderdatud – Tiiu on pärit Renderpeople galeriist ja Anne leidsin üles ühest 3ds Max’i õpetusest.

Robotid skannivad tuhandete firmade veebe, korjates kokku e-posti-aadressid ning nendega seotud nimed ja rollid. Keegi hoolas inimene puhastab andmed ja müüb need kena Exceli-tabelina ahela järgmisele lülile maha – hinnajärk ilmselt sent per firma.

Ja see järgmine lüli saadab laiali spämmi, kus saatja real on kenasti From: Tiiu Kask <tiiu@malvara.ee>, kiri on saadetud mõne pahaaimamatu firma serverist (Return-Path: <vd@somehackedwebsite.com>) ja Outlook’i vms e-postikliendi puhul vastamisel kasutatav Reply-To aadress viitab kolmandale, samuti kelmi kontrolli all olevale serverile, kus kasutajanimest sõltumatult jõuavad kõik kirjad “operaatori” postkasti (Reply-To: "Tiiu Kask" <tiiu@vd-scammersdomain.org>):

Anne saab kogu suhtluse käigus kirju, kus saatjaks oleks justnagu õige Tiiu – aga tehes Reply läheb vastus vale-Tiiule.

Kuidas ennast selliste pettuste eest kaitsta?

Ma heameelega räägiks siinkohal vajadusest lisada oma domeenile SPF-kirje, mis võimaldab postiserveritel kontrollida, et malvara.ee kirju tohib saata ainult see üks ja õige server (loe: 3 tehnoloogiat, mis aitavad kirjad kindlalt kohale toimetada ja Kuidas kontrollida väljuva e-posti SPF+DKIM+DMARC toimimist?)… aga kuigi see on 100% mõistlik liigutus, peitub tegelik võti ikka meie endi peas – valmisolekus kelmust ära tunda ja kokkulepitud käitumisreeglites:

  • tea, et kiirusele rõhumine on sageli märk soovist sind tavapärasest erinevalt käituma panna ja e-posti on lihtne võltsida
  • vähimagi kahtluse korral kontrolli saatja tegelik soov üle, kasutades selleks alternatiivset sideviisi (loe: helista sulle teadaolevale, mitte kirjas toodud numbrile) või kasuta vastamise (Reply-To) asemel edastamist (Forward) sisestades teise osapoole aadress ise To-lahtrisse
  • sellise kelmuse ohvriks sattujad ei ole rumalad või hooletud – teine pool on suhtluse üles ehitanud lähtudes väga heast inimpsühholoogia tundmisest ning iga sammu läbi mõelnud, praktiseerides sellist tegevust “üheksast viieni” ehk põhitööna

Tänud kõigile, kes on võtnud vaevaks meile kirjanäidiseid saata ning eriti uudishimulikule “Annele”, kes tahtis teada mis toimub peeglitaguses maailmas 🙂