Een Duitse student van de Berlijnse Humboldt-universiteit heeft een aanval ontwikkeld op basis van spelfouten die gebruikers maken bij het installeren van software packages. Door packages met soortgelijke namen te ontwikkelen wist hij op 17.289 hosts willekeurige code uit te voeren.
De student, Nikolai Tschacher, schrijft dat hij op het idee voor deze aanval is gekomen door te kijken naar een praktijk die vaak bij domeinnamen wordt ingezet en bekendstaat als 'typosquatting'. Daarbij registreert een kwaadwillende partij bijvoorbeeld een domeinnaam die lijkt op een bestaand merk, maar dan met een lichte afwijking. Bijvoorbeeld gooogle.com in plaats van google.com. Omdat gebruikers soms spelfouten maken bij het typen van een domeinnaam, bestaat de kans dat zij op de nepsite terechtkomen, die bijvoorbeeld malware kan serveren.
Tschacher realiseerde zich dat deze methode ook op een andere manier ingezet kan worden, namelijk bij de installatie van software packages op computersystemen. Daarbij typt een gebruiker vaak een bepaald commando om software te installeren, bijvoorbeeld sudo pip install requests. Daarmee wordt de 'requests'-package geïnstalleerd uit de Python-repository, genaamd PyPi. De onderzoeker beschrijft dat hij naast PyPi ook de Ruby- en Node.js-repositories als doelwit heeft gekozen.
Hij voerde zijn onderzoek uit door 214 verschillende packages aan te maken, waarvan de namen veelvoorkomende spelfouten bevatten. Bijvoorbeeld 'reqeusts' in plaats van 'requests' en 'coffe-script' in plaats van 'coffee-script'. In alle gevallen was het mogelijk om de code in zijn packages meteen uit te laten voeren bij de installatie. Ook voegde hij een functie toe die het 'slachtoffer' op de hoogte stelde van het feit dat er een spelfout is gemaakt en dat de verkeerde package is geïnstalleerd. Zijn programma's stuurden ook geanonimiseerde gegevens naar een server van de universiteit, aan de hand waarvan hij zijn analyse uitvoerde.
Uit zijn statistieken blijkt dat er 45.334 http-verzoeken door 17.289 hosts werden uitgevoerd tussen november 2015 en februari 2016. 43,6 procent van de verzoeken werd uitgevoerd met beheerdersrechten op Linux, Windows en OS X. Daardoor had hij volledige toegang tot die systemen kunnen verkrijgen. Tschacher was ook in staat om een worm op basis van zijn methode te ontwikkelen die op een geïnfecteerd systeem automatisch op zoek gaat naar packages die vaak verkeerd gespeld worden. Door de verkeerd gespelde packages vervolgens in de verschillende repositories te registreren, kon hij de effectiviteit van de worm vergroten.
De student schrijft dat de beste verdediging tegen een dergelijke aanval het uitschakelen van het direct uitvoeren van code bij de installatie van software is. Daarnaast is het verstandig om zelf een lijst van vaak verkeerd gespelde packages op te stellen en beheerders te waarschuwen als zij een spelfout maken. Ook het bijhouden van 404-meldingen van gefaalde installaties is een oplossing, zo stelt hij.