Zephyrnet-logo

Beveiligingsincidentrapport | Grootboek

Datum:

Datum van het rapport: 2023-12-20

Datum van het voorval: 2023-12-14

Type gedetecteerd incident: Ongeautoriseerde toegang en schadelijke code

Samenvatting

Ledger heeft op donderdag 14 december 2023 een exploit gedetecteerd met behulp van Ledger Connect Kit. Deze exploit injecteerde kwaadaardige code in DApps die Ledger Connect Kit gebruikten, waardoor EVM DApp-gebruikers werden misleid om transacties te ondertekenen die hun portemonnee leegmaakten. De exploit werd snel opgemerkt en kort daarna werd een oplossing geïmplementeerd. In de tussentijd viel een klein aantal gebruikers in de aanval en ondertekende transacties die hun portemonnee leegmaakten.

Timeline 

De tijdlijnuren worden gedetailleerd met behulp van de tijdzone Central European Time (CET):

2023-12-14: Ochtend: Een voormalige Ledger-medewerker werd het slachtoffer van een geavanceerde phishing-aanval die toegang kreeg tot zijn NPMJS-account, waarbij 2FA werd omzeild, met behulp van het sessietoken van het individu.

2023-12-14 – 09:49 / 10:44 / 11:37: De aanvaller publiceerde op NPMJS (een pakketbeheerder voor Javascript-code die tussen apps wordt gedeeld), een kwaadaardige versie van de Ledger Connect Kit (die van invloed is op versies 1.1.5, 1.1.6 en 1.1.7). De kwaadaardige code maakte gebruik van een frauduleus WalletConnect-project om activa om te leiden naar de portemonnees van hackers.

2023-12-14: 1.45 uur: Ledger werd op de hoogte gebracht van de voortdurende aanval dankzij de snelle reactie van verschillende actoren in het ecosysteem, waaronder Blockaid die contact opnam met het Ledger-team en updates over X deelde.

2023-12-14: 2.18 uur: De technologie- en beveiligingsteams van Ledger werden op de hoogte gebracht van de aanval en een echte versie van de Ledger Connect Kit-fix werd door Ledger-teams geïmplementeerd binnen 40 minuten nadat Ledger hiervan op de hoogte was. Vanwege de aard van CDN (Content Delivery Network) en cachingmechanismen op internet bleef het kwaadaardige bestand iets langer toegankelijk. Vanaf het compromis van NPMJS tot de volledige oplossing zijn ongeveer 5 uur verstreken. Deze uitgebreide beschikbaarheid van de kwaadaardige code was het resultaat van de tijd die het CDN nodig had om zijn caches wereldwijd te verspreiden en bij te werken met de nieuwste, authentieke versie van het bestand. Ondanks dat het bestand vijf uur aanwezig was, schatten we op basis van ons onderzoek dat de periode waarin gebruikersactiva actief werden leeggemaakt, in totaal minder dan twee uur bedroeg.

Ledger coördineerde snel met onze partner WalletConnect, die de malafide WalletConnect-instantie uitschakelde die werd gebruikt om activa van de gebruikers af te tappen.

2023-12-14: 2.55 uur Na onze coördinatie bevroor Tether de USDT van de aanvaller(s) (vgl. TX).

Analyse van de hoofdoorzaak, bevindingen en preventiemaatregelen
Context

Grootboek Connect-Kit is een open source-bibliotheek met Java Script waarmee ontwikkelaars hun DApps kunnen verbinden met Ledger-hardware. Het kan worden geïntegreerd met behulp van de Connect-Kit-lader component waarmee een DApp de Connect-Kit tijdens runtime kan laden vanaf een CDN. Hierdoor kunnen DApp-ontwikkelaars altijd over de meest recente versie van het Connect-Kit zonder de noodzaak om pakketversies handmatig bij te werken en nieuwe builds uit te brengen. Het CDN dat Ledger gebruikt voor de distributie is NPMJS. De meeste DApps hebben de Connect-Kit met behulp van de genoemde Connect-Kit-loader. 

Bij de Ledger Connect Kit-exploit had de aanvaller op geen enkel moment toegang tot een Ledger-infrastructuur, Ledger-codeopslagplaats of tot DApps zelf. De aanvaller kon een kwaadaardig codepakket binnen het CDN pushen in plaats van de Connect-Kit zelf. Deze kwaadaardige Connect-Kit-code werd vervolgens dynamisch geladen door DApps die de Connect-Kit-loader al hadden geïntegreerd. 

De Ledger Connect Kit-exploit benadrukt de risico's waarmee Ledger en de industrie gezamenlijk worden geconfronteerd om gebruikers te beschermen, en het herinnert ons er ook aan dat we gezamenlijk de lat voor de beveiliging rond DApps hoger moeten blijven leggen, waarbij gebruikers zich bezighouden met browsergebaseerde ondertekening. Het was deze keer de dienst van Ledger die werd uitgebuit, maar in de toekomst zou dit met een andere dienst of bibliotheek kunnen gebeuren.

Oorzaak

Om het kwaadaardige codepakket op NPMJS te kunnen pushen, phiseerde de aanvaller een voormalige werknemer om misbruik te maken van de toegang van het individu tot NPMJS. De toegang van de voormalige werknemer tot de systemen van Ledger (inclusief Github, op SSO gebaseerde services, alle interne Ledger-tools en externe tools) werd correct ingetrokken, maar helaas werd de toegang van de voormalige werknemers tot NPMJS niet correct ingetrokken. 

We kunnen bevestigen dat dit een ongelukkig geïsoleerd incident was. Toegang tot de Ledger-infrastructuur door Ledger-werknemers wordt automatisch ingetrokken tijdens het offboarden van medewerkers. Vanwege de manier waarop de huidige technologische services en tools momenteel wereldwijd werken, kunnen we echter niet automatisch de toegang tot bepaalde externe tools intrekken (inclusief NPMJS), en deze moeten handmatig worden afgehandeld met een checklist voor de offboarding van medewerkers voor elk individu. Ledger heeft een bestaande en regelmatig bijgewerkte offboardingprocedure waarbij we vertrekkende medewerkers uit alle externe tools verwijderen. In dit individuele geval werd de toegang tot de NPMJS niet handmatig ingetrokken, wat we betreuren en die we nu samen met een externe externe partner controleren. 

Dit was een geavanceerde aanval uitgevoerd door de aanvaller. Ondanks dat hij tweefactorauthenticatie (2FA) had afgedwongen op het NPMJS-account, wat normaal gesproken veel pogingen zou afschrikken, omzeilde de aanvaller deze beveiligingsmaatregel door misbruik te maken van een API-sleutel die was gekoppeld aan het account van de voormalige werknemer. 

Deze specifieke aanval stelde de aanvaller in staat een nieuwe kwaadaardige versie van de Ledger Connect Kit te uploaden die de zogenaamde Angel Drainer-malware bevatte. Angel Drainer is een malware-as-a-service die specifiek is ontworpen om kwaadaardige transacties uit te voeren die portemonnees leegtrekken wanneer ze worden ondertekend. Het is een complete infrastructuur gespecialiseerd in EVM-ketens die slimme contracten op aanvraag inzet en transacties op maat maakt om de schade te maximaliseren.

Helaas, NPMJS.com staat geen automatische multi-autorisatie of handtekeningverificatie toe publiceren. We werken aan het toevoegen van ad-hocmechanismen die verdere controles in de implementatiefase afdwingen.

Bevindingen

Dit was een goed voorbereide aanval, uitgevoerd door ervaren aanvaller(s). De geïmplementeerde phishing-techniek was niet gericht op inloggegevens, wat we zien bij de meeste front-end-aanvallen die het ecosysteem beïnvloeden, maar in plaats daarvan werkte de aanvaller rechtstreeks op het sessietoken. 

De gebruikte malware was Angel Drainer en het Ledger-beveiligingsteam heeft de afgelopen drie maanden een toename gezien van criminele activiteiten waarbij deze malware wordt gebruikt (zie dit gepubliceerde artikel). Blockaid-rapport). We kunnen ook online zien dat het gestolen geld wordt verdeeld: 85% naar de uitbuiter en 15% naar Angel Drainer, dat kan worden gezien als malware als een service.

Deze Angel Drainer verleidt gebruikers om verschillende soorten transacties te ondertekenen, afhankelijk van het type activa waarop het zich momenteel richt. Voor ERC20- en NFT-tokens wordt gebruikers gevraagd te ondertekenen goedkeuring en toelaten berichten. Voor native tokens vraagt ​​de drainer de gebruiker om een ​​valse “claim”-transactie te ondertekenen waarbij de aanspraak maken op De methode veegt eenvoudigweg het geld weg, of eenvoudige tokenoverdrachten die later kunnen worden opgeruimd door een slim contract op het overeenkomstige adres in te zetten.

Dit is de reden waarom we Clear Signing als sector blijven aanmoedigen, zodat gebruikers kunnen verifiëren wat ze zien op een vertrouwd scherm op hun Ledger-hardwareapparaat. 

Corrigerende maatregelen

De beveiligings- en technologieteams van Ledger, inclusief het directieteam van Ledger, beoordelen en controleren momenteel al onze toegangscontroles op de interne en externe tools en systemen van Ledger die we gebruiken. 

Ledger zal zijn beleid versterken als het gaat om codebeoordeling, implementatie, distributie en toegangscontroles, inclusief het toevoegen van alle externe tools aan onze onderhoud- en off-boarding-controles. We blijven codeondertekening generaliseren als dat relevant is. Daarnaast voeren we periodieke interne audits uit om er zeker van te zijn dat dit op de juiste manier wordt geïmplementeerd. 

Ledger organiseert al beveiligingstrainingen, waaronder phishing-trainingen. Ook het interne veiligheidsopleidingsprogramma zal begin 2024 worden versterkt voor alle medewerkers van hun respectievelijke afdelingen. Ledger organiseert al regelmatig beveiligingsbeoordelingen door derden en zal prioriteit blijven geven aan deze beoordelingen.  

Begin 2024 zal een specifieke audit door derden worden uitgevoerd, gericht op toegangscontrole, codepromotie en distributie. 

Daarnaast zullen we onze infrastructuurmonitoring- en waarschuwingssystemen versterken om toekomstige incidenten nog sneller te kunnen detecteren en erop te kunnen reageren.

Ten slotte zullen we het voorkomen van blind ondertekenen verdubbelen, dit verwijderen als een optie voor Ledger-gebruikers om de grootst mogelijke beveiligingspraktijken te garanderen, en gebruikers voorlichten over de potentiële impact van het ondertekenen van transacties zonder een veilige weergave of zonder te begrijpen wat ze ondertekenen door geen gebruik te maken van Duidelijke ondertekening.

We bedanken nogmaals onze partners in het ecosysteem voor hun snelle samenwerking met de Ledger-teams bij het identificeren en oplossen van de exploit.

spot_img

Laatste intelligentie

spot_img