Aus dem Unterricht des CAS Mobile Business and Ecosystems – Mobile Sicherheit mit Corsin Decurtins berichtet Yvonne Steffen.

Das Thema Sicherheit ist in der Presse immer wieder aktuell. Von Hack-Angriffen und Datendiebstählen ist gefühlt täglich in den Medien zu lesen. Lange nicht alle Sicherheitslücken gelangen an die Öffentlichkeit, ja manchmal merken Unternehmen gar nicht, dass sie angegriffen wurden.

Wieso ist Sicherheit wichtig?

Wir vertrauen immer mehr auf IT-Systeme. Alternative Systeme ohne IT existieren kaum noch. Damit steigt die Abhängigkeit von IT-Systemen und Technologien für alle (Organisationen, Unternehmen und Privatpersonen). Diese Abhängigkeit besteht sowohl direkt als auch indirekt. Denken wir an die Eisenbahnen, welche bei einem IT Ausfall stehen bleiben oder dem Flugverkehr, wo es ohne IT schon lange nicht mehr geht.

Daher ist IT-Security kein Randthema mehr und das Hacken von IT-Systemen ist ein Multi-Milliarden-Geschäft. Der Gegner ist gross und somit auch der Kampf.

Wieso ist mobile Sicherheit wichtig?

In vielen Bereichen unseres Lebens hält die IT Einzug, beispielsweise ist das Auto heute eher ein Computer auf Rädern. Immer mehr wird vernetzt, smart, automatisiert. So ist die IT allgegenwärtig, das macht unsere Systeme anfällig für Angriffe. Ein mobiles Endgerät mit all den integrierten Sensoren sammelt mehr sensitive Daten als ein herkömmlicher Desktop oder PC.

Datencenter sind mit physischen und virtuellen Sicherheitssystemen gesichert, die mobilen Endgeräte sind weniger geschützt. Mobile Geräte geniessen nicht das gleiche Schutzniveau. Das Risiko von Verlust und Diebstahl wird durch den Einsatz mobiler Geräte erhöht. Auch andere können dir über die Schulter schauen und dich ausspionieren. Wir hinterlassen ständig Spuren, denn unser mobiles Gerät ist immer auf der Suche nach drahtlosen Netzwerken. Verbinden wir uns mit diesen sollten wir deren Sicherheit überprüfen.

Die zentrale Frage ist, welche Daten für Hacker interessant sind. Nicht alle Systeme erfordern das gleiche Schutz- und Sicherheitsniveau. Die Zahl der Geräte und Apps wächst und damit die Fähigkeiten der Apps und damit verbunden die Komplexität und Sensibilität der Daten. Zusammengefasst können wir sagen: Wir haben mehr Daten i.S. von Assets, die wertvoller und exponierter sind, was bedeutet: mehr Angreifer, die mehr Möglichkeiten haben, Sicherheitsschwachstellen auszunutzen.

Die Verantwortung

Jeder hat eine Verantwortung für die Daten. Aber es sind nicht nur die eigenen Daten für die jeder einzelne Verantwortung trägt, es sind auch die Daten unsers Unternehmens. Es gibt viele sensible Daten und wertvolle Dienstleistungen, die geschützt werden sollten, und auch den Zugang zu diesen Informationen. Oftmals gibt es sensible Daten von Kunden. Wir vertrauen darauf, dass unsere Daten sicher und geschützt aufbewahrt werden.

Definition von Sicherheit

Für die Definition von Sicherheit hat uns Corsin ein magisches Dreieck vorgestellt:

Dreieck der Sicherheit: Vertraulichkeiten, Verfügbarkeit, Integrität

CIA wird wie folgt definiert:

Confidentiality (Vertraulichkeit):

Informationen und Dienstleistungen sind nur für autorisierte Personen und Systeme verfügbar.

Integritiy (Integrität):

Daten sind konsistent (keine logischen Konflikte) – Daten wurden nicht manipuliert oder gefälscht – Daten können nur von autorisierten Personen und Systemen geändert werden.

Availability (Verfügbarkeit):

Daten und Dienste sind für Personen und Systeme bei Bedarf verfügbar. In der Theorie ist die absolute Sicherheit möglich, in der Praxis kann dies nicht umgesetzt werden. Es gilt, sich zwischen Vertraulichkeit, Integrität und Verfügbarkeit zu entschieden. Ausserdem steht Sicherheit und dessen Massnahmen zur Gewährleistung dieser oft im Widerspruch zu Preis, Benutzerfreundlichkeit, Benutzererfahrung und Praktikabilität. Sicherheit muss ein Mass zwischen Risiko und Ertrag sein.

Der sicherheitstechnische Prozess

Der Prozess für die Festlegung von Massnahmen sieht wie folgt aus:

Prozess Sicherheit mit den Schritten: Inventar, Bedrohungsanalyse, Priorisierung, Massnahmen

Inventar

Als erstes ist ein Inventar anzulegen. Darin soll festgehalten werden, was für Daten, Funktionalitäten, intellektuelles Eigentum etc. geschützt werden sollten. Unter Umständen ist es ebenso sinnvoll, darin festzuhalten was NICHT geschützt werden soll.

Was, wenn wir es nicht schaffen, die Vermögenswerte zu schützen? Der Schaden, der angerichtet werden soll ebenso festgehalten werden. Es können dies sein: Direkter Schaden, Geldverlust, Verlust von Wettbewerbsvorteilen, Reputationsschaden und Vertrauensverlust, etc.

Bedrohungen analysieren

In einem zweiten Schritt soll die Bedrohung analysiert werden, insbesondere die möglichen Motivationen für einen Angriff. Folgende sind denkbar: Daten-, Geld-, Privilegien-, Spionage-, Erpressungs-, Identitätsdiebstahl-, Reputationsvernichtungs-, Kriegs- oder Hacking-Systeme zu stehlen, um sie für den Angriff auf andere Systeme zu nutzen. Auch gilt es sich zu überlegen, was angegriffen werden könnte. Möglichkeiten sind: Angriffe auf Individuen (Mitarbeiter oder Kunden), Angriffe gegen das gesamte System oder einzelne Dienstleistungen oder aber ziellose Angriffe.

Angegriffen werden: Technische Schwachstellen, bekannte Schwachstellen, Betriebs- und Prozessschwachstellen. Angriffe können unter Ausnutzung von Betriebs- und Prozessschwächen und Social Engineering erfolgen. Unter Social Enginieering werden Angriffe durch ahnungslose Menschen verstanden.

Mögliche Angreifer können sein: Kriminelle Organisationen, Konkurrenten, Regierungen, Aktivisten und Forscher. Wichtig ist, dass es Angriffe von aussen und innerhalb eines Unternehmens geben kann. Es gibt andere Bedrohungen wie Naturkatastrophen, Überschwemmungen, Feuer, technische Ausfälle, Softwarefehler, Festplattenabstürze, Netzwerkausfälle, Stromausfälle oder menschliche Fehler.

Bedrohungsbeurteilung

Ein weiterer Schritt im Prozess ist die Bedrohungsbeurteilung. Dazu wird eine angemessene Risikoanalyse benötigt um die möglichen Bedrohungen zu bewerten. Sobald die Analyse abgeschlossen ist, wird auf der Basis von Angriffswahrscheinlichkeit, Schaden, Aufwand und Gegenmassnahmen priorisiert.

Massnahmen

Als letzter Schritt im Prozess sind Massnahmen zu definieren und umzusetzen. Mögliche Massnahmen sind: Implementierung der Sicherheitsinfrastruktur, Protokolle und sehr wichtig sind Sicherheitstools wie Verschlüsselung, Firewalls und Malware-Scanner. Eine weitere Möglichkeit ist gewisse Daten bewusst nicht zu speichern oder von gewissen Funktionalitäten abzusehen. Dieser gesamte Prozess sollte regelmässigen Überprüfungen unterzogen und die entsprechenden Daten neu beurteilt werden.

Bedrohungen

Es gibt von OWASP 10 allgemeine Bedrohungen sowie Bedrohungen für Mobile. Welche dies sind, sind unter folgendem Link zu finden: https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10

Sicherheits-Toolbox

PIN-Codes und Passwörter

Die Sicherheitsmerkmale von PIN-Codes und Passwörtern beruhen darauf, dass sie unmöglich oder zumindest sehr schwer zu erraten sind. Aufgrund der immer besser werdenden Computer sollten Passwörter immer länger werden. Das Problem hierbei ist, dass die Fähigkeit der Menschen, sich lange Passwort zu merken, schwindet. Ausserdem ist die Eingabe von langen Passwörtern auf mobilen Geräten sehr mühsam und fehleranfällig. Und noch problematischer ist, dass wir in der Öffentlichkeit oft Passwörter auf mobilen Geräten eingeben. Corsin empfiehlt einen Passwortmanagern zu benutzen.

Authentifizierung und Identifikation

Authentifizierung ist der Prozess des Nachweises von etwas. Im IT-Sprachnachweis bedeutet das in der Regel ein Zugangsrecht. Die Authentifizierung sagt nichts direkt über die Person oder das System aus, die ein Recht hat. Ein traditionelles Beispiel für eine Authentifizierung ist ein Schlüssel. Identifizierung ist der Prozess des Nachweises, dass jemand eine bestimmte Identität hat. Menschen und Maschinen können mehrere Identitäten haben, z.B. Pseudonyme. Ein altes Beispiel für einen Ausweis ist eine Mitgliedskarte oder eine Kreditkarte. Eine Identifikation beinhaltet nicht direkt eine Authentifizierung.

Die Prozesse der Authentifizierung und der Identifikation können oft kombiniert werden. Einige Mittel der Authentifizierung sind auch Mittel der Identifizierung. Ein Reisepass belegt beispielsweise, dass man eine bestimmte Person ist, aber auch Bürger eines bestimmten Landes ist und die damit verbundenen Rechte hat.

Zwei-Weg-Authentifizierung

Zwei, unabhängige Mechanismen zur Authentifizierung oder Identifizierung idealerweise aus zwei verschiedenen Kategorien wie z.B. Dinge, Informationen oder Biometrie. Beispiele: Bankkarte und PIN-Code oder Schlüssel (für die Tür) und Passwort zum Entschärfen der Alarmanlage.

Verschlüsselung

Die Verschlüsselung der Daten soll so geschehen, dass nur berechtigte Personen darauf zugreifen können. Verschlüsselungen basieren auf mathematischen Operationen und Algorithmen. Verschlüsselungsalgorithmen sind normalerweise standardisiert und Verschlüsselungsschlüssel liefern das geheime Element. Es gibt zwei bekannte Verschlüsselungssysteme. Symmetrische Verschlüsselung: Derselbe Schlüssel wird zum Ver- und Entschlüsseln von Daten verwendet, und Asymmetrische Verschlüsselung: Schlüsselpaare mit unterschiedlichen, aber verwandten Schlüsseln werden zum Ver- und Entschlüsseln von Daten verwendet.

Sichere Codierung

Entwickler haben einen starken Einfluss auf die Sicherheit von Systemen. Die sichere Codierung ist daher für sicherheitsrelevante Systeme von grösster Bedeutung. Für die Codierung bedeutet dies die Einhaltung von Best Practices oder die Vermeidung von typischen und bekannten Problemen. Ebenso gibt es Tools, welche die Entwicklungsteams unterstützen.

Sicherheitsaudit

Es gibt verschiedene Möglichkeiten, Systeme zu verifizieren und auf Schwachstellen zu testen. Zum einen sind Code-Reviews hilfreich. Diese können einerseits innerhalb eines Entwicklungsteams stattfinden oder aber mit externen Sicherheitsexperten. Wichtig ist, dass allfällige Branchenvorgaben eingehalten werden.

Sicherheitsüberwachung

Sicherheit ist nicht nur bei der Konzeption und Implementierung ein wichtiges Thema. Auch im laufenden Betrieb ist die Sicherheit sehr wichtig. Hier kommen die eigentlichen Angriffe zustande, auch wenn die Angriffe während des Designs und der Implementierung ermöglicht wurden. Die Sicherheitsüberwachung ist ein sehr wichtiger Aspekt. U.a. werden heute sicherheitsrelevante Ereignisse wie Logins, Zugriff auf sensible Daten, etc. überwacht. Auf mobilen Geräten ist dies viel schwieriger als auf Servern in hochsicheren Rechenzentren.

Mobile Plattformen

Die Sicherheit von mobilen Plattformen ist ein wichtiges Thema für dessen Anbieter. Wenn eine mobile App gehackt wird, kommt es auch beim Plattformanbieter zu einer schlechten Bewertung. Sicherheit ist ein Verkaufsargument, das Anwender, Entwickler und Unternehmen anzieht. Daher verfügen Mobile Plattformen über ausgefeilte Sicherheitsmerkmale.

Um den Angriff von mobilen Plattformen zu vermeiden, können Apps «gehärtet» (application hardening) werden. Dies kann auf unterschiedliche Arten erfolgen:

  • Reduzierung der Angriffsfläche Ihrer Anwendung durch entfernen oder deaktivieren unnötiger Funktionen
  • Aus einer Bibliothek mit 100 Funktionen lediglich diese verwenden, die nötig sind
  • Unsichere Algorithmen aus der Krypto-Bibliothek entfernen
  • Austausch kritischer Komponenten
  • Benutzerdefinierter IP-Stapel
  • Kundenspezifische Krypto-Implementierung

Mobile Sicherheitsframeworks

Ein Sicherheitsframework für mobile Endgeräte zu haben ist möglich. Diese kosten jedoch viel an Geld wie auch Zeit. Damit werden Anwendungen noch weiter gefestigt.

Der menschliche Faktor

Bei der Sicherheit geht es nicht nur um Kodierung, Kryptographie resp. Mathematik. Das menschliche Element ist in der IT-Sicherheit sehr wichtig. Beim Thema Sicherheit ist der Mensch unbedingt in das Sicherheitsframework einzubeziehen. Die Menschen sind fehlbar und faul. Die Menschen sind meist optimistisch und haben begrenzte Fähigkeiten. Manchmal tun sie die falschen Dinge, weil sie nicht besser und schlechter wissen.

Social Engineering

Wenn ein System angegriffen werden soll, ist mit dem schwächsten Glied des Systems zu beginnen. Der Mensch ist oft das schwächste Glied. Social Engineering konzentriert sich auf das Hacken von Menschen. Die Tools und Protokolle mögen etwas anders sein, aber der Rest ist derselbe wie das Hacken von IT-Systemen. Menschen haben Schwächen und Schwachstellen. Social Engineering konzentriert sich darauf, diese zu nutzen. Die Verteidigung gegen Social Engineering ist sehr, sehr schwer.

Konflikte und Kompromisse

Sicherheit ist immer eine Eigenschaft, die schwer zu erfassen ist. Niemand kann sagen, wie viel genau investiert werden muss. Sicherheitsaspekte stehen oft im Konflikt mit anderen Themen wie Kosten, Time to Market, User Experience / Usability Complexity.

Kosten der Sicherheit

Sicherheit ist teuer. Niemand kann sagen, wieviel für Sicherheit auszugeben ist. Wenn man es richtig macht, wird man nie in eine Situation geraten, die Investitionen in Sicherheit rechtfertigen würde. Keine Sicherheit ist wahrscheinlich noch teurer!

Zusammenfassung

Sicherheit ist keine binäre Sache. Sicherheit ist ein kontinuierliches Thema. Man weiss nie, wann man genug getan hat. Fehlende Sicherheit wird nur dann identifiziert, wenn nicht genug getan wurde! Jedes Individuum oder jede Unternehmung muss wissen, was geschützt werden muss. Dabei muss raten werden, vor wem und vor was man sich schützen will. Sicherheit kann teuer sein, keine Sicherheit kann noch teurer sein.