REKLAMA

Analiza złośliwego oprogramowania: jak odszyfrować nieodszyfrowalne?

Inżynieria wsteczna i analiza złośliwego oprogramowania jest czasem owiana aurą tajemniczości. Z jednej strony temat wydaje się intrygujący, ale z drugiej strony wysoki próg wejścia i ryzyko „zepsucia sobie czegoś" odstrasza potencjalnych adeptów od nauki. Celem tego artykułu – i kolejnych z tej serii – jest przybliżenie tego świata dla osób dotychczas bardziej „wysokopoziomowych”. Postaramy się wytłumaczyć wszystko krok po kroku i unikać nadmiernych przeskoków myślowych. Będziemy również korzystać wyłącznie ze zdekompilowanego kodu – płynna znajomość asemblera nie będzie zatem wymagana (chociaż pozostanie mile widziana).

W pierwszej części tej serii zaczniemy od analizy próbki ransomware z rodziny Mapo. Będzie to idealny start – jej kod nie jest zbyt skomplikowany, ale przeczytanie go wymaga znajomości odpowiednich narzędzi. W artykule przeanalizujemy proces generowania klucza, szyfrowanie, a nawet spróbujemy napisać dekryptor...

Niektóre zagadnienia poruszane w tym artykule:

  • Czym jest ransomware?
  • Szyfrują mnie, co teraz?
  • Krótko o narzędziach do analizy wstecznej;
  • Próbka pierwsza: Mapo;
  • Lekko przycięty kod funkcji entry;
  • Atak siłowy na klucz (pseudokod).

Artykuł pochodzi z magazynu Programista nr 99 (5/2021). Magazyn jest z przełomu listopada i grudnia 2021 r. Szczegółowy spis treści wydania nr 99: https://programistamag.pl/programista-5-2021-99/

Autorem artykułu jest Jarosław Jedynak. Analityk malware w dużej firmie antywirusowej. W swojej pracy zajmuje się głównie walką ze złośliwym oprogramowaniem oraz przestępcami internetowymi. W wolnym czasie gra w CTFy z zespołem p4 albo rozwija własne projekty programistyczne.