De xz Utils Backdoor Case: een bijna-misser voor wereldwijde cybersecurity door middel van een Supply Chain-aanval

9 april 2024 | Miscelanea

In de wereld van cybersecurity heeft de recente onthulling van een achterdeur die bijna samensmelt met de alomtegenwoordige xz Utils, een datacompressietool die veel wordt gebruikt in Linux en Unix-achtige systemen, een schokgolf door de techwereld veroorzaakt. De potentieel catastrofale gevolgen van deze bijna-ongeluk onderstrepen het belang van waakzaamheid en transparantie bij de ontwikkeling van open-source software.

Wat is xz Utils?

xz Utils is een set open-source datacompressieprogramma's, ontworpen voor Unix-achtige besturingssystemen, met name Linux. Het biedt verliesloze compressie, wat betekent dat de gegevens kunnen worden gecomprimeerd en gedecomprimeerd zonder enig informatieverlies.

XZ Utils draait in essentie voornamelijk om het XZ-formaat, dat bekendstaat om zijn hoge compressieverhouding en efficiënte gebruik van systeembronnen. Het wordt vaak gebruikt voor het comprimeren van grote bestanden of archieven, waardoor het een essentiële tool is voor softwaredistributie, systeemback-ups en gegevensopslag.

Naast het xz-formaat ondersteunt xz Utils ook het oude .lzma-formaat, de voorganger ervan. Deze achterwaartse compatibiliteit zorgt ervoor dat oudere systemen en software nog steeds kunnen werken met bestanden die zijn gecomprimeerd met xz Utils.

xz Utils is een cruciaal onderdeel van Unix-achtige systemen en biedt efficiënte en betrouwbare gegevenscompressiemogelijkheden die essentieel zijn voor verschillende computertaken, zoals SSH-services (Secure Shell).

Wat is SSH?

SSH, wat staat voor Secure Shell, is een cryptografisch netwerkprotocol dat wordt gebruikt voor veilige communicatie via een onveilig netwerk. Het stelt gebruikers in staat om op een veilige manier toegang te krijgen tot en beheer uit te voeren op externe systemen en apparaten via een netwerk, zoals het internet. SSH biedt een veilig alternatief voor traditionele protocollen zoals Telnet, die gegevens in platte tekst verzenden, waardoor ze kwetsbaar zijn voor onderschepping en ongeautoriseerde toegang.

Dit zijn enkele belangrijke kenmerken en functies van SSH:

Veilige externe toegang:SSH stelt gebruikers in staat om veilig in te loggen op externe systemen en op afstand opdrachten uit te voeren op die systemen. Dit wordt vaak gebruikt door systeembeheerders om servers en netwerkapparaten te beheren.

Data encryptie: SSH versleutelt alle gegevens die tussen de client en de server worden verzonden, inclusief gebruikersnamen, wachtwoorden en opdrachten, met behulp van cryptografische algoritmen. Dit zorgt ervoor dat gevoelige informatie vertrouwelijk blijft en niet door aanvallers kan worden onderschept.

authenticatie:SSH ondersteunt verschillende authenticatiemethoden, waaronder wachtwoordgebaseerde authenticatie, openbare-sleutelauthenticatie en interactieve toetsenbordauthenticatie. Openbare-sleutelauthenticatie wordt als veiliger beschouwd en heeft vaak de voorkeur voor geautomatiseerde processen en veilige toegang zonder wachtwoorden.

port Forwarding: SSH ondersteunt poortdoorschakeling, waardoor gebruikers veilig netwerkverbindingen kunnen tunnelen tussen lokale en externe systemen. Deze functie is handig om veilig toegang te krijgen tot services die op externe systemen draaien of om firewallbeperkingen te omzeilen.

Veilige bestandsoverdracht:SSH omvat hulpprogramma's zoals SCP (Secure Copy) en SFTP (SSH File Transfer Protocol) voor veilige bestandsoverdracht tussen systemen. Deze hulpprogramma's versleutelen bestandsoverdrachten en bieden authenticatie om de integriteit en vertrouwelijkheid van gegevens te waarborgen.

SSH is een belangrijk hulpmiddel voor het veilig benaderen en beheren van externe systemen. Het biedt encryptie, authenticatie en andere beveiligingsfuncties om gevoelige informatie te beschermen en veilige communicatie via netwerken te garanderen.

Het onthullen van de xz Utils-achterdeur

De ontdekking van de backdoor was niets minder dan een meevaller, aan het licht gebracht door Andres Freund, een ontwikkelaar die werkt aan Microsofts PostgreSQL-aanbod. Tijdens het oplossen van prestatieproblemen op een Debian-systeem merkte Freund afwijkend gedrag op bij SSH (Secure Shell)-aanmeldingen, wat uiteindelijk leidde tot de conclusie dat het probleem te wijten was aan kwaadaardige updates binnen xz Utils.

Bij nadere inspectie bleek dat versie 5.6.0 en 5.6.1 van xz Utils een backdoor bevatten die de SSH-uitvoerbare bestanden manipuleert, waardoor kwaadwillenden mogelijk willekeurige code op gecompromitteerde systemen kunnen uitvoeren.

De tijdlijn van de achterdeur

De tijdlijn van de gebeurtenissen die tot deze onthulling hebben geleid, schetst een verontrustend beeld van opzettelijke infiltratie in open-sourceprojecten. Het lijkt erop dat een gebruiker die geïdentificeerd is als JiaT75 Initieerde subtiele veranderingen in open-sourceprojecten en won geleidelijk aan geloofwaardigheid binnen de community. Deze veranderingen resulteerden in de toevoeging van een backdoor aan xz Utils, waarmee het vertrouwen en de samenwerking die inherent zijn aan open-sourceontwikkeling werden benut.

2021:
De eerste activiteit van JiaT75. In 2021 maakte een gebruiker met de gebruikersnaam JiaT75 zijn eerste bekende commit aan een open-sourceproject. Een opvallende wijziging werd aangebracht in het libarchive-project, ter vervanging van de veilige_afdruk functioneren met een variant die minder veilig was. Deze verandering bleef destijds onopgemerkt.

2022:
Introductie tot xz Utils. JiaT75 diende een patch in via de xz Utils-mailinglijst, waaruit bleek dat hij betrokken was bij de ontwikkeling van xz Utils. Kort daarna mengde een voorheen onbekende deelnemer, Jigar Kumar, zich in de discussie en uitte zijn ongenoegen over het onderhoud van het project.

Druk voor verandering. Kumar, samen met supporters zoals Dennis Ens en andere nieuwkomers op de mailinglijst, zette Lasse Collin, de jarenlange beheerder van xz Utils, onder druk om extra ontwikkelaars aan te stellen voor het project. Deze druk maakte mogelijk de weg vrij voor verdere infiltratie.

Januari 2023:
Actieve betrokkenheid: JiaT75, nu onder de naam Jia Tan, maakte zijn eerste commitment aan xz Utils. In de daaropvolgende maanden raakte Tan steeds meer betrokken bij xz Utils en ondernam hij acties zoals het vervangen van Collins contactgegevens door hun eigen gegevens op oss-fuzz, een project voor het scannen van kwetsbaarheden in open-source software.

Februari 2024:
Implementatie van de backdoor: Tan heeft commits uitgebracht voor versie 5.6.0 en 5.6.1 van xz Utils, die de implementatie van de backdoor bevatten. Deze updates bleven aanvankelijk grotendeels onopgemerkt, omdat de backdoor discreet in de software opereerde.

Oproepen tot integratie: Na de implementatie van de backdoor deden Tan en zijn handlangers een beroep op ontwikkelaars van grote Linux-distributies, waaronder Ubuntu, Red Hat en Debian, om de updates in hun besturingssystemen te integreren. Een van de updates kwam uiteindelijk terecht in de releases van Debian en Red Hat.

Ontdekking van de achterdeur:

Onderzoek van Andres Freund: De backdoor werd aan het licht gebracht door Andres Freund, een ontwikkelaar die werkt aan Microsofts PostgreSQL-aanbod. Freund merkte afwijkend gedrag op bij SSH-aanmeldingen op een Debian-systeem en herleidde het probleem tot updates binnen xz Utils.

Onthulling over Open Source Security List: Vrijdag onthulde Freund de aanwezigheid van de backdoor op de Open Source Security List, waarbij hij aantoonde dat de backdoor opzettelijk in xz Utils is geplaatst.

Na de ontdekking:

Analyse en mitigatie: Beveiligingsonderzoekers en -ontwikkelaars hebben hard gewerkt aan de analyse van de schadelijke updates en de ontwikkeling van tools om mogelijke gevallen van de backdoor te detecteren en te mitigeren. Verschillende tools en methoden, waaronder gedragsanalyse en reverse engineering, werden ingezet om de dreiging aan te pakken.

De tijdlijn benadrukt de geleidelijke infiltratie en manipulatie van een open source-project, wat bijna leidde tot de succesvolle implementatie van een achterdeur in een veelgebruikt softwarehulpprogramma. Dit onderstreept het belang van waakzaamheid en toezicht in softwareontwikkelings- en onderhoudsprocessen.

De achterdeur begrijpen

De verfijning van de backdoor schuilt in het vermogen om detectie te omzeilen en kwaadaardige payloads nauwkeurig uit te voeren. Door het SSH-uitvoerbestand te manipuleren via xz Utils, zouden aanvallers mogelijk gevoelige systemen kunnen compromitteren en kritieke gegevens kunnen exfiltreren.

De dreiging verzachten

Naar aanleiding van deze ontdekking heeft de cybersecuritygemeenschap zich gemobiliseerd om de dreiging van de backdoor te beoordelen en te beperken. Hulpmiddelen zoals binair en xzbot zijn ontwikkeld om te helpen bij het detecteren en analyseren van mogelijke gevallen van de backdoor.

De rol van Valgrind

Valgrind, een hulpprogramma voor het monitoren van computergeheugen, speelde een cruciale rol bij het ontdekken van schadelijke updates in xz Utils. Door afwijkingen in CPU-gebruik en geheugenbewerkingen te identificeren, konden ontwikkelaars de oorzaak van het probleem achterhalen en wijdverbreide exploitatie voorkomen. Valgrind is een open-source programmeertoolsuite, ontworpen voor het debuggen en profileren van applicaties. Het biedt een reeks tools die ontwikkelaars helpen geheugenlekken te identificeren, geheugenfouten te detecteren, geheugengebruik te profileren en programma-uitvoering te analyseren. Enkele belangrijke kenmerken en componenten van Valgrind:

Geheugenfoutdetectie:Valgrind bevat hulpmiddelen zoals Memcheck, die verschillende geheugengerelateerde fouten in programma's opspoort, waaronder geheugenlekken, ongeldige geheugentoegang (zoals lezen van of schrijven naar niet-geïnitialiseerd geheugen) en wanbeheer van dynamische geheugentoewijzing (bijvoorbeeld het vrijgeven van geheugen dat al is vrijgemaakt).

Detectie van draadfouten: De ThreadSanitizer (TSan)-tool van Valgrind detecteert data races en andere threading-fouten in multithreaded programma's. Het helpt bij het identificeren van gelijktijdigheidsfouten die kunnen leiden tot onvoorspelbaar gedrag en moeilijk te debuggen problemen.

Profiling: Valgrind biedt profileringstools zoals Callgrind en Cachegrind, die helpen bij het analyseren van programmaprestaties door de frequentie van functieaanroepen, cachegebruik en uitvoeringstijd te meten. Deze tools helpen ontwikkelaars knelpunten te identificeren en de prestaties van hun applicaties te optimaliseren.

Programma-uitvoeringsanalyse: De tools van Valgrind kunnen ook de uitvoering van programma's op instructieniveau volgen, waardoor ontwikkelaars het programmagedrag gedetailleerd kunnen analyseren. Dit kan nuttig zijn om de programmastroom te begrijpen, prestatieknelpunten te identificeren en moeilijk te vinden bugs te diagnosticeren.

platform Ondersteuning: Valgrind wordt voornamelijk gebruikt op Unix-achtige besturingssystemen, waaronder Linux, macOS en BSD-varianten. Het ondersteunt een breed scala aan programmeertalen en compilers, waaronder C, C++ en Fortran, en kan worden geïntegreerd in diverse ontwikkelomgevingen en buildsystemen.

Impact op het leverancierslandschap

De ontdekking van de backdoor in xz Utils heeft een weerslag gehad op het leverancierslandschap en heeft geleid tot aanzienlijke zorgen en proactieve maatregelen bij softwareleveranciers. Gezien de wijdverbreide integratie van xz Utils in verschillende Linux-distributies, zijn de potentiële gevolgen van de infiltratie van de backdoor verreikend. Leveranciers staan ​​nu voor de taak hun softwaretoeleveringsketens opnieuw te beoordelen, afhankelijkheden te onderzoeken en hun ontwikkelings- en distributiepijplijnen te versterken tegen soortgelijke bedreigingen. Het incident onderstreept het cruciale belang van transparantie, codebeoordelingsprocessen en beveiligingsaudits in de ontwikkeling van open-sourcesoftware. Bovendien dient het als een duidelijke herinnering aan de noodzaak van voortdurende waakzaamheid en samenwerking binnen de softwaregemeenschap om zich te beschermen tegen kwaadwillenden die kwetsbaarheden in veelgebruikte softwarecomponenten proberen te misbruiken. Leveranciers staan ​​nu voor de uitdaging om het vertrouwen van gebruikers te herstellen, strenge beveiligingsprotocollen te implementeren en een cultuur van verantwoording te bevorderen om de risico's van dergelijke kwetsbaarheden in de toekomst te beperken.

RELIANOID Load Balancer Er zijn updates geleverd en onze oplossingen hebben de backdoor niet aangetast. Neem contact op met de deskundigen voor meer informatie.

Geniet van de ervaring met sitebetrouwbaarheid!

Gerelateerde blogs

Geplaatst door reluser | 28 mei 2026
Het digitale landschap evolueert snel en bedrijven moeten ervoor zorgen dat hun websites en applicaties probleemloos functioneren. Een van de meest effectieve manieren om dit te bereiken is door middel van load balancing…
223 LikesReacties uitgeschakeld Inzicht in taakverdeling: het optimaliseren van prestaties en betrouwbaarheid
Geplaatst door reluser | 25 mei 2026
Representatieve IT-toepassingen in de blauwe economie Net zoals Amadeus de luchtvaartsector transformeerde met digitale platforms, maakt de blauwe economie een golf van digitale innovatie door. Hieronder volgen enkele voorbeelden…
285 LikesReacties uitgeschakeld Over IT-toepassingen voor de blauwe economie: van slimme havens tot visserijmonitoring – en hoe RELIANOID Betrouwbaarheid en veiligheid van de energievoorziening
Geplaatst door reluser | 22 mei 2026
Een ernstig beveiligingslek heeft opnieuw de kwetsbaarheid van gegevensbescherming op internet blootgelegd. Onderzoeker Jeremiah Fowler ontdekte een openbaar toegankelijke database met meer dan 184 miljoen inloggegevens…
354 LikesReacties uitgeschakeld Over grootschalige datalekken: lessen uit een inbreuk op 184 miljoen records