Die Grundlage guter Sicherheitspraktiken beginnt in Ihrem Unternehmen.
Erstellen Sie ein Sicherheits- und Datenschutzteam
Erstellen Sie ein dediziertes Sicherheits- und Datenschutzteam und ernennen Sie einen Leiter für diese Organisation.
- Bauen Sie ein Sicherheitsteam auf.
- Stellen Sie sicher, dass mindestens ein Mitarbeiter für Sicherheit, Datenschutz und Reaktion auf Vorfälle verantwortlich ist.
- Definieren Sie eine Mission und einen Aufgabenbereich für dieses Team.
- Entwickeln Sie ein Organigramm und Stellenbeschreibungen für: Sicherheitsmanager, Sicherheitsingenieur, Vorfallmanager.
- Stellen Sie Mitarbeiter oder externe Auftragnehmer ein, um diese Rollen zu besetzen.
- Definieren Sie einen Sicherheitsentwicklungslebenszyklus (SDL) . Ihr SDL sollte diese Bereiche abdecken:
- Sicherheitsanforderungen an Produkte.
- Risikoanalyse und Bedrohungsmodellierung.
- Statische und dynamische Analyse von Anwendungen und Code.
- Abschließende Sicherheitsüberprüfungsprozesse für Produkte.
- Reaktion auf Vorfälle.
- Bewerten Sie das organisatorische Risiko . Erstellen Sie eine Risikobewertung und entwickeln Sie Pläne zur Beseitigung oder Minderung dieser Risiken.
Build-Überprüfungsprozess
Bewerten Sie Lücken in Ihren bestehenden internen Build-Verifizierungs- und Genehmigungsprozessen.
- Identifizieren Sie alle Lücken in Ihrem aktuellen Build-Verifizierungsprozess, die zur Einführung einer potenziell schädlichen Anwendung (PHA) in Ihren Build führen könnten.
- Stellen Sie sicher, dass Sie über einen Codeüberprüfungs- und Genehmigungsprozess verfügen, auch für interne Patches für AOSP .
- Verbessern Sie die Build-Integrität durch die Implementierung von Kontrollen in diesen Bereichen:
- Änderungen verfolgen . Verfolgen Sie Software-Ingenieure; Führen Sie Änderungsprotokolle.
- Risiko einschätzen . Bewerten Sie die von einer App verwendeten Berechtigungen. erfordern eine manuelle Überprüfung von Codeänderungen.
- Überwachen . Bewerten Sie Änderungen an privilegiertem Code.
Verfolgung von Quellcodeänderungen
Überwachen Sie auf unbeabsichtigte Änderungen des Quellcodes oder von Apps/Binärdateien/SDKs von Drittanbietern.
- Partnerschaften bewerten . Bewerten Sie das Risiko einer Zusammenarbeit mit einem technischen Partner anhand der folgenden Schritte:
- Legen Sie Kriterien fest, wie das Risiko einer Zusammenarbeit mit einem bestimmten Lieferanten einzuschätzen ist.
- Erstellen Sie ein Formular, in dem der Lieferant gefragt wird, wie er Vorfälle löst und Sicherheit und Datenschutz verwaltet.
- Überprüfen Sie ihre Ansprüche durch eine regelmäßige Prüfung.
- Änderungen verfolgen . Erfassen Sie, welche Unternehmen und Mitarbeiter den Quellcode ändern, und führen Sie regelmäßige Audits durch, um sicherzustellen, dass nur angemessene Änderungen vorgenommen werden.
- Aufzeichnungen machen . Zeichnen Sie auf, welche Unternehmen Ihrem Build Binärdateien von Drittanbietern hinzufügen, und dokumentieren Sie, welche Funktion diese Apps erfüllen und welche Daten sie sammeln.
- Planaktualisierungen . Stellen Sie sicher, dass Ihre Lieferanten verpflichtet sind, Software-Updates für die gesamte Lebensdauer Ihres Produkts bereitzustellen. Unvorhergesehene Schwachstellen erfordern möglicherweise die Unterstützung von Anbietern.
Validieren Sie die Integrität und den Stammbaum des Quellcodes
Überprüfen und validieren Sie den Quellcode, der von einem Originalgerätehersteller (ODM), einem Over-the-Air-Update (OTA) oder einem Mobilfunkanbieter bereitgestellt wurde.
- Signaturzertifikate verwalten .
- Speichern Sie Schlüssel in einem Hardware-Sicherheitsmodul (HSM) oder einem sicheren Cloud-Dienst (geben Sie sie nicht weiter).
- Stellen Sie sicher, dass der Zugriff auf Signaturzertifikate kontrolliert und überwacht wird.
- Erfordern Sie, dass alle Codesignaturen in Ihrem Build-System durchgeführt werden.
- Verlorene Schlüssel widerrufen.
- Generieren Sie Schlüssel mithilfe von Best Practices.
- Analysieren Sie neuen Code . Testen Sie neu hinzugefügten Code mit Sicherheitscode-Analysetools, um zu prüfen, ob neue Schwachstellen eingeführt wurden. Analysieren Sie außerdem die Gesamtfunktionalität, um Anzeichen neuer Schwachstellen zu erkennen.
- Überprüfen Sie vor der Veröffentlichung . Suchen Sie nach Sicherheitslücken im Quellcode und in Drittanbieter-Apps, bevor Sie diese in die Produktion überführen. Zum Beispiel:
- Fordern Sie Apps auf, sichere Kommunikation zu verwenden.
- Befolgen Sie das Prinzip der geringsten Berechtigung und erteilen Sie den Mindestsatz an Berechtigungen, die für den Betrieb der App erforderlich sind.
- Stellen Sie sicher, dass Daten über sichere Kanäle gespeichert und übertragen werden.
- Halten Sie Dienstabhängigkeiten auf dem neuesten Stand.
- Wenden Sie Sicherheitspatches auf SDKs und Open-Source-Bibliotheken an.
Reaktion auf Vorfälle
Android glaubt an die Kraft einer starken Sicherheits-Community, die bei der Fehlersuche hilft. Sie sollten eine Möglichkeit für externe Parteien schaffen und veröffentlichen, Sie bei gerätespezifischen Sicherheitsproblemen zu kontaktieren.
- Kontakt herstellen . Erstellen Sie eine E-Mail-Adresse wie security@ your-company .com oder eine Website mit klaren Anweisungen zum Melden potenzieller Sicherheitsprobleme im Zusammenhang mit Ihrem Produkt ( Beispiel ).
- Richten Sie ein Vulnerabiity-Rewards-Programm (VRP) ein . Ermutigen Sie externe Sicherheitsforscher, Sicherheitslückenberichte einzureichen, die sich auf Ihre Produkte auswirken, indem Sie für gültige Einsendungen finanzielle Belohnungen anbieten ( Beispiel ). Wir empfehlen, Forscher mit branchenweit konkurrenzfähigen Belohnungen zu belohnen, z. B. 5.000 US-Dollar für Schwachstellen mit kritischem Schweregrad und 2.500 US-Dollar für Schwachstellen mit hohem Schweregrad.
- Tragen Sie Änderungen im Upstream bei . Wenn Sie auf ein Sicherheitsproblem aufmerksam werden, das die Android-Plattform oder Geräte mehrerer Gerätehersteller betrifft, wenden Sie sich an das Android-Sicherheitsteam, indem Sie einen Sicherheitsfehlerbericht einreichen.
- 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. Machen Sie die Anbieter für die Aufrechterhaltung einer guten Sicherheitslage verantwortlich.