Beiträge

IT-Sicherheit ist ein Thema, um das sich Verantwortliche in jedem Unternehmen, das Daten digital verarbeitet, Gedanken machen sollten. Doch im Alltag besteht die Gefahr, dass es beim guten Vorsatz bleibt, wenn nicht explizit ein Mitarbeiter, als IT-Sicherheitsbeauftragter, mit dieser Aufgabe betraut wird. Daher gibt es die Möglichkeit, einen Mitarbeiter vorzusehen, der sich haupt- oder nebenamtlich darum kümmert, das eigene System abzusichern.

Muss jedes Unternehmen einen IT-Sicherheitsbeauftragten bestellen?

IT-Sicherheit ist vom Datenschutz zu unterscheiden. Der eine Bereich umfasst die Absicherung der IT-Infrastruktur, der andere den Umgang mit personenbezogenen Daten. Zu trennen sind beide Felder dennoch nicht. Bei einem Systemeinbruch durch einen Hacker, sind meistens auch persönliche Daten von Kunden und Mitarbeitern betroffen. Für die meisten Firmen gibt es zwar keine Pflicht, einen IT-Sicherheitsbeauftragten zu bestellen. Wenn aber Daten abfließen konnten, weil eklatante Sicherheitsmängel in der IT vorlagen, kann eine Haftung der Geschäftsführung gegeben sein. Diese kann sich, je nach Rechtsform des Unternehmens, aus nachfolgenden Gesetzen ergeben:

-Gesetz betreffend die Gesellschaften mit beschränkter Haftung (GmbHG),

-dem Aktiengesetz (AktG),

-Gesetz zur Kontrolle und Transparenz im Unternehmensbereich (KonTraG).

Für Unternehmen, die eine Tätigkeit im Bereich der kritischen Infrastrukturen (KRITIS) ausüben, ist die Benennung eines IT-Sicherheitsbeauftragten ohnehin vorgeschrieben. Dies ist im IT-Sicherheitsgesetz festgelegt (IT-SIG). Zu den Unternehmen zählen beispielsweise Energieerzeuger, Telekommunikationsanbieter und Wasserwerke.

Wo ist ein IT-Sicherheitsbeauftragter angegliedert?

Die Rolle des IT-Sicherheitsbeauftragten ist nicht starr festgeschrieben. Dies ist beim Datenschutz anders. Die Rechte und Pflichten des Datenschutzbeauftragten sind im Bundesdatenschutzgesetz in den Paragraphen 6 und 7 festgelegt. Unter anderem ist dort geregelt, dass er rechtzeitig in Entscheidungen eingebunden werden soll und nicht weisungsgebunden sein darf.

Es ist sinnvoll, sich daran zu orientieren. Ein IT-Sicherheitsbeauftragter sollte direkt der Geschäftsführung unterstellt sein. Handelt es sich um einen Mitarbeiter der IT-Abteilung, besteht die Gefahr, dass es zu Interessenskonflikten kommt. Zudem sollte er standardmäßig gehört werden, bevor im IT-Bereich Entscheidungen getroffen werden. Außerdem muss ihm die Möglichkeit gegeben werden, auf die für seine Tätigkeit notwendigen Informationen Zugriff zu bekommen. Daher muss er freien Zutritt zu allen Bereichen haben und Zugriff auf die Systeme bekommen. Sinnvoll ist es auch, ihm das Recht zu geben, Kontrollen durchzuführen.

Welche Aufgaben erfüllt ein IT-Sicherheitsbeauftragter?

Grundsätzlich soll ein IT-Sicherheitsbeauftragter über Aufbau und Struktur der Informationstechnik im Unternehmen Bescheid wissen. Ihm obliegt es, sich zu Beginn seiner Tätigkeit einen kompletten Überblick zu verschaffen. Dazu muss er genau wissen, wie und wo Daten erhoben und weiterverarbeitet werden. Es ist für ihn notwendig, Kenntnis zu haben, welche Systeme und was für Hardwareprodukte eingesetzt werden. Zudem muss er die Schnittstellen zwischen den einzelnen Bereichen kennen. Dieses Wissen muss er laufend aktualisieren.

Darüber hinaus muss er über die aktuelle Bedrohungslage informiert sein. Nur so ist ihm möglich, die konkrete Gefährdung des eigenen Unternehmens einzuschätzen. Dies kann sich auf Schadsoftware, wie beispielsweise als Mailanhänge kursierende Verschlüsselungstrojaner beziehen. Ebenso aber auch auf unsichere Hardware, wie zum Beispiel eingesetzte Router, deren Verschlüsselung angreifbar ist.

Aus diesen Informationen soll ein IT-Sicherheitsbeauftragter konkrete Maßnahmen zur Einhaltung und Verbesserung der Datensicherheit entwickeln und vorschlagen. Dies sollte in Form von Richtlinien oder eines Maßnahmenkatalogs geschehen. Wichtig ist es, die Schutzziele und Maßnahmen zur Einhaltung zu dokumentieren. Nur so kann das Unternehmen im Schadensfall nachweisen, dass es Vorkehrungen getroffen hat und nicht fahrlässig gehandelt wurde.

Als Orientierung kann hierbei die Beschreibung eines Informationssicherheitsmanagements (ISMS) vom Bundesamt für Sicherheit in der Informationstechnik (BSI) dienen. Dort sind mögliche Gefahren systematisch in den Grundschutzkatalogen aufgelistet. Dies betrifft Elementarschäden wie Feuer und Wasser, aber auch Datenverlust durch Fehlbedienung oder Sabotage. Zudem werden dort konkrete Einschätzungen der Gefährdung von Geräten mit spezifischen Betriebssystemen gegeben. In der Folge sind dort Maßnahmen beschrieben, die zur Absicherung einzelner Endgeräte empfohlen werden.

Weitere Orientierungen können an den Normen:

– ISO/IEC 27001 (IT-Sicherheitsverfahren, Informationssicherheits-Managementsysteme, Anforderungen, zuletzt aktualisiert im Juni 2017) und

-ISO/IEC 27002 (IT-Sicherheitsverfahren – Leitfaden für das Informationssicherheits-Management, zuletzt aktualisiert im Oktober 2013)

erfolgen.

Die Umsetzung der vorgeschlagenen Maßnahmen wird in der Praxis nach Beratung mit der Geschäftsführung geschehen. Schließlich können durch Austausch unsicherer Hardware oder Umstrukturierung von Arbeitsabläufen Kosten entstehen.

Zudem sollten vorgegebene Richtlinien auch in Audits oder Revisionen kontrolliert werden.

Weiterhin muss ein IT-Sicherheitsbeauftragter den Mitarbeitern als Ansprechpartner zur Verfügung stehen. Sie sollen ihm aufkommende Fragen, die IT-Sicherheit betreffend, stellen können. Auch Schulungen der Mitarbeiter führt ein IT-Sicherheitsbeauftragter durch.

Bei konkreten Gefährdungen, soll er kurzfristige Warnungen und Verhaltenshinweise an die Mitarbeiter herausgeben.

Zudem erstellt ein IT-Sicherheitsbeauftragter, Pläne für das Verhalten im Schadensfall und macht diese den Mitarbeitern zugänglich.

Voraussetzungen für den IT-Sicherheitsbeauftragten

In gewisser Weise muss ein IT-Sicherheitsbeauftragter Allrounder im IT-Bereich sein. Er benötigt das notwendige Fachwissen im gesamten überwachten Bereich. Um Kontrollen durchführen zu können, muss er in der Lage sein, die verwendeten Systeme auch selber zu bedienen. Zudem müssen seine Vorschläge zur Verbesserung praxistauglich sein, was ebenfalls entsprechende Kenntnisse voraussetzt.

Darüber hinaus muss er über aktuelle Entwicklungen in der Hardware, hier insbesondere in sicherheitsrelevanten Belangen, informiert sein.

Insbesondere aber muss er Kenntnisse im Bereich der IT-Security haben. Angriffe lassen sich am wirksamsten abwehren, wenn man weiß, wie sie im Detail funktionieren. Auch kann nur dann eine Überprüfung der eigenen Systeme auf eine Anfälligkeit erfolgen.

Einige Universitäten bieten Studiengänge mit Spezialisierung auf den Bereich an. Zudem gibt es diverse Anbieter von Fortbildungen und Zertifizierungen für dieses Tätigkeitsfeld.

Für kleine und mittelständische Unternehmen ist die Variante interessant, einen IT-Sicherheitsbeauftragten von einem externen Dienstleister zu verpflichten. Dies vermeidet den Schulungsaufwand eigener Mitarbeiter. Zudem kann es eine objektive Herangehensweise garantieren, wenn eine externe Person die Aufgabe übernimmt. Diese wird üblicherweise keine persönlichen Bindungen zu den Mitarbeitern haben und auch gegenüber der Geschäftsführung unbefangener auftreten. Weiterhin hat dieses Modell einen Vorteil, wenn die Größe der eigenen IT-Landschaft es nicht rechtfertigt, einen Mitarbeiter komplett mit der Aufgabe der IT-Sicherheit zu betrauen.

Fazit

Jedes Unternehmen tut gut daran, sich mit dem Thema zu beschäftigen, ob ein IT-Sicherheitsbeauftragter bestellt werden soll. Einerseits trägt es die Verantwortung für die ihm anvertrauten Daten, was bis zu einer persönlichen Haftung der Geschäftsführung bei Missbrauch führen kann. Andererseits gibt es inzwischen Bedrohungen, wie Verschlüsselungstrojaner, die auch umsichtige und vorsichtige Unternehmen betreffen und erhebliche Schäden anrichten.

Eine Flut oder Cyber Attacke, Fehler in der Lieferkette oder der Verlust eines wichtigen Mitarbeiters. Es ist der Albtraum eines Unternehmers, aber schwerwiegende Betriebsstörungen können jederzeit auftreten. Beim Business Continuity Planning (BCP) geht es darum, einen Plan für die Bewältigung schwieriger Situationen zu haben, damit das Unternehmen so störungsfrei wie möglich weiter funktioniert.

Egal, ob es sich um ein privates Unternehmen, eine Organisation des öffentlichen Sektors oder eine Wohltätigkeitsorganisation handelt, Mitarbeiter der entsprechenden Führungsetagen müssen wissen, wie sie auch unter schwierigsten Bedingungen die Geschäfte am Leben erhalten können. Genau dafür gibt es BCP.

Was ist Business Continuity Planning?

Business Continuity Planning ist die Vorausplanung und Vorbereitung innerhalb einer Organisation, um sicherzustellen, dass sie in der Lage ist, ihre kritischen Geschäftsfunktionen während und nach dem Eintreten von Notfällen auszuführen. Solche katastrophalen Ereignisse können Naturkatastrophen, Geschäftskrisen, Pandemien, Gewalt am Arbeitsplatz oder Ereignisse sein, die zu einer Störung des Geschäftsbetriebs führen könnten. Beim effektiven Business Continuity Management wird nicht nur für Ereignisse geplant und vorbereitet, durch die Funktionen vollständig gestoppt werden, sondern auch für Ereignisse, die sich möglicherweise bloß sehr negativ auf einzelne Dienste oder Funktionen auswirken, sodass einzelne Tätigkeitsfelder einer Organisation starken Störungen unterliegen. BCP stellt sicher, dass Personal sowie Sach- und Vermögenswerte geschützt und im Katastrophenfall schnell wieder einsatzfähig sind.

Die Vorteile von BCP

  1. Es kann im äußersten Fall nicht nur Daten und Produktionszyklen, sondern Leben retten.

 

  1. Es schafft Vertrauen bei Mitarbeitern, Kunden & Geschäftspartnern.

 

  1. Es stellt die Einhaltung der Industriestandards sicher (aus versicherungstechnischer Sicht relevant).

 

  1. Es schützt den Brand Value und das Image.

 

  1. Es pflegt eine belastbare Organisationskultur.

 

  1. Es liefert wertvolle Geschäftsdaten.

 

  1. Es hilft, finanzielles Risiko zu mindern.

 

  1. Es schützt die Lieferkette.

 

  1. Es gibt Unternehmen im besten Fall einen Wettbewerbsvorteil

Schlüsselelemente im Business Continuity Management

Durch die Durchführung einer Business Impact Analysis (BIA) können mögliche Schwachstellen sowie die Auswirkungen einer Katastrophe auf verschiedene Abteilungen aufgedeckt werden. Der BIA informiert eine Organisation über die wichtigsten Funktionen und Systeme, die in einem Business Continuity Plan priorisiert werden müssen.Ein Business-Continuity-Plan besteht aus drei Schlüsselelementen: Ausfallsicherheit, Wiederherstellung und Kontingenz.

Ein Unternehmen kann die Ausfallsicherheit erhöhen, indem es kritische Funktionen und Infrastrukturen mit Blick auf verschiedene Katastrophenmöglichkeiten entwirft. Dies kann Personalwechsel, Datenredundanz und die Aufrechterhaltung eines Kapazitätsüberschusses umfassen. Durch die Gewährleistung der Ausfallsicherheit in verschiedenen Szenarien können Unternehmen wichtige Dienste auch ohne Unterbrechung vor Ort und außerhalb des Standorts bereitstellen.

BCP als Notfallplan

Eine schnelle Wiederherstellung der Geschäftsfunktionen nach einem Notfall ist von entscheidender Bedeutung. Das Festlegen von Zielen für die Wiederherstellungszeit für verschiedene Systeme, Netzwerke oder Anwendungen kann helfen, Prioritäten für die Elemente festzulegen, die zuerst wiederhergestellt werden müssen. Andere Wiederherstellungsstrategien umfassen Ressourceninventare, Vereinbarungen mit Dritten zur Übernahme von Unternehmensaktivitäten und die Nutzung umgebauter Räume für geschäftskritische Funktionen.

Ein Notfallplan enthält Verfahren für eine Vielzahl externer Szenarien und kann eine Befehlskette enthalten, die die Verantwortlichkeiten innerhalb der Organisation während eines Katastrophenfalls verteilt. Diese Aufgaben können den Austausch von Hardware, die Anmietung von Büroräumen für Notfälle, die Schadensbeurteilung und die Beauftragung von Drittanbietern umfassen.

Ein entscheidender Faktor für einen schnellen Wiederanlauf beschädigter Geschäftsfunktionen sind kontinuierliche IT-Funktionen: Mit der heutigen Technologie können viele Vorsichtsmaßnahmen getroffen werden, um Daten, Informationen und Vorgänge zu schützen. Die Schlüsselwörter Datensicherung und Backup spielen hierbei in unserer digitalen Welt eine zentrale Rolle. Ein cloudbasierter Rechenzentrumsdienst ermöglicht Unternehmen, Ressourcen schnell zu verschieben und trotzdem auf dieselben Anwendungen und Informationen zuzugreifen. Der Business Continuity Plan und die IT-Infrastruktur einer Organisation sollten diese Strategie berücksichtigen.

Fünf Schritte zur Business Continuity-Planung

 

Um einen effektiven Business Continuity Plan zu erstellen, sollte ein Unternehmen die folgenden fünf Schritte ausführen:

 

Schritt 1: Risikobewertung

 

– Bewertung der Sicherheit vor bestimmten Szenarien

 

– Überprüfung der Points of Failure

 

– Bewertung der Auswirkungen verschiedener Geschäftsunterbrechungsszenarien

 

– Bestimmung der Eintrittswahrscheinlichkeit eines Risikos anhand eines Ratingsystems

 

– Entwicklung eines Plans zum weiteren Vorgehen anhand voriger Priorisierung

 

Schritt 2: Business Impact Analysis (BIA)

– Analyse der Recovery Point Objectives (RPO) und Recovery Time Objectives (RTO)

 

– Identifizieren kritischer Geschäftsprozesse und Workflows sowie unterstützender Produktionsanwendungen

 

– Identifizieren von Interdependenzen, sowohl intern als auch extern

 

– Identifizieren von kritischem Personal, einschließlich Backups, Fähigkeiten, primären und sekundären Kontakten

 

– Identifizieren eventueller spezieller Umstände

 

Schritt 3: Entwicklung eines Business Continuity Plans

 

– Abnahme der Business Impact Analysis durch die Geschäftsleitung

 

– Zusammenfassen der Risikobewertung und der BIA-Ergebnisse, um einen umsetzbaren und gründlichen Plan zu erstellen

 

– Entwicklung von unabhängigen Abteilungs- und Standortplänen

 

– Überprüfung des Plans mit den wichtigsten Interessengruppen zur Fertigstellung und Verteilung

 

Schritt 4: Implementierung planen

 

– Verteilung des Plans an alle wichtigen Stakeholder

 

– Durchführung von Schulungen, um sicherzustellen, dass die Mitarbeiter mit den im Plan beschriebenen Schritten vertraut sind

 

Schritt 5: Testen und Wartung planen

 

– Durchführung von Simulationsübungen, um sicherzustellen, dass die wichtigsten Stakeholder mit den Planschritten vertraut sind

 

– Durchführung von halbjährlichen Planprüfungen

 

– Durchführung jährlicher Business Impact Assessments

Lange Jahre wurde die Architektur von Speicher ausschließlich durch die Parameter der Hardware bestimmt. Zumindest, was Größe, Zugriffsgeschwindigkeit und Cache anging. Dynamische Volumes und RAID-Verbünde waren ein erster Schritt, zu mehr Flexibilität. Software defined Storage (SDS) ist die konsequente Fortentwicklung dieses Ansatzes. Der Speicherplatz wird dabei von der Hardware abstrahiert. Dies erlaubt maximale Flexibilität und Skalierbarkeit.

Wie funktioniert die klassische Speicherung von Dateien?

Bis der physikalische Speicher dem Benutzer zum Ablegen seiner Daten angeboten wird, durchläuft er mehrere logische Bearbeitungsprozesse. Dies beginnt beim Controller der klassischen Festplatte. Dieser fasst Speicherbereiche zusammen und bietet sie dem Dateisystem in einer logischen Adressierung an. In Flashspeicher ist ebenfalls eine Abstraktionsschicht integriert, der Flash Translation Layer (FTL). Dieser übernimmt die Adressierung des vom Controller verwalteten Speichers.

Sowohl vom Betriebssystem, als auch auf Hardware-Ebene, können Verbünde erzeugt werden. Beispielsweise durch einen RAID-Controller, der den Speicher von zwei oder mehr Festplatten transparent zu einem großen Bereich zusammenfasst. Auch auf Software-Ebene ist dies möglich, indem beispielsweise unter Windows aus mehreren Festplatten ein dynamisches Laufwerk gebildet wird.

Auf den so zur Verfügung gestellten Speicher greift das Dateisystem zu und übernimmt die Partitionierung sowie Speicherung der Dateien.

Bezüglich der Schreib- und Lesegeschwindigkeit ist man bei diesen Methoden immer auf das „schwächste Glied“ im Verbund reduziert. Die Ablage der Dateien erfolgt zufällig. Auch ist der Austausch oder die Erweiterung der Komponenten nicht in jedem Fall möglich, ohne den gesamten Verbund neu aufzubauen. Ausnahme hiervon sind natürlich RAID-Verbünde, die speziell auf Redundanz ausgelegt sind, dafür aber eine homogene Hardware benötigen.

Wie funktioniert Software defined Storage?

Software defined Storage (SDS) übernimmt mehrere Aufgaben, die zuvor durch unterschiedliche Komponenten erledigt wurden. Er setzt an der Stelle an, wo der Speicher vom Controller logisch zur Verfügung gestellt wird. Er fasst die eingebundenen Komponenten zusammen und setzt sie dynamisch ein.

Dabei kann heterogene Hardware zum Einsatz kommen, ohne dass hierdurch die gesamte Performance beeinträchtigt wird. Vielmehr werden beispielsweise schnelle Speicher für eine Zwischenspeicherung verwendet. Die Daten werden dann zu weniger lastintensiven Zeiten auf andere Bereiche verteilt. Weiterhin ist das Dateisystem ein fester Bestandteil des Systems. So wird dafür gesorgt, dass Daten nicht doppelt abgelegt werden. Sind Dateien inhaltlich mehrfach vorhanden, speichert das Dateisystem sie nur einmal ab und legt Verweise auf den Inhalt an. Diesen Vorgang nennt man Deduplikation.

Auch das Anlegen von Snapshots und Backups wird durch Software defined Storage (SDS) gewährleistet. Die Datenablage erfolgt in redundanten Arrays. So kann Datenverlust bei Ausfall einzelner Komponenten verhindert oder vermindert werden.

Ein großer Vorteil ist die bereits angesprochene Skalierbarkeit. Es ist zu jedem Zeitpunkt möglich, Speicher zu ergänzen. Auch ein Austausch oder das Entfernen von Komponenten ist im laufenden Betrieb möglich.

Anwendungsfälle für Software defined Storage

Software defined Storage (SDS) bietet die flexible Basis für gemeinsam genutzten Speicherplatz in lokalen Netzwerkverbünden. Hauptsächlich dürfte dies für Firmennetzwerke interessant sein. Aus allen bereits vorhandenen Servern kann ein Software defined Storage (SDS) gebildet werden. Auf diesem können dann die notwendigen Dienste angeboten werden. Eine Möglichkeit ist beispielsweise die Nutzung des Speicherplatzes als Fileservers. Auch beliebige Serverdienste können darauf ausgeführt werden. Diese dürfen auch in einer virtualisierten Umgebung laufen. Das gesamte System ist nach der Einrichtung zentral administrierbar.

Was ist Ceph?

Ceph ist eine freie Variante des Software defined Storage (SDS). Sie wird unter GNU Lesser General Public License angeboten (LGPL). Ceph läuft unter Linux und wird von einem Konsortium verschiedener Hard- und Softwarehersteller entwickelt. Unter den Firmen befinden sich Canonical (Entwickler von Ubuntu-Linux), Cisco, Fujitsu, Intel, Red Hat, SanDisk und SuSE-Linux.

Die Software läuft auf handelsüblicher Hardware. Zur Speicherung wird ein Algorithmus mit Namen CRUSH verwendet. Dies steht für Controlled Replication Under scalable Hashing und setzt die Verteilung der Daten im System um. Die Komponenten im System werden Object Storage Nodes (OSDs) genannt. Es ist eine Redundanz der Daten vorgesehen, die dafür sorgt, dass ausgefallene Komponenten ohne Datenverlust ersetzt werden können. Die Software bringt mit CephFS ein eigenes Dateisystem mit.

Was ist Storage Spaces Direct?

Storage Spaces Direct (S2D) heißt der Software defined Storage (SDS) von Microsoft. Das System ist bereits in den Datacenter-Versionen von Windows Server 2016 und 2019 integriert. Es kann also relativ einfach verwendet werden, wenn die Infrastruktur auf diesen Betriebssystemen basiert. Die Flexibilität ist allerdings insofern eingeschränkt, als dass für jedes eingebundene Gerät eine Lizenz erforderlich ist.

Die Einrichtung von S2D erfolgt per PowerShell. Als Dateisystem kann das bekannte NTFS oder das für diesen Zweck optimierte ReFS zur Anwendung kommen. Bei ausreichend eingebundenen Komponenten liegt die Speichereffizienz bei bis zu 80 Prozent. Auch S2D bietet eine Wiederherstellung verlorener Dateien. Dies wird mit der Technik Local Reconstruction Codes (LRC) gewährleistet.

Weitere Anbieter von Software defined Storage

VMWare, der Spezialist für Virtualisierung, verwendet Software defined Storage (SDS) für seine Software vSAN, die Wiederherstellungssoftware Site Recovery Manager und sein Framework Virtual Volumes. Hierbei handelt es sich um ein kostenpflichtiges Angebot. Eine freie Alternative zu Ceph ist das Netzwerk-Dateisystem GlusterFS.

OpenStack Swift ist ein weiteres System zur Bereitstellung von Netzwerkspeicher aus verteilten Systemen. Es handelt sich dabei um Open-Source-Software, die also kostenfrei genutzt werden darf.

Gehört Software defined Storage die Zukunft?

Es sieht im Moment danach aus, dass Software defined Storage (SDS) das Konzept der Zukunft ist. Insbesondere gegenüber vorhandenen NAS- und SAN-Lösungen besticht es durch seine Flexibilität.  Man kann Hardware kann integrieren. Zuwächse in der Performance sind auch mit geringen Investitionen möglich. Zudem scheint der integrative Ansatz ein großer Vorteil bei der Administration zu sein. Backup-Strategien müssen beispielsweise nicht separat entworfen werden. Die Möglichkeit zur zentralen Administration ist ein grundsätzlicher Bestandteil der Technologie. Zudem sind keine Beschränkungen bei der Art der Nutzung des Speicherplatzes des Software defined Storage (SDS) gegeben. Somit harmoniert es beispielsweise gut mit dem Konzept der Virtualisierung von Systemen.

Unter Vulnerability versteht man in der Informationstechnik eine Verwundbarkeit der Hard- oder Software. Immer wieder tauchen Meldungen über neue Vulnerabilitäten auf. Sogar in als unverwundbar geltenden Architekturen, wie der des iPhone von Apple, hat ein Hacker mit dem Checkm8-Exploit kürzlich eine mächtige Sicherheitslücke aufgetan. Kann man also davon ausgehen, dass in jedem Programm und in jeder Hardware-Architektur unbekannte Fehler schlummern?

Der Exploit, des Hackers Werkzeug

Eine Vulnerability wird dadurch gefährlich, dass jemand herausfindet, wie er sie ausnutzen kann. Das Programm, mit dem die Sicherheitslücke für einen bestimmten Zweck „ausgebeutet“ werden kann, ist der . Im günstigsten Fall ist der Hacker ein Sicherheitsforscher, der mit einem Proof-of-concept (PoC) nur den Beweis der Verwundbarkeit antreten will. Dann wird er vor der Veröffentlichung das betroffene Unternehmen in Kenntnis setzen. Kriminelle Hacker hingegen, nutzen die Vulnerability aus, um größtmöglichen Profit zu erzielen oder hohen Schaden anzurichten.

Bekannte Hardware-Sicherheitslücken

Rowhammer (2015): Verwendet eine Vulnerability in der Architektur von Arbeitsspeicher. Hier wird ausgenutzt, dass der Speicher mittels elektrischer Spannung beschrieben wird. Werden viele Schreib- und Leseoperationen in einem Bereich ausgeführt, kann das auch nicht betroffene Bits verändern. Eine Cache-Funktion, die genau diesen Umstand verhindern soll, kann vom Angreifer gezielt ausgehebelt werden.

Meltdown/Spectre (2017): Sind Exploits, die Schwachstellen in Prozessoren der drei großen Anbieter Intel, AMD und ARM ausnutzen. Sie erlauben Zugriffe auf privilegierte Speicherbereiche. In einem Szenario greifen dafür vorgesehene Sicherheitsmechanismen nicht schnell genug, da aus Performance-Gründen unkontrolliert Befehle vorab in internen Registern ausgeführt werden dürfen.

Bekannte Software-Vulnerabilitäten

Heartbleed (2014): Nutzt die Schwäche in einer älteren Version von SSL aus. In dieser kontrolliert SSL das Bestehen der Verbindung regelmäßig durch das Senden von Kontrollbits. Dieselbe Menge wird als Bestätigung zurückgesandt. Jedoch ist es möglich, die vorgesehene Größe zu überschreiten. Die zurückgesandten Bits werden dann mit zufällig im Speicher befindlichen Inhalten aufgefüllt. Dies können auch sensible Daten sein.

-KRACK (2016): Benennt einen Angriff auf die bis dahin als sicher geltende WPA2-Verschlüsselung in WLANs. Bei diesem werden im Authentifizierungsprozess (Handshake) übersandte Pakete abgefangen und Wiederholungen der Versendungen erzwungen. Ein zum Schutz vorgesehener, temporärer Zufallswert (Nonce) wird angreifbar, da er dadurch erneut verwendet wird.

DirtyCow (2016): Benutzt eine Vulnerability, die den Linux-Kernel betrifft. Daher sind auch Android-Geräte betroffen. Namensgebend ist die Ursache, der sogenannte Copy-on-write-Mechanismus. Durch geschickte Mehrfachöffnung einer virtuellen Datei in parallelen Threads, gelingt es dem Exploit, sich nicht vorgesehene Rechte zu verschaffen.

-BlueBorne (2017): Basiert auf einer Vulnerability bei der Implementierung von Bluetooth in nahezu allen Betriebssystemen. Der Angreifer muss sich im Funkbereich der aktivierten Schnittstelle befinden. Dann kann er sich als Man-in-the-Middle betätigen und den Netzwerkverkehr mitlesen. Unter Linux ist es ihm möglich, Schadcode mit den Rechten des Bluetooth-Prozesses auszuführen.

Der Zero-Day-Exploit und CVE

Verwendet der Hacker einen Exploit, bevor er dem betroffenen Entwickler mitgeteilt wurde, spricht man von einem Zero-Day-Exploit. Teilweise wird dieser über einen längeren Zeitraum genutzt, bevor der Hersteller davon erfährt.

Das Gegenstück dazu sind die Common Vulnerabilities and Exposures (CVE). Hierbei handelt es sich um eine Sammlung veröffentlichter Sicherheitslücken. Den Entwicklern wird vor der Bekanntgabe Zeit zur Beseitigung des Fehlers gegeben. Die Veröffentlichung erfolgt, damit Forscher und Hersteller sich damit beschäftigten können. Die CVE erhalten eindeutige Nummern, die es Herstellern von Schutzsoftware ermöglichen, die Vulnerability konkret zu benennen.

Warum gibt es so viele Vulnerabilitäten?

Es gilt auch hier die Weisheit: Wo Menschen arbeiten, werden Fehler gemacht. Allerdings sind Betriebssysteme und viele Programme heutzutage derart komplex, dass Fehler niemals völlig ausgeschlossen werden können. Zudem steht es nicht immer in der Macht eines Entwicklers, derartige Probleme zu vermeiden. Vielmehr muss er sich oftmals auf Module anderer Anbieter verlassen. So wird TLS/SSL in Mailprogrammen und auch im HTTPS-Protokoll genutzt. In vielen Betriebssystemen ist es als Bibliothek fest implementiert. Daher sind durch eine Vulnerability in SSL, die durch den Heartbleed-Exploit ausgenutzt wurde, eine derart hohe Anzahl an Endgeräten und Software-Produkten betroffen. Bei der KRACK-Attacke wiederum wurde ein Hinweis im WPA2-Standard in einem unter Linux und Android gebräuchlichen Treiber fehlerhaft implementiert, so dass nach Durchführung des Angriffs der verwendete Schlüssel nur noch aus Nullen bestand.

Schutz und Gegenmaßnahmen

Um sich vor Vulnerabilitäten zu schützen, sollten Sie als Anwender oder Verantwortlicher auf mehrere Maßnahmen setzen.

Viele Exploits werden von Virenscannern erkannt. Voraussetzung sind tagesaktuelle Signaturen und leistungsfähige Schutzsoftware. Eine Firewall kann verhindern, dass Daten zugänglich werden oder abfließen.

Essentiell sind Sicherheitsupdates für Hard- und Software. Für den Großteil der aufgeführten Exploits haben die Hersteller Sicherheitsupdates veröffentlicht.

Nicht zu vergessen bleibt eine vernünftige Backup-Strategie, da Exploits auch Daten korrumpieren können. Schließlich sollten Sie als Verantwortlicher die aktuelle Bedrohungslage im Auge behalten. Dies können Sie anhand öffentlich zugänglicher CVE-Datenbanken. Im Zweifel macht es möglicherweise Sinn, auf bestimmte Hard- oder Software zu verzichten, bis die Vulnerability geschlossen ist.

Damit ein Computer funktioniert, benötigt er mehrere aufeinander abgestimmte Komponenten, ein Betriebssystem und Anwendungsprogramme. RAM ist ein Begriff, der in diesem Zusammenhang häufig genannt wird. Was RAM ist, wie er funktioniert und wozu er in einem Computer verwendet wird, erfahren Sie im folgenden Beitrag.

RAM ist die Abkürzung für „Random Access Memory“ und bezeichnet den schnellen Arbeitsspeicher in einem Computer oder Smartphone. „Random Access“ bedeutet wahlfreier oder direkter Zugriff. Auf die im RAM gespeicherten Daten kann direkt über die Adresse des Speicherplatzes zugegriffen werden. RAM wird daher auch als Direktzugriff-Speicher bezeichnet. Allgemein gebräuchlich ist jedoch die Bezeichnung Arbeitsspeicher. RAM ist ein flüchtiger Speicher. Die gespeicherten Daten gehen verloren, wenn der Strom abgeschaltet wird.

Wozu wird RAM benötigt?

Der Arbeitsspeicher eines Computers wird als Zwischenablage für häufig benötigte Daten verwendet. Beim Hochfahren eines Computers werden zunächst häufig verwendete Daten des Betriebssystems im RAM gespeichert. Sobald ein Programm, beispielsweise ein Office Programm oder ein Browser geöffnet wird, speichert das System ebenfalls häufig benutzte Daten der Programme im Arbeitsspeicher. Während des Betriebs werden von den benutzten Programmen und vom Betriebssystem selbst temporärer Daten erzeugt, die im RAM zwischengespeichert werden. Dadurch, dass wichtige Daten verschiedener Programme im RAM zwischengespeichert werden, ist sogenanntes Multitasking, die gleichzeitige Nutzung mehrerer Programme möglich. Zudem kann praktisch ohne Verzögerung zwischen mehreren Anwendungsprogrammen gewechselt werden.

Der Bedarf an Arbeitsspeicher für Betriebssysteme und Softwareprogramme hat sich im Laufe der Jahre deutlich erhöht. Für das Windows XP Betriebssystem waren minimal nur 64 MByte RAM erforderlich. Windows 7 benötigte in der 32-Bit Version mindestens 1 Gigabyte RAM und in der 64-Bit Version mindestens 2 Gigabyte Arbeitsspeicher. Für Windows 10 sind mindestens 2 GB RAM, besser jedoch 4 Gigabyte erforderlich, um flüssig funarbeiten zu können.

Funktionsweise

Ähnlich wie ein Mikroprozessor ist ein RAM-Speicherchip eine sogenannte integrierte Schaltung (Integrated Circuit, IC), die aus Millionen Transistoren und Kondensatoren besteht. Je mindestens ein Transistor und ein Kondensator bilden eine Speicherzelle. In jeder Speicherzelle kann ein einzelnes Datenbit – eine 0 oder eine 1 – gespeichert werden. Der Kondensator speichert elektrische Ladung in Form von Elektronen. Wenn ein Kondensator geladen ist, entspricht dies dem Wert 1. Ein leerer, nicht geladener Kondensator entspricht dem Wert 0. Der Transistor wird als Schalter benutzt, um den Ladungszustand des Kondensators zu lesen oder seinen Zustand zu ändern.
Mehrere dieser Speicherzellen sind in Zeilen, den sogenannten „Pages“ organisiert. Der Arbeitsspeicher ist über ein sogenanntes Bussystem mit dem Prozessor des Computers, der CPU, verbunden. Über das Bussystem werden Daten und die Informationen darüber, an welcher Stelle die Daten gespeichert sind, zwischen Prozessor und Arbeitsspeicher ausgetauscht. Ein kleiner Bereich eines RAM-Speicherchips wird als sogenannter Cache-Speicher verwendet. Dieser Teil ist direkt mit dem Prozessor verbunden. Dadurch ist ein sehr schneller Zugriff möglich. Der Cache-Speicher wird verwendet, um Daten zu speichern, die vom Prozessor besonders häufig benötigt werden. Die Speicherung im Cache erfolgt immer nur für kurze Zeit. Seltener genutzte Daten werden immer durch häufiger verwendete Daten ersetzt.

RAM Speicherchips haben aktuell eine Speicherkapazität zwischen 0,5 und 256 GB. Meistens werden mehrere Speicherchips auf einer Platine zu einem sogenannten Speichermodul zusammengefasst. Diese Module haben je nach Chipsatz eine Speicherkapazität von 2, 4, 8, 16, 32 und mehr Gigabyte.

Hohe Datenübertragungsraten und kurze Zugriffszeiten

RAM Speichermodule werden verwendet, da die Zugriffszeiten wesentlich kürzer und die Datenübertragungsraten deutlich höher sind als bei Festplattenspeichern. Sogenannte DDR4-SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory) Module der 4. Generation erreichen Datenübertragungsraten von bis zu 25.600 Megabyte (MB) pro Sekunde. Im Vergleich dazu beträgt die Übertragungsrate einer HDD maximal etwa 380 MB/s. Eine moderne SSD kann etwas über 520 MB/s pro Sekunde übertragen. Zudem sind die Zugriffszeiten bei RAM Speichermodulen mit 60 bis 70 Nanosekunden deutlich geringer als bei Festplatten mit ca. 3,5 ms und SSDs mit etwa 0,2 ms.

Was passiert, wenn der Speicher „voll“ ist?

Sobald ein Computer läuft, werden Daten im RAM zwischengespeichert. Je mehr Programme geöffnet werden und je mehr Programme – wie beispielsweise Antivirenprogramme – im Hintergrund laufen, umso mehr füllt sich der Arbeitsspeicher mit Daten. Wenn im Arbeitsspeicher kein Platz für weitere Daten ist, nutzt das Betriebssystem freien Festplattenspeicher als virtuellen Arbeitsspeicher zur Auslagerung von häufig benötigten Daten. Da Festplatten deutlich langsamer sind als RAM, verlangsamt sich die Geschwindigkeit der Programmabläufe dadurch merklich. Videos werden ruckelig abgespielt, Berechnungen bei der Bildbearbeitung dauern länger und auch das Speichern von Textdateien verzögert sich. In den meisten Computern stehen jedoch freie Steckplätze für weitere RAM-Module zur Verfügung. Der Arbeitsspeicher kann daher in der Regel ohne großen Aufwand an gestiegene Anforderungen angepasst werden.

Was ist der Unterschied zwischen ROM und RAM?

ROM ist die Abkürzung für „Read Only Memory“, auf Deutsch „Nur-Lese-Speicher“. Im Gegensatz zu RAM ist ROM ein nichtflüchtiger Speicher. Informationen werden in einem ROM Speicherchip dauerhaft gespeichert. Das heißt, die gespeicherten Daten bleiben erhalten, wenn der Strom abgeschaltet wird. ROM Speicherchips werden für Daten verwendet, die sich während des Betriebs eines Computers nicht oder nur selten verändern. Häufig verwendete ROM-Bausteine sind sogenannte EEPROMs (Electrically Erasable Programmable Read-Only Memory). Diese Bausteine können mittels elektrischem Strom gelöscht und neu programmiert werden. EEPROMs werden immer dann genutzt, wenn sich die gespeicherten Daten nur selten und im geringem Umfang ändern. Sie werden beispielsweise verwendet, um die Informationen zu speichern, die benötigt werden, um einen Computer nach dem Einschalten hochzufahren.

Datenwachstum als Herausforderung der IT

Das stetige Wachstum der Datenmengen ist ein Problem, dem sich jede IT-Abteilung früher oder später stellen muss. Nutzen Sie ausschließlich klassische Speicherlösungen wie SAN oder NAS müssen die zur Verfügung stehenden Kapazitäten irgendwann mühsam erweitert werden. Eine solche Maßnahme hat des öfteren auch eine kurze downtime zur Folge, da nicht jede Erweiterung im laufenden Betrieb möglich ist.

Damit stellt sich bereits ein weiteres großes Problem ein. Kunden erwarten heutzutage, dass IT-Services zu 100 % an jedem Tag und zu jeder Stunde verfügbar sind. Downtimes werden immer weniger toleriert, besonders im Bereich von Rechenzentren sowie des Hostings. Eine mögliche Lösung um diese Zeiten zu minimieren oder gar völlig auszuschließen bietet beispielsweise Software Defined Storage oder kurz SDS.

Ceph geht neue Wege

Ceph Architektur

Abbildung 1
Ceph Architektur

Schwierigkeiten bei Software Defined Storage

CEPH ist aber keineswegs perfekt und bringt selbstverständlich auch Nachteile mit sich. Ein Merkmal mit dem man sich vor der Inbetriebnahme auseinandersetzen muss, sind die Latenzen die SDS im Vergleich zu Direct Attached Storage (DAS) mit sich bringt. Die erhöhte Komplexität des Software Stacks in Kombination mit den verwendeten Netzwerkverbindungen erhöhen die Latenz pro IO signifikant.

Es erweist sich als äußerst schwierig die Latenz unter den Wert von einigen Millisekunden für Schreibvorgänge zu senken. Woher diese Latenz kommt lässt sich verdeutlichen, wenn man sich die Arbeitsweise von CEPH bei Schreibvorgängen etwas genauer betrachtet (Abbildung 2).

Ein synchroner IO muss vom Client zur primären OSD gesendet werden. Die primäre OSD schickt anschließend die Anzahl konfigurierter Replikationen zu weiteren OSD’s und deren Journalen. Sobald die Repliken auf den Journalen aller OSD’s vorliegen, wird der Vorgang an die primäre OSD bestätigt. Hat die primäre OSD nun alle Bestätigungen erhalten, wird eine Bestätigung an den Client gesendet und dieser kann den nächsten IO senden. Das verdeutlicht schon weshalb es bereits zu Latenzen innerhalb des Software Stacks kommt.

SDS mit Ceph - Arhcitektur

Abbildung 2

Zusätzlich spielt auch das eingesetzte Netzwerk bei Ceph eine entscheidende Rolle. Es gilt hier zunächst unnötige Hops zu vermeiden, da jeder Hop etwa 200us Latenz mit sich bringt. Ein 10GE Netzwerk gilt hierbei als das absolute Minimum, welches Sie beim Einsatz von Ceph oder einem anderen verteilten Speichersystem verwenden sollten. Das verringert Latenzen und erhöht die Bandbreite. Eine zusätzliche Verbesserung bringt Ihnen selbstverständlich der Einsatz von RDMA, jedoch müssen hier die Kosten beachtet werden. All diese Faktoren spielen eine wichtige Rolle und müssen optimiert werden um Latenzen unter dem 2ms Level zu erhalten und dabei eine Balance zwischen Kosten und Nutzen zu finden, was natürlich nicht immer einfach ist.

 

Anforderungen an eine gute SDS Lösung

Damit Sie nach der Einführung einer SDS Lösung wie Ceph nicht enttäuscht sind, gibt es einige Punkte zu beachten. SSDs oder (Enterprise SSD oder NVME SSD) für die Journale, in denen die Schreibvorgänge gecached werden, sowie ein 10GE Netzwerk sind nach herrschender Meinung innerhalb der Ceph Community und unseren eigenen Erfahrungen ein Muss. Für die OSD’s sollten nach Möglichkeiten SAS3 HDD’s verwendet werden. Es ist auch denkbar bei Bedarf einen Teil der OSD’s rein aus SSDs zu erstellen und gesondert zur Verfügung zu stellen. Wichtig ist zudem keine RAID Arrays zu verwenden. Ceph profitiert stark von vielen unabhängigen Festplatten. Einem schwerwiegenden Datenverlust entgehen Sie zudem indem Sie mehrere Server mit möglichst vielen Festplatten (OSD’s) bereitstellen

Die CPU sollte möglichst viele Prozessor-Kerne haben, und der Arbeitsspeicher mit etwa 1-2 GB pro OSD berechnet werden um hier keinen Flaschenhals zu generieren. Der Einsatz von RDMA muss wohl überlegt sein und kommt auf den speziellen Workload an. Werden extrem niedrige Latenzen und hohe Bandbreite über 10 GE benötigt bietet es sich eventuell eher an auf ein spezielles Storage System wie GPFS, BeeGFS oder Lustre  in Kombination mit Infiniband/Omnipath zu setzen.

Fazit zu Ceph

Zusammenfassend lässt sich sagen, dass Software Defined Storage definitiv eine gute Möglichkeit darstellt, um stetig wachsende Datenbestände einfacher zu verwalten. Jedoch hat Software Defined Storage genau wie jede andere Lösung gewisse Einschränkungen denen man sich bewusst sein muss. Im modernen IT-Betrieb wird man aber nicht auf SDS verzichten können. Die mitgebrachten Vorteile wie Skalierbarkeit, einfache Erweiterung und eine sehr hohe Verfügbarkeit werden zunehmend wichtiger.

Weiterführende Links zum Thema: