Poging tot compromitteren van PHP-broncode

Onbekende aanvallers hebben geprobeerd om een achterdeurtje aan de broncode van de PHP-scripttaal toe te voegen.

Onbekende aanvallers hebben onlangs geprobeerd op een grootschalige supply-chain-aanval uit te voeren door schadelijke code in de officiële PHP GIT repository te introduceren. Als de aanvallers het achterdeurtje niet op tijd hadden opgemerkt, had deze op tal van webservers terecht kunnen komen en kunnen leiden tot de grootste supply-chain-aanval uit de geschiedenis.

Wat er met PHP gebeurde

De programmeurs die de PHP-taal ontwikkelen voeren wijzigen in de code door met gebruik van een repository die is gebouwd op het GIT-versiebeheersysteem. Na het implementeren van hun toevoegingen, wordt de code doorgestuurd voor nog een review. Tijdens een routinecheck merkte een ontwikkelaar een verdachte toevoeging op die in de opmerkingen als typo-correctie was gemarkeerd en toe was gevoegd in naam van Nikita Popov, een actieve PHP-ontwikkelaar. Bij nader onderzoek bleek dat dit een achterdeurtje was. Popov had deze wijziging nooit zelf doorgevoerd.

Na verdere verificatie bleek dat er nog een andere vergelijkbare toevoeging was geüpload naar de repository, dit keer toegeschreven aan Rasmus Lerdorf. Oplettende programmeurs merkten dit binnen enkele uren al op, dus de aankomende PHP 8.1-update (met een vervroegde release tegen het einde van het jaar) zal dit achterdeurtje niet bevatten.

Waarom de wijziging van de code gevaarlijk was

Een achterdeurtje in de repository zou aanvallers in staat kunnen stellen om op afstand schadelijke code op een webserver te runnen met gebruik van de gecompromitteerde versie van PHP. Ondanks de dalende populariteit is PHP nog altijd een van de meest gebruikte scripttalen voor webcontent en wordt het nog door ongeveer 80% van de webservers gebruikt. Hoewel niet alle beheerders hun tools tijdig updaten, is er een behoorlijk aantal dat hun servers up-to-date houdt om te voldoen aan interne of externe beveiligingsnormen. Als het achterdeurtje inderdaad de nieuwe versie van PHP binnen was gekomen, zou het hoogstwaarschijnlijk verspreid worden over de webservers van tal van bedrijven.

Hoe de aanvallers het achterdeurtje introduceerden

Experts zijn er zeker van dat de aanval het resultaat was van een kwetsbaarheid in de interne Git-server, en niet van een probleem met gecompromitteerde accounts van ontwikkelaars. Het risico dat iemand aan wijziging toewijst aan een andere gebruiker is in feite al lang bekend, en na dit incident is het PHP-ondersteuningsteam gestopt met het gebruik van de git.hp.net-server en overgestapt op de GitHub service repository (wat eerder alleen maar een mirror was).

Zo blijft u beschermd

Ontwikkelingsomgevingen vormen aantrekkelijke doelwitten voor cybercriminelen. Zodra ze de code van een softwareproduct dat gebruikers vertrouwen hebben gecompromitteerd, kunnen ze meerdere doelwitten in één keer bereiken via een supply-chain-aanval. Miljoenen gebruikers over de hele wereld gebruiken de populairste projecten, dus de bescherming hiervan tegen externe machinaties is bijzonder belangrijk.

  • Controleer regelmatig elke wijziging in code, zelfs wijzigingen die zogenaamd zijn doorgevoerd door eminente en betrouwbare programmeurs;
  • Houd de beveiliging van servers en diensten die voor ontwikkeling worden gebruikt in de gaten;
  • Gebruik gespecialiseerde online platforms om werknemers te trainen om moderne cyberdreigingen te kunnen detecteren.
Tips