Septyni iš dešimties slaptažodžių gali būti nulaužti

Tomas Savenas
8 min readFeb 24, 2021

Tokią išvadą galima būtų daryti po to kai pabandžiau patikrinti atsparumą Lietuvos startuolio Citybee duomenų bazės lentelėje esančiomis kontrolinėmis sumoms. Angl. terminas “crack” naudojamas apibūdinti slaptažodžių nulaužimą tai yra tikrosios reikšmės atrinkimą su įrankiais kompiuterio pagalba.

Saugumo terminologija

Nors nutekintu duomenų rinkinyje nėra labai daug asmeninės informacijos, tačiau reikia atkreipti dėmesį į tai, kad slaptažodžiai daug ką pasako apie žmogų ir galima išgauti naudingųjų duomenų kur gyveną ir koks telefono numeris. Taip pat kokį žmogų myli, ar turi gyvūną turi. Iš to išplaukia, kad slaptažodis yra vienas iš svarbiausiu asmeninės informacijos dalių. Dėl to slaptažodžiai turi būti žinomi tik žmogui o, sistemai reikia žinoti tik kontrolinį rezultatą kaip įrodymą.

Spaudos pranešimuose buvo tvirtinama, kad slaptažodžiai yra saugūs, nes užšifruoti.

Taigi kas tai yra šifravimas?

Jeigu apžvelgti mokslinę kriptografijos literatūrą, tai vieningo tikslaus apibrėžimo nėra, autoriai apibūdina skirtingai. Tačiau plačiąja prasme yra procesas, kurio metu pradinis tekstas transformuojamas į šifruotą, naudojant raktą, o priešingas procesas vadinamas dešifravimu. Kriptografijoje yra nurodomi skirtumai tarp tokių terminų kaip: šifravimas, kodavimas, maišos arba vienkryptės funkcijos. Valstybės dokumentuose kuriuose kalbama apie kibernetinį saugumą, yra apibrėžtos kriptografijos terminai, bei priemonės kokios turi būti imtasis norinti užtikrinti saugų technologijų panaudojima. Šie būdai aprašyti ir nacionalinio saugumo standartų instituto (NIST) dokumentuose.

Kaip antai viešuose pranešimuose kibernetinių įsilaužimų kontekste minėti kriptografiniai terminai yra klaidinančiai suvienodinami.

Šifravimo tipai gali būti dvejopi: simetrinis ir asimetrinis. Nepriklausomai nuo to, pagrindinė ypatybė informacija galima užšifruoti ir atšifruoti raktu, o turinys išlieka toks pat. Skirta įslaptinti informacija nuo nepageidaujamų šalių.

Kaip pavyzdį paimkime šifravimo mašiną Enigmą, kur slapto pranešimo šifravimas ir iššifravimas vykdavo naudojant tuos pačius rotorių bei jungiklių porų nustatymus kurie buvo išanksto žinomi abejoms pusems, o tik užšifruota slapta žinotė buvo perduodama per radio eterį.

Tuo tarpu kodavimui, raktas nereikalingas, tačiau turi būti abejoms pusėms sutartas algoritmas arba žinomas kuris simbolis bus keičiamas kuriuo. Naudojamas tarp sistemų apsikeisti duomenimis, jie gali būti suglaudinami, kad mažiau užimtų vietos. Pavyzdžiui Base64 kodavimas ir kiti algoritmai naudojami bitų srautą perduoti.

Kodavime pasitaiko, kad ne pavyksta pasiekti identiško duomenų transformavimo. Pavyzdys būtų iš kompaktinės plokštelės verčiant į mp3 muzikos formatą. Jo netenkame tarp skirtingų sistemų perdavimo metu. Tačiau jeigu nėra akivaizdžiai pastebimas tuomet yra priimtinas kodavimas.

Nors ir kodavimas, ir šifravimas yra metodai, kurie transformuoja duomenis į skirtingus formatus, tikslai, kurių jais siekiama, yra skirtingi. Kodavimas atliekamas siekiant padidinti duomenų tinkamumą naudoti skirtingose ​​sistemose ir sumažinti saugojimui reikalingą vietą, o šifravimas atliekamas siekiant išlaikyti duomenų paslaptį nuo trečiųjų šalių

Taigi slaptažodžius šifruoti ir koduoti nėra tikslinga, netgi ydinga, nes pasisavinus šifravimo raktą yra išsprendžiami visi šifrai.

Tam yra naudojama maišos arba vienakryptė funkcija. Pagrindinė savybė yra tą, kad pradinių duomenų nesaugo, tai yra tik algoritmo sugeneruotas rezultatas turintis fiksuotą dydį.

O atvirkštinis rezultatas neįmanomas. Ši funkcija, tinkama vientisumui užtikrinti, nes pakeitus nors vieną simbolį, rezultatas yra visiškai skirtingas nuo pradinio. Kaip pavyzdį paimkime vaisius ir pasigaminkime gėrimą, iš daugiau vaisių gausime vieną įvairių skonių sulčių stiklinę.

Mums nepavyks atvirkštinis procesas iš sulčių atkurti vaisių, ir ko gero atkartoti recepto pagal pagal skonį, tačiau juk mes žinome, kad kokteilį padarytas iš vaisių. Mes galime bandyti namuose įvairias kombinacijas daug kartų. Galų gale turėtume gauti ta patį skonį jeigu kokteilio receptas nesudėtingas tai yra jeigu ji sudaro kelio vaisių kombinacijos, tuomet greitai rasime.

* Žodžius „sunku“, „sudėtinga“ arba „lengva“ reikia suprasti sudėtingumo teorijos prasme, t.y. algoritmas, kurį galima įvykdyti per polinominį laiką naudojant deterministinę Tiuringo mašiną (sakoma, kad toks algoritmas priklauso sudėtingumo klasei P) yra lengvas, o algoritmas, kurį galima įvykdyti per polinominį laiką tik naudojant nedeterministinę Tiuringo mašiną (sakoma, kad toks algoritmas priklauso sudėtingumo klasei NP), yra sunkus (sudėtingas).

Maišos algoritmu SHA1

Šį maišos algoritma sukūrė Amerikos saugumo agentūra (NSA), vėliau Amerikos standartų organizacija (NIST) patvirtino naudojimui. Tačiau 2005 m. Taip pat buvo nustatyta, kad SHA-1 yra nesaugus. NIST oficialiai nustojo naudoti SHA-1 2011 m. Ir neleido jo naudoti skaitmeniniams parašams 2013 m. Nepaisant to daug kur ji buvo naudojama kai kur naudojamos įvairios kitos kombinuotos apsaugos priemonės, tokios kaip druska (angl. salt) ir po truputi buvo perkeliama į naujesnę apsaugos priemonę SHA2, po to SHA3.

Pasižiūrėkime praktikoje kaip atrodo SHA1 algoritmo sudėtingumas. Jeigu skaičiavimams pasitelkiame grafinius procesorius (GPU) ir slaptažodžių atstatymo programa Hashcat. Rezultatai per sekundę ženkliai didėja palyginus su centrinio procesoriumi (CPU).

Vienas GPU, modelis AMD RX 480 geba generuoti 3,5 milijardo rezultatų per sekundę. Tai jeigu mes turime aibe iš 8 skaičių, tuomet mes prabėgsime ją visą per mažiau nei per sekunde. Gal palyginkime tik mažąsias 8 raidžių kombinaciją — 10 min. Jeigu bet kokie 8 simboliai tuomet 6634204312890625 kombinaciju ir mes užtruksime kelis šimtus dienų. Matome eksponentiškai kyla, o jeigu priskirtume daugiau vaizdo plokščių, o gal panaudotume žodyno atakas ir taiskles? Dažnu atveju žmones linke kurti įsimenamus paprastus žodžius. Todėl per vieną dieną galima atrinti 70% naudotojų slaptažodžių. Kaip padėtų salt arba drusko naudojimas. Pažiūrėkime į paveikslus žemiau:

Be druskos

Su druska

Kaip matome ženklaus skirtumo beveik nėra. Tačiau drusko įtraukimas į technologinį receptą ženkliai apsunkina paieškas, nes sugeneruota maišos funkcija ieškoma tarp visų slaptažodžių kontrolinių sumų ir jeigu sutampą daugiau nei viename, tuomet nereikia iš naudojo sukti ciklo visos aibės.

Žemiau yra pailistruotas hashcat programos palyginams su komandinėje eilutės įrankiais kai sugeneruojami keli slaptažodžiai.

Kitame paveikslę manome kaip ieškoma rezultato visame faile ir randami keli identiški.

Slaptažodžiai

Iš turimos naudotojų lentelės su 110303 įrašais turime vartotojų slaptažodžių maišos rezultatų atkūrimo santykis yra 68370/97656 (70.01%). Dublikatai išimti (4843). Keturi laukai buvo ne SHA1 reikšmė. Pažvelgus žemiau į paveikslą matome įprastus žodžius, Iš to galime daryti prielaida, kad slaptažodžiams nebuvo taikoma jokia slaptažodžių politika, priešingai galima buvo įvesti, kad ir tuščia slaptažodį, kuris tarp rezultatų pasikartojo virš 500 kartų!

Populiariausi Citybee slaptažodžiai

Toliau analizuodami rezultatus matome naudoja ne tą patį slaptažodį, bet tą pačia formą, pvz. Telefono numerį, asmens kodą. Gatvę kurioje gyvena ar užaugo. Yra nemaža yra trivialių žodžių ar tiesiog keiksmažodžių. Kurie naudojo kaip telefono numerį ar panašia į jo kombinacija yra virš tūkstančio. Galima toliau sudaryti grupes, kai kurie naudojo tokius žodžius susijusius su azartu, jausmais. Tai galėtų būti tik kontekstas ir atverti naujas duris.

Jeigu kituose paskyruose naudoja tokį patį ar panašų slaptažodį. Tuomet piktavaliams pasisekė, jie gaus žmonių kurie atitiktų darbą už juos. Turiu galvoje prisidengima kitu asmeniu.

Kodėl taip yra?

Technologijų verslai vystantis inovatyvius sprendimus laikomi startuoliais kurie turi potencialą stipriai augti ateityje. Paradoksalu, tačiau neretai pasitaiko, kad ši verslo kultūra yra žalinga vartotojui. Turiu galvoje verslas siūlydamas inovatyvius produktus ar paslaugas padarys viską, kas yra geriausia: pradedant naudojimo patirtimi UX, klientų aptarnavimas sprendžia susidariusias problemas žaibiškai ir greitai, net jeigu negali naudotis paslauga dėl tam tikros priežasties galimybė buvo išsikviesti taksi, o kompanija apmokėdavo sąskaita. Techninis aptarnavimas draugiškas ir mandagus, nors pluša iki nakties rinkdami žmonių paliktus paspirtukus po visą miestą tačiau randą laiko nusišypsoti sutiktam praeiviui.

Tačiau tai ko nematome visa virtuvė, back-end. Ji verda prie 120 ir daugiau laipsnių, slėgis dėl spaudimo iš viršau yra per didelis. Vystomas produktas sparčiai, naujos funkcijos pridedamos dažnai. Sakoma tikslas pateisina priemones, kai laiko nėra. Tačiau nieko nėra pastovaus už laikinumą. Sakoma viskas bus gerai, sunku surasti spragas ir jomis pasinaudoti, o tai nėra tik prielaida daroma iš neturėjimo duomenų apie galimas grėsmes. Mes pajutome, nes visai tai nutiko mums

Iš tiesų turint tokia informacija kaip asmens kodą vardą pavardę, finansinės žalos taip lengvai nepadarys. Norint pasiimti greitąjį kredita reikia įvykdyti tam tikrus veiksmus įrodančius tapatybę. Taigi duomenų su naudotojų banko korteles viešai nebuvo pateikta. Jeigu būtų didelė tikimybė, kad yra pasibaigęs tos kortelės galiojimas. Ateičiai dėl atsargumo, galima pasinaudoti galimybę uždėti varneles greitųjų kreditų bendrovėms.

Jeigu kilo klausimas kaip šis atvejis gali materializuotis ir padaryti žalos? Tuomet kaip pavyzdį pateiksiu buvusį pinigų išviliojimo atvejį. Ar pamenat kuomet prisidengus žymiais žmonėmis buvo platinamos žinutės “X praturtėjo investuodamas į Y spausk dabar čia ir sužinosi…” Mano pažįstamas ne savo noru tapo vienas iš nusikalstamos grandinės dalių. Manes paprašė pagalbos atidaryti verslo paskyrą socialiniame tinkle, kad galėtų pasiskelbti apie savo elektroninę parduotuvę. Pažvelgęs į jo paskyra supratau, kad jau yra vykdoma iš jo paskyros reklamos platinimo kampanija, to nesimato pagrindiniame sraute socialiniame tinkle. Tačiau jo verslo sienoje buvo pilna skelbimų. Kaip paaiškėjo pridėta dar kito žmogaus internetinio banko paskyra, už kurią buvo sumokėta reklamos kampanija. Buvo pranešta apie šį įvykį ir slaptažodžiai pakeisti. Tai priedangos būdu yra sujungiama dalis į vientisą grandinę tai siekiama užsimaskuoti atsakingiems asmenims. Tikėtina, kad kylantis paklausa kriptovaliutų rinkoje paskatins pakartoti minėtą scenariju. Skambučiai ir email, nupirktos reklamos socialiniuose tinkluose, okupuojamas dėmesys su pranešimais, kad galima lengvai praturtėti iš kriptovaliutų. Taip galima, tačiau ne tomis kurios bus pasiūlytos jums.

Kol kas tiek kitame straipsnyje apžvelgsime vaizdo stebėjimo kamerų saugumą.

Išvados

  • Saugus šifras yra ne tas, kuris neiššifruojamas, o tas, kuris yra per lėtai iššifruojamas. (web.vu.lt, Kodavimas ir kriptografija, 2012)
  • Saugus slaptažodis nelygų saugi autentifikacija, reikalinga daugiau priemonių, tuomet šansai įsilaužti kelias kartais pasunkėja.
  • Slaptažodžius saugoti tinka įprastos interneto naršyklės, prisijungus prie paskyros. Tai yra aukšto patikimumo technologija apsaugota dvigubą priemonių autentifikacija. Tačiau reikia labai gerai apsaugoti šią paskyrą.
  • Absoliutaus kibernetinio saugumo nebūna, tikslo galima pasiekti valdant rizika;
  • Pirmas žingsnis žinomas kokia galima rizikas. Ji nekainuoja susidaryti, rizikos valdymo planą galima su savo komandą. Techninė komandą vertina technologijas.
  • Apsaugokite savo silpnąsias, bent tiek, kad sunkiau būtų tai padaryti kitiems. O jeigu reikia ekspertų pagalbos butinai kreipkites į jus, padės tikrai.
  • Sistema ar žmones visi mes turime silpnų vietų vieni akivaizdžiai pažeidžiami kiti mažiau. Piktavalių sėkmės veiksnys priklauso nuo pasiruošimo, dėl to jie veikia pagal metodikas. Įsilaužimo metodikos aprašomos [1]
Kibernetinio saugumo entuziastas;
Linux ir Web aplikacijų technologijų saugumo specialistas;
Inovacijų valdymo ir Antreprenerystės Magistrantas @ KTU;
Aktyviausias Lietuvis TryHackMe platformoje.

--

--

Tomas Savenas

Kibernetinio saugumo entuziastas; Aktyviausias Lietuvis TryHackMe platformoje; Inovacijų valdymo ir Antreprenerystės Magistrantas @ KTU