3min Security

Cloud credentials massaal gelekt in populaire apps

Cloud credentials massaal gelekt in populaire apps

De App Store en Google Play Store bieden een schat aan applicaties. Die huisvesten zelf regelmatig een extra cadeautje voor cybercriminelen: hardcoded credentials voor AWS en Azure Blob Storage.

Het probleem wordt aangekaart door twee onderzoekers bij Broadcom’s Symantec Security Technology & Response, Yuanjing Guo en Tommy Dong. “Iedereen die toegang heeft tot de binary of broncode van de app kan deze credentials achterhalen en misbruiken om gegevens te manipuleren of te exfiltreren, wat kan leiden tot ernstige security-schendingen.”

De gevolgen kunnen groot zijn, zoals het verwijderen of manipuleren van backend-diensten of het lekken van bedrijfseigen data. Daarnaast zouden aanvallers de credentials kunnen misbruiken om gebruikersdata te stelen, aangezien deze zich ook in AWS of Azure Blob Storage kunnen bevinden.

AWS- en Azure-lekken

De losslingerende credentials zijn het resultaat van achterstallig codeerwerk, zo blijkt uit de voorbeelden. Immers laadt een Android-app met 5 miljoen downloads de AWS-credentials in voor een Amazon S3 bucket gebruikt in productie. Met minimaal sleutelwerk laadt de app in kwestie de staging credentials, ofwel de data bedoeld voor het testen van de app.

Elders maken app-ontwikkelaars het kwaadwillenden nog makkelijker. Een iOS-app met 3,9 miljoen ratings en een hoge plaatsing in de eigen categorie bevat plaintext credentials, waaronder een access key en secret key. Ook andere apps maken via hardcoded credentials contact met AWS, een praktijk die door de Symantec-onderzoekers wordt omschreven als een “ernstig risico.”

De AWS-lekkage is niet uniek; ook Azure Blob Storage wordt blootgelegd. Wederom gaat het om hardcoded gegevens binnen apps met miljoenen of honderdduizenden downloads. Soms gaat het om een lek in de binary zelf, dat het opsporen ervan kinderspel maakt.

Gemak boven veiligheid?

Deze trend laat twee zaken zien. Allereerst is de trend die de Symantec-onderzoekers aanstippen evident. Klaarblijkelijk is het een gewoonte onder menig app-ontwikkelaar om op deze manier credentials te implementeren, feitelijk alsof het gaat om een publieke API-key.

Tegelijkertijd is er een gebrek aan standaardisering, want de methodiek verschilt behoorlijk. Soms gaat het om connection strings waarin credentials schuilen, maar regelmatig betreft het plaintext gegevens binnen de binary die eigenlijk achter slot en grendel moeten zitten.

De Symantec-onderzoekers roepen op om over te gaan op veiligere codeertechnieken. Omgevingsvariabelen laden bijvoorbeeld in tijdens runtime en lekken geen gevoelige credentials in de code zelf. Ook moeten developers simpelweg gebruikmaken van de hulp die AWS (via Secrets Manager) of Microsoft (via Azure Key Vault) al biedt. Eveneens ontbreekt er nu encryptie waar dat hoort.

In een bredere zin is er duidelijk een gebrek aan code reviews/audits en geautomatiseerde security-scans. Daarom raadt Symantec ontwikkelteams aan deze technieken toe te passen om eventuele problemen al vroeg op te sporen. Daarnaast is het gebruik van security-apps aan te raden, en niet geheel verrassend raadt Symantec hierbij Symantec Endpoint Protection aan.

Lees ook: 10 miljard wachtwoorden gedumpt op hackersforum BreachForums