Jak funguje moderní ransomware

Cílem tohoto příspěvku je popsat, jak funguje moderní ransomware, proč se obejde bez komunikace s C&C serverem, a jak efektivně využívá prostředků symetrické a asymetrické kryptografie.

Nejprve se na serveru útočníka (attacker, zkr. A) vygeneruje pár 2048 bitových RSA klíčů. Privátní klíč (A_PRIV_KEY) si útočník uloží do své DB a veřejný klíč (A_PUB_KEY) útočník zašifruje pomocí symetrického AES 256bitového klíče (A_AES) a výsledek této operace vloží do kódu malwaru, který je dále obfuskován a zkompilován pro každou oběť zvlášť, ale není to podmínka.

V okamžiku, kdy dojde ke stažení malwaru na koncové zařízení oběti (victim, zkr. V) a v zásadě je jedno, jaký vektor útoku je použit, tak dojde k dešifrování A_PUB_KEY pomocí A_AES a vygenerování zcela nového páru RSA klíčů o délce 2048 bitů. Veřejný klíč oběti označíme V_PUB_KEY a privátní klíč oběti pak V_PRV_KEY.

Dále dojde k vygenerování nového symetrického AES 256bitového klíče, označíme si ho V_AES. V_PRIV_KEY je zašifrován pomocí V_AES a uvolněn z paměti. V_AES je zašifrován pomocí A_PUB_KEY a uvolněn z paměti. Výsledky šifrování enc_ V_PRIV_KEY = V_AES(V_PRIV_KEY) a enc_V_AES = A_PUB_KEY(V_AES) jsou uloženy do souboru, pojmenujme si ho třeba KEYS. Všimněte si, že jediný klíč, který zůstává v paměti je V_PUB_KEY.

Následně ransomware začne procházet souborový systém a šifrovat podle určitého algoritmu jeden soubor po druhém. Může šifrovat jen vybrané soubory anebo všechny soubory, tady se fantazii meze nekladou. Za tímto účelem si ransomware vygeneruje pro každý soubor jedinečný (unique, zkr. U) 256 bitů dlouhý AES klíč (U_AES), kterým daný soubor zašifruje enc_file=U_AES(file). Poté pak U_AES zašifruje pomocí V_PUB_KEY, tedy enc_U_AES = V_PUB_KEY(U_AES) a výsledek této operace připojí k zašifrovanému souboru, tedy Append(enc_file,enc_U_AES) a poté U_AES rovněž uvolní z paměti.

K čemu tedy došlo? Každý soubor je zašifrován jiným symetrickým klíčem a tento klíč je zašifrován veřejným klíčem oběti V_PUB_KEY. Aby se tedy oběť mohla dostat ke svým datům, potřebuje pomocí V_PRIV_KEY dešifrovat U_AES. Jenže V_PRIV_KEY je zašifrován V_AES, a ten je zase zašifrován A_PUB_KEY.

A aby se oběť dostala k V_AES, tak musí dojít k jeho dešifrování a k tomu je potřeba A_PRIV_KEY, který má jen útočník. A jak jsme uvedli na začátku, je uložen v DB, a proto po zaplacení oběť útočníkovi pošle/nahraje enc_V_AES, který je uložen v souboru KEYS a útočník pak provede A_PRIV_KEY(enc_V_AES) tím oběť získá V_AES a může provést V_AES(enc_V_PRIV_KEY).

Pomocí V_PRIV_KEY pak může oběť dešifrovat jednotlivé U_AES připojené k souborům a tím pak dešifrovat i příslušné soubory. V zásadě jednoduché, že?

Pokud vás tento článek zaujal, můžete odkaz na něj sdílet.

Štítky:


K článku “Jak funguje moderní ransomware” se zde nenachází žádný komentář - buďte první.

Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.

Přihlášeným uživatelům se tento formulář nezobrazuje - zaregistrujte se.

Jméno:(požadováno)
E-mail:(požadováno - nebude zobrazen)
Web:

Text vaší reakce: