Die Offenlegung sensibler Informationen ist eine Sicherheitslücke, bei der ein Large Language Model (LLM) in seinen Antworten unbeabsichtigt vertrauliche, private, proprietäre oder anderweitig eingeschränkte Daten preisgibt. Das kann passieren, wenn das Modell Informationen aus seinen Trainingsdaten weitergibt oder vertrauliche Details preisgibt, die ihm im Rahmen der Sitzung eines Nutzers zur Verfügung gestellt wurden. Angreifer können dies ausnutzen, indem sie bestimmte Anfragen formulieren oder Prompt-Injection-Techniken verwenden, um das Modell dazu zu bringen, Informationen preiszugeben, die es nicht preisgeben sollte. Das Hauptproblem besteht darin, dass das LLM nicht zwischen öffentlichen Daten und vertraulichen Informationen unterscheiden kann, die es verarbeitet hat.
Für Android relevante Arten von Offenlegungen
Leckage von Trainingsdaten: Dies tritt auf, wenn ein LLM bestimmte, wörtliche Datenfragmente, mit denen es trainiert wurde, ausgibt. Wenn die Trainingsdaten personenidentifizierbare Informationen (PII), proprietären Code oder interne Dokumente enthalten, kann das Modell diese Informationen bei entsprechender Aufforderung in seiner Ausgabe reproduzieren. Bei Android-Apps kann es sich dabei um vortrainierte Modelle handeln, die in der App enthalten sind, oder um Modelle, auf die über Cloud-APIs zugegriffen wird.
Offenlegung von Kontextdaten: Dies ist ein unmittelbares Risiko für Android-Apps, bei dem das LLM vertrauliche Informationen offenlegt, die ein Nutzer während einer App-Sitzung angibt. Wenn Ihre Anwendung es einem Nutzer beispielsweise erlaubt, personenidentifizierbare Informationen (PII) in ein LLM einzugeben, um sie zusammenzufassen, könnte ein nachfolgender Prompt-Injection-Angriff es einem Angreifer ermöglichen, das Modell so zu manipulieren, dass es die Inhalte offenlegt. Das gilt auch für alle sensiblen Daten, die Ihre App implizit an das LLM übergibt.
Warum das für Android-Entwickler wichtig ist
Die Offenlegung vertraulicher Informationen kann eine Anwendung und ihre Nutzer erheblich gefährden:
- Verstöße gegen den Datenschutz: Ein Angreifer könnte personenidentifizierbare Informationen wie Namen, E‑Mail-Adressen, Telefonnummern oder sogar Standortdaten von Ihren Nutzern abrufen, was zu Identitätsdiebstahl und schweren behördlichen Strafen führen könnte (z. B. gemäß DSGVO oder CCPA). Das ist besonders wichtig für Android-Apps, die Nutzerdaten verarbeiten.
- Diebstahl von geistigem Eigentum: Wenn das LLM Ihrer App proprietäre Algorithmen, Finanzdaten oder andere interne Geschäftsinformationen verarbeitet, könnte ein Angreifer die Offenlegung dieser Informationen erzwingen, was Ihrem Unternehmen erhebliche Wettbewerbs- und finanzielle Schäden zufügen könnte.
- Sicherheitslücken: Das LLM kann versehentlich Informationen auf Systemebene wie API-Schlüssel, Authentifizierungstokens oder Konfigurationsdetails preisgeben, die in seinen Trainingsdaten enthalten waren oder während einer Sitzung übergeben wurden. Dadurch entstehen kritische Sicherheitslücken für Ihr Backend oder andere Dienste.
- Schädigung des Rufs: Ein einzelner schwerwiegender Vorfall mit Datenlecks kann das Vertrauen der Nutzer zerstören, zu Deinstallationen von Apps und negativen Rezensionen führen und den Ruf Ihrer Anwendung und Marke irreparabel schädigen.
Maßnahmen für Android-App-Entwickler
Zur Eindämmung dieser Sicherheitslücke ist ein mehrschichtiger Ansatz erforderlich, der sich auf die Datenhygiene und die Kontrolle des Zugriffs des LLM in Ihrer Android-Anwendung konzentriert.
Data Sanitization und Datenminimierung:
- Eingaben bereinigen: Bevor Sie Nutzereingaben oder App-Daten an ein LLM senden, müssen Sie sie gründlich bereinigen und anonymisieren. Entfernen Sie alle personenidentifizierbaren Informationen und vertraulichen Informationen, die für die Aufgabe des LLM nicht unbedingt erforderlich sind.
- Nur das Nötigste erheben: Halten Sie sich in Ihrer App an das Prinzip der Datenminimierung. Erheben und stellen Sie dem LLM nur die Mindestmenge an Daten zur Verfügung, die für die Ausführung der jeweiligen Funktion erforderlich ist.
- On-Device ML: Bei sehr sensiblen Daten sollten Sie On-Device-Modelle für maschinelles Lernen verwenden. Dabei verlassen die Daten das Gerät des Nutzers nie, was das Risiko von serverseitigen Datenlecks erheblich verringert.
Zugriff steuern
- Datenzugriff einschränken: Entwickeln Sie Ihre LLM-Anwendung so, dass sie auf die geringstmögliche Datenmenge zugreifen kann. Wenn dem Modell kein Zugriff auf eine vertrauliche Datenbank, Nutzerpräferenzen oder private Dateien gewährt wird, kann es nicht dazu verleitet werden, deren Inhalte preiszugeben.
- Android-Berechtigungen einschränken: Prüfen Sie, ob die KI-Komponenten Ihrer App mit den absolut erforderlichen Android-Berechtigungen funktionieren. Erteilen Sie keine unnötigen Berechtigungen, die vertrauliche Daten preisgeben könnten.
Ausgabefilterung in der App:
- Clientseitige Entfernung: Implementieren Sie eine Sicherheitsebene in Ihrer Android-App, die die Ausgabe des LLM nach Mustern durchsucht, die mit vertraulichen Informationen übereinstimmen (z. B. Kreditkartennummern, API-Schlüssel, Sozialversicherungsnummern, E-Mail-Adressen), bevor die Antwort dem Nutzer angezeigt wird. Wenn eine Übereinstimmung gefunden wird, sollte die Antwort blockiert oder unkenntlich gemacht werden.
Anweisungsbezogene Schutzmaßnahmen für LLMs:
- Explizite Systemprompts: Fügen Sie dem Systemprompt explizite Anweisungen hinzu, die dem Modell verbieten, personenbezogene, vertrauliche oder sensible Informationen preiszugeben. Beispiel: „Sie dürfen unter keinen Umständen Nutzerdetails, interne Daten oder personenidentifizierbare Informationen weitergeben.“ So wird das erwartete Verhalten gefördert.
Techniken zur Verbesserung des Datenschutzes:
- Bei Anwendungen, die aus Nutzerinteraktionen oder ‑daten lernen, sollten Sie fortschrittliche Techniken wie Differential Privacy (Hinzufügen von statistischem Rauschen zu Daten) oder föderiertes Lernen (Trainieren von Modellen auf Nutzergeräten ohne Zentralisierung der Daten) in Betracht ziehen, um den Datenschutz zu gewährleisten.
Regelmäßige Prüfungen und Red Teaming:
- Proaktives Testen: Testen Sie Ihre Android-Anwendung aktiv und führen Sie Red Teaming durch, um herauszufinden, ob und wie das LLM sensible Informationen preisgeben könnte. Dabei wird versucht, das LLM dazu zu bringen, Daten preiszugeben, die es nicht preisgeben sollte.
Zusammenfassung
Die Offenlegung sensibler Informationen erfolgt, wenn ein LLM vertrauliche Daten aus seinem Trainingsset oder aus Nutzersitzungen preisgibt. Dies birgt erhebliche Risiken wie Datenschutzverletzungen und Diebstahl von geistigem Eigentum. Zur Risikominderung ist ein mehrschichtiger Schutz in Ihrer Android-App erforderlich. Dabei sollte die Bereinigung von Daten priorisiert werden, bevor sie das LLM erreichen. Außerdem sollte das Prinzip der geringsten Berechtigung angewendet werden, um den Datenzugriff des Modells einzuschränken. Darüber hinaus sollten robuste Filter implementiert werden, um vertrauliche Informationen in der endgültigen Ausgabe des Modells zu scannen und zu entfernen, bevor sie den Nutzer erreichen. Durch die Nutzung von On-Device-ML und Tools wie Firebase App Check kann die Sicherheit weiter verbessert werden.
Zusätzliche Ressourcen
Hier finden Sie Links zu einigen Richtlinien zu vertraulichen Informationen:
Wenn Sie andere Modelle verwenden, sollten Sie sich ähnliche Anleitungen und Ressourcen ansehen.
Weitere Informationen: