Analyse van software-supply chain-aanvallen
3CX is een bekend bedrijf dat VoIP- en Unified Communications-producten levert. Ze beweren meer dan 600,000 installaties en 12 miljoen dagelijkse gebruikers te hebben. Ongetwijfeld een verleidelijk doelwit voor kwaadwillenden.
Eind maart kreeg 3CX te maken met de 3CX Supply Chain Attack, een geavanceerde software supply chain-aanval die erin slaagde malware in hun desktopsoftware te injecteren. De malware is gericht op het stelen van informatie, maar laat ook een backdoor vallen.
In dit bericht zullen we deze supply chain-aanval onderzoeken, waarbij we de reeks gebeurtenissen vanuit verschillende gezichtspunten volgen. In het proces kunnen we Ontdek hoe de aanval kan worden geblokkeerd of verzacht.
Inhoudsopgave
Hoe de aanval werd uitgevoerd
De slechteriken hebben eerst een softwarepakket, X_TRADER, gecompromitteerd van een bedrijf met de naam Handelstechnologieën met hoofdkantoor in Chicago, Illinois. De software bevatte malware ( GELUIDSIGNAAL achterdeur) geïnjecteerd. Het installatieprogramma is digitaal ondertekend met een geldig codeondertekeningscertificaat. Slechte acteurs hebben mogelijk ingebroken in de build pipeline tegen 2021 en de software aangepast voordat deze wordt verpakt en ondertekend. Dit was de eerste sprong in de ketenaanval op de toeleveringsketen. In maart 2022 was dit het geval gerapporteerd in het kader van operaties DreamJob oftewel BLINDINGCAN en AppelJeus, gericht op in de VS gevestigde organisaties in de nieuwsmedia, IT, cryptocurrency en fintech-industrieën.
Deze software is in 2020 (!) buiten gebruik gesteld, maar vanaf 2022 te downloaden. Een medewerker van 3CX heeft het op een personal computer geïnstalleerd. De slechteriken stalen de bedrijfsreferenties van de werknemer van de besmette computer. Interessant genoeg is de GELUIDSIGNAAL gebruikte een URL onder de Trading Technologies-website voor commando en controle (een tactiek die vaak wordt gebruikt om detectie te voorkomen).
Twee dagen later, na het aanvankelijke compromis, gebruikten de kwaadwillenden de bedrijfs-VPN om toegang te krijgen tot de interne systemen van 3CX. Ze gebruikten de FRP reverse proxy, een openbaar instrument dat zowel ten goede als ten kwade kon worden gebruikt, om lateraal te bewegen. Ze wisten wat ze met de verworven voet aan de grond moesten doen: ze brachten de Windows- en macOS-buildsystemen in gevaar. Elke omgeving met verschillende tools. Ze gebruikten bijvoorbeeld de SigFlip-tool om de RC4-gecodeerde shellcode in de handtekeningbijlage van de d3dcompiler_47.dll.
Software-updates voor de 3CX Desktop-app voor Windows en macOS zijn geïnfecteerd. Dit was de tweede stap in deze (eerste?) meerstaps supply chain-aanval. De software-update voor Windows, eveneens correct ondertekend met een 3CX Code Signing-certificaat, verwijdert twee kwaadaardige bestanden, ffmpeg.dll en d3dcompiler_47.dll (met equivalent .dylib bibliotheken voor macOS), die zijn geladen en uitgevoerd door het goedaardige 3CXDesktopApp uitvoerbaar (via side-DLL-laadtechniek). De shellcode die is gecodeerd in de tweede DLL laadt een andere DLL waarvan wordt gedownload IconOpslag GitHub-repository een .ico-bestand met de gecodeerde Command and Control (C2)-server.
Er waren meer dan 20 domeinen hiervoor ingericht, wat aangeeft hoe zorgvuldig de aanval op de softwaretoeleveringsketen was gepland.
Verbindingen van de pc's van slachtoffers met de C2-domeinen begonnen op 06 maart 2023 en eindigden op 29 maart.
Houd er rekening mee dat (1) er geen broncode in een coderepository is gewijzigd, maar dat in plaats daarvan de malware-payload tijdens de build is geïnjecteerd, (2) een legitieme ffmpeg DDL werd vervangen door een kwaadaardig programma en geladen via side-DLL-laden, en (3) een populaire VoIP-app werd veranderd in een wapen met meerfasige malware.
Hoe het incident werd afgehandeld
Het lijkt erop dat 29CX op 3 maart meldingen heeft ontvangen van derden dat een kwaadwillende actor “een kwetsbaarheid in hun product misbruikt”. Antimalwareplatforms deden (gedeeltelijk) hun werk.
Op 30 maart 2023 is de 3CX CISO, Pierre Jourdan, publiceerde een beveiligings waarschuwing klanten en partners informeren dat hun Electron-app (desktopclient) is verzonden na een update met malware. Het bericht vermeldt de getroffen versies (voor Windows en Mac), een korte verklaring over de aanvankelijk genomen inperkingsmaatregelen en een snelle aanbeveling om te blijven werken met de webclient in plaats van met de besmette desktopclient.
IMO was de eerste communicatie, zij het een beetje beknopt, to the point. Het is voor geen enkele leverancier gemakkelijk om te onderkennen dat er sprake is van een ernstig beveiligingsprobleem dat mogelijk gevolgen heeft voor veel klanten. Het bedrijf herkende het probleem en wees meteen op een mogelijke boosdoener:
“Het vermelden waard: dit lijkt een gerichte aanval te zijn geweest van een Advanced Persistent Threat, misschien zelfs door de staat gesponsord, die een complexe supply chain-aanval uitvoerde en uitkoos wie de volgende fasen van hun malware zou downloaden.”
Het bedrijf bood een alternatief om het product werkend te houden: het gebruiken van de Progressive web-app of PWA, in plaats van de desktop-app, gebaseerd op de Elektron kader.
“We raden u ten zeerste aan om in plaats daarvan onze PWA-app te gebruiken. De PWA-app is volledig webgebaseerd en doet 95% van wat de elektronen-app doet. Het voordeel is dat er geen installatie of update nodig is en dat Chrome-webbeveiliging automatisch wordt toegepast.
De reden dat we twee apps hebben, is dat toen we met de Electron App begonnen, de PWA-technologie nog niet beschikbaar was. Nu is het volwassen en werkt het heel goed.”
Welnu, de webapp kan ook geïnfecteerd zijn, en een PWA kan per definitie code uitvoeren in servicemedewerkers (JavaScript-code) met (beperkte) toegang tot lokale bronnen. De post beweerde dat de PWA op dat moment niet besmet was. We kunnen begrijpen waarom sommigen in veel van de meer dan 277 reacties op het bericht vroegen of het genoemde PWA-alternatief of de PBX-serversoftware zelf gecompromitteerd was.
Dezelfde dag, 3CX heeft Mandiant aangesteld voor onderzoek, met meer instructies. Kortom, het installeert de update voor
Win/Mac Desktop App bij installatie op locatie, verwijder de Electron-app voor de getroffen versies en ga naar het PWA-alternatief. Dat is niet per se voldoende, omdat de malware mogelijk toegang heeft tot getroffen systemen, de malware kan voortzetten of zich zelfs zijdelings kan verplaatsen. Volledige verwijdering van malware is niet zo eenvoudig. We kunnen begrijpen dat, gezien de urgentie, niet altijd de beste manier wordt gevonden om met een incident om te gaan… tenzij het scenario vooraf is bedacht en de juiste herstelmaatregelen zijn geïdentificeerd.
Het volgend bericht, nu door de CEO van het bedrijf, probeert klanten gerust te stellen met de aankondiging van een beveiligingsupdate voor de DesktopApp. Er werden enkele basisbeschermingstechnieken geïmplementeerd, zoals het hashen van wachtwoorden (“Want beter dan nooit is laat; nooit slagen zou een te lange tijd duren.”, Chaucer Dixit in 1386.) Specifieke, geïmplementeerde beveiligingen zijn beter dan goede bedoelingen en geprojecteerde plannen... Maar hoe werden wachtwoorden voorheen opgeslagen?
Hoe dan ook, Google heeft het bestaande 3CX-codeondertekeningscertificaat ongeldig verklaard en antivirusleveranciers hebben ook alle software geblokkeerd die met dat certificaat is ondertekend. De MSI-installatieprogramma's voor de DesktopApp-update moesten opnieuw worden gegenereerd met een nieuw certificaat voor codeondertekening, wat enkele uren in beslag nam. Dit was te verwachten!
3CX heeft preventief een nieuw gebouwde server geïmplementeerd. Dit is redelijk: zonder analyse was onbekend hoe de malware werd geïnjecteerd.
Op dezelfde 1 april plaatste de CEO een Beveiligingsincidentupdate. De post vertelt wat het bedrijf aan het doen was (een volledig onderzoek uitvoeren en de volledige broncode van de client-side software valideren). Beveiliging kan zelfs op zaterdag niet wachten.
Toen het incident werd geanalyseerd en de infrastructuur van de aanvaller bekend was, werden de GitHub-opslagplaats en domeinen voor C2-servers die door de APT werden gebruikt, verwijderd, waardoor de malware effectief werd verwijderd.
In april 11th, de CISO heeft de eerste resultaten uit de incidentanalyse. De aan Noord-Korea gelinkte APT UNC4736 werd voor het eerst aangehaald.
Op vrijdag 20 april plaatste Mandiant de eerste analyse van het incident. YARA- en Snort-detectieregels zijn gepubliceerd.
Dezelfde dag plaatste de CEO van 3CX een nieuw bericht met de suggestieve naam “Daden, geen woorden – ons beveiligingsactieplan in zeven stappen!”. De ondertitel is best interessant: “Veiligstellen voor de toekomst van 3CX na unieke cascadering software-in-software supply chain-aanval.” De stappen van het opgestelde veiligheidscharter zijn:
- Versterking van meerdere lagen van netwerkbeveiliging.
-
Vernieuwen zorgt voor veiligheid.
-
Voortdurende beoordeling van de productveiligheid.
-
Verbetering van de beveiligingsfuncties van producten.
-
Het uitvoeren van voortdurende penetratietesten.
-
Verfijning van het crisisbeheer en het plan voor de afhandeling van waarschuwingen.
-
Opzetten van een nieuwe afdeling voor netwerkbeheer en beveiliging.
De analisten zullen dit prijzenswaardige programma inderdaad in de gaten houden…
Nasleep: hoe de industrie reageerde
Er gingen slechts een paar weken voorbij sinds het incident werd gepubliceerd. Maar de industrie reageert.
CVE-2023-29059 werd toegewezen. Op dit moment heeft het een CVSSv7.8-risicoscore van 3 (HOOG). De 3CX-producten hebben slechts 16 CVE's vermeld, wat er goed uitziet in vergelijking met leveranciers met vergelijkbare implementatieniveaus. Maar dit incident is niet de gebruikelijke kwetsbaarheid inderdaad. Dit is een actieve gerichte aanval door een Active Persistent Threat (APT), zoals de CISO's meest herkend.
Het CWE-506 "Embedded Malicious Code" die dit incident categoriseert, helpt ons niet veel om te begrijpen hoe we dergelijke software supply chain-aanvallen kunnen voorkomen. Helaas hebben de slechteriken veel mogelijkheden om malware te verspreiden, met supply chain-aanvallen als het nieuwe kroonjuweel in hun arsenaal. CWE-506 zou verbeterd moeten worden om de huidige scenario's te weerspiegelen, inclusief die gebaseerd op het schenden van het buildsysteem.
De APT, door Mandiant UNC4736 genoemd, gebruikt tactieken en technieken die vergelijkbaar zijn met de alom bekende Lazarus Group (APT38), opgezet door de Noord-Koreaanse staat, en de daders van de WannaCry-ransomwarecampagne van 2017. Dergelijke banden tussen slechte actoren in stalinistische staten met regelmatige werktijden zijn moeilijk vast te stellen, maar onderzoekers van CrowdStrike en ESET ontdekte dat de gebruikte tactieken, technieken en procedures (TTP's) lijken op die van algemeen gebruik door Lazarus APT38. Begrijpen hoe ze werken is essentieel voor detectie, preventie en uitroeiing.
Het kennen van hun doelen, gehuld in mysterie, is nog moeilijker.
Deze aanval is belangrijk genoeg dat CISA, het Amerikaanse CyberSecurity Agency, heeft een adviserend met de leveranciersberichten en links naar meerdere analyses over de supply chain-aanval. Het lezen ervan is relevant voor cybersec-beoefenaars.
Het incident doet ons denken aan de SolarWinds-aanval. Gezien de enorme impact haastten veel leveranciers zich om de geïnfecteerde VoIP-desktopproductinstallatieprogramma's te analyseren. Maar dit is de laatste stap. Verdere details zijn nodig om te begrijpen wat er is mislukt met de beveiliging van de bouwsystemen van de twee getroffen organisaties, en welke stappen de kwaadwillenden hebben ondernomen om die bouwsystemen te beïnvloeden en erin zijn geslaagd de malware tijdens de bouw te laten invoegen. Anders zal dit incident zich steeds opnieuw herhalen.
En nu: lessen geleerd!
Het spelen van een teamsport, luisteren naar iemand in je team die elke minuut van het spelfoutje uitlegt, verbrijzelt de meest geharde geest. Maar hier in Spanje is iedereen een nationale voetbalcoach! Dus laat mij allemaal samen optreden als Pep Guardiola, José Mourinho, Alex Ferguson en Arrigo Sacchi.
Handel alsof uw bouwsysteem onder zwaar artillerievuur ligt. Wellicht kunt u niet voorkomen dat een medewerker ongeautoriseerde software op de werk-pc’s installeert. Waarschijnlijk hebben technische teams een strenger beleid nodig. Maar wees waakzaam bij het bouwen en implementeren pipeline. Als u software aan klanten levert, moet de beveiliging van de manier waarop u de software bouwt net zo belangrijk zijn als de beveiliging van het softwareproduct.
Voorbereiding op incidenten. Het is moeilijk, misschien steriel, om de meest waarschijnlijke scenario's voor beveiligingsincidenten te voorspellen. Moet ik leren om een defibrillator te gebruiken? Nee, tenzij ik leef met een neiging omiac arrestatie. Maar alsjeblieft! Wees voorbereid om je build helemaal opnieuw op te bouwen, met intrekking + vernieuwing van sleutels, toegangstokens, openbare sleutelparen en certificaten.
Bouwsystemen moeten bepaalde kenmerken hebben: De huidige trend naar gebouwen in kortstondige omgevingen, en met geïsoleerde/parameterloze/hermetische en zelfs reproduceerbare omgevingen, zou het raamwerk kunnen zijn om voorkomen aanvallen zoals die op 3CX Supply Chain Attack wanneer deze worden aangevuld met aanvullende vereisten op andere systemen in de build & deploy pipeline. Zien De buildvereisten van Google SLSA als referentie.
Goede communicatie is de sleutel. Transparantie is verplicht. Het probleem minimaliseren of onder het tapijt verbergen is het ergste wat een organisatie kan doen. Beveiligingsincidenten hebben vaak zwaardere gevolgen voor de reputatie dan voor andere bedrijfsmiddelen, en slechte communicatie na de inbreuk kan catastrofaal zijn.
Verander problemen in kansen. Een goed incident kan verbeteringen in de beveiligingscontroles teweegbrengen die nooit hun weg hebben gevonden naar het strakke productplan. Zelfs essentiële zaken als het correct hashen van wachtwoorden en documentatie over de beveiligingsconfiguratie/verharding zouden op de korte termijn kunnen worden gepland. Maar voor supply chain-aanvallen, het versterken van de bouwsystemen en het toevoegen van attesten en integriteitscontroles bij elke stap van het bouwen en implementeren pipelines zijn essentieel. Het zou voor een aanvaller niet zo eenvoudig moeten zijn om dergelijke wijzigingen in het bouwsysteem te implanteren.
Wees voorbereid. Anders kan uw organisatie te maken krijgen met een existentiële bedreiging, zoals de 3cx software supply chain-aanval.





