Als ein unabhängiges Testinstitut für IT-Sicherheit sehen wir eines unserer Hauptziele als auch unsere Hauptverantwortung darin, mit unserem Fachwissen im Bereich IT-Sicherheit dazu beizutragen, dass das allgemeine Sicherheitsniveau für alle erhöht wird. Dazu gehört auch die Sicherheit im Bereich Internet of Things. Um Ziel und Anspruch gerecht zu werden, führen wir in regelmäßigen Abständen kostenfreie Produkttests durch und teilen die gewonnenen Ergebnisse mit Herstellern, Kunden und der breiten Öffentlichkeit.
Mittlerweile haben wir in unserem Blog eine Reihe von Testergebnissen veröffentlicht und den Grund für unser Tun, also das Warum, erläutert. Nun ist es an der Zeit, einen Blick auf das Was und Wie bei unseren Tests zu werfen: Was sind die wichtigsten Aspekte, die wir im Fokus haben, und wie bewerten wir das Sicherheitsniveau dieser Aspekte.
Unser genereller Fokus
Beim Test eines neuen Geräts konzentrieren wir uns generell auf die drei Hauptkategorien Kommunikation, App-Sicherheit und Datenschutz, und wir haben eine Reihe von Tests konzipiert, um die Sicherheit in Hinblick auf jede einzelne dieser Kategorien in einem gewissen Umfang zu prüfen. Wie detailliert diese Tests sind hängt davon ab, ob sie im Rahmen eines Schnelltests oder eines vollumfänglichen Zertifizierungsverfahrens durchgeführt werden. Im ersteren Fall handelt es sich mehr oder weniger um eine praktische Sicherheitsabschätzung, im letzteren um eine umfassende Sicherheitsprüfung. Die in unserem Testlabor entwickelten und definierten Testkriterien stimmen dabei gleichermaßen mit den Definitionen zur IoT-Security anderer Organisationen überein, z. B. mit denen der OWASP zu IoT-Sicherheitsprinzipien (https://www.owasp.org/index.php/Principles_of_IoT_Security). Bei einigen Aspekten weisen unsere Testkriterien Unterschiede auf, so können wir Sicherheitsprobleme beispielsweise nicht in groß angelegten Szenarien prüfen, aber abgesehen von diesen Unterschieden liegt der Schwerpunkt unserer Tests im Allgemeinen auf allen Aspekten, die die OWASP als Organisation von Experten für Web-Application-Security für relevant hält. Die zur Sicherheitsprüfung eingesetzten spezifischen Tests und Testszenarien werden ausschließlich in unserem Testlabor entwickelt und durchgeführt. Zum Einsatz kommen selbst entwickelte Tools und auch Drittanbieter-Software.
Bei Prüfungen in der Sicherheitskategorie Kommunikation liegt unser Hauptaugenmerk auf der Beobachtung und Analyse jeglicher ein- und ausgehender Kommunikationsströme, die von der getesteten Hardware und/oder der entsprechenden mobilen Applikation initiiert werden. Wir testen insbesondere den Einsatz und die Qualität der Verschlüsselung und suchen nach bekannten Sicherheitslücken und Schwachstellen, die sich beim Einsatz verschlüsselter Kommunikation oftmals unbeabsichtigt ergeben.
Die Kategorie App-Sicherheit umfasst sämtliche Tests in Verbindung mit der mobilen Applikation eines Produkts; dabei handelt es sich in der Regel um eine Android- oder iOS-App. Diese prüfen wir auf Standard-Sicherheitsfunktionen wie z.B. Code Obfuscation, checken die Berechtigungen der Anwendung und achten bei der Suche nach Schwachstellen und Manipulationsmöglichkeiten vor allem auf sicherheitsrelevante Codesegmente.
In der letzten Kategorie, dem Datenschutz, werden alle Aspekte in Verbindung mit der Erhebung und Verarbeitung von sensiblen Nutzerdaten durch das getestete Produkt berücksichtigt. Dazu werden die Datenschutzerklärungen der Hersteller von uns geprüft und bewertet. Die technischen Tests in dieser Kategorie überschneiden sich stark mit den Tests in den Kategorien Kommunikation und App-Sicherheit, denn wir versuchen gleichermaßen die Menge an gesammelter und gesendeter personenbezogener Daten zu bestimmen, indem wir die Kommunikation und den Anwendungscode auf der Suche nach möglicherweise unnötiger Datenerfassung analysieren.
Unser Schnelltest
Der Schnelltest kommt zum Einsatz, wenn eine schnelle Einschätzung der allgemeinen Sicherheit eines bestimmten Produkts erfolgen soll. Unsere Schnelltests sind so konzipiert, dass sie innerhalb von 1-2 Tagen durchgeführt und dabei die wesentlichsten Aspekte der Online-Kommunikation, App-Sicherheit und Datenschutz abgeklopft werden können. Im Ergebnis liefern sie eine repräsentative Abschätzung der allgemeinen Sicherheit des getesteten Produkts. Aufgrund des vorgesehenen Testzeitraums zielen die Prüfungen beim Schnelltest nicht in die Tiefe. Sie reichen jedoch aus, offensichtliche Probleme, mit denen das Produkt behaftet sein könnte, deutlich zu machen. Mit anderen Worten: Ein Schnelltest kann per se keine Garantie für das Fehlen von Schwachstellen geben, jedoch zeigt eine volle 3-Sterne-Wertung als Ergebnis eines solchen Tests an, dass zumindest keine offensichtlichen und damit leicht angreifbaren Schwachstellen bestehen.
Beim Schnelltest sind die Testkriterien auf die drei Hauptkategorien Kommunikation, App-Sicherheit und Datenschutz verteilt und jede dieser drei Kategorien enthält eine Checkliste mit Anforderungen, deren (zumindest auch teilweise) Erfüllung mit einem Bewertungs-Stern für die jeweilige Kategorie belohnt wird. Ein Produkt kann also eine Wertung von bis zu drei Sternen erhalten, sollte es genug Punkte der Checklisten erfüllen, die den einzelnen Kategorien zugeordnet sind.
Die folgenden Punkte in den drei Hauptkategorien werden von uns geprüft:
Lokale/Online-Kommunikation
- Lokaler Zugriff durch Authentifizierung und Verschlüsselung ausreichend gesichert
- Fernzugriff durch Authentifizierung und Verschlüsselung ausreichend gesichert
- Kommunikation zwischen Gerät und Server durch Authentifizierung und Verschlüsselung ausreichend gesichert
- Keine sicherheitskritischen Lücken und Schwachstellen zu erkennen
App-Sicherheit
- Ein Reverse Engineering der Applikation wird wirksam verhindert (oder zumindest nicht unterstützt)
- Gesicherte lokale Speicherung von Nutzerdaten
- Angemessene, solide und konsequente Authentifizierung
- Effektive Implementierung und konsequenter Einsatz von SSL
- Keine sicherheitskritischen Lücken und Schwachstellen zu erkennen
Datenschutz
- Keine unnötige Erfassung von personenbezogenen Daten
- Keine ungesicherte Übertragung von personenbezogenen Daten
- Datenschutzerklärung liegt vor, ist vollständig, verständlich und aktuell
In vielen Fällen besteht jeder der oben aufgeführten Punkte noch aus weiteren Unterpunkten, aber das übergeordnete Ziel eines jeden Test ist in den hier aufgelisteten Punkten klar erkennbar.
Bei den Tools, die wir für unsere Tests in der Kategorie Kommunikation verwenden, handelt es sich hauptsächlich um Referenz-Software wie z. B. Wireshark zur Überwachung und Analyse der laufenden Verbindungen. Desweiteren setzen wir selbst entwickelte und Drittanbieter-Tools ein, um diese Verbindungen auszuspähen und nach möglichen Schwachstellen und Datenlecks zu suchen, welche wiederum ein Reverse Engineering oder eine Manipulation der Kommunikation ermöglichen.
Zur Analyse der App-Sicherheit kommt eine recht große Auswahl an Tools zum Einsatz, dazu gehören Standard-Tools wie apktool zur Dekodierung von .apk-Dateien der Applikation, ein Java-Decompiler zur Rekonstruktion des Java-Codes und möglicherweise eine IDE unserer Wahl zur Prüfung des dekompilierten Codes. Wir nutzen auch einige andere selbst entwickelte Tools und sonstige Referenz-Software wie den Android Device Monitor und setzen darüber hinaus in Abhängigkeit von der jeweiligen Situation weitere Tools zur Prüfung, Analyse oder Anpassung bestimmter Aspekte der Applikation ein.
Die Tests in der Kategorie Datensicherheit beinhalten die Suche nach und Analyse der Datenschutzerklärung sowie die Suche nach personenbezogenen Daten, welche gesammelt und/oder gesendet werden. Hier gibt es deutliche Überschneidungen mit den Tests in der Kategorie App-Sicherheit, da die Analyse der Kommunikation ebenfalls mit Tools wie Wireshark vorgenommen und einige Code-Analysen durchgeführt werden, sollten bestimmte Applikations-Segmente Verdacht erregen.
Unser erweitertes Zertifizierungsverfahren
Im Grunde genommen werden bei dem Zertifizierungsverfahren genau die gleichen Punkte abgearbeitet wie im Schnelltest, der Unterschied besteht jedoch darin, dass der Detailgrad bei den jeweiligen Tests deutlich höher ausfällt. Während der Schnelltest auf einen Zeitraum von ca. 1-2 Tagen begrenzt ist und darauf abzielt, offensichtliche Lücken und Schwachstellen aufzudecken, nimmt ein vollständiges Zertifizierungsverfahren ca. 1-2 Wochen in Anspruch, abhängig von der Komplexität des Produkts und den Problemen, die wir aufdecken können. Das Ziel dieses erweiterten Testverfahrens besteht ursächlich darin, tiefer in die Materie einzudringen und subtilere und damit gefährlichere Schwachstellen aufzudecken, die im Rahmens eines Schnelltests so nicht erkennbar sind.
In einem unserer nächsten Artikel werden wir Einblicke in unser umfangreiches Zertifizierungsverfahren geben und in dem Zuge detailliert über aufwändige Testkriterien, über die erweiterte Testtiefe und die Bedeutung des durch unser Zertifikat verliehenen Status Zertifizierte Sicherheit berichten.