Computer- und Netzwerksicherheit - Gesamt: Unterschied zwischen den Versionen
Zeile 1: | Zeile 1: | ||
{{:UrheberrechtDefault}} | {{:UrheberrechtDefault}} | ||
<br/><br/> | |||
{{:Benutzer:VÖLKL_Peter}} | {{:Benutzer:VÖLKL_Peter}} | ||
<br/><br/> | <br/><br/> |
Version vom 29. Jänner 2022, 10:53 Uhr
Peter Völkl (Jahrgang 1984) startete seine berufliche Laufbahn nach dem Abschluss seiner Ausbildung an der HTBLuVA für EDV und Organisation im Jahr 2005 als Softwareentwickler beim Österreichischen Roten Kreuz. 2008 übernahm er die Leitung einer Abteilung der Blutspendezentrale für Wien, Niederösterreich und Burgenland, die für die IT-Services des Blutbereichs verantwortlich war. Neben der Führung der Abteilung lagen seine Schwerpunkte in der Koordination und Überwachung von IT-Projekten und -Prozessen sowie in der Entwicklung, Testung und Validierung von IT-Systemen.
Parallel zu seiner beruflichen Tätigkeit begann er 2010 das Bachelorstudium Wirtschaftsinformatik an der FernFH, das er 2012 abschloss. Im Anschluss absolvierte er die Masterstudiengänge Wirtschaftsinformatik an der FernFH sowie Information Management and IT Security an der FH Technikum Wien, die er 2014 erfolgreich beendete.
Von November 2014 bis 2024 war Peter Völkl als wissenschaftlicher Mitarbeiter an der FernFH tätig. Ab Juli 2016 übernahm er die Studiengangsleitung des Masterstudiengangs Wirtschaftsinformatik und leitete seit 2023 zudem das Institut für Informationstechnologie und Wirtschaftsinformatik.
Seit Oktober 2024 ist er Kaufmännischer Leiter der Blutspendezentrale für Wien, Niederösterreich und Burgenland im Österreichischen Roten Kreuz.
Grundlagen der Informationssicherheit
Einleitung
Die Sicherheit der Informationstechnologie ist ein wesentlicher Bestandteil der Unternehmenssicherheit, da viele Prozesse einer intensiven IT-Unterstützung bedürfen und ohne sie nicht mehr, oder nur teilweise, funktionieren können. Es ist daher enorm wichtig, die möglichen Risiken zu kennen und diese, bezugnehmend auf die einzelnen Unternehmensprozesse, bewerten zu können. So umfangreich die Informationssysteme eines Unternehmens sind, so umfangreich sind auch die zu beachtenden Angriffsvektoren, sowie die Szenarien für Datenverlust, Nichtverfügbarkeit und Datendiebstahl. Die Computer- und Netzwerksicherheit ist ein wesentlicher Bestandteil der Informationssicherheit und greift in jede erdenkliche Materie der Informationstechnologie ein.
Die Zwischenfälle im IT-Sicherheitsbereich nahmen in den letzten Jahren immer mehr zu. Einer Statistik der Internet-Sicherheitslage in Österreich von CERT.at und GovCERT.gv.at zufolge ist die Anzahl der IT-Sicherheitszwischenfälle von unter 10 pro Monat im Jahr 2009 auf konstant über 500 pro Monat ab Ende des Jahres 2012 gestiegen. Gegen Ende 2013 kann sogar von 1000 Zwischenfällen pro Monat ausgegangen werden, die Tendenz ist weiterhin steigend. [Ni13, 13]
Informations- und IT-Sicherheit
Rund um den Bereich der IT-Sicherheit gibt es viele, oft falsch verstandene Begrifflichkeiten wie Datenschutz, Datensicherheit und Informationssicherheit [Ha12, 28]. Nachfolgend werden diese Begriffe nun kurz beschrieben, um einen Überblick über die Materie zu verschaffen.
Informationssicherheit
Bei der Informationssicherheit handelt es sich um die ganzheitliche Betrachtung der Sicherheit und den Schutz aller Art von Informationen. Dabei ist es nicht relevant, ob diese Informationen in elektronischer oder nicht elektronischer Form vorliegen.
IT-Sicherheit
Die IT-Sicherheit ist Teil der Informationssicherheit (siehe Abbildung "Schnittmenge Informations-Sicherheit und IT-Sicherheit"). Sie beschäftigt sich mit dem Schutz aller Art von elektronischer Information. Das beinhaltet alle EDV und Kommunikationssysteme, wie Computer, Internetverbindungen und Netzwerke, Telefonie und die für den Betrieb der Systeme zugrundeliegende Infrastruktur wie beispielsweise die Stromversorgung.
Datenschutz und Datensicherheit
Der Datenschutz regelt den Schutz personenbezogener Daten, welche in elektronischer oder manueller - nicht elektronisch geführter - Form vorliegen. In Österreich ist der Datenschutz sowohl in einem Bundesgesetz (DSG), als auch in 9 Landesgesetzen geregelt.
Jedermann hat, insbesondere auch im Hinblick auf die Achtung seines Privat- und Familienlebens, Anspruch auf Geheimhaltung der ihn betreffenden personenbezogenen Daten, soweit ein schutzwürdiges Interesse daran besteht. Das Bestehen eines solchen Interesses ist ausgeschlossen, wenn Daten infolge ihrer allgemeinen Verfügbarkeit oder wegen ihrer mangelnden Rückführbarkeit auf den Betroffenen einem Geheimhaltungsanspruch nicht zugänglich sind. [Bg19, § 1. (1)]
Die Einhaltung des Datenschutzes ist Teil der Informationssicherheit bzw. IT-Sicherheit und damit des IT-Sicherheitsmanagements. Die beiden Begrifflichkeiten werden jedoch oft vermischt oder verwechselt. So ist der Datenschutz selbst nur ein kleiner Teilbereich. IT-Sicherheit betrachtet wesentlich mehr als den Schutz personenbezogener Daten und bezieht sich auf alle Unternehmensprozesse und ihre IT-Unterstützung.
Säulen der Informationssicherheit - CIA Triade
Die IT-Sicherheit und damit das IT-Sicherheitsmanagement basieren auf drei Säulen, welche den zu betrachtenden Rahmen aller durchzuführenden Analysen und den damit verbundenen Maßnahmen darstellen. Sie tragen somit bildlich das Dach der IT-Sicherheit und sorgen nur in ihrer gemeinsamen Betrachtung für die Stabilität und Sicherheit des gesamten IT-Sicherheits-Systems. Ihr Fundament ist das IT-Sicherheitsbewusstsein und die damit verbundene Bewusstseinsbildung ist die notwendige Maßnahme (siehe Abbildung "Aufbau der IT-Sicherheit").
Die drei Säulen sind:
- Vertraulichkeit (Confidentiality),
- Integrität (Integrity) und
- Verfügbarkeit (Availability).
Die drei Säulen der IT-Sicherheit werden oft auch als „CIA-Triade“ [1] oder „AIC-Principles“ bezeichnet, da die englischen Bezeichnungen mit den Buchstaben C, I und A beginnen.
Vertraulichkeit (Confidentiality)
Unter Vertraulichkeit wird die Einschränkung der Datenzugriffe auf einen bestimmten Anwenderkreis verstanden. Unberechtigte dürfen keinen Zugriff auf die IT-Systeme und Daten haben. Dies sind beispielsweise die Absicherung des gesamten Systems vor IT-Zugriffen unberechtigter Dritter und aber auch die Definition unterschiedlicher Berechtigungsstufen innerhalb der berechtigten Anwender. So sollte es beispielsweise einem Anwender erlaubt sein, die benötigten Programme zu starten, nicht jedoch neue Software zu installieren oder die gesamte Datenbank zu kopieren.
Je nach System kann die Vertraulichkeit über Benutzer- und Programm-Berechtigungen und auch physische Zutrittskontrolle sichergestellt werden. Die hier gesetzten Maßnahmen sind jene Maßnahmen, welche am häufigsten mit IT-Sicherheit in Zusammenhang gebracht werden, jedoch ohne Betrachtung der anderen beiden Bereiche Integrität und Verfügbarkeit nicht vollständig sind.
Integrität (Integrity)
Die Integrität ist die Betrachtung des Datenbestandes im Zusammenhang mit allen verfügbaren, und nicht verfügbaren, Daten. Innerhalb des Datenbestandes muss sichergestellt werden, dass die Daten selbst vollständig, unverfälscht, korrekt zusammenhängend und nicht widersprüchlich sind. Das bedeutet, dass der Datenbestand lückenlos sein muss und das Fehlen von Daten ersichtlich sein muss. Auch darf durch die Nichtverfügbarkeit einzelner Daten keine Kettenreaktion auf andere Daten ausgelöst werden, welche wiederum zu weiteren falschen Daten führen würde.
Ein Beispiel hierfür ist das Fehlen von Messwerten eines über das Netzwerk angebundenen Medizinproduktes, welches für eine gewisse Zeit durch eine Störung nicht korrekt angebunden war. Wird dieses Lückenproblem nicht korrekt vom darüberlegenden IT-System behandelt, könnten hierbei falsche Durchschnittswerte entstehen, welche wiederum zu einem falschen Diagnosevorschlag führen würden.
Verfügbarkeit (Availability)
Bei der Verfügbarkeit wird die Funktionsbereitschaft der IT-Systeme zu den Zeitpunkten bezeichnet, zu denen sie benötigt werden. Dabei handelt es sich um alle Maßnahmen gegen Ausfälle oder Datenverlust. Hierbei ist es auch erforderlich den Zusammenhang zwischen den Systemen zu betrachten, da der Ausfall eines als unwichtig erscheinenden Systems andere wichtige Systeme beeinträchtigen könnte.
So kann beispielsweise der Ausfall eines Dateiservers als wenig wichtig eingestuft werden, da die Daten in den Kernprozessen nicht unmittelbar im Zugriff sein müssen. Wenn hingegen eine wichtige Software des Kernprozesses seine Logdateien auf genau diesen Dateiserver ablegen muss, wird die anfangs als unwichtig eingestufte Dateiablage auf einmal zu einer kritischen Komponente, da sonst wiederum die Integrität gefährdet wäre.
Kontrollmechanismen
Rund um die CIA-Triade sind drei Kontrollmechanismen definiert, um ihre grundsätzlichen Ziele im Detail analysieren zu können [Fr13, 29]:
- Physische Kontrolle: Schutz der IT-Systeme vor physischem Zugriff durch Maßnahmen wie Zäune, Schlösser und Wachpersonal.
- Technische Kontrolle: Schutz der IT-Systeme und Daten vor technischen Zugriffen über Netzwerke und Anwenderzugriffe. Beispielsweise durch Benutzerberechtigungen, Firewalls, Datenverschlüsselung und das Verhindern des Betriebs von unerlaubten IT-Komponenten im eigenen IT-System.
- Administrative Kontrolle: Installation, Schulung und Kontrolle von IT-Sicherheitsprozessen und IT-Sicherheitsmanagement und allen damit verbundenen Richtlinien und Vorgaben und die Einhaltung der damit verbundenen Gesetzlichen Vorgaben.
Risiko- und Schwachstelleneinteilung der Schutzziele
Um eine einheitliche Betrachtung und Maßnahmensetzung zu ermöglichen sollten alle Risiken gemäß der Schutzziele der CIA-Triade kategorisiert werden. Eine Einteilung in mehrere Kategorien ist in einigen Fällen möglich, jedoch nicht immer voll abgrenzbar [Ha12, 267]. Im Rahmen der Analyse sollte jedoch stets darauf geachtet werden, eine mögliche Einstufung in jeder der drei Säulen zu bedenken. So kann beispielsweise das Risiko einer Schadsoftware mehr als einem Schutzziel zugeordnet werden, da sie sowohl die Integrität als auch die Verfügbarkeit und die Vertraulichkeit gefährden kann [Ha12, 268].
Bei der Analyse der Risiken werden mögliche Schwachstellen der Schutzziele aufgedeckt, welche wiederum zu möglichen Bedrohungen führen. Daraus ergeben sich dann die dafür notwendigen Maßnahmen. Zwischen diesen drei Bereichen bestehen nun einige direkte Abhängigkeiten, die sich jedoch auch oft überschneiden können. Das bedeutet, dass eine Schwachstelle mehrere Risiken bedingen kann und mehreren Risiken durch eine einzelne Maßnahme begegnet werden kann. Abbildung "Zusammenhang von Schwachstellen, Bedrohungen und abgeleiteten Maßnahmen" beschreibt die hier erwähnten Zusammenhänge anhand einiger Beispiele aus dem Softwarebereich:
Die möglichen Bedrohungen durch das Ausnutzen von Schwachstellen werden oft auch als Angriffsvektoren bezeichnet. Ein Angriffsvektor ist dabei der Weg, den ein Angreifer wählen kann um sein jeweiliges Angriffsziel zu erreichen.
Informationssicherheits-Standards
Die IT-Sicherheit und die Einführung und der Aufbau von IT-Sicherheits-Management-Systemen sind in unterschiedlichen Normen und Standards geregelt, die teilweise aufeinander aufbauen oder referenzieren.
Die wesentlichen drei Standards sind:
- die ISO/IEC 2700x Reihe,
- IT-Grundschutz-Standards des Bundesamtes für Sicherheit in der Informationstechnik (BSI) und
- das Österreichische Informationssicherheitshandbuch.
ISO/IEC 2700x Reihe
Eine Reihe verbreiteter internationaler Informationssicherheits-Standards ist die ISO/IEC 2700x Reihe. Sie wurde von der International Organization for Standardization (ISO) und der International Electrotechnical Commission (IEC) begründet und wird stetig ausgebaut.
Das Basisdokument der Reihe ist die ISO/IEC 27000 [Is14] (Informationstechnologie, Sicherheitstechnik, Informationssicherheits-Managementsysteme). Sie definiert die Grundbegriffe und bietet einen Gesamtüberblick. Einige Teile der Reihe wurden von Standards der British Standards Institution (BSI) abgeleitet.
Die grundlegenden Teile der ISO/IEC 2700x sind:
- ISO/IEC 27001 bis 27004: Definition, Betrieb und Kontrolle von Informationssicherheits-Managementsystemen (ISMS) und
- ISO/IEC 27005: Informationssicherheits-Risikomanagement.
Die weiteren Teile beschäftigen sich mit dem Audit und branchenspezifischen und technischen Ausprägungen der ersten fünf Standards. Ein Beispiel dafür ist die EN ISO 27799, welche sich auf das Sicherheitsmanagement im Gesundheitswesen bezieht.
IT-Grundschutz-Standards des Bundesamtes für Sicherheit in der Informationstechnik (BSI)
Der BSI IT-Grundschutz Standard teilt sich in mehrere Dokumente. Er wird durch das Bundesamt für Sicherheit in der Informationstechnik (BSI) der Bundesrepublik Deutschland stetig weiterentwickelt und herausgegeben.
Die Teile des IT-Grundschutz sind:
- BSI-Standard 100-1: Managementsysteme für Informationssicherheit (ISMS) [Bu08a],
- BSI-Standard 100-2: IT-Grundschutz-Vorgehensweise [Bu08b],
- BSI-Standard 100-3: Risikoanalyse auf der Basis von IT-Grundschutz [Bu08c] und
- BSI-Standard 100-4: Notfallmanagement [Bu08d].
Bei allen BSI Standards handelt es sich um Empfehlungen zu Methoden, Prozessen und Verfahren der Informationssicherheit. Die Standards dienen der fachlichen Unterstützung von Anwendern der Informationstechnik und bieten die Möglichkeit, entweder die Empfehlungen direkt zu verwenden oder diese erforderlichenfalls an die eigenen Bedürfnisse anzupassen. [Bu15]
Österreichisches Informationssicherheitshandbuch
Beim Österreichisches Informationssicherheitshandbuch [Ze13] handelt es sich um ein vom Österreichischen Bundeskanzleramt herausgegebenes Werk, welches teilweise auf bestehenden Standards und Normen wie den BSI IT-Grundschutz und die ISO/IEC 2700x aufbaut und Vorgehensweisen für den Aufbau und Betrieb von Informationssicherheit-Management-Systemen. Die Struktur entspricht dabei derer der ISO/IEC 27001 und ISO/IEC 27002.
Das Informationssicherheitshandbuch beschreibt seine eigene Ausrichtung und Umfang wie folgt: Von der Ausrichtung versteht sich das Informationssicherheitshandbuch […] als Sammlung von Leitlinien und Empfehlungen für die Praxis, die entsprechend den spezifischen Anforderungen und Bedürfnissen in einer Einsatzumgebung angepasst werden müssen. Dies wird auch durch die Online-Funktionalitäten wie Checklisten unterstützt. Es soll eine Ergänzung zu den bestehenden Regelungen und Vorschriften (Datenschutzgesetz, Informationssicherheitsgesetz, Verschlusssachenvorschriften, Amtsgeheimnis, …) darstellen und setzt diese weder außer Kraft noch steht es zu ihnen im Widerspruch. [Ze13, 27]
Informationssicherheits-Management
IT-Security ist keine Software, kein Werkzeug und auch kein Zustand. IT-Security ist ein Prozess! [KRS08, 401]
Dieser Satz beschreibt die grundlegende Definition bereits ganz gut. Um IT-Sicherheit einzuführen benötigt es keiner einzelnen Produkte oder reiner persönlicher Ansichten, sondern einen unterstützenden Unternehmensprozess des IT-Sicherheitsmanagements. Es kann dabei nicht als eigenständiges Vorhaben betrachtet werden, sondern gliedert sich in die Betrachtung aller Geschäftsprozesse mit ein. Ein wesentlicher Fehler wäre es, sie Einführung von IT-Sicherheit als zeitlich begrenztes Projekt abzuwickeln, ohne danach einen funktionierenden Managementprozess zu haben, der sich um die Aufrechterhaltung und stetige Verbesserung des IT-Sicherheitsstatus kümmert.
Der Schutz von Informationen und Daten ist auch für kleine und mittlere Unternehmen von großer Bedeutung, da für diese ein entsprechender Verlust von Daten oder deren Manipulation, sehr rasch, ein existenzbedrohendes Potential annehmen kann. [Fr13, 8]
Die Implementierung eines durchgängigen und effizienten IT-Sicherheitsmanagements bedarf detailliertes Wissen über das betreffende Unternehmen und Fachkompetenz im Bereich der IT und IT-Sicherheit. Durch standardisierte Methoden und vormodellierte interne Kontrollsysteme kann es jedoch ermöglicht werden, den operativen Teil des IT-Sicherheitsmanagements durch Spezialisten der Geschäftsprozesse mit IT-Basiswissen durchzuführen.
Um IT-Sicherheitsmanagement in einem Unternehmen zu implementieren, wird ein IT-Sicherheitsmanagement-System (ISMS) aufgesetzt. Dieses System ist die Grundlage des IT-Sicherheitsprozesses, welcher, als Managementprozess, wiederum durch entsprechende Prozessnahtstellen Teil aller Unternehmensprozesse ist.
Ein ISMS ist ein Teil eines allgemeineren, umfassenderen Management-Systems, das andere Teile der Organisation, möglicherweise die gesamte Organisation, und weitere Themen umfasst. Das ISMS baut auf der Einschätzung der Geschäftsrisiken auf. Ein ISMS sollte daher als ein Mittel verstanden werden, mit dem das Management einer Organisation auf erkannte Risiken im Geschäft der Organisation reagiert. [KRS08, 45f]
Die Vorgehensweise für die Installation eines ISMS ist im BSI-Standard folgendermaßen beschrieben [Bu08a, 24ff]:
- Festlegung des Geltungsbereiches, für den das ISMS gelten soll
- Ermittlung von Rahmenbedingungen
- Formulierung von Sicherheitszielen und einer Leitlinie zur Informationssicherheit
- Aufbau einer Informationssicherheitsorganisation
Darüber hinaus ist die Einrichtung eines ISMS ein stetig andauernder Prozess, welcher sich in einen Plan-Do-Check-Act Kreiskauf darstellen lässt. Nach der Planung und Implementierung muss das ISMS regelmäßig inhaltlich überprüft werden und die aus der Überprüfung resultierten Erkenntnisse wiederum in die ursprüngliche Planung und damit in die eigentliche Umsetzung integriert werden. In der ISO 27001 ist dieser Kreislauf folgend ausformuliert [II08, 6]:
- Planen (Einrichten eines ISMS): Einrichten einer ISMS-Politik sowie von Zielen, Prozessen und Verfahren, die für das Risikomanagement und die Verbesserung der Informationssicherheit notwendig sind, um Ergebnisse im Einklang mit den übergeordneten Grundsätzen und Zielen der Organisation zu erreichen.
- Durchführen (Umsetzen und Durchführen des ISMS): Umsetzen und Durchführen der ISMS-Politik, Maßnahmen, Prozesse und Verfahren.
- Prüfen (Überwachen und Überprüfen des ISMS): Bewerten und gegebenenfalls Messen der Prozessleistung an der ISMS-Politik, den ISMS-Zielen und der praktischen Erfahrungen, sowie Berichten der Ergebnisse an das Management zur Überprüfung.
- Handeln (Instandhalten und Verbessern des ISMS): Ergreifen von Korrektur- und Vorbeugemaßnahmen, basierend auf den Ergebnissen interner ISMS-Audits und Management-Überprüfungen oder anderer wesentlicher Informationen, um eine ständige Verbesserung des ISMS zu erreichen.
Wichtige Teile eines ISMS sind daher auch das IT-Business Continuity Management und das IT-Risikomanagement, sowie die sich daraus ergebenden IT-Maßnahmenziele. Für die laufende Analyse, Kontrolle und Weiterentwicklung maßgebend ist das interne Kontrollsystem, welches mit geeigneten Methoden und Checklisten für die Schaffung und Einhaltung des gewünschten IT-Sicherheitsstandards sorgt.
Business Kontinuität und Sicherheitszwischenfälle
Das IT-Business Continuity Management besteht aus dem IT-Notfallmanagement und dem IT-Verfügbarkeitsmanagement [Ha12, 149]. Seine Grundlage ist ein funktionierendes IT-Risikomanagement und entsprechende Risikoanalysen, welche wiederum auf den Geschäftsprozessen basieren.
Das IT-Business Continuity Management (IT BCM) konzentriert sich als Teilbereich des Unternehmens-Business Continuity Managements auf diejenigen Arbeitsabläufe und Prozesse, die maßgeblich von IT-Systemen unterstützt werden. [Ha12, 151]
Der Output des IT-Business Continuity Managementprozesses ist der Business Continuity Plan (BCP). In diesem Plan werden konkrete Maßnahmenziele für die jeweiligen Prozesse der Business Impact Analyse (BIA) und den dazugehörigen Risiken aus der Analyse des Notfallmanagements und des Verfügbarkeitsmanagements definiert.
Business Impact Analyse (BIA)
Im Rahmen der Business Impact Analyse werden alle Geschäftsprozesse hinsichtlich ihrer Auswirkungen bei teilweisen, oder gänzlichen Ausfällen analysiert. Dadurch wird festgestellt, auf welche Prozesse im Business Continuity Plan ein besonderes Augenmerk gelegt werden muss und welche vernachlässigbar sind. Sie betrachtet noch keine Risiken im Detail, sondern nur die Auswirkungen des Ausfalls von Prozessen. Dabei werden alle Geschäftsprozesse und Prozessschritte analysiert und entsprechend bewertet.
Harich beschreibt die Durchführung einer Business Impact Analyse in 7 Phasen, welche der Prozessanalyse, sollten die Prozesse noch nicht bekannt sein, nachgestellt sind [Ha12, 156ff]:
- Phase 1 - Vorauswahl der Geschäftsprozesse: Anfertigung einer priorisierten Liste der wichtigsten Prozesse, um weniger wichtige Prozesse aus der Betrachtung auszunehmen, insbesondere die Aussortierung von Prozessen, welche ohne Auswirkungen auf den Unternehmenserfolg für längere Zeit ausfallen dürfen.
- Phase 2 - Schadensanalyse: Entstehender Schaden, wenn der analysierte Prozess die Prozessziele nicht erreicht. Es empfiehlt sich eine Staffelung nach Ausfallszeit, da die entstehenden Schäden meist von der Ausfallsdauer abhängen.
- Phase 3 - Festlegung Prozess Service Level Agreements: Festlegung der maximal tolerierten Ausfallzeit und dem minimalen Wiederanlaufniveau, das ist die minimale Funktionalität die für den Bereich erforderlich ist, je Prozess.
- Phase 4 - Berücksichtigung von Abhängigkeiten: Wenn Prozesse voneinander abhängig sind, dann müssen diese Abhängigkeiten erfasst werden und in die Analyse mit einfließen. So kann ein Prozess einen höheren Service Level benötigen, da ein anderer wichtigerer Prozess von ihm abhängig ist.
- Phase 5 - Priorisierung der Geschäftsprozesse: Aufgrund der Erkenntnisse aus den Phasen 2 bis 4 werden nun die Prozesse erneut priorisiert und gegebenenfalls aus der weiteren Betrachtung ausgenommen. Auch wird definiert, ob in der weiteren Betrachtung ein komplettes Notfallmanagement, oder lediglich die Definition simpler Arbeitsabläufe im Rahmen des BCP notwendig ist.
- Phase 6 - Zuordnung von Werten: Unter Werten werden hier die IT-Systeme verstanden, welche für das Funktionieren des Prozesses benötigt werden beziehungsweise verantwortlich sind. Da diese Zuordnung oft sehr komplex und aufwändig ist, wird empfohlen, sie nur für die wichtigsten Prozesse im Detail durchzuführen.
- Phase 7 - Festlegung Asset Service Level Agreements: In der letzten Phase werden nun die maximalen Ausfallszeiten und Wiederanlaufzeiten für die in Phase 6 zugeordneten IT-Systeme bestimmt. Die Klassifizierung erfolgt dabei über die zugrundeliegenden Prozesse und deren definierten Parametern und Zeiten.
Für die Schadensanalyse in Phase 2 sind im BSI Standard folgende Schadenskategorien definiert [13, p. 37]:
- „niedrig“: Ausfall hat eine geringe, kaum spürbare Auswirkung
- „normal“: Ausfall hat spürbare Auswirkungen
- „hoch“: Ausfall hat erhebliche Auswirkungen
- „sehr hoch“: Ausfall oder Beeinträchtigung führen zu existenziell bedrohlichen Auswirkungen
IT-Notfallmanagement
Das IT-Notfallmanagement hat die grundsätzliche Aufgabe, Methoden und Maßnahmen bereitzustellen, die zur schnellen Lösung einer Krisensituation dienen. Das IT-Notfallmanagement ist ein Sammelbegriff für alle Schritte von der Notfallvorsorge, Notfallübungen über den Notbetrieb bis hin zur Bewältigung eines Notfalls. Es umfasst die Definition von Verantwortlichkeiten, die Erstellung und Pflege von Notfallplänen und aller Maßnahmen, die im Rahmen von Notfällen abzuarbeiten sind. [Ha12, 163f]
Der Umfang des IT-Notfallmanagements ist ein sehr weitreichender. Die tatsächliche Anwendung ist hier jedoch stark von der Unternehmensgröße abhängig. So ist es in kleinen Unternehmen zwar ebenfalls erforderlich, Überlegungen zu allen Teilbereichen, wie beispielsweise der Notfallorganisation, zu treffen, die Komplexität ist jedoch wesentlich geringer. Es können daher einige Aspekte zusammengefasst betrachtet werden. Die Prozessschritte des Notfallmanagementprozesses laut IT-Grundschutz des BSI [Bu08d] sind in Abbildung "Notfallmanagement-Prozess" entsprechend ihrer Reihenfolge und ihrer Zusammenhänge dargestellt.
Die in der Konzeption des Notfallmanagements zu erarbeitenden Punkte sind:
- Ablauforganisation,
- Krisenkommunikation und
- Notfallhandbuch (Maßnahmenplan, Checklisten).
IT-Risikomanagement
Genauso wie das IT-Sicherheitsmanagement ist das IT-Risikomanagement ein stetiger Prozess. Auch nach Einführung eines Risikomanagementsystems für Informationssicherheit wird es keinen Tag X geben, an dem der CISO [Chief Information Security Officer] verkündet, ab jetzt sei alles sicher. Er wird höchstens sagen können, dass man auf Unsicherheit gezielt und planvoll reagieren kann und genau weiß, auf welche Risiken man sich einlassen will und auf welche lieber nicht. [Kl11, 25]
Das IT-Risikomanagement beschäftigt sich mit der Analyse und Bewertung der IT-Risiken innerhalb der Geschäftsprozesse. Grundlage des IT-Risikomanagements ist somit die Prozessanalyse und die Business-Impact-Analyse, da nicht nur die Eintrittswahrscheinlichkeit, sondern auch die möglichen Auswirkungen wesentlicher Bestandteil der Risikoanalyse sind.
Um die Risiken einzuschätzen ist Erfahrung mit den Geschäftsprozessen und den notwendigen IT-Systemen notwendig. Denn nur durch das aus dieser Erfahrung resultierende Wissen lässt sich die Existenz der Schwachstellen und Bedrohungen feststellen und die zugehörigen Risiken abschätzen. Obwohl die Einschätzung grundsätzlich mit entsprechender Prozess- und Technologieerfahrung möglich ist, werden viele Risiken ohne eine entsprechende Risikoanalyse oft nicht erkannt, da es zusätzlich zu dem möglichen Wissen notwendig ist, sich im Rahmen der Risikoanalyse lückenlos mit dem Prozess auseinanderzusetzen.
Bei dieser Art der Risikoanalyse handelt es sich um den kombinierten Ansatz nach dem Österreichischen Informationssicherheitshandbuch [Ze13, 97]. Hier wird anhand der Schutzbedarfsfeststellung der Business-Impact-Analyse festgelegt, welche Risiken einer detaillierten Analyse (hohe Auswirkung) bedürfen und bei welchen auf einen hohen Detaillierungsgrad verzichtet werden kann (niedrige und mittlere Auswirkung) und eine Grundschutzanalyse ausreichend ist. Die Vorgehensweisen bei diesen beiden Analysearten werden nachfolgend genauer beschrieben.
Detaillierte Risikoanalyse
Die betroffenen Prozesse aus der Business-Impact-Analyse werden nun einer Bedrohungsanalyse und einer Schwachstellenanalyse unterzogen. Dabei wird betrachtet, welche möglichen Bedrohungen zu einer Störung des Prozesses führen können und welche Schwachstellen im Prozess oder seiner IT-Unterstützung diese Bedrohungen begünstigen können. Danach werden die bereits bestehenden Sicherheitsmaßnahmen analysiert und ihr aktueller Nutzen und die korrekte Funktion bewertet. Sobald alle Risiken bekannt sind, werden sie hinsichtlich ihrer Eintrittswahrscheinlichkeit und des möglichen Schadens bewertet und ein Gesamtrisiko berechnet. [Ze13, 97ff]
Um keine mögliche Bedrohung zu übersehen empfiehlt es sich, mit einer Checkliste zu arbeiten, die eine lückenlose Betrachtung aller möglichen Bedrohungstypen oder Kategorien ermöglicht.
Um mit den bewerteten Risiken nun vergleichbare Berechnungen durchführen zu können, werden die Faktoren dabei mit nummerischen Werten für beispielsweise „Niedrig“ bis „Sehr hoch“ beschrieben [Ha12, 304]:
- Niedrig (Wert 1)
- Mittel (Wert 2)
- Hoch (Wert 3)
- Sehr hoch (Wert 4)
Die gängigste und gleichzeitig einfachste Formel zur Berechnung der Risiken ist:
Da jedoch auch die bestehenden Maßnahmen in die Analyse einfließen, wird die Formel in der detaillieren Risikoanalyse um den Faktor erweitert, welcher die Eintrittswahrscheinlichkeit wieder verringert:
Hier wird nicht das bloße Vorhandensein, sondern die Qualität der Maßnahmen bewertet. [Ha12, 301]
Die oben genannte Formel berücksichtigt nur Maßnahmen, welche die Eintrittswahrscheinlichkeit minimieren. Es kann jedoch auch Maßnahmen geben, mit denen der entstehende Schaden gesenkt werden kann. So senkt beispielsweise eine unterbrechungsfreie Notstromversorgung die Eintrittswahrscheinlichkeit eines stromausfallbedingten IT-Systemausfalls, eine automatische Löschanlage in einem Serverraum minimiert hingegen den möglichen Schaden bei einem Brand, nicht aber die Eintrittswahrscheinlichkeit des Brandes. Die endgültige Formel wird daher noch um den Faktor der Schadensminimierenden Maßnahmen erweitert:
Um nun die Risikoanalyse übersichtlich und gut sortiert darzustellen, können, die Risiken auch in Form einer Risikomatrix dargestellt werden. Dabei empfiehlt sich die Risikomatrix gemäß der ALARP (As Low As Reasonably Practicable) [Kl11, 150f] Methode darzustellen. Die Achsen der Matrix sind hierbei die Eintrittswahrscheinlichkeit und der Schaden, welche in der hier angeführten Analyse noch um die Qualität der jeweiligen Maßnahmen reduziert wurden. Die daraus entstehende Matrix ist in Tabelle "ALARP Risikomatrix" dargestellt. Sie orientiert sich an der von Klipper [Kl11, 151] beschrieben Darstellung und berücksichtigt die Werte Niedrig bis Hoch der oben genannten Bewertung. Der grün dargestellte Bereich ist dabei der „akzeptable Bereich“. Alle hier eingeordneten Risiken müssen nicht weiter behandelt werden. Die Risiken im „ALARP-Bereich“ werden nur behandelt, wenn sie mit sehr einfachen Maßnahmen in den grünen Bereich gebracht werden können. Sie sind somit vorhanden, können aber noch akzeptiert werden. Eine besondere Betrachtung erfordern nur die Risiken im roten „inakzeptablen“ Bereich. Hier müssen Maßnahmen gesetzt werden, die dafür geeignet sind, die Faktoren so weit zu beeinflussen, damit die Risiken in den ALARP Bereich wechseln.
Grundschutzansatz Risikoanalyse
Ziel des Grundschutzansatzes ist es, den Aufwand für die Erstellung eines Informationssicherheitskonzeptes angemessen zu begrenzen. [Ze13, 110]
Bei der Grundschutzanalyse wird das IT-System anhand von vorhandenen Bausteinen möglichst genau nachmodelliert. Danach werden die vorhanden Maßnahmen mit den empfohlenen Maßnahmen in Form eines Soll-Ist-Vergleichs verglichen und daraus das weitere Vorgehen abgeleitet. Die einzelnen Bausteine für die Modellierung definieren sich durch die IT-Grundschutz Standards des BSI [Bu13]. Die einzelnen Module sind, der einfacheren Betrachtung halber, in einzelne Schichten gegliedert. Die unterschiedlichen Schichten und der aus Ihnen abgeleitete Aufbau des IT-Systems sind in Abbildung "Schichten des IT-Grundschutz Modells" dargestellt.
Aus den empfohlenen Maßnahmen des jeweiligen Bausteines ergeben sich die Soll-Parameter für das IT-System. Es wird dabei grundsätzlich nicht auf die beiden Faktoren Schaden und Eintrittswahrscheinlichkeit eingegangen, da dies bereits durch die Konzeption des Grundschutzstandards global berücksichtigt wurde. Bei Abweichungen des Ist-Systems müssen entweder Maßnahmen getroffen werden um die Lücke zu füllen, oder die Abweichung mit einer entsprechenden Begründung akzeptiert werden.
IT-Maßnahmenziele
Anhand der Ergebnisse der Risikoanalyse werden nun Maßnahmenziele abgeleitet, um entweder das jeweilige Modul des TI-Grundschutz-Modells zu erfüllen, oder um die in der detaillierten Risikoanalyse ermittelten Risiken auf einen akzeptierten Level zu bringen.
Bevor eine vollkommen neue Maßnahme eingeführt wird, empfiehlt es sich mögliche bereits vorhandene Maßnahmen hinlänglich ihrer Erweiterbarkeit und Verbesserbarkeit zu überprüfen [Ha12, 314], da es sich dabei meist um die schnellste und günstigste Lösung handeln wird.
Die ISO/IEC 27001 definiert im Anhang B [II08, 20ff] folgende Kategorien möglicher Maßnahmenziele:
- Sicherheitspolitik,
- Organisation der Informationssicherheit,
- Management von Vermögenswerten,
- Personelle Sicherheit,
- Physische und umgebungsbezogene Sicherheit,
- Management der Kommunikation des Betriebes,
- Zugriffskontrolle,
- Beschaffung, Entwicklung und Wartung von Informationssystemen,
- Management von Informationssicherheits-Vorfällen,
- Betriebliches Kontinuitätsmanagement (Business Continuity Management) sowie
- Einhaltung von Verpflichtungen.
Die Maßnahmenziele müssen für die eigenen Prozesse ausdefiniert werden und stehen dann als Maßnahmenkatalog zur Begegnung mit den festgestellten Risiken zur Verfügung.
Wiederholungsaufgaben/Übungen
1 Erklären Sie, worin sich die Begriffe Informationssicherheit, IT-Sicherheit und Datenschutz unterscheiden.
2 Was ist die CIA-Triade? Erklären Sie kurz was genau unter C, I und A verstanden wird.
3 Welche Kontrollmechanismen gibt es, um die Ziele der CIA-Triade analysieren zu können?
4 Was versteht man unter Schwachstellen, Bedrohungen und Maßnahmen und wie hängen sie zusammen?
5 Zählen Sie wesentliche Standards der Informationssicherheit auf und erläutern Sie kurz ihre Herkunft und ihren Zweck.
6 Sie sind mit der Durchführung eines Projektes zur Einführung von Informationssicherheit im Unternehmen beauftragt. Welches System werden Sie dazu einführen und was muss nach Projektende unbedingt beachten werden und warum?
7 Erklären Sie kurz den Begriff des IT-Business Continuity Managements. Welche Analysemaßnahmen müssen darin durchgeführt werden und wie hängen sie zusammen?
8 Wie funktioniert eine Risikoanalyse nach dem Grundschutzansatz?
Bewusstseinsbildung, Sensibilisierung und Ethik in der Informationssicherheit
Security Awareness
Der Mensch ist und bleibt gleichzeitig das schwächste und wichtigste Glied in der Security Kette. Alle technischen Schutzmaßnahmen nutzen nichts, wenn der Mensch sie nicht umsetzt oder seinen ergänzenden Beitrag zur Sicherheit leistet. Deshalb ist die Sensibilisierung der Mitarbeiter eine der wichtigsten Aufgaben, um für Informationssicherheit im Unternehmen zu sorgen. [Sc07]
Die Basis eines funktionierenden IT-Sicherheitsmanagements ist die Sensibilisierung bzw. Bewusstseinsbildung für die IT-Sicherheit. Dabei ist ein Zusammenspiel der Faktoren Wissen, Wollen und Können notwendig. In Abbildung "Zusammenspiel Können, Wollen, Wissen" ist der Zusammenhang dieser drei Punkte in Form von Kettengliedern dargestellt, da sie gleichermaßen zusammenhalten müssen um eine effiziente Bewusstseinsbildung zu ermöglichen. Auch hier bricht die Kette sprichwörtlich an ihrem schwächsten Glied, was wiederum in möglichen Schwachstellen resultieren kann.
Wissen bedeutet in diesem Zusammenhang das Problem und seine Zusammenhänge zu erkennen und zu verstehen. Wollen ist die Absicht, auch unter Beachtung der IT-Sicherheit zu arbeiten und zu handeln. Können bedeutet in diesem Zusammenhang die Möglichkeiten zu haben, IT-Sicherheit anzuwenden. Dies ist sowohl organisatorisch, als auch technisch bedingt. Gerade dieser Punkt kann durch falsche oder unbedacht eingesetzte IT Hilfsmittel zu grundlegenden Problemen im IT-Sicherheitsbewusstsein führen, da hier eine organisatorisch nicht ganzheitliche Beachtung die IT-Sicherheit wieder zu einer Option macht und dadurch das Selbstverständnis wieder geschmälert werden kann.
Das IT-Sicherheitsbewusstsein (Security Awareness) ist vergleichbar mit dem Bewusstsein für medizinische Hygiene: So waren Hygienemaßnahmen bis ins 19. Jahrhundert nicht als notwendig angesehen, da sich keiner der damit verbundenen Risiken bewusst war. Erst durch den Nachweis des Nutzens von beispielsweise Händedesinfektionen und des Zusammenhangs von verunreinigten Instrumenten und Blutvergiftungen wurde das Bewusstsein dafür geschaffen [2] . Auch in der IT gibt es Risiken und Gefahrenpotenziale, denen erst sinnvoll begegnet werden kann, wenn ein entsprechendes Bewusstsein für IT-Sicherheit bei den Prozessverantwortlichen, den Anwendern und den IT-Technikern vorhanden ist. Das gesamte IT-Sicherheitsmanagement ist somit maßgeblich vom Bewusstsein der Beteiligten abhängig (siehe Abbildung "Aufbau der IT-Sicherheit" in Lektion "Säulen der Informationssicherheit - CIA Triade").
Genauso wie das Informationssicherheitsmanagement, sollte Security Awareness als Prozess und nicht als Projekt gesehen werden. Es ist nötig aktuellen Status der Security Awareness zu kennen, den nötigen Bedarf zu erheben und die erforderlichen Maßnahmen zu setzen. Diese müssen dann wiederum in die Betrachtung des aktuellen Status einfließen und der Kreislauf beginnt erneut.
Als Maßnahmen zur Verbesserung der Security Awareness werden oft Sensibilisierungsprogramme mit Kampagnen und gezielten Trainings durchgeführt.
Sicherheitskultur
Ob und wann in welchem Ausmaß Sicherheit gelebt wird, hängt neben dem grundsätzlichen Stellenwert, den Sicherheit im Unternehmen hat, sowohl vom Kulturkreis als auch von der Unternehmenskultur ab. [He09, 23]
Die Personen eines Unternehmens haben in der jeweiligen Sicherheitskultur eine tragende Rolle. Ihr Verhalten wird durch ihr jeweiliges soziales Umfeld beeinflusst und beeinflusst damit wiederum das Verhalten der anderen Personen. [He09, 22]
Der Stellenwert der Sicherheit innerhalb der Unternehmenskultur ist ein wesentlicher Faktor bei der Schaffung einer Sicherheitskultur und der Security Awareness.
Je nach der Stärke der Verankerung von Sicherheit in der aktuellen Unternehmenskultur stellt die Sensibilisierung für Informationssicherheit einen kleineren oder wesentlichen Eingriff in ein gewachsenes System dar. Ist der aktuelle Stellenwert eher als gering einzustufen, ergeben sich ein Vielzahl von möglichen Akzeptanzproblemen und Konflikten. Eine Berücksichtigung dieser Faktoren ist für den Erfolg einer Security-Awareness-Kampagne enorm wichtig. [He09, 25]
Auch kann durch bestimmte bekannte Verhaltensweisen der Unternehmenskultur auf die erwarteten Verhaltensweisen der Sicherheitskultur geschlossen werden. So kann beispielsweise vom üblichen Umgang mit Unternehmens-Problemen auf den möglichen Umgang mit Sicherheitsvorfällen geschlossen werden. [He09, 26f]
Sensibilisierungsprogramme
Um die Sensibilisierung für die Informationssicherheit im Unternehmen zu erhöhen sollten Sensibilisierungsprogramme durchgeführt werden. Diese werden meist von den Informationssicherheitsverantwortlichen geplant und gemeinsam mit den einzelnen Unternehmensbereichen durchgeführt. Dabei ist besonders wichtig, dass individuell auf die Anforderungen der einzelnen Unternehmensbereiche und die Situationen der MitarbeiterInnen eingegangen wird. Sie sollten weiter immer auf die Verantwortung der MitarbeiterInnen für die Informationssicherheit des Unternehmens hinweisen und gleichzeitig die Verantwortung des Managements betonen.
Gemäß dem österreichischen Informationssicherheitshandbuch (Zentrum für sichere Informationstechnologie - Austria, 2013, S. 58f) sollte ein Sensibilisierungsprogramm folgende Punkte umfassen:
- Information aller MitarbeiterInnen über die Informationssicherheitspolitik der Organisation,
- die wichtigsten Ergebnisse der Risikoanalysen (Bedrohungen, Schwachstellen, Risiken, …),
- die Pläne zur Implementierung und Überprüfung der Sicherheitsmaßnahmen,
- die Auswirkungen von sicherheitsrelevanten Ereignissen für einzelne Anwender und für die gesamte Institution,
- die Notwendigkeit, Sicherheitsverstöße zu melden und zu untersuchen und
- die Konsequenzen bei Nichteinhaltung von Sicherheitsvorgaben.
Dies kann durch Publikationen und regelmäßige Veranstaltungen zum Thema Informationssicherheit, sowie schriftlicher Festlegungen der Berichtswege und Handlungsanweisungen für den Fall eines vermuteten Sicherheitsproblems erreicht werden.
Um einen nachhaltigen Nutzen der Informationssicherheitsprogramme zu erreichen, müssen sie immer wieder angepasst und regelmäßig wiederholt werden.
Ethik in der Informationssicherheit
Im Bereich der Informationssicherheit gibt es unterschiedliche ethische Vorstellungen und sowohl ethisch handelnde, als auch unethisch handelnde Personengruppen. Als Informationssicherheitsspezialist ist dabei ein Wissen über die unterschiedlichen Betrachtungsweisen und die eigenen Prinzipien ethischen Handelns enorm wichtig.
Hackerethik
Der Begriff des Hackers wurde ursprünglich für Techniker verwendet, die ein sehr tiefes Fachwissen von IT Systemen hatten. Eine der ersten Definitionen des Begriffs wurde in den 60er Jahren von Studenten des Massachusetts Institute of Technology (MIT) aufgestellt [Ma88]: „Personen, denen es Spaß macht, die Details eines programmierbaren Systems zu erforschen und dessen Möglichkeiten zu erweitern“.
Bald verbreiteten sich auch Grundsätze der Hackerethik in unterschiedlichen Abwandlungen. Ein genauer Ursprung ist daher nicht bekannt. Eine der ersten Varianten wurde auch im Buch „Hackers“ von Steven Levy [Le84], veröffentlicht:
- Der Zugang zu Computern und allem, was einem zeigen kann, wie die Welt funktioniert sollte unbegrenzt sein.
- Alle Informationen sollen frei zugänglich sein.
- Daten, die gefunden werden, dürfen nicht verändert werden.
Eine Abwandlung davon wurde in den 1980er Jahren vom Chaos Computer Club veröffentlicht [Ch15]:
- Der Zugang zu Computern und allem, was einem zeigen kann, wie diese Welt funktioniert, sollte unbegrenzt und vollständig sein.
- Alle Informationen müssen frei sein.
- Mißtraue Autoritäten – fördere Dezentralisierung.
- Beurteile einen Hacker nach dem, was er tut, und nicht nach üblichen Kriterien wie Aussehen, Alter, Herkunft, Spezies, Geschlecht oder gesellschaftliche Stellung.
- Man kann mit einem Computer Kunst und Schönheit schaffen.
- Computer können dein Leben zum Besseren verändern.
- Mülle nicht in den Daten anderer Leute.
- Öffentliche Daten nützen, private Daten schützen.
Durch die weite Verbreitung des Begriffes und seine Nutzung in der Presse und in Filmen wurde in den 80er Jahren ein neues, negatives, Hackerbild geprägt. Seit dem wird unter einem Hacker oft ein bösartiger Eindringling verstanden, der versucht sensible Daten zu stehlen, zu verändern, oder zu manipulieren. [SMR00]
Heute gibt es drei definierte Hauptgruppen von Hackern, welche in „hats“ (Hüte) eingeteilt werden [Wa14]:
- White hats: Dabei handelt es sich um ethisch handelnde Hacker. Sie handeln – für einen konkreten Auftraggeber – mit dem Ziel die Sicherheit eines Systems zu schützen, zu testen und zu verbessern. Sie setzen Ihre Fähigkeiten nie ohne die vorherige Zustimmung der Systemeigner ein. Sie werden auch oft als „Ethical Hacker“ bezeichnet.
- Black hats: Sie nutzen ihre Fähigkeiten für illegale und unethische Aktivitäten. Dies erfolgt in bösartiger Absicht und meist im Interesse einer persönlichen Bereicherung oder um – auch sich selbst – etwas zu beweisen. Sie stehlen (kopieren) oder zerstören Daten und blockieren Zugänge zu Ressourcen und Systemen. Sie holen keine Zustimmung des Systemeigners für Ihr Vorgehen ein.
- Gray hats: Diese Gruppe ist schwierig zu definieren und befindet sich zwischen den Black hat’s und den White hat‘s. Sie dringen ohne die Zustimmung des Systemeigners in Systeme ein, um zu beweisen, dass es möglich ist. Sie wollen damit auf Schwachstellen in Systemen aufmerksam machen. Jedoch ist dies, ohne Einwilligung des betroffenen Systemeigners nicht nur unethisch, sondern in den meisten Fällen auch ungesetzlich.
Ethische Grundsätze für IT-Sicherheitsspezialisten
IT-Sicherheitsspezialisten müssen über mögliche Angriffsvektoren Bescheid wissen, um sie bezüglich ihrer Anwendbarkeit auf ihre Systeme analysieren und verhindern zu können. Gemäß der ursprünglichen Definition der Hackerethik wären sie daher auf der Seite der White Hat’s einzustufen, da sie über hohes Fachwissen im jeweiligen Systembereich verfügen und dieses zu seinem Schutz sowie dessen Überprüfung und Verbesserung einsetzen. Sie greifen Systeme niemals ohne Einwilligung des Systemeigners an, auch nicht zur Überprüfung des Sicherheitsstatus.
Es gibt unterschiedliche Definitionen der ethischen Grundsätze für IT-Sicherheitsspezialisten die sich in ihrer Kernaussage jedoch alle ähneln. Eine mögliche Definition ist der Code of Ethics des International Information System Security Certification Consortium (ISC)². Er muss von allen Mitgliedern unterzeichnet werden. Seine Einhaltung ist hier, neben einer aufrechten Zertifizierung, Grundvoraussetzung für die Mitgliedschaft [In15a]:
- Beschütze die Gesellschaft, das Gemeinwesen und die Infrastruktur.
- Handle ehrenwert, ehrlich, gerecht, verantwortungsvoll und den Gesetzen entsprechend.
- Arbeite gewissenhaft und kompetent.
- Fördere und beschütze den Berufsstand.
Im Bereich der Sicherheitsforschung hat [Sc15] folgende ethische Prinzipien definiert, welche sich auch auf die Ethik der Handlungen aller IT-Sicherheitsspezialisten anwenden lassen:
- Füge Menschen nicht absichtlich Schaden zu.
- Schaue nicht zu wie schlimme Dinge passieren.
- Führe keine illegalen Aktivitäten durch, um illegalen Aktivitäten zu schaden.
- Betreibe keine verdeckte Forschung.
Angriffsvektor Social Engineering
Wesentliche Angriffsvektoren, welche gezielt den Faktor Mensch und damit fehlende Sensibilisierung für Informationssicherheit ausnutzen, sind die des Social Engineerings. Es handelt sich dabei nicht um Angriffe auf technischer Ebene, sondern um das bewusste Ausnutzen von Organisationsschwächen.
Unter „Social Engineering“ werden Techniken der Beeinflussung von Menschen verstanden, die insbesondere dazu eingesetzt werden, um unberechtigt an Daten oder Informationen zu gelangen oder ein regelwidriges Verhalten zu bewirken. „Social Engineers“ täuschen eine falsche Identität vor, versuchen Ihre „Opfer“ unter Druck zu setzen oder sie durch Charme für sich zu gewinnen. [Fo13]
Um Social Engineering Angriffe zu ermöglichen gibt es laut [We08] mehrere begünstigende Faktoren, deren Einfluss wiederum mittels Sensibilisierungskampagnen entgegengesteuert werden sollte [Fo13]:
- Erfahrung: Verhalten sich mehrere Personen im Unternehmen entgegen der Sicherheitsrichtlinien und entstehen daraus keine negativen Konsequenzen wenn sich das Verhalten wiederholt, dann sinkt dadurch die Vermeidungshemmung.
- Sympathie: Sympathischen Menschen werden ungewöhnliche Wünsche oft auch erfüllt, wenn Sie den Richtlinien wiedersprechen. „Ich darf das eigentlich nicht, aber für Sie mach ich eine Ausnahme… Aber sagen Sie‘s nicht weiter.“.
- Autorität: In autoritär geführten Unternehmensstrukturen gelten die Anweisungen von Autoritätspersonen oft mehr als Unternehmensrichtlinien. Dies wird auch dadurch verstärkt, wenn die Autoritätspersonen oft selbst gegen Regeln verstoßen. Besonders in größeren Strukturen kann das Vorhandensein von Autorität auch schneller vorgetäuscht werden um das jeweilige Ziel zu erreichen.
- Gegenleistung: Unternehmensrichtlinien werden umgangen um jemandem einen noch geschuldeten Gefallen zu tun. Diese Forderung kann auch kurzfristig entstehen indem zuerst eine Leistung oder Information angenommen wurde. Beispielsweise bekommt eine MitarbeiterIn von einer KollegIn eines anderen Unternehmens „im Vertrauen“ eine vermeintliche interne Information und fragt danach nach einer internen Information des anderen Unternehmens.
- Zeitdruck: Dabei wird Druck generiert, der die Umgehung von geltenden Unternehmensrichtlinien rechtfertigen soll. „Ich weiß Sie sind nicht zuständig, aber bei uns steht die gesamte Produktion! Wir brauchen jetzt eine Lösung und sie sind der Einzige der Zugang zum System hat und uns rechtzeitig helfen kann.“
Weiter ergänzt [Fo13] noch den Faktor der stetig wachsenden Kundenorientierung, die wiederum einen hohen Grad an Hilfsbereitschaft mit sich bringt. Diese Bereitschaft ist grundsätzlich positiv zu sehen, kann jedoch auch für Angriffe ausgenutzt werden.
Nachfolgend sind nun einige Beispiele häufiger Angriffsvektoren des Social Engineerings erläutert. Die Aufzählung ist natürlich nicht taxativ, sondern zeigt lediglich einige verbreitete Methoden. Handelt es sich dabei um mögliche Angriffsvektoren, sollte in den Sensibilisierungstrainings auch gezielt darauf eingegangen werden, da vielen der Umfang der Möglichkeiten und ihre Tragweite nicht bewusst ist.
Phishing
Eine bekannte und weit verbreitete Form des Social Engineerings ist das Phishing. Dabei wird das Opfer durch eine wichtige Nachricht einer vorgetäuschten bekannten Stelle dazu verleitet seine Zugangsdaten preiszugeben oder auf einen Link zu klicken. Dies kann dann wiederum dazu verwendet werden um den Rechner des Opfers mit Schadsoftware zu infizieren oder seine Zugangsdaten zu nutzen.
Oft handelt es sich dabei nicht um das eigentliche Ziel des Angriffes, sondern um einen Einstiegspunkt in die Infrastruktur des angegriffenen Unternehmens.
Einsatz von Wechseldatenträgern und Ladegeräten
Mit dem Einsatz von Wechseldatenträgern, wie USB-Sticks und Speicherkarten kann gezielt Schadsoftware in ein Unternehmen eingebracht werden, ohne die äußeren Sicherheitsperimeter des Netzwerks direkt anzugreifen. Dabei werden die Betroffenen dazu verleitet, die Datenträger an ihren PCs anzustecken und ggf. auch Daten darauf zu öffnen. Die Möglichkeiten sind dabei sehr vielfältig. Sie reichen von einfachen infizierten Dateien bis zu als Datenträger getarnten USB-Geräten, die parallel zum Datenspeicher eine Tastatur emulieren und bei Inaktivität des Anwenders eine Abfolge von Tastenkürzel zum Computer senden, die wiederum einen Schadcode abspeichern (durch abtippen) und ausführen können.
Eine themenverwandte Angriffsmethode ist die Borrowed-Charger-Attack. Dabei wird ausgenutzt, dass USB Ladegeräte meist über einen datenfähigen Port angeschlossen werden. Ein manipuliertes Ladegerät kann damit, ähnlich wie USB-Sticks, verwendet werden, um Schadcode auf einem Smartphone oder Tablet einzuschleusen. Durch die Ausstattung von Notebooks mit datenfähigen USB Typ-C Ladeanschlüssen, ist diese Angriffsmethode inzwischen auch auf vollwertige PC’s anwendbar.
Telefonanrufe von vermeintlichen Kunden, Bewerbern oder Headhunters
Durch die Vortäuschung eines lukrativen Kundenauftrages oder Jobangebotes können Angreifer versuchen, an interne Informationen des Unternehmens zu gelangen. Dabei werden ergänzende Informationen, wie beispielsweise die Abteilungsgröße oder Lieferantenbeziehungen, abgefragt. Dies geschieht dabei meist unter dem Vorwand eines Informationsaustausches und dem Vorspielen falscher Tatsachen.
Auch kann sich ein Angreifer in einem Unternehmen bewerben um an interne Informationen zu gelangen. Die kann natürlich unter falschem Namen und unter der Vortäuschung eines für die Position „perfekten“ Lebenslaufes führen. Beim Bewerbungsgespräch werden dann gezielt interne Informationen abgefragt.
Anrufe und Weiterleitungen über die interne Telefonanalage
Die Tatsache, dass ein Telefonat von einer internen Klappe kommt, gibt dem Anrufenden meist einen Vertrauensvorsprung. Dabei können oft Sicherheitsrichtlinien umgangen werden, die nur gegenüber externen Anrufern gelten.
Offensichtliche Methoden an einen internen Anschluss zu gelangen, sind unversperrte Büros und interne Aufenthaltsbereiche. Gibt es in einem Unternehmen keine Vorgaben für das korrekte Weiterverbinden – und damit keine mündliche Übergabe des Angerufenen an den anderen internen Teilnehmer –, ist es auch dadurch möglich den Eindruck eines internen Anrufes zu erwecken. Zeigt die Telefonanlage bei weiterverbundenen Gesprächen nur die interne Klappe an, kann vom Angerufenen auch ein interner Anruf angenommen werden. Im schlimmsten Fall wird dabei sogar von der falschen Identität eines bestimmten Anrufenden ausgegangen, da sein Name am Display angezeigt wird.
Dumpster Diving
Dabei handelt es sich um das Durchsuchen des Mülls eines Unternehmens oder Mitarbeiters nach internen Informationen. Dabei muss es sich nicht unbedingt um vertrauliche Information handeln, sondern es kann auch nach Informationen gesucht werden, die einen Vertrauensaufbau für andere Angriffe ermöglichen. Beispielsweise können viele Ausdrucke von Datenblättern unterschiedlicher Firewalls auf den geplanten Kauf einer neuen Firewall Lösung hindeuten. Dies kann dann wiederum ausgenutzt werden um einen Anruf eines vermeintlichen Lieferanten vorzutäuschen um mehr über die Infrastruktur zu erfahren usw.
Wiederholungsaufgaben/Übungen
1 Erklären Sie den Zusammenhang der Begriffe "Können, Wollen und Wissen" der Security Awareness.
2 Welche Punkte solle ein Sensibilisierungsprogramm für die Informationssicherheit beinhalten?
3 Erklären Sie die Begriffe "Black Hat", "White Hat" und "Gray Hat".
4 Nach welchen ethischen Grundsätzen sollten IT-Sicherheitsspezialisten handeln?
5 Worum handelt es sich bei Social Engineering? Welche Faktoren begünstigen seinen Erfolg? Erklären Sie diese kurz.
Kryptographie
Bei der Kryptographie handelt es sich um Methoden, Daten in eine Form zu bringen, in der Sie nur von denen gelesen werden können, die dazu berechtigt sind. Für alle anderen sollen die Daten während ihrer Übermittlung und Speicherung unlesbar sein.
Die Kryptographie hat ihren bekannten Ursprung in den Jahren um 2000 v. Chr. Die Ägypter nutzten Hieroglyphen um Grabkammern zu dekorieren und die Lebensgeschichte des Verstorbenen zu erzählen. Das Augenmerk lag dabei jedoch nicht in der Unkenntlichmachung der Informationen sondern darin, sie durch die bildhafte Darstellungsform zeremoniell und majestätisch wirken zu lassen. [Ha13, 760]
Eine der ersten Methoden mit der Absicht einen Text unkenntlich zu machen, war die hebräische Atbash Methode. Dabei wurde als Schlüssel jedem Buchstaben im Alphabet ein anderer Buchstabe zugewiesen. Ein Beispiel für einen Schlüssel wären demnach die folgenden beiden Zeilen [Ha13, 760]:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ZYXWVUTSRQPONMLKJIHGFEDCBA
Damit könnte nun beispielsweise der Text „KRYPTO“ zum Text „PIBKGL“ verschlüsselt werden, indem der Buchstabe des ursprünglichen Textes in der ersten Zeile des Schlüssels nachgesehen und dann durch den jeweiligen Buchstaben der zweiten Zeile ersetzt wird. Zur Entschlüsselung wird dieselbe Technik umgekehrt angewendet, indem der Buchstabe des verschlüsselten Textes in der zweiten Zeile gesucht und dann durch den jeweiligen Eintrag der ersten Zeile ersetzt wird.
Ein weiterer historisch erfolgreicher Algorithmus ist der Cäsar-Algorithmus. Er wurde in der Zeit der gallischen Kriege von Julius Cäsar entwickelt und eingesetzt um vertrauliche Nachrichten zu übermitteln, ohne dem Nachrichtenboten vertrauen zu müssen. Das Prinzip des Cäsar- Algorithmus ist simpel. Jeder Buchstabe der Nachricht wird um eine bestimmte Anzahl an Stellen im Alphabet nach hinten verschoben, wobei beim Erreichen des letzten Buchstaben Z wieder mit dem ersten Buchstaben A weitergezählt wird. Die Anzahl der Buchstaben, um die die Nachricht verschoben wird, wird dabei meist als Teil des Algorithmus Namens angegeben. So sind bei einer Cäsar 5 Verschlüsselung die Buchstaben der Nachricht um 5 Stellen verschoben und bei einer Cäsar 15 Verschlüsselung um 15 Stellen.
Der Text „KRYPTO“ wird durch Anwendung einer Cäsar 5 Verschlüsselung zu „PWDUYT“. Dabei wird auch deutlich, dass beim Verschieben des Buchstaben Y zum Buchstaben D, nach Erreichen von Z wieder mit A begonnen wird.
Der Cäsar-Algorithmus ist aus heutiger Sicht auch von Nicht-Kryptographen leicht zu knacken. Aus damaliger Sicht war es jedoch ein sehr sicheres Verfahren, da der Bildungsgrad der Bevölkerung nicht sehr hoch war und viele nicht schreiben und lesen konnten.
Eine deutliche Verbesserung des Cäsar-Algorithmus würde im 16. Jahrhundert von Blaise de Vigenere entwickelt und deshalb auch als Vigenere-Algorithmus bezeichnet. Dabei wird nicht mehr jeder Buchstabe um eine bestimmte Anzahl von Zeichen verschoben, sondern ein Schlüssel definiert, der die jeweilige Verschiebung der einzelnen Buchstaben bestimmt. Im nachfolgenden Beispiel wird ein Text mit Hilfe des Schlüssels „KRYPTO“ verschlüsselt.
Klartext: DIETAUBEISTAUFDEMDACH
Schlüssel: KRYPTOKRYPTOKRYPTOKRY
Verschlüsselt: NZCITILVGHMOEWBTFRKTF
Der Schlüssel wird für die gesamte Länge der Nachricht immer wieder wiederholt. Im Beispiel befindet sich der Buchstabe D bei seinem ersten vorkommen im Text unter dem Buchstaben K des Schlüssels und wird daher um 10 Zeichen verschoben und somit zu einem N. Bei seinem zweiten Vorkommen befindet sich das D der Nachricht jedoch unter dem Y des Schlüssels und wird daher zu einem B.
Um den Abstand zwischen dem Zeichen der Nachricht und dem Zeichen des Schlüssels schneller manuell ermitteln zu können wird oft eine Tabelle eingesetzt, in der alle möglichen Abstandskombinationen aufgelistet sind. Diese wird als Vigenere-Tabelle bezeichnet und ist in Abbildung "Vigenere-Tabelle" zu sehen.
In dieser Lektion werden nun weiter die Grundbegriffe der Kryptographie, ihre wesentlichen Methoden und mögliche Angriffsvektoren genauer behandelt.
Wesentliche Begriffe der Kryptographie
In der Kryptographie gibt es einige wichtige Grundbegriffe. Sie dienen der Beschreibung der Methoden und den unterschiedlichen Stadien von Ver- und Entschlüsselung. Diese Begriffe sind nun nachfolgend beschrieben.
Klartext (Plaintext)
Beim Klartext handelt es sich um die unverschlüsselte Nachricht, die übertragen werden soll. Solange sich die Nachricht in diesem Zustand befindet kann sie von jedem gelesen werden, der Zugriff auf sie hat.
Geheimtext (Ciphertext)
Dabei handelt es sich um eine verschlüsselte Klartext Nachricht. Sie ist in diesem Zustand nicht lesbar. Jeder, der in den Besitz des Geheimtextes kommt muss den zugehörigen Algorithmus und Schlüssel kennen um die Nachricht wieder in den Klartext umwandeln zu können.
Chiffre (Cipher / Algorithmus)
Die zur Ver- und Entschlüsselung eingesetzte Methode und der zugehörige Algorithmus werden als Chiffre (Cipher) bezeichnet. Sie verarbeitet einen Plaintext mit Hilfe des Keys zu Ciphertext und umgekehrt. Dabei handelt es sich um eine Ansammlung von Umwandlungen der Zeichen (oder Bits) des Textes.
Es gibt bekannte und unbekannte Chiffren. Alle gängig eingesetzten Chiffren sind hinlänglich ihrer genauen Funktionsweise bekannt. Die Stärke der Chiffre ist von wesentlicher Bedeutung für die Sicherheit. Die Unbekannte ist dabei immer der Schlüssel. Ein wesentlicher Vorteil von bekannten Chiffren ist die große Anzahl an Nutzern und der Möglichkeit sie öffentlich zu analysieren und zu testen. Damit werden gefundene Schwachstellen meist schnell veröffentlicht und behoben. Dass die Sicherheit eines kryptographischen Verfahrens im Wesentlichen in der Geheimhaltung des Schüssels und nicht in der des Ciphers liegt, ist die wesentliche Aussage von Kerckhoff‘s Prinzip.
Unbekannte Chiffren werden meist von Nachrichtendiensten eingesetzt. Ihr Vorteil liegt darin, dass ein möglicher Angreifer nicht nur den Schlüssel, sondern auch die Chiffre herausfinden muss, um die Nachricht lesen zu können. Der wesentliche Nachteil ist das Fehlen einer breiten Anwenderschicht und die damit verbundenen Reviews und Tests. Es muss daher sehr viel Aufwand in die Entwicklung und Testung der Chiffre gesteckt werden, um mögliche Sicherheitslücken identifizieren zu können.
Bei den Chiffren wird zwischen symmetrischen und asymmetrischen Algorithmen unterschieden.
Schlüssel (Key) und Keyspace
Der Schlüssel wird von der Chiffre verwendet um Variabilität und Unregelmäßigkeiten in den Algorithmus zu bringen. Damit soll sichergestellt werden, dass dieselbe Chiffre, angewendet auf denselben Klartext, durch den Einsatz unterschiedlicher Schlüssel zu unterschiedlichen Geheimtexten führt. Somit ist der Schlüssel das wesentliche, geheim zuhaltende, Element.
Welche möglichen Schlüssel für eine Chiffre angewendet werden können, wird durch den Keyspace definiert. Dieser enthält alle möglichen Schlüssel. Je größer der Keyspace ist, desto mehr unterschiedliche Schlüssel existieren. Je mehr mögliche Schlüssel auf eine Chiffre anwendbar sind, desto aufwändiger wird es für einen Angreifer eine Nachricht durch bloßes Ausprobieren unterschiedlicher Schlüssel zu entschlüsseln.
Der Cäsar Algorithmus hat beispielsweise einen Keyspace von 26 möglichen Schlüsseln, da es genauso viele Buchstaben im lateinischen Alphabet gibt. Ein Angreifer würde durch einfaches durchprobieren daher maximal 26 Versuche benötigen, wobei die Verwendung des Schlüssels A sehr unwahrscheinlich ist, da der Text damit gleich bleiben würde.
Aktuelle Cipher haben hingegen wesentlich größere Keyspaces. Beispielsweise hat AES256 eine Schlüssellänge von 256 Bit. Daraus ergibt sich ein Keyspace von 2256 möglichen Schlüsseln. Da ein Angreifer durch zufälliges durchprobieren einen Schlüssel in der Regel nach der Hälfte der möglichen Kombinationen errät, muss er hier ca. (2256)/2 = 2255 Versuche durchführen.
Verschlüsselung (Encryption) / Entschlüsselung (Decryption)
Bei der Verschlüsselung handelt es sich um die Umwandlung von Klartext in Geheimtext mittels zugehöriger Chiffre und Schlüssel und bei der Entschlüsselung um die Umwandlung des Geheimtextes zurück in den Klartext.
Der Ablauf eines Weges vom Klartext über den Geheimtext zurück zum Klartext ist in Abbildung "Zusammenhang der Kryptographie Begriffe" noch einmal grafisch dargestellt.
Security by Obscurity und das Kerckhoffs’sche Prinzip
Ein kryptographisches System lässt sich durch die bloße Geheimhaltung der zugehörigen Chiffre nicht gewährleisten. Dieser Versuch wird auch als Security by Obscurity bezeichnet, da hier davon ausgegangen würde, dass alleine die Unwissenheit über die Methodik der Chiffre zu mehr Sicherheit führt. Dadurch ergeben sich jedoch einige wesentliche Probleme. Die geringe Anzahl an eingeweihten Anwendern entdeckt Fehler des Ciphers spät bis überhaupt nicht. Sobald die geheime Chiffre jedoch bekannt wird, ist jede durch ihre Geheimhaltung erreichte Sicherheit gebrochen. Wurde dann nicht auf eine ausreichende Geheimhaltung und Komplexität der Schlüssel geachtet hat wird das gesamte System unbrauchbar.
Kerkhoff entwickelte 1883 die Grundprinzipien sicherer Verschlüsselung, welche bis heute Bestand haben. Einer dieser Grundsätze wird heute als das Kerhoffs‘sche Prinzip bezeichnet. Es besagt, dass nicht das System selbst, sondern der Schlüssel geheim sein muss, um eine maximale Sicherheit zu erreichen. Der Algorithmus soll immer öffentlich bekannt sein. Der Schlüssel muss dabei unbedingt geheim gehalten werden. Je mehr unterschiedliche Geheimnisse rund um ein kryptographisches System nötig sind, umso verwundbarer ist es gegenüber möglichen Angriffen, welche Teile der Geheimnisse herausfinden. [Ha13, 767]
Auch wenn das Kerhoffs‘sche Prinzip besagt, dass die Sicherheit alleinig in der Geheimhaltung des Schlüssels liegt, so hat Security by Obscurity doch auch manchmal ihre Berechtigung. So kann beispielsweise durch die Kombination mehrerer bekannter Verfahren eine Unregelmäßigkeit hergestellt werden, welche möglichen Angreifern eine Analyse erschwert und damit eine erste Hürde darstellt, die überwunden werden muss.
Eine bekannte Anwendung ist das sogenannte „Salzen“ von Hashwerten. Dabei wird dem Plaintext vor der Hashwertberechnung ein zusätzlicher Teil („Salt“) hinzugefügt. Gelingt es einem Angreifer nun anhand der Hashwerte mögliche Ausgangswerte zu konstruieren, kann er den Ursprungswert nur durch das zusätzliche Wissen des „Salts“ rekonstruieren. Die berechneten Werte sind somit unbrauchbar.
Symmetrische Verfahren
Bei einem symmetrischen kryptographischen Verfahren (Chiffre) wird ein Klartext mit ein und demselben Schlüssel verschlüsselt und auch wieder entschlüsselt (siehe Abbildung "Symmetrische Verfahren mit einem Schlüssel"). Bei symmetrischen Verfahren werden Substitutions-Methoden und Transpositions-Methoden angewendet, um den Klartext unkenntlich zu machen. Diese können innerhalb der Chiffre natürlich auch beliebig kombiniert werden.
Substitutions-Methoden
Bei der Substitution handelt es sich um die Umwandlung eines Zeichens (oder Bits) durch ein anderes. Dies wären beispielsweise bei einem Cäsar 5 Algorithmus das Ersetzen des Zeichen K durch das Zeichen P zur Verschlüsselung und das Ersetzen des Zeichens P durch das Zeichen K zur Entschlüsselung. Der Schlüssel ist hierbei der Wert 5, welcher die Zuordnung des jeweiligen Zielzeichens ermöglicht.
Ein Beispiel auf Bit-Ebene ist die einfache XOR Verknüpfung des Schlüssels mit dem Text, welche ebenfalls in beide Richtungen anwendbar ist:
Klartext: 010010110101001001011001
Schlüssel: 010000010100001001000011
Geheimtext: 000010100001000000011010
Die Berechnung des Geheimtextes und des Klartextes ist dabei in beide Richtungen über die Verknüpfung mit dem Schlüssel möglich.
Ist der mittels XOR verknüpfte Schlüssel:
- gleich lang wie die Nachricht,
- zufällig generiert und
- wird dieser nur ein einziges Mal verwendet,
wird dies als One-Time-Pad bezeichnet. Diese Methode ist, ohne den Schlüssel in Besitz zu bekommen, definitiv unknackbar und damit die sicherste kryptographische Methode. Die Herausforderung besteht hierbei darin den Schlüssel sicher zu übermitteln, da dieser gleich lang wie die Nachricht sein muss. Dies ist meist nur sehr umständlich machbar und mit einem ähnlichen Aufwand verbunden, wie die Übermittlung der Nachricht selbst. One-Time-Pads werden daher eher zur Übermittlung kleinerer, hoch sensibler, Datenmengen eingesetzt. Sie könnten jedoch an Bedeutung gewinnen, da eine sichere Übermittlung von größeren Schlüsseln mittels Quantentechnologien immer praxistauglicher wird.
Transpositions-Methode
Bei der Transposition werden einzelne Teile des Textes mit anderen Teilen vertauscht. Der Schlüssel gibt dabei an, welcher Teil mit welchem vertauscht werden soll.
Ein Beispiel für eine einfache Transpositions-Methode ist in Abbildung "Transpositions-Cipher" dargestellt. Dabei wird der Plaintext zuerst in Gruppen zerlegt. Diese Gruppen werden nun gemäß dem Schlüsselwert intern neu angeordnet und ergeben dann in Summe wiederum den Ausgabetext. Auch diese Methode ist in beide Richtungen – sowohl zur Ver-, als auch zur Entschlüsselung – anwendbar.
Aktuelle Kryptographie-Standards mit symmetrischen Methoden
In der nachfolgenden Tabelle "Gängige Standards mit symmetrischen Algorithmen" sind die aktuell gängigsten symmetrischen Chiffren und ihre Eckpunkte aufgelistet.
Tabelle: Gängige Standards mit symmetrischen Algorithmen
Standard Name | Algorithmus | Schlüssellängen |
---|---|---|
Data Encryption Standard (DES) | Data Encryption Algorithm (DEA) | 56 Bit Schlüssel (+8 Bit Parität = 64Bit) |
Triple-DES (3DES) | Triple Data Encryption Algorithm (TDEA) | 112 Bit |
Advanced Encryption Standard (AES) | Rijndael |
128 Bit 192 Bit 256 Bit |
International Data Encryption Algorithm (IDEA) | International Data Encryption Algorithm (IDEA) | 128 Bit |
Blowfish | Blowfish | Variable Länge zwischen 32 und 448 Bit |
RC4 | RC4 | Variable Länge |
Asymmetrische Verfahren
Bei asymmetrischen Verfahren werden zur Verschlüsselung und Entschlüsselung einer Nachricht zwei unterschiedliche Schlüssel verwendet. Die beiden Schlüssel gehören dabei immer zusammen und bilden ein Schlüsselpaar (siehe Abbildung "Asymmetrische Verfahren mit zwei unterschiedlichen Schlüsseln"). Es ist somit nicht möglich eine Nachricht mit demselben Schlüssel zu entschlüsseln, mit dem sie verschlüsselt wurde. Es kann dabei jeder der beiden Schlüssel zur Verschlüsselung einer Nachricht eingesetzt werden. Zur Entschlüsselung wird dabei immer der jeweils andere Schlüssel benötigt.
Dies ist auch vergleichbar mit einem Vorhängeschloss und einem Schlüssel. Das Schloss kann eingesetzt werden um eine Kiste zu versperren. Ohne den zugehörigen Schlüssel kann das Schloss jedoch nicht mehr geöffnet werden. Im Fall der asymmetrischen Verschlüsselung ist jeder der beiden Schlüssel gleichzeitig das Schloss des jeweils anderen Schlüssels:
- Key 1 = Schloss 2 (kann von Key 2 geöffnet werden)
- Key 2 = Schloss 1 (kann von Key 1 geöffnet werden)
Die beiden Schlüssel werden als Public-Key und Private-Key bezeichnet. Diese Bezeichnungen beruhen darauf, dass einer der beiden Schlüssel immer privat – also nur einer bestimmten Person bekannt – sein sollte. Der andere Schlüssel kann dann öffentlich an alle weitergegeben werden, die Nachrichten an den Besitzer des Private-Keys schicken wollen. Er ist somit public.
Will nun jemand eine Nachricht an den Besitzer des Private-Keys übermitteln kann er nun den dazu den Public-Key für die Verschlüsselung verwenden. Da die Nachricht nur mit dem zugehörigen Private-Key entschlüsselt werden kann, kann sie auch nur von dessen Besitzer gelesen werden. Der Public-Key ist zwar öffentlich verfügbar, jedoch zur Entschlüsselung der Nachricht nicht verwendbar.
Diese Methode kann nun auch umgekehrt verwendet werden um eine Nachricht durch den Besitzer des Private-Keys zu signieren. Dabei wird meist ein Hashwert der Nachricht generiert, die signiert werden soll. Dieser Hashwert wird nun mit dem Private-Key verschlüsselt und an die Nachricht angehängt. Will nun ein Empfänger prüfen, ob die Nachricht tatsächlich vom Besitzer des Private-Keys stammt, muss er nur den Hashwert mit dem öffentlich verfügbaren Public-Key entschlüsseln und mit dem aktuellen Hashwert der empfangenen Nachricht vergleichen. Sind die beiden Hashwerte ident, ist somit sichergestellt, dass die Nachricht vom Besitzer des Private-Keys stammen muss, da nur er den Hashwert korrekt verschlüsseln konnte. Würde sie auf dem Weg zum Empfänger verändert worden sein, wären die Hashwerte unterschiedlich.
Asymmetrische Methoden basieren auf komplexen mathematischen Berechnungen und sind vergleichsweise langsam. Sie werden daher meist nicht für die Verschlüsselung der Nachricht, sondern nur für die Verschlüsselung eines Schlüssels für die Anwendung einer symmetrischen Methode verwendet. Damit ist sichergestellt, dass der Schlüssel sicher übertragen wird und gleichzeitig eine schnellere Ver- und Entschlüsselung der übrigen Nachricht, mittels symmetrischer Methoden, erfolgen kann.
Eine weit verbreitete asymmetrische Methode wurde 1977 von Ronald L. Rivest, Adi Shamir und Leonard Adleman entwickelt und trägt daher den Namen RSA. Sie ist eine Weiterentwicklung des Diffie-Hellmann Schlüsseltauschverfahrens. Genauso wie dieses basiert sie auf dem Einsatz von Einwegfunktionen. Das Schlüsselpaar wird bei RSA durch den Einsatz sehr großer Primzahlen generiert, wobei die Anwendung des ersten Schlüssels die Nachricht unkenntlich macht und die zusätzliche Anwendung des zweiten Schlüssels die Anwendung des ersten Schlüssels wieder aufhebt. Der zugehörige zweite Schlüssel der Einwegfunktion ist nur durch Primfaktorzerlegungen sehr großer Primzahlen berechenbar. Dies ist jedoch ein sehr rechen- und damit zeitaufwändiger Vorgang.
Eine weiter asymmetrische Methode ist die der Elliptic Curve Cryptographie (ECC). Sie basiert auf der Berechnung von Punkten entlang einer elliptischen Kurve in einem zweidimensionalen Koordinatensystem. Dabei werden eine bestimmte Kurve und ein Startpunkt angegeben. Das Schlüsselpaar ergibt sich dann durch die Koordinaten eines Zielpunkts und der Anzahl der nötigen Schritte, die nötig sind, um vom Startpunkt aus zu ihm zu gelangen. Ähnlich der Berechnung der Multiplikation zweier Primzahlen ist und der Schwierigkeit einer Rückrechnung mittels Primfaktorzerlegung ist es einfach einen Punkt auf der Kurve zu berechnen, jedoch schwierig die Anzahl der nötigen Schritte zu ermitteln, die nötig sind um zu diesem Punkt zu gelangen. Ein Beispiel einer solchen Elliptic Curve ist in Abbildung "Elliptic Curve" dargestellt.
Die ECC Methoden sind stärker als die herkömmlichen asymmetrischen Methoden. Sie können sehr gut als performante Hardwarekomponenten implementiert werden und eignen sich daher besonders für den Einsatz in mobilen Endgeräten mit geringer Rechenleistung.
Schlüsseltauschverfahren
Eine wesentliche Herausforderung der verschlüsselten Datenübertragung ist der Schlüsseltausch. Es muss daher eine Methode gefunden werden den nötigen Schlüssel zur Entschlüsselung der Nachricht an den Empfänger zu übermitteln, ohne dass dieser abgefangen werden kann. Würde der Schlüssel einfach vor der Übermittlung einer Nachricht übertragen werden, dann könnte ein möglicher Angreifer sowohl den Schlüssel, als auch den verschlüsselte Nachricht abfangen und dann beides gemeinsam einsetzen und die Nachricht einfach entschlüsseln.
Um dieses Problem zu lösen gibt es einige Methoden, die daher auch als Schlüsseltauschverfahren bezeichnet werden.
Die erste veröffentlichte mögliche Schlüsseltausch-Methode wurde 1976 von Diffie und Hellmann entwickelt. Sie basiert auf dem Einsatz von mathematischen Einwegfunktionen. Eine Einwegfunktion ist eine Funktion, welche leicht berechnet werden kann, deren Rückrechnung jedoch sehr schwierig ist. Dies lässt sich mit dem Mischen zweier Farbkübel zu vergleichen: Es ist zwar leicht zwei Farben zu mischen, jedoch enorm aufwändig sie wieder in ihre ursprünglichen Farbtöne aufzuteilen (vgl. Abbildung "Einwegfunktion der Farbmischung") und manuell nur durch ausprobieren möglich.
Dies macht sich der Diffie-Hellmann Schlüsseltausch nun zu Nutze, indem er mathematische Einwegfunktionen verwendet um einen gemeinsamen und geheimen Schlüssel über eine unsichere Leitung auszutauschen. Die Vorgehensweise ist nachfolgend durch ein Beispiel mit Farbkübeln beschrieben und dann anschließend mathematisch erklärt.
Der Ablauf ist dabei folgendermaßen:
- Beide Teilnehmer vereinbaren eine gemeinsame (nicht geheime) Farbe.
- Jeder Teilnehmer generiert eine eigene geheime Farbe, nur er selbst kennt.
- Nun mischen sie jeweils die geheime Farbe zur gemeinsamen Farbe.
- Danach übermitteln sie sich gegenseitig die Mischungen.
- Jeder Teilnehmer mischt seine eigene geheime Farbe zur empfangenen Mischung des anderen. Damit haben nun beide einen Farbkübel mit derselben Mischung aus: gemeinsame Farbe + eigene geheime Farbe + geheime Farbe des anderen.
- Die gemeinsame Mischung kann nun als Schlüssel für den geheimen Nachrichtenaustausch verwendet werden.
Die einzelnen Schritte des Schlüsseltauschs sind in Abbildung "Ablauf des Diffie-Hellmann Schlüsseltausches" noch einmal bildlich dargestellt. In der rechten Spalte ist ersichtlich welche Informationen ein möglicher Angreifer mithören kann. Er gelangt zwar an die gemeinsame Farbe und an die beiden Mischungen. Es ist ihm jedoch nicht möglich die geheimen Farben zu ermitteln. Damit fehlt ihm auch die Möglichkeit den gemeinsamen Schlüssel herauszufinden.
Mathematisch betrachtet basiert der Diffie-Hellmann Schlüsseltausch auf dem diskreten Logarithmus-Problem und wird mit Hilfe folgender Formel abgebildet:
n = gk mod p
Das diskrete Logarithmus-Problem beschreibt die Schwierigkeit für gegebene Werte der Variablen n, g und der Primzahl p den Wert der Variablen k zu finden. Bei kleinen Werten ist eine Berechnung von k noch machbar. Je größer sie jedoch werden, desto länger wird die dafür benötigte Zeit, da ein Rückrechnen nur durch Ausprobieren möglich ist. Für jedes zusätzliche Bit des Wertes müssen doppelt so viele Versuche angewendet werden.
Beim Schlüsseltausch sind g und p nun die gemeinsamen Werte (gemeinsame Farbe), welche öffentlich übermittelt werden und n das jeweilige Mischergebnis. k ist dabei der jeweils geheime Wert (eigene geheime Farbe), welcher niemals übermittelt wird.
Um zur gemeinsamen Farbmischung zu kommen macht sich der Schlüsseltausch nun zu Nutze, dass (x a) b gleich (x b)a und damit x a b ist. Sind a und b nun die beiden geheimen Zahlen können sie zum jeweils anderen Ergebnis hinzugefügt werden, ohne den jeweiligen Exponenten der anderen Seite zu kennen. Übermittelt wird hierbei immer nur das Ergebnis.
Angewendet auf die oben genannte Formel des diskreten Logarithmus-Problems ergibt sich nun folgender Ablauf des Schlüsseltauschs:
- Die gemeinsamen Werte für g und p werden übermittelt
- Beide Teilnehmer generieren eine geheime Zahl (Teilnehmer A: a; Teilnehmer B: b)
- Sie berechnen nun jeweils aus g, p und ihrer eigenen geheimen Zahl (a bzw. b) den Wert zur Übermittlung:
Teilnehmer A: A = ga mod p
Teilnehmer B: B = gb mod p
- Teilnehmer A übermittelt nun den Wert A an Teilnehmer B und Teilnehmer B den Wert B an Teilnehmer A.
- Nun können beide Teilnehmer mit ihrer eigenen geheimen Zahl den gemeinsamen Schlüssel K berechnen:
Teilnehmer A: K = Ba mod p
Teilnehmer B: K = Ab mod p
- Beide Teilnehmer können nun K zur Verschlüsselung ihrer geheimen Nachrichten verwenden.
Das Ba mod p gleich Ab mod p ist, kann mittels gegenseitigem Einsetzen bewiesen werden:
K = Ba mod p = (gb mod p)a mod p = gb a mod p
K = Ab mod p = (ga mod p)b mod p = ga b mod p
K = gb a mod p = ga b mod p
Da ein möglicher Angreifer jedoch nur in Besitz der Werte g, p, A und B kommt, kann er den Schlüssel K nur mit enorm hohem Aufwand ermitteln.
Auf dem Grundprinzip von Diffie-Hellmann wurde später mit RSA die asymmetrischen Verschlüsselungsmethoden entwickelt. Die Diffie-Hellmann Methode wurde inzwischen auch um die verstärkte Sicherheit von Elliptic Curves erweitert und findet ihre diesbezügliche Verbreitung unter dem Namen Elliptic Curve Diffie-Helman (ECDH).
Hashing
Beim Hashing handelt es sich um die Anwendung einer nicht reversiblen Funktion, auf einen bestimmten Wert. Das Ergebnis einer Hash-Funktion ist somit nicht auf den Ausgangswert umkehrbar. Dabei wird meist ein Wert variabler Länge zu einem Wert fixer Länge umgewandelt, der dem Ursprungswert nicht mehr ähnelt.
Ein guter Hash-Algorithmus hat möglichst wenige Kollisionen. Das bedeutet, dass die Wahrscheinlichkeit bei unterschiedlichen Eingangswerten denselben Ausgangswert zu bekommen sehr gering ist.
Das nachfolgende Beispiel in Tabelle "Beispiel Hashfunktion HashMe()" zeigt mögliche Hashwerte einer fiktiven Hashfunktion HashMe(). Die letzten beiden Zeilen sind ein Beispiel einer Kollision.
Tabelle: Beispiel Hashfunktion HashMe()
Eingangswert | Hashwert = HashMe(Eingangswert) | |
---|---|---|
Peter | 0c74c6051287c95d |
|
Guten Tag! Hiermit nehme ich Ihr Angebot mit der Nummer 12334 an. Mit freundlichen Grüßen, Miriam Muster |
878b87429ff50296 |
|
Mich gibt es hoffentlich nur einmal! | ae4692a6f28a03cd | Kollision |
45667533423233467885354 |
ae4692a6f28a03cd |
Da ein Hashwert einer bestimmten Nachricht immer gleich ist, eignet er sich sehr gut zur Integritätsprüfung. Sobald sich ein Teil der Nachricht ändert, ändert sich auch der Hashwert. Das Vorhandensein einer Änderung der Nachricht kann somit einfach durch den Vergleich des Original-Hashwertes und des aktuellen Hashwertes aufgezeigt werden.
Dieses Prinzip wird auch bei digitalen Signaturen verwendet. Dabei wird ein Hashwert der zu signierenden Nachricht generiert und mit dem Private-Key des Absenders verschlüsselt. Dieser wird der Nachricht dann als Signatur beigefügt. Der Empfänger kann nun den Hashwert mit dem Public-Key entschlüsseln und mit dem aktuellen Hashwert der empfangenen Nachricht vergleichen. Sind die beiden Werte gleich ist sichergestellt, dass:
- sich der Inhalt der Nachricht nicht verändert hat und
- der Besitzer des Private-Key ist auch der Absender der Nachricht ist, da nur er eine Verschlüsselung durchführen kann, welche mit dem zugehörigen Public-Key korrekt entschlüsselt wird.
Da mit Hash-Werten die Integrität von Nachrichten geprüft werden kann, werden diese auch oft als Fingerprint oder Message-Digest bezeichnet.
Einige derzeit gängige Hash-Algorithmen sind in Tabelle "Gängige Hash-Algorithmen" aufgelistet.
Tabelle: Gängige Hash-Algorithmen
Standard Name | Länge des Hash-Wertes | Anmerkung |
---|---|---|
MD4 | 128 Bit | Optimiert für schnelle Berechnung |
MD5 | 128 Bit | Komplexerer Algorithmus als MD4 und daher langsamere Berechnung |
SHA | 160 Bit | Ähnlich wie MD4 |
HAVAL | Variable Länge | Ähnlich wie MD5 |
Tiger | 192 Bit |
Ähnlich wie MD4 Optimiert für 64 Bit Systeme |
Angriffsvektoren der Kryptographie
Die möglichen direkten Angriffsvektoren der Kryptographie teilen sich in die, nachfolgend beschriebenen, Kategorien:
- Brute-Force Angriffe,
- Kryptoanalyse und
- Angriffe gegen Hashwerte.
Um die genannten Angriffe ausführen zu können, ist es meist erforderlich den zugehörigen Datenverkehr abzuhören und gegebenenfalls auch zu manipulieren. Dazu werden oft Sniffing- und Man-in-the-Middle-Attacken genutzt.
Brute-Force Angriffe
Bei Brute-Force Angriffen wird versucht eine Verschlüsselung zu knacken, indem eine Vielzahl möglicher Schlüssel ausprobiert wird. Dabei steigt mit der Länge der Schlüssel auch die Anzahl der dazu nötigen Versuche (siehe auch Keyspace).
Die Stärke einer Chiffre wird daher auch dadurch angegeben, wie lange es dauern würde, durch einen Brute-Force Angriff einen möglichen Schlüssel zu finden.
Um die Möglichkeiten einzuschränken wird daher oft die Methode des Wörterbuchangriffs eingesetzt. Dabei werden keine beliebigen Schlüssel generiert, sondern stattdessen Einträge eines Wörterbuches bzw. einer Liste häufig eingesetzter Schlüssel (bzw. Passwörter) verwendet. Diese Listen werden meist auch nach der statistischen Häufigkeit der Verwendung der Begriffe gereiht, um die am häufigsten genutzten Passwörter auch zuerst zu versuchen. Die zugehörigen Statistiken werden dabei aus bereits im Internet veröffentlichten oder gestohlenen Passwortlisten generiert.
Da der Aufwand eines Angriffes mit der Länge der verwendeten Schlüssel zunimmt, kann ihm besonders durch den Einsatz langer Schlüssel begegnet werden. Auch ist es wichtig Passwörter zu verwenden, welche nicht durch Wörterbücher und Passwortlisten generiert werden können.
Kryptoanalyse
Bei der Kryptoanalyse handelt es sich um ein Teilgebiet der Kryptographie. Sie hat zum Gegenstand aus möglichen bekannten Teilen eines kryptographischen Systems (Klartext, Geheimtext, Chiffre) nicht bekannte Teile herauszufinden.
Da der Algorithmus einer Chiffre in der Regel bekannt ist, kann die Kryptoanalyse diesen als Basis verwenden. Um nun den Schlüssel oder den Klartext rekonstruieren zu können, stehen dem Analytiker folgende Analysemethoden zur Verfügung:
- Ciphertext-Only (der Analyse steht nur der Geheimtext zur Verfügung),
- Known-Plaintext (der Analyse steht der Geheimtext und der Klartext zur Verfügung),
- Chosen-Plaintext (der Analyse steht der Geheimtext zur Verfügung und der Klartext kann für die Analyse frei gewählt werden) und
- Chosen-Ciphertext (der Analyse steht der Klartext zur Verfügung und der Geheimtext kann für die Analyse frei gewählt werden).
Angriffe gegen Hashwerte
Angriffe gegen Hashwerte haben das Ziel Kollisionen zu finden, die zu einem gesuchten Hashwert führen. Werden beispielsweise Passwörter als Hash gespeichert und kommt ein Angreifender in den Besitz dieser Daten, kann er die Passwörter nicht einfach aus den Werten berechnen, da Hashwerte nicht reversibel sind.
Es ist jedoch möglich (ähnlich wie einem Brute-Force Angriff) aus einer Liste von Passwörtern mögliche Hashwerte zu berechnen und diese dann mit den Hashwerten zu vergleichen.
Da diese Listen sehr groß (einige Terrabyte und mehr) werden können und damit auch nur sehr schwer zu durchsuchen sind, wurde die Methode der Rainbow-Tables entwickelt. Dabei handelt es sich um eine näherungsweise Suche, die mögliche Teilstücke des Hashwerts berechnet. Die Suche erfolgt damit in mehreren Schritten verknüpften Tabellen, ist jedoch wesentlich schneller als die Suche in einer enorm großen Liste. Der Name Rainbow-Tables kommt dabei von einer der ersten grafischen Darstellungen der zugehörigen Methode. Dabei wurden die einzelnen Schritte (Tabellen) in unterschiedlichen Farben dargestellt.
Diesem Angriff kann entgegengewirkt werden, indem die Passwortlänge erhöht wird und indem der Hashwert bei der Berechnung zusätzlich „gesalzen“ wird. Durch die Erhöhung der Länge wird die nötige Menge der vorausberechnenden Werte entsprechend höher, was einen Angriff auf lange Passwörter entsprechend erschwert. Beim Salzen wird dem Passwort vor der Hashwertberechnung ein zusätzlicher Wert hinzugefügt. Dieser Wert wird als „Salt“ bezeichnet. Kann dieser Ausgangswert nun mittels Rainbow-Tables ermittelt werden, handelt es sich um den gesalzenen Wert und nicht um das tatsächliche Passwort. Die Angreifenden müssten daher einerseits den Salt kennen und dann sehr aufwändig eine eigene Rainbow-Table generieren, die ebenfalls diesen Salt anhält.
Wiederholungsaufgaben/Übungen
1 Erklären Sie den Cäsar-Algorithmus anhand der Verschlüsselung des Wortes "WIBA" durch Cäsar 5.
2 Erklären Sie die Begriffe Klartext, Geheimtext, und Chiffre. Stellen Sie Ihre Zusammenhänge bei der Verschlüsselung und Entschlüsselung grafisch dar.
3 Erklären Sie den Begriff “Security by Obscurity“? Welches Prinzip spricht dagegen?
4 Wodurch unterscheiden sich symmetrische und asymmetrische Kryptographie-Verfahren?
5 Wie läuft der Diffie-Hellmann Schlüsseltausch ab. Erklären Sie ihn anhand eines einfachen Beispiels mit Farbkübeln ODER mathematisch.
6 Was ist Hashing und wozu wird es eingesetzt?
7 Was ist ein Brute-Force Angriff?
Zugriffssteuerung
Die Zugriffssteuerung (Access Control) regelt den Zugriff und die Kommunikation von IT-Systemen mit ihren Anwendern, Ressourcen und anderen IT-Systemen. Es handelt sich dabei um eine zentrales Element der meisten IT-Systeme, da davon alle Schutzziele (Vertraulichkeit, Integrität und Verfügbarkeit; siehe Lektion "Säulen der Informationssicherheit - CIA Triade") betroffen sein können.
In dieser Lektion werden die grundlegenden Begriffe der Zugriffssteuerung erläutert und weiter die konkreten Techniken der Zertifikate und der Fernzugriffe sowie potentielle Angriffsvektoren näher behandelt.
Grundbegriffe der Zugriffssteuerung
Um die Schutzziele der Vertraulichkeit, Integrität und Verfügbarkeit des Datenaustausches mit IT-Systemen gewährleisten zu können müssen die jeweiligen Anforderungen an die Kommunikation definiert werden. Dabei gibt es einige wesentliche Begriffe, welche oft auch von Technikern falsch verwendet werden. Beispielsweise werden Identifikation, Authentifikation und Autorisation manchmal fälschlicherweise als Akronyme verwendet, obwohl es sich dabei um grundlegend unterschiedliche Begriffe handelt. Auch ist es wichtig zu wissen, wie bestimmte Anforderungen an die Zugriffssteuerung implementiert werden können.
Zugriff
Beim Zugriff handelt es sich um die Kommunikation mit einem IT-System. Diese kann sowohl mit einem Anwender, als auch mit einem anderen IT-System oder seiner Ressourcen stattfinden. In den meisten Fällen gibt es dabei Anforderungen an Identifikation, Authentifikation und Autorisation, sowie an die Nachverfolgbarkeit und Nichtabstreitbarkeit (siehe weiter auch Lektion "Krypotgraphie" Unterkapitel 2 - 5).
Ressourcen können dabei alle Komponenten sein, welche einen Zugriff auf Daten ermöglichen oder diese beinhalten, wie beispielsweise: Datenbanken, Tabellen und Dateien. Die Zugriffe können dabei sowohl über lokale Verbindungen, als auch über das Netzwerk/Internet oder unterschiedliche Datenträger erfolgen.
Identifikation
Die Identifikation bezeichnet die Benennung eines bestimmten Systems oder einer Person, welche auf ein System zugreifen möchte. Dabei ist weder sichergestellt durch wen diese Benennung erfolgt ist, noch ob es sich bei der Benennung tatsächlich um das benannte System oder die benannte Person handelt.
Zur Identifikation dienen oft die eindeutige User-ID, die E-Mailadresse oder der Name.
Ein Beispiel ist eine Anwesenheitsliste: Die Protokollführung schreibt die Namen der anwesenden Personen auf, welche diese wiederum identifizieren. Dabei ist jedoch noch nicht sichergestellt, ob die jeweiligen Personen tatsächlich die sind, die sie vorgeben zu sein. Im schlechtesten Fall sind sie der Protokollführung nicht bekannt und identifizieren sich durch Nennung ihres Namens.
Authentifikation
Die eindeutige Identifikation einer Person oder eines Systems wird als Authentifikation bezeichnet. Erst dadurch wird sichergestellt, dass es sich dabei tatsächlich um die Identifizierten handelt.
Es gibt drei unterschiedliche Kategorien von Authentifikationsmethoden und -merkmale:
- Wissen (was jemand weiß),
- Besitz (was jemand besitzt) und
- Biometrie (was jemand ist).
Die drei Merkmale Wissen, Besitz und Biometrie werden oft auch als „Wissen, Haben und Sein“ bezeichnet.
Eine häufig eingesetzte Methode ist das Passwort. Dieses ist in der Kategorie des Wissens eingeordnet, da es von jedem eingesetzt werden kann, der es kennt. Es kann daher auch weitergegeben oder ausgespäht werden. Je komplexer es ist, desto leichter kann es auch vergessen werden. Je häufiger es verwendet wird, desto schneller kann es herausgefunden werden. Zu komplexe Passwörter sind daher keine gute Lösung zur sicheren Authentifikation, da sie von vielen Usern vergessen oder aufgeschrieben werden. Dasselbe gilt für zu einfache Passwörter, da sie leicht erraten werden können.
Beim Merkmal des Besitzes wird die Authentifikation über etwas erreicht, dass nur der zu Authentifizierende besitzt. Beispiele dafür sind ein Personalausweis oder eine Chipkarte (z.B. eine Bankomatkarte). Damit die Weitergabe dieses Merkmals überhaupt nicht, oder nur sehr schwierig möglich ist, sollte es möglichst nicht vervielfältigt werden können.
Unter Biometrie werden Merkmale verstanden, die an eine bestimmte Person (oder ein bestimmtes System) gebunden sind. Sie sind öffentlich sichtbar oder beobachtbar, jedoch nicht leicht duplizierbar. Häufig bekannte Beispiele für biometrische Merkmale sind Fingerabdrücke, Venenmuster, die Iris-Muster der Augen und Stimmmuster. Weitere, oft weniger bekannte, Merkmale sind jedoch auch die Art des Ganges einer Person, ihre Tastenanschläge, ihr Schreibstil und aber auch die Art und Weise wie sie sich innerhalb eines Programmes oder einer Webseite bewegen.
Je nach Sicherheitsanforderungen können dabei auch mehrere Merkmale kombiniert werden um die Authentifizierungsqualität noch weiter zu verstärken. Ein bekanntes Beispiel dafür ist die zur Bargeldbehebung mittels Bankomatkarte notwendige Authentifizierung. Dabei wird ein Besitzmerkmal (Bankomatkarte) mit einem Wissensmerkmal (PIN-Code) kombiniert. Ist jemand im Besitz der Karte, benötigt er zusätzlich noch den PIN-Code und umgekehrt. Mit einem der beiden Merkmale allein kann keine gültige Authentifikation erfolgen und damit auch kein Geld behoben werden.
Werden zwei Merkmale kombiniert, wird dies auch als Zwei-Faktor-Authentifizierung bezeichnet. Wichtig ist dabei immer, dass zwei Merkmale unterschiedlicher Kategorien (Wissen, Besitz und Biometrie) kombiniert werden. Die Kombination zweier Merkmale derselben Kategorie, erhöht zwar die Sicherheit, gilt dabei jedoch nicht als Zwei-Faktor-Authentifizierung. Die einzelnen Merkmalskategorien und die sich daraus ergebenen Authentifizierungslevel sind weiter in Abbildung "Authentifizierungsfaktoren: Wissen, Besitz und Biometrie" dargestellt.
Ob die Authentifizierungsqualität durch den Einsatz von drei Faktoren weiter stark erhöht werden kann, ist umstritten. Dies ist stark von den jeweils eingesetzten Techniken, aber auch von deren Akzeptanz bei den Anwendern, abhängig.
Autorisation
Bei der Autorisation handelt es sich um die Berechtigung, die eine authentifizierte Person oder ein authentifiziertes System für einen bestimmten Zugriff hat. So können in einem System beispielsweise unterschiedliche Rollen existieren, welche wiederum unterschiedliche Zugriffe ermöglichen. Wie ein System unterschiedliche Autorisationen verwaltet und behandelt wird als Zugriffssteuerungsmodell bezeichnet.
Die Authentifikation stellt damit sicher, dass es sich um jemand bestimmten handelt und die Autorisation regelt wiederum welche bestimmten Rollen welche Zugriffe bekommen.
Nachverfolgbarkeit und Nichtabstreitbarkeit
Bei der Nachverfolgbarkeit und Nichtabstreitbarkeit handelt es sich um Zugriffsmerkmale, welche eine genaue Dokumentation der jeweiligen Systemkommunikation ermöglichen. Je nach Anforderung wird dabei dokumentiert, welche Zugriffe stattgefunden haben und unter welchen (Sicherheits-)Parametern diese aufgebaut wurden. Um eine lückenlose Nachverfolgbarkeit sicherzustellen, ist es erforderlich, den Erfolg der Authentifikation und die erteilte Autorisation zu dokumentieren.
In manchen Fällen ist es weiter erforderlich eine Nichtabstreitbarkeit von Zugriffen zu ermöglichen. Als Nichtabstreitbarkeit wird bezeichnet, das eine Person die Erstellung einer gesendeten Nachricht nicht mehr abstreiten kann. Dies beinhaltet auch automatisch die Integrität der Nachricht. Es muss daher für eine Nichtabstreitbarkeit auch sichergestellt sein, dass die Nachricht nicht mehr verändert wurde, da anderenfalls der Absender behaupten könnte, ursprünglich eine andere Nachricht erstellt zu haben.
Die Nichtabstreitbarkeit kann mit Hilfe asymmetrischer Kryptographie Methoden sichergestellt werden (siehe Kapitel "Asymmetrische Verfahren" Lektion "Kryptographie"). Dabei wird der Hashwert einer Nachricht mit dem privaten Schlüssel des Absenders verschlüsselt. Zur Prüfung der Integrität (ob die Nachricht der abgesendeten Nachricht entspricht), muss nun nur noch der verschlüsselte Hashwert mit dem öffentlichen Schlüssel entschlüsselt und mit dem aktuellen Hashwert der Nachricht verglichen werden. Da die Verschlüsselung nur vom Besitzer des privaten Schlüssels durchgeführt werden kann, ist hier eine Nichtabstreitbarkeit gewährleistet.
Zugriffssteuerungsmodelle
Zugriffssteuerungsmodelle (Access Control Models) regeln die Art und Weise von Zugriffen. Sie definieren dabei die möglichen Regeln und Ziele der Zugriffe und stellen diese den jeweiligen Zugriffssteuerungstechnologien zur Verfügung. Die Modelle sind ein wesentlicher Bestandteil des jeweiligen Betriebssystems, da sie grundlegende Entscheidungen der internen Zugriffe beeinflussen. Sie sind daher direkt im Kern des Betriebssystems integriert. [Ha13, 219]
Es wird zwischen drei verschiedenen Kategorien von Zugriffssteuerungsmodellen unterschieden:
- Eigner-definierte Zugriffssteuerung (DAC: Discretionary Access Control),
- Obligatorische Zugriffssteuerung (MAC: Mandatory Access Control) und
- Rollenbasierte Zugriffssteuerung (RBAC: Role Based Access Control).
Da eine gleichzeitige Unterstützung mehrerer Modelle meist nicht sinnvoll realisierbar ist, ist die Modellauswahl eine grundlegende Entscheidung für das IT-System. Das am häufigsten anzutreffende Modell ist das der Eigner-definierten Zugriffssteuerung.
Eigner-definierte Zugriffssteuerung
Bei der Eigner-definierten Zugriffssteuerung haben alle Daten einen definierten Eigner (oft auch als Besitzer bezeichnet). Dieser ist fest mit den Daten oder der Datei verbunden. Der Eigner definiert, welche Personen oder Systeme Zugriff auf die Daten erhalten und in welcher Form (z.B.: lesen, schreiben, ändern, ausführen oder verweigern).
Die Zugriffsberechtigungen sind dabei meist über Access Control Lists (ACL‘s) definiert. Dabei handelt es sich um eine Auflistung aller Berechtigten und der jeweils zugeordneten Rechte.
Dieses Modell ist in aktuellen Windows-, Linux- und Mac-Systemen anzutreffen. In diesen Systemen hat jede Datei einen Besitzer und eine entsprechende ACL zugeordnet.
Einzelne User und Systeme können hier meist in Berechtigungsgruppen zusammengefasst werden. In diesem Fall können die ACL’s sowohl Zuordnungen einzelner User und Systeme, als auch Berechtigungsgruppen enthalten.
Obligatorische Zugriffssteuerung
Die obligatorische Zugriffssteuerung findet ihre Anwendung in Bereichen mit sehr hohem Sicherheitsbedarf. Sie kommt daher meist in behördlichen und militärischen Systemen zum Einsatz.
In diesem Modell ist keine individuelle Behandlung einzelner User und Dateien vorgesehen. Der Zugriff ist abhängig von unterschiedlichen Sicherheitsstufen, auf denen sich Daten und User befinden. Meist ist dabei eine Änderung von Dateiberechtigungen durch die User nicht möglich.
Die Umsetzung der Sicherheitsstufen erfolgt durch Vertrauens-Levels (Clearance) für User und Sensitivitäts-Labels für Dateien. Mögliche Sicherheitsstufen wären z.B.: nicht vertraulich, vertraulich, geheim und streng geheim.
Der Zugriff auf Daten erfolgt gemäß den jeweiligen Sicherheitsstufen. Sind die Stufe der Datei und die Stufe des Users ident, darf er auf die Daten zugreifen. Ob er auf Daten von darunterliegenden Stufen zugreifen darf, kann unterschiedlich implementiert sein. Meist dürfen Informationen nur von niedrigeren Levels zu höheren Levels übertragen werden und nicht umgekehrt. Zugriffe zwischen unterschiedlichen Levels werden dabei meist auch von eigenen Überwachungsdienstprogrammen gesteuert und genehmigt.
Zusätzlich werden meist hierarchische Zuordnungen vergeben, in denen sich sowohl Daten, als auch User befinden können. Die hierarchische Zuordnung steht dann nochmals über der Zuordnung des Sicherheitslevels. Damit ist sichergestellt, dass die Zugriffe nicht nur gemäß des Vertrauens-Levels, sondern auch gemäß der Zugriffs-Notwendigkeit erfolgen. Befindet sich ein User nicht in derselben hierarchischen Zuordnung, wie die jeweiligen Daten, wird davon ausgegangen, dass er keinen Zugriff benötigt und der Zugriff daher verweigert.
Ein frei verfügbares Betriebssystem, welches das Modell der obligatorischen Zugriffssteuerung einsetzt, ist beispielsweise SE Linux [Na09].
Rollenbasierte Zugriffssteuerung
Bei der rollenbasierten Zugriffssteuerung werden Organisationsrichtlinien und -abläufe in ein Zugriffsmodell übersetzt. Dabei werden einzelnen Usern oder Systemen bestimmte (Organisations-)Rollen zugeordnet. Der Zugriff auf Daten hängt dabei von der jeweiligen Rolle des Zugreifenden ab. Die Berechtigung wird bei jedem Zugriffsversuch überprüft und dann genehmigt oder abgewiesen.
Bei den hier eingesetzten Rollen handelt es sich nicht um Gruppen im Sinne der Eigner-definierten Zugriffssteuerung, sondern um Rollen innerhalb des jeweiligen Geschäftsprozesses bzw. einer Organisationseinheit. So kann ein User eine Rolle haben, die ihm aus einer Anwendung heraus Zugriff auf einen Datensatz gestattet und aus einer anderen Anwendung nicht mehr, obwohl es sich um denselben Datensatz handelt. Wichtig ist dabei immer die Betrachtung des aktuellen Zwecks des Zugriffes.
Die Implementierung rollenbasierter Zugriffssteuerungen ist daher auch komplexer als die der Eigner-definierten Zugriffssteuerung.
Passwortsicherheit
Wie bereits in der Lektion zu Kyptographie beschrieben, hat die sichere Speicherung von Passwörtern eine hohe Priorität und sollte in einer entsprechend sicheren Architektur erfolgen. Zusätzlich zur technischen Sicherheit ist eine entsprechende Passwortkomplexität von besonderer Relevanz. Ein noch so effizient abgesicherter Passwortspeicher verliert an Bedeutung, wenn das darin gespeicherte Passwort selbst unsicher ist.
Ein unsicheres Passwort hat entweder:
- eine zu geringe Komplexität und kann daher durch Bruteforce- oder Hash-Kollisions-Angriffe gefunden werden, oder
- kann durch Social Engineering herausgefunden werden (z.B.: Name des Kindes mit Jahreszahl, Anfangsbuchstaben des Titels des Lieblingsliedes, usw.).
Die Komplexität eines Passwortes ergibt sich aus der Entropie – also den möglichen unterschiedlichen Kombinationen bzw. dem Keyspace. Daraus und an der Anzahl an Passwörtern, welche pro Sekunde geprüft werden können, ergibt sich dann wiederum die Dauer, in welcher das Passwort durch Ausprobieren (Bruteforce-Angriff) gefunden werden kann.
Für die Komplexität von Passwörter galt lange eine bestimmte Mindestlänge (meist 8 Zeichen) und eine Kombination aus den Merkmalen:
- Kleinbuchstaben,
- Großbuchstaben,
- Ziffern und
- Sonderzeichen
als ausreichender Schutz.
Beispielsweise ein Passwort „f9D22+P#“ mit 8 Zeichen und Erfüllung aller oben genannten Kriterien hat somit folgende Komplexität:
- 26 Kleinbuchstaben +
- 26 Großbuchstaben +
- 10 Ziffern +
- 36 Sonderzeichen (alle Sonderzeichen der deutschen Tastatur)
- = 98 Mögliche Zeichen pro Stelle.
- Bei 8 Zeichen sind das 98^8 mögliche Passwortkombinationen.
Ein Hochleistungs-PC, welcher 2.148.000.000 Passwörter in der Sekunde ausprobieren kann, benötigt somit durchschnittlich ca. 23 Tage um das Passwort herauszufinden.
Ein Problem solcher komplexen Passwörter ist, dass es für die meisten User schwierig ist, sie sich zu einzuprägen. Dadurch besteht ein erhöhtes Risiko, dass die Passwörter:
- vergessen werden,
- auf einem Zettel notiert werden,
- nicht ausreichend oft geändert werden oder
- nur minimal geändert werden – beispielsweise durch simple Variation einzelner Teile des Passwortes, wie einer Ziffer am Ende.
Aufgrund der oben genannten Schwächen und der dennoch geringen Entropie noch gut merkbarer Passwortlängen, können diese Passwortrichtlinien nicht mehr als Stand der Technik betrachtet werden. Eine wesentlich bessere Möglichkeit ist die Nutzung von zufälligen Wörtern aus dem Wörterbuch. [Ga17]
Bei der Nutzung von vier zufälligen Wörtern aus dem Wörterbuch (kein Satz, sondern tatsächlich zufällig gewählte Wörter), ergibt sich bei Nutzung der 100.000 unterschiedlichen Wörter des Österreichischen Wörterbuchs [AF20] folgende Komplexität:
- 100.000 mögliche Wörter pro „Stelle“ (ein Wort ist somit eine Stelle).
- Bei 4 Wörtern sind das 100.000^4 mögliche Passwortkombinationen.
Ein Hochleistungs-PC (der selbe PC wie im ersten Beispiel), welcher 2.148.000.000 Passwörter in der Sekunde ausprobieren kann, benötigt somit durchschnittlich ca. 738 Jahre um das Passwort herauszufinden.
Ein Beispiel für ein Passwort aus 4 unzusammenhängenden Wörtern aus dem deutschen Duden ist: „Dachs faul logisch Gerät“.
Das Passwort weißt somit eine wesentlich höhere Entropie auf und ist für einen Menschen gleichzeitig leichter merkbar.
Leider ist diese Form der Passwörter in vielen Systemen noch nicht implementiert und es werden noch die veralteten Komplexitätsmerkmale des ersten Beispiels abgerufen. Diese Hürde kann ganz einfach überwunden werden, indem am Ende des Passworts eine Ziffer und ein Sonderzeichen gestellt werden. Da diese keine wirkliche Relevanz für die genannte Passwortsicherheit haben, können hier auch Zeichen genutzt werden, die schnell zu tippen sind. Das oben genannte Passwort könnte damit dann einfach „Dachs faul logisch Gerät 9+“ lauten.
Zertifikate
Zertifikate dienen der Feststellung der Identitäten von Personen und Systemen auf digitalem Wege. Ein Zertifikat ist ein digitales Dokument, indem bestimmte Daten angegeben sind, welche eine Person oder ein System und optional auch zugehörige Eigenschaften identifizieren. Zertifikate sind wesentliche Bestandteile von Public-Key-Systemen und enthalten zusätzlich den jeweiligen Public-Key des Zertifikatsinhabers (siehe auch Kapitel "Asymmetrische Verfahren" Lektion "Kryptographie").
Um die Echtheit eines Zertifikats zu bestätigen, kann dieses von anderen Stellen signiert werden. Diese Stellen werden als Zertifizierungsstellen (CA: Certification Authority) bezeichnet. Die Signatur erfolgt dabei, wie in Kapitel "Asymmetrische Verfahren" beschrieben, durch hashen des Zertifikates und Verschlüsselung des Hashwertes durch den privaten Schlüssel der Zertifizierungsstelle. Da der öffentliche Schlüssel – wiederum durch das Zertifikat der Zertifizierungsstelle – bekannt ist, kann der Hashwert korrekt entschlüsselt, und die Signatur damit als gültig erkannt, werden.
Ob diese Echtheitsbestätigungen nun hierarchisch erfolgen (Public-Key-Infrastruktur), oder über ein dezentral verteiltes Vertrauensmodell (Web of Trust) ist von der jeweiligen Implementierung abhängig. Derzeit sind beide Modellvarianten im Einsatz und finden ihre Anwendung in einer Vielzahl von Systemen. Die Zertifikate der behördlich akzeptierten digitalen Signaturen basieren derzeit auf dem hierarchischen Modell der Public-Key-Infrastruktur.
Ein Zertifikat ist mit einem Ausweisdokument vergleichbar. Auf dem Ausweis befinden sich die Daten der Person und ein Verweis auf den Aussteller. Durch Sicherheitsmerkmale am Dokument (Wasserzeichen, Silberstreifen,…) wird dabei die Echtheitsprüfung ermöglicht. Der Aussteller (z.B. eine Behörde) bestätigt damit die Identität des Inhabers (z.B. Personalausweis) und gegebenenfalls auch bestimmte durch das Dokument erlaubte Tätigkeiten (z.B. Führerschein).
Die Echtheit eines Zertifikates kann von der jeweiligen Zertifizierungsstelle auch wieder zurückgezogen werden. Zu diesem Zweck werden Zertifikats-Sperrlisten (CRL: Certificate Revocation Lists) eingesetzt, welche Einträge der Seriennummern aller Zertifikate mit zurückgenommenen Echtheitsbestätigungen enthält. Die Sperrliste ist selbst wiederum von der jeweiligen Zertifizierungsstelle signiert, um ihre Echtheit zu bestätigen.
Der Aufbau und der mögliche Inhalt eines Zertifikates ist im X.509 Standard [Ne99] definiert. Ein entsprechendes Beispiel (das aktuelle Zertifikat des Online-Campus) ist in Abbildung "Zertifikat" dargestellt.
Public-Key-Infrastruktur (PKI)
Bei der Public-Key-Infrastruktur (PKI) handelt es sich um ein hierarchisch aufgebautes System von Zertifizierungsstellen. Das bedeutet, dass jede Zertifizierungsstelle das in sie gesetzte Vertrauen an nachfolgende Stellen weiterverteilen kann, indem sie die zugehörigen Zertifikate signiert.
Daraus ergibt sich dann eine Hierarchie aus mehreren Zertifikaten, die bis zu einem Stammzertifikat rückverfolgt werden können sind. Durch das Vertrauen in das jeweilige Stammzertifikat wird auch den nachfolgenden Zertifikaten vertraut.
In den meisten Anwendungen, die PKI Zertifikate einsetzen (z.B. Internetbrowser für HTTPS Verbindungen), sind bereits einige gängige Stammzertifikate der großen Zertifizierungsstellen vorinstalliert. Es ist jedoch meist auch möglich weitere Stammzertifikate hinzuzufügen, denen dann ebenfalls vertraut wird. In Abbildung "Zertifizierungspfad" ist die Hierarchie des Zertifikates des Online-Campus dargestellt. Die Stammzertifizierungsstelle ist in diesem Fall das Unternehmen Go Daddy.
Zusätzlich zu den Zertifizierungsstellen gibt es in der PKI noch weitere Instanzen, welche hautsächlich für den Zertifizierungsprozess verantwortlich sind. Die Hauptakteure der PKI sind:
- Zertifizierungsstelle (CA: Certification Authority),
- Registrierungsstelle (RA: Registration Authority) und
- Validierungsdienst (VA: Validation Authority)
Die Registrierungsstelle ist in der PKI dafür verantwortlich die Identität des Antragsstellers zu überprüfen und dies wiederum der Zertifizierungsstelle mitzuteilen. Die Validierungsstelle ist für die Gültigkeitsprüfung von bereits ausgestellten Zertifikaten verantwortlich. Sie verwaltet auch die Zertifikats-Sperrlisten und ihre Erreichbarkeit ist meist in einem Datenfeld in den Zertifikaten selbst angegeben.
Soll nun ein neues Zertifikat ausgestellt werden, muss folgender Zertifizierungsprozess durchlaufen werden:
- Der Antrag für das neue Zertifikat wird an die Registrierungsstelle (RA) geschickt
- Die Registrierungsstelle (RA) überprüft den Antrag und stellt sicher, dass es sich bei der Identität tatsächlich um die der antragstellenden Person oder des zugehörigen IT-Systems (z.B. bei einem Webserver-Zertifikat) handelt.
- Wenn die Registrierungsstelle die Identität bestätigen kann, sendet sie den Antrag weiter an die Zertifizierungsstelle (CA).
- Die Zertifizierungsstelle (CA) stellt nun das beantragte Zertifikat aus, generiert dafür einen privaten und einen öffentlichen Schlüssel und sendet diese an die antragsstellende Person.
Oft ist es auch möglich das Schlüsselpaar selbst zu generieren und dem Antrag nur den öffentlichen Schlüssel beizufügen. Dies ist für die Ausstellung des Zertifikates ausreichend, da der private Schlüssel für seine Signierung nicht benötigt wird (diese wird durch den privaten Schlüssel der CA durchgeführt). In diesem Fall ist zusätzlich sichergestellt, dass der private Schlüssel nur der antragsstellenden Person bekannt ist.
Gerade bei der Überprüfung durch die Registrierungsstelle gibt es unterschiedliche Qualitäten. Wird hier ungenau vorgegangen, kann dies zu Zertifikaten falscher Identitäten führen.
Web of Trust (WOT)
Das Modell des Web of Trust ist im Gegensatz zur PKI nicht hierarchisch, sondern dezentral aufgebaut. Es basiert auf einer dezentralen Vertrauensverteilung zwischen den Teilnehmern, ähnlich dem Freundes- und Bekanntenkreis einer Person. Die Schlüssel sind dabei nicht in einer hierarchischen Struktur zentral abrufbar und überprüfbar, sondern werden direkt von den Benutzern verwaltet. Jeder User hat seinen eigenen Schlüsselbund, wobei hier zwischen dem privaten und dem öffentlichen Schlüsselbund unterschieden wird.
Am privaten Schlüsselbund befinden sich die privaten Schlüssel des Users, mit denen Daten signiert und entschlüsselt werden können. Am öffentlichen Schlüsselbund befinden sich die eigenen öffentlichen Schlüssel, sowie die öffentlichen Schlüssel anderer User. Mit den öffentlichen Schlüsseln können Nachrichten verschlüsselt und Signaturen geprüft werden.
Die Vertrauensstufen werden über die öffentlichen Schlüssel der Teilnehmer ermittelt. Dazu gibt es im öffentlichen Schlüsselbund für jeden Schlüssel ein Key Legimitation Field, in dem der jeweilige Vertrauensgrad (Owner Trust) des Schlüssels angegeben wird.
Im WOT gibt es folgende Vertrauensgrade:
- unknown: Personen über die keine Informationen bekannt sind,
- not trusted: Personen denen nicht vertraut wird,
- marginal: Personen denen nicht voll vertraut wird,
- complete: Personen denen voll vertraut wird und
- ultimate: eigener öffentlicher Schlüssel.
Wer als vertrauenswürdig eingestuft wird, liegt somit beim jeweiligen Schlüsselbund Inhaber.
Die Vertrauensgrade können an andere User (z.B. über einen Schlüsselserver) weitergegeben werden, indem die jeweiligen Schlüssel durch den eigenen privaten Schlüssel signiert werden. Dies wird auch als indirekte Zertifizierung bezeichnet.
Ist dem User, der einen dritten Schlüssel signiert hat, im eigenen Schlüsselbund einem Vertrauensgrad zugewiesen, so erhält der von ihm signierte Schlüssel je nach eigener Einstellung denselben Vertrauensgrad oder niedriger. Zusätzlich kann definiert werden, wie viele signierte Schlüssel eines niedrigeren Vertrauensgrades notwendig sind, um die Vertrauensstufe um eine Stufe aufzuwerten. Die Standartwerte hierfür sind 3 signierte Schlüssel anderer User für die Aufwertung und ein signierter Schlüssel eines anderen Users für dieselbe Stufe.
Diese Abhängigkeiten sind in Abbildung "Web of Trust - Vertrauensnetzwerk" ersichtlich: Anna kennt sowohl Peter, als auch Christoph persönlich und hat daher ihre öffentlichen Schlüssel in ihrem öffentlichen Schlüsselbund abgelegt. Christoph hat nur eine direkte Beziehung zu Anna, nicht aber zu Peter. Da sich Christophs öffentlicher Schlüssel im öffentlichen Schlüsselbund von Anna befindet, erkennt Peter sein Zertifikat als gültig an.
Die erste Implementierung des WOT war Pretty Good Privacy (PGP) [Sy15]. Es ist ein Softwarepaket, welches die Sicherstellung der Authentizität, Integrität und Vertraulichkeit von E-Mails sowie beliebiger Dateien ermöglicht. GnuPG [Gn15] ist die frei verfügbare Version, die unter der GNU General Public License [Fr07] steht. Ein möglicher Windows Client für GnuPG ist beispielsweise Gpg4win [In15b].
Neue Zertifikatsmodelle und Erweiterungen
Sowohl im Bereich des PKI, als auch im WOT Modell, gibt es mittlerweile einige bekannte Sicherheitslücken und Protokollfehler. Weiter ist gerade im PKI Modell die Rolle der CA enorm wichtig. Werden hier nur schlechte Identitätskontrollen bei der Ausstellung von Zertifikaten durchgeführt, kann es zu falschen validen Identitäten kommen. Im Bereich des WOT können beispielsweise die Schlüsselserver zum Generieren von SPAM-Versandlisten genutzt werden, da die zugehörigen E-Mailadressen der Zertifikate dort frei verfügbar sein müssen. Weiter sind über die WOT soziale Netzwerke der User analysierbar, da die Trustlevel und ihre Abhängigkeiten leicht analysiert werden können. [Br14]
Um diese Schwachstellen zu beseitigen wird bereits an möglichen neuen Protokollen und Erweiterungen geforscht. Den meisten Ansätzen gemein ist, die Abhängigkeit von einzelnen CA’s zu verringern. Fehler einer CA sollen möglichst auf Seite der Endanwendung (wie z.B. im Browser oder Mail Client) frühzeitig erkannt und angezeigt werden. [Br14]
Einer dieser neuen Ansätze ist die Software Perspectives [Ca15]. Dabei handelt es sich um eine Browsererweiterung, die jedes Zertifikat zusätzlich mit einem sogenannten Notary-Server abgleicht. Damit können beispielsweise Man-in-the-Middle Angriffe frühzeitig erkannt werden.
Weitere aktuelle Erweiterungen sind [Br14]:
- Pinning [EPS14],
- Certificate Transparency [LLK13],
- Microsoft SmartScreen [Mi15] und
- DANE [HVS12].
Angriffsvektoren der Access Control
Die Angriffsmethoden der Access Control sind sehr vielfältig und haben oft Angriffsvektoren der Kryptographie und Datenübertragung, sowie Social Engineeringals Grundlage. Dies trifft insbesondere auf Angriffe gegen die Integrität und Authentizität zu.
Dazu bereits behandelte Angriffsvektoren sind:
Eine weitere wichtige Angriffsmethode ist die des Pharming. Dabei wird die Anfrage eines Users auf einen bösartigen Server umgeleitet. Er glaubt sich sicher und gibt dann dort seine geheimen Daten ( wie z.B.: Zugangsdaten und Transaktionsdaten) preis. Beim Pharming handelt es sich daher um einen Man-in-the-Middle Angriff.
Wiederholungsaufgaben/Übungen
1 Was ist der Unterschied zwischen Identifikation, Authentifikation und Autorisation?
2 Was ist eine Zwei-Faktor-Authentifikation?
3 Welche drei Zugriffssteuerungsmodelle gibt es?
4 Erklären Sie das Modell der Eigner-definierten Zugriffssteuerung.
5 Was sind Zertifikate und die damit verbundenen Vertrauensmodelle?
6 Was bedeutet PKI und wer sind ihre Hauptakteure? Wie hängen diese Akteure zusammen?
7 Eine Passwortrichtlinie fordert ein Passwort, bestehend aus Kleinbuchstaben, Großbuchstaben und Ziffern mit einer Länge von 10 Zeichen. Wie wird die Komplexität des Passworts berechnet (wie viele mögliche Passwörter gibt es)?
Netzwerksicherheit
Ein wesentlicher Aspekt der technischen Informationssicherheit ist die Netzwerksicherheit. Wenn Daten von einem Gerät zu einem anderen übertragen werden, muss die Einhaltung der Schutzziele (Vertraulichkeit, Integrität und Verfügbarkeit; siehe Lektion "Säulen der Informationssicherheit - CIA Triade") weiter gewährleistet werden. Eine genaue Betrachtung der Übertragungsverfahren und Zugriffe ist daher unbedingt erforderlich, da aufgrund der standardmäßigen Offenheit der aktuellen Übertragungstechnologien meist auch eine Vielzahl von Angriffsvektoren möglich ist.
Sicherheitsaspekte der Netzwerkschichten
Die Betrachtung der Netzwerksicherheit bedarf einer gesonderten Betrachtung der einzelnen Netzwerkschichten. In jeder Schicht gibt es eigene Schwachstellen und mögliche Maßnahmen der Absicherung.
Ein Überblick der Netzwerkschichten des OSI-Referenzmodells ist in Tabelle "OSI-Schichten und TCP/IP Modell" aufgelistet. Die Details dazu finden sich im Studienheft IT112 - Netzwerke und verteilte Systeme – von Univ.-Prof. DI Dr. Erich Schikuta, in Lektion 5.
Tabelle: OSI-Schichten und TCP/IP Modell
OSI-Modell | Einordnung | Funktion | TCP/IP-Modell | |
---|---|---|---|---|
7 | Anwendungsschicht (Application Layer) | Anwendungsorientiert | Netzwerkschnittstelle zur Anwendung | Anwendungs-Schicht |
6 |
|
Darstellungsschicht (Presentation Layer) |
|
Daten-Repräsentation und Verschlüsselung |
5 |
|
Sitzungsschicht (Session Layer) |
|
Kommunikation zwischen Rechnern |
4 | Transportschicht (Transport Layer) | Transportorientiert | Ende-zu-Ende Verbindungen und Verlässlichkeit | Host-zu-Host-Schicht |
3 |
|
Vermittlungsschicht (Network Layer) | Pfad Bestimmung und logische Adressierung | Internet-Schicht |
2 |
|
Sicherungsschicht (Data Link Layer) | Physische Adressierung | Netzzugangs-Schicht |
1 |
|
Übertragungsschicht (Physical Layer) |
|
Medium, Signal und binäre Übertragung |
Die Absicherung der einzelnen Schichten – zur Erreichung der Schutzziele – erfolgt nun durch den Einsatz der acht spezifischen Sicherheitsmechanismen [Ec09, 737]:
- Kryptografische Verfahren,
- Digitale Signaturen,
- Zugriffskontrollmechanismen,
- Datenintegritätsmechanismen,
- Austausch von Authentizitätsinformationen,
- Anonymisierung und Verschleierung von Verkehrsdaten,
- Mechanismen zur Kontrolle der Wegewahl und
- Notariatsmechanismen.
Transportorientierte Sicherheitsaspekte
Das Ziel der transportorientierten Netzwerkschichten ist die Übertragung von Daten zwischen zwei Geräten. Dabei ist es meist erforderlich, die Weiterübertragung durch dazwischen liegende Geräte und auch unterschiedliche Übertragungsmedien in Anspruch zu nehmen. Dabei kann es zu Datenverlust und Datenänderungen kommen. Auch muss die Möglichkeit der Abhörung des Datenverkehrs in berücksichtigt werden.
Durch manipulierte und fehlerhafte Pakete kann es ebenfalls zu Beeinträchtigungen der beteiligten IT-Systeme kommen. Daher ist es erforderlich die Weiterleitung und Verarbeitung des Netzwerkverkehrs zu limitieren und alle ungewollten Pakete zu filtern.
Zur Absicherung des Transports werden in den unteren Schichten meist Firewalls (siehe weiter Kapitel "Firewalls") und in den oberen Schichten bestimmte Protokolle eingesetzt. Einige wichtige Absicherungstechnologien auf Protokollebene sind:
- TLS (Transport Layer Security),
- IPsec (Internet Protocol Security),
- PPTP (Point-to-Point Tunnelling Protocol),
- L2TP (Layer 2 Tunneling Protocol),
- PPP (Point-to-Point Protocol),
- PAP (Password Authentication Protocol),
- CHAP (Challenge Handshake Authentication Protocol),
- RADIUS (Remote Authentication Dial-In User Service),
- DIAMETER (keine Abkürzung; Bezug des Namens zu RADIUS),
- TACACS+ (Terminal Access Controller Access Control System) und
- WPA2 (Wi-Fi Protected Access 2).
Nicht vergessen werden darf dabei auch auf das Übertragungsmedium selbst. So können ungesicherte Netzwerkdosen und schlecht abgesicherte WLAN Verbindungen ein leichtes Eintrittstor in das interne Netzwerk sein. Auch gibt es Möglichkeiten den Netzwerkverkehr über die entstehenden elektromagnetischen Felder der Kabel und beteiligten Geräte abzuhören und natürlich können in der anderen Richtung auch Störungen durch elektromagnetische Felder im Kabelumfeld (z.B. durch Stromleitungen, Motoren oder Generatoren) entstehen.
In Tabelle "Protokolle der transportorientierten Netzwerkschichten" sind die wesentlichen Aufgaben der hier aufgezählten Protokolle, sowie ihre Einordnung in die Netzwerkschichten zusammengefasst.
Tabelle: Protokolle der transportorientierten Netzwerkschichten
Protokoll | Netzwerk-schicht | Zweck |
---|---|---|
TLS (Transport Layer Security) | OSI Layer 4 | Neue Bezeichnung und Weiterentwicklung von SSL (Secure Socket Layer). Unterstützt Verschlüsselung und Authentifizierung mittels Zertifikaten. |
IPsec (Internet Protocol Security) | OSI Layer 3 | Betrieb eines VPN Tunnels. |
PPTP (Point-to-Point Tunnelling Protocol) | OSI Layer 2 | Betrieb eines VPN Tunnels. |
L2TP (Layer 2 Tunneling Protocol) | OSI Layer 2 | Betrieb eines VPN Tunnels . |
PPP (Point-to-Point Protocol) | OSI Layer 2 | Verbindungsaufbau über Einwahlleitungen (Modem). Nutzt PAP oder CHAP zur Authentifikation. |
PAP (Password Authentication Protocol) | OSI Layer 2 | Authentifikation über das PPP. Passwörter werden unverschlüsselt übertragen. |
CHAP (Challenge Handshake Authentication Protocol) | OSI Layer 2 | Authentifikation über das PPP. Keine Passwortübertragung, sondern Prüfung durch Hashwerte aus Passwort und gemeinsamer Zufallszahl. |
RADIUS (Remote Authentication Dial-In User Service) | OSI Layer 2 | Authentifikation von Clients in Netzwerken. |
DIAMETER (keine Abkürzung; Bezug des Namens zu RADIUS) | OSI Layer 2 | Weiterentwicklung von RADIUS mit größerem Funktionsumfang. |
TACACS+ (Terminal Access Controller Access Control System) | OSI Layer 2 | Weiterentwicklung von RADIUS mit verschlüsselter Kommunikation. |
WPA2 (Wi-Fi Protected Access 2) | OSI Layer 2 | Nachfolger von WEP (Wired Equivalent Privacy) und WPA. Authentifizierung und Verschlüsselung von WLAN-Verbindungen. |
Anwendungsorientierte Sicherheitsaspekte
Die Absicherung von Netzwerken auf Anwendungsebene geschieht durch Protokolle und ihre Implementierung in den jeweiligen Applikationen. Die häufigsten Anwendungsgebiete sind dabei die sichere Kommunikation mit Webseiten und über E-Mail, sowie der Dateitransfer und Serverzugriff.
Für eine sichere Kommunikation zwischen Webseiten und Browsern wurde das HTTP (Hypertext Transfer Protokoll) Protokoll um die Möglichkeit eines Transportes mittels TLS (Transport Layer Security, vormals SSL) erweitert. Das daraus entstandene HTTPS (HTTP over SSL) Protokoll kombiniert somit ein Protokoll der Anwendungsschicht mit einem Protokoll der Transportschicht.
Durch die Möglichkeiten von TLS, einer verschlüsselten Kommunikation und der zertifikatsbasierten Authentifizierung der Kommunikationspartner, werden sichere Verbindungen zwischen Webserver und Internetbrowser ermöglicht. Je nach Ausprägung wird es nur zur Verschlüsselung, zur Authentifikation des Servers gegenüber dem Client oder sogar zur Authentifikation des Clients gegenüber dem Sever (mittels Clientzertifikat) genutzt.
Auch das File Transfer Protokoll (FTP) ist in einer um TLS erweiterten Version FTPS (FTP over SSL) verfügbar.
Sowohl HTTP, als auch FTP übertragen ihre Daten ohne die genannten TLS Erweiterungen gänzlich unverschlüsselt. Die Daten sind in den Ursprungsversionen dieser Protokolle auch nicht vor Manipulationen geschützt.
Zur Absicherung von E-Mail-Kommunikation wurde der E-Mail-Standard MIME (Multipurpose Internet Mail Extensions), welcher den Aufbau von E-Mail-Nachrichten regelt, mit S/MIME (Secure MIME) um die Möglichkeit zertifikatsbasierter Verschlüsselung und Signierung der Nachrichten erweitert.
Um eine sichere Verbindung zu Serverkonsolen zu ermöglichen, kann das Secure Shell (SSH) Protokoll eingesetzt werden. Es basiert auf einer zertifikatsbasierten Authentifizierung und Verschlüsselung. Ähnlich wie bei TLS kann diese sowohl über Server-, als auch über Clientzertifikate erfolgen. Die Übertragung der Konsolendaten zwischen Server und Client erfolgt textbasiert. Weiter ist es möglich, Dateien zu übertragen. Diese Protokollform wird dann als SFTP (SSH File Transfer Protokoll) bezeichnet.
Firewalls
Der Begriff „Firewall“ kommt von der bildlichen Vorstellung einer brennenden Barriere, welche nicht überwunden werden kann. Eine bessere Darstellung wäre dafür jedoch eher eine mittelalterliche Zugbrücke mit Wachposten, da eine Firewall nicht für alle unüberwindbar sein soll und bestimmte Reisende ungehindert durchlassen muss. Ein weiterer, besserer, Vergleich ist der einer Brandschutzwand mit einer Türe, die zwar alle Personen durchlässt, jedoch das Feuer (unerwünschtes) blockiert.
Eine Firewall steht immer zwischen zwei getrennten Teilen eines Computernetzwerks. Sie kontrolliert den gesamten Datenverkehr und lässt nur jene Daten durch, die den vorgegebenen Regeln entsprechen (siehe Abbildung "Grundprinzip einer Firewall").
Eine Firewall kann dabei auf unterschiedlichen Netzwerkschichten aufsetzen und ist meist Teil eines Netzwerkgerätes der jeweiligen Schicht (Bridge, Switch, Router oder Server).
Aktuelle Firewall-Lösungen decken inhaltlich meist mehrere Firewall-Typen ab. So sind meist Packet-Filter-Firewalls und Stateful Firewalls kombiniert. Application Level Firewalls sind häufig auch, in Form von Modulen, in die jeweiligen Serverdienste integriert, die sie schützen sollen.
Im Bereich der zunehmenden Virtualisierung von Rechnernetzen ist es nötig, eine Absicherung durch virtuelle Netzwerkhardware zu gewährleisten. Dazu gehören auch virtualisierte Firewalls mit demselben Funktionsumfang.
Die unterschiedlichen Typen von Firewalls sind:
- Packet Filter Firewalls,
- Stateful Firewalls,
- Proxy Firewalls,
- Circuit-Level Proxy-Firewalls,
- Application-Level Proxy-Firewalls und
- Kernel Proxy-Firewalls.
Bei Packet Filter Firewalls handelt es sich um die Implementierung von Regeln der transportierenden Netzwerkschichten. Dabei werden bestimmte Pakettypen und die zugehörigen Paketheader überprüft. Eine inhaltliche Prüfung der Daten erfolgt hierbei nicht. Über die Paketheader können Daten wie Herkunftsadresse und Zieladresse, das verwendete Transport-Protokoll, sowie die zugehörigen Portnummern, geprüft werden.
Zusätzlich zu den Packet Filter Firewalls werden bei Stateful Firewalls die Pakete nicht nur einzeln, sondern im Zusammenhang der gesamten zugehörigen Verbindung betrachtet. Das bedeutet, dass der Verbindungsaufbau und die laufende Kommunikation erkannt werden. Dadurch ist es möglich, auf unterschiedliche Phasen einer Netzwerktransaktion unterschiedlich zu reagieren. Auch können ungültige Pakete erkannt werden, die in der aktuellen Phase der jeweiligen Verbindung nicht zulässig sind. Die einzelnen Verbindungen werden dabei in der State-Table der Firewall verwaltet.
Bei den Proxy-Firewalls handelt es sich um Firewalls der anwendungsorientierten Schichten. Je nach der zugehörigen Schicht untergliedern sie weiter sich in eigene Untertypen.
Die Circuit-Level Proxy-Firewall befindet sich auf Ebene der Sitzungsschicht. Sie unterstützt Regeln zu einem breiten Spektrum an Anwendungsprotokollen, kann jedoch nicht den Inhalt der Anwendungsschicht überprüfen. Sie prüft lediglich den Header der Pakete der Sitzungsschicht und leitet daraus ab, welche Anwendungskommunikationen stattfinden sollen.
Eine detaillierte Analyse des Netzwerkverkehrs ermöglicht hingegen die Application-Level Proxy-Firewall. Sie befindet sich auf Ebene der Anwendungsschicht und kann damit den Inhalt des Netzwerkverkehrs auf Anwendungsebene überprüfen. Dies ermöglicht eine Erkennung von unerwünschten Zugriffen auf Anwendungen durch Auswertung der direkten Anwendungskommunikation. Ein Beispiel für eine Application-Level Proxy-Firewall ist ein HTTP-Proxy-Server mit Content Filterung und Virenschutz. Er kann dabei unerwünschte Webinhalte und Schadcode erkennen und dem Anwender statt diesem eine Fehlermeldung senden.
Bei Kernel Proxy-Firewalls ist die gesamte Funktionalität direkt im Betriebssystem-Kernel implementiert. Sie verarbeiten die Pakete mittels virtueller Netzwerk-Stacks. Das bedeutet, dass für jedes Paket ein individueller virtueller Bereich angelegt wird, in dem dann seine Überprüfung stattfindet. In diesem virtuellen Stack gibt es dann je Netzwerkschicht eigene Regelwerke. Da die gesamte Verarbeitung direkt im Kernel erfolgt, sind Kernel Proxy-Firewalls performanter als Application-Level Proxy-Firewalls.
Eine weitere wichtige Funktionalität von Firewalls ist das IP-Masquerading und die damit verbundene Network Address Translation (NAT). Damit wird ermöglicht, eine einzelne öffentliche IP-Adresse durch mehrere Clients mit privaten IP-Adressen zu nutzen. Auch können damit Port-Weiterleitungen von der öffentlichen IP-Adresse zu dahinter liegenden Servern mit privaten IP-Adressen realisiert werden. Die Details zu öffentlichen und privaten IP-Adressen und die Funktionsweise des IP-Masquerading wurden bereits im Studienheft IT112 - Netzwerke und verteilte Systeme – von Univ.-Prof. DI Dr. Erich Schikuta genauer erläutert.
Im Zusammenhang mit Firewalls werden oft Intrusion Detection Systeme (IDS) eingesetzt. Dabei handelt es sich um Dienste, die den gesamten Netzwerkverkehr einer bestimmten Verbindung übermittelt bekommen und diesen analysieren. Sie erkennen dabei mögliche Angriffsmuster und Auffälligkeiten in den Verbindungsinformationen. Sobald ein IDS eine Auffälligkeit erkennt, kann es diese dokumentieren und melden. In bestimmten Fällen kann es auch so konfiguriert werden, dass es neue Firewall-Regeln hinzufügt, die die auffälligen Verbindungen blockiert.
Für den Betrieb von Servern, die von außen erreichbar sein sollen (z.B. Webserver und E-Mail-Server), wird meist ein gesondertes Netzwerksegment eingerichtet. Dieses hat dann eigene Firewall-Regeln, welche den Zugriff der Server auf das interne Netzwerksegment stark einschränken. Dadurch wird diese, risikoreichere Zone, von dem internen Netzwerk getrennt und kann auch gesondert überwacht werden. Da hierbei einzelne Zugriffe von außen in diese weniger sichere Zone durchgelassen werden, wird sie als De-Militarisierte-Zone (DMZ) bezeichnet.
Virtuelle Private Netze (VPN)
Ein Virtuelles Privates Netz (VPN) dient der Vernetzung mehrerer Standorte über unsichere Datenleitungen (z.B. über das Internet). Dies ist oft erforderlich, wenn ein Unternehmen mehrere Standorte hat, oder wenn Mitarbeiter mobil arbeiten und dabei Zugriff auf das interne Netzwerk benötigen.
Bei einem VPN werden die Daten einer kompletten Netzwerkschicht verschlüsselt übertragen. Dies geschieht oft direkt über VPN Dienste, welche in die jeweilige Firewall-Lösung integriert sind. In Abbildung "VPN Verbindung zwischen zwei Standorten" ist eine VPN Verbindung dargestellt, die zwei Bürostandorte über das Internet miteinander verbindet. Das VPN ist dabei auf den Firewalls installiert, die gleichzeitig Gateways ins Internet sind. Die verschlüsselte Verbindung zwischen den beiden VPN-Endpunkten (in diesem Fall die Firewalls) wird als VPN-Tunnel bezeichnet.
Wenn ein einzelner Computer an ein VPN angebunden ist, wird der VPN Tunnel durch einen lokalen VPN Dienst des Computers an das Unternehmensnetz angebunden. Die lokal installierte Software wird dabei als VPN-Client und der Einstiegspunkt in das Unternehmensnetz als VPN-Gateway bezeichnet.
Wie der Schlüsseltausch und der Verbindungsaufbau für die gemeinsame Verbindung aussehen und welche Chiffren verwendet werden, hängt vom jeweiligen VPN Protokoll ab. Die meisten Protokolle unterstützen dabei mehrere unterschiedliche Chiffren um mit möglichst vielen Clients kompatibel sein zu können. Hier ist jedoch Vorsicht geboten, da diese großzügige Kompatibilität von Angreifern ausgenutzt werden kann, indem sie versuchen eine Verbindung mit einer möglichst schwachen Chiffre aufzubauen, um diese dann wiederum leichter analysieren zu können. Die verwendeten Chiffren sollten daher im VPN-Gateway sehr genau auf die Anforderungen möglichen VPN-Clients abgestimmt sein. Alle nicht benötigten Methoden sollten dann deaktiviert werden.
Der größere Aufwand bei einer VPN Verbindung ist immer der Verbindungsaufbau, da hier die Authentifikation, der Schlüsseltausch und die Vereinbarung der Chiffre erfolgt. Die Verschlüsselung der Datenleitung erfolgt dann meist über symmetrische Kryptographie-Methoden und ist daher wesentlich schneller.
Dies ist vergleichbar mit dem Graben eines Tunnels. Der Aufbau des Tunnels ist sehr schwierig und dauert lange (Tunnelbohrer, korrekte Bohrstrecke bis zum Endpunkt, Stützen der Tunnelwände,…). Sobald der Tunnel jedoch gegraben ist, kann dieser sehr einfach von beiden Seiten befahren werden.
Es gibt eine Vielzahl von VPN-Protokollen auf unterschiedlichen Netzwerkschichten. Einige der wichtigsten Protokolle sind in Tabelle "VPN-Protokolle" aufgelistet.
Tabelle: VPN-Protokolle
Protokoll | Netzwerkschicht |
---|---|
PPTP (Point-to-Point Tunneling Protocol) | OSI Layer 2 |
L2TP (Layer 2 Tunneling Protocol) | OSI Layer 2 |
IPsec (Internet Protocol Security) | OSI Layer 3 |
OpenVPN (Open Source VPN) | OSI Layer 3 |
SSTP (Secure Socket Tunneling Protocol) | OSI Layer 3 |
Web Application Security
Eine Vielzahl der Angriffe auf IT-Systeme geschieht im Bereich der Webanwendungen. Die Webserver sind meist öffentlich erreichbar und bieten daher eine leicht auffindbare und optimale Angriffsfläche. Oft werden IT-Systeme mit bestimmten Schwachstellen im Web über Suchmaschinen gesucht (Siehe Kapitel "Google Hacking"), um sie dann gezielt angreifen zu können.
Das Eintrittstor in den Webserver sind meist die darauf laufenden Webanwendungen. Es ist daher unbedingt erforderlich, bereits bei der Entwicklung der Applikationen auf IT-Sicherheit zu achten und diese in den Entwicklungsprozess mit einzubeziehen. Unsicherer Programmcode ist im Nachhinein nur aufwändig zu entdecken und zu korrigieren.
OWASP Top 10
Die Bedrohungen für Web-Applikationen werden regelmäßig in ihrer Häufigkeit erfasst und durch unterschiedliche Stellen ausgewertet. Die bekannteste Auswertung wird durch das OWASP Top Ten Project erstellt. OWASP ist eine Non-Profit-Organisation, deren Ziel es ist, die Erhöhung der Sicherheit von Web-Anwendungen zu fördern.
Die derzeitige OWASP Top 10 Liste (Stand 12. Juni 2013) beinhaltet folgende Bedrohungen, absteigend sortiert [Ow15a]:
- Injection
- Broken Authentication and Session Management
- Cross-Site Scripting (XSS)
- Insecure Direct Object References
- Security Misconfiguration
- Sensitive Data Exposure
- Missing Function Level Access Control
- Cross-Site Request Forgery (CSRF)
- Using Components with Known Vulnerabilities
- Unvalidated Redirects and Forwards
Die Top 3 der häufigsten Bedrohungen nach OWASP werden am Ende der Lektion im Rahmen der Angriffsvektoren genauer erläutert.
Web Application Firewalls (WAF)
Oft existieren Anwendungen, die nur schwer durch das eigene Unternehmen gewartet oder angepasst werden können. Dies können entweder Fremdsoftware oder sehr alte Eigenentwicklungen sein, die schlecht dokumentiert oder aufgrund von fehlendem Knowhow nicht mehr wartbar sind.
Um auch diese Anwendungen gegen Angriffe absichern zu können, empfiehlt sich der Einsatz einer Web Application Firewall.
Dabei handelt es sich um eine Application-Level Proxy-Firewall, die eine zusätzliche Schutzschicht zwischen Webserver und Webanwendung darstellt, welche alle Ein- und Ausgaben der Web-Anwendung zusätzlich auf möglich Angriffe überprüft und diese somit gegen bestimmte Angriffe absichert für die die Anwendung sonst verwundbar wäre.
Eine frei verfügbare und weit verbreitete WAF ist ModSecurity [Tr15]. Es handelt sich dabei um ein Modul für den Webserver Apache, welches wiederum durch Rulesets mit den entsprechenden Filterregeln zur Angriffserkennung ausgestattet werden kann.
Cloud Computing Security
Der Begriff Cloud-Computing bezeichnet das Auslagern von einzelnen IT-Services hin zu Anbietern dieser Services im Internet. Die Möglichkeiten sind hierbei sehr vielfältig. Sie reichen von der Zurverfügungstellung von Online-Speicherplatz über die gesamte Bandbreite vom einfachen Webservice bis hin zu kompletter virtueller Infrastruktur. Ein Vorteil liegt hierbei in der einfachen Skalierbarkeit der in Anspruch genommenen Services, da sich meist viele Anwender die Ressourcen des Anbieters, je nach gewünschtem Bedarf, teilen. Die Einstiegskosten sind beim Cloud Computing entsprechend geringer als bei der Investition in eigene Ressourcen. Der Hauptvorteil liegt daher in den sich daraus ergebenden wirtschaftlichen Vorteilen durch die variable Mitnutzung komplexer Ressourcen.
Innerhalb der Cloudservices wird zwischen vier verschiedenen Servicemodellen unterschieden: Humans as a Service (HuaaS), Software as a Service (SaaS), Platform as a Service (PaaS) und Infrastructure as a Service (IaaS). Die Architektur kann in Form eines Schichtenmodells beschrieben werden, da die einzelnen Servicearten aufeinander aufbauen und die jeweils unten liegende Serviceschicht benötigen. Das Schichtenmodell der Cloud-Architektur ist in Abbildung "Cloud-Architektur Schichtenmodell" inklusive der in den jeweiligen Schichten befindlichen Services dargestellt.
Authentifikation bei Cloud-Services
Für die Authentifikation und die damit verbundene Autorisation werden bei den einzelnen Cloud Storage Anbietern unterschiedliche Verfahren verwendet. Diese können eigene Implementierungen oder allgemein verfügbare Methoden sein.
Ein Beispiel dafür ist OAuth [MP14]. Es ermöglicht die zentrale Verwaltung von Benutzern und Rollen gegenüber Drittanbieter Services. Dabei wird mit Access-Token gearbeitet, die vom Autorisierungs-Server an den Client übergeben werden und ihm damit den Zugriff auf die eigentlichen Ressourcen ermöglichen.
Die Verwendung von Access-Token ermöglicht es, Cloud-Dienste mit Applikationen auf unterschiedlichen Geräten zu vernetzen, ohne die eigenen Zugangsdaten preisgeben zu müssen. Diese müssen lediglich bei der Anforderung der Token eingegeben werden. Hat die Anwendung den Token erhalten, kann Sie fortan auf den Cloud-Dienst zugreifen. Jeder Token hat wiederum einen bestimmten Autorisationsumfang innerhalb des Cloud-Dienstes. Wenn der Zugriff der einzelnen Anwendung wieder deaktiviert werden, muss nur der Token deaktiviert werden. Dies hat dann keinen Einfluss auf andere verbundenen Anwendungen.
Cloud Storage Security
Daten sind innerhalb der verteilten Speicher des Cloud Storage Anbieters meist über Hashwerte adressiert um sie schnell aufzufinden und Redundanzen innerhalb eines Speicherortes zu vermeiden. Das bedeutet jedoch auch, dass ein möglicher Angriff unter Kenntnis des Hashwertes möglich ist. Hier können fehlerhafte Sicherheits-Implementierungen der Anbieter ausgenutzt werden. Einen weiteren möglichen Angriffsvektor stellt in diesem Zusammenhang die Ausnutzung des Geburtstagsparadoxons dar. Hierbei kann dem Speicherdienst der Besitz einer Datei, durch die Generierung einer anderen Datei mit gleichem Hashwert, vorgetäuscht werden (Hash Value Manipulation Angriff). Diese und ähnliche Angriffsszenarien wurden in [Mu11] analysiert und anhand des Cloud Storage Services Dropbox getestet und als durchführbar eingestuft.
Neben der besseren Absicherung der Datenübertragungen und der Verifikation des Dateibesitzes [Mu11, S. 9], könnten die Daten mittels Kryptographie auf Dateiebene, vor und nach ihrer Übertragung an den Cloud-Speicher Service abgesichert werden. Dabei können die schwachen Sicherheitsmechanismen der Anbieter, im schlimmsten Fall, lediglich zum Abruf von verschlüsselten Daten ausgenutzt werden.
Auch die Verfügbarkeit und Integrität der abgelegten Daten ist ein wesentlicher Aspekt der Cloud Security. So sollten kritische und wichtige Daten auf mehrere Speicherorte gespiegelt abgelegt werden, um eine Verfügbarkeit der mit ihnen verbundenen Services zu gewährleisten [KVB13, S. 48].
Speicherort von Cloud-Daten
Ein weiterer wichtiger Aspekt der Nutzung von Cloud-Diensten ist der Speicherort. So ist durch die EU Datenschutzrichtlinie 95/46/EG [Eu00b], welche in Österreich durch das Datenschutzgesetz (DSG) [Bg19] umgesetzt wurde, verboten, personenbezogene Daten aus EU Mitgliedsstaaten an Staaten weiterzugeben, die über keinen gleichwertigen Datenschutz verfügen.
Der Nachfolger ist die EU Datenschutz-Grundverordnung (DSGVO) [Eu17], welche als Verordnung am 25. Mai 2018 in Kraft tritt ist und damit die EU Datenschutzrichtlinie 95/46/EG aufhebt. Obwohl die DSGVO als Verordnung unmittelbar angewendet wird, hat sie dennoch einige Punkte, welche durch nationales Recht geregelt werden müssen. Diese werden in Österreich durch das neue Datenschutz-Anpassungsgesetz 2018 (Datenschutzgesetz 2018 – DSG) [Bg17] getroffen, welches ebenfalls am 25. Mai 2018 in Kraft tritt.
Einige Staaten haben Gesetze erlassen, welche ihnen, in bestimmten Fällen, Zugriff auf die gespeicherten Daten aller Unternehmen des Landes erlauben. Ein Beispiel für eine solche gesetzliche Befugnis ist der USA Patriot Act. Solche Eingriffe werden natürlich in wenigen Unternehmen gerne gesehen, und verstoßen mitunter gegen Datenschutzbestimmungen in anderen Ländern. [Ar09, S. 15]
Unklarheiten und EuGH Urteile zur Datenübermittlung in die USA
Im Jahr 2000 wurde von der europäischen Kommission daher zusätzlich das Safe-Harbor-Abkommen verabschiedet, welches gemeinsam mit dem US Handelsministerium [Us14] ausgearbeitet wurde. Es ermöglicht einen Datenaustausch zu US Gesellschaften, sofern diese die Safe-Harbor-Vereinbarung unterzeichnet haben und damit dem Safe-Harbor-Programm beigetreten sind. Dies soll einen ausreichenden Schutz der personenbezogenen Daten gewährleisten, obwohl der grundlegende Datenschutzstandard der USA deutlich unter dem der EU Staaten liegt. [Eu00a]
Am 06. Oktober 2015 wurde das Safe-Harbor-Abkommen vom Gerichtshof der Europäischen Union wieder für ungültig erklärt [Eu15]. Die allein auf Grundlage des Safe-Harbor-Abkommens gestützten Übermittlungen sind seit dem Urteilsspruch unmittelbar rechtswidrig. Betroffen sein dürften nicht nur Daten von bekannten Internetunternehmen, sondern auch die Beschäftigtendaten amerikanischer Industriekonzerne. Es ist aber auch zweifelhaft, ob Unternehmen ohne weiteres auf andere in der Richtlinie für Drittstaatentransfers vorgesehene Rechtsgrundlagen ausweichen können. [Pe15, S. 805]
Daher wurde an einer Nachfolgeregelung gearbeitet und das Abkommen mit dem Namen EU-US Privacy Shield zwischen der EU und den USA ausgehandelt. Für die Unterfertigung des Abkommens waren Gesetzesänderungen in den USA nötig, welche beispielsweise eine einfachere Klagemöglichkeit von EU Bürgern bei Datenschutzverletzungen vorsehen. Auf Grundlage des Abkommens hat die EU Kommission am 12. Juli 2016 beschlossen [Eu16], dass der Datenschutzstandard der USA nun angemessen ist und dem der EU entspricht.
Am 16. Juli 2020 wurde auch das EU-US Privacy Shield durch den EuGH für nicht angemessen und damit nichtig erklärt. Die Begründung ist zusammengefasst, dass weiterhin Zugriff auf in die USA übermittelte Personendaten durch US Behörden möglich sind und den Betroffenen keine entsprechenden Rechte zugesichert werden, welche sie gegenüber den US-behörden durchsetzen könnten.
Möglichkeiten der internationalen Datenübermittlung
Eine Möglichkeit für einen rechtmäßigen internationalen Datenverkehr sind Angemessenheitsbeschlüsse. Es gibt natürlich auch andere, wie z.B. das Vorliegen „geeigneter Garantien“. Diese können z.B. in verbindlichen internen Datenschutzvorschriften (Binding Corporate Rules), die von der zuständigen Aufsichtsbehörde genehmigt worden sind, bestehen oder in den oben bereits erwähnten Standarddatenschutzklauseln, die von der Europäischen Kommission erlassen oder von einer Aufsichtsbehörde angenommen und von der Kommission genehmigt worden sind. Auch eine ausdrückliche Einwilligung der betroffenen Personen im Einzelfall oder die Erforderlichkeit für die Erfüllung eines Vertrages mit der betroffenen Person kann eine Möglichkeit für den internationalen Datenverkehr sein. [WK20]
Angriffsvektoren der Datenübertragung
In Netzwerken gibt es eine Vielzahl möglicher Angriffsvektoren. Diese betreffen alle Netzwerkschichten und damit sowohl die Transportebene, als auch die Anwendungsebene.
Die Arten der Auswirkungen sind dabei sehr vielfältig. Die Übertragungswege können abgehört, manipuliert oder zur Beeinträchtigung der Systemverfügbarkeit missbraucht werden.
Nachfolgend sind nun einige dieser Angriffsvektoren, sowie mögliche Gegenmaßnahmen, genauer beschrieben.
Denial-of-Service Angriff
Bei einem DoS (Denial-of-Service) Angriff handelt es sich um einen Angriff auf die Verfügbarkeit eines Server-Dienstes. Dabei wird dieser durch eine große zu Menge an Anfragen übelastet und ist dadurch nicht mehr verfügbar.
DoS Angriffe können unterschiedliche Server-Dienste als Angriffsziel haben. Gängig sind dabei Angriffe gegen die Verfügbarkeit von Webservern, um eine Internetpräsenz zu überlasten und dadurch die Zielseite auszuschalten. Dies kann gerade bei businesskritischen Webseiten, wie beispielsweise Onlineshops, zu erheblichen finanziellen Verlusten führen.
Der Angriff beschränkt sich dabei nicht auf valide Server-Anfragen. Es werden meist bewusste Protokollverstöße und fehlende Antworten des Verbindungsaufbaus generiert. Dies kann dann den Server-Dienst in einen Wartezustand bringen und damit eine entsprechende Mehrbelastung verursachen.
Heutzutage werden DoS Angriffe über verteilte Netzwerke von mehreren Punkten aus durchgeführt. Sie werden daher als DDoS (Distributed Denial of Service) bezeichnet. Dies wird meist durch ein Netzwerk aus Viren bewerkstelligt, welches vom Angreifenden zentral gesteuert werden kann. Diese Art des Netzwerkes wird als Bot-Netz bezeichnet, da die Viren ihre Tätigkeiten ferngesteuert durchführen. Durch die Verteilung des Angriffs auf mehreren Ausgangspunkten ist es für die Firewall des angegriffenen Servers schwieriger zu unterscheiden, welche Anfragen nun gutartig oder bösartig sind.
Da es leicht möglich ist bestehende Bot-Netze zu mieten, ist dies ein sehr gefährlicher und aktueller Angriffsvektor. Der Angreifende muss dazu oft nicht einmal mehr das nötige Know-How besitzen, sondern lediglich über die entsprechenden Angebotsquellen verfügen. Die Bedienung erfolgt dann über ein simples User-Interface, mit dem das Netz im Mietzeitraum gesteuert werden kann.
Um DDoS Angriffen vorzubeugen, sollten entsprechende Firewall-Regeln eingerichtet sein, welche ungültige Pakete und Verbindungen blockieren (siehe "Stateful-Firewalls" im Kapitel "Firewalls"). Wichtig ist dabei, den Angriff so nahe wie möglich bei den Angreifenden zu filtern. Dies kann durch providerseitige Filtermaßnahmen erreicht werden. Auch existieren, je nach betroffenem Server-Dienst, meist protokollspezifische Maßnahmen die Auswirkungen abzuschwächen.
Weiter sollten Maßnahmen zur Lastverteilung von akut auftretenden Anfragespitzen geplant werden. Dies kann in einem großen Rechenzentrum beispielsweise durch die dynamische Verteilung von Serverressourcen geschehen.
Sniffing
Beim Sniffing (Schnüffeln) handelt es sich um das Abhören von Datenverbindungen. Dabei werden Datenpakete mitgehört, welche in öffentlich zugänglichen Netzen übertragen werden. Handelt es sich dabei um unverschlüsselte Daten können diese ausgelesen und interpretiert werden.
Sniffing kann durch Verschlüsselung des Datenverkehrs entgegengewirkt werden. Der Tausch des zugehörigen Schlüssels kann dabei mittels Schlüsseltauschverfahren (siehe Kapitel "Schlüsseltauschverfahren" in Lektion Kryptographie) sichergestellt werden. Dies verhindert nicht das Abhören der Pakete selbst. Die darin enthaltene Information wird für den Abhörenden jedoch unbrauchbar.
Man-in-the-Middle Angriff
Bei einem Man-in-the-Middle Angriff werden die Datenpakete nicht – wie beim Sniffing – nur abgehört, sondern über den Rechner des Angreifenden umgeleitet. Dadurch ist es möglich, den Inhalt der Daten zu manipulieren.
Einem Opfer eines Man-in-the-Middle Angriffs kann daher ein geänderter Inhalt übermittelt werden. Es geht allerdings davon aus, den angefragten und gewünschten Inhalt bekommen zu haben und merkt dies meist auch nicht. Damit ist es dem Angreifenden beispielsweise möglich, durch manipulierte Zugangsseiten und Formulare Daten zu erfragen oder, im Rahmen eines Downloads, einen Schadcode auszuliefern. Diese Umleitung auf bösartige Formularseiten wird auch als Pharming bezeichnet.
Beim Diffie-Hellmann Schüsseltausch ist es beispielsweise durch einen Man-in-the-Middle Angriff möglich, die Datenverbindung abzuhören. Der Angreifende gibt sich dabei an beiden Seiten als die gewünschte Gegenseite aus. Diese tauschen damit unbewusst beide einen Schlüssel mit dem Angreifenden aus und nicht mit der gewünschten Gegenstelle. Der Man-in-the-Middle muss den Datenverkehr in beide Richtungen nur immer jeweils mit dem zugehörigen Schlüssel der Gegenstelle verschlüsseln und entschlüsseln und kann dazwischen alle Daten im Klartext lesen.
Als Gegenmaßnahme zu Man-in-the-Middle Angriffen können Verfahren eingesetzt werden, welche die Daten zusätzlich mittels Zertifikaten signieren (siehe Kapitel "Hashing" und "Asymmetrische Verfahren" in Lektion "Kryptographie"). Da sich der Private-Key nur im Besitz des jeweiligen Absenders befindet, können die Daten nicht unbemerkt durch den Angreifenden manipuliert werden.
Google Hacking
Viele Angriffe auf Webserver geschehen nicht gezielt auf bestimmte Systeme. Stattdessen suchen die Angreifer nach beliebigen verwundbaren Systemen, indem sie die Indizierung der Seiten in Suchmaschinen ausnutzen.
Dieser Angriffsvektor wird als Google Hacking bezeichnet. Dabei handelt es sich noch nicht um einen direkten Angriff, sondern eine Methode des Informationsgewinnes über mögliche verwundbare Systeme.
Beim Google Hacking wird in Google nach bestimmten HTML-Headern und Dateinamen gesucht. Das können beispielsweise bestimmte Versionen oder Dateien eines Content-Management-Systems (CMS) oder Debug-Informationen von Webservern sein.
Auch kann z.B. gezielt nach Passwortdateien gesucht werden, welche irrtümlich frei abrufbar sind.
Als Gegenmaßnahme sollten Fehlermeldungen immer durch eigene Fehlerseiten, und nie direkt durch die eigene Ausgabe des Scripts angezeigt werden. Interne Fehlercodes und Fehlerdetails dürfen nur in Logdateien gespeichert und niemals dem Endanwender gezeigt werden. Auch sollte unbedingt darauf geachtet werden, den Zugriff auf Webverzeichnisse mit Administrationsseiten und internen Dateien zu beschränken. Die Standardpfade für Administrationsbereiche von CMS Umgebungen sollten ebenfalls immer geändert werden.
Injection
Bei Injection handelt es sich um einen Angriff durch das Einbringen von Schadcode und Kommandos zur Ausführung direkt am angegriffenen Webserver. Dabei werden unsauber programmierte Webformulare und Übergabeparameter ausgenutzt, um den Code vom jeweiligen Interpreter am Server ausführen zu lassen.
Injection Angriffe sind die am weitest verbreiteten, da gerade im Web viele unsaubere Programmiercodes in Tutorials und Foren kursieren, welche wiederum von oft Entwicklern wiederverwendet werden. Einen Hinweis auf die Behebung der Schwachstellen findet man dabei sehr selten. Die Injection Angriffe befinden sich bereits seit 2007 auf Platz 1 der OWASP Top 10 [Ow15a].
Da bei Injection Angriffen Schadcode am Server ausgeführt werden kann, handelt es sich um eine sehr schwerwiegende Sicherheitslücke, welche zu Datenverlust und Datenverfälschung, sowie Kontrollverlust über den gesamten Webserver führen kann.
Die bekannteste Variante der Injection-Angriffe ist die SQL-Injection. Dabei werden unsauber programmierte SQL-Aufrufe ausgenutzt, welche die Eingabewerte direkt an in den SQL-Befehl integrieren. Die Eingabewerte können von Angreifenden dann dazu verwendet werden, andere SQL-Befehle auszuführen, oder den jeweiligen Befehl um weitere Bestandteile zu erweitern.
Ein Bespiel für eine verwundbare SQL Abfrage lautet:
String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") +"'";
Dabei kann durch Übergabe des Wertes:
?id=' or '1'='1
eine Abfrage erzeugt werden, die alle möglichen Einträge der Tabelle wiedergibt, da die Bedingung damit nun immer wahr ist.
Die eigentliche, an den Datenbank-Server übermittelte SQL-Abfrage lautet in diesem Fall:
SELECT * FROM accounts WHERE custID='' or '1'='1';
Auch kann durch fehlerhafte Werte ein Fehler bewusst herbeigeführt werden, der auf einem schlecht konfigurierten System für den Benutzer ersichtlich zurückgegeben wird. Durch die Fehlermeldung kann dann oft auf die Konfiguration und Versionierung der Serversoftware rückgeschlossen werden, was weitere Angriffsversuche wiederum erleichtert.
Um Injection Angriffe zu verhindern ist es wichtig, jeden Dateninput, ganz gleich, ob es ein Benutzerformular oder eine Programmschnittstelle ist, zu validieren oder entsprechend umzucodieren. Dies kann mittels eigener Implementierung von Funktionen für die Anpassung und Überprüfung der Überbewerte, oder dem Einsatz einer entsprechenden API erfolgen. Ist keine API verfügbar, sollten alle möglichen Metazeichen sehr sorgfältig durch eine eigene Funktion, vor der weiteren Verarbeitung entschärft werden. Auch besteht die Möglichkeit mittels Whitelist nur explizit erlaubte Schriftzeichen zuzulassen und alle anderen Zeichen zu filtern. Dies ist jedoch meist schwierig, da manche Metazeichen von den Anwendungen benötigt werden.
Broken Authentication and Session Management
Dabei handelt es sich um den Diebstahl von Zugangsdaten oder dem validen Zustand eines authentifizierten Anwenders.
Die meisten Internetzugriffe, wie beispielsweise über HTTP, erfolgen transaktionslos. Das bedeutet, dass jede Anfrage an einen Webserver unabhängig von den vorangegangenen Anfragen durchgeführt und beantwortet wird. Um dem Client eine durchgängige Anwendungsbenutzung mit den entsprechenden, serverseitig gespeicherten Zuständen, zu ermöglichen, bedient man sich hier sogenannter Sessions. In einer Session werden bestimmte Zustände bzw. Variablen serverseitig zwischengespeichert und bei der nächsten Anfrage des Clients wiederverwendet. Erst dadurch sind Anwendungen möglich, bei denen sich der Anwender nur zu Beginn anmelden muss und dann alle übrigen Zugriffe mit den für ihn hinterlegten Berechtigungen durchführen kann, ohne seine Authentifizierung bei jedem Zugriff wiederholen zu müssen.
Um dem Server mitzuteilen, welche Session für den aktuellen Zugriff verwendet werden soll, übergibt der Client eine entsprechende Session-ID, die ihm beim ersten Zugriff vom Server mitgeteilt wurde.
Der Angreifende versucht nun die Session-ID zu stehlen, damit er diese bei seinem eigenen Client hinterlegen und somit Serveranfragen mit der Identität des Opfers durchzuführen. Um die Session-ID zu erhalten gibt es mehrere Möglichkeiten. Die häufigsten sind, das Wiederverwenden von alten Session-ID’s durch den Server durch falsche Session-Timeouts, die Übergabe der Session-ID über den Webpfad (die URL) und die damit verbundene irrtümliche Weitergabe der ID durch den Anwender, sowie das Abhören einer der Session-ID einer unverschlüsselten Verbindung.
Um diese Art von Angriffen zu verhindern, sollte ein professionelles Login- und Session-Management implementiert werden. Von Eigenentwicklungen ist hierbei abzuraten, da dadurch oft Fehler entstehen können, die wiederum ein Ausnutzen durch potenzielle Angreifer vereinfachen. Auch sollte besonderer Wert auf die Verhinderung von Cross Site Scripting Attacken (siehe Kapitel "Cross-Site Scripting (XSS)") und der Verschlüsselung der Datenverbindungen (z.B.: durch Verwendung von HTTPS) gelegt werden.
Zur Einhaltung der Anforderungen an Authentifizierung und Session-Management wurde der der OWASP Application Security Verification Standard [Ow15b] entwickelt, dessen Einhaltung ebenfalls empfohlen werden kann.
Cross-Site Scripting (XSS)
Beim Cross Site Scripting wird die Ausgabe eines, vorher an die Website übergebenen, Wertes ausgenutzt. Wird der Wert direkt in den Webseitencode eingefügt, kann dadurch Schadcode eingeschleust werden, der im Clientbrowser ausgeführt wird.
Ein Beispiel hierfür sind Internet-Foren und Login-Formulare ohne Absicherung. Bei einem Forenbeitrag mit entsprechend eingefügtem Schadcode kann eine Ausführung bei jedem einzelnen User erfolgen, der sich den Forenbeitrag ansieht. Im Beispiel des Login Formulars könnte eine Login-Eingabe der Benutzerdaten abgefangen und an einen Server des Angreifers übermittelt werden. Leitet der Schadcode die Anfrage danach wieder korrekt an die Login-Funktion der Webseite weiter, bemerkt der Anwender den Angriff nicht, der Angreifer hat hingegen erfolgreich seine Logindaten erhalten.
Eine weitere Angriffsmöglichkeit ist die Übernahme der Session-ID des Anwenders, indem ein Schadcode eingeschleust wird, der die aktuelle Session-ID an den Webserver des Angreifers übermittelt.
Um Cross Site Scripting zu verhindern, müssen die übergebenen Werte der Website, ähnlich der Vorbeugung von Injektion Angriffen, überprüft werden. Zusätzlich müssen alle nicht vertrauenswürdigen Zeichen der Ausgabewerte vor dem Einfügen in den HTML Code durch ihre entsprechenden Metazeichen ersetzt werden. Für diesen Zweck gibt es in den meisten Skriptsprachen entsprechende Funktionen, welche valide und ungefährliche Ausgabedaten generieren.
Die Mozilla Foundation hat eine Content Security Policy [Mo15] veröffentlicht, mit deren Einhaltung möglichen Cross Site Scripting Attacken sicher vorgebeugt werden kann.
Wiederholungsaufgaben/Übungen
1 Nennen Sie fünf Sicherheitsprotokolle der transportorientierten Netzwerk-Schichten und der fünf Sicherheitsprotokolle der Anwendungsorientierten Netzwerk-Schichten.
2 Was sind Firewalls? Welche Kategorien von Firewalls gibt es?
3 Was ist der Unterschied zwischen einer Packet-Filter Firewall und einer Stateful Firewall?
4 Was sind Application-Level Firewalls?
5 Was bedeutet VPN und was ist seine Aufgabe? Nennen Sie fünf VPN Protokolle.
6 Was sind die OWASP Top 10? Nennen Sie die ersten drei Plätze.
7 Worauf ist bei der Speicherung von Daten in der Cloud besonders zu achten?
8 Was bedeutet DoS und was ist ein DoS Angriff?
9 Was ist der Unterschied zwischen Sniffing und einem Man-in-the-Middle Angriff?
10 Was ist ein Injection-Angriff?
11 Was ist Broken Authentication and Session Management?
12 Was ist Cross-Site-Scripting?
[AF20] |
Austria-Forum: Österreichisches Wörterbuch. TU Graz. https://austria-forum.org/af/AustriaWiki/Österreichisches_Wörterbuch, zuletzt geprüft am 22.Dezember.2020. |
[Ar09] |
Armbrust M.; Fox A.; Griffith R. et al. (2009): Above the Clouds: A Berkeley View of Cloud Computing, Technical Report No. UCB/EECS-2009-28. Berkeley: Electrical Engineering and Computer Sciences University of California at Berkeley. |
[Ba11] |
Baun C.; Kunze M.; Nimis J. et al. (2011): Cloud Computing, Web-basierte dynamische IT-Services. Berlin Heidelberg: Springer Verlag. |
[Bg17] |
(2017): Bundesgesetz, mit dem das Datenschutzgesetz 2000 geändert wird (DatenschutzAnpassungsgesetz). BGBl. I Nr. 120/2017, idgF. |
[Bg19] |
(2019): Bundesgesetz zum Schutz natürlicher Personen bei der Verarbeitung personenbezogener Daten (Datenschutzgesetz – DSG). BGBl. I Nr. 14/2019, idgF. |
[Br14] |
Brauckmann J. (2014): Zukunft der Web-PKI? DuD, Datenschutz und Datensicherheit, 7, 452-457. |
[Bu08a] |
Bundesamt für Sicherheit in der Informationstechnik, Deutschland (2008): BSI-Standard 100-1, Managementsysteme für Informationssicherheit (ISMS). Bonn: Bundesamt für Sicherheit in der Informationstechnik (BSI). |
[Bu08b] |
Bundesamt für Sicherheit in der Informationstechnik, Deutschland (2008): BSI-Standard 100-2, IT-Grundschutz-Vorgehensweise. Bonn: Bundesamt für Sicherheit in der Informationstechnik (BSI). |
[Bu08c] |
Bundesamt für Sicherheit in der Informationstechnik, Deutschland (2008): BSI-Standard 100-3, Risikoanalyse von IT-Grundschutz. Bonn: Bundesamt für Sicherheit in der Informationstechnik (BSI). |
[Bu08d] |
Bundesamt für Sicherheit in der Informationstechnik, Deutschland (2008): BSI-Standard 100-4, Notfallmanagement. Bonn: Bundesamt für Sicherheit in der Informationstechnik (BSI). |
[Bu13] |
Bundesamt für Sicherheit in der Informationstechnik, Deutschland: IT-Grundschutz-Standards. https://www.bsi.bund.de/DE/Themen/ITGrundschutz/ITGrundschutzStandards/ITGrundschutzStandards_node.html, zuletzt geprüft am 10.12.2013. |
[Bu15] |
Bundesamt für Sicherheit in der Informationstechnik, Deutschland: IT-Grundschutz-Standards. https://www.bsi.bund.de/DE/Themen/ITGrundschutz/ITGrundschutzStandards/ITGrundschutzStandards_node.html, zuletzt geprüft am 6.März.2015. |
[Ca15] |
Carnegie Mellon University: Perspectives Project. https://www.cylab.cmu.edu/partners/success-stories/perspectives.html, zuletzt geprüft am 25.März.2015. |
[Ca58] |
Gaius Iulius Caesar (deutsch: Gaius Julius Cäsar) (58 bis 51/50 v. Chr.): Commentarii de bello Gallico. |
[Ch15] |
Hackerethik. http://www.ccc.de/de/hackerethik, zuletzt geprüft am 6.März.2015. |
[Ec09] |
Eckert C. (2009): IT-Sicherheit, Konzepte - Verfahren - Protokolle. 6. Aufl. München: Oldenbourg Wissenschaftsverlag. |
[EPS14] |
Evans C.; Palmer C. und Sleevi R. (2014): Public Key Pinning Extension for HTTP. https://datatracker.ietf.org/doc/draft-ietf-websec-key-pinning/, zuletzt geprüft am 26.März.2015. |
[Eu00a] |
Europäische Union (2000): Entscheidung der Kommission vom 26. Juli 2000 gemäß der Richtlinie 95/46/EG des Europäischen Parlaments und des Rates. http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2000:215:0007:0047:DE:PDF, zuletzt geprüft am 18.April.2014. |
[Eu00b] |
Europäische Union (2000): EUR-Lex - 32000D0520 - DE, Amtsblatt Nr. L 215 vom 25/08/2000 S. 0007 - 0047. http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32000D0520:de:HTML, zuletzt geprüft am 17.April.2014. |
[Eu15] |
Europäischer Gerichtshof (Große Kammer) (2015): InfoCuria - Rechtsprechung des Gerichtshofs. http://curia.europa.eu/, |
[Eu16] |
Europäische Kommission (2016): Durchführungsbeschluss (EU) 2016/1250 der Kommission vom 12. Juli 2016 gemäß der Richtlinie 95/46/EG des Europäischen Parlaments und des Rates über die Angemessenheit des vom EU-US-Datenschutzschild gebotenen Schutzes (Bekannt gegeben unter Aktenzeichen C. http://data.europa.eu/eli/dec_impl/2016/1250/oj, |
[Eu17] |
Europäische Union (2017): VERORDNUNG (EU) 2016/679 DES EUROPÄISCHEN PARLAMENTS UND DES RATES vom 27. April 2016 zum Schutz natürlicher Personen bei der Verarbeitung personenbezogener Daten, zum freien Datenverkehr und zur Aufhebung der Richtlinie 95/46/EG (Datenschutz-Grundverordn. http://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32016R0679&from=DE, zuletzt geprüft am 18.Jänner.2018. |
[Fo13] |
Fox D. (2013): Social Engineering. Datenschutz und Datensicherheit - DuD, Volume 37, Issue 5, 318. |
[Fr07] |
Free Software Foundation (2007): GNU General Public License. https://www.gnu.org/copyleft/gpl.html, zuletzt geprüft am 25.März.2015. |
[Fr13] |
Franta H. (2013): Beschreibung zur Herangehensweise, sowie der Schwerpunkte und Risiken, zur Einführung eines ISMS in einem KMU. Wien: Fachhochschule Technikum Wien. |
[Ga17] |
Garcia M. (2017): Easy Ways to Build a Better P@$$w0rd. NIST: National Institute of Standards and Technology. https://www.nist.gov/blogs/taking-measure/easy-ways-build-better-pw0rd, zuletzt geprüft am 08.Jänner.2018. |
[Gn15] |
GnuPG Project: The GNU Privacy Guard. https://www.gnupg.org/, zuletzt geprüft am 26.März.2015. |
[Ha12] |
Harich T.W. (2012): IT-Sicherheitsmanagement, 1. Auflage. Heidelberg, München, Landsberg, Frechen, Hamburg: mitp, eine Marke der Verlagsgruppe Hüthig Jehle Rehm Gmbh. |
[Ha13] |
Harris S. (2013): CISSP All-in-One Exam Guide. 6. Aufl. McGraw-Hill Companies. |
[He09] |
Helisch M. (2009): Security Awareness. Wiesbaden: Vieweg + Teubner. |
[HVS12] |
Hoffman P.; VPN-Consortium und Schlyter J. (2012): The DNS-Based Authentication of Named Entities (DANE), Transport Layer Security (TLS) Protocol: TLSA. https://tools.ietf.org/html/rfc6698, zuletzt geprüft am 26.März.2015. |
[II08] |
ISO/IEC (2008): Informationstechnologie - Sicherheitstechnik, Informationssicherheits-Managementsysteme - Anforderungen (ISO/IEC 27001:2005). Wien: ON Österreichischen Normungsinstitut. |
[In15a] |
International Information System Security Certification Consortium: (ISC)² Code Of Ethics. https://www.isc2.org/ethics, zuletzt geprüft am 03.03.2015. |
[In15b] |
Intevation GmbH: Gpg4win - Secure email and file encryption with GnuPG for Windows. http://www.gpg4win.org/, zuletzt geprüft am 26.März.2015. |
[Is14] |
ISO/IEC (2014): Information technology - Security techniques - Information security management systems - Overview and vocabulary (ISO/IEC 27000). Schweiz: ISO/IEC. |
[ISO08] |
ISO/IEC (2008): Informationstechnologie - Sicherheitstechnik, Informationssicherheits-Managementsysteme - Anforderungen (ISO/IEC 27001:2005). Wien: ON Österreichischen Normungsinstitut. |
[Kl11] |
Springer Fachmedien Wiesbaden GmbH 2011. |
[KRS08] |
Kerstenn H. und Reuter J.S.K.-W. (2013): IT-Sicherheitsmanagement nach ISO 27001 und Grundschutz, 4. Auflage. Wiesbaden: Springer Fachmedien. |
[KVB13] |
Kavitha M.G.; Vinay Kumar N.A. und Balasubrhamanya (2013): Secure Cloud Storage with Multi Cloud Architecture. International Journal of Innovative Technology and Exploring Engineering, Vol 3, Iss 1, Pp 45-49. |
[Le84] |
Levy S. (1984): Hackers: Heroes of the Computer Revolution. New York: Nerraw Manijaime/Doubleday. |
[LLK13] |
Laurie B.; Langley A. und Kasper E. (2013): Certificate Transparency. http://tools.ietf.org/html/rfc6962, zuletzt geprüft am 26.März.2015. |
[Ma88] |
Massachusetts Institute of Technology (1988): The Original Hacker's Dictionary (The Jargon File). http://www.dourish.com/goodies/jargon.html, zuletzt geprüft am 3.März.2015. |
[Mi15] |
Microsoft: The browser people can trust, Microsoft SmartScreen. https://technet.microsoft.com/en-us/library/gg619383.aspx, zuletzt geprüft am 26.März.2015. |
[Mo15] |
Mozilla Developer Network: Introducing Content Security Policy. https://developer.mozilla.org/en-US/docs/Web/Security/CSP/Introducing_Content_Security_Policy, zuletzt geprüft am 27.März.2015. |
[MP14] |
Messina C. und Parecki A.: OAuth Community Site. http://oauth.net/, zuletzt geprüft am 18.April.2014. |
[Mu11] |
Mulazzani M.; Schrittwieser S.; Leithner M. et al. (2011): Cloud Speicherdienste als Angriffsvektoren. Wien: 9th Information Security Konferenz in Krems. |
[Na09] |
National Security Agency (2009): Security-Enhanced Linux. https://www.nsa.gov/research/selinux/, zuletzt geprüft am 25.März.2015. |
[Ne99] |
RFC Network Working Group (1999): Internet X.509 Public Key Infrastructure. http://tools.ietf.org/html/rfc2459, zuletzt geprüft am 25.März.2015. |
[Ni13] |
nic.at GmbH, computer emerGency response team austria (2013): Bericht internet-Sicherheit Österreich 2013. Wien: nic.at GmbH, computer emerGency response team austria. |
[Ow15a] |
OWASP Foundation: OWASP Top Ten Project. https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project, zuletzt geprüft am 27.März.2015. |
[Ow15b] |
OWASP Foundation: OWASP Application Security Verification Standard Project. https://www.owasp.org/index.php/ASVS, zuletzt geprüft am 27.März.2015. |
[Pe15] |
Petri T. (2015): Die Safe-Harbor-Entscheidung. DuD, Datenschutz und Datensicherheit, 12, 801-805. |
[Sc07] |
Schimmer K. (2007): Sicherheit beginnt im Kopf. Datenschutz und Datensicherheit - DuD , Volume 31, Issue 7, 510-514. |
[Sc15] |
Schrittwieser S.; Mulazzani M.; Weippl E. et al.: Ethik in der Sicherheitsforschung. https://www.sba-research.org/wp-content/uploads/publications/DACH-Camera%20Ready.pdf, zuletzt geprüft am 6.März.2015. |
[SMR00] |
Schumacher M.; Moschgath M.-L. und Roedig U. (2000): Angewandte Informationssicherheit, Ein Hacker-Praktikum an Universitäten. Informatik-Spektrum, Volume 23, Issue 3. S. 202-211. |
[Sy15] |
Symantec Corporation: Encryption Family Powered by PGP Technology. http://www.pgp.com, zuletzt geprüft am 26.März.2015. |
[Tr15] |
Trustwave Holdings: ModSecurity: Open Source Web Application Firewall. https://www.modsecurity.org/, zuletzt geprüft am 27.März.2015. |
[Us14] |
US Handelsministrium: Safe Harbor - List. http://safeharbor.export.gov/list.aspx, zuletzt geprüft am 18.April.2014. |
[Wa14] |
Walker M. (2014): CEH Certified Ethical Hacker All-in-One Exam Guide, Second Edition. United States of America: McGraw-Hill. |
[We08] |
Weßelmann B. (2008): Maßnahmen gegen Social Engineering. Datenschutz und Datensicherheit - DuD, Volume 32, Issue 9, 601-604. |
[WK20] |
WKO (2020): EuGH: EU-US-Privacy Shield ungültig. https://www.wko.at/service/wirtschaftsrecht-gewerberecht/EU-US-Privacy-Shield.html, zuletzt geprüft am 22.12.2020. |
[Ze13] |
Zentrum für sichere Informationstechnologie - Austria (2013): Österreichisches Informationssicherheitshandbuch, Version 3.1.5. Wien: Bundeskanzleramt Österreich, www.sicherheitshandbuch.gv.at. |
[Zen13] |
Zentrum für sichere Informationstechnologie - Austria (2013): Österreichisches Informationssicherheitshandbuch, Version 3.1.5. Wien: Bundeskanzleramt Österreich, www.sicherheitshandbuch.gv.at. |
- ↑ Der genaue Ursprung der „CIA-Triade“ ist nicht genau feststellbar. Die zugrundeliegenden Konzepte waren bereits vor Jahrtausenden im militärischen Kontext bekannt. Sie befinden sich beispielsweise in den Werken „Commentarii de bello Gallico“ [Ca58] des römischen Feldherren Gaius Julius Cäsar.
- ↑ Hygiene - Wikipedia. http://de.wikipedia.org/wiki/Hygiene, zuletzt geprüft am 23.02.2015.