Paroolide murdmine
Veebileheküljed kasutavad oma paroolide salvestamiseks krüptograafilisi räsifunkstioone (cryptographic hash function), mis muudavad sisestatud parooli tundmatuseni. See on vajalik selleks, et kui häkkerid suudavad lehekülje kasutajate andmetele ligi saada, siis ei lekiks paroolid, vaid paroolide räsid (neid on vaja hakata dekrüpteerima, enne kui saab neid kasutada).
Krüptograafiline Räsifunktsioon
Räsifunktsioon (hash function) on deterministlik algoritm, mis saab sisendiks suvalise hulga andmeid ning mille väljund on alati ühepikkune (teatud arv bitte). Loomulikult tähendab see seda, et ühele räsifunktsiooni väljundile vastab lõpmata palju sisendeid. Oluline on see, et iga muudatus sisendis muudab tervet räsifunktsiooni väljundit.
- "par1mpar00L" ei ole parim parool, kuna parool võiks olla pikem
Krüptograafias kasutatakse räsifunktsioone mitmel pool ning sellistel räsifunktsioonidel on nõutud teatavad omadused:
Ühesuunalisus (one-wayness): räsifunktsiooni väljundist ei saa tuletada sisendit, st räsifunktsioon ei ole pööratav.
Lisaoriginaalikindlus (second pre-image resistance): teades räsifunktsiooni sisendit on raske leida mõni teine sisend, mis annaks samasuguse väljundi.
Kollisioonikindlus (collision resistance): on raske leida kahte erinevat sisendit, mis annaks sama väljundi.
Kui kasutaja tahab näiteks veebilehele sisse logida ja oma parooli sisestab, siis arvutab veebileht sellest uuesti räsi ja võrdleb seda andmabaasis olevaga. Krüptograafilise räsifunktsiooni omadused võimaldavad kasutada räsisid paroolide andmebaasidesse salvestamiseks, sest juhul kui kasutatakse turvalist krüptograafilist räsifunktsiooni, ei ole võimalik räsist tuletada esialgset parooli. Seega kui andmebaas lekib, siis ei leki kasutajate paroolid vaid lekivad paroolide räsid. Sellises olukorras peab ründaja hakkama kasutajate paroole ära arvama ehk räsima massiliselt erinevaid sümbolite kombinatsioone, et leida sobiv räsi. Tegelikult saab ründaja teha seda juba enne lekke toimumist ehk ründajal on võimalus teha arvutuslikult keeruline töö varem valmis, et koostada räside, paroolide sõnaraamat. Selleks, et seda rünnet vältida, tuleks paroolidele lisada enne räsimist sool ehk juhuslikkus.
Ründajate elu tehakse veelgi keerulisemaks ning tavalise räsifunktsiooni asemel kasutatakse hoopis spetsiaalset paroolipõhist võtmetuletusfunktsiooni (password-based key derivation function). Selliste funktsioonde mõte on selles, et nad räsivad sisendit mitte üks vaid näiteks 10 000 korda, muutes seega ründajal paroolide arvamise oluliselt kulukamaks.
Allikas: Andmeturve2017
Proovime kui keeruline on paroole murda (kasutatud on iganenud krüpteerimisalgoritme)
1) Avage Linux Mint virtuaalmasin ning logige kasutajasse
2) Avage terminal ning jooksutage järgnevad käsud: sudo apt-get update
sudo apt-get install build-essential
3) Minge rooduks sudo su
ning sisestage oma parool (parool123).
4) Installige paroolimurdmise tarkvara John # apt-get install john
5) Kopeerige endale md5 krüpteeringuga paroolide räsid X
(link) ning salvestage need Documents kausta paroolid.txt faili. ReinitializeMAC.png
6) Pange terminalist käima John: /usr/sbin/john Documents/paroolid.txt
Seejärel hakkab programm teile järjest esitama paroole, mis on lahti murtud. (ctrl-c või q vajutamine peatab tegevuse)
Kuigi paremate algoritmide murdmiseks läheb vaja suuremat arvutusjõudu, siis on märkimisväärne see, et me suudame juba tavalise kontoriarvutiga murda lahti kergemaid paroole.
Lisalugemist
CSO Online: Suurimad andmelekked ajaloos