Best Practices für die Netzwerksicherheit

Dieser Abschnitt enthält Empfehlungen zur Gewährleistung der Sicherheit der Netzwerkkommunikation von Android-Geräten.

Sichere Listener-Sockets

Verwenden Sie Listener-Sockets mit Vorsicht. Auf Geräten sollten in der Regel keine offenen Listener-Sockets vorhanden sein, da diese einen Angriffsvektor für einen Remote-Angreifer darstellen, um Zugriff auf das Gerät zu erhalten.

  • Android-Geräte sollten die Anzahl der Internet-Sockets minimieren, die sie freigeben, insbesondere beim Starten oder standardmäßig. Beim Starten sollte standardmäßig kein Socket auf das Internet warten.
    • Für Root-Prozesse und Prozesse, die der eindeutigen Kennung (UID) des Systems zugewiesen sind, sollten keine überwachten Sockets freigegeben werden.
  • Listener-Sockets müssen ohne OTA-Update deaktiviert werden können. Dies kann entweder durch eine Änderung der Server- oder der Nutzergerätekonfiguration erfolgen.
  • Für lokale Sockets mit IPC müssen Apps einen UNIX-Domain-Socket mit Zugriffsbeschränkung auf eine Gruppe verwenden. Erstellen Sie einen Dateideskriptor für die IPC und weisen Sie ihm die Zugriffsrechte „Lesen/Schreiben“ für eine bestimmte UNIX-Gruppe zu. Alle Client-Anwendungen müssen zu dieser UNIX-Gruppe gehören.
  • Einige Geräte mit mehreren Prozessoren (z. B. ein Funkschnittstellen-/Modem, das vom App-Prozessor getrennt ist) verwenden Netzwerk-Sockets, um zwischen den Prozessoren zu kommunizieren. In solchen Fällen muss der für die Kommunikation zwischen den Prozessoren verwendete Netzwerk-Socket eine isolierte Netzwerkschnittstelle verwenden, um den Zugriff durch nicht autorisierte Apps auf dem Gerät zu verhindern. Verwenden Sie also iptables, um den Zugriff durch andere Apps auf dem Gerät zu verhindern.
  • Daemons, die überwachte Ports verarbeiten, müssen robust gegen fehlerhafte Daten sein. Sie sollten Fuzz-Tests mit einem nicht autorisierten und nach Möglichkeit auch mit einem autorisierten Client auf den Port ausführen. Melden Sie Fehler, um Abstürze nachzuverfolgen.

Die Android Compatibility Test Suite (CTS) umfasst Tests, bei denen nach offenen Ports gesucht wird.

ADB deaktivieren

Android Debug Bridge (adb) ist ein wertvolles Entwicklungs- und Debugging-Tool, das jedoch für die Verwendung in einer kontrollierten, sicheren Umgebung entwickelt wurde und nicht für die allgemeine Nutzung aktiviert werden sollte.

  • Adb muss standardmäßig deaktiviert sein.
  • Achten Sie darauf, dass der Nutzer adb aktivieren muss, bevor er Verbindungen akzeptiert.