Acasă - Laptop-uri
Schimbarea unei parole folosind o placă video. Cum să piratați o rețea Wi-Fi cu criptare WEP Versiunile sunt criptate, apoi piratați aceasta

INTRODUCERE

Krakmi este
program (de obicei dimensiuni mici 1-2
kilobytes) pentru care trebuie să găsiți o parolă
sau creați o cheie. Crammies sunt de obicei scrise
pentru a testa nivelul de cunoștințe al oamenilor din domeniu
criptografie și hacking de programe. Krak mi
vine din expresia engleză Crack Me -
pirata-ma.

Cumva eu
a fost necesar să se introducă suport pentru „înregistrare”
cheile unuia dintre programele comerciale. Pe
Am avut acel moment de experiență în această chestiune
destul de puțin, am încercat să-l piratez o dată
câteva crackme, dar nimic nu a funcționat și eu
a aruncat-o repede. Dar când a venit stimulentul, eu
Am decis să încep cu crackme și acum lucrez la el
studierea diverșilor algoritmi de criptare
date (cum ar fi DES, TWODES, RSA și altele). Destul
este posibil ca următoarele articole ale mele să fie despre
algoritmi de criptare, din moment ce
utilizarea acestor algoritmi este semnificativă
crește timpul petrecut cu hacking.

TIPURI DE CRACKME

Având în vedere
diverse fisuri, am identificat două principale
tip: criptat cu fisuri și care conține
doar algoritmul.

Decriptor
Cracmi de primul tip contine de obicei
multe „tehnici” anti-depanare (complexitate
a acestor tehnici depinde de nivelul de cunoștințe
persoana care a scris krami-ul, cel mai mult
tehnicile comune sunt ușor evitate
oameni și depanatori care lucrează sub
modul protejat) și înainte
pentru a începe să analizați algoritmul, trebuie să obțineți
cod decriptat. Cu atât mai dificil
descifrarea, (cel mai probabil) mai dificilă
va exista un algoritm pentru a ghici parola (sau parolele)
la el. Foarte des se dovedește că
un algoritm de 300 de octeți poate fi mai greu de spart,
cum să descifrezi crackmi. Fara cunostinte
De asemenea, nu recomand să încalci matematica
care utilizează algoritmul RSA (algoritm
criptare cu cheie publică) sau
asemănătoare. Desigur, este mai bine să începeți
fisuri necriptate. Nici eu nu o recomand
incearca sa spargi fisurile de la grupele UCL, UCF, rPG, SOS
- îți vei pierde timpul.

În unele
Krakmi trebuie să știe nu parola, dar
faceți o cheie de înregistrare. Proces
a sparge așa ceva nu este mult
diferă de „parolă”, dar este mai „mai aproape”
la distrugerea programelor.

ALGORITMUL DE FRUPERE
CRACKME

Fisuri complexe
sunt sparte de parole de forță brută, pentru
Acesta este motivul pentru care sunt scrise programe mici. Mai des
există o singură parolă. Complexitate
crește datorită mărimii necesarului
parola și caracterele din care ar trebui
constau.

Algoritm:

    Analiză
    algoritm de verificare a parolei

    Scris
    keygen (program de ghicire a parolei)

    Lansarea keygen-ului

ANALIZA ALGORITMULUI
VERIFICARE PAROLA

Pentru analiză
ar trebui să studiați cu atenție algoritmul
verificări de parole. Pentru aceasta folosiți dvs
depanator preferat (Soft Ice, TD, DeGlucker...), ai nevoie
uita-te cu atentie la ceea ce se verifica
parolă. Se poate verifica la un test
suma (crc), în acest caz cel mai probabil parola
va trebui să caute forța brută, sau poate
verificat de un personaj, atunci
poți „ghici” întreaga parolă sau cel puțin
câteva dintre simbolurile sale, restul va trebui
cautare prin forta bruta.

Controla
suma secțiunii de cod este un număr (de obicei doi
sau patru octeți, poate în crackmi
folosit şi un octet) care
conține informații despre această secțiune de cod.
Proceduri utilizate în mod obișnuit pentru crustacee
calculul sumei de control primitive (de exemplu
arhivatorii folosesc crc32). Să luăm în considerare
exemplu de algoritm care calculează
suma de control:

De exemplu, toată lumea
octeții secțiunii sunt adunați și se dovedește
numărul este un număr și este un control
cantitatea parcelei. De exemplu, avem un complot
cod format din 5 octeți:

001 004 000 005 100

Controla
suma sa va fi egală cu 1+4+0+5+100=110.

Principal
dificultatea de a sparge fisurile care verifică
Parola pentru crc este că crc nu poate fi descompus! Aceste.
cunoscând suma de verificare a parolei - 110 nu o știm
putem afla ce este egal cu cel puţin unul dintre
elemente de parolă.

SCRIEREA KAGEN

Practic pentru
toate tipurile de fisuri de care aveți nevoie pentru a scrie keygen,
cu excepția plămânilor. Poate fi spart cu ușurință
aproape orice hack
înlocuind mai mulți octeți), dar autorii întreabă
spune parola, dar cel mai important lucru este pierdut
interes.

Pentru ce
Ar trebui să găsesc o parolă de 3 caractere
sortați aproximativ:255
* 255 * 255 COMBINAȚII

Poate fi redus
număr de combinații, de exemplu știind că în
Sunt folosite doar parole în limba engleză
litere (mari și mici), apoi în loc de 255
Trebuie doar să sortați 52 de caractere
doar numere, că vom trece doar prin 10
personaje.

Keygen trebuie
salvează contorul de decriptat
combinatii. Din moment ce parola brute force
durează mult, apoi pleacă
Nu pot porni computerul timp de câteva zile,
deodată ai nevoie. Poate fi introdus în
abilitatea keygen de a salva contorul în
fișier, iar la pornire citiți-l din fișier și
continua decriptarea de la întrerupt
pozitii.

LANSAREA KEYGEN

Forța brută a parolei
în funcție de unii parametri (în
în principal pe numărul de posibile din parolă
caractere și dimensiunea parolei) necesită
o perioadă destul de lungă de timp.
Pot fi utilizate mai multe computere
fiecare dintre ele va verifica unele
parte a combinaţiilor.

Pentru hacking Encrypted Sistem de fișiere Software-ul (EFS) poate fi utilizat folosind software-ul Advanced EFS Data Recovery de la ElcomSoft. O versiune demonstrativă a acestui software poate fi obținută la http://www.elcomsoft.com/aefsdr.html

Fereastra de pornire a programului

Fig 3. Fereastra Programe avansate Recuperarea datelor EFS

Programul poate decripta fișierele protejate numai dacă cheile de criptare (nu toate, dar cel puțin unele dintre ele) există încă în sistem și nu au fost modificate.

Pentru fișierele criptate în sistemul de operare Windows 2000, dacă cheia bazei de date a contului (SYSKEY) este stocată pe dischetă sau dacă a fost instalată opțiunea „Pornire parolă”, trebuie să cunoașteți una dintre următoarele parole pentru a putea decripta fisierele:

    parola de pornire sau dischetă lansa

    parola utilizatorului care a criptat fișierele

    Parola agentului de recuperare (dacă este posibil)

Dacă computerul făcea parte dintr-un domeniu atunci când fișierele au fost criptate, este posibil să nu puteți decripta fișierele în unele cazuri. Dacă parola utilizatorului (care a criptat fișierele) a fost schimbată după codare, poate fi necesar să introduceți vechea parolă în program.

Hackerea parolelor Windows 9x

Cu toate acestea, nu uitați că există o modalitate mult mai ușoară de a sparge parolele de rețea. Deoarece în majoritatea organizațiilor de astăzi sistemul de operare al mașinii client este Windows 95/98, atunci, în consecință, este mult mai ușor să organizați piratarea protecției cu parolă a acestui sistem de operare, deoarece parola într-un astfel de fișier este stocată doar cu majuscule ( cu majuscule), știind că acest lucru este mult mai convenabil și mai ușor de găsit mai târziu parola de rețea necesară.

Există un număr mare de programe pentru spargerea parolelor Windows 95/98, dar ne vom concentra pe cel mai popular dintre ele, PwlTool 6.0, pe exemplul căruia a fost efectuată cercetarea.

Figura 3 prezintă fereastra principală de lucru a acestui program, concepută pentru a funcționa pe computere care rulează Windows 95/98, Windows NT/2000.

PwlTool este un set de instrumente de recuperare a parolei. Programul principal este RePwl. Acest program vă permite să recuperați parola de conectare uneori uitată sau pierdută pentru Windows 95 (original și OSR2) și Windows 98. De asemenea, vă permite să vizualizați parolele salvate în fișierul PWL.

Ce este un fișier pwl?

Windows 95/98 salvează parola într-un fișier PWL. Fișierele PWL pot fi găsite în directorul Windows. Numele lor sunt de obicei salvate ca USERNAME.PWL. Fișierul PWL este criptat și nu este ușor să extragi parole din el. Primul algoritm de criptare pentru versiunea Windows 95 a fost creat în așa fel încât a făcut posibilă crearea de programe pentru decriptarea fișierelor PWL. Cu toate acestea, în versiunea OSR2, acest dezavantaj a fost eliminat.

Evaluarea fiabilității fișierelor pwl.

Sistemul de protecție prin parolă din OSR2 este profesional și de încredere în ceea ce privește criptografia. Cu toate acestea, în ciuda acestui fapt, acesta conține mai multe deficiențe grave, și anume:

    toate parolele sunt convertite în majuscule, acest lucru reduce semnificativ numărul de parole posibile;

    Algoritmii MD5 și RC4 utilizați pentru criptare permit criptarea parolei mai rapidă, dar fiabilă parola Windows trebuie să aibă cel puțin nouă caractere.

Sistemul de stocare în cache a parolelor este în mod inerent nesigur. Parola poate fi salvată numai dacă niciun personal neautorizat nu vă poate accesa computerul.

Cercetătorii de la Universitatea Princeton au descoperit o modalitate de a ocoli criptarea hard diskului folosind o proprietate a modulelor RAM stocați informații pentru o perioadă scurtă de timp chiar și după o pană de curent.

Prefaţă

Deoarece trebuie să aveți o cheie pentru a accesa un hard disk criptat și, desigur, este stocată în RAM, tot ceea ce este necesar este să obțineți acces fizic la computer pentru câteva minute. După repornirea de la dur extern disc sau USB Flash, se face o descărcare completă a memoriei și cheia de acces este extrasă din acesta în câteva minute.

În acest fel, puteți obține cheile de criptare (și accesul complet la hard disk) utilizate de programele BitLocker, FileVault și dm-crypt în sisteme de operare Windows Vista, Mac OS X și Linux, precum și popularul sistem gratuit de criptare a hard diskului TrueCrypt.

Importanța acestei lucrări constă în faptul că nu există o singură metodă simplă de protecție împotriva acestei metode de hacking, în afară de oprirea alimentării pentru un timp suficient pentru a șterge complet datele.

O demonstrație vizuală a procesului este prezentată în video.

Adnotare

Contrar credinței populare, memoria DRAM, folosită în majoritatea calculatoare moderne, stochează datele chiar și după oprirea alimentării timp de câteva secunde sau minute, iar acest lucru se întâmplă la temperatura camerei și chiar dacă cipul este scos de pe placa de bază. Acest timp este suficient pentru a face o descărcare completă a RAM. Vom arăta că acest fenomen permite unui atacator cu acces fizic la sistem să ocolească funcțiile OS pentru a proteja datele cheii criptografice. Vom arăta cum poate fi folosită reîncărcarea pentru a realiza atacuri cu succes împotriva sistemelor de criptare cunoscute hard disk-uri fără a utiliza dispozitive sau materiale specializate. Vom determina experimental gradul și probabilitatea de reținere a magnetizării reziduale și vom arăta că timpul pentru care datele pot fi preluate poate fi crescut semnificativ folosind tehnici simple. De asemenea, vor fi propuse noi metode pentru căutarea cheilor criptografice în depozitele de memorie și corectarea erorilor asociate cu pierderea de biți. Totuși, vor fi discutate și câteva modalități de reducere a acestor riscuri solutie simpla nu stim.

Introducere

Majoritatea experților presupun că datele din memoria RAM a unui computer sunt șterse aproape instantaneu după oprirea alimentării sau cred că datele reziduale sunt extrem de dificil de recuperat fără utilizarea unui echipament special. Vom arăta că aceste ipoteze sunt incorecte. Memoria DRAM convențională pierde datele treptat în câteva secunde, chiar și la temperaturi normale și chiar dacă cipul de memorie este scos de pe placa de bază, datele vor rămâne în ea minute sau chiar ore, cu condiția ca cipul să fie stocat la temperaturi scăzute. Datele reziduale pot fi recuperate folosind metode simple, care necesită pe termen scurt acces fizic la calculator.

Vom arăta o serie de atacuri care, folosind efectele de remanență ale DRAM, ne vor permite să recuperăm cheile de criptare stocate în memorie. Acest lucru reprezintă o amenințare reală pentru utilizatorii de laptopuri care se bazează pe sisteme de criptare hard disk. La urma urmei, dacă un atacator fură un laptop în timp ce discul criptat este conectat, el va putea efectua unul dintre atacurile noastre pentru a accesa conținutul, chiar dacă laptopul în sine este blocat sau în modul de repaus. Vom demonstra acest lucru atacând cu succes mai multe sisteme de criptare populare, cum ar fi BitLocker, TrueCrypt și FileVault. Aceste atacuri ar trebui să aibă succes și împotriva altor sisteme de criptare.

Deși ne-am concentrat eforturile asupra sistemelor de criptare a hard diskului, dacă un atacator are acces fizic la computer, orice informație importantă stocată în RAM poate deveni o țintă pentru atac. Este probabil ca și multe alte sisteme de securitate să fie vulnerabile. De exemplu, am descoperit că Mac OS X lasă parole pentru conturiîn memorie, de unde le-am putut extrage, am făcut și atacuri pentru a obține închise chei RSA Server web Apache.

Unii reprezentanți ai comunității securitatea informatiei iar fizicienii în semiconductori știau deja despre efectul de remanență al DRAM, existau foarte puține informații despre acesta. Drept urmare, mulți dintre cei care proiectează, dezvoltă sau folosesc sisteme de securitate sunt pur și simplu nefamiliarizați cu acest fenomen și cu cât de ușor poate fi exploatat de către un atacator. Din câte știm, acesta este primul lucru detaliat studierea consecinţelor acestor fenomene asupra securităţii informaţiei.

Atacurile asupra unităților criptate

Criptarea hard disk-urilor este o metodă binecunoscută de protecție împotriva furtului de date. Mulți oameni cred că sistemele de criptare hard disk le vor proteja datele, chiar dacă un atacator a obținut acces fizic la computer (de fapt, pentru asta sunt, nota editorului). O lege de stat din California, adoptată în 2002, impune raportarea posibilelor dezvăluiri de date personale numai dacă datele nu au fost criptate, deoarece. Se crede că criptarea datelor este o măsură de protecție suficientă. Deși legea nu descrie ceva anume solutii tehnice, mulți experți recomandă utilizarea sistemelor de criptare pentru hard disk-uri sau partiții, care vor fi considerate suficiente măsuri de protecție. Rezultatele cercetării noastre au arătat că încrederea în criptarea discurilor este nefondată. Un atacator mai puțin calificat poate ocoli multe sisteme de criptare utilizate în mod obișnuit dacă un laptop cu date este furat în timp ce este pornit sau în modul de repaus. Și datele de pe un laptop pot fi citite chiar dacă se află pe o unitate criptată, așa că utilizarea sistemelor de criptare a hard diskului nu este o măsură suficientă.

Am folosit mai multe tipuri de atacuri asupra sistemelor binecunoscute de criptare a hard diskului. Ceea ce a durat cel mai mult timp a fost instalarea discurilor criptate și verificarea corectitudinii cheilor de criptare detectate. Obținerea unei imagini RAM și căutarea cheilor a durat doar câteva minute și a fost complet automatizată. Există motive să credem că majoritatea sistemelor de criptare a hard diskului sunt susceptibile la atacuri similare.

BitLocker

BitLocker este un sistem inclus în unele versiuni de Windows Vista. Funcționează ca un driver care rulează între sistemul de fișiere și driverul de hard disk, criptând și decriptând sectoarele selectate la cerere. Cheile folosite pentru criptare rămân în RAM atâta timp cât discul criptat este criptat.

Pentru a cripta fiecare sector al unui hard disk, BitLocker folosește aceeași pereche de chei creată de algoritmul AES: o cheie de criptare a sectorului și o cheie de criptare care funcționează în modul Cipher Block Chaining (CBC). Aceste două chei sunt la rândul lor criptate cu cheia principală. Pentru a cripta un sector, se efectuează o procedură de adăugare binară pe textul simplu cu cheia de sesiune generată prin criptarea octetului de compensare a sectorului cu cheia de criptare a sectorului. Datele rezultate sunt apoi procesate de două funcții de amestecare care folosesc algoritmul Elephant dezvoltat de Microsoft. Aceste funcții fără cheie sunt utilizate pentru a crește numărul de modificări la toți biții de criptare și, în consecință, pentru a crește incertitudinea datelor sectorului criptat. În ultima etapă, datele sunt criptate cu algoritmul AES în modul CBC, folosind cheia de criptare corespunzătoare. Vectorul de inițializare este determinat prin criptarea octetului de offset al sectorului cu cheia de criptare utilizată în modul CBC.

Am implementat un atac demonstrativ complet automat numit BitUnlocker. În acest caz, un extern disc USB cu sistem de operare Linux și un bootloader modificat bazat pe SYSLINUX și driverul FUSE care vă permite să conectați unități criptate BitLocker la sistemul de operare Linux. Pe un computer de testare care rulează Windows Vista, alimentarea a fost oprită, USB a fost conectat hard disk, iar încărcarea a avut loc de la acesta. După aceea, BitUnlocker a aruncat automat memoria RAM pe o unitate externă, a folosit programul de căutare a cheilor pentru a căuta posibile chei, a încercat toate opțiunile potrivite (perechi de chei de criptare sectorială și cheie de mod CBC) și, dacă a reușit, a conectat unitatea criptată. De îndată ce discul a fost conectat, a devenit posibil să lucrați cu el ca orice alt disc. Pe un laptop modern cu 2 gigabiți de memorie RAM, procesul a durat aproximativ 25 de minute.

Este de remarcat faptul că acest atac a devenit posibil să fie efectuat fără inginerie inversă a vreunui software. În documentație sistem Microsoft BitLocker este descris suficient pentru a înțelege rolul cheii de criptare a sectorului și al cheii modului CBC și pentru a crea propriul program care implementează întregul proces.

Principala diferență dintre BitLocker și alte programe din această clasă este modul în care sunt stocate cheile atunci când unitatea criptată este deconectată. În mod implicit, în modul de bază, BitLocker protejează cheia principală doar cu ajutorul unui modul TPM, care există pe multe PC-uri moderne. Această metodă, care pare a fi utilizată pe scară largă, este deosebit de vulnerabilă la atacul nostru, deoarece permite obținerea cheilor de criptare chiar dacă computerul a fost oprit mult timp, deoarece la pornirea computerului, cheile sunt încărcate automat în RAM (înainte de fereastra de conectare) fără a introduce informații de autentificare.

Aparent, specialiștii Microsoft sunt familiarizați cu această problemă și, prin urmare, recomandă configurarea BitLocker într-un mod îmbunătățit, în care cheile sunt protejate nu numai folosind TPM, ci și cu o parolă sau cheie pe un dispozitiv extern. Dispozitiv de stocare USB. Dar, chiar și în acest mod, sistemul este vulnerabil dacă un atacator obține acces fizic la PC în momentul în care acesta funcționează (poate fi chiar blocat sau în modul de repaus (se consideră stările - pur și simplu oprit sau hibernare în acest caz). nu sunt susceptibile la acest atac).

FileVault

Sistemul FileVault de la Apple a fost parțial investigat și proiectat invers. În Mac OS X 10.4, FileVault utilizează o cheie AES de 128 de biți în modul CBC. La introducerea parolei utilizatorului, antetul este decriptat, conținând cheia AES și a doua cheie K2, folosită pentru calcularea vectorilor de inițializare. Vectorul de inițializare pentru I-lea bloc de disc este calculat ca HMAC-SHA1 K2(I).

Am folosit programul nostru EFI pentru a crea imagini RAM pentru a obține date de pe un computer Macintosh (pe baza procesor Intel) cu o unitate montată criptată de FileVault. După aceasta, programul keyfind a găsit automat cheile FileVault AES fără erori.

Fără un vector de inițializare, dar cu cheia AES rezultată, devine posibilă decriptarea a 4080 din cei 4096 de octeți ai fiecărui bloc de disc (toți cu excepția primului bloc AES). Ne-am asigurat că vectorul de inițializare este și el în dump. Presupunând că datele nu au fost încă corupte, un atacator poate determina vectorul încercând toate șirurile de 160 de biți din dump unul câte unul și verificând dacă pot forma un posibil text simplu atunci când sunt adăugate binar la prima parte decriptată a blocului. . Împreună, utilizarea programelor precum vilefault, chei AES și un vector de inițializare vă permit să decriptați complet un disc criptat.

În timp ce investigăm FileVault, am descoperit că Mac OS X 10.4 și 10.5 lasă mai multe copii ale parolei utilizatorului în memorie, unde sunt vulnerabili la acest atac. Parolele conturilor sunt adesea folosite pentru a proteja cheile, care la rândul lor pot fi folosite pentru a proteja frazele de acces ale unităților criptate cu FileVault.

TrueCrypt

TrueCrypt este un sistem de criptare popular cu sursă deschisă, care rulează pe Windows, MacOS și Linux. Acceptă mulți algoritmi, inclusiv AES, Serpent și Twofish. În versiunea 4, toți algoritmii funcționau în modul LRW; în cea de-a 5-a versiune actuală, folosesc modul XTS. TrueCrypt stochează cheia de criptare și modifică cheia în antetul partiției de pe fiecare unitate, care este criptată cu o cheie diferită derivată din parola introdusă de utilizator.

Am testat TrueCrypt 4.3a și 5.0a care rulează pe Linux. Am conectat unitatea, criptată cu o cheie AES de 256 de biți, apoi am scos alimentarea și am folosit propriul software de descărcare a memoriei pentru a porni. În ambele cazuri, keyfind a găsit o cheie de criptare intactă de 256 de biți. De asemenea, în cazul TrueCrypt 5.0.a, keyfind a reușit să recupereze cheia de ajustare a modului XTS.

Pentru a decripta discurile create de TrueCrypt 4, trebuie să modificați cheia modului LRW. Am descoperit că sistemul îl stochează în patru cuvinte înainte de programarea cheilor AES. În depozitul nostru, cheia LRW nu a fost coruptă. (Dacă au apărut erori, vom putea recupera cheia).

Dm-cripta

Nucleul Linux, începând cu versiunea 2.6, include suport încorporat pentru dm-crypt, un subsistem de criptare a discului. Dm-crypt folosește o varietate de algoritmi și moduri, dar în mod implicit folosește un cifr AES de 128 de biți în modul CBC cu IV-uri generate nu pe baza informațiilor cheie.

Am testat partiția creată de dm-crypt folosind ramura LUKS (Linux Unified Key Setup) a utilitarului cryptsetup și nucleul 2.6.20. Discul a fost criptat folosind AES în modul CBC. Am oprit pentru scurt timp alimentarea și, folosind un bootloader PXE modificat, am făcut o descărcare de memorie. Programul keyfind a detectat o cheie AES corectă de 128 de biți, care a fost recuperată fără erori. După ce este restaurat, atacatorul poate decripta și monta partiția criptată dm-crypt prin modificarea utilitarului cryptsetup, astfel încât să accepte cheile în formatul necesar.

Metode de protecție și limitările acestora

Implementarea protecției împotriva atacurilor asupra memoriei RAM nu este banală, deoarece cheile criptografice utilizate trebuie să fie stocate undeva. Vă sugerăm să vă concentrați eforturile pe distrugerea sau ascunderea cheilor înainte ca un atacator să poată obține acces fizic la PC, împiedicând rularea software-ului de descărcare RAM, protejând fizic cipurile RAM și reducând durata de viață a datelor RAM atunci când este posibil.

Suprascrierea memoriei

În primul rând, ar trebui, ori de câte ori este posibil, să evitați stocarea cheilor în RAM. Trebuie să suprascrieți informațiile cheie atunci când nu mai sunt utilizate și să împiedicați copiarea datelor în fișierele de pagină. Memoria trebuie ștearsă în prealabil folosind instrumente OS sau biblioteci suplimentare. Desigur, aceste măsuri nu vor proteja cheile utilizate în prezent, deoarece acestea trebuie să fie stocate în memorie, cum ar fi cheile utilizate pentru discuri criptate sau pe servere web securizate.

De asemenea, RAM trebuie să fie șters în timpul procesului de pornire. Unele PC-uri pot fi configurate pentru a șterge memoria RAM la pornire folosind un instrument de curățare. Solicitare POST(Autotestare la pornire) înainte de a încărca sistemul de operare. Dacă un atacator nu poate împiedica executarea acestei solicitări, atunci nu va putea face un dump de memorie cu informații importante pe acest PC. Dar, el încă mai are posibilitatea de a elimina cipurile RAM și de a le introduce într-un alt PC cu setările BIOS de care are nevoie.

Restricționarea descărcării din rețea sau de pe medii amovibile

Multe dintre atacurile noastre au fost efectuate folosind descărcări prin rețea sau de pe medii amovibile. PC-ul trebuie configurat să solicite o parolă de administrator pentru a porni din aceste surse. Dar trebuie remarcat faptul că, chiar dacă sistemul este configurat să pornească numai de pe hard disk-ul principal, un atacator poate schimba unitatea de disc în sine sau, în multe cazuri, poate reseta NVRAM-ul computerului pentru a reveni la setările inițiale BIOS.

Modul de repaus sigur

Rezultatele studiului au arătat că simpla blocare a desktop-ului PC-ului (adică sistemul de operare continuă să funcționeze, dar pentru a începe să interacționați cu acesta trebuie să introduceți o parolă) nu protejează conținutul RAM. De asemenea, modul de hibernare nu este eficient dacă computerul este blocat la întoarcerea din modul de repaus, deoarece un atacator poate activa revenirea din modul de repaus, apoi poate reporni laptopul și poate face o descărcare de memorie. Nici modul de hibernare (conținutul RAM este copiat pe hard disk) nu va ajuta, cu excepția cazurilor de utilizare a informațiilor cheie pe medii înstrăinate pentru a restabili funcționarea normală.

În majoritatea sistemelor de criptare a hard diskului, utilizatorii se pot proteja prin oprirea computerului. (Sistemul Bitlocker în modul de funcționare de bază al modulului TPM rămâne vulnerabil, deoarece discul va fi conectat automat când computerul este pornit). Conținutul memoriei poate persista pentru o perioadă scurtă de timp după ce a fost deconectat, așa că se recomandă să vă monitorizați stația de lucru pentru încă câteva minute. În ciuda eficienței sale, această măsură este extrem de incomodă din cauza timpului lung de încărcare a stațiilor de lucru.

Trecerea la modul de repaus poate fi asigurată în următoarele moduri: solicitați o parolă sau alt secret pentru a „trezi” stația de lucru și criptați conținutul memoriei cu o cheie derivată din această parolă. Parola trebuie să fie puternică, deoarece un atacator poate face o descărcare de memorie și apoi poate încerca să ghicească parola prin forță brută. Dacă criptarea întregii memorie nu este posibilă, trebuie să criptați numai acele zone care conțin informații cheie. Unele sisteme pot fi configurate să intre în acest tip de mod de repaus protejat, deși aceasta nu este de obicei setarea implicită.

Evitarea calculelor prealabile

Cercetările noastre au arătat că utilizarea precalculării pentru a accelera operațiunile criptografice face informațiile cheie mai vulnerabile. Precalculele au ca rezultat informații redundante despre datele cheie care apar în memorie, ceea ce permite unui atacator să recupereze cheile chiar dacă există erori. De exemplu, așa cum este descris în Secțiunea 5, informațiile despre cheile iterative ale algoritmilor AES și DES sunt extrem de redundante și utile unui atacator.

Neefectuarea calculelor prealabile va reduce performanța deoarece calculele potențial complexe vor trebui repetate. Dar, de exemplu, puteți stoca în cache valorile precalculate pentru o anumită perioadă de timp și puteți șterge datele primite dacă nu sunt utilizate în acest interval. Această abordare reprezintă un compromis între securitate și performanța sistemului.

Extindere cheie

O altă modalitate de a preveni recuperarea cheii este de a modifica informațiile cheie stocate în memorie, astfel încât să fie mai dificilă recuperarea cheii din cauza diverse erori. Această metodă a fost discutată în teorie, unde s-a arătat o funcție rezistentă la descoperire a cărei intrare rămâne ascunsă chiar dacă aproape toată ieșirea a fost descoperită, la fel ca funcționarea funcțiilor unidirecționale.

În practică, imaginați-vă că avem o cheie AES K pe 256 de biți care nu este utilizată în prezent, dar va fi necesară mai târziu. Nu îl putem suprascrie, dar vrem să-l facem rezistent la încercările de recuperare. O modalitate de a realiza acest lucru este de a aloca o zonă mare de date B-bit, de a o completa cu date aleatoare R și apoi de a stoca în memorie rezultatul următoarei transformări K+H(R) (sumare binară, nota editorului), unde H este o funcție hash, cum ar fi SHA-256.

Acum imaginați-vă că alimentarea a fost oprită, acest lucru ar face ca biții d din această zonă să fie modificați. Dacă funcția hash este puternică, atunci când încearcă să recupereze cheia K, atacatorul poate conta doar că poate ghici ce părți din zona B au fost modificate din aproximativ jumătate care s-ar fi putut schimba. Dacă d biți au fost modificați, atacatorul va trebui să caute o zonă de dimensiune (B/2+d)/d pentru a găsi valorile corecte ale lui R și apoi să recupereze cheia K. Dacă zona B este mare, astfel o căutare poate fi foarte lungă, chiar dacă d este relativ mic

În teorie, am putea stoca toate cheile în acest fel, calculând fiecare cheie doar atunci când avem nevoie de ea și ștergând-o când nu avem nevoie de ea. Astfel, folosind metoda de mai sus, putem stoca cheile în memorie.

Protecție fizică

Unele dintre atacurile noastre s-au bazat pe accesul fizic la cipurile de memorie. Astfel de atacuri pot fi prevenite prin protecția memoriei fizice. De exemplu, modulele de memorie sunt amplasate într-o carcasă închisă pentru PC sau sunt sigilate cu adeziv epoxidic pentru a preveni încercările de a le îndepărta sau de a le accesa. De asemenea, puteți implementa ștergerea memoriei ca răspuns la temperaturi scăzute sau încercări de deschidere a carcasei. Această metodă va necesita instalarea de senzori cu un sistem de alimentare independent. Multe dintre aceste metode implică hardware rezistent la manipulare (cum ar fi coprocesorul IBM 4758) și pot crește foarte mult costul stației de lucru. Pe de altă parte, utilizarea memoriei lipite la placa de baza, va costa mult mai putin.

Schimbarea arhitecturii

Puteți schimba arhitectura PC-ului. Acest lucru este imposibil pentru computerele deja utilizate, dar vă va permite să vă asigurați altele noi.

Prima abordare este de a proiecta module DRAM astfel încât acestea să ștergă toate datele mai repede. Acest lucru poate fi dificil, deoarece obiectivul de a șterge datele cât mai repede posibil intră în conflict cu celălalt obiectiv de a împiedica datele să dispară între perioadele de reîmprospătare a memoriei.

O altă abordare este adăugarea hardware-ului de stocare a informațiilor cheie care este garantat să ștergă toate informațiile din stocarea sa la pornire, repornire și oprire. În acest fel, vom avea un loc securizat pentru a stoca mai multe chei, deși vulnerabilitatea asociată cu precalcularea acestora va rămâne.

Alți experți au propus o arhitectură în care conținutul memoriei să fie criptat permanent. Dacă, în plus, implementăm ștergerea cheilor la repornire și întreruperea alimentării, atunci această metodă va oferi suficientă protecție împotriva atacurilor pe care le-am descris.

Calculatoare de încredere

Hardware-ul corespunzător conceptului de „calcul de încredere”, de exemplu, sub formă de module TPM, este deja folosit în unele PC-uri. Deși util în protejarea împotriva unor atacuri, în forma sa actuală astfel de echipamente nu ajută la prevenirea atacurilor pe care le descriem.

Folosit module TPM nu implementați criptare completă. În schimb, ei observă procesul de pornire pentru a decide dacă este sigur să încărcați cheia în RAM sau nu. Dacă software-ul trebuie să utilizeze o cheie, atunci se poate implementa următoarea tehnologie: cheia, într-o formă utilizabilă, nu va fi stocată în RAM până când procesul de pornire decurge conform așteptărilor. Dar de îndată ce cheia este în RAM, aceasta devine imediat o țintă pentru atacurile noastre. TPM-urile pot împiedica încărcarea unei chei în memorie, dar nu împiedică citirea acesteia din memorie.

Concluzii

Contrar credinței populare, modulele DRAM stochează date pentru o perioadă relativ lungă de timp atunci când sunt dezactivate. Experimentele noastre au arătat că acest fenomen permite o întreagă clasă de atacuri care pot obține date sensibile, cum ar fi chei de criptare, din RAM, în ciuda încercărilor sistemului de operare de a-și proteja conținutul. Atacurile pe care le descriem sunt implementabile în practică, iar exemplele noastre de atacuri asupra sisteme populare criptarea o dovedește.

Dar și alte tipuri de software sunt vulnerabile. Sistemele de management al drepturilor digitale (DRM) folosesc adesea chei simetrice stocate în memorie, iar acestea pot fi, de asemenea, obținute folosind metodele descrise. După cum am arătat, serverele web compatibile cu SSL sunt, de asemenea, vulnerabile, deoarece se stochează în memorie chei private necesare pentru a crea sesiuni SSL. Metodele noastre de găsire a informațiilor cheie sunt susceptibile de a fi eficiente pentru a găsi parole, numere de cont și orice altele informatii importante, stocat în RAM.

Se pare că nu mod simplu eliminați vulnerabilitățile găsite. Schimbarea software-ului nu va fi, cel mai probabil, eficientă; modificările hardware vor ajuta, dar costurile de timp și resurse vor fi mari; Tehnologia de calcul de încredere în forma sa actuală este, de asemenea, ineficientă, deoarece nu poate proteja cheile aflate în memorie.

În opinia noastră, laptopurile care sunt adesea amplasate în locuri publice și funcționează în moduri care sunt vulnerabile la aceste atacuri sunt cele mai susceptibile la acest risc. Prezența unor astfel de riscuri arată că criptarea discului protejează datele importante într-o măsură mai mică decât se crede în mod obișnuit.

Ca urmare, este posibil să trebuiască să tratați memoria DRAM ca pe o componentă nesigură a unui computer modern și să evitați procesarea importante informații confidențialeîn ea. Dar, deocamdată, acest lucru nu este practic până când arhitectura PC-urilor moderne nu se schimbă pentru a permite software-ului să stocheze cheile într-o locație sigură.



Introducere

Când uiți cheile în mașină și ușa se încuie automat, nu pare amuzant. Ultima dată când s-a întâmplat asta unuia dintre angajații noștri, a trebuit să petreacă cea mai mare parte a zilei așteptând un lăcătuș. Din fericire, vă putem liniști: această persoană a făcut această greșeală o singură dată și de atunci nu și-a pierdut niciodată cheile din vedere.

Lucrul amuzant este că, cu toată conștiința și prudența voastră, este pur și simplu imposibil să vă urmăriți chei electronice(parole) când folosim un computer. Doar că sunt din ce în ce mai multe, pentru că se știe că nu ar trebui să folosești o singură parolă pentru toate cazurile. Cheile obișnuite ale casei sau ale biroului sunt mult mai ușor de urmărit. Chiar și atunci când sunt pierdute, ele sunt încă găsite undeva mai târziu. Trebuie doar să-ți retragi calea în ordine inversă. Sau, în ultimă instanță, chemați un specialist (de exemplu, un lăcătuș) care vă va ajuta să depășiți obstacolul sub forma unei încuietori pe ușă.

Același lucru se întâmplă și când vine vorba de parole, cel puțin până anumit moment. Nu contează, e-mail sau un cont bancar - de obicei recuperarea unei parole pe Internet este un proces simplu. De regulă, site-urile web au un link „Ați uitat parola?” („V-ați uitat parola?”), care vă permite să recâștigați accesul la contul dvs. Cu toate acestea, când vine vorba de fișiere criptate, perspectivele sunt de obicei mai puțin roz. Am întâlnit recent această problemă în timp ce încercam să accesăm o veche arhivă WinZip criptată.

Înainte de a ne aprofunda în recuperarea parolei, dorim să subliniem că există multe modalități de a vă proteja datele. Dacă aveți nevoie de o soluție cuprinzătoare, vă putem oferi un program precum TrueCrypt (vezi articolul „Protejați-vă datele! Analiza performanței TrueCrypt 7.0a”), care este și mai atractiv acum pentru că acceptă AES-NI. Și totuși, criptarea arhivelor rămâne cea mai comună metodă de protejare a datelor. Fie că ești un director de resurse umane care trimite fișe de salariu în fiecare săptămână sau o actriță de la Hollywood care încearcă să-ți păstreze fotografiile personale de pe iPhone în siguranță, criptarea arhivei este o modalitate rapidă și ușoară de a te proteja.

Cu toate acestea, există un dezacord cu privire la cât de bine sunt protejate datele dvs. Dacă sunteți prea îngrijorat de securitatea informațiilor dvs., probabil că veți dori cel mai puternic program de criptare disponibil. Probabil ați presupune că, cu cât software-ul de criptare este mai puternic, cu atât este mai greu să spargeți un fișier criptat de acel software și că criptarea AES-256 este mai bună decât AES-128. Dar acest lucru nu este în întregime adevărat. Gândiți-vă la criptare ca la un fel de mare seif. Cu cât pereții sunt mai groși, cu atât este mai dificil de pătruns. Cu toate acestea, securitatea unui seif este la fel de bună ca și încuietoarea care îl protejează. O parolă funcționează exact în același mod. Aceasta este cheia seifului. Cu cât parola este mai lungă, cu atât este mai complexă blocarea și cu atât datele sunt mai sigure.

Majoritatea utilizatorilor cred că parolele de opt caractere sunt suficient de puternice pentru a-i învinge pe hackeri. Dar acest lucru nu este în întregime adevărat și vă vom spune de ce.

Testați configurația

Test hardware
CPU Intel Core i5-2500K (Sandy Bridge), 3,3 GHz, LGA 1155, cache L3 partajată de 6 MB
Placa de baza Asus P8P67 Deluxe
Memorie Kingston Hyper-X 8GB (2 x 4GB) DDR3-1333 @ DDR3 1333, 1.5V
hard disk Samsung 470 256 GB
Placa video Palit GeForce GTX 460 1 GB
Asus GeForce GTX 570 1.28 GB
AMD Radeon HD 5870 1 GB
unitate de putere Seasonic 760 Watt, 80 PLUS
Software de sistem și drivere
sistem de operare Sistem de operare Windows 7 Ultimate pe 64 de biți
DirectX DirectX 11
Șoferii Nvidia 270.51
Catalizator 11.4
Software
Versiune: 6.2
Versiune: 4.53
Recuperarea parolei Accent Zip Versiune: 2.01
Accent RAR Password Recovery Versiune: 2.01
Recuperare paralelă a parolei Versiune: 1.6.0
WinZip Versiune: 15.5 Pro
Criptare: Zip 2.0 (implicit), AES-128, AES-256
Compresie: necomprimat, Zipx/PPMd (implicit), Zip/deflate
WinRAR Versiune: x64 4.00
Criptare: AES-128
Compresie: standard, stocare

Este important de reținut că WinZip oferă trei opțiuni de criptare diferite: Zip 2.0, AES-128 și AES-256, precum și mai multe scheme de compresie. WinRAR este mult mai simplu în acest sens: oferă doar criptare AES-128 și diferite niveluri ale aceleiași scheme de compresie. Am testat opțiuni diferite pentru a vă arăta cum afectează acestea viteza de spargere a parolelor.

Criptare arhivă: WinZip și WinRAR

Datele dintr-un fișier criptat, cum ar fi o arhivă WinZip sau WinRAR, sunt de obicei mai puțin sigure decât informațiile de pe o unitate complet criptată. De aceea vorbim despre diferite concepte.

Comprimarea datelor implică includerea unui fișier sau a unei serii de fișiere într-un container și eliminarea biților de informații inutile pentru a economisi spațiu de memorie. Puteți vedea diferența reală prin simpla comparare a fișierelor din oricare editor hex. Rețineți că compresia va duce la mai puține rânduri.

Desigur, ideea unui container de fișiere este cea care vă permite și să deschideți un fișier WinZip criptat. Containerul nu este criptat, dar conținutul este. Aceasta înseamnă că nu aveți nevoie de o parolă pentru a vedea conținutul arhivei. Numele fișierelor nu sunt protejate.

Programul WinRAR folosește același concept. Dar aici aveți opțiunea de a cripta numele fișierelor. Acest lucru se poate face prin asigurarea accesului la întregul container. Mai mult, nici măcar nu poți deschide fișierul dacă nu ai parola.

Numele fișierelor fac parte din ceea ce se numește metadate. Este ca datele despre date și este singura caracteristică care distinge WinRAR de WinZip. Acesta din urmă vă permite să vedeți conținutul arhivei criptate, deoarece prima poate stoca metadate.

Acest lucru singur nu face neapărat WinRAR un program mai sigur. Dar spargerile persistente de parole încearcă să exploateze metadatele, deoarece sunt de obicei necriptate. Odată ce găsiți punctele slabe, puteți lua măsuri pentru a exploata punctele slabe ale modului în care este aplicată criptarea.

Nu trebuie să vă faceți prea multe griji dacă parola dvs. este complexă și utilizați o schemă de criptare bună (AES-128 sau AES-256). În același timp, dacă nu doriți ca alții să știe că ați criptat folosind WinZip, este mai bine să utilizați nume de fișiere non-descriptive în loc de ceva de genul „2011 1040 State of Income”. Desigur, o apărare puternică va întrerupe ambele metode. Dacă faceți ca numele fișierelor să nu fie vizibile, nu veți ști ce este în fișierul criptat până când nu este complet decriptat. De obicei, a face accesul mai puțin convenabil va însemna că va deveni mai puțin convenabil și pentru dvs.

Deci, ce se întâmplă atunci când țineți cont de avertismentul nostru și strângeți șuruburile de pe toate încuietorile digitale și apoi uitați cum să le deschideți din nou?

Studierea lungimii parolelor

Recuperarea parolei poate fi un proces destul de complex. Criptarea poate fi comparată cu un puzzle Sudoku. Cu cât puzzle-ul este mai mare și mai complicat, cu atât este mai dificil să ocoliți schema de criptare. Există însă două moduri de a încerca acest lucru.

De obicei, în timpul primului, hackerii încearcă să găsească un fel de tipar general. Această metodă poate fi împărțită în mai multe clase diferite de atacuri, dintre care este posibil să fi auzit despre unele în știri, cum ar fi atacurile pe canale laterale. Aceste metode sunt complexe și nu de genul pe care îl folosesc utilizatorii obișnuiți de computere. Doar un grup mic de oameni știu să le folosească și să le folosească.

O abordare mult mai primitivă pentru ocolirea criptării este pur și simplu „ghiciți și testați”. Această metodă este cunoscută ca metoda de selecție. Imaginați-vă să enumerați fiecare combinație de numere care poate fi folosită pentru a rezolva puzzle-ul Sudoku de mai sus, începând cu folosirea celor în toate direcțiile și terminând cu toate nouă. Există modalități de a ascunde „verificarea” pentru a face atacul mai sofisticat. Dar așa programe simple, precum WinZip și WinRAR, nu au acest avantaj. Dacă sunteți persistent, puteți continua să ghiciți parole până când cancerul fluieră. Nu există limită pentru numărul de opțiuni pe care le puteți trimite spre examinare. Deci, adevărata provocare când vine vorba de recuperarea parolei este viteza cu care o poți ghici pe cea corectă.

Verificarea manuală a parolelor este în cel mai bun caz o misiune prostească, mai ales dacă aveți de-a face cu o parolă lungă. Aici intervin programele de recuperare a parolei. Ei automatizează procesul de „ghicire” a parolelor.

Caractere disponibile folosind alfabetul englez Parole posibile de două caractere Parole posibile de patru caractere Parole posibile de șase caractere
Litere mici 676 456 976 308 915 776
Litere mici și mari 2 704 7 311 616 19 770 609 664
Litere mici, mari și cifre 3 844 14 776 336 56 800 235 584
Toate caracterele ASCII 8 836 78 074 896 689 869 781 056

Atacurile cu forță brută sunt concepute în funcție de probabilitate. Cu cât parola este mai lungă, cu atât vor fi mai multe parole de verificat. Se bazează pe ideea de permutare, adică aranjarea obiectelor într-o anumită ordine. Gândiți-vă la parole ca la anagrame. Dacă vă dăm literele a, b și c, câte comenzi diferite puteți face? Cu doar trei litere puteți efectua șase permutări ale setului (a,b,c), și anume: , , , , și .

Calcularea numărului de parole posibile este ușor. Repetările sunt permise, deci formula va fi: n(lungimea parolei), unde n este numărul de caractere posibile. După cum puteți vedea, la șase caractere avem deja de-a face cu miliarde de opțiuni dacă parola include litere mici și mari. Dacă ați folosit și caractere și numere speciale (toate caracterele ASCII (American Standard Code for Information Interchange). cod standard pentru schimbul de informații)), atunci veți descoperi că numărul parolelor „candidate” va crește brusc la? trilion (puterea de la 10 la a 12-a). Și nu uitați că, dacă nu cunoașteți lungimea parolei, va trebui să încercați toate combinațiile posibile, începând cu o parolă cu un singur caracter, până ajungeți la parola pe care o alegeți.

Vezi la ce ajungem?

Schimbarea parolelor: calcul bazat pe CPU

Există nenumărate programe din care să alegeți pentru a vă ajuta să recuperați parolele, dar cele mai populare două sunt numite Advanced Archive Password Recovery și Visual Zip Password Recovery Processor. Când am pierdut parola unuia dintre fișierele WinZip, am putut vedea în acțiune primul program care a recuperat o parolă de șapte caractere în 20 de minute. Dar ne-a dat de gândit și ne-a stârnit curiozitatea. Cu ce ​​viteză a căutat computerul nostru parole? Ce s-ar întâmpla dacă am folosi mai mult metoda puternica criptare cum ar fi AES-128?

O întrebare și mai importantă este: durează într-adevăr doar 20 de minute pentru a deschide toate arhivele noastre protejate prin parolă și apoi pe cineva care nu ar trebui să aibă acces la ele?



Viteza de ghicire directă a parolelor, parole pe secundă Recuperare avansată a parolei de arhivă Procesor de recuperare a parolei Visual Zip
Compresie: nu
Criptare: Zip 2.0
28 357 311 20 943 157
Compresie: nu
Criptare: AES-128
9 715 eșec
Compresie: nu
Criptare: AES-256
9 713 eșec
Compresie: fermoar
Criptare: Zip 2.0
28 492 733 20 888 938
Compresie: fermoar
Criptare: AES-128
9 733 eșec
Compresie: fermoar
Criptare: AES-256
9 760 eșec
Compresie: stocare RAR
Criptare: AES-128
213 -
Compresie: stocare RAR
202 -
Compresie: standard RAR
Criptare: AES-128
213 -
Compresie: standard RAR
Criptare: AES-128, nume de fișiere
202 -

După cum puteți vedea, compresia are doar un efect mic asupra vitezei cu care puteți încerca să ghiciți parolele, dar cel mai mare dezavantaj este vechea schema Criptare Zip 2.0. Ca rezultat, o parolă de cinci caractere poate fi găsită în doar câteva secunde, deoarece puteți procesa datele cu o rată de aproximativ 28 de milioane de parole pe secundă folosind Procesor de bază i5-2500K. De asemenea, Visual Zip a detectat parola corectă folosind metoda de criptare Zip 2.0, dar din cauza problemelor software, acest utilitar nu a putut recupera parola unui fișier criptat cu AES-128.

Desigur, aceasta nu este toată povestea. Nu ne interesează performanța procesorului doar ca să ne putem lăuda cu ceea ce poate face un procesor nou (deși asta ar putea, de fapt, să ne conducă la un punct de referință interesant). Și așa ne facem griji cu privire la performanța procesorului, deoarece afectează viteza cu care putem găsi parola.

Timpul total de selecție dacă merge cu o viteză de 28 de milioane de parole/sec. Parole de la 1 la 4 caractere Parole de la 1 la 6 caractere Parole de la 1 la 8 caractere Parole de la 1 la 12 caractere
Litere mici Imediat 11 secunde 2 ore 112 ani
Litere mici și mari Imediat 12 minute 22 de zile 451.345 ani
Toate caracterele ASCII 3 secunde ora 7 8 ani 701.193.345 ani

Chiar dacă presupuneți că puteți încerca să procesați 28 de milioane de parole pe secundă, șansele dvs. de a ghici parola potrivită vor deveni din ce în ce mai neclare pe măsură ce ajungeți la parole și seturi de caractere mai lungi. Să petreci o lună întreagă încercând să spargi o parolă de opt caractere, dintre care toate opt sunt litere, nu este o perspectivă atât de teribilă dacă informațiile protejate sunt cu adevărat importante. Dar 700 de milioane de ani este, vedeți, un număr prea mare pentru a vă face să așteptați.

Din fericire, Advanced Archive Password Recovery vă permite să întrerupeți procesul și să salvați poziția în care căutarea a fost întreruptă. Și dacă aveți la dispoziție mai multe computere de acasă, atunci puteți reduce semnificativ timpul de căutare distribuind cantitatea de muncă între ele. Nu ți-e frică încă?

Schimbarea parolei: Tehnologie GPGPU


Schimbarea parolei: CPU i5-2500K.

Scopul unui atac cu forță brută este de a încerca rapid să ghicească cât mai multe parole posibil. Dar procesoarele moderne nu sunt bine optimizate pentru asta. Deși stația noastră de lucru Sandy Bridge poate procesa aproximativ 28 de milioane de parole pe secundă, totuși nu utilizează toate ciclurile CPU disponibile. Amintiți-vă, noi doar ghicim și verificăm. Captura de ecran de mai sus a datelor de utilizare a procesorului ilustrează acest lucru: întrucât frecvența ceasului, desigur, ajută în acest proces, programul este capabil să profite de paralelism, deci având mai multe nuclee va ajuta la accelerarea procesului de căutare a parolei.

După cum știm, când vine vorba de sarcini de rulare paralele, care uneori este gestionată foarte bine unități centrale de procesare, atunci dispozitivele aritmetico-logice de pe placa video ar putea funcționa mai bine în majoritatea cazurilor. AMD și Nvidia au echipe întregi dedicate transcodării video, ceea ce au fost încrezători că o vor face până când Intel a demonstrat că câteva circuite logice specializate din arhitectura Sandy Bridge ar putea depăși cu mult un GPU greu. Dar acum se dovedește că avem o altă aplicație care este perfectă pentru a lucra pe GPU-uri moderne.

A existat o vreme când spargerea parolelor folosind tehnologia GPGPU (General-purpose graphics processing units - general-purpose computing on GPU) nu a depășit lumea științifică: studenții absolvenți au făcut eforturi mari pentru a lucra cu programe speciale, care nu a găsit niciodată aplicație comercială. Dar acum totul s-a schimbat. În prezent, există două utilitare GPGPU care pot fi achiziționate de oricine cu Card de credit: Recuperare paralelă a parolei și Recuperare parolă Accent.

Parallel Password Recovery este un program optimizat exclusiv pentru arhitecturi cu calcul paralel Nvidia CUDA. Nu spunem că nucleele CUDA sunt mai bune decât design-urile Stream de la AMD. Cu toate acestea, Nvidia ar trebui să primească credit. „Invazia” sa în domeniul calculului general cu ajutorul unui procesor grafic a început cu mult timp în urmă, iar compania a oferit dezvoltatorilor acces la numeroase biblioteci de nivel scăzut necesare studierii acestei tehnologii. AMD a luat măsuri mult mai târziu. De fapt, încă întâmpinăm unele probleme atunci când aplicăm accelerarea Stream inclusă în aplicațiile populare de transcodare. Acest lucru explică parțial de ce o altă soluție, Accent Password Recovery, încă înclină spre utilizarea dezvoltărilor Nvidia. Deși acest utilitar recunoaște CUDA și Stream, doar hardware-ul Nvidia este optimizat pentru a putea pătrunde într-un fișier criptat Zip 2.0.

Hacking cu placa video GeForce GTX 460
Recuperare paralelă a parolei Recuperarea parolei Accent
Compresie: fermoar
Criptare: Zip 2.0
24 111 280 516 096 000
Compresie: fermoar
Criptare: AES-128
185 072 166 800
Compresie: fermoar
Criptare: AES-256
185 177 156 138
Compresie: standard RAR
Criptare: AES-128
3 493 4 231

Și apropo, ce viteză de criptare Zip 2.0! Cu placa video GeForce GTX 460, putem deja ghici parole cu o viteză de aproximativ 500 de milioane de combinații pe secundă. Pentru a vă face o idee mai bună despre ce înseamnă acest lucru, putem ghici oricare dintre posibilele combinații de caractere ASCII pentru o parolă de la unu la 7 caractere în mai puțin de 48 de ore. Cât despre o parolă de opt caractere, aici vorbim de 168 de zile.

Placa video GeForce GTX 460
Ghicirea directă a parolei, toate caracterele ASCII, timpul total de ghicire
Dacă căutarea merge cu o viteză de 180.000 de parole pe secundă... 50 de zile, 20 de ore 1.284 de ani, 79 de zile
Dacă căutarea merge cu o viteză de 24 de milioane de parole pe secundă... 9 ore, 9 minute 9 ani, 230 de zile
Dacă căutarea merge cu o viteză de 500 de milioane de parole pe secundă... 26 de minute, 21 de secunde 168 de zile, 17 ore

Fără îndoială, Zip 2.0 este un algoritm de criptare foarte depășit. WinZip îl acceptă doar din motive de compatibilitate. Standardul AES este noul „favorit” pentru care se străduiește toată lumea. Această schemă este mult mai dificil de utilizat în sarcini paralele, deși dezvoltatorii de software, desigur, fac astfel de încercări.

Performanța suferă mai ales când încercăm să recuperăm o parolă criptată folosind codul AES. Cursorul mouse-ului în nostru sistem de testare Am început să mă împiedic literalmente. Atacurile cu forță brută asupra fișierelor criptate AES sunt destul de lente. Ar dura mai mult de 13 ani pentru a încerca orice combinație posibilă de caractere ASCII pentru o parolă cu lungimea cuprinsă între 1 și 7 caractere.

2 x GeForce GTX 570 SLI
Ghicirea directă a parolelor, parole pe secundă Recuperare paralelă a parolei Recuperarea parolei Accent
Compresie: fermoar
Criptare: Zip 2.0
45 412 290 1 492 279 088
Compresie: fermoar
Criptare: AES-128
495 133 513 936
Compresie: fermoar
Criptare: AES-256
496 244 513 880
Compresie: standard RAR
Criptare: AES-128
13 904 14 605

Calculul general cu GPU este asociat cu fenomenul de paralelism și, prin urmare, dacă unul dintre voi are 480 de nuclee CUDA pe o placă video care funcționează bine, atunci dacă combinați nucleele de pe două plăci, obținem o valoare de 960, care ar trebui să fie mult mai bine, nu?

Când împerechem două plăci grafice GeForce GTX 570 și activăm SLI, criptarea Zip 2.0 nu mai pare sigură. Datorită codului optimizat, putem verifica 1,5 miliarde de parole pe secundă. Ba chiar pare puțin absurd. Acum am redus timpul de căutare a parolelor de la unul la opt caractere, folosind toate caracterele ASCII, la aproape două luni.

Între timp, protecția AES arată încă foarte atractivă. Dacă parola este formată din mai mult de șapte caractere, atunci va trebui să petreci aproape cinci ani introducând combinații cu o rată de 500.000 de parole pe secundă.

Nvidia vs AMD: eficiența atacurilor de forță brută

Acest mic exemplu are legătură cu scalarea. Vrei o mulțime de nuclee și vrei să ruleze rapid? Chiar dacă acest lucru ne va afecta rezultatele într-o oarecare măsură, să lăsăm problemele arhitecturale deoparte pentru un moment. În timp ce două plăci grafice GeForce GTX 570 au doar de 2,8 ori numărul de nuclee CUDA într-un singur GTX 460, am obținut performanță de trei ori mai mare, deoarece toate nucleele de pe plăcile de performanță sunt, de asemenea, cu 8% mai rapide.

În ceea ce privește GeForce GTX 590, am obținut rezultate similare la configurația SLI. Placa grafică 590 are mai multe nuclee, dar sunt puțin mai lente. Dacă sunteți în căutarea unei plăci grafice de top, succesul Nvidia este mult mai vizibil, deoarece modelul său cu 1.024 de nuclee CUDA se află în fruntea listei. În același timp, dacă sunteți dispus să suportați căldură mare și o creștere mare a costurilor, două GeForce GTX 590 cu o configurație SLI ar trebui să depășească de două ori două GTX 570.

Pentru comparație, există 3072 de procesoare Stream care rulează la 830 MHz pe cea mai bună placă grafică AMD, Radeon HD 6990. Nu uitați că nucleul AMD nu este asemănător cu nucleul Nvidia, așa că nu le putem compara și potrivi ca 1:1.

Am avut timp să ne jucăm cu câteva Radeon HD 5850 în CrossFire, dar rezultatele au fost totuși impresionante. Cu 2.880 de procesoare Stream, am putut ghici aproximativ 1,1 milioane de parole pe secundă în timp ce încercam să spargem un fișier WinZip criptat AES-128. Două plăci video Radeon HD 6990 sunt probabil cea mai buna alegere dacă doriți să utilizați computerul la întregul său potențial în timp ce vă recuperați parola AES. Dar chiar și cu cel mai optimist scenariu, vei putea lucra cu viteze de puțin peste 3 milioane de parole pe secundă. Acest lucru încă nu este suficient pentru a sparge o parolă de opt caractere în mai puțin de un an.

Placa video Nuclee care suportă tehnologiile CUDA/Stream Performanța de bază la procesarea shader-urilor
GeForce GTX 460 1 GB 336 1 350 MHz
GeForce GTX 570 480 1 464 MHz
GeForce GTX 590 1 024 1 214 MHz
Radeon HD 5850 1 440 725 MHz
Radeon HD 5970 1 600 725 MHz
Radeon HD 6990 3 072 830 MHz

O pereche de GeForce GTX 570 în configurație SLI este un set potrivit care poate fi văzut în calculator de jocuri. Deși probabil că nu v-ați aștepta să dureze mult timp pentru a recupera parolele vechi mai lungi de șapte caractere, amintiți-vă că încă vorbim despre un scenariu cel mai rău. Parcă am fi căutat o parolă cuprinsă între 00 și 99, iar răspunsul corect s-a dovedit a fi 99. De obicei, nu se ajunge la asta și parola se află undeva în valorile de mijloc în timpul căutării.

Programele de recuperare a parolei, cum ar fi cele de mai sus, nu efectuează o căutare completă secvențială, deoarece aceasta nu este o strategie bună pentru recuperarea parolei. De fapt, recuperarea cu succes va avea loc cel mai probabil undeva la mijlocul căutării. Cu toate acestea, furnizând intervalul de timp pe care l-am întâlnit, nu am schimbat concluzia la care am ajuns. În opinia noastră, criptarea Zip 2.0 este complet nesigură. Deși va dura mult timp pentru a găsi o parolă de 9 sau 10 caractere, cu siguranță este ceva ce pot face câțiva colegi de joc.

2 x GeForce GTX 570 SLI
Ghicirea directă a parolei, timpul total de ghicire Lungimea parolei de la 1 la 6 caractere Lungimea parolei de la 1 la 8 caractere
500.000 de parole pe secundă 18 zile, 7 ore 462 de ani, 116 zile
45 de milioane de parole pe secundă 4 ore, 52 de minute 5 ani, 49 de zile
1,5 miliarde de parole pe secundă 8 minute 56 de zile, 5 ore

Probleme de securitate: WinZip și WinRAR

Parolele nu decriptează direct fișierele criptate. Trebuie să generați o cheie de decriptare din parola originală și exact despre asta am vorbit în paginile anterioare. Aici ne-am lovit de blocajul atacurilor cu forță brută. Generarea cheilor necesită 99% din timpul total de decriptare, deci folosirea unui hardware puternic pentru aceasta este singura cale reduce timpul de hacking.

În timp ce atât WinZip, cât și WinRAR folosesc transformări SHA-1 pentru a scoate cheile, mecanismele sunt ușor diferite pentru fiecare program. WinZip se bazează pe PBKDF2 (Password-Based Key Derivation Function 2.0) și folosește pinii de transformare SHA-1 din 2002 pentru a genera cheia. Cu toate acestea, această valoare este constantă pentru parolele de orice lungime (până la 64 de caractere), motiv pentru care o parolă de 10 caractere cu criptare AES-256 este la fel de ușor de spart ca și una cu AES-128.

Pentru comparație: program WinRAR folosește propria sa schemă de derivare a cheilor, care necesită (lungimea parolei * 2 + 11) * 4096 transformări SHA-1. Acesta este motivul pentru care este nevoie de mai mult timp pentru a sparge arhivele WinRAR criptate folosind metode de forță brută.

2 x GeForce GTX 570 SLI
Ghicirea directă a parolelor, parole pe secundă Recuperare paralelă a parolei Recuperarea parolei Accent
Compresie: fermoar
Criptare: AES-128
495 133 513 936
Compresie: fermoar
Criptare: AES-256
496 244 513 880
Compresie: standard RAR
Criptare: AES-128
13 904 14 605

În practică, este mai probabil să vă uitați propria parolă decât ca fișierul dvs. criptat să cadă în mâinile unei persoane cu prea mult timp liber și hardware suficient de puternic pentru a vă sparge fișierul. Chiar dacă un astfel de atacator avea cel mai bun hardware disponibil, timpul maxim pentru a găsi o parolă de nouă caractere pentru un fișier WinZip criptat AES-128 este deja de peste 1.000 de ani. Cu toate acestea, perspectivele dvs. de recuperare a parolei sunt destul de bune dacă aveți cel puțin o idee aproximativă despre care ar putea fi parola dvs.

De exemplu, dacă vă amintiți următoarele informații despre parola dvs. de 10 caractere ASCII:

  • Începe cu „e”;
  • Se termină cu „a”;
  • Nu conține majuscule;
  • Conține un caracter „!”;
  • Nu conține niciuna dintre următoarele litere: B, C, D, Q, T, U, V, W, X, Y, Z.

Deci, trebuie să căutați doar între 1 trilion de parole posibile în loc de 205 trilioane. Aceasta este o sarcină complet realizabilă cu un cuplu placi video GeForce GTX 570. Dacă ați folosit arhiva WinRAR, atunci aproape că nu aveți nicio speranță de a recupera parola, dacă nu este scurtă.

Concluzie

După o săptămână de încercare de refacere Parola veche la arhiva WinZip, am fost destul de surprinși. Cu toții trăim într-o lume în care informațiile sigure nu sunt deloc sigure, așa că este greu să nu ne ferim de tehnologiile GPGPU, deoarece GPU-urile noastre devin din ce în ce mai puternice.

În trecut, nu puteai să-ți dai seama de o parolă de 10 caractere ASCII într-o perioadă rezonabilă de timp. Acest lucru a fost posibil doar cu hardware personalizat. Exact asta a făcut Electronic Frontier Foundation când a investit în mașina sa specializată Deep Crack în 1998. Pentru un cost final de aproximativ 250.000 USD, o echipă de experți în securitate a asamblat o mașină care ar putea scana aproximativ 90 de miliarde de parole pe secundă, datorită celor peste 1.800 de cipuri AWT-4500 care lucrează în tandem.

Nu putem atinge același nivel de performanță pe stația noastră de lucru, dar două plăci grafice GeForce GTX 570 într-o configurație SLI funcționează la aproximativ 1,5 miliarde de parole pe secundă atunci când avem de-a face cu criptarea Zip 2.0. Aceasta este 1/60 din performanță pentru mai puțin de 1/100 din costul acelei mașini celebre. Evident, comparăm lucruri absolut incomparabile. În plus, criptarea Zip 2.0 este depășită. Un lucru este clar: arhitecturi grele GPU-uri Calculul paralel va continua să facă presiuni pentru creșterea „densității de performanță” la prețuri din ce în ce mai accesibile maselor, astfel încât, la un moment dat, vom putea căuta 90 de miliarde de parole pe secundă pe computerul nostru desktop.

Deci ce am învățat? În primul rând, să stăm departe de criptarea Zip 2.0. Aceasta este o schemă de criptare învechită, susținută de tradiție și chiar și WinZip însuși sugerează să utilizați AES pentru a preveni atacurile cu forță brută.

Încercările de hacking direcționate sunt o altă poveste. Majoritatea oamenilor folosesc parole care includ cuvinte și, prin urmare, astfel de parole sunt susceptibile la atacuri de dicționar, indiferent de schema de criptare pe care o utilizați. Numărul de cuvinte în engleză este mai mic de 1 milion. Cu toate acestea, GeForce GTX 460 poate procesa cel puțin 150.000 de parole pe secundă cu criptare AES. Chiar dacă adăugați câteva modificări, va dura doar o zi pentru a sparge cuvântul blocare și a ghici parola. De ce? Da, pentru că întregul cuvânt este funcțional același cu o literă, de exemplu „a”.

În mod ideal, ar trebui să evitați aceste situații dacă încercați să vă protejați mai bine fișierele:

  • Nu folosi cuvinte din dicționar. În dicționarul Oxford Limba engleză„ (Dicționarul englez Oxford) conține mai puțin de 300.000 de intrări dacă numărați cuvinte în uz curent, cuvinte învechite și derivate. Pentru GeForce GTX 460, găsirea unei astfel de parole verbale nu va fi dificilă;
  • Încercați să nu folosiți cuvinte urmate de numere. Adăugarea unui 1 la sfârșitul parolei nu o face mai sigură. Încă vă putem sparge parola parcurgând întregul dicționar englez și toate combinațiile de numere într-o jumătate de zi folosind o pereche de plăci video GeForce GTX 570;
  • Evitați cuvintele duble și înlocuirile simple de litere. Opțiunea „PasswordPassword” dublează doar numărul de cuvinte prin care va trebui să ne uităm. De asemenea, o parolă precum p@55w0rd nu este de încredere. Descoperitorii de parole cunosc toate combinațiile obișnuite. Deci nu alege această metodă;
  • Nu utilizați un rând secvenţial comun pe tastatură. Adăugarea „qwerty” la dicționarul parolelor verificabile nu este atât de dificilă. Este a doua metodă care nu trebuie urmată;
  • Nu folosiți o linie numerică obișnuită. Poate că 314159 este destul de ușor de reținut. La urma urmei, acesta este un număr PI, dar este și o valoare care este destul de ușor de verificat;
  • Evitați utilizarea oricărui tip de informații personale, cum ar fi numărul de înmatriculare, numărul de securitate socială, de ex număr de telefon, data nașterii și așa mai departe. Trăim într-o lume în care există o mulțime de informații accesul publicului. Dacă aveți un profil în rețelele sociale Facebook sau Twitter, cantitatea de informații disponibile terților crește și mai mult.

O schemă de criptare a fișierelor este la fel de bună ca parola care protejează fișierul. Acest punct slabîntr-o parolă simetrică, unde cheia de criptare este aceeași cu cheia de decriptare. Dacă încăpățânați să fiți prea îngrijorat de siguranța datelor dvs., atunci cel mai probabil, nivelul de securitate PGP (Pretty Good Privacy) sau criptarea certificată este potrivit pentru dvs. Pentru utilizarea zilnică, această opțiune este incomodă, cu excepția cazului în care dvs. și compania dvs. veți trece la arhivatorul PKZIP. Atunci lungimea parolei ar trebui să fie principala ta preocupare.

Dacă utilizați setul complet de caractere ASCII, atunci puterea parolei dvs. va fi de 94 (lungimea parolei), deoarece fiecare caracter suplimentar face parola de 94 de ori mai puternică. Adăugând câteva caractere speciale, veți face spargerea parolei dvs. „infezabilă din cauza cantității enorme de calcule implicate” pentru hackerii care încearcă să vă forțeze fișierul. Dacă 7.298.831.534.994.528 de combinații posibile (într-o parolă de la unu până la nouă caractere) nu sunt suficiente pentru a te liniști, folosește o parolă de 10 caractere și atunci hackerii vor avea 699.823.827.359.474 pentru a încerca să aleagă dintre 784 de combinații.

Pe baza testelor noastre, probabil că puteți căuta combinația necesară la o rată de puțin peste 3 milioane de parole pe secundă pentru un fișier criptat AES folosind perechea placi video Radeon HD 6990. Aceasta înseamnă că va dura 7.397 de ani pentru a căuta parole între unu și 10 caractere folosind accelerarea AMD Stream. Chiar dacă poți dubla această viteză, nu te va ajuta prea mult. Pentru a sparge un fișier în aproximativ un an, ar trebui să vă măriți eforturile semnificativ la 7.397 de mașini care lucrează non-stop.

În viitor, este probabil ca utilizatorul mediu să poată accesa această clasă de putere de calcul paralelă. Următorul pas va fi calculul distribuit. Parallel Password Recovery lucrează deja la o modalitate de a implementa procesarea accelerată de GPU pentru numeroși clienți.

În acest moment, aceasta nu este o problemă care să vă țină treaz noaptea. După cum spune vechiul proverb, „dacă există o dorință, va exista o oportunitate”. De când au existat încuietori, au existat și chei principale. Dacă doriți ca informațiile dvs. să rămână în siguranță, atunci trebuie să înțelegeți cât de ușor (sau dificil) este să vă potriviți lacătul cu o cheie principală. Asta fac utilitarele de recuperare a parolei. Lucrul surprinzător este că dezvoltatorii WinZip sunt de acord cu noi în această problemă. Tom Vaughan, vicepreședintele WinZip, a spus următoarele: „Îi văd pe creatorii instrumentelor de recuperare a parolelor niște băieți buni, nu răufăcători. Doar software-ul despre care nu știi nimic ar trebui să te sperie ( software dezvoltat de băieții răi care funcționează mai repede sau rupe securitatea mai bine decât v-ați aștepta)."

Acest lucru poate suna ca și cum vindem niște informații groaznice sau încercăm să semănăm nemulțumirea în rândul cititorilor, dar sperăm că veți înlătura din acest articol că nu puteți cumpăra un software cu adevărat impresionant. Echipele care lucrează la criptare personalizată evoluează întotdeauna mai repede decât ceea ce este disponibil la scară comercială. Și, prin urmare, dacă faceți tot posibilul pentru a asigura siguranța fișierelor dvs., parola dvs. trebuie să îndeplinească aceste criterii de bază:

  • Să aibă cel puțin 9 caractere;
  • Conține cel puțin o literă majusculă;
  • Conține cel puțin o literă mică;
  • Conține cel puțin unul caracter special, cum ar fi „@” sau „!”;
  • Conține cel puțin un număr.

Aceste reguli vor oferi fișierelor dumneavoastră o șansă de luptă împotriva spargerilor de parole. Hackerii au un număr nelimitat de încercări de a sparge o parolă. Și, prin urmare, piratarea unui fișier criptat este doar o chestiune de timp. Acesta este motivul pentru care experții în securitate înțeleg că scopul real este de a refuza accesul la datele relevante. Dacă îți ia 50 de ani să spargi parola arhivei WinZip care conține informații despre cum ne-am vândut acțiunile săptămâna trecută, atunci aceste informații nu va mai fi important. Creați parole personalizate mai lungi și vă puteți bucura atât de nivelul de protecție a datelor, cât și de liniștea sufletească.

 


Citire:



Dispunerea tastaturii QWERTY și AZERTY Versiuni speciale ale tastaturii Dvorak

Dispunerea tastaturii QWERTY și AZERTY Versiuni speciale ale tastaturii Dvorak

Scopul tuturor aranjamentelor de tastatură existente este de a crește viteza și comoditatea tastării textului automat. Aspectul a fost creat în acest sens...

Insula Sao Vicente Insula Sao Vicente

Insula Sao Vicente Insula Sao Vicente

Capul San Vincente (Cabo de São Vicente) este cel mai sud-vestic punct al Europei și este un loc foarte interesant. Stânci abrupte...

Regulile pe care le încălcăm Este în regulă să-ți pui coatele pe masă?

Regulile pe care le încălcăm Este în regulă să-ți pui coatele pe masă?

Nu vă puneți coatele pe masă, nu vorbiți în timp ce mestecați mâncarea - părinții noștri ne-au spus toate aceste reguli în copilărie. Și multe dintre aceste reguli noi...

Care unități flash USB sunt cele mai fiabile și mai rapide?

Care unități flash USB sunt cele mai fiabile și mai rapide?

Foarte des pe forumuri, mulți oameni întreabă despre cum să alegeți o unitate flash și la ce parametri ar trebui să acordați atenție pentru ca...

imagine-alimentare RSS