De XZ-factor: sociale kwetsbaarheden in open source projecten
Artikel: Daniël Sierat – CTI Specialist, Ruben Faber – Strategisch Adviseur Cybersecurity en Bas Schalbroeck – Senior CTI Specialist
Een Microsoft-consultant ontdekte, min of meer per toeval, dat veelgebruikte open source software was voorzien van een backdoor [1]. Hij vond een backdoor in liblzma, onderdeel van de xz-compressietool, een veelgebruikt component binnen het Linux-ecosysteem. Het toeval ontstond doordat de ontdekker een experiment uitvoerde met zijn eigen database tool op een testversie van Linux-distributie Debian Sid. Debian Sid is de ‘unstable’ release van Debian – een zeer recente versie met de nieuwste code, niet bedoeld voor productiesystemen, maar om mee te testen. De ontdekker onderzocht prestatieproblemen op een systeem met de laatste versie van Debian toen het hem opviel dat zijn beheerverbindingen via het SSH protocol langzamer waren dan normaal. Bij het experiment viel op dat de snelheid van de database-tests, specifiek het opzetten van SSH-verbindingen, veel trager was op de nieuwe Debian distributie. Hij stelde uiteindelijk in verder onderzoek vast dat een nieuw stukje software extra checks deed bij het opzetten van een SSH-verbinding. Vervolgens werd duidelijk dat het stukje code met kwaadaardige opzet was toegevoegd, om bij gebruik van een specifieke sleutel SSH toegang te geven op systeem-niveau [2].
De kwaadaardige code was Debian Sid binnengeslopen via een ‘upstream’ code-commit in XZ [1]. Voor het samenstellen (builden) van een Linux-distributie wordt een heleboel software vanuit allerlei open source repositories bij elkaar gezocht. Daarmee werd de in XZ geïntroduceerde code verpakt in de Sid-release van Debian. Ook andere distributies zoals Red Hat [2], OpenSUSE [3], Kali [4], Arch [5] en Ubuntu [6] bleken de code al te hebben verwerkt in hun ‘unstable’ testversies.