Op 29 maart Microsoft-softwareontwikkelaar Andres Freund probeerde de prestaties van zijn computer te optimaliseren toen hij merkte dat een programma een onverwachte hoeveelheid verwerkingskracht gebruikte. Freund dook in om problemen op te lossen en ‘werd achterdochtig’.
Uiteindelijk vond Freund de oorzaak van het probleem, die hij vervolgens op een beveiligingsmailinglijst plaatste: hij had een achterdeur ontdekt in XZ Utils, een hulpprogramma voor gegevenscompressie dat wordt gebruikt door een breed scala aan verschillende op Linux gebaseerde computertoepassingen – een constellatie van open -bronsoftware die, hoewel vaak niet op de consument gericht, belangrijke computer- en internetfuncties ondersteunt, zoals veilige communicatie tussen machines.
Door onbedoeld de achterdeur te ontdekken, die diep in de code in binaire testbestanden verborgen zat, voorkwam Freund een grootschalige veiligheidscatastrofe. Elke machine met een besturingssysteem dat het backdoor-hulpprogramma bevatte en voldeed aan de specificaties van de kwaadaardige code, zou kwetsbaar zijn geweest voor compromittering, waardoor een aanvaller mogelijk de controle over het systeem zou kunnen overnemen.
De XZ-achterdeur werd geïntroduceerd via een zogenaamde software supply chain-aanval, die het National Counterintelligence and Security Center definieert als “opzettelijke handelingen gericht tegen de supply chain van softwareproducten zelf.” Bij de aanvallen wordt vaak gebruik gemaakt van complexe manieren om de broncode van de programma’s te wijzigen, zoals het verkrijgen van ongeautoriseerde toegang tot het systeem van een ontwikkelaar of via een kwaadwillende insider met legitieme toegang.
De kwaadaardige code in XZ Utils werd geïntroduceerd door een gebruiker die zichzelf Jia Tan noemde en de handle JiaT75 gebruikte, aldus Ars Technica en Wired. Tan leverde in ieder geval sinds eind 2021 een bijdrage aan het XZ-project en bouwde vertrouwen op bij de gemeenschap van ontwikkelaars die eraan werkten. Hoewel de exacte tijdlijn onduidelijk is, klom Tan uiteindelijk op tot mede-onderhouder van het project, samen met de oprichter, Lasse Collin, waardoor Tan code kon toevoegen zonder dat de bijdragen moesten worden goedgekeurd. (Noch Tan noch Collin reageerden op verzoeken om commentaar.)
De XZ-achterdeur verraadt een uitgekiende, nauwgezette bediening. Ten eerste identificeerde degene die de aanval leidde een stukje software dat zou worden ingebed in een groot aantal Linux-besturingssystemen. De ontwikkeling van dit veelgebruikte technische hulpprogramma was onderbezet, met één enkele kernonderhouder, Collin, die later toegaf dat hij XZ niet kon onderhouden, waardoor een andere ontwikkelaar de kans kreeg om tussenbeide te komen. Vervolgens, na het vertrouwen van Collin gedurende een periode van Jarenlang injecteerde Tan een achterdeur in het nutsbedrijf. Aan al deze stappen lag een technische vaardigheid ten grondslag die de creatie en inbedding van de eigenlijke achterdeurcode inluidde – een code die zo geavanceerd was dat de analyse van de precieze functionaliteit en mogelijkheden ervan nog steeds gaande is.
“De zorg die wordt besteed aan het verbergen van de exploits in binaire testbestanden en de enorme tijd die het kost om een reputatie te verwerven in het open-sourceproject om het later te exploiteren, zijn abnormaal geavanceerd”, zegt Molly, een systeembeheerder bij de Electronic Frontier Foundation. door een mononiem. “Er is echter nog geen enkele indicatie of dit door de staat werd gesponsord, een hackgroep, een malafide ontwikkelaar of een combinatie van het bovenstaande.”
Tans verheffing tot mede-onderhouder speelde zich vooral af in een e-mailgroep waar codeontwikkelaars – in de open-source, collaboratieve geest van de Linux-familie van besturingssystemen – ideeën uitwisselen en strategieën bedenken om applicaties te bouwen.
Op één e-maillijst kreeg Collin te maken met een reeks klachten. Een groep gebruikers, relatief nieuw bij het project, had geprotesteerd dat Collin achterop raakte en de updates van de software niet snel genoeg doorvoerde. Sommige van deze gebruikers zeiden dat hij de controle over het project zou moeten overdragen; sommigen riepen expliciet op tot de toevoeging van een andere beheerder. Collin gaf toe dat hij niet langer voldoende aandacht aan het project kon besteden en stelde Tan aan als mede-onderhouder.
De gebruikers die betrokken waren bij de klachten leken uit het niets te ontstaan: ze plaatsten hun berichten vanuit wat recentelijk aangemaakte Proton Mail-accounts leken en verdwenen vervolgens. Hun hele online aanwezigheid is gerelateerd aan deze korte interacties op de mailinglijst gewijd aan XZ; hun enige geregistreerde interesse is het snel inluiden van updates van de software.
Verschillende Amerikaanse inlichtingendiensten hebben onlangs interesse getoond in het aanpakken van aanvallen op de softwaretoeleveringsketen. De Cybersecurity and Infrastructure Security Agency kwam in actie na de ontdekking van Freund en publiceerde op 29 maart een waarschuwing over de XZ-achterdeur, dezelfde dag dat Freund er publiekelijk over berichtte.
Open-source spelers
In de open-sourcewereld van Linux-programmeren – en bij de ontwikkeling van XZ Utils – wordt samengewerkt via e-mailgroepen en codeopslagplaatsen. Tan postte op de listserv, praatte met Collin en droeg codewijzigingen bij in de coderepository Github, die eigendom is van Microsoft. GitHub heeft sindsdien de toegang tot de XZ-repository en het account van Tan uitgeschakeld. (In februari klaagden The Intercept en andere digitale nieuwsbedrijven Microsoft en zijn partner OpenAI aan voor het zonder toestemming of krediet gebruiken van hun journalistiek.)
Verschillende andere figuren op de e-maillijst namen deel aan de inspanningen – die diffuus leken maar qua doelstellingen en timing samenvielen – om de nieuwe mede-onderhouder te installeren, waarbij ze soms vooral op Tan aandrongen.
Later, op een listserv gewijd aan Debian, een van de populairste besturingssystemen uit de Linux-familie, pleitte een andere groep gebruikers ervoor dat de achterdeurversie van XZ Utils zou worden opgenomen in de distributie van het besturingssysteem.
Deze toegewijde groepen speelden afzonderlijke rollen: in één geval klaagden ze over het gebrek aan vooruitgang op XZ Utils en drongen ze aan op snellere updates door een nieuwe mede-onderhouder te installeren; en, in het andere geval, het aandringen op een snelle en brede verspreiding van bijgewerkte versies.
“Ik denk dat de meerdere groene accounts die op belangrijke momenten lijken te coördineren voor specifieke doelen, passen in het patroon van het gebruik van netwerken van sokaccounts voor social engineering dat we overal op sociale media hebben gezien”, zegt Molly, de EFF-systeembeheerder. “Het is heel goed mogelijk dat de malafide ontwikkelaar, hackgroep of staatssponsor deze tactiek heeft gebruikt als onderdeel van hun plan om de achterdeur te introduceren. Het is natuurlijk ook mogelijk dat dit louter toeval is.”
Het patroon lijkt te passen bij wat in het inlichtingenjargon bekend staat als ‘personamanagement’, de praktijk van het creëren en vervolgens behouden van meerdere fictieve identiteiten. Een uitgelekt document van defensie-aannemer HBGary Federal schetst de nauwgezetheid die kan komen kijken bij het onderhouden van deze fictieve persona’s, inclusief het creëren van een uitgebreide online voetafdruk – iets dat beslist ontbrak in de accounts die betrokken waren bij de XZ-tijdlijn.
Hoewel deze andere gebruikers verschillende e-mailadressen gebruikten, gebruikten ze in sommige gevallen providers die aanwijzingen gaven over wanneer hun accounts waren aangemaakt. Toen ze bijvoorbeeld Proton Mail-accounts gebruikten, werden de coderingssleutels die aan deze accounts waren gekoppeld, op dezelfde dag of slechts enkele dagen vóór de eerste berichten van de gebruikers in de e-mailgroep aangemaakt. (Gebruikers kunnen echter ook nieuwe sleutels genereren, wat betekent dat de e-mailadressen mogelijk ouder zijn dan hun huidige sleutels.)
Een van de eerste van deze gebruikers op de lijst gebruikte de naam Jigar Kumar. Kumar verschijnt in april 2022 op de XZ-mailinglijst voor ontwikkeling en klaagt dat sommige functies van de tool verwarrend zijn. Tan reageerde onmiddellijk op de opmerking. (Kumar reageerde niet op een verzoek om commentaar.)
Kumar kwam herhaaldelijk met daaropvolgende klachten naar voren, waarbij hij soms voortbouwde op de ontevredenheid van anderen. Nadat Dennis Ens op dezelfde mailinglijst verscheen, klaagde Ens ook over het uitblijven van reactie op een van zijn berichten. Collin erkende dat de zaken zich opstapelden en zei dat Tan hem van de lijst had geholpen; hij zou binnenkort “een grotere rol kunnen spelen bij XZ Utils.” (Ens heeft niet gereageerd op een verzoek om commentaar.)
Na nog een klacht van Kumar waarin om een nieuwe beheerder werd gevraagd, antwoordde Collin: “Ik ben mijn interesse niet kwijtgeraakt, maar mijn vermogen om te zorgen is tamelijk beperkt, vooral vanwege langdurige geestelijke gezondheidsproblemen, maar ook vanwege een aantal andere dingen. Onlangs heb ik een beetje buiten de lijst gewerkt met Jia Tan aan XZ Utils en misschien zal hij in de toekomst een grotere rol spelen, we zullen zien.
De druk bleef komen. “Zoals ik in eerdere e-mails heb aangegeven, kan Jia Tan in de toekomst een grotere rol in het project spelen”, reageerde Collin nadat Ens had voorgesteld om enkele verantwoordelijkheden over te dragen. “Hij heeft veel buiten de lijst geholpen en is praktisch al mede-onderhouder. :-)”
Ens bleef daarna twee jaar stil en verscheen opnieuw rond de tijd dat het grootste deel van de kwaadaardige achterdeurcode in de XZ-software werd geïnstalleerd. Ens bleef aandringen op steeds snellere updates.
Nadat Collin Tan uiteindelijk tot mede-onderhouder had gemaakt, volgde er een poging om XZ Utils – dat inmiddels de achterdeur had – op grote schaal te verspreiden. Nadat hij in juni 2023 voor het eerst opdook in de XZ GitHub-repository, ging een andere figuur die zichzelf Hans Jansen noemde, in maart aandringen op de opname van de nieuwe versie van XZ in Debian Linux. (Jansen reageerde niet op een verzoek om commentaar.)
Een medewerker van Red Hat, een softwarebedrijf van IBM, dat Fedora, een ander populair Linux-besturingssysteem, sponsort en helpt onderhouden, beschreef dat Tan hem probeerde te overtuigen om te helpen de gecompromitteerde XZ Utils aan Fedora toe te voegen.
Deze populaire Linux-besturingssystemen zijn verantwoordelijk voor miljoenen computergebruikers – wat betekent dat grote aantallen gebruikers open zouden staan voor compromissen als Freund, de ontwikkelaar, de achterdeur niet had ontdekt.
“Hoewel de mogelijkheid om achterdeurtjes in kritieke software sociaal te engineeren een aanklacht lijkt tegen open source-projecten, geldt dit niet exclusief voor open source en kan het overal gebeuren”, aldus Molly. “In feite was de mogelijkheid voor de ingenieur om deze achterdeur te ontdekken voordat deze werd verscheept alleen mogelijk vanwege het open karakter van het project.”
Bron: theintercept.com