Beitrag

„certified app“ kommt. Freuen Sie sich auf ein modernes Zertifizierungsverfahren für Apps Mo 11.01.2016

„certified app“ ist da!

Ein modernes Zertifizierungsverfahren für mobile Anwendungen

Smartphones und Tablets finden eine immer weitere Verbreitung sowohl im privaten als auch im geschäftlichen Umfeld. Wesentlich für ihren Erfolg ist die Tatsache, dass Nutzer mobile Anwendungen – also „Apps“ – einfach und bequem per Klick installieren können. Mit den Chancen dieser Entwicklung gehen jedoch leider auch große Risiken einher. Vor allem durch die wachsende Zahl von mobilen Anwendungen von oft unbekannten Entwicklern. Hierdurch steigt die Gefahr der Verbreitung von Schadsoftware, die sich beispielsweise als nützliche Anwendung tarnt. Zudem können Schwachstellen in Apps von Angreifern als Einstiegspunkte genutzt werden, um unberechtigten Zugriff auf Daten zu erhalten. Je weiter sich Apps verbreiten, desto größer werden insofern die potentiellen Sicherheitsrisiken für den Nutzer.

Bei anderen IT-Produkten – etwa Kartenterminals, Firewalls oder Betriebssystemen – haben sich längst Prüf- und Zertifizierungsverfahren etabliert, um mögliche Sicherheitsrisiken aufzuspüren und im Anschluss an eine Prüfung zu bestätigen, dass das IT-Produkt „sicher“ ist. Zu nennen ist hier etwa die Evaluationsmethodik anhand der Common Criteria (CC) mit dem Fokus auf die IT-Sicherheit eines IT-Produktes sowie das Datenschutzgütesiegelverfahren des Unabhängigen Landeszentrums für Datenschutz (ULD) Schleswig-Holstein mit den Schwerpunkten Datenschutzrecht und Datensicherheit.

Diese für IT-Produktprüfungen bekannten und nachhaltigen Prüfungs- und Zertifizierungsverfahren sind durchaus übertragbar auf die Prüfung von mobilen Anwendungen bzw. Apps. Allerdings sind die Verfahren zumeist sehr kostspielig für den App-Anbieter und ziehen sich in der Regel über Monate hin. Ferner tragen allgemeine Kriterienkataloge zu Datenschutzrecht und IT-Sicherheit den spezifischen Anforderungen an Apps nicht immer Rechnung. Damit hinken sie der schnellen Dynamik der App-Entwicklung hinterher. 

Ziel des Verbundprojekts „ZertApps – Zertifizierte Sicherheit für mobile Anwendungen“, das vom Bundesministerium für Bildung und Forschung (BMBF) gefördert wurde, war daher, das Thema „Sicherheitsanalyse von mobilen Anwendungen“ grundlegend und umfassend zu bearbeiten. Hierfür wurde eine spezifische Prüf- und Zertifizierungsplattform für Apps entwickelt. Dieses Prüf- und Zertifizierungsschema wird nunmehr von der datenschutz cert GmbH angeboten als: „certified app ". 

Zunächst stehen hierbei Android-Apps im Fokus, da diese derzeit einen größeren Marktanteil an den gängigen Betriebssystemen für Smartphones und Tablets besitzen. 

Das Prüfkonzept: Auf welche Daten darf eine App zugreifen? Und wohin darf sie Daten schicken? Der Zugriff auf GPS-Daten beispielsweise mag bei einer Karten-App sinnvoll sein, bei der Taschenlampen-App aber womöglich nicht. Da die Sicherheitserwartungen per se nicht für alle Apps identisch sind, sieht „certified app“ zunächst einen strukturierten, methodischen Ansatz vor, um für die zu prüfende App den Sicherheitsmaßstab festzulegen. Der Sicherheitsmaßstab definiert, welche Daten verarbeitet werden, welche Funktionalitäten die App bietet und welche Sicherheitsziele verfolgt werden sollen. Hieraus ergeben sich dann die Sicherheitsanforderungen, welche die App umsetzen muss.

Das Vertrauen in eine Sicherheitsüberprüfung hängt zentral davon ab, wie tief und welche Aspekte geprüft wurden. Im Hinblick auf Kosten und unterschiedliche Sicherheitserwartungen sieht „certified app“ vor, vier verschiedene Prüftiefen anzubieten: Beginnend mit einer strukturierten, aussagekräftigen Herstellererklärung, über eine mittels automatischer Tools unterstützte Prüfung sowie durch ergänzend manuell durchgeführte Tests bis hin zur Überprüfung der Entwicklungs- und Produktionsumgebung von Apps werden dezidierte Maßnahmen zur Vertrauensbildung in diesem Prüfkonzept beschrieben. Die durch Tools unterstütze Prüfung ist dabei ein Schwerpunkt von „certified app“. 

Die App-Entwicklung ist, wie bereits festgestellt, rasant, so dass Sicherheitsprüfungen dieser Dynamik Rechnung tragen müssen. Deshalb umfasst das nachfolgende Prüfkonzept ferner ein Maintenance-Verfahren, durch welches Updates und Patches von Apps effektiv und effizient – und damit relativ kostengünstig – geprüft und re-zertifiziert werden können. Hier soll ein möglichst hoher Automatisierungsgrad erreicht werden.

Im Fokus steht sowohl IT-Sicherheit als auch Datenschutz.

Durch Tools unterstützte Prüfung: Je nach Prüfstufe sieht das Prüfkonzept eine durch Tools unterstützte Prüfung von Apps vor. Hierdurch sollen unter anderem die sehr aufwendigen und vor allem zeitintensiven Quellcodeaudits so gut wie möglich substituiert werden. 

Ergänzend zu den Prüfungen, die auf das Auffinden von Programmierfehlern in Apps abzielen, werden Tools bereitgestellt, die mittels statischer und dynamischer Analysen die Sicherheitsarchitektur von Apps automatisiert aus dem Quelltext wiedergewinnen. Dies erlaubt einer Prüfstelle, schnell einen Überblick über die bereits in einer App umgesetzten Sicherheitsmechanismen zu gewinnen, ohne ein Code-Review durchführen zu müssen. Auf diese Weise kann ohne hohen Aufwand erkannt werden, ob sicherheitskritische Daten, wie z.B. Passwörter, verschlüsselt auf dem Gerät abgelegt werden oder die Verbindung mit einem Backend kryptographisch gesichert ist. 

Das Prüf- und Zertifizierungsschema: Das Prüf- und Zertifizierungsschema für Apps sieht – entsprechend zu internationalen Standards – ein klassisches zwei-stufiges Verfahren vor: Eine Prüfstelle führt die Prüfung durch und eine Zertifizierungsstelle zertifiziert anschließend die App auf Grundlage der Prüfergebnisse.

Internationale Regelwerke für Prüf- und Zertifizierungsstellen – wie etwa ISO/IEC 17025 oder ISO/IEC 17065 – dienen als Vorlage, auf deren Basis ein schlanker Prozess etabliert wurde. Sowohl die Kommunikation zwischen App-Anbieter und Prüfstelle als auch zwischen Prüf- und Zertifizierungsstelle wird dabei durch Tools unterstützt, die das Verfahren beschleunigen.

Automatisierte Validierung: IT-Produkte, die ein Zertifikat aufweisen, zeigen dies in der Regel durch ein vertrauensbildendes und wiedererkennungsfähiges Symbol. Ein entsprechendes „Logo“ wird häufig als Graphik beigefügt und verlinkt auf eine Zertifikatsliste, auf der die Prüfergebnisse öffentlich eingesehen werden können. 

Diese vom Prozess der Prüfung losgelösten Artefakte stehen für Apps zwar zur Verfügung, aber nicht im Vordergrund. Vielmehr muss hier dem Anwender schnell und direkt angezeigt werden, ob eine App ein gültiges Zertifikat gemäß „certified app" aufweist. Deshalb ist ein Validierungssystem entstanden, das die Prüfung, ob eine App ein gültiges Zertifikat aufweist oder nicht, automatisch durchführt: Die CertValidation-App überprüft, ob die installierten Apps in der vorliegenden Version gemäß „certified app“ zertifiziert sind oder nicht. Diese CertValidation-App stellt damit als „Trust Anchor“ eine Art Vertrauensanker dar. Die CertValidation--App nutzt dabei eine elektronische Zertifikatsliste.

Was ist neu an „certified app"? Worin unterscheidet sich „certified app" von anderen Prüfungs- und Zertifizierungsverfahren für mobile Anwendungen? 

  • Zunächst: Es wird nicht direkt gegen die App geprüft, sondern – wie bei internationalen Verfahren üblich – 3-stufig:
  • Der App-Anbieter beschreibt zunächst selber die Sicherheitsfunktionalitäten seiner App; allein dadurch, dass der App-Anbieter aufgefordert ist, seine App auf strukturierte Art und Weise zu beschreiben und zu analysieren, wird ein erster Prüfschritt durchgeführt. Denn hierdurch wird beispielsweise bereits sichergestellt, dass die Sicherheitsfunktionalitäten den tatsächlichen Schutzbedarf abdecken – und andersherum der Schutzbedarf durch Sicherheitsfunktionalitäten abgedeckt wird. Außerdem werden rechtliche Anforderungen adressiert.
  • In zweiter Instanz führt eine unabhängige Prüfstelle mit entsprechendem Know-How eine Prüfung gemäß Prüfschema durch.
  • Und zuletzt führt eine unabhängige Zertifizierungsstelle mit entsprechendem Know-How und Überblick über mehrere Zertifizierungsverfahren eine Zertifizierung gemäß Zertifizierungsschema durch.
  • Es werden damit drei vertrauensbildende Maßnahmen zur Prüfung und Zertifizierung von Apps durchgeführt.
  • Die verschiedenen Prüf-/Siegelstufen sehen verschiedene Prüfarten vor, die jeweils verschiedene Nachweise darstellen – von der Selbstauskunft über automatisierte Plausibilitätstests und automatisierte Tools bis hin zu Penetrationstests, rechtlichen Prüfungen und einem Site Visit der Entwicklungs- und Produktionsumgebung. 
  • Besondere Herausforderung der ersten Siegelstufe „Bronze“ ist, eine App relativ schnell und kostengünstig zu prüfen und zu zertifizieren. Hier ist eine Interessenabwägung durchgeführt worden, mit dem Ergebnis, dass ein Bronze-Zertifikat deutlich mehr als „kein Zertifikat“ darstellt. 
  • Anspruch von „certified app" ist es, das Bronze-Zertifikat – und das, wofür es steht – transparent zu beschreiben, so dass dem geneigten Interessent klar ist, wofür es steht. Und wofür es nicht steht.

Das Siegelstufenkonzept: Die Siegelstufe gibt an, wie „tief eine Prüfung geht“, d.h. durch welche Vertrauenswürdigkeitsmaßnahmen die App überprüft wird. „certified app“ sieht vier Siegelstufen vor:

  • „Bronze“ – die Basisprüfung einer App;
  • „Silber“ – Basisprüfung, ergänzt um zusätzliche automatisierte Analysen;
  • „Gold“ – umfangreiche Prüfung samt weiterer automatisierter und händischer Tests sowie einer rechtlichen Begutachtung, die die Basisprüfung ergänzt;
  • „Platin“ – „Platin“ ergänzt den „Gold“-Prüfungsumfang um einen Site Visit der Entwicklungs- und Produktionsumgebung.

Basis aller Prüfstufen ist die Selbstauskunft, bei der der App-Anbieter seine zu zertifizierende App exakt beschreibt und ihren Funktionsumfang darstellt. Ferner sichert der App-Anbieter über diese Herstellererklärung rechtlich bindend Sicherheits- und Datenschutzeigenschaften seiner App zu. 
Bei der „Bronze“-Prüfung wird diese Selbstauskunft selber auf Vollständigkeit und formale Korrektheit überprüft. Zusätzlich werden durch automatisierte Tools Merkmale aus der App extrahiert und gegen die Selbstauskunft abgeglichen: die App selber mit Namen und Versionsnummer sowie die gesetzten Zugriffsrechte (Permissions).

Die „Silber“-Prüfung erweitert die „Bronze“-Prüfung um weitere automatisierte Analysen. Hierüber wird die globale PIN-Policy, der Aufruf der Krypto-API, hinterlegte ULRs und IP-Adressen, die Verwendung von Standardprotokollen sowie die Implementierung überprüft und gegen die Angaben der Selbstauskunft verglichen.

Die „Gold“-Prüfung wiederum erweitert die „Silber“-Prüfung um eine manuelle Analyse der App, eine Datenfluss-Analyse und eine Analyse des Datensendungsverhaltens. Ferner wird die Implementierung weitergehend analysiert. Neben technischen Aspekten wird eine datenschutzrechtliche Prüfung durchgeführt.

Die „Platin“-Prüfung erweitert schließlich die „Gold“-Prüfung um einen Site Visit der Entwicklungs- und Produktionsumgebung, um sicherzugehen, dass die zertifizierte App auch so ausgeliefert wird.
Beachten Sie bitte, dass die Siegelstufen stets das Maß an Vertrauen angeben, das die Zertifizierungsstelle aufgrund der durchgeführten Prüfungen in die zugesicherten Eigenschaften der geprüften App bestätigen, nicht aber das Maß an Sicherheit oder Datenschutz der App: Eine höher zertifizierte App weist nicht zwingend mehr Sicherheit oder mehr Datenschutz auf. 

Beachten Sie ferner, dass auch eine von uns zertifizierte App Schwächen oder Mängel an IT-Sicherheit oder Datenschutz aufweisen kann. Eine Prüfung und Zertifizierung reduziert zwar typischerweise das Risiko, schließt es aber nicht gänzlich aus. Wie zuvor ausgeführt, kann dieses Risiko durch eine tiefergehende Prüfung weiter reduziert werden. Letztlich können wir als Zertifizierungsstelle nur den Prüfungsumfang in der jeweiligen Siegelstufe bestätigen. Deshalb: 

Prüfen Sie bitte bei Anerkennung eines „certified app“-Zertifikates, ob die jeweilige Siegelstufe Ihren eigenen Erwartungen oder Standards genügt.

Weitere Informationen finden Sie auf www.datenschutz-cert.de. Hier ist auch der Kriterienkatalog und das Formular zur Selbstauskunft als Download verfügbar.

Von Dr. Sönke Maseberg in der Rubrik cert News