Sicherheit von E-Business

Aus Winfwiki

Wechseln zu: Navigation, Suche

vor dem Hintergrund aktueller IT-Trends


Seminararbeit

Hochschule: Hochschule für Oekonomie & Management
Standort: Berlin
Studiengang: Bachelor Wirtschaftsinformatik
Veranstaltung: E-Business und Mobile Computing
Betreuer: Dr. Michael Klafftwarning.png„Dr. Michael Klafft“ gehört nicht zu den möglichen Werten dieses Attributs (Dipl-Inf._(FH)_Jörg_Muschiol, Dr._Vladimir_Stantchev, Prof._Dr._Ralf_Hötling, Prof._Dr._Uwe_Kern, Dipl-Inf._(FH)_Christian_Schäfer, Prof._Dr._Gregor_Sandhaus).
Typ: Seminararbeit
Themengebiet: IT-Infrastruktur, E-Business, IT-Security, Angriffsvektoren, E-Commerce
Autor(en): Markus Hemp (224724), Daniel Lübke (235505)
Studienzeitmodell: Abendstudium
Semesterbezeichnung: WS11/12
Studiensemester: 5
Bearbeitungsstatus: in Arbeit
Prüfungstermin: 03.12.2011
Abgabetermin: 12.02.2012

1 Inhaltsverzeichnis

Inhaltsverzeichnis

2 Abkürzungsverzeichnis

AbkürzungBedeutung
ACLAccess Control List
AESAdvanced Encryption Standard
AppApplication, insbesondere auf mobilen Endgeräten
BSIBundesamt für Sicherheit in der Informationstechnik
CBCCipher Block Chaining
CPUCentral Processing Unit
CSRFCross Site Request Forgery
CSMA/CDCarrier Sense Multiple Access/Collision Detection
DESData Encryption Standard
DHCPDynamic Host Configuration Protocol
(D)DoS(Distributed) Denial of Service
DMZDemilitarisierte Zone
DNSDomain Name Service)
DNSSECDNS Security Extension
EDVElektronische Datenverarbeitung
ERPEnterprise Resource Planning
GAUGrößter anzunehmender Unfall
HTMLHypertext Markup Language
ICMPInternet Control Message Protocol
IDSIntrusion Detection System
IEEEInstitute of Electrical and Electronics Engineers
IPInternet Protocol
IPSIntrusion Prevention System
ISOInternational Organization for Standardization
ITInformationstechnologie
KMUkleine und mittelständische Unternehmen
MACMedia Access Control
NACNetwork Admission Control
NISTNational Institute for Standards and Technology
OSIOpen Systems Interconnection (Referenzmodell)
OSPFOpen Shortest Path First
RAIDRedundant Array of Independent Disks
RFIDRadio Frequency Identification
RIPRouting Information Protocol
SaaSSoftware as a Service
SLAService-Level-Agreement
SMTPSimple Mail Transfer Protocol
SQLStructured Query Language
SSHSecure Shell
SSLSecure Socket Layer
TCPTransmission Control Protocol
TLSTransport Layer Security
UDPUser Datagram Protocol
URLUniform Resource Locator
VLANVirtual Local Area Network
VMVirtuelle Maschine
WEPWired Equivalent Privacy
WLANWireless Local Area Network
WPAWiFi Protected Access
XMLExtensible Markup Language
XSSCross Site Scripting

3 Einleitung

3.1 Motivation

Der Mobilfunkmarkt wird zunehmend von internetfähigen Geräten (sogenannten Smartphones) durchsetzt [1], die auf Onlinedienste wie Verkaufsportale, soziale Netzwerke und viele andere internetbasierende Unternehmenspräsenzen zugreifen können. In den vergangenen zwei Jahren konnte der Marktanteil der Smartphones sukzessive auf mittlerweile fast ein Viertel (Stand 01/2011[2]) aller Mobilfunkgeräte ausgebaut werden. Mobilfunkbetreiber reagieren auf diesen Trend und bauen ihre Netzwerke weiter aus, um für die Zukunft gewappnet zu sein und sowohl der steigenden Nachfrage als auch immer größerer zu übertragender Datenmengen gerecht zu werden [3]. Die Nutzung solcher mobiler Dienste wird daher in Zukunft noch interessanter für den Endverbraucher und auch der Trend, mobile Anwendungen (sogenannte Apps) auf einer Vielzahl von Smartphone-Plattformen zu vertreiben, steigt stetig.

Diese Internetplattformen und Onlinedienste werden somit als Distributionswerkzeuge für ein Unternehmen immer wichtiger und erhalten strategische Bedeutung. Zahlreiche Unternehmen bieten ihren Kunden die Möglichkeit, sich untereinander zu vernetzen, Werbe-Apps zu installieren und mit sozialen Netzwerken zu verknüpfen. Auch Online-Märkte wie Amazon veröffentlichen Apps, die den Kunden das mobile Kaufverhalten von praktisch überall erleichtern sollen. Dabei entwickeln sich durch mobile Bezahlverfahren und -abwicklung vor dem Hintergrund der IT-Sicherheit Risiken, die schnell über die Gefahr des Informationsverlustes hinausgehen und direkt mit Finanztransaktionen korrelieren.

Auch im Business to Business (im Folgenden B2B)-Bereich öffnen Unternehmen ihre geschäftlichen IT-Systeme dem Internet, um Geschäftsfälle automatisiert, beschleunigt und kosteneffizient abzuwickeln. Die Implementierung kann oft durch ein hohes Maß an Standardisierung zügig erfolgen, die Gewährleistung der Plattformsicherheit wird dabei jedoch häufig vernachlässigt, wie aktuelle Vorkommnisse zeigen [4]. Gerade der enorme Kostendruck führt dabei zu Qualitätseinbußen, die entsprechend der Relevanz der verarbeiteten Daten ein großes Unternehmensrisiko darstellen können.

E-Business etabliert sich immer mehr zu einem Stützpfeiler erfolgreicher Geschäftsmodelle. Vor dem Hintergrund aktueller Datenskandale und der Tatsache, dass Internetkriminalität organisierter, spezifischer und lukrativer wird[5], erhöht sich die Wahrscheinlichkeit eines Angriffes für ein Unternehmen, das E-Business Plattformen betreibt. Eine schnelle Adaption von IT-Trends birgt sicherlich einen Wettbewerbsvorteil, doch eröffnet es Kriminellen ebenso neue Wege, Angriffsvektoren zu entwickeln.

3.2 Ziel

Das Ziel dieser Arbeit ist die Darstellung potenzieller Angriffsvektoren auf Onlinedienste und Internetplattformen sowie der involvierten Komponenten (mobile Browser, Apps, Schnittstellen etc.). Es sollen mögliche Lösungen erarbeitet und Maßnahmen aufgezeigt werden, die Risiken zu minimieren und die Sicherheit der Plattform, Endgeräte, Unternehmens- und Benutzerdaten sowie des Organisationsnetzwerks zu maximieren. Diese Angriffsvektoren (Zur Definition siehe Kapitel 4.5) sollen sich dabei ganz bewusst nicht nur auf die Infrastruktur und Online-Plattformen des Unternehmens beschränken, sondern vielmehr auch Angriffsvektoren auf den Kunden und sein mobiles Endgerät abdecken.

Die erarbeiteten Maßnahmen sollen dazu dienen, Angriffen vorzubeugen bzw. sie abzuwehren oder unschädlich zu machen. Ferner beschränken sich diese Handlungsweisen nicht ausschließlich auf die technische Infrastruktur, sondern auch auf den Faktor Mensch, der in der immer komplexer werdenden IT-Welt eine riskante Rolle einnimmt.

3.3 Methoden und Vorgehensweise

Als Methodik der Literaturbeschaffung wird insbesondere die Methode der konzentrischen Kreise angewendet. Nach systematischer Recherche, vor allem in aktuellen Publikationen wie Medien und Fachzeitschriften, wird die Verwendbarkeit der angegebenen Sekundärliteratur hinsichtlich der vorliegenden Problemstellung geprüft, um die akademische Basis sicherzustellen. Auf diese Weise werden wissenschaftlich anerkannte Bücher identifiziert.

Teamarbeit wird durch die gemeinsame Erarbeitung des Textes in einem privaten Wiki erreicht. Zielstellung ist es, diese Arbeit im WinfWiki, dem offenen Wiki der FOM, zu veröffentlichen. Zur Planung des Verlaufs der Semesterarbeit wurden frühzeitig Methoden des Projektmanagements angewandt, um Zeitpläne und Meilensteine zu erarbeiten sowie Arbeitspakete zu definieren und zuzuteilen.

3.4 Abgrenzung

Die in dieser Arbeit beschriebenen Risiken und Maßnahmen erheben keinen Anspruch auf Vollständigkeit. Sie dienen lediglich der Darstellung aller grundsätzlich zu berücksichtigenden Aspekte einer ganzheitlichen unternehmerischen IT-Sicherheit und der Sicherheit von E-Business-Systemen im Speziellen. Besonderen Fokus setzt diese Arbeit auf sämtliche in der Bereitstellung von E-Business-Diensten involvierte Komponenten, Plattformen und Anwendungen. Die hier beschriebenen Infrastrukturkomponenten sind notwendige Voraussetzung für die Erbringung von E-Business-Diensten und erfahren aus diesem Grund Würdigung in der vorliegenden Arbeit.

4 Grundlagen

4.1 Was ist E-Business?

E-Business dient nach Gabler der Unterstützung von Geschäftsprozessen, um elektronische Mehrwerte zu generieren.[6] Die zentralen Komponenten Information, Kommunikation und Transaktion werden im Kontext von E-Business über digitale Netze abgewickelt oder transferiert. Dabei werden in erster Linie Geschäftstransaktionen, die den Austausch von Gütern, Dienstleistungen oder Informationen im Fokus haben, zwischen zwei Akteuren, die in einer Geschäftsbeziehung stehen, betrachtet. [7]

Ein Unterbereich des E-Business ist der E-Commerce (Electronic Commerce), zu welchem auch der Mobile Commerce hinzuzählt.

4.2 Was ist Mobile Commerce?

Electronic Commerce beschreibt sowohl alle Markttransaktionen im Internet (sei es stationär oder mobil) als auch auf anderer elektronischer Basis (über Mobilfunk oder sonstiger Basis, beispielsweise EDI). Mobile Commerce im engeren Sinne behandelt ausschließlich Markttransaktionen, die über mobile Wege erfolgen. Diese können über das Internet oder andere mobile Verfahren (Bsp. Funk) geschehen.[8] Mobile Commerce kann für mobilen Handel, Such- und Informationsdienste, Portale, Telemetrie (Fernmessung - die Übertragung entfernter Messdaten und -protokolle) oder Telematik-Dienste (Datenaustausch zweier entfernter informationstechnischer Einrichtungen) eingesetzt werden.

Dabei nehmen Location Based Services eine wichtige Rolle bei der Erbringung von Mobile Commerce-Diensten ein. Diese behandeln alle Formen mobiler Ortungsverfahren zur Erbringung oder Aufwertung des mobilen Dienstes. Ein Ortungsverfahren ist beispielsweise die signalstärkebasierte Triangulierung, bei der ein mobiles Gerät durch die Signalstärken zu drei Sendeeinheiten geortet wird. Die gewonnene Standortinformation wertet den mobilen Dienst um zusätzliche Dienste auf oder ermöglicht erst die Erbringung eines spezifischen mobilen Dienstes. Die folgende Liste soll einige Beispiele aufzählen:

  • Ortung von Waren und Gütern zur Unterstützung des Supply Chain Managements
  • Standortabhängige Suchdienste
  • Empfehlung standortabhängiger Kaufangebote
  • Aufwertung sozialer Netze um Standortinformationen

4.3 Arten von Bedrohungen

Grundsätzlich sind verschiedene Arten von Bedrohungen zu unterscheiden. Diesen ist selbstverständlich auch durch verschiedene Maßnahmen zu begegnen.

Die am schwierigsten zu behandelnde Bedrohung ist sicher höhere Gewalt.[9] Beispiele Dies schließt in erster Linie Katastrophen und Naturkatastrophen wie Feuer, Blitzschlag, Wassereinbruch und Erdbeben ein. Aber auch der Ausbruch einer schweren Epidemie fällt in den Bereich der höheren Gewalt. Diese Bedrohung ist nur schwer zu kontrollieren und kann lediglich durch Redundanzen auf technischer und menschlicher Ebene begegnet werden.

Eine weitere Bedrohungsart ist technisches Versagen. Dies impliziert in erster Linie Schäden an eingesetzten Maschinen und Einrichtungen. Dabei sind Schäden wie Systemabstürze oder das Einstürzen von Gebäuden als mögliche Bedrohungen zu nennen. Dabei ist zu berücksichtigen, dass nicht nur einzelne Maschinen technisch versagen können, sondern auch ganze Systeme und Infrastrukturen.

Eine dritte Bedrohungsart sind organisatorische Mängel. Diese umfassen in der Regel unklar definierte Aufgabengebiete und Kompetenzen. Durch eine doppelte Zuweisung von Aufgaben oder Kompetenzen können die Akteure in Streitigkeiten hinsichtlich ihrer Befugnisse geraten. Dies führt unter Umständen dazu, dass die Leistung der involvierten Personen sinkt. Auf der anderen Seite kann eine fehlende Zuweisung von Aufgaben dazu führen, dass diese nicht ausgeführt werden, was verschiedene Folgen haben kann. Aber auch fehlende oder mangelhafte Konzepte sowie Strategien für entsprechende Situationen können eine Bedrohung für einzelne Bereiche eines Systems oder gar des ganzen Systems bedeuten.

Menschliche Fehlleistungen müssen in diesem Zusammenhang ebenfalls als ernstzunehmende Bedrohung angesehen werden. Der humoristisch anmutende Satz „Die größte Sicherheitslücke ist zwischen Monitor und Stuhllehne zu finden“ zeigt deutlich auf, welche elementare Verantwortung die handelnde Person hinsichtlich der Sicherheit des Gesamtsystems hat. Die meisten technischen und organisatorischen Sicherheitsmaßnahmen können durch menschliches Versagen ausgehebelt werden. Das Verhalten der involvierten Personen ist nur schwer zu beeinflussen und kann lediglich durch eine hohe Anzahl an technischen Vorkehrungen weitestgehend eingeschränkt und kontrolliert werden. Eine ausgewogene Mischung aus Verantwortung und technischen sowie organisatorischen Maßnahmen zur Vermeidung von Bedrohungen ist die Königsdisziplin bei der Herstellung von Informationssicherheit.

Die wohl bekannteste Bedrohung sind aber wohl die vorsätzlichen Handlungen.[10] Dies umfasst sowohl Systemangriffe von außen durch Hacker oder Schadsoftware, als auch vorsätzlich schadhaftes Verhalten von Personen innerhalb des Netzwerkes. Statistiken zeigen, dass eine Vielzahl der Systeman- und-zugriffe von autorisierten Personen innerhalb des Informationsverbundes geschehen. Häufig sind es unzufriedene oder ausscheidende Mitarbeiter, die Daten bewusst vernichten wollen, um Schaden anzurichten, oder Informationen für ihren neuen Arbeitgeber abzugreifen, damit sie ihren Stellenwert für diesen von Anfang an erhöhen.

Es ist offensichtlich, dass diesen fünf verschiedenen Bedrohungsarten nicht mit einem Allheilmittel begegnet werden kann. Für jede dieser Bedrohungen sind unterschiedliche Maßnahmen notwendig, um die Risiken zu minimieren und entsprechend managen zu können. Dafür ist eine entsprechende Sensibilisierung der verantwortlichen Akteure notwendig, um alle möglichen Szenarien zu bedenken und entsprechende Maßnahmenkataloge zu erstellen. Das Ignorieren einzelner Bedrohungen nach dem Motto „Das kann uns nicht passieren“ kann die Gesamtbedrohungslage für das Informationssystem und die dazugehörige Organisation erheblich negativ beeinträchtigen.

4.4 Was ist Schadsoftware?

4.4.1 Klassische Schadsoftware

Schadsoftware, auch Schadprogramme oder Malware, sind klassischerweise Computerprogramme, die einen schadhaften oder von dem Benutzer nicht gewollten Code ausführen. Schadsoftware tarnt sich in der Regel, um vom Benutzer nicht als solche wahrgenommen zu werden. Es wird eine Vielzahl von Schadprogrammen unterschieden wie etwa: [11]

  • Computerviren (Programme, die sich selbst auf dem befallenen System vervielfältigen)
  • Würmer (Programme, die sich über Computernetze verbreiten und auf anderen Rechnern vervielfältigen)
  • Backdoors (Programme, die für Dritte einen unberechtigten Zugang auf das angegriffene System installieren)
  • Spyware (Programme, die Informationen über den Benutzer sammeln und an Dritte verteilen)
  • Trojanische Pferde (Programme, die einen vermeintlichen Nutzen für den Benutzer darstellen, in bestimmten Programmteilen jedoch schadhaften Code in sich tragen. Die Verbreitung erfolgt durch die Installation durch den User)
  • Scareware (Programme, die keinen echten Schaden anrichten, sondern den Nutzer zu bestimmten Aktionen bewegen sollen)

Heutzutage ist diese klassische Unterteilung der Schadsoftware nach Kategorien kaum noch möglich. Zu Beginn der Malware-Ära waren die Schadprogramme gut kategorisier- und einordenbar. Computerviren waren üblicherweise nicht in der Lage, sich selbständig weiterzuverbreiten; sie hatten als Aufgabe, Dateien zu manipulieren oder zu löschen. Dabei gingen sie nur selten unauffällig vor. Computerwürmer hingegen hatten oftmals als Primärziel, sich unauffällig maximal auszubreiten - effektiv Schaden richteten sie nur selten an. Aktuelle Schadsoftware hingegen vereint alle oder viele der ursprünglich identifizierten Schadprogrammarten. Auf Grund der inzwischen recht kurzen Reaktionszeiten der Hersteller von Antiviren-Lösungen[12][13] verwenden die Programmierer von aktueller Schadsoftware die Vorteile der verschiedenen Schadsoftware-Kategorien: das schadhafte Verhalten von Viren (heutzutage eher selten anzutreffen), die automatische Verbreitung der Würmer, das Einrichten von Backdoors für das nachträgliche Empfangen von Steuerungsbefehlen, um die infizierten Rechner ausspionieren zu können (Spyware). Häufig wird diese Schadsoftware in Form eines trojanischen Pferdes auf dem Zielrechner installiert: Ein scheinbar harmloses Programm enthält unter anderem die Schadsoftware, die bei der Installation auf dem Rechner eingerichtet und aktiviert wird.

4.4.2 Trend der Schadsoftware und aktuelle Situation

Der aktuelle Trend schadhafter Software entwickelt sich in zwei Dimensionen: Sie wird universeller hinsichtlich Distribution und Einsatzgebiet, aber spezieller in ihrer Wirkungsweise.

Es existiert keine klassische Trennung mehr wie oben aufgezählt. Schadsoftware verbreitet sich über das Internet, über Web-Anwendungen, soziale Netze[14], nutzt vielfältige Transportwege und ist in der Lage, während der Laufzeit die Struktur zu verändern, um noch schwieriger identifiziert zu werden. Gleichzeitig wird es einfacher, auch für unerfahrene Nutzer, sich Schadcode oder Baukästen für Schadsoftware, die als Sicherheits-Werkzeuge bezeichnet werden, zu besorgen. Durch seine Informationsgestalt verbreitet sich schadhafte Software heutzutage in der vernetzten Welt schnell; über das Internet ist praktisch jedes Computernetzwerk erreichbar.

Entwickler von Schadsoftware werden von organisierten Verbrechernetzwerken dafür entlohnt, Schadcode zu entwickeln, der geschickt aktuelle Technologien einsetzt, um bekannte Sicherheitsbarrieren zu umgehen. Die Spanne reicht von hochspezialisierten Anwendungen[15], die ein konkretes Ziel und einen eingeschränkten Opferkreis mit maßgeschneidertem Code angreifen, bis hin zu groß angelegten verteilten Angriffen gegen eine große Nutzerzahl im Internet. Meistens werden heutzutage direkt finanzielle Absichten verfolgt wie etwa die Imageschädigung von Unternehmen, Erpressung oder die Absicht, sich direkt in die Finanztransaktionen einzubinden und selbstständig auszuführen.

Die Verbreitung von schadhafter Software erfolgt heutzutage über eine Reihe von Distributionskanälen. Die klassische Verteilung über E-Mails ist dabei nicht mehr im Fokus der Kriminellen. Vielmehr verbreitet sich Malware über vermeintliche Web-Anwendungen, bei denen der Benutzer nur auf einen Link klicken muss. Schadhafte Funktionen können so entweder direkt über Schwachstellen im Browser (insbesondere über Plug-Ins, aktive Skripte und Third-Party-Anwendungen)oder über andere angemeldete Webseiten (XSRF - Mehr zu Cross Site Request Forgery in Kapitel 5.5) verbreitet werden.[16] Schadprogramme kommunizieren auch häufig miteinander über Web-Protokolle, die in den meisten Unternehmensfirewalls zur Ermöglichung des Surfens im Internet frei geschaltet sind. Schadcode ist heutzutage imstande, sich selbst zu modifizieren, um der Erkennung durch Anti-Virus-Technologien über eine Mustererkennung auszuweichen.

Das Betriebssystem gerät aus dem Fokus der Angreifer. Klassischerweise wurden Betriebssysteme angegriffen und Schwachstellen genutzt, um Herr über das System und die gespeicherten Daten zu werden. Hersteller von Betriebssystemen arbeiten seit langer Zeit mit Hochdruck an der Sicherung ihrer Softwarekomponenten und beziehen auch die sogenannte Community, den Nutzerkreis, mit ein in Qualitäts- und Produktsicherung. Der Trend geht hin zu Angriffen gegen Anwendungen, die öffentlich verfügbar sind. Über die Präsentationsschicht der Anwendungsarchitektur (Bsp. Web-Anwendung und Browser, mobiler Client, App etc.) wird Schadcode in die Systeme eingeschleust. Gerade Browser werden heutzutage modularer in ihrer Architektur und erlauben es Drittanbietern, Erweiterungen und Plug-Ins zu installieren. Dies erhöht das Risiko des Browsers als Schwachstelle.

Auch das steigende Interesse von Privatpersonen, sich der Anwendungsentwicklung zuzuwenden, bestärkt diesen Trend. Es entstehen durch immer einfachere Entwicklungstools und mangelndes Verständnis der Entwickler potenziell Risiken, Sicherheitslöcher in Anwendungen zu verbreiten (fehlende Eingabe-Validierungsmechanismen sind nur der einfachste Fall von fehlerhafter Programmierung). Mangelndes Sicherheitsverständnis der Endanwender und gesteigerter Funktionsumfang der Anwendungen erhöhen das Sicherheitsrisiko abermals.

4.4.3 Social Engineering

Nicht zuletzt werden Unternehmen vermehrt Opfer von sogenannten Social Engineering-Attacken, in denen soziale Beeinflussungen mit dem Ziel eingesetzt werden, unbefugt an Informationen oder Zugang zu technischen Einrichtungen zu gelangen (Social Hacking).[17]

Die Spanne der Social Engineering-Angriffe ist groß. Hinzu zählen Lügen und das Vorspiel falscher Tatsachen. Oftmals werden Opfer mithilfe gezielt vorab eingeholter Auskünfte zunächst in Sicherheit gewägt, um dann Informationen in Erfahrung zu bringen. So kann ein Angreifer an Kundendaten gelangen, indem er beim Kunden anruft und mit öffentlich zugänglichen Informationen (Adresse, Geburtsdatum etc.) eine vermeintliche Legitimation vorspielt, um weitere sensible Daten wie Kreditkarteninformationen zu erfragen. Oftmals realisieren Opfer aufgrund zu geringer Sensibilisierung für Datensicherheit den Angriff und die Informationsentwendung gar nicht. Traditioneller Betrug oder Schwindelei kann somit zum Bereich des Social Engineerings gezählt werden.

Phishing zählt ebenso zu den Social Engineering-Angriffen. Beim Phishing wird das Opfer zu Handlungen aufgefordert, die ihm unter der Vorgabe einer falschen Identität vom Angreifer aufgetragen werden. Hierzu zählt beispielsweise der vermeintliche Aufruf der Bank, per E-Mail oder gefälschte Webseiten Kontodaten abzugleichen oder PIN-/ TAN-Kombinationen zu hinterlegen. Die E-Mails oder Webseiten sehen dabei den Originalen der Bank erstaunlich ähnlich und können nur durch eine gefälschte Adresse identifiziert werden. Nicht sensibilisierte oder fachfremde Benutzer erkennen diesen Unterschied nicht und geben ihre Informationen unter der Annahme preis, der Bank diese mitteilen zu müssen. In einer Variation dieses Angriffsvektors fordert die gefälschte Webseite unter dem Vorwand einer falschen Passworteingabe mehrfach dazu auf, Identifikationsinformationen einzutragen. Der Angreifer erhält so zu einem Opfer unter Umständen mehrere Passwörter, falls dieses auf den Trick hereinfällt und unterschiedliche Kombinationen ausprobiert.

Beim sogenannten Baiting (engl. Ködern)[18] handelt es sich praktisch um die physische Art des Trojanischen Pferdes. Im Unternehmen werden USB-Sticks oder CDs ausgelegt, welche das Unternehmenslogo tragen. Auf dem Medium kann sich durchaus ein für das Opfer potenziell interessanter Inhalt befinden, welcher jedoch noch einen zusätzlichen schadhaften Bereich enthält. Gelangen diese Medien in den Computer und werden ausgeführt, so verbreitet sich der Schadcode. Zur Steigerung des Interesses und Erhöhung der Ausführungswahrscheinlichkeit durch ein Opfer wird auf das Medium auch oftmals ein reizvoller Text wie "Vorstandsvergütung 2011" geschrieben.

Beim Tailgating (engl. "zu nahes Auffahren") wird ein Opfer von einem Angreifer verfolgt, bis dieser beispielsweise in einen sicherheitsrelevanten Bereich im Unternehmen eintritt. In der Regel erfolgt die Legitimation über Zutrittskarten oder RFID-Chips, um Türen zu öffnen. Beim Tailgating nutzt der Angreifer die Höflichkeit des Opfers aus, dass dieses ihm die Tür auf hält. Er erhält Zugang zu einem Bereich, welcher ihm eigentlich verschlossen bleiben sollte.

Social Engineer oder Hacker kann potenziell jeder sein. Vom Hacker ohne persönlichen Bezug zum Unternehmen, über den entlassenen Mitarbeiter bis hin zu Geschäftspartner kann jeder interessiert an Informationen oder der Verunglimpfung eines Unternehmens sein.[19] Auch finanzielle, aber keine schadhaften Absichten können Social Engineers verfolgen, etwa Sicherheits-Auditoren, die eine soziale Attacke als Penetrationstest durchführen.

4.5 Angriffsvektoren und Sicherheitslücken in Anwendungen

Die deutschsprachige Wikipedia, die freilich als wissenschaftliche Quelle ungeeignet ist, bezeichnet einen Angriffsvektor als Angriffstechnik und Angriffsart, die ein unbefugtes Kompromittieren von fremden Computersystemen durch Eindringlinge ermöglicht.[20] Ziel dieses Eindringens ist es üblicherweise, das System danach zu übernehmen und für eigene Zwecke zu missbrauchen. Ausgenutzt werden dafür meistens öffentlich bekannte (Exploits) oder noch nicht veröffentlichte Sicherheitslücken (Zero-Day-Exploits) sowie menschliches Fehlverhalten (Social Engineering).


Abbildung 1: Typischer Lebenszyklus einer Schwachstelle
Abbildung 1: Typischer Lebenszyklus einer Schwachstelle[21]
Grundsätzlich muss bei umfangreicheren Anwendungen davon ausgegangen werden, dass diese nicht frei von Sicherheitslücken sind oder sein können.[22] Auf Grund der Komplexität dieser Anwendungen gibt es immer Schwachstellen, die angegriffen werden können, um den ordnungsgemäßen Ablauf der Anwendung zu beeinflussen oder diese gar komplett zum Absturz zu bringen.

4.6 Risiko-Begriff

Man unterscheidet heutzutage zwischen dem klassischen und dem modernen Risikobegriff.[23]

Die klassische Definition sieht das Produkt aus Eintrittswahrscheinlichkeit und Schadenshöhe als quantifiziertes Risiko. Dabei muss die Eintrittswahrscheinlichkeit eines Risikos aus vielerlei Faktoren berechnet werden und hängt auch von der Art der betrachteten Komponente oder des Dienstes ab. Hinzugezählt werden können Einflussgrößen wie die Verfügbarkeit des Systems, Erfahrungswerte, qualitative Aspekte, Anzahl involvierter Systeme oder Relevanz der zu schützenden Daten und Dienste. Die Schadenshöhe ist der zu erwartende finanzielle Verlust, der durch das eingetretene Risiko entsteht.

Der moderne Risikobegriff fügt noch zwei zusätzliche Dimensionen zur Risikobeschreibung hinzu. Ein Risiko, für das eine Eintrittswahrscheinlichkeit errechnet werden muss, existiert erst dann, wenn auf eine existierende Schwachstelle eine tatsächliche Bedrohung trifft. Die Risikohöhe errechnet sich wiederum aus dem Produkt von Eintrittswahrscheinlichkeit und Schadenshöhe.

Obwohl die Risikoanalyse aufgrund der wirtschaftlichen Relevanz vor einer jeder sicherheitskritischen Betrachtung stehen muss, wird dies in der vorliegenden Arbeit nicht weiter thematisiert. Unternehmen müssen jene Risikoanalyse auf die Fälle und Umstände anwenden, die im Kontext des speziellen zu betrachtenden Risikopotenzials stehen.

5 Service-Infrastrukturen

Dienste-Infrastrukturen beschränken sich nicht mehr ausschließlich auf einen Computer, der einen beliebigen Dienst präsentiert, ausführt und alle zugehörigen Daten hält. Moderne Infrastrukturen setzen auf geschichtete oder verteilte Architekturen, um den angebotenen Dienst modular, skalierbar, performant, sicher und hochverfügbar zu gestalten.

Um ein System hinsichtlich seiner Sicherheit beurteilen zu können, muss man es zunächst in seine Architekturbestandteile zerlegen und jede involvierte Komponente einzeln betrachten sowie gegebenenfalls das Risiko kalkulieren. Im folgenden Kapitel werden daher zwei Architekturmodelle vorgestellt, um ein tieferes Verständnis der IT-Sicherheit zu erhalten. Diese Referenzarchitekturen dienen heutzutage unter anderem als theoretische Grundlage der Softwareentwicklung.

Einen besonderen Stellenwert hat aktuell die Virtualisierungsschicht. Diese wird separat behandelt und ihre Relevanz herausgestellt. Virtualisierung ist ein Wachstumsmarkt und viele Unternehmen setzen auf die Kosteneffizienz, die eine Partitionierung von Hardwareressourcen und Infrastrukturen mit sich bringt. Es darf dabei jedoch nicht vernachlässigt werden, dass ein erfolgreicher Angriff auf die Virtualisierungsschicht verheerende Folgen für alle auf ihr betriebenen Systeme haben kann.

5.1 3-Schichten-Architektur

Die dreischichtige Architektur trennt in der Softwareentwicklung klassischerweise die folgenden Schichten voneinander:[24]

  • Präsentationsschicht
  • Geschäftslogikschicht
  • Datenzugriffsschicht (Datenbanken, Dateisysteme,

Die Trennung der drei Schichten dient zum einen dazu, jede einzelne Schicht von den Aufgaben der anderen zu entlasten und die Geschwindigkeit im Ganzen zu erhöhen, aber auch um das System modular und wartungsfähig zu gestalten. Dabei müssen Schnittstellen genau spezifiziert werden, sodass das Gesamtsystem harmonisch miteinander arbeitet. Es kann jeweils nur eine Schicht mit der benachbarten kommunizieren, also niemals die Präsentations- direkt mit der Datenhaltungsschicht. Nachfolgend werden die einzelnen Schichten näher beleuchtet.

5.1.1 Präsentationsschicht

Die Präsentationsschicht dient als Schnittstelle zum Benutzer. In ihr werden die Oberflächen des Systems dargestellt, Benutzereingaben vorgenommen, Daten präsentiert und gegebenenfalls Schnittstellen zu Drittsystemen bereitgestellt. Hierzu zählen neben Web-Oberflächen, die im Browser dargestellt werden, auch Apps für Smartphones und speziellen Clients, die selbst keine verarbeitende Logik implementieren. In dieser Schicht werden jedoch die Eingabeverifikationen und -validierungen vorgenommen. Die Präsentationsschicht stellt dem Endbenutzer einen Dienst zur Verfügung (Darstellung der Anwendung) und bezieht selbst von der Geschäftslogikschicht den Dienst der Datenverarbeitung.

Die Präsentationsschicht ist den meisten Risiken von Angriffen ausgesetzt. Sie ist der "Einstieg" in die Software und meist exponiert im Internet oder Intranet. Angriffe auf die Präsentationsschicht sind alle Angriffe auf Web Applikationen (Siehe Kapitel 5.5), Angriffe gegen Clients der Benutzer und den Benutzer selbst.

5.1.2 Geschäftslogikschicht

Die Geschäftslogikschicht implementiert in der Softwarearchitektur die verarbeitenden Algorithmen, Methoden, Funktionen und sämtliche Mechanismen, die die Geschäftslogik auf die verarbeitenden Daten abbilden. Typischerweise arbeiten hier Anwendungsserver, Middleware-Systeme oder sonstige verarbeitende Systeme, die selbst keine Daten halten oder die Präsentation vornehmen. Die Geschäftslogikschicht bietet der Präsentationsschicht den Dienst der Datenverarbeitung und bezieht von der Datenzugriffsschicht den Dienst der Datenhaltung zur Speicherung und Abruf der Anwendungsdaten.

In der Regel kann die Geschäftslogik nicht direkt angegriffen werden, da Zugriffe nur über die Präsentationsschicht erfolgen dürfen. Schlechte Implementierung, etwa durch fehlende Zugriffslisten, fehlende Netzwerk-Separation oder unzureichende Trennung von der Präsentationsschicht kann die Geschäftslogik auch direkt angreifbar machen. Typischerweise erfolgt ein Angriff über die Präsentationsschicht. Beispielsweise kann eine Injection-Attacke die Geschäftslogikschicht dazu veranlassen, Daten aus der Datenhaltungsschicht auszulesen, zu manipulieren oder hineinzuschreiben. Angriffe auf die Geschäftslogik können jedoch auch Denial-of-Service-Attacken auf Netzwerk-Ebene sein, die zum Ziel haben, die Geschäftslogik auszuschalten und das System zum Erliegen zu bringen.

5.1.3 Datenzugriffsschicht

Die Datenzugriffsschicht ist verantwortlich für die tatsächliche physische Datenhaltung. Hier kommen Datenbankserver, Dateisysteme oder sonstige Speichersysteme zum Einsatz, die der Geschäftslogikschicht den Datenhaltungs- und Verwaltungsdienst zur Verfügung stellen. Ausschließlich die Geschäftslogikschicht hat Zugriff auf die Datenzugriffsschicht, wobei die Zugriffsberechtigungen auf Daten sowohl innerhalb der Geschäftslogik- als auch in der Datenzugriffsschicht implementiert sein können. Verfolgt man die Drei-Schichten-Architektur konsequent, so erfolgt die Implementierung auf Ebene der Datenzugriffsschicht.

Angriffe auf die Datenzugriffsschicht erfolgen in der Regel über die höheren Schichten durch Befehle, die durch unzureichende Validierung bis hin zur Speicherschicht vorgedrungen sind. Es können aber auch hier klassische netzwerkbasierte Angriffe, physische Angriffe oder Angriffe über Social Engineering erfolgen. Speichersysteme befinden sich teilweise in separaten Netzwerksegmenten, was einen Angriff erschwert; jedoch schafft die Kompromittierung eines Speichersystems in der Regel den Zugriff auf vielerlei Anwendungssysteme, die sich dieselben Speichersysteme teilen.

5.2 OSI Modell

Das OSI Modell dient als das typische Referenzmodell zur Darstellung und Beschreibung von Netzwerkarchitekturen, Kommunikationsprotokollen und -modellen. Seit 1979 entwickelt, wurde es 1983 durch die ISO (International Organization for Standardization) verabschiedet. Es werden sieben aufeinander aufbauende Schichten (Layer) unterschieden, die jeweils einen separat beschriebenen Dienst anbieten und über definierte Schnittstellen diesen Dienst der darüber liegenden Schicht anbieten. Die konkrete Implementierung wird nicht vorgegeben, somit entsteht eine Vielzahl von Protokollen auf allen Schichten des Modells. Nachfolgend werden die einzelnen Schichten beschrieben sowie potenzielle Angriffsvektoren und Sicherheitslücken angegeben.[25]

5.2.1 Physikalische Schicht

Die physikalische Schicht (auch Bitübertragungsschicht oder englisch Physical Layer) ist die unterste Schicht des OSI Referenzmodells.[26] Die Aufgabe dieser Schicht ist es, nachrichtentechnische Kanäle zum Informationsaustausch zwischen zwei Kommunikationssystemen bereitzustellen, um Bits mithilfe elektrischen, optischen, akustischen oder mechanischen Signalen zu übertragen.[27] Dies sind die sogenannten übertragungstechnischen Verfahren, welche über die in der ersten Schicht beschriebenen technischen Geräte wie etwa Kabel, Leiter, Hubs, Widerstände, Transceiver und viele weitere gesendet werden.

Die digitale Bitübertragung der physikalischen Schicht wird über Codierungsverfahren gelöst, die eindeutig die Zustände der Information auf diesem Layer kennzeichnen. Darüber hinaus werden weitere Spezifikationen beschrieben, die die verwendeten Übertragungsmedien charakterisieren (Beispiel: Eigenschaften der Kupferkabel, der optischen Medien, der elektrischen Ströme).

Typische Protokolle dieser Schicht sind RS 232 oder V.24. Hardware auf der Schicht 1 sind Modems, Transceiver, elektrische Leiter oder etwa Hubs.

Angriffe auf die physikalische Schicht bedingen durch den Charakter der Physik einen direkten Zugriff auf die Medien. Dies kann generell über Social Engineering bewerkstelligt werden. So kann etwa ein Zugriff auf speziell gesicherte Räumlichkeiten erreicht und ein spezieller Abhörmechanismus auf Leitungsebene eingerichtet werden, der die auf der physikalischen Schicht übertragenen Daten an Dritte weiter verzweigt.

Weiterhin gehören auf physikalischer Ebene durchgeführte Denial of Service-Attacken zu den Angriffen der Bitübertragungsschicht. Durch Zerstörung zentraler Netzelemente, Computer oder Datenübertragungseinrichtungen können Unternehmen oder ganze Netze maßgeblich gestört und die Datenkommunikation unterbrochen werden. Auch verteilte Systeme können durch die Störung der Kommunikationskanäle und gegebene Abhängigkeiten zwischen den Teilkomponenten soweit beeinträchtigt werden, dass ihr Dienst vollständig zum Erliegen gebracht wird.

Gelingt es Angreifern, physikalischen Zugriff auf Gebäude, Räume, oder EDV-Hardware zu erhalten, steht diesen üblicherweise das gesamte Spektrum der Angriffsmethoden zur Verfügung. Typische Methoden zur Abwehr von Netzwerkangriffen oder nur Prävention von Schadsoftware greifen bei lokalen Zugriffen meist nicht.

5.2.1.1 Social Engineering

In Webster’s Dictionary wird Social Engineering als “management of human beings in accordance with their place and function in society”[28] (dt. Management der Menschen in Einklang mit ihrem Ort und ihrer Funktion in der Gesellschaft) definiert. Social Engineering wird beispielsweise von Medizinern oder Strafverfolgungsbehörden eingesetzt, um an notwendige Informationen zu gelangen. Es könnte sogar so weit gegangen werden, zu behaupten, dass das Handeln im Interesse der Zielperson liegt. Während in den genannten Beispielen die Redlichkeit der handelnden Personen nicht in Frage gestellt werden dürfte, ist das Social Engineering im IT-Umfeld wesentlich brisanter. Auch das Interesse der Zielperson dürfte damit nicht abgedeckt werden. Social Engineering im Sicherheitsumfeld wird üblicherweise betrieben, um an sensible Informationen von Sicherheitsinfrastrukturen zu gelangen. Die Zielperson soll dabei zu bestimmten Handlungen bewegt werden, die den Bereich der Verschwiegenheit tangieren oder die vorhandenen Sicherheitsmaßnahmen unterlaufen. Der Social Engineer will sich seinerseits mit den gewonnenen Informationen Wege vorbei an den getroffenen Abwehrmaßnahmen schaffen, um Zugriff auf sensible Bereiche der Organisation zu erlangen. Ein praktisches Beispiel für Social Engineering könnte so aussehen, dass ein Angreifer bei der Zielperson ausreichend Vertrauen aufbaut, damit diese ihr Informationen über die verwendeten Geräte und Systeme zur Abwehr von Netzwerkangriffen verrät. Dabei ist es nicht einmal notwendig, dass Kennwörter oder Zugangsdaten weitergegeben werden. Allein die Kenntnis über die vorhandenen Systeme ermöglicht es, entsprechende Sicherheitslücken in den Systemen auszunutzen oder Programme zu entwickeln, die speziell die vorhandene Infrastruktur angreifen. Prominentestes Beispiel dafür dürfte der Stuxnet-Wurm sein, der es speziell auf die programmierbaren Logikeinheiten von Siemens-Zentrifugen in Atomanlagen abgesehen hatte und andere Systeme gar nicht erst befiel.[29]

Aber auch im beruflichen Alltag kann Social Engineering die Gefährdung für eine Organisation erhöhen. Wird beispielsweise bekannt, welche Version des Webservers eingesetzt wird, können Versuche unternommen werden, diesen gezielt zu infiltrieren, um einen Einstieg in das Netzwerk zu erhalten. Anschließend kann dieser Server als Plattform für weitere Angriffe genutzt werden.

5.2.1.2 Physikalischer Zugriff

Der physikalische Zugriff auf die IT-Infrastruktur ist aus sicherheitstechnischer Sicht der Super-GAU. Im einfachsten Fall kann der Angreifer sich in den Netzwerkverkehr einklinken und diesen mitlesen, um beispielsweise an unverschlüsselt übertragene Anmeldeinformationen zu gelangen. In einem weiteren Schritt kann auf einfache Weise der gesamte Netzwerkverkehr manipuliert oder umgelenkt werden. Dies stellt die Basis für einen Man-in-the-Middle-Angriff (möglich auf unterschiedlichen Schichten der Netzwerkarchitektur) dar.

Durch den direkten physikalischen Zugriff auf beispielsweise Server können Netzwerkregulierungen, die Zugriffe auf bestimmte Ressourcen verhindern sollen, nicht mehr greifen. Mit mitgeschnittenen Anmeldedaten kann sich der Angreifer direkt am System anmelden und beispielsweise Schadsoftware jeder Art installieren. Da dies proaktiv geschieht, schlägt vorhandene Antiviren-Software meist nicht an und der Angriff kann lange Zeit unentdeckt bleiben. Der Schaden, der der Organisation daraus entstehen kann, lässt sich oftmals nicht beziffern, da der Zeitraum, in dem das System manipuliert worden ist, nicht genau eingegrenzt werden kann. Beheben lässt sich diese Manipulation meist nur durch Neuaufspielen der Firmware oder kompletter Neuinstallation der Server, da unklar bleibt, ob der Angreifer noch weitere Manipulationen vorgenommen hat.

5.2.1.3 DoS-Angriff

Denial-of-Service-Angriffe haben das Ziel, über das Netzwerk erreichbare Ressourcen oder Infrastrukturen zu überlasten, um diese gezielt zum Absturz zu bringen. Eine Sonderform sind Distributed-Denial-of-Service-Angriffe (DDoS-Angriffe), bei denen die Attacke von einer Vielzahl anderer Systeme ausgeht und der Ursprung nicht auf ein System zurückzuführen ist.

Die Ziele, die mit einem DoS-Angriff erreicht werden sollen, sind sehr unterschiedlich. Aktuell soll damit häufig nur Aufmerksamkeit erregt oder die grundsätzliche Anfälligkeit von Infrastrukturen aufgezeigt werden. Aber auch wirtschaftliche Gründe können Angreifer motivieren, einzelne Dienste zu überlasten. Fällt beispielsweise ein Online-Shop eines Unternehmens tagelang auf Grund von Angriffen aus, kann dies erhebliche finanzielle Einbußen mit sich bringen, die in wirtschaftlich schweren Zeiten durchaus existenzgefährdend werden können. DoS-Angriffe stellen aber häufig auch nur den Anfang einer großangelegten Attacke dar. Wird beispielsweise durch einen DoS-Angriff eine Security-Appliance, also ein System, welches Angriffe aus dem Netzwerk abwehren soll, zum Absturz gebracht und der Datenverkehr gleichzeitig nicht unterbrochen, sind die hinter dieser Appliance liegenden Infrastrukturen deutlich schlechter gegen Angriffe geschützt und stellen oftmals ein leichtes Ziel für versierte Hacker dar.

5.2.2 Sicherungsschicht

Die Sicherungsschicht (englisch Data Link Layer) gewährleistet durch geeignete Protokolle die sichere und zuverlässige Übertragung von Bitmustern zwischen Computern innerhalb eines gemeinsamen Netzwerks. Der Bit-Datenstrom der physikalischen Schicht wird in Blöcke eingeteilt, die ihrerseits über Prüfsummen die Integrität der übertragenen Daten sicherstellen und gegebenenfalls ein Verwerfen oder Korrigieren der Daten bei aufgetretenen Fehlern initiieren. Des Weiteren werden in dieser zweiten Schicht Mechanismen zur Datenflusskontrolle (Zugriff auf das Medium, Geschwindigkeit der Datenübertragung) implementiert.

Typische Protokolle dieser Schicht sind IEEE 802.11 (WLAN), CSMA/CD (Carrier Sense Multiple Access / Collision Detection) oder Token Ring. Hardware der Sicherungsschicht sind Switches, Bridges oder WLAN Access Points (Mischung aus Schicht 1 und 2).

Angriffe auf die Sicherungsschicht können durch die große Hardware-Nähe ebenso wie in der physikalischen Schicht über direkten Zugriff erfolgen. In der Regel werden heutzutage keine Hubs für die Verteilung der Datenströme eingesetzt, sondern leistungsfähigere Switches. Auch WLAN-basierte Angriffe zur Entschlüsselung von funkbasierten Netzen sind eine Mischung aus Layer 1- und 2-Angriffen.

Ein gänzlich auf Layer 2 implementierter Angriffsvektor ist das MAC Spoofing, welches mittels gefälschter MAC-Adressen realisiert wird. Beim MAC-Spoofing werden gefälschte MAC-Adressen verwendet, um die eigene Identität auf Schicht 2 entweder zu vertuschen oder die Identität eines fremden Rechners anzunehmen. Auch Man-In-The-Middle-Attacken sind denkbar, die auf der Sicherungsschicht implementiert das Einklinken in den Datenstrom zweier Parteien ermöglichen. So lassen sich Daten bei der Kommunikation zweier oder mehrerer Parteien auslesen, modifizieren oder unterbrechen.

5.2.2.1 MAC-Spoofing

MAC Spoofing beschreibt das Vortäuschen einer falschen MAC-Adresse. Es handelt sich hierbei um einen reinen Layer-2-Eingriff in die Datenkommunikation. Ziel eines MAC-Spoofing-Angriffes ist das Abfangen von Daten durch das vermeintlich korrekte Adressieren an einen Empfänger. MAC-Spoofing Angriffe können nur innerhalb derselben Kollisionsdomäne durchgeführt werden, in denen Computer mittels ihrer Layer-2-Adresse direkt miteinander kommunizieren.

In der Regel wird versucht, eine Man-In-The-Middle-Position herbeizuführen, um die Kommunikation zwischen zwei Netzwerkteilnehmern abzuhören, zu manipulieren oder zu stören.

5.2.2.2 Man-In-The-Middle-Angriffe

Man-In-The-Middle-Angriffe sind keine reinen Layer-2-basierten Angriffe. Eher beschreibt diese Angriffsform die Art und Weise, wie in die Kommunikation zwischen zwei oder mehreren Teilnehmern eingegriffen wird.

Ein Angreifer versucht mithilfe verschiedener Methoden (Bsp. MAC-Spoofing, IP-Spoofing), sich in den Datenstrom zwischen zwei Teilnehmern einzuklinken. Dies kann über das Vortäuschen falscher Adressen, Manipulation von Namensauflösungen und Caches oder über Schadsoftware geschehen. Weitere Formen wie etwa die Manipulation von Datenleitungen und direktes Einklinken in leitungsgebundene Kommunikationsformen sind möglich. Auch im Wireless LAN Bereich sind Man-In-The-Middle-basierte Angriffe möglich und durch die Ausbreitung der Daten im Kommunikationsmedium einfach zu realisieren.

5.2.2.3 Angriffe gegen die WLAN-Sicherheit

Wireless LAN bietet sich besonders gut als Angriffsmedium an. Die Form des Kommunikationsmediums und Ausbreitung der Daten im Raum begünstigt Angreifer. Ein erfolgreich kompromittiertes WLAN ermöglicht es einem Angreifer, jeglichen Datenaustausch in diesem Segment mitzulesen und gegebenenfalls zu manipulieren.

Angriffe gegen die WLAN-Sicherheit können auf verschiedenen Ebenen stattfinden[30], hauptsächlich richten sie sich allerdings gegen die Verschlüsselung, welche auf der Schicht 2 im OSI-Modell stattfindet. Es ist gemeinhin bekannt, dass WLAN-Sicherheit mit unterschiedlichen Verschlüsselungsmechanismen starken Schwankungen unterliegt. So wird ein mittels WEP (Wired Equivalent Privacy) gesichertes Wireless LAN heutzutage als unsicher angesehen, da seine Verschlüsselung mit leistungsfähigen Computern und relativ geringem Netzwerkverkehr sehr leicht aufgebrochen werden kann. WPA (WiFi Protected Access) und sein Nachfolger WPA2 gelten gemeinhin als sicherer und basieren auf AES (Advanced Encryption Standard) zur Verschlüsselung der Datenpakete. Sowohl verschlüsselte Pakete als auch Authentisierungsmechanismen gelten als sicherer im Gegensatz zu WEP und sollten bevorzugt eingesetzt werden, sofern die Access-Point-Hardware dies unterstützt. Des Weiteren werden heutzutage immer noch viele gänzlich ungesicherte WLAN-Netzwerke eingesetzt. Diese Netzwerke, hauptsächlich als freie Netze als Zugangspunkten in Restaurants und Cafés, sind aus Sicht des Benutzers unsicher. Der Benutzer muss sich selbst um die Sicherheit seiner eingesetzten Anwendungen kümmern, auf verschlüsselte Protokolle (Bsp. HTTPS, Secure SMTP oder SSH) setzen und die Menge der unverschlüsselt übertragenen Informationen so gering wie möglich halten.

Ist ein verschlüsseltes Wireless LAN erst einmal von einem Angreifer kompromittiert, so hat dieser in der Regel viele Möglichkeiten weiterer Angriffe, da dieser Einbruch oft unbemerkt für den Benutzer bleibt. Der Benutzer wiegt sich in Sicherheit seiner verschlüsselten Netzwerkkommunikation und ist sich der Gefahr nicht bewusst.

Im Unternehmensbereich bieten Access Points und spezielle Managementlösungen wirkungsvolle Mechanismen gegen Angreifer und Fremdnetze, die die eigene Sendeleitung versuchen zu beeinträchtigen. So können dynamische Access-Listen zum Ignorieren von Angreifern erzeugt und Fremdnetze durch gerichtete Erhöhung der eigenen Sendeleistung eingedämmt werden.

5.2.3 Vermittlungsschicht

Die Vermittlungsschicht implementiert Protokolle zur Vermittlung von Datenpaketen (Beispiel: IP-basierte Netzwerke) zwischen entfernten Netzen oder das Schalten von Verbindungen bei leitungsbasierten Netzwerken (Beispiel: das klassische Telefonnetz). Hinzu zählen Protokolle zur Wegesuche (Routing) und der Identifikation optimaler Routen über unterschiedliche Knoten oder Ausfallrouten bei Störungen. Ein Adressierungsschema zur Kommunikation entfernter Netzwerke wird beispielsweise über das Internet Protokoll (IP) realisiert. Weitere bekannte Protokolle der Schicht 3 sind etwa ICMP (Internet Control Message Protocol) zum Informationsaustausch über Fehler- und Statusmeldungen des Internet Protokolls sowie bekannte Routing-Protokolle wie RIP (Routing Information Protocol) oder OSPF (Open Shortest Path First). Netzwerkübergreifende Routing-Protokolle wie BGP (Border Gateway Protocol) sorgen für den Informationsaustausch zwischen unterschiedlichen Internet-Providern und ermöglichen im Internet den globalen Netzwerk-Informationsaustausch.

Erweiterte Funktionalitäten wie Methoden zur Aushandlung von Prioritäten und Dienstgüten werden außerdem in der Vermittlungsschicht realisiert. Zudem gibt es Protokolle mit erweitertem Funktionsumfang wie dem IPSec-Protokoll, das kryptografische Mechanismen für den sicheren Datenaustausch im Netzwerk bereitstellt.

Typische Hardware der Schicht 3 sind Router, die zwischen verschiedenen Netzen vermitteln und Routing-Entscheidungen anhand der oben genannten Routing-Protokolle ermöglichen.

Die Angriffsvektoren auf Schicht 3 sind vielfältig. So gehören typischerweise Spoofing-Angriffe dazu, die die Adressierung der Schicht 3 mithilfe gefälschter Adressen angreifen und wie in Schicht 2 beim MAC-Spoofing Identitäten verschleiern, andere Identitäten annehmen oder per Man-In-The-Middle-Angriffe Kommunikation zwischen anderen Parteien auslesen, manipulieren oder stören. Auch DNS-Spoofing gehört zu den Angriffen der Vermittlungsschicht. Ein weiterer Angriff gegen das DNS ist beispielsweise Cache Poisoning.[31]

5.2.3.1 Cache Poisoning

Beim Cache-Poisoning versucht ein Angreifer, in einen DNS-Server gefälschte Daten einzubringen, die später an Clients, die Namensauflösungen am DNS-Server anfragen, ausgeliefert werden sollen. Vor dem Hintergrund der Wichtigkeit von DNS für die Kommunikation in Netzwerken und der fehlenden Möglichkeit, die übermittelten Daten sicher zu validieren, stellt das DNS-Cache-Poisoning eine ernstzunehmende Gefahr für die Netzwerksicherheit dar.

Grundsätzlich gibt es zwei Möglichkeiten, Cache Poisoning zu betreiben. Zum einen kann eine rekursive Anfrage eines DNS-Servers von einem manipulierten Server schneller beantwortet werden als von einem öffentlichen DNS-Server. Dazu muss allerdings die 16bit-Transaktionsnummer der Anfrage erraten werden (32.768 Versuche im statistischen Mittel), was aufwändig und auch auffällig ist. Ein weiteres Vorgehen ist es, einen manipulierten DNS-Server so zu konfigurieren, dass er zusätzlich zur angefragten Namensauflösung weitere Daten, die einen gefälschten DNS-Record beinhalten, an den öffentlichen DNS-Server übermittelt. Wird dieser öffentliche DNS-Server nach dem zusätzlich übermittelten Datensatz angefragt, sendet dieser den gefälschten Record an den abfragenden Nutzer.

Aktuelle DNS-Server-Implementierungen sind gegen Cache-Poisoning-Angriffe weitestgehend gehärtet. Angriffe sind nur noch mit großem Aufwand und hohem Entdeckungsrisiko möglich, wodurch diese gegenüber anderen Angriffsmethoden deutlich an Bedeutung verloren haben.

5.2.3.2 Spoofing-Angriff

Beim IP-Spoofing manipuliert ein Angreifer bei ausgehenden IP-Paketen die Absender-IP-Adresse, um sich selbst zu verschleiern. Diese Methode stellte jedoch nur in nicht-geswitchten Netzwerken ein Sicherheitsrisiko dar. Da Switche Daten immer nur an die entsprechenden Zielrechner weiterleiten, würde der Angreifer die Antwort auf sein IP-Paket nicht erhalten. Lediglich in Netzen, die noch mit Hubs arbeiten, würde die Antwort auf das Paket auch beim Angreifer ankommen. Protokolle auf höheren Schichten, beispielsweise TCP, arbeiten mit Methoden wie Sequenznummern, um sicherzustellen, dass ein Paket Teil einer bereits aufgebauten Verbindung ist. Nur wenn diese Sequenznummer erraten wird, kann sich ein Angreifer in die Kommunikation zwischen zwei Geräten einklinken. Ein mögliches Nutzungsszenario von IP-Spoofing sind Flooding-Angriffe auf Dienste, mit denen der angesprochene Dienst überlastet werden soll (DoS). Dabei werden gefälschte Pakete an einen Rechner, beispielsweise Webserver, gesendet. Da die Kommunikation in einem mehrstufigen Handshake-Verfahren hergestellt wird, sendet der Server die erste Antwort an die gefälschte IP-Adresse und wartet eine definierte Zeit auf eine Antwort. Werden genug Anfragen an den Server gesendet, die von den Clients nicht beantwortet werden, kann dieser Dienst irgendwann keine Anfragen mehr entgegen nehmen und ist für „echte“ Nutzer nicht mehr erreichbar.

DNS-Spoofing wird synonym für DNS Cache Poisoning verwendet.

5.2.4 Transportschicht

Die Transportschicht (Schicht 4, engl. Transport-Layer) implementiert Mechanismen zur konsistenten Ende-zu-Ende-Kommunikation zwischen Prozessen auf Computern innerhalb eines Kommunikationsmodells. Sie realisiert eine Segmentierung des Datenstroms, die Flusskontrolle und Adressierung mittels Port-Nummern für das Multiplexing von Datenströmen auf einem Kommunikations-Host. Die Transportschicht regelt, wie die einzelnen Datensegmente geteilt und wieder zusammengesetzt werden, und implementiert Mechanismen zur Steuerung des erneuten Versands defekter Segmente. Auch definiert die Transportschicht für alle darüber liegenden Schichten eine konsistente Sicht auf die Datenkommunikation im Netzwerk, sodass die höheren Schichten sich nicht um den Netzwerkzugriff "kümmern" müssen.

Typische Protokolle der Transportschicht sind UDP und TCP (User Datagram Protocol / Transmission Control Protocol). Aber auch Weiterentwicklungen dieser Protokolle wie etwa SCTP (Stream Control Transmission Protocol), das speziell für die Anforderungen von Datenstreams entwickelt wurde, gehören zu Protokollen der Transportschicht. Hardware-Implementierungen gibt es in dieser Schicht klassischerweise nicht mehr, jedoch können spezielle Appliances zur Lastverteilung, Beschleunigung des Netzwerkzugriffes oder Unterstützung der Ausfallsicherheit hinzugezählt werden, die Mechanismen auf Schicht 4 umsetzen.

Angriffe auf TCP- und UDP-Streams können über passive und aktive Angriffe erfolgen.[32] Insbesondere das Hijacking von TCP-Streams zählt hierzu, wobei durch Analyse und Übernahme der TCP-Sequenznummern gefälschte TCP-Sequenzen in die Netzwerkkommunikation zweier Computer injiziert werden. So können Daten gezielt manipuliert werden. In gewisser Weise entspricht dies erneut dem Man-In-The-Middle-Angriff.

5.2.4.1 Hijacking

Hijacking Angriffe auf der Transportschicht richten sich gegen den Kommunikationsfluss zwischen zwei Diensten oder Anwendungen. Es wird mittels gezielt manipulierter Segmente versucht, den Daten-Stream zu manipulieren oder Schlüsse auf Inhalt der Informationen zu ermöglichen. Voraussetzung ist die erfolgreiche Analyse der korrekten Sequenznummern (Beispiel für TCP Datenstreams), um den Datenfluss zu lesen oder zu manipulieren. Dies kann über statistische Analysen und spezielle Programme erfolgen.

Beispielsweise ist innerhalb von Voice over IP (VoIP)-Netzwerken anhand statistischer Analysen die Informationsgewinnung über Inhalte der Sprachkommunikation möglich. Können die Datenpakete mitgelesen und in die richtige Reihenfolge gebracht werden, so lassen sich anhand der Paketgrößen und -pausen bei Bekanntheit der übermittelten Sprache Aussagen über den Inhalt des Informationsaustausches treffen. Auf diese Weise können bis zu 60 % der übermittelten Daten mitgelesen werden.[33]

5.2.4.2 Man-In-The-Middle-Angriffe

Durch den Hijack von Transport-Streams ist es möglich, auch auf dieser Schicht Man-In-The-Middle-Angriffe durchzuführen. Manipulationen und Ausspähen von Datenkommunikation zwischen Diensten und Anwendungen können so zu Informationsverlust oder herabgesetzter Integrität bzw. Authentizität führen.

5.2.5 Sitzungsschicht

Die Sitzungsschicht implementiert Mechanismen für das Zustandebringen und die Aufrechterhaltung von Sitzungen. So gesehen wird in einer zusätzlichen Schicht ein Multiplexing verschiedener Sitzungen innerhalb eines Transportstreams hergestellt. Abgebrochene Sitzungen können in der Regel wiederhergestellt werden mithilfe von Checkpunkten, sodass bereits übermittelte Daten nicht erneut gesendet werden müssen.

Von "typischen Protokollen" innerhalb der Sitzungsschicht zu sprechen wäre falsch an dieser Stelle, da diese nicht weit verbreitet sind. Innerhalb der ISO wurden jedoch Protokolle definiert, die Sitzungsdienste bereitstellen (ISO 8822 - Session Service). Typischerweise realisieren Anwendungen Sitzungsmechanismen selbst, die Sitzungslogik wird also in die höheren Protokollebenen verlagert, was die Anwendungen selbst komplexer macht.

Angriffsmechanismen auf der Sitzungsebene sind neben direkten Angriffen auf Protokolle typischerweise Hijacking Attacken und direkte Applikationsangriffe, sofern die Sitzungslogik in die Anwendung integriert wurde. Im Session Hijacking werden Sitzungen durch gezielte Manipulation übernommen. Manipulation kann über Man-in-the-Middle-Attacken erfolgen oder über Angriffe aus unteren Netzwerkschichten. Aber auch aus den höheren Protokollebenen können Angriffe auf die Sitzungslogik eintreten, wie etwa über Injektions-Attacken aus den darstellenden oder anwendungsbezogenen Schichten.

5.2.5.1 Session Hijacking

Für ein erfolgreiches Session Hijacking, also das Übernehmen oder Entführen einer Kommunikationssitzung, muss der Angreifer zunächst einige für den Angriff notwendige Informationen sammeln. Dies kann durch ein Mitlesen des unverschlüsselten Netzwerkverkehrs oder eine Man-in-the-Middle-Attacke erfolgen. Bei verschlüsselten Verbindungen muss ein Angreifer zunächst die Verschlüsselung knacken, was üblicherweise einen zu hohen Aufwand bedeuten würde. Durch passiv mitgelesene Anmeldedaten kann sich ein Angreifer natürlich auch direkt bei einem Dienst mittels Benutzername und Kennwort authentifizieren.

Für das Übernehmen einer TCP-Sitzung ist es notwendig, dass ein Angreifer nach erfolgreichem Sitzungsaufbau mittels Drei-Wege-Handshake Antworten schneller als der ursprünglich angesprochene Server oder Client sendet. Aus den mitgelesenen Sequenznummern lassen sich einfach die folgenden Sequenznummern ermitteln, so dass der Server oder Client fortan an den Angreifer die Daten sendet und die Sitzung so vom Angreifer übernommen wurde.

Bei Webdiensten kann die Sitzung durch das Erraten der Session-ID übernommen werden. Damit Webserver einzelne Nutzer unterscheiden können, weisen sie diesen Session-IDs zu. Nutzer eines Webdienstes senden ihre Sitzungs-ID immer wieder mit, so dass sie vom Server entsprechend erkannt und individuell behandelt werden können. Errät oder ermittelt ein Angreifer diese Sitzungs-ID, weil sie beispielsweise unverschlüsselt übertragen wurde, kann er seinerseits eine Anfrage an den Server stellen und die mitgelesene Sitzungs-ID übermitteln. Der Webserver wird daraufhin diese Anfrage so behandeln, als wäre sie vom legitimierten Nutzer gestellt worden.

5.2.5.2 Session Fixation

Die Session Fixation geht beim Angriff auf eine Kommunikation einen anderen Weg. Der Angreifer lässt sich vom Server eine gültige Session-ID zuweisen. Diese versucht der Angreifer dem Angegriffenen unterzuschieben. Authentifiziert sich dieser nun mit seinen Anmeldedaten am Server, kann der Angreifer ebenfalls Zugriff auf das System erlangen.

5.2.6 Darstellungsschicht

Die Darstellungsschicht (engl. Presentation Layer) bereitet plattform- oder systemabhängige Daten für die nächsthöhere Schicht, die Anwendungsschicht, in unabhängige Daten auf. Sie dient einer zusätzlichen Abstraktion, um zwischen unterschiedlichen Systemen und Plattformen Daten erfolgreich und richtig auszutauschen. Zu ihren Aufgaben zählen auch Mechanismen zur Kompression der Daten oder der Kryptografie von Information.

Reine Protokolle der Darstellungsschicht sind erneut nur innerhalb der ISO-Definitionen zu finden. So wurden Dienste beschrieben, die Abstraktions- und Präsentationsmechanismen implementieren (ISO 8822 - Presentation Service). Die meisten Anwendungen integrieren derlei Funktionen mit anderen Komponenten wie etwa den darstellenden Programmteilen.

Angriffe gegen die Darstellungsschicht können sich etwa gegen Angriffe auf die Verschlüsselungskomponenten richten. Hier ist beispielsweise das erst im September 2011 bekannt gewordene TLS-1.0-Problem zu nennen, das einen schwachen SSL Algorithmus implementiert und leicht mittels sogenannter Chosen-Plaintext-Angriffe zu brechen ist. Aber auch Angriffe über darstellende Komponenten oder Code, der über das Netzwerk injiziert wird, können Auswirkungen auf Protokolle und Codeimplementierungen der Darstellungsschicht haben.

5.2.6.1 Angriffe auf Verschlüsselung

Wie schon zuvor genannt, richten sich die meisten Angriffe auf die Darstellungsschicht gegen Verschlüsselungskomponenten der Datenkommunikation. Da lediglich rein nach ISO-Standard implementierte Protokolle ausschließlich zur Darstellungsschicht zu zählen sind, ist diese Angriffsvariante relativ weit gefasst.

Angriffe gegen die Verschlüsselung der Kommunikation können sich, wie schon im Abschnitt 5.2.2 beschrieben, sowohl gegen Netzwerk-Verschlüsselung als auch Verschlüsselung auf höheren Protokollebenen beziehen. Letztgenannte Protokollebenen werden in der Regel durch die Anwendung implementiert.

Web-basierte Kommunikation, also in der Regel mittels Protokoll HTTPS, wird über die öffentlich bekannten SSL/TLS-(Secure Socket Layer / Transport Layer Security) Protokolle und Algorithmen implementiert. Die Web-Server greifen in der Regel ebenso auf diese bekannten Protokolle zurück und sind modular in die Systeme implementiert. Dadurch ergibt sich bei grundlegenden Schwachstellen in der Implementierung oder in den Protokollen sowohl die Schwachstelle auf Client- als auch auf Server-Seite. Eines der zuletzt bekannt gewordenen Probleme ist das TLS 1.0-Problem, welches im nächsten Abschnitt näher erläutert wird.

5.2.6.2 TLS 1.0-Problem

Das TLS 1.0-Problem wurde im September 2011 bekannt und erlangte schnell globale Bekanntheit. Durch die grundsätzliche Anfälligkeit der Protokoll-Algorithmen und der weit verbreiteten Implementierung sind eine große Zahl von Rechnern (auch plattformübergreifend) weltweit betroffen. So gut wie alle Windows-Systeme ([34]) sowie sehr viele Linux- und weitere Unix-Derivate sind betroffen.

Die Schwachstelle ergibt sich aus der unsicheren Implementierung von Initialisierungsvektoren im Zusammenhang mit der genutzten AES-Verschlüsselung im Cipher-Block-Chaining (CBC)-Mode. Ein Angreifer kann sich in den verschlüsselten Datenverkehr zwischen beispielsweise Webserver und Client einklinken (Man-In-The-Middle) und die Kommunikation mitlesen oder manipulieren.

Einige Hersteller bieten mittlerweile Fixes für diese Anfälligkeit. Die weite Verbreitung der eingesetzten Protokolle erschwert jedoch die weitläufige Sicherung dieser Angreifbarkeit.

5.2.7 Anwendungsschicht

Die Anwendungsschicht beschreibt Hard- und Software, die für die Nutzung der Anwendung über das Netzwerk notwendig sind. In dieser Schicht findet der Zugriff auf die Anwendung durch den Benutzer statt. Es werden aber auch alle notwendigen Komponenten definiert, die für den Betrieb der Anwendung und Implementierung der Geschäftslogik notwendig sind.

Protokolle der Anwendungsschicht sind vielzählig, insbesondere vor dem Hintergrund dieser Arbeit gehören hierzu HTTP (Hyper Text Transfer Protocol), FTP (File Transfer Protocol) oder SMTP (Simple Mail Transfer Protocol). Hardware auf Anwendungsschicht können spezielle Anwendungs-Gateways, anwendungsbezogene Appliances oder Protokollumwandler sein.

Angriffe auf die Anwendungsschicht können ganz unterschiedlich geartet sein. Insbesondere sind die Folgenden zu nennen:

  • Angriffe über Malware
  • Injektionsangriffe über die Anwendung
  • Sämtliche Web-Anwendungsbasierten Angriffe wie in Abschnitt 5.5 beschrieben
  • Angriffe gegen einzelne Komponenten der Anwendungssysteme
  • Gezielte Angriffe, die auf Schwachstellen in Anwendung und Anwendungs-Protokollen beruhen.

5.2.7.1 Buffer Overflows

Bei Anwendungen, die auf der Anwendungsschicht arbeiten, können Speicher- oder Pufferüberläufe genutzt werden, um Schadcode in den Arbeitsspeicher des Zielcomputers zu injizieren. Von Buffer Overflows wird gesprochen, wenn zu große Datenmengen in zu kleine reservierte Speicherbereiche geschrieben werden sollen. Dies hat zur Folge, dass die Daten im dahinterliegenden Speicherbereich überschrieben werden. Im günstigsten Fall stürzt die Anwendung mit einer mehr oder weniger aussagekräftigen Fehlermeldung ab, im ungünstigsten Fall wird dabei eine Rücksprungadresse eines Programms mit einem Verweis auf Schadsoftware überschrieben. Diese Schadsoftware wird dann beim Rücksprung des ausgeführten Programms ausgeführt. Die so ausgeführte Malware kann unter Umständen an maximale Privilegien gelangen und so beliebige Aktionen auf dem Zielrechner ausführen.[35]

Gängige Compiler von aktuellen höheren Programmiersprachen haben entsprechende Methoden implementiert, um Pufferüberläufe frühzeitig erkennen und vermeiden zu können.

5.2.7.2 Code Injection

Webanwendungen, die mit einer Datenbank arbeiten, können für Code- oder SQL-Injection anfällig sein. Dies geschieht vor dem Hintergrund, dass dynamisch auf Benutzereingaben, etwa bei Suchanfragen, reagiert werden muss. Bestehen jene nun nicht aus einzelnen thematischen Begriffen, sondern aus Fragmenten von SQL-Anfragen, können diese Fragmente bei schlechter Filterung der Anfrage ungewollte Datenabfragen erzeugen. Mit überschaubarem Aufwand können in einer nicht gesicherten Datenbank die komplette Tabellenstruktur ausgelesen und die interessanten Relationen angezeigt werden. Das folgende Beispiel zeigt, wie einfach eine SQL-Injection durchgeführt werden kann.[36]

   Daten aus einem Eingabefeld: test
   resultierende SQL-Abfrage:   SELECT * FROM myTabelle WHERE myWert='test';
   Daten aus einem Eingabefeld: test' OR 1=1;--
   resultierende SQL-Abfrage:   SELECT * FROM myTabelle WHERE myWert='test' OR 1=1;--';

Während im ersten Fall nur die Datensätze der Relation myTabelle angezeigt werden, die im Attribut myWert den Wert test gespeichert haben, werden im zweiten Beispiel im Endeffekt alle Datensätze angezeigt, da die Abfrage durch die Benutzereingabe erweitert und die restlichen Abfrageteile auskommentiert wurden.

5.2.7.3 Cross-Site-Request-Forgery

Bei der Cross-Site-Request-Forgery (CSRF) versucht ein Angreifer, den Browser des Opfers dazu zu bringen, manipulierte HTTP-Requests auszuführen. Gerade bei User Generated Content ist dies bei schlechter Filterung der Benutzereingaben mit einfachen Mitteln realisierbar. Beispielsweise kann der Angreifer ein img-Tag zum Einbinden von Bildern verwenden, um Code auf den Rechnern der Opfer auszuführen. Anstelle der URL zur Grafik wird der entsprechende Schadcode eingefügt. Diese wird später, wenn das Opfer die entsprechende Seite besucht, automatisch ausgeführt. Diese Art der CSRF wird als Cross-Site-Scripting (XSS) bezeichnet.

5.2.7.4 PlugIns (Java, PDF, ...)

Ein weiteres erhebliches Sicherheitsrisiko und gleichzeitig regelmäßig genutzter Angriffsvektor sind Browser-PlugIns wie Java, Flash oder PDF. Zahlreiche PlugIns sind in Browsern integriert, um das Surf-Erlebnis der Nutzer zu erhöhen. Insbesondere der Flash-Player ist auf nahezu allen Browsern integriert und bietet so für Angreifer eine ausgesprochen hohe Erfolgsquote, wenn es gelingt, Sicherheitslücken im Flash-Player auszunutzen. Häufig kann hierbei sehr tief in das Betriebssystem eingegriffen werden und nicht selten ist es möglich, die komplette Kontrolle über das System zu erlangen.

5.3 Virtualisierung

Servervirtualisierung beschreibt die logische Partitionierung eines physischen Computersystems in mehrere virtuelle Maschinen und ermöglicht es, Serversysteme auf wenige Hardwareplattformen zu konsolidieren. Virtualisierung kann aber auch die Abstraktion weiterer Infrastruktur-Komponenten bedeutet. So gibt es schon seit vielen Jahrzehnten im Netzwerkbereich virtuelle Netzwerke (VLAN Konzept), die über ein Protokoll unterschiedliche Netze, die sich auf demselben physischen Medium befinden, logisch voneinander separieren. Auch Client-Virtualisierung wird heutzutage über Terminal-Server-Systeme oder virtuelle Maschinen erreicht. Die in dieser Arbeit betrachtete Virtualisierungsvariante ist die Servervirtualisierung, da diese Form beachtlichen Einzug in moderne Serverlandschaften und die Architekturen aktueller Anwendungssysteme (wie zum Beispiel E-Business-Systeme) gehalten hat.

5.3.1 Architektur

Die grundlegende Aufgabe der Virtualisierung ist die Partitionierung einer realen Maschine beziehungsweise eines Servers. Diese Partitionierung beinhaltet, sämtliche für den Betrieb notwendigen Hardwareressourcen zu abstrahieren, ihre Schnittstellen zu replizieren und sie beliebig oft in Form von virtuellen Maschinen bereitzustellen.

Dabei werden grundsätzlich die folgenden Komponenten der realen Maschine gemäß der von-Neumann-Architektur abstrahiert und partitioniert, damit sich ein Betriebssystem in einer virtuellen Maschine (ein isoliertes Duplikat einer realen Maschine) identisch wie auf einem physischen System verhält[37]:

  • CPU
  • Arbeitsspeicher
  • Massenspeicher
  • Ein- / Ausgabesysteme

Der Hypervisor arbeitet als Betriebssystem auf der realen Maschine im Kernel-Modus der CPU und hat die vollständige Ausführungsberechtigung auf die Hardware sowie globale Ressourcenkontrolle. Sämtliche ausgeführten Prozesse, dazu zählen alle virtuellen Maschinen, werden im Benutzermodus ausgeführt. [38] Als Konsequenz muss der Hypervisor sämtliche Kernel-Modus-Systemaufrufe der Gastbetriebssysteme, welche aus Sicht der realen Maschine im Benutzermodus angefordert werden, in den Kernel-Modus übersetzen, um eine Ausführung durch die reale CPU zu ermöglichen. Dieses Sicherheitsmodell führt aufgrund häufiger Kontextswitches zu Leistungseinbußen zugunsten der IT-Sicherheit, nämlich der höheren Isolation zwischen den virtuellen Maschinen.

Der Hypervisor oder auch Virtual Machine Monitor (im Folgenden VMM abgekürzt) ist eine Softwarekomponente, welche es ermöglicht, Gastbetriebssysteme durch Abstraktion einer realen Maschine in VMs zu betreiben. Nach Popek & Goldberg hat der Hypervisor drei essentielle Charakteristika:

  1. Die virtuelle Maschine ist grundsätzlich identisch zu ihrer realen Maschine. Die in einer VM ausgeführten Programme verhalten sich in ihrer Effektivität wie bei der Ausführung innerhalb der realen Maschine.
  2. Der VMM muss effizient arbeiten. Daraus ergibt sich die Anforderung, Ausführungsoperationen direkt auf dem abstrahierten Prozessor, keinesfalls aber in einer emulierten oder interpretierten Umgebung auszuführen.
  3. Der VMM besitzt die vollständige Kontrolle über die Systemressourcen der VM. Unter keinen Umständen hat ein Programm Zugriff auf Ressourcen, wenn der Hypervisor diese der VM nicht zugeordnet hat. Dies beinhaltet auch die zeitliche Zuweisung.

Gängige Hypervisor-Implementierungen folgen diesen Charakteristika und realisieren in ihm die Verwaltungsschicht für die Abstraktion der Hardware in besonders „schlanker“ Form, um die Effizienz zu maximieren: Sämtliche nicht für die Virtualisierung zuständigen Komponenten werden in eine Management-VM ausgelagert. Diese Management-VM bildet die Schnittstelle für administrative Werkzeuge.[39]

5.3.2 Angriffsvektoren

Virtuelle Maschinen sind potenziell Träger von geschäftskritischen E-Business-Anwendungen und Diensten, deren Nichtverfügbarkeit oder Modifikation durch einen unberechtigten Angreifer nachhaltigen Schaden für das Unternehmen haben kann. Die folgenden Abschnitte beleuchten das Worst-Case-Szenario aus Sicht dieses E-Business-Dienstes.

5.3.2.1 Hypervisor

Der Hypervisor muss als eigenständiges Betriebssystem angesehen werden. Seine Hauptaufgabe ist die Ressourcenallokation der realen Maschine, die Veredelung der Hardware und multiple Präsentation dieser in Form von virtuellen Maschinen. Hypervisors bieten jedoch keine Möglichkeit der direkten Benutzeranmeldung oder -interaktion und ihr Befehlssatz ist beschränkt auf die für die Virtualisierung notwendigen Aktionen durch spezielle Interface-Aufrufe. Diese Tatsache schließt den Angriffsvektor durch lokale Benutzer aus.

Hypervisors stehen allerdings in Kontakt miteinander, um erweiterte Virtualisierungsdienste (z. B. Live-Migration von Virtuellen Maschinen) anzubieten. Hierzu ist zwingend die Kommunikation über ein lokales Netzwerk erforderlich. Durch die Öffnung von Schnittstellen und Diensten in das Netzwerk entsteht ein potentielles Sicherheitsrisiko. Ein entfernter Angreifer kann diese Schnittstellen für Angriffe gegen den Hypervisor nutzen, um ihn zu kompromittieren oder einen Ausfall des Dienstes (Denial of Service) zu verursachen. Es ist wichtig herauszustellen, dass ein erfolgreicher Angriff auf den Hypervisor zur Gefährdung aller VMs führt: Ein Erlangen der Kontrolle über den Hypervisor führt zur Kontrolle über alle VMs, ein erfolgreicher Denial of Service gegen den Hypervisor führt zum Ausfall aller betriebenen VMs.

Durch die häufige Homogenität einer Virtualisierungsinfrastruktur besteht im Falle eines erfolgreichen Angriffs gegen einen Hypervisor die große Gefahr, dass weitere Systeme betroffen sind. In diesem Fall kann schon ein erfolgreicher Angriff zur Gefahr für alle virtualisierten Systeme und E-Business-Dienste eines Unternehmens werden.

5.3.2.2 Management-VM

Die Management-VM ist die priorisierte VM, welche Schnittstellen zum Hypervisor in Form von speziellen API-Aufrufen zur Verfügung stellt. Kompromittierung der Management-VM führt automatisch zur Steuerung des Hypervisors und zum Erlangen der Kontrolle über das Virtualisierungssystem und alle VMs:

Durch die modulare Architektur aktueller Virtualisierungslösungen muss es jedoch nicht zwingend der Fall sein, dass ein erfolgreicher Denial of Service gegen die Management-VM zum Ausfall des gesamten Systems führt. Der Hypervisor führt seinen Dienst fort und gegebenenfalls können Mechanismen in Gang gesetzt werden, die eine Rettung der VMs oder eine Reaktivierung der Management-VM initiieren.

Die Management-VM als eigenständiges Betriebssystem bietet sowohl lokale als auch entfernte Anmeldemechanismen zur Verwaltung durch den Administrator oder eine entfernte Instanz. Ferner bietet sie Dienste im lokalen Netzwerk an, über die der Virtualisierungshost gesteuert werden kann. Diese Tatsache fordert besonders kritische Beachtung: Als Angriffsvektoren kommen nun das Netzwerk über die geöffneten Schnittstellen und auch potenziell lokale Sicherheitslöcher in Frage. Zudem müssen weitere IT Systeme (z. B. Verzeichnisdienste) einer Sicherheitsbetrachtung unterzogen werden, falls Benutzerauthentifizierungen über zentrale Dienste geregelt werden. Die Stabilität wird potenziell durch den großen Wirkungsbereich des lokalen Administrators beeinflusst, welcher durch Änderungen am System dessen Integrität gefährden kann.[40][41][42]

5.3.2.3 Virtuelle Maschine

Jede virtuelle Maschine ist ein eigenständiges Betriebssystem. Dieses stellt in IT-Architekturen Dienste im lokalen Netzwerk zur Verfügung und ist eng in die Gesamt-IT integriert. Somit muss jede virtuelle Instanz einer sicherheitsrelevanten Betrachtung wie eine traditionelle physische Maschine unterzogen werden. Als Angriffsvektoren sind hier Netzwerkdienste wie auch lokale Angriffe zu nennen, welche die Gefahr einer fremden Kontrolle darstellen oder Verfügbarkeit gefährden können.

Das Gefahrenpotenzial scheint zunächst nicht größer zu sein als das einer realen Maschine, stellt man den Grundsatz der perfekt voneinander gekapselten VMs nicht in Frage. Durch die hohe Dichte virtueller Maschinen auf gemeinsamer Hardware erhöht sich jedoch potenziell die Gefahr durch einen Angriff. Zuvor voneinander getrennte Systeme werden nun gemeinsam betrieben und ihre Isolation muss durch die eingesetzte Virtualisierungssoftware sichergestellt werden.

Jede Software birgt allerdings die Gefahr, fehlerhaft zu sein. Deshalb kann Virtualisierung niemals vollständig sicherstellen, dass virtuelle Instanzen autark operieren. Gelingt einem Angreifer der Ausbruch aus einer VM, so gelingt ihm möglicherweise ein Angriff gegen den Hypervisor und damit besitzt er die Kontrolle über alle auf diesem Hypervisor betriebenen VMs.

Schon die Injektion ausführbaren Codes an Stellen außerhalb des für die VM vorgesehenen Speichers kann sich negativ auf andere virtuelle Instanzen auswirken. Somit erhöht sich die Notwendigkeit der kritischen Betrachtung aller Betriebssysteme hinsichtlich der IT-Sicherheit in virtuellen Umgebungen.

5.3.2.4 Verfügbarkeit

Grundsätzlich kann Virtualisierung die Verfügbarkeit einer Infrastruktur und der darauf betriebenen Dienste (z. B. E-Business-Systeme) erhöhen. So ist es möglich, im Falle von Wartungsarbeiten an der Hardware durch erweiterte Virtualisierungsmechanismen die produktiven Instanzen live im Betrieb auf andere Systeme zu verschieben. Gleichzeitig wird bei Nichtverfügbarkeit der Virtualisierungsplattform (etwa durch erfolgreiche Kompromittierung oder Denial Of Service des Hypervisors) jedoch auch eine größere Zahl produktiver Instanzen betroffen sein. So können "mit einem Angriff" mehrere Komponenten von E-Business-Systemen betroffen sein und eine ganze Dienste-Infrastruktur zum Erliegen gebracht werden.

5.4 Cloud-Computing

5.4.1 Was ist Cloud Computing?

Das Bundesamt für Sicherheit in der Informationstechnik (BSI) hat Cloud Computing wie folgt definiert:

Cloud Computing bezeichnet das dynamisch an den Bedarf angepasste Anbieten, Nutzen und Abrechnen von IT-Dienstleistungen über ein Netz. Angebot und Nutzung dieser Dienstleistungen erfolgen dabei ausschließlich über definierte technische Schnittstellen und Protokolle. Die Spannbreite der im Rahmen von Cloud Computing angebotenen Dienstleistungen umfasst das komplette Spektrum der Informationstechnik und beinhaltet unter Anderem Infrastruktur (z. B. Rechenleistung, Speicherplatz), Plattformen und Software.[43]

Auch wenn die Idee als innovativ verkauft wurde, so war dieser Ansatz bereits bei den ersten IBM-Mainframes erkennbar. Auch dort konnten die vorhandenen Ressourcen bedarfsgerecht an mehrere Nutzer verteilt werden. Auf Grund der weltweiten Vernetzung von Rechenzentren und Rechenleistung sind heutzutage andere Möglichkeiten gegeben. Das National Institute for Standards and Technology geht darüber hinaus auch auf die Service Provider ein, indem es definiert: Cloud Computing ist ein Modell, das es erlaubt bei Bedarf, jederzeit und überall bequem über ein Netz auf einen geteilten Pool von konfigurierbaren Rechnerressourcen zuzugreifen, die schnell und mit minimalem Managementaufwand oder geringer Serviceprovider-Interaktion zur Verfügung gestellt werden können.[44]

Cloud Computing umfasst sicherlich die Vereinigungsmenge dieser beiden Definitionen und ferner weitere Aspekte und Möglichkeiten der Bereitstellung von IT-Dienstleistungen und -lösungen. Jedoch sollte man vorsichtig sein mit der Bezeichnung von Cloud-Angeboten, da diese heutzutage häufig auch im Kontext von Marketingmaßnahmen als Modebegriff für andere Dienste verwendet werden.

5.4.2 Cloud Services

Mit Cloud Computing können diverse Dienste über das Netzwerk angeboten werden. Dies beschränkt sich nicht nur auf Datenspeicherkapazitäten oder Rechenleistung. Auch Anwendungen oder ganze Work-Flows können mit Cloud Services abgebildet und zur Verfügung gestellt werden.

Charakterisiert werden kann ein Cloud Service nach der NIST-Definition wie folgt: [45]

  • On-demand Self Service: Die Provisionierung der Ressourcen läuft automatisch ohne Interaktion mit dem Service Provider ab
  • Universeller Netzwerkzugriff: Die Services sind mit Standardmechanismen über das Netz verfügbar und nicht an einen bestimmten Client gebunden
  • Ressourcen-Vereinigung: Die Ressourcen des Anbieters liegen in einem Pool vor, aus dem sich viele Anwender bedienen können. Dabei wissen die Anwender nicht, wo die Ressourcen sich befinden – vertragliche Regelungen, wo Daten gespeichert werden müssen, sind aber möglich
  • Schnelle Elastizität: Die Services können schnell und elastisch zur Verfügung gestellt werden, in vielen Fällen auch automatisch. Aus Anwendersicht scheinen die Ressourcen daher unendlich zu sein
  • Service/Verbrauch: Die Ressourcennutzung kann gemessen und überwacht werden und entsprechend bemessen auch den Cloud-Anwendern zur Verfügung gestellt werden.

Grundsätzlich sind die Services, die aus der Cloud heraus angeboten werden können, in drei Kategorien sortierbar: [46]

  • Software-as-a-Service (SaaS): Eine Anwendung wird über das Netzwerk bereitgestellt. Google Docs kann hier exemplarisch genannt werden, der Vielfalt von SaaS sind jedoch keine Grenze gesetzt
  • Platform-as-a-Service: Ein gesamte Plattform wie Windows Azure von Microsoft oder Googles Betriebssystem Chrome wird dem Nutzer zur Verfügung gestellt.
  • Infrastructure-as-a-Service: Eine gesamte Infrastruktur wird dem Kunden zur Verfügung gestellt, um beispielsweise seine eigene Umgebung darauf abzubilden

Darüber hinaus nimmt das NIST eine sinnvolle Unterteilung der verschiedenen Cloud-Arten vor, deren unterschiedlichen Charakteristiken essenziell für eine strategische Entscheidung für oder gegen einen Gang in die Cloud sind: [47]

  • Private Cloud: Die Infrastruktur der Cloud wird von der nutzenden Organisation eigenständig verwaltet oder von einem dritten Unternehmen exklusiv zur Verfügung gestellt
  • Community Cloud: Die Cloud-Infrastruktur wird von einer Gruppe von Organisationen genutzt, die gemeinsame Interessen haben. Dies können unter anderem gemeinsame Sicherheits-Policies oder Compliance-Anforderungen sein. Die Infrastruktur wird dabei entweder von einer der nutzenden Organisationen oder einem dritten Unternehmen der Gruppe exklusiv zur Verfügung gestellt.
  • Public Cloud: Die Dienste, die über die Cloud angeboten werden, können von allen genutzt werden. Eine Exklusivnutzung ist dabei nicht vorgesehen. Angeboten wird eine Public Cloud von einer Organisation, die diese Dienste gegen eine entsprechende Vergütung zur Verfügung stellt.
  • Hybrid Cloud: Eine hybride Cloud ist eine Vermischung von zwei oder drei der bereits aufgeführten Cloud-Arten.

5.4.3 Sicherheit in der Cloud

Abbildung 2: Nicht einmal die Hälfte der befragten Cloud-Provider glaubt, dass die Daten ihrer Kunden bei ihnen wirklich sicher sind.
Abbildung 2: Nicht einmal die Hälfte der befragten Cloud-Provider glaubt, dass die Daten ihrer Kunden bei ihnen wirklich sicher sind.[48]

Die Sicherheit von Cloud Computing oder Cloud Services ist für Unternehmen nur schwer zu beeinflussen. Lediglich Private oder Community Clouds, die von der eigenen Organisation betrieben werden, können wirklich beeinflusst werden. Bei von Dritten betriebene Infrastrukturen muss man darauf vertrauen, dass die Infrastruktur sicher betrieben wird. Gegebenenfalls können mit vertraglichen Regelungen gewissen Standards und Maßnahmen vorgegeben werden. Grundsätzlich sollte der Infrastruktur-Anbieter als Partner betrachtet werden, um Spannungen zu vermeiden.[49] Auch wenn der Infrastruktur-Mieter einen Informationsnachteil hinsichtlich der Leistungsfähigkeit des Cloud-Anbieters besitzt, sollten die Service-Level-Agreements (SLA) relativ restriktiv gestaltet werden, um im Schadensfall mit der Androhung hoher Regresszahlungen der Anbieter zu einer schnelle Reaktion zu motivieren. Darüber hinaus ergibt sich durch die Nutzung von Cloud-Services oftmals auch eine hohe Abhängigkeit vom Dienstleister.[50] Es muss darauf vertraut werden, dass dieser die Dienste kompetent, hochverfügbar, sicher und performant zur Verfügung stellen kann. Auch die Nicht-Verfügbarkeit von Cloud-Services stellt ein Sicherheitsrisiko dar, da möglicherweise unvorhersehbare Verhaltensweisen von Anwendungen und Datenverbindungen auftreten können.

Die Unternehmensprozesse, die beim Cloud-Anbieter implementiert werden sollen, lassen sich möglicherweise nicht vollständig abbilden, da dessen Struktur, gerade bei Public Clouds, gar nicht auf hohe Flexibilität, sondern auf einfaches und leichtes Management ausgerichtet ist. Kompromisse bei der Prozessabbildung können unter Umständen die Sicherheit gefährden, wenn notwendige Teilprozesse zur Wahrung der Sicherheit und Datenintegrität nicht oder nur unzureichend umgesetzt werden können. .[51]

Bei der Wahrung der Datenschutzes und der Datensicherheit muss sich das Unternehmen auf die Aussagen und Verpflichtungen des Cloud-Anbieters verlassen. Einen tatsächlichen Einfluss auf das Verhalten des Dienstleisters und seiner Mitarbeiter hat das Unternehmen nicht. Und selbst wenn es diesen Einfluss hätte, wäre das Verhalten des Dienstleisters wohl nicht kontrollierbar. Mit SLAs kann nur der rechtliche Rahmen abgesteckt werden – ob dieser auch eingehalten wird ist nur schwer überprüfbar. Prinzipbedingt ergibt sich für die Unternehmensdaten dadurch eine deutlich größere Gefährdung.[52] Gerade aus Datenschutzsicht muss abgewogen werden, welche Cloud-Service-Dienstanbieter genutzt werden dürfen. Nach geltendem EU-Recht dürfen Service-Provider personenbezogene Daten nicht in Länder mit unzureichendem Datenschutz exportieren[53][54]. Gleichzeitig unterliegen amerikanische Unternehmen entsprechend amerikanischer Gesetzgebung. Gemäß dem PATRIOT Act[55] müssen US-Unternehmen US-Behörden auch den Zugang zu ihren Servern im EU-Gebiet ermöglichen[56] Aufgelöst werden kann dieser Widerspruch wohl nur dadurch, dass IT-Dienstleistungen von US-Unternehmen nicht mehr genutzt werden.

Gerade die hochverfügbare Bereitstellung der Cloud-Dienste stellt für die Cloud-Dienstleister eine große Herausforderung dar, auf die sich die Kunden aber verlassen müssen. Im Sommer 2011 waren beispielsweise die Cloud-Rechenzentren von Amazon und Microsoft nach einem Blitzeinschlag mehrere Stunden nicht erreichbar.[57] Durch den Ausfall der Rechenzentren war zum einen der Zugriff auf die Daten nicht möglich. Gleichzeitig bestand die Gefahr, dass Sicherungs- und Sicherheitsmaßnahmen der Rechenzentrumsbetreiber nicht vollständig aktiv waren und so ein unbefugter Zugriff auf die gehosteten Daten möglich war.

5.5 Web-Applikationen

Webbasierte Anwendungen erfreuen sich immer größerer Beliebtheit. Das sogenannte Web 2.0 ermöglicht es dem surfenden Nutzer, selbst den Inhalt der Webseite mitzugestalten. Vor der Web 2.0-Zeit war der Webseiten-Inhaber alleiniger Herrscher über den publizierten Inhalt. Mit neueren Technologien wie dem dynamischen Nachladen von Webseiten und kontextbezogenen Inhalten wurden das Benutzerempfinden und der Komfort deutlich gesteigert. Intelligente Webseiten ermöglichen es dem Webmaster auch ohne HTML-Kenntnisse, Inhalte zu veröffentlichen oder weitere Benutzer auf seine Webseite einzuladen und sein Publikum durch interessante Inhalte zu locken. Durch die Natur des Internets ist der Zugriff auf die Web-Anwendungen von überall möglich.

Dabei gilt das Internet als nicht vertrauenswürdiger Raum, denn jeder Hacker kann potenziell über das Internet eine Webseite angreifen. Benutzereingaben müssen daher immer als nicht vertrauensvoll angesehen und nur nach ausgiebiger Prüfung akzeptiert werden. Das "Open Web Application Security Project" beschäftigt sich mit den Risiken, die von Web-Anwendungen ausgehen. Es hat die zehn häufigsten Fehler und Risiken bei Web Anwendungen gesammelt und aktualisiert regelmäßig die Top 10-Liste. Im Jahre 2010 (aktuellster Report) handelte es sich folgende Angriffsvektoren:[58]

  1. Injektions-Risiken (Risiken, die auftreten, wenn Schadcode geschickt einem Interpreter im Kontext einer anderen Anfrage gesendet wird. Die bekannteste Injektions-Attacke ist die SQL Injection)
  2. Cross Site Scripting (Eine Attacke, die gegen den Web Browser gerichtet ist. Durch geschickte Formulierung wird dem Benutzer Schadcode übermittelt, der vom Browser interpretiert und ausgeführt wird. So lassen sich Sitzungen übernehmen oder der Benutzer wird unbewusst auf andere Webseiten umgelenkt)
  3. Fehler beim Management von Authentisierungs- und Sitzungsmechanismen (ungenügende Authentisierung oder nicht hinreichend sicheres Sitzungshandling der Web-Applikation)
  4. Unsichere Referenzen auf interne Strukturen (ungesicherter Zugriff auf Daten, Dateien, Verzeichnisse, auf die nicht direkt zugegriffen werden sollte)
  5. Cross Site Request Forgery (XSRF, Zugriff auf andere Webseiten im authentisierten Sicherheits-Kontext durch manipulierte Referenzen)
  6. Fehlkonfiguration von Sicherheitseinstellungen (keine oder unzulängliche Konfiguration von Mechanismen zur Sicherung der Web-Plattform, der Interpreter, Server etc.)
  7. Unsichere Speicherung kryptografischen Inhalts (Kryptografische Methoden werden unzureichend angewandt und erlauben es einem Angreifer, Sicherheitseinrichtungen mit einfachen Mittels zu umgehen)
  8. Unzureichend gesicherte URL-Zugriffe (nicht-öffentliche oder sensitive Web-Bereiche, deren Zugriff nicht hinreichend mit Zugriffssicherung geschützt ist)
  9. Unsicherer Datentransport (unzureichende oder keine gesicherte Datenkommunikation zwischen Server und Client)
  10. Nichtvalidiere Weiterleitungen (Keine oder nicht hinreichende Überprüfung automatisch generierter Benutzer-Weiterleitungen. Es besteht die Gefahr, dass Benutzer auf schadhafte Webseiten geleitet werden.)

Diesen Angriffen mit modernen Technologien sicher zu entgegnen, erfordert ein gutes Maß an Entwicklerkenntnissen. Es ist fast nicht mehr möglich, eine Vielzahl von Programmiersprachen sicher zu beherrschen und die enthaltenen Sicherheitsfunktionalitäten zu kennen. Darüber hinaus werden Anwendungen komplexer sowie geschichtet und erstrecken sich über viele verteilte Module hinweg. Verschiedene Eingabe- und Endgeräte müssen unterstützt werden, um möglichst viele Endnutzer anzusprechen und ihnen größtmöglichen Komfort zu bringen.

Dies steht häufig den sehr kurzen, weil auf Kosten bedachten, Entwicklungszeiten entgegen, sodass Qualität und Sicherheit leiden. Darüber hinaus werden die Service-Infrastrukturen (siehe Kapitel 5) komplexer und ein erfolgreicher Angriff gegen die Web-Komponenten (Darstellungsschicht) schlägt durch bis hin zur Business-Logik oder der Datenhaltungsschicht. Oft teilen sich aufgrund von "Economies-of-Scales"-Faktoren mehrere Systeme dieselben zentralen Komponenten (siehe Virtualisierung, Kapitel 5.3). Ein erfolgreicher Angriff kann eine erfolgreiche Kompromittierung von einer Vielzahl von Unternehmenssystemen zur Folge haben.

Gerade moderne E-Business-Systeme sind verflochten in eine große Zahl unternehmenskritischer Anwendungen. So müssen Supply-Chain-Systeme Zugriff auf Lagerbestandsdaten, Produktions- oder Auslastungsdaten haben, die in der Regel im ERP (Enterprise Ressource Planning)-System gespeichert sind. Der Zugriff auf dieses System kann als unternehmenskritisch angesehen werden, sofern unsichere ins Internet exponierte Anwendungen eine Schnittstelle dorthin nutzen. Allein ein Denial-Of-Service-Angriff gegen eine der eingesetzten Komponenten kann bei schlechter Sicherheitsarchitektur den Ausfall eines Produktionstages und damit zusammenhängend einer großen Geldsumme bedeuten.

Unsichere ungeschützte Browser oder unsichere Third-Party-Anwendungen, die auf diese unternehmenskritischen Systeme zugreifen, können ein zusätzliches unbestimmbares Risiko bedeuten. Gerade der Einsatz unsicherer Client-Komponenten (in diesem Fall frei verfügbare Browser, Third-Party Plugins, weitere installierte Client-Programme)[59] im internen Netzwerk, das in der Regel als hinreichend vertrauenswürdig angesehen wird und mit dem viel vertrauenswürdige Netzwerkkommunikation einher geht, birgt ein großes Risiko. Der Zugriff auf vertrauenswürdige Daten über ebensolche Drittanwendungen (Web-Zugriff auf ERP-System oder Finanzdaten) kann bei mangelnder Zugriffssteuerung über die eingesetzten Softwarekomponenten ein unkalkulierbares Risiko bedeuten. Es könnten sich Schadprogramme in die Browser-Funktionen eingenistet haben, die die übermittelten Daten abzweigen oder verfälschen. Darüber hinaus fehlt das Management von Patches und Konfiguration durch die IT-Verwaltung, sodass gegebenenfalls Schließungen bekannter Sicherheitslücken wie etwa dem TLS 1.0-Problem (siehe Kapitel 5.2.6.2) nicht zeitnah durchgeführt werden.

5.6 Smartphone-Apps

Als Apps werden kleine Anwendungsprogramme bezeichnet, die auf Smartphones oder Tablet-Computern installiert werden können, um den Funktionsumfang des Gerätes zu vergrößern. Üblicherweise können Apps aus einem zentral verfügbaren Onlineshop, der in das jeweilige Betriebssystem integriert ist, meist App-Store, Market oder ähnlich bezeichnet, bezogen werden. Der Werbeausspruch „Es gibt für alles eine App“ der Firma Apple hat sich bewahrheitet. Für alle nur erdenklichen Situationen und Anforderungen gibt es Programme, inzwischen wäre es schon fast wünschenswert, wenn es für alles nur eine App geben würde.

Die beiden Marktführer auf dem Gebiet der Smartphone-Betriebssysteme Google (mit dem Betriebssystem Android) und Apple (mit iOS) verfolgen hinsichtlich ihrer App-Politik unterschiedliche Strategien. Um Apps in den Store von Apple einstellen zu lassen, muss der entsprechende Quellcode eingereicht und überprüft werden. Nur wenn Experten von Apple bestätigen, dass die App nicht gegen Unternehmensrichtlinien verstößt oder schadhaften Code enthält wird, wird diese im Online-Shop verfügbar gemacht. Dieses Verfahren, welches Apple sich zudem bezahlen lässt, ist auch der Grund, wieso Apps, die sowohl für iOS als auch für Android verfügbar sind, im App-Store von Apple meist teurer als im Android Market sind. Die Philosophie von Google steht in einem relativ krassen Gegensatz zum Vorgehen von Apple. Wenn sich ein Entwickler bei Google registriert, kann er beliebige Anwendungen praktisch ungeprüft im Android Market verfügbar machen.[60] Vorteil dieses Vorgehens ist eine deutlich größere Vielfalt an Anwendungen und Tools. Allerdings besteht durch die fehlende Prüfinstanz auch ein deutlich höheres Risiko, eine Anwendung zu installieren, die potenziell schadhaft ist.

Für Unternehmen, die Apps für ihre Kunden, Mitarbeiter oder Vertriebspartner bereitstellen, ergeben sich ganz neue Möglichkeiten zur direkten Kommunikation mit den Partnern. Mitarbeiter beispielsweise können über spezielle Anwendungen direkt auf Daten zugreifen, die sie beim Endkunden benötigen. Dies kann von einfachen Produktspezifikationen bis hin zu komplexen Reparaturanleitungen gehen. Auch die Übertragung von Nutzerdaten ist möglich. In der Lagerverwaltung kann mit Apps, die direkt auf die Lagerhaltungs-Datenbank zugreifen, die Durchlaufzeit der Waren reduziert werden, da ein zentral bereit stehender Computer für die Datenabfrage nicht mehr nötig ist. Gerade vor dem Hintergrund der Just-in-Time-Produktion, die als Ziel hat, Materialbestände und Durchlaufzeiten zu minimieren sowie die Produktivität und Flexibilität zu erhöhen[61], bieten sich viele Möglichkeiten zur Optimierung. Endkunden können mit speziell für sie angepassten Apps in direkte Kommunikation mit dem Unternehmen treten und unter anderem zu beliebigen Zeitpunkten und unabhängig von der Verfügbarkeit eines internetfähigen Computers mit dem Unternehmen geschäftliche Transaktionen durchführen. Dies reicht vom einfachen Abfragen von Informationen bis hin zur Bestellung von Waren und Gütern. Da die meisten Smartphones mit einer Internetflatrate ausgestattet und zudem dauerhaft mit dem Internet verbunden sind, können Informationen auch vom Unternehmen auf die Endgeräte der Kunden übertragen werden, um sie zeitnah über Neuigkeiten zu informieren. Dieser direkte Kontakt mit dem Kunden erhöht wiederum die Kundenbindung und Kundentreue und schafft langfristig einen potenziell höheren Umsatz pro Kunde.

Für mögliche Angreifer sind Smartphones und die darauf installierten Anwendungen ein reizvolles Ziel. Während Computer durch den Nutzer relativ frei konfigurierbar und damit auch absicherbar sind, sind die Möglichkeiten zur individuellen Anpassung von Smartphones stark limitiert. Systemkonfigurationen sind nur in kleinem Rahmen möglich und beeinflussen die Systemsicherheit nur marginal. Bei den installierten Anwendungen muss der Nutzer darauf vertrauen, dass die App tatsächlich nur das tut, was versprochen ist. Eine Kontrolle ist kaum möglich, da entsprechende Werkzeuge, die beispielsweise die Netzwerkkommunikation oder die Prozessauslastung überwachen könnten, gar nicht so tief im Betriebssystem verankert werden können, um diese Tätigkeiten durchzuführen. Eine Manipulation von installierten Apps ist für Unternehmen, welche die entsprechenden Apps zur Verfügung stellen, oftmals nur schwer feststellbar. Grundsätzlich besteht die Gefahr, dass durch veränderte oder gefälschte Anwendungen auf Daten zugegriffen wird, die gar nicht verfügbar sein sollten. Auf diese Gefahr müssen Unternehmen vorbereitet sein, um wichtige Daten nicht an Angreifer zu verlieren. Dies führt in der Regel zu einem erheblichen Reputationsverlust und kann schwere finanzielle Folgen haben, die nur schwer vorhersagbar sind.

6 Gegenmaßnahmen

Grundsätzliche unternehmerische Maßnahmen werden in technische und organisatorische Schritte untergliedert. Diese vermindern das Risiko, erfolgreichen Angriffen ausgesetzt zu sein. Grundsätzlich gilt: Bei allen Gegenmaßnahmen muss zunächst eine Risikobetrachtung durchgeführt werden. In einer Risikoanalyse werden zunächst die potenziellen Risiken quantifiziert und dann mit den Kosten zur Risikominimierung oder den -ausschluss verglichen. Bei einer Risikominimierung müssen die Kosten des Restrisikos natürlich mit in die Kalkulation einfließen. Diese konkreten Risikobetrachtungen werden wir nachfolgend nicht durchführen, da sie stets unternehmensspezifisch sind.

Als Fokus dieser Arbeit werden aktuelle IT Trends betrachtet. Diese werden in den Schwerpunkten dieses Absatzes "Virtualisierung", "Cloud Computing" und "App Entwicklung" separat behandelt.

6.1 Technische Maßnahmen

Dieser Abschnitt beschreibt alle technisch umsetzbaren Mittel, die ein Unternehmen grundsätzlich einsetzen kann, um seine IT-Systeme zu schützen. Der Fokus liegt hier nicht zwingend auf E-Business-Systemen, da auch ein Grundschutz zu den notwendigen Voraussetzungen gehört, um seine unternehmenskritischen E-Business Systeme hinreichend zu sichern.

6.1.1 Sichere Programmierung

Grundsätzliche sollte ein Unternehmen darauf achtgeben, dass selbstentwickelte Anwendungen einem Qualitätsmanagement zur sicheren Programmierung unterzogen werden. Dies beginnt bereits im frühen Stadium der Entwicklung. Das Entwicklerteam sollte sich über Vorgehensweise und eingesetzten Programmiersprachen im Klaren sein und diese den jeweiligen Anforderungen an die Anwendungssicherheit anpassen.

Hinsichtlich des Projektmanagements bieten sich Methoden an, die einen starken Fokus auf Qualität des erzeugten Programmcodes legen. Modelle, welche das Augenmerk eher auf die schnelle Lieferung von Ergebnissen legen, sind für sicherheitskritische Entwicklungen ungeeignet. Auch bei der Wahl der Programmiersprachen und eingesetzter Frameworks sollte der Fokus auf Sicherheit gelegt werden. So können bei geeigneter Wahl der Programmiersprache auf zusätzliche Validierungsmechanismen verzichtet werden, welche die Programmiersprache bereits mitbringt. Java etwa bietet integrierte Mechanismen zur Überwachung von Pufferüberläufen (Buffer Overflows), welche einen wirksamen Schutz gegen diese Programmierfehler darstellen. Jedoch stellen Fehler in der Implementierung nicht immer einen allumfassenden Schutz dar, sodass es trotz dieser Mechanismen zu Pufferüberläufen [62] kommen kann. Dies bestätigt die Notwendigkeit einen ausgeprägten Qualitätsmanagements bei der Softwareentwicklung.

Dennoch sollten alle vom Benutzer eingegebenen Daten überprüft und validiert werden. Für viele Programmiersprachen gibt es bereits vorkonfigurierte Module, die diese Sicherheitsmechanismen übernehmen. Die entsprechenden Funktionen müssen dann nur noch an geeigneter Stelle im Programmcode eingetragen werden. Zusätzlich kann der Einsatz von sogenannten Wrapper-Klassen gezielte Injektions-Attacken verhindern oder weitere sicherheitsrelevante Überprüfungen übernehmen.

Für unternehmensinterne Anwendungen kann der Code zudem digital signiert werden. Entsprechende Policies auf den Client-Computern können regeln, welche Anwendungen überhaupt ausgeführt werden dürfen oder welcher Systemzugriff ihnen gewährt wird. Auch Skripte und aktive Komponenten in Webseiten oder sogenannte embedded Objekte (eingebettete aktive Objekte in beispielsweise Excel-, PDF- oder Word-Dateien) können digital signiert, sodass ihre Ausführung auf den unternehmenseigenen Computern als sicher angesehen wird und Drittanbietern nur eingeschränkte Ausführung gewährt wird.

6.1.2 Client-Management

Zum Client-Management gehören zentrale Verwaltungskomponenten, um Computer in einem Netzwerk zu steuern, verwalten und ihren Betrieb zu regeln. Typischerweise werden die folgenden Anwendungsgebiete mithilfe eines Client-Managements realisiert:

  • Pflege der Betriebssysteme und Patches
  • Pflege der Anwendungsprogramme, Installationen und Aktualisierungen
  • Konfiguration der Arbeitsplätze und Richtlinienverwaltung
  • Profilmanagement der Benutzer

Ein striktes Client-Management kann die Unternehmenssicherheit enorm steigern. Durch den Einsatz geeigneter Policies und Sicherheitsmechanismen können Client-Systeme so weit eingeschränkt werden, dass nur durch die unternehmenseigene IT-Organisation freigegebene Komponenten zum Einsatz kommen können. Wie zuvor genannt, kann etwa die Ausführung von nicht vertrauenswürdigem Code verhindert und die Installation von Drittprogrammen durch geeignete technische Maßnahmen unterbunden werden. Dies schränkt in den meisten Fällen jedoch die Benutzer so weit in ihrer Freiheit ein, dass zugunsten des Benutzererlebnisses weniger strikte Regelungen in Unternehmen gefunden werden.

Es ist jedoch denkbar, dass besonders schützenswerte IT-Systeme über spezielle Programme oder Infrastrukturen erreicht werden müssen, auf denen die Client-Sicherheit gewährleistet ist. So kann der Einsatz von Anwendungsvirtualisierung oder Terminal-Server-Technologien etwa helfen, die Sicherheit zu erhöhen. Benutzer müssen für den Zugriff auf hochkritische Daten zunächst einen Terminal-Server erreichen, welcher gesondert gesichert ist. Von dort aus kann dann über geeignete Clients auf das eigentliche Programm zugegriffen werden. Es findet somit eine Abstraktion von dem Client-Computer und dem eigentlichen Client statt - der Client Computer wirkt nur noch als Bild-Anzeigemedium des zu schützenden Inhaltes. Jegliche weitere Interaktion ist wirksam unterbunden.

Zu diesem Client Management gehört mittlerweile nicht mehr nur das End-Computer-Management. Auch Appliances, Server, Firmware und Smartphones müssen berücksichtigt werden, die immer mehr Funktionen ausführen können und immer mehr zu Plattformen für unternehmenskritische Anwendungen werden. Nicht zuletzt muss der Hypervisor in Virtualisierungsinfrastrukturen einem besonderen Schutz unterworfen werden (Siehe Kapitel 5.3 und 6.3), da seine erfolgreiche Kompromittierung der einer Vielzahl von Systemen gleich kommt. Bei der Planung von Client-Management sollten diese somit berücksichtigt und integriert werden, sodass ein zentrales Client-System die Sicht auf alle im Unternehmen befindlichen Clients abbildet.

6.1.3 Sicherheitssysteme

Geeignete Sicherheitssysteme zur Erhöhung des Schutzes aufzubauen klingt einleuchtend als wirksame Maßnahme, seine unternehmerischen Systeme zu schützen. Zu diesen Systemen gehören klassischerweise Firewalls (sowohl auf Netzwerk- als auch auf Anwendungsebene), Inhaltsfilter, Intrusion-Detection/ -Prevention-Systeme. Diese sind an geeigneter Stelle auch eine sehr sinnvolle Investition, etwa im Bereich der DMZ (demilitarisierte Zone - Netzwerkbereich eines Unternehmens, das dem direkten Zugriff aus einem nicht-vertrauenswürdigen Netzwerk, etwa dem Internet, unterliegt).

6.1.3.1 Firewalls

Der Einsatz von Firewalls ist in den meisten Unternehmen üblich. Gerade als Gateways zwischen Internet, DMZ und Unternehmensnetzwerk nicht mehr wegzudenken, schützen sie die vertrauenswürdigen Netzwerke vor unberechtigten Zugriffen. Aber nicht nur Netzwerk-Firewalls gehören heutzutage in ein Unternehmen, auch Anwendungs-Firewalls sollten berücksichtigt werden und können die Sicherheit stark erhöhen.

Anwendungsfirewalls sind in der Lage, den Inhalt der im Netzwerk übertragenen Anwendungsprotokolle auszulesen und auf schadhafte Inhalte zu filtern. So können zum Beispiel auch Content-Filter Web-basierte Zugriffe auf spezielle Schlüsselbegriffe oder Muster filtern und die Sicherheit der im Internet surfenden Mitarbeiter erhöhen. Diese Systeme sind mittlerweile sogar im Stande, HTTPS-verschlüsselte Inhalte zu überprüfen. Dies wird über neu generierte Zertifikate ermöglicht, die beim Aufruf der Webseite durch das Filter-System erzeugt werden. Der Content-Filter steht somit als "guter" Man-in-the-Middle zwischen Client und Server und ist ein Hop in der Kommunikation, indem der SSL-Stream ent- und wieder verschlüsselt wird.

6.1.3.2 DNSSEC

DNSSEC (Domain Name System Security Extensions) ist eine Erweiterung des traditionellen DNS zur Namensauflösung um weitere Komponenten, die die Vertrauenswürdigkeit und Integrität der DNS-Antworten gewährleisten. Der Teilnehmer kann so sicherstellen, dass die Antwort auf eine DNS-Anfrage tatsächlich von dem adressierten DNS-Computer stammt und keine Man-in-the-Middle- oder sonstige Attacke im Wege stand. Cache-Poisoning-Attacken werden so wirksam verhindert. Der Benutzer weiß, dass er definitiv mit dem korrekten System, dessen Namen er angesprochen hat, kommuniziert oder eine korrekte Webseite angezeigt bekommt.

DNSSEC ist noch nicht weit verbreitet; durch seinen Einsatz ergeben sich weitere Probleme wie etwa ein leichteres Denial-of-Service durch den erhöhten Rechenaufwand. Das System bietet jedoch einen höheren Schutz gegenüber traditionellem DNS und wird vermutlich perspektivisch um weitere Sicherheitskomponenten ergänzt.

6.1.3.3 Intrusion Detection / Intrusion Prevention Systeme

Intrusion-Detection und Prevention-Systeme (IDS/IPS) zur Identifikation eines netzwerkbasierten Angriffes können weiterhin ein wirksames Mittel zur Erhöhung der Netzwerksicherheit darstellen. Diese Systeme überprüfen den Netzwerkverkehr entlang der Hauptleitungen des Unternehmens und kontrollieren bei laufender Kommunikation deren Inhalt auf spezielle Muster, die schadhaften Ursprung haben könnten. Auch Netzwerk-Scans können so identifiziert werden. Intrusion-Prevention-Systeme können zudem darauf reagieren und die aktiven Netzkopplungselemente dahingehen konfigurieren, dass der Angreifer unternehmensweit ausgeschlossen wird (Dynamische Access Control Lists).

6.1.3.4 (D)DoS-Systeme

Diese Systeme arbeiten ähnlich wie IDS/IPS als zusätzlicher Schutz durch Überwachung des Netzwerks. Sie erkennen Denial-Of-Service-Attacken und filtern diese entsprechend, bevor sie bei den eigentlichen produktiven Systemen ankommen. So können beispielsweise Flooding-Attacken, die über eine Vielzahl gleichzeitig abgesetzter Anfragen an ein System die Verfügbarkeit gefährden, wirksam abgewehrt werden. Diese Systeme können beispielsweise mit IDS/IPS kommunizieren, um eine weitere Störung durch die Quelle zu unterbinden. Sie fungieren auch als Proxy, die den eigentlich angebotenen Dienst in ein nicht vertrauenswürdiges Netzwerk bereitstellen, jedoch lediglich Filtermechanismen implementieren. Sämtliche Kommunikationsanfragen laufen dann zunächst über dieses System. Es gibt auch Software-Implementierungen, die schadhafte Anfragen bei einem produktiven Dienst verfallen lassen. Diese Implementierungsform verursacht zwar zusätzliche Last auf dem Produktivsystem, ist allerdings deutlich günstiger.

In jedem Fall müssen diese Systeme auch sicher konfiguriert und implementiert werden, sodass der erwartete Schutz tatsächlich Wirkung zeigt und das Unternehmen sich nicht in einer Pseudo-Sicherheit wiegt. Die Verfügbarkeit dieser Systeme kann durch geeignete redundante Systeme sichergestellt werden - insbesondere, wenn sie hochkritische Anwendungen schützen, die gehäuften Attacken ausgesetzt sind. Darüber hinaus können bei sehr starker Häufigkeit vorgeschaltete Last-Ausgleichssysteme eine zusätzliche Sicherheit gegen einen Denial-of-Service darstellen.

6.1.3.5 Honey Pots

Im Zusammenspiel mit einem sogenannten Honey-Pot System (ein System aus einem Rechnerverbund, das absichtlich einen für einen Angreifer vermeintlich interessanten zu attackierenden Dienst anbietet und Schwachstellen simuliert) können so sogar proaktiv Angreifer identifiziert und die produktiven Sicherheitskomponenten entsprechend konfiguriert werden.

Dem Nutzen des Einsatzes solcher Systeme steh allerdings eine relativ hohe Investitionssumme gegenüber. Es ist schwierig, die Investition zu begründen, wenn ein Unternehmen bislang keinem Angriff zum Opfer gefallen ist. Meist genügt die alleinige Risikokalkulation nicht, um die Befürwortung der Investition bei den Entscheidern hinreichend zu untermauern. Allerdings lieferten Medien in den vergangenen Jahren viele Datenskandale, die Manager abschrecken und eine Investition in Sicherheitsequipment rechtfertigen lassen sollten. Auch muss der Betrieb dieser Technologien sichergestellt werden, was Spezialwissen und Sicherheitsexperten voraussetzt. Dieses Personal zu beschaffen ist eine weitere Herausforderung, die die grundlegende Einbindung des Unternehmensmanagements in jene Sicherheitsfragen notwendig macht.

6.1.4 Protokollierung

Unternehmen sind heutzutage aufgrund rechtlicher Rahmenbedingungen angehalten, unterschiedliche Protokollierungsmechanismen zu implementieren. So kann eine umfangreiche Protokollierung aller administrativen und Benutzertätigkeiten helfen, sicherheitsrelevante Vorfälle aufzuklären und geeignete Maßnahmen zu ergreifen, dass diese zukünftig nicht wieder vorfallen. Auch können sich Unternehmen schützen, indem sie mithilfe von Protokollen eine gewisse "Unschuld" beweisen können - zwingende Voraussetzung hierfür ist jedoch, dass das Protokollierungssystem nachweisbar manipulationssicher aufgebaut und konfiguriert ist. Rechtlich sind Unternehmen sogar angehalten, gewisse Tätigkeiten zu protokollieren, etwa wenn dies durch den Berufsstand vorgeschrieben ist. Auch die Bereitstellung von Telekommunikationsdiensten wie ein Internetzugang erfordert Protokollierung der Internetaktivitäten, damit im Falle eines Rechtsstreit das Unternehmen nicht für den Benutzer haften muss.

Jedoch muss stets bei der Implementierung solcher Protokollierungsmechanismen auf die strikte Einhaltung datenschutzrechtlicher Bestimmungen geachtet werden. So dürfen die Protokolldaten lediglich direkt für den vorgesehenen Zweck eingesetzt und ggf. hinreichend anonymisiert verwendet werden. Dem Bundesdatenschutzgesetz muss in jedem Fall vollumfänglich entsprochen werden.

6.1.5 Verschlüsselung

Verschlüsselung gehört heutzutage zu den Standards, auf die Unternehmen zur Wahrung ihrer Geschäftsgeheimnisse setzen. Hierzu zählt insbesondere die Verschlüsselung der Endgeräte, vor allem der mobilen, sowie die Verschlüsselung von Datenkommunikation im Internet. Auch einzelne geschäftskritische Anwendungen werden durch die einfach einzusetzenden Verschlüsselungsalgorithmen heutzutage kryptografisch gesichert.

Wichtig beim Einsatz von Verschlüsselung ist die Beachtung aktueller Sicherheitsstandards und Beobachtung von Sicherheitstechnologien sowie der Angriffe auf Verschlüsselungsalgorithmen. So sollte das Unternehmen Richtlinien etablieren, die schwache Verschlüsselung (z. B. WLAN-WEP, TLS 1.0) verbieten und deren Einsatz disziplinarisch verfolgen. Technologisch können diese hohen Verschlüsselungsstärken durch Geräte-Policies forciert sowie selektierte Zugriffe auf unverschlüsselte oder schwach verschlüsselte Inhalte unterbunden werden.

Auch die digitale Signatur zählt zu diesen kryptografischen Aspekten, die Berücksichtigung finden sollten. So sind potenziell geschäftskritische aktive Inhalte durch das Unternehmen zu signieren und beim Einsatz digitaler Unterschriften auf aktuelle kryptografische Methoden zu setzen.

6.1.6 Zertifikate

Zertifikate knüpfen eng an das zuvor genannte Thema Verschlüsselung an. Digitale Zertifikate identifizieren Teilnehmer in einer Netzwerkkommunikation und stellen eine Verschlüsselungsinfrastruktur (Public-Key-Infrastruktur) durch die Bereitstellung asymmetrischer Kryptografiemethoden zur Verfügung.

Eine unternehmensweite Zertifizierungsinfrastruktur mit eigenen Zertifikats-Ausgabestellen (Certification Authorities) kann in einem Computernetzwerk ein sicheres Netzwerk von Vertrauensstellungen bilden sowie Mechanismen zur Verfügung stellen, kompromittierte Identitäten aus diesem Netzwerk auszuschließen. Dabei gilt es insbesondere, die Zertifizierungsstellen sowohl physisch als auch informationstechnisch zu sichern. Eine kompromittierte Zertifizierungsstelle hat immer zur Folge, dass die Sicherheit der gesamten Zertifikatsinfrastruktur in Frage gestellt werden muss, da einzelne Identitäten nicht mehr als vertrauenswürdig angesehen werden können. Solche Zertifizierungsstellen können beispielsweise zusätzlich durch physische Verschlüsselungskomponenten, Smart Cards oder Biometrie-Systeme gesichert werden.

Vorteile einer eigenen Zertifizierungsinfrastruktur sind beispielsweise folgende:

  • Identitäten können ohne weitere Kosten sichergestellt werden
  • Signatur eigenen Codes und unternehmensweite Vertrauensstellung
  • Verteilung und Überprüfung der öffentlichen Schlüssel über Verzeichnisdienste
  • Automatische Verschlüsselung von E-Mails und anderen Anwendungsprotokollen möglich
  • Einsatz von Smart Cards mit eigenen Zertifikaten möglich
  • Erhöhung der Sicherheit durch Etablierung von Two- oder Three-Factor-Authentication

6.1.7 Last-Ausgleich/Caching

Der Einsatz von Load-Balancing- (Lastausgleich) oder Caching-Systemen kann die Verfügbarkeit der Unternehmenssysteme erhöhen. So können diese vorgeschalteten Systeme eine IT-Architektur stark optimieren, indem die Skalierbarkeit und Fehlertoleranz von kritischen Systemen durch das schnelle Hinzufügen von weiteren Computern erhöht wird.

Des Weiteren können diese Systeme zu Proxys weiterentwickelt werden, die bereits grundsätzliche Filterungsmechanismen (DoS-Filter, DDoS-Filter, Flooding-Filter etc.) durchführen. Im Zusammenspiel mit einem IDS/IPS kann unternehmensweit die Sicherheit der IT-Systeme erhöht werden.

6.1.8 Smartphone-Richtlinien

Ein Unternehmen sollte sich vor dem Hintergrund der steigenden Smartphone-Zahlen heutzutage eine geeignete Richtlinie für diese Geräte entwickeln. Dazu gehört zunächst einmal eine Richtlinie über den grundsätzlichen Einsatz sowie unterstützte Hersteller oder Betriebssysteme. Die verschiedenen Lösungen bieten ganz unterschiedliche Ansätze und Unterstützung des Gerätemanagements, welche das Unternehmen hinsichtlich seiner gegebenen Risiken untersuchen sollte. Ein starker Gegensatz stellen beispielsweise die sehr umfangreichen Möglichkeiten der Endgeräte-Verwaltung von Blackberry-Geräten im Vergleich von Apples iPhones dar. Unternehmen sollten dies auch so weit fassen, Hersteller, welche aus unternehmerischer Sicht ein nicht zu kalkulierendes Risiko darstellen, gänzlich zu verbieten.

Darüber hinaus zählen die folgenden Aspekte zu den Faktoren, die in die Berücksichtigung des Richtliniendesign einfließen sollten:

  • Verschlüsselung der Endgeräte, der Kommunikation der Geräte-Backups
  • Versteckte Kommunikation der Endgeräte und Übermittlung interner Daten zurück zu den Herstellern
  • Unterstützung sicherer Kennwörter
  • Möglichkeit, Apps in unabhängigen, entkoppelten Sandboxes laufen zu lassen
  • Signierung von Apps und Sicherheit der App-Entwicklung; "Offenheit" der App-Download-Märkte
  • Gerätemanagement und Unterbindung von Anwendungsinstallationen
  • Access Control Listen und Kontrolle über den Zugriff auf interne Netze und Daten
  • Möglichkeiten der Überwachung der Geräte sowie Malware-Überprüfung

6.1.9 Netzwerkverschlüsselung & Authentisierung

Der IEEE Standard 902.1x existiert seit einigen Jahren und bietet Mechanismen zur Authentisierung des Netzwerk-Zugriffs. So kann Port-basierend auf den aktiven Netzwerkelementen ein sicherer Zugriffsschutz eingerichtet werden. Endgeräte, welche eine logische Netzwerkkommunikation aufbauen möchten, müssen sich zunächst gegen eine Authentisierungsinfrastruktur authentisieren.

Dies erhöht in einem Unternehmen, das entsprechende Richtlinien und beispielsweise eine Zertifizierungsinfrastruktur etabliert hat, die physikalische Sicherheit des Netzwerk immens. Gerade in offenen Bereichen wie Konferenz- oder Warteräumen sind die unternehmensinternen Netzwerke potenziellen Angreifern ausgesetzt. Auch Wireless-LAN-Netzwerk können mit dieser Technologie abgesichert werden.

Die Herausforderung bei der Implementierung der Technologie entsteht meist in der Unterstützung älterer Geräte, die dieses Protokoll nicht unterstützen. Hier müssen dann Schnitte in die Policy getätigt werden, die den gesamtheitlichen Ansatz aushebeln. Alternativen stellen meist nur Investitionen in neuere Technologien dar.

Die Form der Authentisierungtechnologie und Netzwerk-Sicherheit wird heutzutage noch weiterentwickelt bis hin zur Verschlüsselung auf Link-Schicht der Datenkommunikation (Beispiel Link Layer Encryption IEEE 802.1ae). Auch können Endgeräte vor der erfolgreichen Inbetriebnahme im Unternehmensnetzwerk Policy-gesteuert weiteren Checks wie Status des Anti-Viren Clients, Firewall-Zustand und weiteren unterzogen werden. Erst bei erfolgreicher Überprüfung, erlangt der Client Zugriff ins Unternehmensnetzwerk. Fehlgeschlagene Versuche oder Systeme, die der Richtlinie nicht entsprechen, werden in Gast- oder Quarantäne-Netzwerke eingebucht oder gänzlich isoliert (Die Technologie nennt sich NAC - Network Admission Control).

Natürlich stehen auch diesen Technologien in der Regel die hohen Einführungs- und Betriebskosten im Weg. Darüber hinaus muss Betriebspersonal oft Spezialwissen mitbringen, um die komplexen Mechanismen sicher zu beherrschen und keinen Unternehmensstillstand durch Fehlkonfiguration zu verursachen.

6.1.10 Verfügbarkeit

Unternehmen sollte ihre IT-Systeme von der Grundarchitektur auf verfügbar gestalten. Oft lässt sich dies bereits durch einfache Mittel erreichen, die - sofern sie konzeptionell frühzeitig bedacht werden - keine großen Kosten verursachen. Die Kosten bei Nichtverfügbarkeit der Dienste ist oft um ein Vielfaches höher einzuschätzen. Einige Mittel, die Verfügbarkeit zu erhöhen sind etwa folgende:

  • Planung redundanter Einzelkomponenten (Server mit zwei Netzteilen, Festplatten-RAIDs, redundante Netzwerkverkabelung und aktive Komponenten etc.)
  • Clustering von kritischen Systemen
  • Virtualisierung (Siehe dazu mehr in Kapitel 6.3)
  • Redundante Providerwahl zur Vermeidung einer Abhängigkeit-Stellung
  • Einsatz von Systemen aus unterschiedlichen Chargen zur Vermeidung von systematischen Defekten
  • Intelligentes Routing und Einsatz von redundanten Netzwerk-Infrastruktur-Systemen (DHCP, DNS, verzeichnisdienste etc.)
  • Einsatz Lastverteilungs- und Proxy-Systemen sowie Caches
  • Einsatz regelmäßiger, geplanter und überwachter Backups; Sicherung der Backups an externen Stellen
  • Einsatz mehrerer baulicher Abschnitte, Brandabschnitte, gegebenenfalls Einsatz redundanter Rechenzentren
  • Einsatz modularer, redundanter Anwendungs-Architekturen
  • Anwendung aktueller Programmiersprachen, die eine einfache Entwicklung von geschichteten, verteilten Architekturen zulassen

6.2 Organisatorische Maßnahmen

6.2.1 Mehr-Augen-Prinzip

Wesentliche technische Implementierungen und Konfigurationen sollten nach dem Mehr-Augen-Prinzip vorgenommen werden. Für das Mehr-Augen-Prinzip gibt es zwei wesentliche Ausprägungen: Beim Mitwirkenden Mehr-Augen-Prinzip sind mindestens zwei Personen notwendig, um den entsprechenden Vorgang durchzuführen. Wenn eine Person eine Aufgabe ausführt und eine zweite Person diesen Prozess sowie das Resultat beobachtet, bezeugt und bestätigt, handelt es sich um das Bezeugende Mehr-Augen-Prinzip. Bei beiden Ausprägungen ist es notwendig, dass beide Personen unabhängig voneinander und unvoreingenommen gegenüber dem Prüfgegenstand sind.

Vorteil des Mehr-Augen-Prinzips ist die Tatsache, dass sich die durchführenden Personen gegenseitig kontrollieren. Mögliches Fehlverhalten oder fehlerhafte Programmierungen beziehungsweise Fehlkonfigurationen werden so früher erkannt und können entsprechend korrigiert werden. Gleichzeitig wird das Korruptionsrisiko minimiert, da alle Mitwirkenden korrumpiert werden müssten. Der Zugewinn an Sicherheit durch das Mehr-Augen-Prinzip muss allerdings durch einen erhöhten Bedarf an fachkundigen Mitarbeitern bezahlt werden, was wiederum höhere Personalkosten mit sich bringt. Auch der organisatorische Aufwand steigt signifikant an, da die Arbeitspläne von mehr Personal synchronisiert und entsprechend angepasst werden muss.

6.2.2 Rechenzentrums-Sicherheit

Die Sicherheit in einem Rechenzentrum muss auf verschiedenen Ebenen in einem ganzheitlichen Sicherheitskonzept hergestellt werden. Dabei ist es zwingend notwendig, sowohl die technischen als auch die organisatorischen Maßnahmen zu betrachten. Von technischer Seite aus ist es notwendig, das Rechenzentrum gegen Fremdeinwirkungen von außen zu schützen. Dabei sind in erster Linie höhere Gewalt und technisches Versagen zu nennen. Durch Redundanzen auf allen Ebenen vom Lüfter über einzelne Computer bis hin zum Rechenzentrum können Ausfälle verhindert werden. Redundanzen - gerade auf der Ebene einzelner Systeme oder ganzer Rechenzentren - bedeuten aber immer auch einen erhöhten Aufwand bei Wartung und Pflege der Systeme, da die Maßnahmen zur Sicherstellung des Betriebs üblicherweise doppelt durchgeführt werden müssen. Neben Redundanzen, die Systemausfälle abfangen sollen, ist es notwendig, die einzelnen Rechenzentren gegen unbefugte Zugriffe abzusichern. Dafür ist es notwendig, entsprechende Zugangskontrollen einzurichten, damit nur autorisiertes Personal die kritischen Bereiche betreten kann. Mit modernen Kameras und Alarmanlagen können die verschiedenen Bereiche der Rechenzentren zentral überwacht werden. Durch den konsequenten Einsatz von Brandvermeidungsanlagen wird die Wahrscheinlichkeit eines Feuerschadens erheblich minimiert. Allerdings müssen in diesem Fall Mechanismen implementiert werden, die Personenschäden durch den reduzierten Sauerstoffgehalt in der Luft verhindern. Neben Brandvermeidungsanlagen ist es ratsam, redundante Systeme in unterschiedlichen Brandabschnitten unterzubringen, um im Desasterfall das Backup-System weiterhin nutzen zu können. Durch die regelmäßige Sicherung aller wichtigen Daten und Systeme sowie die Lagerung dieser Sicherungen an entfernten Orten wird die Gefahr eines großflächigen Datenverlustes deutlich minimiert. In Abhängigkeit der Sicherheitsanforderungen können die Rechenzentren auch in abgelegenen oder natürlich sicheren Umgebungen wie Bunkern oder Bergstollen betrieben werden.

Aus organisatorischer Sicht ist im Rechenzentrum sicherzustellen, dass eine klare Trennung von Kompetenzen vorgenommen wird. Techniker, die an den Servern und Netzwerkkomponenten arbeiten, dürfen keinen Zugriff auf Anwendungs- und Betriebssystemebene erhalten, um gezielte Manipulationen zu vermeiden. Durch die konsequente Umsetzung des Mehr-Augen-Prinzips können menschliches Fehlverhalten oder vorsätzliche Handlungen verhindert oder zumindest deren Eintrittswahrscheinlichkeit minimiert werden. Zutritte zu sensiblen Bereichen sind stark zu reglementieren, um nur autorisiertem Personal den Zutritt zu gewähren. Die Zugangsberechtigungen zu einzelnen Systemen im Rechenzentrum sind klar zu definieren und protokollieren. Darüber hinaus ist durch eine konsequente Umsetzung eines festgelegten und dokumentierten Berechtigungsmodells der Zugriff auf die verschiedenen Bereiche streng zu regeln. Es sollten grundsätzlich so wenige Zugriffsberechtigungen wie möglich vergeben werden, allerdings trotzdem so viele wie nötig. Durch eine saubere Trennung von Kompetenzen – Netzwerkswitch-Administratoren dürfen keine administrativen Zugriffe auf andere Systeme haben - kann das Risiko einer gezielten Manipulation reduziert werden. Durch erstellte und veröffentlichte Notfallhandbücher wird sichergestellt, dass nach einem Desasterfall klar definiert ist, welche Personen oder Abteilungen in der Verantwortung sind, den Systembetrieb wiederherzustellen. Dies vermeidet eine fehlende oder doppelte Zuweisung von Kompetenzen und ermöglicht ein transparentes Vorgehen zur Wiederaufnahme des Rechenzentrumbetriebs.

Die Frage, welche Maßnahmen letztendlich getroffen werden müssen, ist pauschal nicht zu beantworten. Vielmehr ist es Aufgabe des oberen Managements einer Organisation, zu definieren, welche Risiken in welchem Umfang abgefangen werden sollen. Mit entsprechenden Service-Level-Agreements (SLA) wird der Rahmen festgelegt, welche Ausfallzeiten für einzelne Systeme toleriert werden. Darauf ist ein Sicherheitskonzept zu entwickeln, mit dem die Anforderungen ideal abgedeckt werden. Dabei sollte der Versuchung widerstanden werden, pauschal Beträge festzulegen, mit denen die Sicherheit des Rechenzentrums hergestellt werden soll. Dies ist zweifelsfrei der falsche Weg, denn nicht das Budget sollte über die Sicherheit entscheiden, sondern mehr der Sicherheitsbedarf über das Budget.

6.2.3 Verschwiegenheit

Essenziell für die Erhöhung der Organisationssicherheit ist die Verschwiegenheit über die interne IT-Infrastruktur. Informationen über eingesetzte Hardware, Apppliances oder Anwendungen dürfen nicht nach außen kommuniziert werden. Potenzielle Angreifer haben mit der Kenntnis über die vorhandenen Systeme und Anwendungen deutlich mehr Möglichkeiten, Angriffe auf die Organisation vorzubereiten oder durchzuführen.

Bei Kenntnis der eingesetzten Hardware können speziell darauf ausgerichtete Schadanwendungen entwickelt werden, die entsprechenden Schwachstellen ausnutzen. Analog dazu verhält es sich mit den implementierten Anwendungen. Da diese oftmals Fehler enthalten, die für einen Einbruch in das System ausgenutzt werden können, ist es unerlässlich, dass keine Informationen über Versionen oder Releases von Software das Unternehmen verlassen. Ein omnipräsentes Beispiel dafür ist das Betriebssystem Microsoft Windows, welches regelmäßig durch Fehler in der Programmierung auffällt. Es ist anzumerken, dass natürlich andere Betriebssysteme ebenfalls von dieser Problematik betroffen sind. Auf Grund des hohen Verbreitungsgrades von Microsoft Windows gerade im privaten Umfeld wird über Sicherheitslücken in Microsoft-Anwendungen häufiger berichtet als über die Anfälligkeit von anderen Betriebssystemen.

Unabhängig davon, dass jeder Mitarbeiter einer Organisation über Betriebsinterna zu Verschwiegenheit verpflichtet ist, sollten Mitarbeiter, die für die Betreuung der Informationssysteme und der EDV-Infrastruktur betraut sind, auch zur Verschwiegenheit hinsichtlich dieser Infrastruktur verpflichtet und Vergehen mit dementsprechenden disziplinarischen Maßnahmen geahndet werden.

6.2.4 Identity-Management Systeme

Mit einem klaren Gerade bei größeren Organisationen ist es empfehlenswert, alle Vorgänge prozessorientiert zu gestalten und auch entsprechend zu dokumentieren. So ist die Kenntnis über die verschiedenen Prozesse nicht an das Wissen einer einzelnen Person gebunden und neue Mitarbeiter können sich schneller einarbeiten. Gleichzeitig lassen sich auf diese Weise Schwachstellen in der Organisation der IT-Infrastruktur aufdecken und entsprechend beheben.

Insbesondere die Behandlung von Sicherheitsvorfällen sollte klar definiert sein. Sinnvoll ist es, unverzüglich den IT-Sicherheitsbeauftragten und die entsprechende Person im Management zu informieren. Eine umfangreiche Dokumentation der Vorgänge hilft, den Vorfall im Nachhinein zu analysieren und gegebenenfalls Maßnahmen zur zukünftigen Vermeidung eines solchen Vorfalls umzusetzen. Für die Wiederherstellung des IT-Betriebs nach einem Desasterfall sollten klare Regeln definiert werden, nach denen vorgegangen werden sollte. Dies sollte idealerweise in ein vernünftiges Notfallmanagement mit einem entsprechenden Notfallhandbuch münden. Die Prozesse zur Abwehr von Angriffen sollten so gestaltet sein, dass sie zum einen allen bekannt sind und zum anderen Maßnahmen enthalten, den Vorfall auch im Nachgang detailliert analysieren zu können. Mit einem Informationsmanagementsystem (ISMS), welches die Informationssicherheit einer Organisation dauerhaft definieren, steuern und kontrollieren soll und eine Aufstellung von Verfahren und Regeln ist, können die Informationssicherheit nach einem Top-Down-Ansatz organisiert und die notwendigen Richtlinien zentral vorgegeben werden.

6.2.5 Trennung von Verantwortlichkeiten

Um die Gefährdung durch den Missbrauch von Berechtigungen vorzubeugen, sollten einzelne Mitarbeiter nur über so viele Berechtigungen verfügen, wie sie für die Durchführung der ihnen übertragenen Aufgaben auch tatsächlich benötigen. Auch sollte eine strikte Trennung nach Fachbereichen vorgenommen werden. Netzwerkadministratoren brauchen grundsätzlich erstmal keine Berechtigung, sich an den auf dem Netzwerk aufbauenden Systemen anzumelden. Andersherum ist es nicht notwendig, dass Betriebssystem-Administratoren direkten Zugriff auf die Netzwerkkoppelelemente wie Switche oder Router haben. Die durch diese Trennung entstehende längere Bearbeitungszeit von Vorgängen ist in den meisten Fällen das geringere Übel gegenüber einem Mitarbeiter, der auf nahezu alle Kernkomponenten der Infrastruktur zugreifen kann. Darüber hinaus sollte die Verantwortlichkeit über hochgradig sensible Bereiche auf mehr als eine Person verteilt werden. In Kombination mit dem oben erläuterten Mehr-Augen-Prinzip lässt sich der Missbrauch von Berechtigungen weiter reduzieren.

6.2.6 Sensibilisierung

Zur grundsätzlichen Erhöhung der Sensibilität der Mitarbeiter, was die Erkennung von Missbräuchen oder Angriffsversuchen angeht, sollten regelmäßige Schulungen und Awareness-Kampagnen durchgeführt werden. Mitarbeiter, die in sensiblen Bereichen arbeiten, sollten durch die Organisation regelmäßig über neue Angriffsformen und deren Erkennung informiert und geschult werden. In Kombination mit einer generellen Erhöhung der Aufmerksamkeit können gerade Social-Engineering-Angriffe frühzeitig erkannt und vereitelt werden. Insbesondere sollte allen Mitarbeitern deutlich gemacht werden, dass gewisse Informationen wie beispielsweise Anmeldedaten oder Infrastrukturinformationen, niemals telefonisch oder via Mail nachgefragt werden. Generell ist es ratsam, die Sensibilität hinsichtlich des Mediums E-Mail zu erhöhen. Eine Mail sollte generell erstmal kritisch betrachtet werden. Insbesondere folgende Fragestellungen sollten gedanklich kurz auf eingehende Mails angewandt werden:

  • Kenne ich den Absender und habe ich eine Mail von diesem Absender erwartet?
  • Ist der Absender berechtigt, Informationen von mir zu erhalten?
  • Erwarte ich von diesem Absender eine Mail mit einem Anhang?

Da Absenderinformationen von Mails ebenso leicht fälschbar sind wie Angaben auf Briefen sollte bei suspekten Inhalten gegebenenfalls beim Absender nachgefragt werden, ob die Mail tatsächlich wissentlich abgeschickt wurde. Dateianhänge sollten grundsätzlich nur nach einer intensiven Virenprüfung und dem Einsatz der brain.exe[63] geöffnet werden. Mit kreativen Awareness-Kampagnen wie „Microsoft jagt das Phantom“[64] kann auf spielerische Weise die Aufmerksamkeit der Mitarbeiter erhöht werden. Insbesondere sollte der Fokus regelmäßig auch auf einfache Maßnahmen wie das Sperren von Computern oder das Ansprechen von Fremden auf dem Unternehmensgelände gelegt werden

6.3 Virtualisierung

Virtualisierung sollte stets bei der sicherheitskritischen Betrachtung einen hohen Stellenwert gegeben werden, da die Kompromittierung auf dieser Ebene der Architektur eine Kompromittierung aller auf ihr betriebenen Anwendungen und Dienste zur Folge hat. Daher sollte zu allererst grundsätzlich eine Strategie entwickelt werden, die die unternehmenskritischen Systeme berücksichtig und Virtualisierung in diesen Kontext einordnet. Es muss unternehmerisch entschieden werden, welche Systeme von dieser Virtualisierung betroffen sein dürfen.

Dies steht zu allererst, bevor die weiteren technischen Aspekte der Virtualisierungstechnologien berücksichtig und deren Schutz geplant werden.

6.3.1 Virtualisierungsnetzwerk

Das Netzwerk (Sowohl Daten- als auch Speichernetzwerk) bedarf besonderen Schutzes. Prinzipiell sind hier traditionelle Netzwerk-Sicherungsmechanismen anzuwenden und Empfehlungen, beispielsweise gemäß des BSI Maßnahmenkatalogs, einzuhalten. Dazu zählt die Separierung von Netzen unterschiedlicher Funktion auf den unteren OSI-Schichten durch den Betrieb von Firewalls, virtuellen Netzwerken oder Access Control Listen.

Das Netzwerk für die Kommunikation der Hypervisor untereinander sollte komplett für den Zugriff von außen abgeschottet werden. Sollte eine Lösung Zugriff auf dieses Netzwerk erfordern, ist besondere kritische Beurteilung vor dem Hintergrund der IT-Sicherheit empfohlen. Darüber hinaus müssen in den meisten technischen Umsetzungen der Hypervisor und die Management-VM nicht in denselben Netzsegmenten liegen und sollten getrennt voneinander operieren.

6.3.2 Betriebssystemhärtung

Bei der Betriebssystemhärtung der VMs sowie aller Virtualisierungs-Verwaltungsinstanzen sollten alle bekannten traditionellen Mittel eingesetzt werden. Hilfreich können auch hier die Empfehlungen gemäß der BSI Maßnahmenkataloge sein, wobei möglichst alle Aspekte zur Minimierung des Betriebssystems berücksichtigt werden sollten[65]:

  • Nur für den Zweck des Systems notwendige Rollen und Funktionen des Betriebssystems installieren
  • Nicht benötigte Programme und Netzwerkdienste abschalten oder löschen
  • Abschaltung nicht benötigter Netzwerkkomponenten
  • Überprüfung und Konfiguration der Netzwerkdienste und des Systems, sodass nur berechtigte Hosts und Benutzer Zugriff haben

Dies betrifft auch das Virtualisierungssystem und insbesondere die Management-VM selbst. Hier sollten insbesondere die speziellen Empfehlungen der Hersteller beachtet werden, sowie ausschließlich zertifizierte Drittprogramme und Treiber verwendet werden.

6.3.3 Spezielle organisatorische Empfehlungen

Bei den organisatorischen Empfehlungen gilt es, möglichst die etablierten Strukturen einzuhalten und durch die Einführung von Virtualisierung nicht zu untergraben. Insbesondere die Trennung der Verantwortlichkeiten ist durch ein geeignetes Berechtigungskonzept oder der Implementierung von speziellen Lösungen, die eine stärkere Trennung der Verantwortlichkeiten fördern (z. B. Ciscos virtuelle Netzwerk-Switches, die von anderen Fachabteilungen administriert werden können als die Virtualisierungsplattform selbst), zu realisieren.

Es ist ein Konzept zu ermitteln, das nach der Einführung von Virtualisierungslösungen einem Administrator nicht mehr Berechtigung zuteilt als zuvor in der physikalischen Welt und ihm dennoch ermöglicht, seine regelmäßige Arbeit durchzuführen. Ist eine Erweiterung seiner Berechtigung und seines Wirkens notwendig, so kann mit geeigneten Prozessen wie etwa dem Mehr-Augen-Prinzip oder eines Change Managements die Gefahr für Fehler reduziert werden.

Auch die Schulung der Mitarbeiter ist bei vergrößertem Verantwortungsbereich sinnvoll, um die Gefahr des Social Engineerings zu senken und die Sensibilisierung für administrative Tätigkeiten zu erhöhen. Eine umfangreiche Dokumentation oder die Nutzung von Checklisten trägt dazu bei, Fehlergefahren zu minimieren.

6.4 Cloud-Computing

Maßnahmen zur Erhöhung der Sicherheit von Cloud-Computing und Cloud-Services sind meist nur schwer zu implementieren, wenn die Cloud-Infrastruktur nicht in der eigenen Systemhoheit steht.

Generell sollten alle technischen und organisatorischen Maßnahmen, die in dieser Arbeit zur Erhöhung der Infrastruktursicherheit aufgeführt sind, implementiert sein. Darüber hinaus muss der Service-Anbieter die Compliance-Anforderungen des Kunden klar erfüllen. Dies hat neben rechtlichen Anforderungen, die sich aus verschiedenen Gesetzen ergeben, natürlich auch IT-sicherheitsrelevante Hintergründe. Technisch muss der Provider sicherstellen, dass alle Kommunikationswege zwischen dem Rechenzentrum und dem Kunden mit State-of-the-Art-Techniken verschlüsselt sind. Dies gilt auch für die Datenwege innerhalb des Rechenzentrums. Die verschiedenen Umgebungen der Kunden müssen absolut gegeneinander abgeschottet sein und dürfen keinen Zugriff aufeinander zulassen. Dies wäre für Provider und Kunden der Super-GAU

Anbieter von Cloud-Computing müssen über für Kunden offen definierte und dokumentierte Prozesse verfügen. Dies beinhaltet insbesondere das Benutzer- und Rechtemanagement sowie das Incident Handling. Änderungen dürfen nur in Rücksprache und Abstimmung mit dem Kunden durchgeführt werden (Change Management). Für Cloud-Nutzer ist es wichtig, die Angaben des Dienstleisters kritisch zu prüfen und zu hinterfragen. Auf keinen Fall sollten Angaben blind vertraut werden. Mit einem geeigneten Notfallmanagement muss der Provider aufzeigen, wie er auf verschiedene Schadens-Szenarien reagiert und wie die Systeme seiner Kunden wieder verfügbar gemacht oder verfügbar gehalten werden.

Die Nutzer von Cloud-Infrastrukturen müssen die ausgelagerten Dienste unbedingt hinsichtlich ihrer Sicherheit überprüfen und hochgradig gegen Zugriffe von außen härten. Schnittstellen, auf die zugegriffen wird, müssen die übergebenen Daten intensiv filtern und auf mögliche Angriffe hin untersuchen. Bei einem Systemausfall sollten die weiterhin lauffähigen Komponenten gewünscht reagieren. Dies kann entweder ein Pausieren sein, bis alle Dienste wieder verfügbar sind oder ein Weiterlaufen, weil der unterbrochene Dienst nicht kritisch ist. Diese Betrachtung ist jedoch individuell und kann nicht pauschal beantwortet werden.

Hinsichtlich des Datenschutzes und der Datensicherheit ist bei der Provider-Wahl darauf zu achten, dass der Anbieter europäischer Rechtsprechung vollständig unterliegt und die gängigen rechtlichen Grundlagen vollständig eingehalten werden. Darüber hinaus darf der Provider nicht US-amerikanischer Rechtsprechung unterliegen, da gerade vor dem Hintergrund des USA PATRIOT Act die Datensicherheit und der Datenschutz nicht gewährleistet werden können. Mit entsprechenden vertraglichen Regelungen kann der Speicherort der Daten innerhalb der Cloud geregelt und festgelegt werden.

6.5 Web-Applikationen & App-Entwicklung

6.5.1 Web-Anwendungen

Bei der Entwicklung von Web-Anwendungen sollten insbesondere die schon zuvor genannten Prinzipien der sicheren Software-Entwicklung eingehalten werden. Hierzu zählt schon im frühen Stadium eines Software-Entwicklungsprojektes ein geeignetes Vorgehensmodell, das die Qualität des zu liefernden Codes im Fokus hat. Darüber hinaus sollten Web-Entwickler speziell geschult werden für die besonderen Herausforderungen und Gefahren, die eine Web-Anwendung im Internet mit sich bringt.

Entwickler sollten insbesondere auch genauen Einblick in die verschiedenen Angriffsszenarien (Siehe Kapitel 5.5) haben und sich mit den wichtigsten Angriffsvektoren vertraut machen, um diese während der Entwicklung zu berücksichtigen. Es gibt ferner spezielle Penetrations-Tools, die jene wichtigsten Angriffe auf Web-Anwendungen abbilden und testen können. Jede im Internet veröffentlichte Web-Anwendung sollte durch solch einen Penetrationstest hinreichend auf Fehler geprüft werden.

Darüber hinaus können spezielle vorgeschaltete Web-Filter sicherheits-relevante Prüfungen der übermittelten Daten bei der Web-Kommunikation durchführen. So lohnt es sich, sogenannte Reverse-Proxys im Internet einzusetzen, die Benutzer-Interaktionen mit einer Webanwendung während des Betriebs überwacht und potenziell gefährliche Muster erkennt und filtert. So können wirksam versuchte Injektions-Attacken oder Cross-Site Scripting/Cross-Site-Request-Forgery abgewehrt werden, bevor sie beim verarbeitenden Web-Server ankommen. Auch Denial Of Service- sowie Flooding-Attacken gegen Web-Applikationen können so wirksam verhindert werden. Sollten Web-Service Anwendungen im Kontakt mit speziellen Clients stehen und Daten austauschen, die keinem HTTP-Standard entsprechen, so lassen sich die Web-Filter heutzutage entsprechend konfigurieren und auf die spezifische Anforderung anpassen.

Für die Mensch/Maschine-Verifikation können sogenannte CAPTCHAS eingesetzt werden, die ausschließlich durch einen Menschen gelesen und verarbeitet werden können. Mit dieser Methode können automatisierte Eingaben in Web-Anwendungen durch Roboter verhindert werden. Der Einsatz ist bei der Veröffentlichung von Formularen im Internet ratsam. Des Weiteren ist es ratsam, Ausnahmebehandlungen für alle eingegebenen Daten in den Code einfließen zu lassen. So wird verhindert, dass Sicherheitslücken durch nicht verarbeitete Programm-Ausnahmen ausgenutzt werden.

Nicht zuletzt muss systemseitig ein ordentliches Berechtigungskonzept entwickelt werden, dass sich an dem Grundsatz orientiert, dass der aus dem Internet kommende Benutzer oder der Benutzer, in dessen Kontext die Webanwendung läuft, minimale Berechtigungen auf dem System erhält und lediglich die notwendigen Rechte gesetzt bekommt, welche für die Ausführung der Web-Anwendung vonnöten sind.[66] Dies gilt sowohl für Dateisystemberechtigungen als auch Berechtigungen innerhalb des Betriebssystems und weiterer involvierter Komponenten.

6.5.2 App-Entwicklung

Bei der Entwicklung von sicheren Apps darf der Fokus nicht ausschließlich auf die zu entwickelnde Anwendung gelegt werden. Viel wichtiger für die Absicherung der Kommunikation zwischen der App und der internen IT-Infrastruktur ist die Härtung der Schnittstellen.

Bei der Planung und Entwicklung von Apps für Smartphones und Tablet-PCs sollte darauf geachtet werden, dass nur ein Minimum an Daten auf dem Gerät gespeichert werden. Grundsätzlich muss davon ausgegangen werden, dass das Endgerät manipulierbar ist oder bereits manipuliert wurde. Daher sind alle Daten, die zwingend im Speicher des Smartphones hinterlegt werden, geeignet zu verschlüsseln, um den Diebstahl oder die Manipulation der Daten zu vermeiden oder wenigstens deutlich zu erschweren. Mit Hilfe von Signaturen oder Hashes sind die Dateien gegen Veränderungen von außen zu schützen. Darüber hinaus sollte auch die Übertragung von Daten zwischen dem Endgerät und den Schnittstellen in der Unternehmens-IT ausschließlich verschlüsselt erfolgen. Durch das Erzwingen eines Kennworts beim Start der Anwendung kann weiterhin ein Missbrauch durch direkten Zugriff auf das Gerät erschwert werden. Grundsätzlich sollten aber die verschiedenen Maßnahmen in einem sinnvollen Verhältnis zum Schutzbedarf der Anwendung stehen. Können mit der App nur Informationen abgefragt werden, sind sicher weniger Maßnahmen zum Schutz der App notwendig, als wenn damit auch kreditkartengestützt eingekauft werden kann.

Deutlich wichtiger als die Absicherung der App erscheint aber die Härtung der Infrastruktur. Generell müssen die Schnittstellen so konzipiert sein, dass nur eindeutig sichere Anfragen bearbeitet und beantwortet werden. Gerade Datenbankabfragen sind auf mögliche SQL-Injection-Versuche zu prüfen. Dazu bedarf es eines Plausibilitätsprüfung der entgegengenommenen Informationen. Abgewiesene Anfragen sollten protokolliert und ein Prozess zur Fehleridentifizierung gestartet werden. Auf diese Weise kann sichergestellt werden, dass eine fälschlicherweise aussortierte Anfrage zukünftig korrekt bearbeitet wird. Mit Hilfe von korrekt herausgefilterten Anfragen kann auf der anderen Seite die Heuristik zur Erkennung von falschen Anfragen weiter trainiert und die Infrastruktur gehärtet werden.

7 Zusammenfassung

Unternehmen und Institutionen bieten in zunehmendem Maße Dienste über das Internet für Kunden, Vertragspartner und Mitarbeiter an. Diese Dienste halten potenziell geschäftskritische Daten. Die Bereitstellung von Informationen im Internet stellt für die Einrichtungen eine hohe Herausforderung dar, da sie im Widerspruch zu gängigen Vorgehen zur Erhöhung der IT-Sicherheit steht. Jahrelang wurde das eigene Netzwerk mit maximalem Aufwand gegen mögliche Eindringlinge abgesichert. Durch die Verbindung des Unternehmensnetzwerkes mit dem Internet entstehen Schnittstellen, die dauerhaft geöffnet sein müssen. Diesem Widerspruch zum bisherigen Vorgehen muss besondere Aufmerksamkeit gewidmet werden, um die eigenen Dienste und Ressourcen des Unternehmens nicht übermäßig zu gefährden.

Darüber hinaus bieten neue Technologien wie Virtualisierung, Cloud Computing, Apps, Web 2.0 und mehr neue Möglichkeiten, am Markt präsent zu sein, mit dem Kunden zu interagieren sowie Kosten zu senken und die eigene IT zu konsolidieren. Die Herausforderungen an die IT-Sicherheit steigen mit diesen Technologien zunehmend. Gleichzeitig darf nicht nur der Fokus auf die interne IT gelegt werden, sondern es müssen externe Einflussgrößen wie die Endgeräte der Kunden und Abhängigkeiten zu externen Anbietern mit hinzugerechnet werden.

Grundsätzlich gilt es, zwischen drei Unsicherheiten zu unterscheiden:

  • mangelhafte IT-Sicherheit,
  • fehlendes Wissen über real existierende Risiken oder implementierte Sicherheitsmaßnahmen und
  • kein System ist perfekt

Den ersten beiden Punkten der Unsicherheiten-Aufzählung kann mit entsprechenden technischen und organisatorischen Maßnahmen begegnet werden, die in der vorliegenden Arbeit aufgezeigt wurden. Durch die Installation von aktuellen Hard- und Softwarelösungen sowie regelmäßige Weiterbildungen für die betreuenden Mitarbeiter können die Gefahren in diesem Bereich minimiert werden. Dem Restrisiko und dem Umstand, dass kein System fehlerfrei ist oder perfekt arbeitet, müssen mit einem angepassten Risikomanagement begegnet werden. Schließlich "gewinnt" nicht, wer Bedrohungen am besten verhindert – Gewinner werden diejenigen sein, die Risiken am effektivsten managen![67]

8 Literatur

  1. Tagesschau.de: Smartphones lassen die Kassen klingeln, http://www.tagesschau.de/wirtschaft/mobilfunk110.html Abruf: 28.12.2011
  2. Gartner.com: Gartner Says 428 Million Mobile Communication Devices Sold Worldwide in First Quarter 2011, a 19 Percent Increase Year-on-Year, URL: http://www.gartner.com/it/page.jsp?id=1689814, Abruf am 13.01.2012
  3. Teltarif.de: Telekom: LTE-Netzausbau zusammen mit der Konkurrenz; http://www.teltarif.de/lte-telekom-netze-ausbau-unternehmen/news/40412.html Abruf am 28.12.2011
  4. Vgl. http://www.ln-online.de/nachrichten/3280039/daten-skandal-psychisch-kranke-im-internet-blossgestellt, Abruf am 01.12.2011
  5. Bundesministerium für Inneres der Republik Österreich, Pressemitteilung vom 18. Mai 2011, http://www.bmi.gv.at/cms/cs03documentsbmi/1003.pdf, Abruf am 02.02.2012
  6. gabler.de: Stichwort: Electronic Business, URL: http://wirtschaftslexikon.gabler.de/Archiv/54580/electronic-business-v8.html, Abruf am 23.11.2011
  7. Bea, F. X.,Friedl, B. , Schweitzer, M.: Allgemeine Betriebswirtschaftslehre, Bd. 2, 9. Aufl., Stuttgart 2005, S. 421
  8. Prof. Dr. Stantchev - Folien zur Vorlesung E-Business und Mobile Computing an der FOM Berlin, WS 2010/2011
  9. Für die Quellenbeschreibung der nachfolgenden Beispiele vergleiche mit BSI Gefährundungskatalog G1, https://www.bsi.bund.de/DE/Themen/weitereThemen/ITGrundschutzKataloge/Inhalt/Gefaehrdungskataloge/G1HoehereGewalt/g1hoeheregewalt_node.html, Abruf am 23.12.2011
  10. Siehe BSI Gefährdungskatalog G5, https://www.bsi.bund.de/DE/Themen/weitereThemen/ITGrundschutzKataloge/Inhalt/Gefaehrdungskataloge/G5VorsaetzlicheHandlungen/g5vorsaetzlichehandlungen_node.html, Abruf am 23.12.2011
  11. Norman.com: Types of malware, http://www.norman.com/about_norman/technology/norman_sandbox/the_technology/technology/types_of%20malware/ch, Abruf am 13.01.2012
  12. Ziemann, F. (2005): Reaktionszeiten der Antivirus-Hersteller, http://www.sueddeutsche.de/digital/sober-wurm-reaktionszeiten-der-antivirus-hersteller-1.628825, Abruf am 13.01.2012
  13. Ziemann, F. (2005), www.sueddeutsche.de
  14. Zur aktuellen Bedrohungslage vergleiche mit Herms, Soziale Netzwerke: Schadsoftware greift auf Facebook um sich (2012), http://www.e-recht24.de/news/it-sicherheit/6974-soziale-netzwerke-schadsoftware-greift-auf-facebook-um-sich.html, Abruf am 10.02.2012
  15. Neues Spionageprogramm der Stuxnet-Entwickler (2011), http://www.heise.de/security/meldung/Neues-Spionageprogramm-der-Stuxnet-Entwickler-1362995.html, Abruf am 28.12.2011
  16. Vgl. Spiegel Online: Virenjäger Kaspersky (2008), http://www.spiegel.de/netzwelt/tech/0,1518,546619-2,00.html, Abruf am 28.12.2011
  17. Vgl. auch mit Hannebacher, Zins, Social Hacking, HTW Aachen (2009), https://image.informatik.htw-aalen.de/Thierauf/Grundseminar/Ausarbeitungen-Folien/social-hacking.pdf, Abruf am 29.12.2011
  18. Vgl. mit Stasiukonis (2006), http://tonydye.typepad.com/main/files/HO05-DarkReading.doc; Abruf am 22.12.2011
  19. Vgl. www.social-engineer.org (2010): Categories of Social Engineering, http://www.social-engineer.org/framework/Social_Engineering_Framework, Abruf am 28.12.2011
  20. Wikipedia, Angriffsvektor, URL: http://de.wikipedia.org/wiki/Angriffsvektor, abruf am 02.12.2011, 12:30
  21. in Anlehnung an Pohl, H., "Zero-Day und Less-than-Zero-Day Vulnerabilities und Exploits", erschienen in: "Forschungsspitzen und Spitzenforschung", Physica-Verlag 2009, S. 114
  22. vgl. Pohl, H., "Zero-Day und Less-than-Zero-Day Vulnerabilities und Exploits", erschienen in: "Forschungsspitzen und Spitzenforschung", Physica-Verlag 2009, S. 114
  23. Günter Harke, Folien zur Vorlesung IT Security, FOM Berlin, WS 2011/2012
  24. Vgl. Balzert: Lehrbuch der Objektmodellierung, Spektrum Akademischer Verlag 1999, S. 373 f.
  25. Zu allen Schichten vgl. mit Facchi: Methodik zur formalen Spezifikation des ISO /OSI Schichtenmodells; München, UTZ 1995; S. 5 ff.
  26. Seitz, J., Heubach, M., Tosse, R., Debes, M.: Digitale Sprach- und Datenkommunikation, Carl Hanser Verlag, München 2007; S. 38
  27. Seitz, J., Heubach, M., Tosse, R., Debes, M. (2007), S. 38
  28. http://www.merriam-webster.com/dictionary/social%20engineering , Abruf am 27.01.2012
  29. Rhodes, R.: Cyber Meltdown, Harvest House Publishers, Eugene 2011, S. 62ff.
  30. Vgl. Arx, Y.: WLAN Sicherheit – Angriffsvektoren gegen WEP, WPA und WPA2, erschienen in Hakin9, 07/2007
  31. In Anlehnung an: Common Types of Network Attacks, http://technet.microsoft.com/en-us/library/cc959354.aspx; Abruf 28.12.2011
  32. frauenhofer.de: Sicherheit bzw. Angriffe auf der Transportschicht, URL: http://www-past.igd.fraunhofer.de/~pebinger/lectures/adhocnetworks/sose2007/syllabus/node15.html, Abruf am 10.02.2012
  33. Burschka, S., DuPasquier, B.: Encrypted Traffic Mining, http://events.ccc.de/congress/2011/Fahrplan/attachments/1985_CCC.pptx; Abruf 21.01.2012
  34. Vgl. Microsoft.com: Vulnerability in SSL/TLS Could Allow Information Disclosure, URL http://technet.microsoft.com/en-us/security/bulletin/ms12-006, Abruf am 03.02.2012
  35. Vgl. Foster, James: Buffer Overflows; mitp-Verlag Bonn (2005); S. 31 ff.
  36. Vgl. Boyd, Keromytis: SQLrand: Preventing SQL Injection Attacks in Lecture Notes in Computer Science, Volume 3089 (2004), S. 292-302
  37. Rosenblum, M., Garfinkel, T.: Virtual Machine Monitors: Current Technology and Future Trends, in: IEEE Computer Society Ausgabe Mai 2005, S. 34 - 43
  38. Popek, G., Goldberg, R.: Formal Requirements for Virtualizable Third Genera-tion Architectures, in: Communications of ACM Volume 17, Number 7, Juli 1974, S. 412 - 421
  39. Vgl. www.vmware.com: Virtualization Overview, URL: http://www.vmware.com/pdf/virtualization.pdf, Abruf am 02.12.2011
  40. Vgl. VMware, Inc.: Characteristics of the VMware Service Console
  41. Microsoft Corporation (2010): Hyper-V Architecture
  42. Citrix Systems, Inc.: XenServer Administrator’s Guide Release
  43. bsi.de: Cloud Computing Grundlagen, URL: https://www.bsi.bund.de/DE/Themen/CloudComputing/Grundlagen/Grundlagen_node.html, Abruf am 05.02.2011
  44. Mell, P., Grance, T.: The NIST Definition of Cloud Computing, NIST 2011, S. 2
  45. Mell, P., Grance, T. (2011), S. 2
  46. Mell, P., Grance, T. (2011), S. 2 f.
  47. Mell, P., Grance, T. (2011), S. 3
  48. entnommen aus: Eriksdotter, H.: Sicherheit Cloud Computing - Provider machen Anwender verantwortlich, http://www.cio.de/was_ist_cloud_computing/anwender/2277135/index.html, Abruf am 11.01.2012
  49. vgl. Handelsblatt.de: Outsourcing – Vorteile und Risiken, URL: http://www.handelsblatt.com/archiv/outsourcing-vorteile-und-risiken;644303, Abruf am 19.01.2012
  50. Eggert, S., Fohrholz, C.: Marktrecherche: IT-Outsourcing, erschienen in: ERP Management, 3/2007, S. 46-53
  51. erpwire.com: What are the merits and demerits of ERP outsourcing?, URL: http://www.erpwire.com/erp-articles/erp-outsourcing-advantages-disadvantages.htm, Abruf am 11.12.2011
  52. arbeits-abc.de: Outsourcing – Vorteile, Nachteile und Fehlerquellen, URL: http://arbeits-abc.de/outsourcing-vorteile-nachteile-und-fehlerquellen/, Abruf am 23.12.2011
  53. Richtlinie 95/46/EG des Europäischen Parlaments und des Rates vom 24. Oktober 1995 zum Schutz natürlicher Personen bei der Verarbeitung personenbezogener Daten und zum freien Datenverkehr, Amtsblatt Nr. L 281 vom 23.11.1995 S. 31 – 50
  54. vgl. Bundesdatenschutzgesetz, BDSG
  55. H.R.3162.ENR: Uniting and Strengthening America by Providing Appropriate Tools Required to Intercept and Obstruct Terrorism (USA PATRIOT Act)
  56. vgl. Schüler, P.: Datenschutz in der Euro-Cloud, erschienen in: c’t 16/2011, S. 49
  57. Schüler, H.-P.: Gewitterwolken über dem Cloud-Computing, erschienen in c’t, Ausgabe 19/2011, S. 62
  58. Siehe Top 10 2010 - The Open Web Application Security Project (2010), https://www.owasp.org/index.php/Top_10_2010-Main, Abruf am 28.12.2011
  59. Vgl. Naumann, CMS Journal Nr. 30 (2008), http://edoc.hu-berlin.de/cmsj/30/naumann-winfried-3/XML/Naumann-3_xdiml.xml, Abruf am 26.12.2011
  60. android.com: Publishing on Android Market, URL: http://developer.android.com/guide/publishing/publishing.html, Abruf am 27.12.2011
  61. Hentze, J., Heinecke, A., Kammel, A.: Allgemeine Betriebswirtschaftslehre aus Sicht des Managements, UTB 2001, S. 301
  62. Siehe BSI, https://www.bsi.bund.de/DE/Themen/weitereThemen/SicherheitderJavaPlattform/SicherheitvonJava/BedrohungundRisiken/bedrohungundrisiken_node.html, Abruf am 28.12.2011
  63. vgl. http://brain.yubb.de/, Abruf am 29.12.2011
  64. vgl. Köhler, T.: Security Awareness: Microsoft jagt das Phantom, erschienen in IT-Grundschutz 2009/10-11, S. 7-9
  65. Vgl. BSI: Maßnahmenkatalog, M 4.95 Minimales Betriebssystem, https://www.bsi.bund.de/ContentBSI/grundschutz/kataloge/m/m04/m04095.html, Abruf 12.12.2011
  66. Vgl. uni-potsdam.de: Designrichtilinien für Webanwendungen, http://www.hpi.uni-potsdam.de/uploads/media/Jaeger_-_Designrichtlinien_fuer_Webanwendungen.pdf; Abruf am 02.01.2012
  67. nach Bruce Schneier: Secrets & Lies „IT-Sicherheit in einer vernetzten Welt“, dpunkt.verlag Heidelberg
Persönliche Werkzeuge