Beiträge

Die National Security Agency (NSA) ist ein Auslandsgeheimdienst der Vereinigten Staaten von Amerika. Seine Hauptaufgabe besteht in der Überwachung elektronischer Kommunikation ausländischer Geheimdienste und Militärs. Das bringt ihm, berechtigt oder nicht, einige Kritik ein. Wussten Sie aber, dass Entwicklung und Forschung im Bereich von Sicherheit und Verschlüsselung auch Aufgaben des Geheimdienstes sind? Quellcode der Behörde befindet sich beispielsweise in fast jedem Android-Mobiltelefon und auf nahezu jedem Linux-Server.

Geschichte und Entwicklung der NSA

Gegründet wurde der Vorläufer der NSA, die Army Security Agency (ASA) 1945 durch den damaligen Präsidenten Harry S. Truman. Sie war zunächst eine Unterabteilung des Verteidigungsministeriums. Hauptgrund der Gründung war in der Anfangszeit die Spionage gegen das Deutsche Reich. Später trug der beginnende Kalte Krieg mit der Sowjetunion zum Fortbestand und Ausbau der Abteilung bei.

Im Jahr 1952 ging die NSA aus der ASA hervor. Sie ist mittlerweile der größte Auslandsgeheimdienst der USA.

De NSA hat über die Jahre beträchtliche Verdienste an der Entwicklung von Sicherheitsstandards in Hard- und Software erworben. Zum Beispiel auf dem Feld der Kryptografie.

Aufgaben der NSA heute

Die Aufgaben der NSA sind gesetzlich festgelegt. Sie hat Informationen zu sammeln, die zum Schutz der nationalen Sicherheit benötigt werden. Die zweite Hauptaufgabe ist der Schutz vor Angriffen auf geheime Informationen der US-Regierung. Die NSA untersteht dem Verteidigungsministerium. Das Internet wiederum basiert auf einer Entwicklung des US-Militärs, dem APRANET. Daher war die Behörde von Anfang an in die Entwicklung von Sicherheitsstandards eingebunden. Sie hat sich im Laufe der Jahre maßgeblich an der Forschung im Bereich der Verschlüsselungstechnik beteiligt. Dies beschreibt zugleich auch das dritte große Aufgabenfeld der NSA.

Entwicklung von Verschlüsselung

Die verschlüsselte Übertragung von Daten wurde in den 1970er Jahren als Schutz vor unbefugtem Abhören etabliert. Die NSA arbeitete früh an der Entwicklung und Implementierung von Algorithmen mit.

Der Data Encryption Standard (DES) wurde ab 1977 durch die US-Regierung für die verschlüsselte Übertragung von Daten eingesetzt. Der symmetrische Verschlüsselungsalgorithmus war für lange Zeit erste Wahl, wenn im Internet Daten verschlüsselt versandt werden sollten. Erst in den 1990er Jahren äußerten Forscher vermehrt Sicherheitsbedenken. Die Entwicklung erfolgte durch die Firma IBM, die US-amerikanische Behörde NBS (National Bureau of Standards) und die NSA. Sie war auch in die Planung und Ausschreibung eingebunden.

Am Nachfolger von DES, dem Advanced Encryption Standard (AES), war der Geheimdienst dann nicht mehr beteiligt.

Entwicklung von Software

Im Open-Source-Bereich hat die NSA gemeinsam mit Red Hat-Linux die Kernel-Erweiterung SELinux entwickelt. Diese setzt das Prinzip der Mandatory Access Control (MAC) für Zugangsrechte um. Nach der ist jeglicher Zugriff verboten, es sei denn, er wird explizit erlaubt. Das System wurde in den Linux-Kernel integriert (ab Version 2.6). In das Smartphone-Betriebssystem Android fand es mit der Version 4.3 als SEAndroid Einzug.

Seit 2017 veröffentlicht die NSA zahlreiche Programme auf Github.com in einem eigenen Repository. Darunter befinden sich einige zum Aufspüren von Sicherheitslücken. Auch Programme zum Absichern der eigenen Kommunikation werden angeboten, beispielsweise das VPN-Tool goSecure.

Für Aufsehen sorgte das kostenfreie Angebot des mächtigen Reverse-Engineering-Frameworks Ghidra. Dieses wird von Fachleuten als ernstzunehmender Konkurrent für das bekannte „IDA Pro“ angesehen.

Für alle Programme ist der Quellcode öffentlich. Daher können sich Sicherheitsexperten weltweit daran beteiligen, sie auf ihre korrekte Funktionalität zu überprüfen.

Dies wurde für Ghidra intensiv betrieben. Dabei fanden Forscher einen gravierenden Fehler im Code. Es herrscht aber Einigkeit unter den Fachleuten, dass es sich um einen Bug und keine Hintertür handelt.

Engagement im Bereich IT-Sicherheit

Die Behörde überprüft und zertifiziert Verschlüsselungsalgorithmen. Sie arbeitet mit Entwicklern von Verschlüsselung zusammen, beispielsweise beim Protokoll RSA.

In der „NSA Suite B“ werden die getesteten Produkte veröffentlicht und in Sicherheitsstufen eingeteilt. Sie empfiehlt beispielsweise folgende Standards:

-Verschlüsselung: AES (Schlüssellänge 128/256 für „geheim“/“streng geheim“)

-Digitale Signatur: ECDSA (Schlüssellänge 256/384 für „geheim“/“streng geheim“)

-Schlüsseltausch: ECDH (Schlüssellänge 256/384 für „geheim“/“streng geheim“)

-Hashfunktion: SHA-2 (Schlüssellänge 256/384 für „geheim“/“streng geheim“)

Die NSA veröffentlicht zudem Schwachstellen und Möglichkeiten, sich davor zu schützen. Über die Plattform Github.com lässt sich der „Hardware-and-Firmware-Security-Guidance“ herunterladen. Dieser gibt Anleitungen, sein System auf Verwundbarkeiten („Vulnerabilities“) zu überprüfen. Möglichkeiten zum Patchen werden dort beschrieben.

Sponsoring durch die NSA

Auch im Bereich der Ausbildung und Förderung junger IT-Talente engagiert sich die NSA. Sie pflegt Kooperationen mit Schulen. Ausgewählte Universitäten sponsert sie als Center of Academic Excellence (CAE). Zudem beteiligt der Geheimdienst sich an der Ausschreibung von Preisen für Forschungsergebnisse von Wissenschaftlern und Ingenieuren.

 

Wann haben Sie das letzte Mal eine handschriftliche Nachricht gesendet? Wenn Sie wie die meisten modernen Menschen sind, ist das wahrscheinlich schon eine ganze Weile her (mit Ausnahme von Feiertags- oder Geburtstagskarten). Das liegt daran, dass E-Mails zu einem festen Bestandteil unseres persönlichen und beruflichen Lebens geworden sind. Aber obwohl E-Mails so weit verbreitet sind, sind sie nicht immer sicher. Hier kommt S/MIME als Verschlüsselungsverfahren für Ihre E-Mails ins Spiel.

Definition

S/MIME steht für Secure/Multipurpose Internet Mail Extensions und ist ein Standard für die Verschlüsselung und Signatur von E-Mails und MIME-Daten mit öffentlichen Schlüsseln. Was S/MIME ermöglicht, sind drei Dinge:

  1. Stellen Sie gegenüber Ihren E-Mail-Empfängern sicher, dass Sie tatsächlicher Absender der E-Mail sind.
  2. Ermöglicht das verschlüsselte Senden und/oder Empfangen von E-Mails
  3. Erleichtern Sie die sichere gemeinsame Nutzung von Dokumenten in Netzwerken, indem Sie die Datenintegrität sicherstellen. Dies bedeutet, dass diese Zertifikate in einigen Fällen auch als Signaturzertifikate für Dokumente dienen, indem Dateien signiert und verschlüsselt werden, bevor sie per E-Mail gesendet werden.

Es wurde ursprünglich von RSA Security, Inc. entwickelt und basiert auf dem Verschlüsselungsmechanismus des Unternehmens für öffentliche Schlüssel. Die meisten E-Mail-Dienste und -Softwares verwenden S/MIME, um die E-Mail-Kommunikation zu sichern.

Wie funktioniert S/MIME?

S/MIME, basierend auf Public Key Infrastructure oder Asymmetric Encryption, bietet E-Mail-Sicherheit durch Verschlüsselung, Authentifizierung und Integrität. Mit anderen Worten, Sie können Ihre E-Mails digital signieren, sodass nur der vorgesehene Empfänger die Nachricht sehen kann und erfährt, dass die E-Mail wirklich von Ihnen stammt. Während die E-Mail unterwegs ist, wird ihre Integrität durch die Verschlüsselung sichergestellt, da sie verhindert, dass unbefugte Dritte die Daten abfangen und manipulieren.

Auf diese Weise geht S/MIME einen Schritt über die Verschlüsselung von E-Mail-Servern hinaus. Die Installation eines digitalen Zertifikats auf einem E-Mail-Server ist immer eine gute Idee, da hierdurch Hacker-Angriffe verhindert werden können. Dies reicht jedoch meist nicht aus. Selbst wenn Ihr E-Mail-Server verschlüsselt wurde, kann das einen Hacker nicht sicher davon abhalten, E-Mails aus Ihrem Posteingang zu stehlen, da die E-Mails unverschlüsselt auf den Servern gespeichert werden. Es schützt auch nicht, wenn Ihre E-Mails von einem anderen Server übertragen werden.

Beide Nachteile können mit einem S/MIME-Zertifikat behoben werden. Um S/MIME zu implementieren, müssen Sie ein S/MIME-Zertifikat (auch als „Client-Zertifikat“ bezeichnet) installieren.

S/MIME-Zertifikate basieren auf asymmetrischer Verschlüsselung. Es handelt sich also um zwei unterschiedliche Schlüssel – einen öffentlichen und einen privaten Schlüssel. Ein öffentlicher Schlüssel kann dabei nur einen privaten Schlüssel haben und umgekehrt. Dies liegt daran, dass sie in mathematischer Beziehung zueinander stehen. Der öffentliche Schlüssel wird tatsächlich vom privaten Schlüssel abgeleitet.

Die Verwendung von S/MIME

Bei Verwendung von S/MIME sendet ein Absender eine E-Mail, indem er sie über den öffentlichen Schlüssel des Empfängers verschlüsselt. Auf der anderen Seite entschlüsselt der Empfänger die E-Mail mit dem privaten Schlüssel, den er hat. Es gibt keine Möglichkeit für andere, die E-Mail in einem verschlüsselten Format zu sehen oder zu manipulieren. In einfachen Worten wird dieser gesamte Vorgang als „Signieren“ bezeichnet.

Dadurch wird die Wahrscheinlichkeit eines Eingriffs durch Dritte während der Übertragung der E-Mail verringert. Eine weiterer Vorteil ist die leichtere Authentifizierung des Absenders durch den Empfänger, da die Signatur des Absenders an jede E-Mail angehängt wird.

Obwohl S/MIME von vielen E-Mail-Clients unterstützt wird, wurde es nicht allgemein implementiert. In der Vergangenheit wurde es in erster Linie von Regierungsvertretern und Technikfreaks verwendet, da die Implementierung für normale Benutzer zu umständlich war.

Eine ähnliche Verschlüsselungsmethode ist eine Technologie namens PGP (Pretty Good Privacy), die oft als Alternative zu S/MIME genannt wird.

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.

Früher war 3DES eine der bekanntesten und beliebtesten Formen der Verschlüsselung. Der Verschlüsselungsalgorithmus basiert auf dem für die US-Regierung entwickelten DES-Algorithmus, den ab den 1980er-Jahren so gut wie alle Hersteller in ihren Programmen hatten.

3DES – Definition

Bei 3DES handelt es sich um einen Verschlüsselungsalgorithmus. Obwohl es offiziell als Triple Data Encryption Algorithm (3DEA) bekannt ist, wird dieser Verschlüsselungsalgorithmus am häufigsten als 3DES bezeichnet. Dies liegt daran, dass der 3DES-Algorithmus die DES-Verschlüsselung (Data Encryption Standard) dreimal verwendet, um zu sichernde Daten zu verschlüsseln.

DES ist ein Symmetric-Key-Algorithmus, der auf einem Feistel-Netzwerk basiert. Als symmetrische Key-Verschlüsselung wird dabei derselbe Schlüssel sowohl für die Verschlüsselung als auch für die Entschlüsselung verwendet. Das Feistel-Netzwerk macht diese beiden Prozesse nahezu identisch, was zu einem Algorithmus führt, dessen Implementierung effizienter ist.

DES hat sowohl eine 64-Bit-Block- als auch eine Schlüsselgröße, in der Praxis gewährt der Schlüssel jedoch nur 56-Bit-Sicherheit. 3DES wurde aufgrund der geringen Schlüssellänge von DES als sicherere Alternative entwickelt. In 3DES wird der DES-Algorithmus dreimal mit drei Schlüsseln ausgeführt. Er wird jedoch nur als sicher angesehen, wenn drei separate Schlüssel verwendet werden.

Triple DES verschlüsselt die Eingabedaten dreimal. Die drei Schlüssel werden dabei mit k1, k2 und k3 bezeichnet. Diese Technologie ist im Standard von ANSIX9.52 enthalten. Triple DES ist abwärtskompatibel mit regulärem DES.

3DES ist vorteilhaft, da es eine erheblich größere Schlüssellänge hatals die meisten anderen Verschlüsselungsmodi. Der DES-Algorithmus wurde jedoch durch den Advanced Encryption Standard des National Institute of Standards and Technology (NIST) ersetzt. Somit gilt 3DES nun als veraltet. Software, die für ihre Kompatibilität und Flexibilität bekannt ist, kann problemlos für die Triple-DES-Integration konvertiert werden. Daher ist diese Form der Verschlüsselung möglicherweise nicht annähernd so veraltet, wie von NIST angenommen.

Die Geschichte der 3DES-Verschlüsselung

Da 3DES von DES abgeleitet ist, ist es am besten, zuerst den früheren Standard, DES, zu erklären. In den 1970er-Jahren suchte das National Bureau of Standards (NBS – inzwischen in NIST umbenannt) nach einem Algorithmus, der als Standard zur Verschlüsselung sensibler, aber nicht klassifizierter Regierungsinformationen verwendet werden konnte.

Die NBS akzeptierte Vorschläge für einen Standard, der ihren Anforderungen entsprach, aber keiner der Kandidaten aus der ursprünglichen Runde setzte sich durch. Es wurden weitere Einsendungen entgegengenommen, und diesmal schickte IBM einen von seinem Team entwickelten Algorithmus durch. Die Vorlage wurde von der Luzifer-Chiffre abgeleitet, die Horst Feistel entworfen hatte.

1975 wurde der IBM-Algorithmus von der NBS als vorgeschlagener Datenverschlüsselungsstandard veröffentlicht. Die Öffentlichkeit wurde gebeten, sich zu dem Entwurf zu äußern, der einige Kritik hervorrief. Einige prominente Kryptografen behaupteten zum Beispiel, die Schlüssellänge sei zu kurz.

Zu der Zeit dachten viele in der kryptografischen Community, dass die National Security Agency (NSA) das Projekt sabotiert und sich eine Hintertür eingebaut hatte, so dass es die einzige Agency sein würde, die DES brechen könnte. Dieser Verdacht konnte jedoch nie bewiesen werden.

Trotz der anfänglichen Fragen zur Sicherheit des Algorithmus und zur Beteiligung der NSA wurde der IBM-Algorithmus 1976 als Datenverschlüsselungsstandard anerkannt. Er wurde 1977 veröffentlicht und 1983, 1988 und 1993 als Standard bestätigt. Die Notwendigkeit eines neuen Algorithmus wurde mit der Weiterentwicklung der Technologie und der Zunahme potenzieller Angriffe verstärkt.

3DES in der heutigen Zeit

Verschiedene Hackerangriffe zeigten, dass es weniger schwierig war, den Algorithmus zu brechen, als bisher angenommen. Im Jahr 1998 war Distributed.net in der Lage, DES innerhalb von 39 Tagen zu knacken.

Anfang 1999 hatte die Electronic Frontier Foundation mit Deep Crack die Zeit auf etwas mehr als 22 Stunden verkürzt.

Ein neuer Algorithmus wurde dringend benötigt. Dies war ein Problem, da es mehrere Jahre dauern würde, bis sich NIST mit dem Algorithmus, der zum Ersatzstandard wurde, dem Advanced Encryption Standard (AES), befasste.

Während die Verschlüsselung mit AES beschlossen wurde, wurde 3DES als Notlösung vorgeschlagen. Dabei wird der DES-Algorithmus dreimal mit drei separaten Schlüsseln ausgeführt. 1999 wurde DES erneut bestätigt, jedoch mit 3DES als idealem Algorithmus. Normales DES war nur in wenigen Anwendungen zulässig.

3DES entwickelte sich zu einem weit verbreiteten Verschlüsselungsalgorithmus, derheutzutage aufgrund seines hohen Ressourcenverbrauchs und seiner Sicherheitsbeschränkungen in den meisten Anwendungsfällen durch AES ersetzt wurde.

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.