Achtung bei Software Development Kits SDK

Apps auf Sicherheit programmieren

Zwar helfen Software Development Kits bei der Entwicklung von Apps, sie bilden aber nicht ausreichend die Sicherheitsanforderungen ab. Dafür werden den Programmierern inzwischen Expertensysteme angeboten. Allerdings werden nicht alle den professionellen Ansprüchen gerecht.

Das Bundesdatenschutzgesetz und andere sicherheitsrelevante Vorgaben sind nicht nur für die Betreiber und Nutzer mobiler Anwendungen und Services relevant, sondern auch für App-Entwickler. Danach muss eine App die Daten schützen, sofern sie personenbezogene Informationen verarbeitet.

Doch über diesen rein rechtlichen Aspekt hinaus gibt es hier noch weitere wichtige Aspekte, die einen sensiblen Umgang mit der Datensicherheit von Apps begründen. Dazu gehört einerseits die Wahrnehmung der Anwender und der Öffentlichkeit. Denn gerät eine App aufgrund von Sicherheitslücken in Verruf, beschädigt dies die Reputation des betroffenen Unternehmens. Gibt beispielsweise eine Bank eine unsichere App für das Online Banking heraus, wird sie von den Kunden als wenig vertrauenswürdig gesehen und dies schlägt auf das Image des Kreditinstituts insgesamt zurück.

Daneben erzeugt gerade der Business-Umgang mit mobilen Endgeräten einen hohen Sicherheitsanspruch. Darauf befinden sich im Regelfall vielfältige geschäftliche Informationen wie etwa Kontaktdaten, die von unsicheren oder gezielt auf eine Datenweitergabe ausgerichteten Apps Dritten zugänglich gemacht werden. Aber auch unnötige Lokalisierungen oder eine mangelhafte Sicherung lokaler Daten widersprechen den Sicherheitsbedürfnissen von mobilen Endgeräten der Mitarbeiter.

Falls Sie sich nach diesem Artikel noch mehr über die Sicherheit von Apps informieren wollen, dann empfehlen wir Ihnen unseren Praxisratgeber Mobile Security. Sie können den Titel für 2,99 Euro im iBookstore für das iPhone, iPad oder Mac OS X 10.9 herunterladen:

Praxisratgeber Mobile Security: Wie sicher sind Ihre Apps?

Sehr unterschiedliche Entwickler-Unterstützung

Wie groß dieses Problem ist, zeigen kürzlich durchgeführte Untersuchungen der TÜV TRUST IT GmbH. Danach weist etwa jede zweite der über 1000 analysierten Apps deutliche Sicherheitsmängel auf. Doch sieht man einmal von den Apps ab, deren Anbieter als Geschäftsmodell ein gezieltes Device Tracking im Sinn haben, um die gesammelten Daten beispielsweise an Werbenetzwerke zu verkaufen, resultieren die Sicherheitsschwächen meist aus Wissenslücken aufseiten der Entwickler.

Zwar stellen alle Anbieter von Betriebssystemen für die App-Entwicklung über kostenlose Software Development Kits (SDK) eine Sammlung von Werkzeugen und Anwendungen zur Verfügung, mit denen sich native Applikationen für die jeweilige Plattform entwickeln lassen. Allerdings sind die Themenbereiche Datensicherheit und Datenschutz in diesen SDKs in der Regel für professionelle Anwender nicht genügend und in der nötigen Detailtiefe berücksichtigt. Deshalb stehen die Entwickler vor der Frage, wie sie zu den notwendigen und richtigen Informationen gelangen können. Hierfür bieten sich derzeit drei Möglichkeiten an:

  1. Der autodidaktische Weg: Über eigene Recherchen im Internet oder durch den Kauf von Handbüchern kann das entsprechende Know-how aufgebaut werden. Das Problem hierbei ist jedoch, valide Quellen im Internet zu finden und das Wissen aktuell zu halten. Außerdem besteht erfahrungsgemäß eine große Schwierigkeit darin, aus der Fülle des recherchierbaren Contents die relevanten Informationen zu selektieren und dabei zusätzlich dedizierte Hinweise für die richtige Implementierung im spezifischen Projekt herauszufiltern.

  2. Einfache Expertensysteme: Von ersten Anbietern werden im Markt Unterstützungsleistungen für die Entwicklung sicherer Apps angeboten. Meist handelt es sich dabei um Checklisten, Whitepapers und ähnliche Dokumente, die zum Download bereitgestellt werden. Sie enthalten generische Maßnahmen und Hinweise für die Absicherung von Apps. Diese Angebote sind zumeist kostenfrei, richten sich aber an ambitionierte, unerfahrene Jungentwickler und eignen sich vor allem zur Aneignung von Basiswissen zu sicherer App-Entwicklung. Dass es sich dabei um eine Unterstützung für die semiprofessionelle Entwicklung handelt, zeigt sich insbesondere in folgendem Nachteil: Für die Begleitung von Projekten mit spezifischen Risikopotentialen, wozu beispielsweise die Verarbeitung besonders sensibler Daten, personenbezogene Daten oder eine sichere Kommunikation mit Backend-Systemen gehören, besitzen die einfachen Expertensysteme nicht die notwendige Detailtiefe.

  3. Kontextspezifische Expertensysteme: Diese ausgefeilteren Systeme sind für Entwicklerprofis gedacht, die ausgerichtet an den Funktionalitäten der zu entwickelnden App und kontextabhängiger Rahmenbedingungen eine spezifische Sicherheitsrichtlinie für dieses Projekt erzeugen. Darin enthalten sind alle bekannten Bedrohungen, übergeordnete generische Sicherungsmaßnahmen und plattformspezifische Implementierungshinweise. Außerdem enthalten diese Expertensysteme Best Practices als konkrete Code-Beispiele, die für die dedizierte Umsetzung im Projekt mit Copy & Paste genutzt werden können.

Der Vorteil der kontextspezifischen Expertensysteme liegt neben der größeren Detailtiefe und dem größeren Umfang der Hinweise auch darin, dass durch ihren methodischen Ansatz handhabbare, schlanke Vorgabedokumente entstehen. Sie beschreiben nur die für das spezifische Projekt notwendigen und relevanten Maßnahmen, statt ein umfangreiches Gesamtkompendium für die App-Entwicklung, welches alle Bedrohungen und Risiken für Apps beschreibt. Durch das gelieferte Know-how mit den kontinuierlich aktualisierten Informationen sind solche Expertensysteme jedoch nicht kostenfrei.