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.

 

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.

Bei PGP (Pretty Good Privacy) handelt es sich um ein Programm, mit dem sich elektronische Nachrichten, wie beispielsweise E-Mails, mit einem persönlichen Schlüssel verschlüsseln und signieren lassen. Die Software kann für eine sichere Kommunikation über das Internet verwendet werden und basiert auf asymmetrischen Verschlüsselungsverfahren mit privaten und öffentlichen Schlüsseln.

Verschlüsselungsverfahren für eine sichere Kommunikation im Netz

Die Abkürzung PGP steht für den englischen Ausdruck „Pretty Good Privacy“ und bedeutet wörtlich übersetzt so viel wie „ziemlich gute Privatsphäre“. PGP wurde ursprünglich von dem US-amerikanischen Informatiker und Sicherheitsforscher Phil Zimmermann mit dem Ziel entwickelt, Anwendern eine Möglichkeit zu geben, elektronische Nachrichten im Internet verschlüsseln als auch signieren zu können. Eines der bedeutendsten Einsatzbereiche der Software ist die sichere Kommunikation via E-Mail. Nutzer, die PGP für den Versand von E-Mails benutzen, haben die Möglichkeit, die Nachrichten nur zu verschlüsseln, nur zu signieren oder sie zu signieren und zu verschlüsseln. Während die Signatur eingesetzt wird, um die Authentizität und die Integrität der Nachricht zu bestätigen, wird durch das Verschlüsseln verhindert, dass Unbefugte den Inhalt der Nachricht lesen können.

Bei einer signierten E-Mail kann gewährleistet werden, dass diese tatsächlich von dem angegebenen Absender stammt und dass keine Veränderungen vorgenommen wurden. Aus PGP entwickelte sich im Laufe der Jahre der Open-PGP-Standard als eine freie Alternative. Inzwischen bietet Open-PGP viele zusätzliche Funktionalitäten, die ursprünglich im PGP nicht enthalten waren. Als Basis nutzt PGP das sogenannte „Public-Key-Verfahren“ mit einer asymmetrischen Verschlüsselung. Allerdings kommen bei PGP auch symmetrische Schlüssel zum Einsatz, weswegen die Verschlüsselungsmethode als hybrides Verfahren zu klassifizieren ist.

PGP-Anwendungsfälle

PGP wird in erster Linie bei der Sicherung von E-Mails eingesetzt. Eine mit dem PGP-Verfahren gesicherte E-Mail wird in eine verschlüsselte Zeichenfolge umgewandelt, die unlesbar ist und ausschließlich mit dem entsprechenden Schlüssel wieder lesbar gemacht werden kann. Es gibt auch einige Softwarelösungen, die es ermöglichen, PGP in andere Apps und Dienste zu integrieren. Obwohl Pretty Good Privacy primär bei der Sicherung der Internetkommunikation eingesetzt wird, kann das Verfahren auch zur Sicherung einzelner Geräte verwendet werden.

Wie werden Nachrichten mit PGP verschlüsselt?

Die Verschlüsselung von PGP basiert auf privaten und öffentlichen Schlüsseln. Anwender nutzen den öffentlichen Schlüssel, um Nachrichten für einen Empfänger zu verschlüsseln. Das Entschlüsseln einer Nachricht ist nur mit dem privaten Schlüssel möglich, der ausschließlich dem Empfänger bekannt sein sollte. Bei der Verschlüsselung einer Nachricht verwendet der Sender hierfür den öffentlichen Schlüssel des Empfängers. Mit dem öffentlichen Schlüssel erfolgt jedoch keine Verschlüsselung der kompletten Nachricht, da die asymmetrische Verschlüsselungsmethode sehr rechenintensiv is. Dafür benötigt eine entsprechend leistungsstarke Hardware.

Bei dem Verschlüsselungsverfahren „Pretty Good Privacy“ wird die eigentliche Nachricht mit einem symmetrischen Session-Schlüssel verschlüsselt, der jedes Mal nach dem Zufallsprinzip neu generiert wird.

Wie können Nachrichten mit PGP signiert werden?

Um die Integrität und die Authentizität einer Nachricht gewährleisten zu können, kann der Sender der Nachricht eine Signatur hinzufügen. Hierfür erzeugt PGP aus dem Klartext der Nachricht über ein komplexes Haschverfahren einen digitalen Fingerprint, der den Sender eindeutig identifiziert. Dieser Fingerprint ist viel kürzer als die eigentliche Nachricht. Der Sender verschlüsselt mithilfe seines privaten Schlüssels diesen digitalen Fingerabdruck und fügt ihn dann der E-Mail hinzu.

PGP-Entschlüsselung von Nachrichten?

Zunächst wird der symmetrische Schlüssel entschlüsselt, der für die Session mit dem privaten Schlüssel des Empfängers generiert wurde. Der symmetrische Schlüssel wird anschließend vom Empfänger zur Entschlüsselung der Nachricht genutzt. Nachdem dieser Prozess erfolgreich abgeschlossen wurde, hat der Anwender Zugriff auf den Inhalt der Nachricht inklusive der digitalen Signatur. Im nächsten Schritt wird die Signatur überprüft, um die Authentizität des Absenders und die Integrität der Nachricht sicherzustellen. Um dies zu bewerkstelligen, erzeugt PGP aus dem Klartext der Nachricht einen digitalen Fingerprint mit demselben Hashverfahren, das auch der Sender der Nachricht genutzt hat. Zeitgleich entschlüsselt PGP den digitalen Fingerprint mit dem öffentlichen Schlüssel des Absenders.  Falls beide Zeichenfolgen identisch sind, kann man davon ausgehen, dass die Signatur von dem benannten Sender stammt.

Netz des Vertrauens (Web of Trust)

Um die öffentlichen Schlüssel sicher austauschen zu können, nutzt Pretty Good Privacy ein sogenanntes „Netz des Vertrauens“ (Web of Trust). Hierbei handelt es sich um eine dezentrale Alternative zu der hierarchischen Public Key Infrastructure. In dem Web of Trust vertrauen die Teilnehmer darauf, dass die Schlüssel in der Tat von den benannten Sendern stammen. Nutzer bauen Vertrauensketten auf, indem sie Schlüssel unterschreiben, von denen sie sich sicher sind, dass sie zu einem bestimmten Kommunikationspartner gehören. Wenn ausreichend Nutzer Schlüssel überprüfen und unterschreiben, entsteht ein Vertrauensnetz. 

Red Hat, innovative Open-Source-Lösungen, kurz vorgestellt

Wer sich über ein geeignetes Server-Betriebssystem oder über Cloud-Anwendungen Gedanken macht, stößt über kurz oder lang auf Red Hat. Was ist Red Hat und wofür steht der rote Hut als Markenzeichen?

Der Begriff Red Hat kennzeichnet sowohl das amerikanische Software-Unternehmen als auch die gleichnamigen Linux-Distributionen. Der rote Hut symbolisiert das Engagement von Red Hat als Agent im Einsatz für Open Source in der digitalen Welt.

Die Geschichte der Entwicklung von Red Hat

Das weltweit agierende Unternehmen Red Hat wurde im Jahr 1993 gegründet und hat seinen Hauptsitz im nordamerikanischen Raleigh, North Carolina.

Das Unternehmen hat sich mit seinen Produkten dem Dienst an der Entwicklung von Open Source verschrieben. Anders als häufig gemeint, bedeutet Open Source dabei nicht immer kostenlos, sondern quelloffen, d. h. der Quellcode der Software ist für jedermann einsehbar.
Die ursprünglich kostenfreie Distrubution Red Hat Linux (RHL) wurde bereits 1994 vorgestellt und zählt damit zu den ältesten Linux-Distributionen.

2003 wurde die freie, nicht kommerzielle Distribution von Red Hat eingestellt und wird seitdem als eigenes Projekt von der Fedora Community fortgeführt. Das Unternehmen Red Hat konzentriert sich nun auf kommerzielle Open-Source-Lösungen für den Unternehmensbereich, u. a. mit dem Projekt Red Hat Enterprise Linux (RHEL).

RHEL gilt unter den Linux-Distributionen im unternehmsbezogenen Anwendungsbereich als Markt- und Innovationsführer. Sie wird seit vielen Jahren durch eine Vielzahl unabhängiger Software-Hersteller im Unternehmensbereich unterstützt u. a. von SAP und Oracle. RHEL zeichnet sich durch lange und stabile Laufzeitzyklen von rund 10 Jahren pro Version aus und gewährleistet damit unternehmerische Planungssicherheit.

Unter Berücksichtigung der Quelloffenheit des Systems hat das Unternehmen Red Hat zur Betreuung seiner Firmenkunden ein besonderes Lizenzsystem eingeführt. Die Nutzung von RHEL wird mit dem Abschluss verschiedener kostenpflichtige Supportverträge (Subskriptionsmodell) verknüpft.

Seit Ende 2018 gehört das Unternehmen Red Hat zum IBM-Konzern. Mit rund 30 Milliarden Euro gehört dies zu den größten Übernahmen in der Unternehmensgeschichte von IBM.

Red Hat heute

Das Geschäftsfeld von Red Hat konzentriert sich beim IBM-Konzern heute auf zunehmend auf Unternehmensanwendungen im Cloud Computing, hier vor allem im Feld der Hybrid-Cloud-Lösungen.

Unternehmen jeder Branche und Größe wenden sich zunehmend Cloud-Anwendungen zu. Sie benötigen vor allem flexible, hybride Lösungen und Multi-Cloud-Services. Ziel ist es, die eigenen Server mit unterschiedlichsten Cloud-Plattformen sowie Cloud-Services zu verbinden und diese gemeinsam zu nutzen. Open-Source stellt aufgrund der Quelloffenheit oftmals eine sinnvollere Atlernative dar, als proprietäre, d. h. geschlossene Cloud-Lösungen.

Daher ist es auch erklärtes Ziel von IBM, die Unabhängigkeit von Red Hat im Bereich Open-Source zu wahren und fortzuführen. Nicht ohne Grund zählt Red Hat seit Jahren als zu den Innovationführern und Vordenkern im Bereich der Open-Source-Anwendungen.

Das Unternehmen Red Hat bietet im IBM-Konzern ein umfangreiches Produktportfolio an, darunter Lösungen für Hybrid-Cloud-Infrastrukturen und Middleware. Agile Integration sowie cloudnative Anwendungsentwicklung kommen hinzu, ebenso wie Services zum Management und zur Automatisierung. Auch die Entwicklung von Container-Technologien und das Kubernetes-Projektes werden von Red Hat beim Cloud Computing unterstützt.

Red Hat bietet Unternehmen jeder Größe Technologien, die diese im Zeitalter der digitalen Transformation sowie Vernetzung zukunftsfähig machen und ihnen die notwendige Anpassungsfähigkeit ermöglichen.

Für kleinere Unternehmen: CentOS

RHEL ist als kostenpflichtiges Linux-Betriebssystem eher im Hochpreissegment angesiedelt und wird von Red Hat nur in Verbindung mit den zugehörigen Supportverträgen geliefert. Daher kommt es in der Regel auf den Servern großer Unternehmen zum Einsatz.

Kleinere und mittelständische Unternehmen (KMU) haben die Möglichkeit, auf CentOS als Alternative auszuweichen. Das sog. Community Enterprise Operating System gehört zu neben Debian und Ubuntu mittlerweile zu den erfolgreichsten Linux-Distributionen. CentOS legt bei der Entwicklung Wert darauf, möglichst langfristig einsetzbar und stabil zu sein. Dies wiederum führt dazu, dass es häufig auf Servern zur Anwendung kommt.

Engagierte Entwickler

CentOS basiert als Gemeinschaftprojekt freiwilliger Softwareentwickler auf der Red Hat Enterprise Linux-Distribution (RHEL). Möglich ist dies dadurch, dass Red Hat die Quellpakete von RHEL als Open Source im Internet zur Verfügung stellt. Damit konnten engagierte Entwickler im Projekt CentOS eine mit RHEL-kompatible eigene Linux-Distribution schaffen. Aktuell unterstützt Red Hat das Projekt CentOS Stream, ein sog. Rolling Release. CentOS bietet damit eine Beta-Version kommender Versionen von RHEL an.

Die Binärkompatibilität bringt es mit sich, dass Unternehmen die Vorteile von RHEL nebst zugehöriger freier Software nutzen können, ohne sich an entsprechende Supportverträge binden zu müssen. Eine kurze zeitliche Verzögerung, die die um meist zwei bis drei Monate gegenüber RHEL nachgelagerte Entwicklung der jeweils neuesten Version von CentOS mit sich bringt, fällt demgegenüber nicht sehr ins Gewicht.

Digitale Transformation – die richtigen Entscheidungen treffen

Professionelle Systemhäuser unterstützen Sie mit Erfahrung und Sachverstand bei der richtigen Entscheidung für die IT-Landschaft Ihres Unternehmens. Welche IT-Lösungen Sie am Ende für Ihr Unternehmen auch bevorzugen, ob ausschließlich eigene Server, Hybrid- und /oder Multi-Cloud-Modelle: Ziehen Sie frühzeitig qualifizierte IT-Fachleute für Ihr Unternehmen hinzu. So gelingt es Ihnen, den digitalen Wandel zu meistern und Ihr Unternehmen erfolgreich in die Zukunft digitaler Transformation zu führen.

Das Open Vulnerability Assessment System (OpenVAS) ist ein Framework zum Aufspüren von Schwachstellen in Netzwerken. Es gilt als Standardwerkzeug von Penetration Testern. Gleichermaßen nutzen es auch Administratoren zur Überwachung von Netzwerken. Die Software wird kostenfrei unter der GPL-Lizenz angeboten. Sie ist unter Linux und FreeBSD lauffähig. Der Quellcode kann über die Entwicklerplattform GitHub bezogen werden.

Herkunft und Entwicklung von OpenVAS

OpenVAS hat seinen Ursprung im Schwachstellenscanner Nessus. Als dieser im Jahr 2005 nur noch kommerziell vermarktet wurde, bildete sich das OpenVAS-Projekt auf Basis der letzten freien Version von Nessus. Entwickler ist seitdem die Osnabrücker Firma Greenbone. Neben der Entwicklung von OpenVAS, bietet Greenbone mit der Software vorkonfigurierte Server an. Das gesamte Framework wurde 2017 in Greenbone Vulnerability Management (GVM) umbenannt. Seit 2019 ist OpenVAS nur noch die Bezeichnung für den eigentlichen Schwachstellen-Scanner.

Funktionsweise von OpenVAS

OpenVAS läuft in mehreren Server-Diensten auf dem ausführenden Rechner. Daher ist es möglich, das Framework auf einem leistungsfähigen Server arbeiten zu lassen und die Bedienung von einem anderen Rechner im Netz vorzunehmen. Die Software greift auf eine umfangreiche Datenbank zu, in der Merkmale und Schwachstellen von Betriebssystemen sowie Softwareprodukten hinterlegt sind. Diese werden als Feeds bezeichnet. Den größten Anteil machen die Network Vulnerability Tests (NVT) aus. Dies sind vorkonfigurierte Scans, von denen über 50.000 zugreifbar sind. Die Feeds können abonniert werden und der Bestand wird regelmäßig erneuert. Der Schwachstellentest läuft in mehreren Stufen ab. Nach einem Portscan werden erkannte Betriebssysteme und Softwareprodukte auf bekannte Lücken und Konfigurationsfehler hin untersucht. Dies betrifft beispielsweise auf dem untersuchten System laufende Dienste wie SSH oder den Webserver. Nach Abschluss des Scans wird ein Bericht erstellt. Zudem gibt es grafische Darstellungen der Resultate, wie eine Übersicht von Rechnern im gescannten Netzwerk.

Installation von OpenVAS

Vor der Installation müssen einige softwareseitige Voraussetzungen erfüllt werden. Diese betreffen beispielsweise TLS, SSH und die Bibliothek Libpcap, die erforderlich ist, um Netzwerkverkehr im bekannten Format PCAP verarbeiten zu können. Die Software muss für den Rechner, auf dem es zum Einsatz kommen soll, kompiliert werden. Eine detaillierte Anleitung und Hilfe bei der Installation werden sowohl auf Github, als auch im Community-Forum gegeben. Zudem bietet Greenbone kostenfrei virtuelle Maschinen mit der vorinstallierten Software an. Dazu, wie bereits erwähnt, kommerzielle, mit GVM vorkonfigurierte Hardware-Lösungen. Für Distributionen wie CentOS, Fedora/RHEL (Red Hat Enterprise Linux) und Ubuntu werden Installationspakete bereitgestellt. Besonders einfach lässt sich OpenVAS unter KALI-Linux installieren, da die Abhängigkeiten durch die vorinstallierte Software schon nahezu komplett erfüllt sind.

Bedienung und Ablauf eines Scans

Die Bedienoberfläche von OpenVAS kann standardmäßig über den Browser unter der IP-Adresse des ausführenden Rechners und dem Port 9392 aufgerufen werden. Bei Aufruf vom ausführenden Rechner selber, entsprechend über die Loopbackadresse 127.0.0.1.

Die Bedienoberfläche gliedert sich in die folgenden Menüpunkte:

-Dashboard: Ist die Start- und Übersichtsseite. Es werden grafische Übersichten zu vorangegangenen Scans (sog. Tasks), Topologien gescannter Netze und zur Verfügung stehende NVTs angezeigt.

-Scans: In diesem Menüpunkt kann die Scans als Tasks konfigurieren und starten. Dabei kann auf Vorlagen aus den NVTs zurückgegriffen werden. Auch eine zeitgesteuerte Ausführung ist wählbar. Weiterhin finden sich hier Resultate und Berichte vorangegangener Scans.

-Assets: Entsprechend der wörtlichen Übersetzung „Anlagen“ befinden sich dort Informationen über Routing zum gescannten Ziel, sowie festgestellte Betriebssysteme.

-SecInfo: Steht für Security Information. Hier findet man die Übersicht für die NVTs und veröffentlichte Schwachstellen. Eine Quelle ist das Emergency Response Team der Bundesverwaltung (CERT-Bund).

-Configuration: Im Bereich der Konfiguration lassen sich beispielsweise Scans konfigurieren und Formate für die Reporte festlegen.

-Extras: Hierunter befinden sich persönliche Einstellungen und der Status der Feeds.

-Administration: Dieser Menüpunkt ist unter anderem für die Benutzerverwaltung des OpenVAS-Systems gedacht. Hier können auch Gruppen und Rollen festgelegt werden.

-Help: Beinhaltet die ausführliche Hilfe.

Alternativ kann OpenVAS über die Kommandozeile bedient werden. Dies ist vorteilhaft, wenn es zur ständigen Überwachung (Monitoring) im Netz verwendet werden soll. Dann lassen sich die Ergebnisse beispielsweise über Shell-Skripte weiterverarbeiten. Zudem gibt es mit dem OpenVAS-Manager eine Client-Software zur Bedienung. Diese ist in den Repositiories einiger Linux-Distributionen enthalten.

Es können IP-Adressen einzelner Rechner oder ganze IP-Ranges (Bereiche von Adressen in einem Netzwerk) als Ziel gewählt werden. Die Scantiefe ist einstellbar. Sie reicht von einer schnellen, oberflächlichen Prüfung festgestellter Systeme und deren offenen Ports, hin zu einer intensiven Untersuchung einzelner Anwendungen. Eine Stärke von OpenVAS sind die ausführlichen Berichte. Sofern Verwundbarkeiten festgestellt werden, die auf Softwarelücken basieren,  dann erfolgt zum Beispiel eine Zuordnung zur CVE-Nummer (Common Vulnerabilities and Exposures). Hierbei handelt es sich um Nummern, die von Experten gemeldeten Sicherheitslücken („Exploits“) zur eindeutigen Unterscheidbarkeit zugeteilt werden. Dies erleichtert es dem Administrator, konkrete Maßnahmen zur Beseitigung des Sicherheitsproblems zu treffen.

Empfehlung durch das BSI

Das Bundesamt für Sicherheit in der Informationstechnik (BSI) empfiehlt auf seiner Webpräsenz die Nutzung von OpenVAS. Es unterstützt die Entwicklung von Funktionen der Software und von NVTs. Zudem nutzt es die Software zum Einsatz bei Bundesbehörden und bietet diesen Schulungen und Support.