Die Grundlage für gute Sicherheitspraktiken beginnt in Ihrem Unternehmen.
Ein Team für Sicherheit und Datenschutz erstellen
Erstellen Sie ein spezielles Team für Sicherheit und Datenschutz und bestimmen Sie eine Führungskraft für diese Organisation.
- Ein Sicherheitsteam zusammenstellen:
- Mindestens ein Mitarbeiter muss für Sicherheit, Datenschutz und Reaktion auf Vorfälle verantwortlich sein.
- Legen Sie einen Auftrag und einen Umfang für dieses Team fest.
- Erstellen Sie eine Organisationsstruktur und Stellenbeschreibungen für: Sicherheitsmanager, Sicherheitsingenieur, Notfallmanager.
- Stellen Sie Mitarbeiter oder externe Auftragnehmer für diese Positionen ein.
- Definieren Sie einen Lebenszyklus der Sicherheitsentwicklung (Security Development Lifecycle, SDL). Ihr SDL sollte folgende Bereiche abdecken:
- Sicherheitsanforderungen an Produkte
- Risikoanalyse und Bedrohungsmodellierung.
- Statische und dynamische Analyse von Apps und Code.
- Endgültige Sicherheitsüberprüfungsprozesse für Produkte.
- Reaktion auf Vorfälle.
- Bewerten Sie die organisatorischen Risiken. Erstellen Sie eine Risikobewertung und entwickeln Sie Pläne, um diese Risiken zu beseitigen oder zu minimieren.
Bestätigungsprozess erstellen
Prüfen Sie die Lücken in Ihren bestehenden internen Build-Bestätigungs- und Genehmigungsverfahren.
- Identifizieren Sie Lücken in Ihrem aktuellen Build-Bestätigungsprozess, die zur Einführung einer potenziell schädlichen App in Ihrem Build führen könnten.
- Sie müssen einen Code-Review- und Genehmigungsprozess haben, auch für interne Patches für AOSP.
- Sie können die Build-Integrität verbessern, indem Sie Steuerelemente in diesen Bereichen implementieren:
- Änderungen verfolgen Softwareentwickler im Blick behalten und Änderungsprotokolle führen.
- Bewerten Sie die Risiken. Berechtigungen, die von einer App verwendet werden, werden bewertet. Codeänderungen müssen manuell überprüft werden.
- Beobachten Änderungen am privilegierten Code bewerten
Änderungsnachverfolgung für Quellcode
Prüfen Sie, ob unbeabsichtigte Änderungen am Quellcode oder an Drittanbieter-Apps/Binärdateien/SDKs vorgenommen wurden.
- Partnerschaften bewerten Bewerten Sie das Risiko der Zusammenarbeit mit einem technischen Partner anhand der folgenden Schritte:
- Legen Sie Kriterien fest, anhand derer das Risiko der Zusammenarbeit mit einem bestimmten Lieferanten bewertet wird.
- Erstellen Sie ein Formular, in dem der Lieferant gefragt wird, wie er Vorfälle behebt und Sicherheit und Datenschutz verwaltet.
- Prüfen Sie die Ansprüche mit einer regelmäßigen Prüfung.
- Änderungen verfolgen Notieren Sie, welche Unternehmen und Mitarbeiter den Quellcode ändern, und führen Sie regelmäßige Prüfungen durch, um sicherzustellen, dass nur geeignete Änderungen vorgenommen werden.
- Notizen machen Notieren Sie sich, welche Unternehmen Ihrem Build Binärdateien von Drittanbietern hinzufügen, und dokumentieren Sie, welche Funktionen diese Apps ausführen und welche Daten sie erheben.
- Planen Sie Updates. Ihre Lieferanten müssen Softwareupdates für die gesamte Lebensdauer Ihres Produkts bereitstellen. Für unvorhergesehene Sicherheitslücken ist möglicherweise der Support der Anbieter erforderlich.
Integrität und Herkunft des Quellcodes prüfen
Prüfen und validieren Sie den Quellcode, der von einem Originalgerätehersteller (ODM), einem Over-the-air-Update (OTA) oder einem Mobilfunkanbieter bereitgestellt wird.
- Signaturzertifikate verwalten
- Speichern Sie Schlüssel in einem Hardware Security Module (HSM) oder einem sicheren Cloud-Dienst und geben Sie sie nicht weiter.
- Der Zugriff auf Signaturzertifikate muss kontrolliert und geprüft werden.
- Erforderliche Codesignatur in Ihrem Build-System
- Verlorene Schlüssel widerrufen.
- Generieren Sie Schlüssel gemäß den Best Practices.
- Neuen Code analysieren Testen Sie neu hinzugefügten Code mit Sicherheitstools zur Codeanalyse, um zu prüfen, ob neue Sicherheitslücken eingeführt wurden. Außerdem sollten Sie die Gesamtfunktionalität analysieren, um neue Sicherheitslücken zu erkennen.
- Vor der Veröffentlichung prüfen Suchen Sie nach Sicherheitslücken im Quellcode und in Drittanbieter-Apps, bevor Sie sie in die Produktion übernehmen. Beispiel:
- Apps müssen eine sichere Kommunikation verwenden.
- Beachten Sie das Prinzip der geringsten Berechtigung und gewähren Sie nur die Mindestberechtigungen, die für die Funktion der App erforderlich sind.
- Sorgen Sie dafür, dass Daten über sichere Kanäle gespeichert und übertragen werden.
- Halten Sie die Dienstabhängigkeiten auf dem neuesten Stand.
- Wenden Sie Sicherheits-Patches auf SDKs und Open-Source-Bibliotheken an.
Reaktion auf Vorfälle
Android ist davon überzeugt, dass eine starke Sicherheitscommunity dabei helfen kann, Probleme zu finden. Sie sollten eine Möglichkeit schaffen und bekannt machen, wie externe Parteien Sie bei gerätespezifischen Sicherheitsproblemen kontaktieren können.
- Wenden Sie sich an den Kunden. Erstellen Sie eine E-Mail-Adresse wie security@your-company.com oder eine Website mit einer eindeutigen Anleitung zum Melden potenzieller Sicherheitsprobleme im Zusammenhang mit Ihrem Produkt (Beispiel).
- Ein Prämienprogramm zur Aufdeckung von Sicherheitslücken einrichten Sie können externe Sicherheitsforscher dazu anregen, Berichte zu Sicherheitslücken zu senden, die sich auf Ihre Produkte auswirken, indem Sie für gültige Meldungen Geldprämien anbieten (Beispiel). Wir empfehlen, die Rechercheure mit wettbewerbsfähigen Prämien zu belohnen, z. B. 5.000 $für Sicherheitslücken mit kritischer und 2.500 $für Sicherheitslücken mit hoher Schwere.
- Änderungen Upstream einreichen Wenn Sie auf ein Sicherheitsproblem stoßen, das die Android-Plattform oder Geräte verschiedener Hersteller betrifft, wenden Sie sich an das Android-Sicherheitsteam. Reichen Sie dazu einen Sicherheitsfehlerbericht ein.
- Fördern Sie gute Sicherheitspraktiken. Bewerten Sie proaktiv die Sicherheitspraktiken von Hardware- und Softwareanbietern, die Dienste, Komponenten und/oder Code für Ihre Geräte bereitstellen. Halten Sie Anbieter für die Aufrechterhaltung einer guten Sicherheitslage verantwortlich.