Un programator indonezian a demarat recent un proiect interesant de exploatare a puterii masive de calcul paralel a procesoarelor grafice curente, pentru a crea o aplicație care să spargă criptarea datelor utilizată de ransomware-ul Akira. Este o sarcină complexă, deoarece virusul ransomware în cauză utilizează un algoritm sofisticat pentru a genera chei de criptare a datelor dar eroul nostru a demonstrat că cu puțină muncă și creativitate, se poate sparge.
Virusul ransomware Akira în sine a provocat deja multe pagube în ultimele luni. Acest cod malițios face victime din 2023 încoace, cel puțin varianta curentă, pentru că există mai multe subversiuni. În acest timp, a generat venituri totale de până la 42 milioane dolari pentru creatorii săi, care au făcut ransomware-ul disponibil ca și un serviciu, făcându-l relativ ușor și rapid de implementat în scopuri personale. Numărul de companii și instituții atacate a sărit recent la peste 250, astfel încât algoritmul open-source creat de programatorul indonezian ar putea fi de mare folos.
Aplicația, dezvoltată de Yohanes Nugroho în timpul său liber, este concepută să utilizeze puterea masivă de calcul paralel a procesoarelor grafice pentru a rezolva probleme matematice complexe, permițând sistemului să încerce milioane de chei într-un timp foarte scurt, oferind astfel posibilitatea de a sparge criptarea.
Defapt, software-ul a fost creat deoarece un prieten al lui Nugroho a picat în plasă pe un sistem bazat pe Linux, și a avut nevoie de ajutor pentru a-și recupera fișierele fără să plătească. După ce a analizat codul, Nugroho a ajuns la concluzia că algoritmul ransomware-ului utilizează ceasul intern al dispozitivului pentru a genera chei criptografice puternice. Procesul de criptare generează în mod dinamic chei pentru fiecare fișier, folosind patru mostre de timp cu o precizie de nanosecunde. Cheile generate sunt ulterior transformate folosind funcția SHA-256, și criptate folosind algoritmul RSA-4096, anexate la sfârșitul fiecărui fișier criptat.
Deoarece procesul este destul de complex, este extrem de dificil de spart în timp. Virusul ransomware în sine poate utiliza mai mult de un miliard de valori posibile per secundă, ceea ce face ca decriptarea să fie mult mai dificilă, și să necesite mult timp, mai ales dacă nu știm exact când au fost luate mostrele de timp. Din fericire s-a găsit un fișier de jurnal în care s-a descoperit când a fost declanșat ransomware-ul. Știind ora exactă, se putea calcula cât timp va lua spargerea criptării.
Inițial, procesul a luat forma unui atac prin forță brută folosind o placă video GeForce RTX 3060, dar aceasta s-a dovedit a fi lentă, deoarece putea procesa doar 60 milioane de combinații pe secundă. Și placă video GeForce RTX 3090 a fost testată pentru a crește semnificativ performanța, ceea ce ar fi accelerat procesul, dar a fost insuficientă și ea. Soluția finală a fost de a cumpăra timp de GPU prin intermediul serviciilor cloud, folosind RunPod și Vast.ai. Acest lucru a oferit "puterea" a 16 GPU-uri GeForce RTX 4090, suficientă pentru a finaliza procesul în puțin peste 10 ore.
Timpul total depinde de numărul de fișiere care trebuie accesate, astfel încât abonamentul poate deveni chiar și anual, care va fi o alegere mai rentabilă în ansamblu. Desigur, succesul final depinde de multe lucruri, posibilele erori prelungind semnificativ timpul necesar pentru deblocarea datelor, făcând procesul mai costisitor. Raportul detaliat al dezvoltatorului poate fi citit aici.
GeForce RTX 4090 pare să fie o alegere excelentă pentru acest scop, datorită puterii sale masive de calcul în paralel, dar și a costului relativ scăzute de proprietate, ceea ce înseamnă că astfel de metode pot duce la rezultate în cazul în care virusul ransomware Akira a luat ostatice fișierele noastre. De asemenea, dezvoltatorul a pus la dispoziție algoritmul său sub o licență open source și încurajează experții în GPU să arunce o privire asupra codului, și să încerce să îl optimizeze pentru a-l face și mai eficient. Pentru cei interesați, codul respectiv poate fi găsit aici.