Overslaan en naar de inhoud gaan

Aanvalsroute voor PHP-backdoors getraceerd naar oude database

De digitale inbraak bij de ontwikkelaars van scripttaal PHP lijkt toch niet te zijn uitgevoerd via een kraak van de officiële, zelf-gehoste ontwikkelserver van het PHP-team. Nadere analyse heeft een lekkende database aan het licht gebracht. Hoewel het authenticatie- en beheersysteem "zeer oude code op een zeer oud besturingssysteem" draait.
beveiligingslek
© CC BY 2.0 - Flickr.com
CC BY 2.0 - Flickr.com

De ontwikkelaars van de veelgebruikte scripttaal PHP maken vorderingen met hun analyse van hoe onbekende aanvallers zijn binnengekomen in hun ontwikkelomgeving. De kwaadwillenden zijn er eind vorige maand in geslaagd om enkele codetoevoegingen te pushen op naam van officiële ontwikkelaarsaccounts. De codecommits bleken backdoors te bevatten, wat net op tijd is ontdekt.

Lekkende gebruikersdatabase

In een nieuwe informatie-update geeft maintainer Nikita Popov aan dat het PHP-team niet langer er van uit gaat dat de eigen Git-server (git.php.net) is gehackt. Het is echter mogelijk dat de master.php.net-gebruikersdatabase is uitgelekt, geeft hij aan. Die server is nu gemigreerd naar een nieuw systeem: main.php.net.

Andere maatregelen die inmiddels zijn genomen, omvatten het resetten van alle wachtwoorden voor php.net. Hierdoor moeten alle gebruikers een nieuw wachtwoord instellen. Verder zijn de servers git.php.net en svn.php.net nu op read-only gezet. Die twee systemen blijven vooralsnog wel beschikbaar, meldt Popov. Het PHP-team is van de zelfgehoste Git-omgeving overgestapt naar GitHub, wat al gebruikt werd als mirror.

Onveiliger via https

Uit de analyse van de hack komt nu naar voren dat git.php.net het pushen van codewijzigingen op een voorheen niet bekende en onveilige wijze toestond. Het 'invoeren' van nieuwe code kon niet alleen via SSH maar ook via https. Laatstgenoemde liep dan niet via Gitolite, een systeem voor access control dat bovenop ontwikkelsoftware Git draait. In plaats daarvan gebeurde controle op een minder veilige wijze: via wachtwoorden die werden gecontroleerd met de master.php.net-database.

De codecommits met daarin de backdoors zijn inderdaad via https en wachtwoordgebaseerde authenticatie ingediend, weet Popov te bevestigen op basis van logs. "Het is opvallend dat de aanvaller maar een paar gokken heeft gedaan voor gebruikersnamen, en succesvol weet te authenticeren zodra de juiste gebruikersnaam is gevonden."

Zeer oude software

"Terwijl we geen specifiek bewijs hebben, is een mogelijke verklaring dat de gebruikersdatabase van master.php.net is uitgelekt", meldt de PHP-maintainer. Hij voegt daar gelijk aan toe dat het onduidelijk is waarom de aanvaller dan gebruikersnamen moest raden, als de database van gebruikersaccounts echt was uitgelekt.

De bewuste server draait wel "zeer oude code op een zeer oud besturingssysteem / PHP-versie", geeft Popov aan. Details worden hierbij niet gegeven, maar enkele hints over de oude software zijn wel af te leiden. Zo meldt de maintainer dat de master.php.net-server is gemigreerd naar een nieuw systeem wat PHP 8 draait. Daarbij is het hernoemd naar main.php.net, en ondersteunt dat nieuwe systeem TLS 1.2. Dit suggereert een PHP-installatie van vóór versie 8, en TLS-versie 1.1 of nog ouder.

MD5-hashing

Verder is de gemigreerde implementatie van de PHP-server voorzien van betere bescherming tegen SQL-injecties (door middel van geparametriseerde queries). De wachtwoorden zijn nu opgeslagen met hashingfunctie bcrypt, wat voorheen met in wezen een simpele md5-hash was gedaan. Laatstgenoemde was vereist voor http-authenticatie via git.php.net en svn.php.net. Op GitHub is wachtwoord-gebaseerde authenticatie al geruime tijd verouderd verklaard (deprecated), en wordt het per 13 augustus uitgeschakeld.

MELD JE AAN VOOR DE SECURITY GAME!

Meld je gratis aan voor de Security Game van AG Connect op donderdag 22 april. Tijdens deze middag ga je de strijd aan met hackers in een echte security escaperoom. Game-elementen worden afgewisseld met inhoudelijke sessies over security. Meer weten? Ga naar de website voor meer informatie of aanmelden.

Reacties

Om een reactie achter te laten is een account vereist.

Inloggen Word abonnee

Bevestig jouw e-mailadres

We hebben de bevestigingsmail naar %email% gestuurd.

Geen bevestigingsmail ontvangen? Controleer je spam folder. Niet in de spam, klik dan hier om een account aan te maken.

Er is iets mis gegaan

Helaas konden we op dit moment geen account voor je aanmaken. Probeer het later nog eens.

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in