Emsisoft stelt decryptietool voor Diavol-ransomware beschikbaar

Beveiligingsbedrijf Emsisoft heeft een decryptietool online gezet voor de Diavol-ransomware, die gelinkt wordt aan de Russische Trickbot-groep, van de gelijknamige malware. De decryptietool heeft een origineel en een versleuteld bestand nodig om alle versleutelde data te ontsleutelen.

De Diavol-ransomware versleutelt de bestanden van een slachtoffer, waarna tussen de 10.000 en 500.000 dollar losgeld geëist wordt om de bestanden te ontsleutelen. De ransomware werd in juli 2021 ontdekt door beveiligingsbedrijf Fortinet en na analyse werden er verbanden gevonden tussen Diavol en de Russische criminelen achter de Trickbot-malware, die gebruikt werd om een gigantisch botnet op te bouwen. Emsisoft heeft nu een decryptietool online gezet voor de ransomware, die het heeft ontwikkeld met hulp van het threat intel-team van Walmart.

decryptietool Emsisoft
Decryptietool voor Diavol van Emsisoft

De decryptietool heeft toegang nodig tot een bestandspaar met het originele versleutelde bestand en een onversleutelde versie van het bestand. Daarmee kan het de encryptiesleutels maken die nodig zijn om de rest van de versleutelde data op een systeem te ontsleutelen. De onderzoekers van Walmart ontdekten dat de encryptiesleutel een XOR-operatie uitvoert, waarbij bestanden in blokken van 2048 bytes versleuteld worden. Daardoor kunnen bekende plaintext-kwetsbaarheden gebruikt worden om de bestanden te ontsleutelen. Emsisoft heeft dat geautomatiseerd in een tool.

Trickbot werd in eerste instantie ook gebruikt als ransomware, maar groeide uit tot malware om botnets op te bouwen. Diavol werd door de Trickbot-ontwikkelaars gemaakt en toegevoegd aan de malware als nieuwe ransomwarelaag, legt de FBI uit in een pdf. Voor de medeontwikkeling van Trickbot werd in juni vorig jaar een Letse vrouw aangeklaagd.

Door Stephan Vegelien

Redacteur

21-03-2022 • 14:54

19

Reacties (19)

Sorteer op:

Weergave:

"De decryptietool heeft een origineel en een versleuteld bestand nodig om alle versleutelde data te ontsleutelen" - dit suggereert dat de tool dus de gebruikte sleutel kan reverse-engineeren, dus een known-plaintext-attack. Dat kan eigenlijk alleen als er een zwak algoritme is gebruikt, of een sterk algoritme op een zwakke/foutieve manier geïmplementeerd (een 'weak model').

Dit is precies de reden waarom in de infosec community de regel 'don't roll your own crypto' bestaat (en waarom IM's als Telegram, die dat beter denken te weten, dus niet een heel positief imago krijgen in diezelfde kringen).

Gelukkig is dat voor nu dus juist goed nieuws.
Ofwel lees ik uw bericht totaal verkeerd maar Telegram gebruikt gewoon industrie-standaard crypto en geen eigen crypto uitvinding.

https://telegram.org/faq#q-so-how-do-you-encrypt-data
Ze hebben het MTProto model bedacht, wat praktisch in dezelfde categorie van missers valt. Destijds hebben ze een wedstrijd uitgeschreven voor mensen die het wilde breken en daar allerlei vreemde voorwaarden aan gehangen. Inmiddels is het dermate geadopteerd dat je sowieso veel meer geld kan verdienen op de darkweb markten of bij inlichtingendiensten, dus die prijs gaat nooit geïnd worden.

@Rudie_V: XOR (ook wel one-time-pad genoemd) is een heel sterk 'algoritme' (voor zover je dat kan noemen) in de zin dat je een 50% slagingskans hebt bij het decrypten met een zelfbedachte sleutel. Dat is het streefgetal, in jip-en-janneke taal: een hoger percentage betekent dat de sleutel makkelijk is te raden, een lager getal betekent dat alles behalve de sleutel zich makkelijk laat raden (en daarmee door uitsluitsel alsnog de sleutel afgeleid kan worden). Het model wat je om het algoritme heen bouwt is echter net zo leidend als het algoritme zelf: als ze voor ieder bestand dezelfde sleutel gebruiken, kan je inderdaad zo de sleutel afleiden. Zo te zien hadden ze al door dat ze blokken met padding moesten gebruiken, maar het sleutelbeheer was minder, de regel voor XOR is namelijk dat je nooit een sleutel hergebruikt.

[Reactie gewijzigd door nst6ldr op 23 juli 2024 09:15]

XOR is een binaire operatie en een one time pad is een reeks sleutelmateriaal die alleen verzender en ontvanger hebben. De twee zijn niet bepaald van elkaar afhankelijk. Je kunt dingen met een one time pad versleutelen met XOR, maar je kunt net zo goed dat one time pad gebruiken om bijvoorbeeld de IV van een AES-versleuteling te bepalen zonder deze over de lijn te sturen.

De versleuteling hier is inderdaad was basaal en dom. XOR-versleuteling werkt Goed Genoeg™ zolang je zorgt dat de sleutel geheim blijft en je geen known ciphertext hebt als aanvaller (of hier, slachtoffer). Het voordeel voor de misdadigers is wel dat XOR een hele snelle operatie is, en bij ransomware is er wat te zeggen voor een hack die snelheid verkiest boven encryptieveiligheid. Als slachtoffer kun je hier ook weer van profiteren, want de sleutel is te herleiden uit bijvoorbeeld een Excel-sheet of een Word-document dat je ooit een keer op Dropbox gedeeld hebt.

MTProto2 is een stuk beter dan MTProto en nog steeds is het een vaag eigen algoritme, maar dat is het algoritme van Signal op zich ook. Die achterlijke uitdaging ("hack ons dan! 100k!") is inderdaad nogal misleidend, maar er zijn tot nu toe nog geen brekende kwetsbaarheden in MTProto2 gevonden voor zover ik weet. De grote bugs zitten hem voornamelijk in het protocol zelf (je kunt niet zien of er een vorig bericht is weggelaten, waardoor de server een gesprek als "wil je Oekraïne binnenvallen? Nee! Wil je een patatje? Ja!" makkelijk kunt beïnvloeden), maar de versleutelingslaag is goed genoeg waar hij gebruikt wordt.

Dat Telegram dan weer geen E2EE doet in chatrooms is een heel ander verhaal.
.oisyn Moderator Devschuur® @GertMenkel21 maart 2022 17:17
maar dat is het algoritme van Signal op zich ook
Niet echt, Signal is gebouwd op bestaande en beproefde encryptie-primitieven zoals AES voor de encryptie van berichten en ECC voor de key-exchange. Wat Signal zelf toevoegt is de double ratchet om derived keys te genereren (wederom gebruik makend van een beproefde cryptografische hashfunctie), maar dat is niet heel spannend.
MTProto 2 is AES IGE met een SHA-256 key derivation op basis van een gedeelde sleutel verkregen via Diffie-Helman, ook niet bepaald onbekende primitieven in de encryptie-wereld. De ECC key exchange is wel beter dan Telegram's MTProto, maar tot nu toe is het nog niemand gelukt om de traditionele kwetsbaarheden die bij Diffie-Helman horen uit te buiten voor Telegram.

Ja, MTProto2 is een vaag algoritme, maar Signal is niet anders. Het grootste verschil is dat het protocol van Signal door een cryptograaf is ontwikkeld en dat van Telegram door een wiskundige, maar er is nog geen enkel concreet bewijs gevonden dat MTProto2 onveilig zou zijn.
.oisyn Moderator Devschuur® @GertMenkel21 maart 2022 21:21
Ik heb weinig kaas gegeten van Telegram, mijn reactie was vooral gericht op je opmerking over Signal :). Wat vind je precies "vaag" aan het algoritme van Signal?
Ik ben geen cryptograaf, dus misschien ligt het aan mij, maar ik heb de veiligheidsgaranties van Sesame en Extended Triple Diffie-Hellman nog niet helemaal duidelijk in mijn hoofd. Signal heeft een hele uitleg over hoe dat werkt, evenals Telegram, maar in de basis zijn het allemaal veilige primitieven aan elkaar gelijmd tot een chatprotocol. Het is die lijm die problemen kan veroorzaken of oplossen.

Ik vertrouw op de veiligheid van Signal en de conclusies van de experts over diens standaarden, maar ik mis de objectiviteit een beetje als het om MTProto2 gaat. Niemand (met kennis van zaken) doet alsof Telegram een veilige chatapp is, maar de aanval op het protocol specifiek is altijd weer teleurstellend.

Ja, er zaten bugs in MTProto (dat is waarom er een MTProto2 is) en de applicatiecode zorgde dat er kwetsbaarheden ontstonden waar het protocol niet tegen beschermde (zoals berichten die de verkeerde volgorde kregen of selectief werden doorgestuurd, en hoewel SHA-1 voor het specifieke gebruik nog veilig genoeg was, was de upgrade naar SHA-256 welkom) maar bugs zitten in iedere app; Signal heeft willekeurige foto's naar willekeurige contacten gestuurd en daar rekenen we de gepatchte versie van de app ook niet op af.
Dat Telegram dan weer geen E2EE doet in chatrooms is een heel ander verhaal.
Dat is een keuze die je accepteert bij het gebruik van telegram. Ze zijn niet de enige hoor, Discord heeft het ook niet. Het voordeel hiervan is dat het mogelijk wordt om je chatgeschiedenis te behouden bij het wisselen van apparaten, zonder dat je moeilijk hoeft te doen met back-ups etc.
.oisyn Moderator Devschuur® @e.dewaal21 maart 2022 19:20
E2EE verhindert niet dat je een chatgeschiedenis kan hebben. De Whatsapp beta kan dat ook, door de geschiedenis te downloaden van een online device.
Chatgeschiedenis kan met en zonder E2EE (zie XMPP en Matrix voor multi-deviceversies van dit concept).

Het belangrijkste verschil qua functionaliteit in mijn ervaring is dat de server beter beslissingen kan nemen wanneer je wel of niet een notificatie moet krijgen (want dat moet tegenwoordig via Apple of Google als je een smartphone-app gebruikt) omdat de server kan zien wat er in het bericht staat, en daar de nodige regels voor kan opstellen.

Backups zijn inderdaad lastiger, maar daar zijn ook enigszins gebruiksvriendelijke manieren voor. Signal kan het, ik zie niet waarom Discord of Telegram het dan niet zouden kunnen doen.
.oisyn Moderator Devschuur® @nst6ldr21 maart 2022 16:43
XOR (ook wel one-time-pad genoemd)
Nee, XOR is te gebruiken voor het toepassen van een one-time pad, maar in dit geval is het geen OTP omdat:
• De sleutel korter is dan de plaintext
• De sleutel niet eenmalig gebruikt wordt
In principe gebruikt men hier gewoon een block cypher met XOR als encryptie-algoritme, maar daarvoor is XOR natuurlijk uitermate zwak omdat een XOR tussen een blok van een plaintext en een cyphertext natuurlijk gewoon direct de sleutel oplevert.

[Reactie gewijzigd door .oisyn op 23 juli 2024 09:15]

Ze gebruiken weliswaar SHA256 en AES, MTProto is een eigen protocol voor server-client encryptie: https://core.telegram.org/mtproto
Er is helaas geen sprake van end-to-end encryptie.

Zie ook advanced faq:
"Q: Why don't you go for a standard encrypt-then-MAC approach?

Using encrypt-then-MAC, e.g. involving GCM (Galois Counter Mode), would enable the receiving party to detect unauthorized or modified ciphertexts, thus eliminating the need to decrypt them in case of tampering.

In MTProto, the clients and the server authenticate messages by ensuring that SHA-256(auth_key_fragment + plaintext + padding) = msg_key and that the plaintext always contains message length, server salt, session_id and other data"


bron: https://core.telegram.org...to-messages-authenticated
Je leest het verkeerd, want ze hebben een uitermate brak eigen protocolletje verzonnen.
Staat in de tekst:
De onderzoekers van Walmart ontdekten dat de encryptiesleutel een XOR-operatie uitvoert, waarbij bestanden in blokken van 2048 bytes versleuteld worden. Daardoor kunnen bekende plaintext-kwetsbaarheden gebruikt worden om de bestanden te ontsleutelen. Emsisoft heeft dat geautomatiseerd in een tool.
kan iemand mij vertellen wat de toegevoegde meerwaarde van deze tool is als je het originele bestand ook nodig hebt om te decrypten ??

als ik het originele heb, dan kan ik de partitie/schijf formateren en originele daarnaartoe kopieren.

ik begrijp de meerwaarde niet.

iemand die dit wil uitleggen ??
.oisyn Moderator Devschuur® @ari2asem21 maart 2022 21:27
Ter aanvulling van wat @lolgast zegt, ze gebruiken een enkele encryptiesleutel voor alle bestanden op je schijf. Deze sleutel is te achterhalen als je van een willekeurig bestand zowel het (ongeëncrypte) origineel hebt, als de geëncrypte variant.

Het is ongeveer letterlijk zo simpel als dat ze bij elke byte van elk bestand een bepaalde vaste waarde optellen. Je weet niet wat die waarde is, maar als je nog over een origineel bestand beschikt, dan kun je gewoon kijken hoeveel er bij op is geteld.

Nu is het in dit geval geen optelling maar een exclusive or ("XOR") operatie, en in plaats van 1 byte is de sleutel 2048 bytes lang, maar het principe is exact gelijk.
Je hebt maar 1 origineel bestand nodig om je gehele dataset te restoren. Dus stel dat je van een klant/leverancier/externe partij een eerder gemaild document kunt ontvangen, dan kun je met dat ene bestand je volledige omgeving restoren.

Je kunt er bij dit soort software vanuit gaan dat alles wat in hetzelfde netwerk hangt gewoon permanent encrypted is. Inclusief je backups.
kan iemand mij vertellen wat de toegevoegde meerwaarde van deze tool is als je het originele bestand ook nodig hebt om te decrypten ??
Omdat er vast meer dan 1 bestand is wat encrypt is?

Op dit item kan niet meer gereageerd worden.