Hero Image

Über 1.000 iOS-Apps mit hartkodierten AWS-Anmeldeinformationen gefunden

Quelle: symantec-enterprise-blogs.security.com (Englisch)

Sicherheitsforscher schlagen Alarm, weil Entwickler mobiler Apps unsichere Praktiken anwenden, die die Anmeldedaten von Amazon Web Services (AWS) offenlegen und damit die Lieferkette angreifbar machen.

Böswillige Akteure könnten dies ausnutzen, um auf private Datenbanken zuzugreifen, was zu Datenschutzverletzungen und der Preisgabe persönlicher Daten von Kunden führen könnte.

Ausmaß des Problems

Forscher von Symantecs Threat Hunting Team, das zu Broadcom Software gehört, fanden 1.859 Anwendungen, die fest kodierte AWS-Anmeldeinformationen enthielten, die meisten davon waren iOS-Anwendungen und nur 37 für Android.

Etwa 77 % dieser Anwendungen enthielten gültige AWS-Zugangs-Tokens, die für den direkten Zugriff auf private Cloud-Dienste verwendet werden konnten.

Darüber hinaus enthielten 874 Anwendungen gültige AWS-Tokens, die Hacker für den Zugriff auf Cloud-Instanzen mit Live-Service-Datenbanken mit Millionen von Datensätzen verwenden können.

Diese Datenbanken enthalten in der Regel Benutzerkontodetails, Protokolle, interne Kommunikation, Registrierungsinformationen und andere sensible Daten, je nach Art der Anwendung.

Reale Beispiele

Die Bedrohungsanalysten heben in ihrem Bericht drei bemerkenswerte Fälle hervor, in denen die exponierten AWS-Tokens sowohl für die Autoren als auch für die Benutzer der anfälligen Anwendungen katastrophale Folgen hätten haben können.

Ein Beispiel ist ein Business-to-Business (B2B)-Unternehmen, das Intranet- und Kommunikationsdienste für über 15.000 mittlere bis große Unternehmen anbietet. 

Das Software Development Kit (SDK), das das Unternehmen seinen Kunden für den Zugriff auf seine Dienste zur Verfügung gestellt hat, enthält AWS-Schlüssel, wodurch alle auf der Plattform gespeicherten privaten Kundendaten offengelegt werden.

Ein weiterer Fall ist ein SDK eines Drittanbieters für digitale Identität und Authentifizierung, das von mehreren Banking-Apps auf iOS verwendet wurde und gültige Cloud-Anmeldedaten enthielt.

Dadurch wurden alle Authentifizierungsdaten aller Kunden dieser Banken, einschließlich Namen, Geburtsdaten und sogar biometrische digitale Fingerabdruck-Scans, in der Cloud offengelegt.

Schließlich fand Symantec eine von 16 Online-Glücksspiel-Apps genutzte Sportwetten-Technologieplattform, die ihre gesamte Infrastruktur und Cloud-Dienste mit Lese- und Schreibberechtigungen auf Administratorenebene offenlegte.

Warum ist das so?

Das Problem der fest kodierten und "vergessenen" Anmeldeinformationen für Cloud-Dienste ist im Grunde ein Problem der Lieferkette, da die Nachlässigkeit eines SDK-Entwicklers sich auf eine ganze Reihe von Anwendungen und Diensten auswirken kann, die darauf angewiesen sind.

Die Entwicklung mobiler Apps beruht auf vorgefertigten Komponenten, anstatt alles von Grund auf neu zu entwickeln. Wenn die App-Herausgeber die von ihnen verwendeten SDKs oder Bibliotheken nicht gründlich überprüfen, kann sich ein Sicherheitsrisiko auf ihr Projekt ausbreiten.

Was die Entwickler betrifft, die die Anmeldeinformationen fest in ihre Produkte kodieren, so ist dies eine Frage der Bequemlichkeit während des Entwicklungs- und Testprozesses und des Überspringens einer ordnungsgemäßen Codeüberprüfung auf Sicherheitsprobleme.

In Bezug auf die Gründe, warum dies geschieht, nennt Symantec die folgenden Möglichkeiten:

  • Herunter- oder Hochladen von Assets und Ressourcen, die für die App benötigt werden, in der Regel große Mediendateien, Aufnahmen oder Bilder
  • Zugriff auf Konfigurationsdateien für die App und/oder Registrierung des Geräts sowie Sammlung von Geräteinformationen und Speicherung in der Cloud
  • Zugriff auf Cloud-Dienste, die eine Authentifizierung erfordern, wie z. B. Übersetzungsdienste
  • Ohne besonderen Grund, toter Code und/oder zu Testzwecken verwendet und nie entfernt

Das Versäumnis, diese Anmeldeinformationen zu entfernen, wenn die Software für die Bereitstellung durch die Kunden bereit ist, ist eine Frage der Nachlässigkeit und das Ergebnis des Fehlens eines auf einer Checkliste basierenden Freigabeprozesses, der auch die Sicherheit berücksichtigt.