Beiträge

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.

Schadsoftware und heimtückische Websites erkennen Sie nicht mit dem bloßen Auge. Auch Angriffe von Hackern können nicht einfach so und ohne eine im Hintergrund laufende Unterstützung abgewehrt werden. Hier kommt der Virenscanner ins Spiel, der sich auf jedem PC und Smartphone befinden und neben der Firewall zusätzlich vor Eindringlingen auf einem Computer oder dem Server schützen soll.

Definition Virenscanner

Grundsätzlich werden Virenscanner in drei verschiedene Arten, abhängig von ihrer Funktion unterteilt. Es gibt manuelle Scanner, Echtzeitscanner und Onlineprogramme zur Aufspürung und Unschädlichmachung von Schadware. Jeder Virenscanner dient unabhängig seiner häufig implementierten Zusatzfunktionen dazu, Würmer, Trojaner und Viren aufzuspüren und diese in die Quarantäne zu verschieben oder durch Löschung unschädlich zu machen. Antivirus-Programme sperren Hacker aus und sind neben der Firewall essenzielle Schutzmechanismen für die sensiblen Daten auf Servern und Computern. Der Begriff Virenscanner ergibt sich aus der Funktion des Programms, das bestenfalls automatisch im Hintergrund läuft und den PC kontinuierlich nach Schadware scannt.

Anwendungsbereiche von Virus-Scannern

Ein Antivirus-Programm ist für Heimanwender ebenso wichtig wie für Firmen. Viren oder Mal- und Spyware gefährden die Funktionalität Ihres Computers und stellen die digitale Sicherheit durch das Ausspähen und Abgreifen von Daten in Frage. In den letzten Jahren haben sich immer mehr Virenscanner-Hersteller darauf konzentriert, künstliche Intelligenz einzubauen und auf diesem Weg die Entdeckung und Unschädlichmachung von Schadware zu beschleunigen. Noch vor einigen Jahren brauchte ein Virenprogramm bis zur Lösungsfindung meist einige Tage, was in der heutigen schnelllebigen Zeit unverhältnismäßig wäre. Ältere Scanner beschäftigten sich mit der Suche nach bekannten „Verhaltensmustern“ von Websites und nahmen die Einordnung in sicher und unsicher anhand dieser Faktoren vor.

Heute arbeitet der Virenscanner mit Analysen, die sich nicht auf bekannte Muster, sondern auf das tatsächliche Verhalten einer Website oder Software in Echtzeit beziehen. Schadware, aber auch Sicherheitslücken und Bugs werden aufgespürt und können nach der Verschiebung ins Quarantäneverzeichnis entfernt werden.

Die verschiedenen Begrifflichkeiten im Zusammenhang mit Virenscannern

Wenn Sie sich intensiv mit Virenscannern beschäftigen, wird Ihnen der Begriff Vulnerability häufiger vor Augen geführt. Die Bezeichnung wird in verschiedenen Bereichen verwendet und steht für die Wunde, beziehungsweise die Verwundbarkeit. PC-Technik und Serverschutz mit geringer Vulnerabilität, also mit einem minimalen Verwundungsrisiko bieten Ihnen die beste und der Datenschutzgrundverordnung entsprechende Sicherheit. Im Kontext zu Sicherheitslücken taucht der Begriff Exploit auf. Exploits sind kleine Programme von Hackern. Sie spüren Schwachstellen in Software und auf Computern auf. Für einen effektiven Rundumschutz sollte Ihr Antivirus-Programm daher nicht nur konventionelle Schadware aufspüren, sondern sich vollumfänglich für die Sicherheit im Internet und die Sicherheit Ihrer Daten einsetzen lassen. Beim effektiven Schutz für Unternehmen muss man auf komplexere und geräteübergreifende Lösungen setzen.

Antivirus-Lösungen für Firmen

Zwei essenzielle Faktoren spielen bei der Entscheidung für einen Virenscanner eine übergeordnete Rolle. In größeren Firmen werden Programme bevorzugt, die man unkompliziert zentral installieren und auf gleichem Weg verwaltet. Dabei sollte der Virenscanner kostenlos und äußerst effektiv sein. Die Einzelinstallation und Updates über jeden einzelnen Computer wären zu aufwendig. Sie würden obendrein innerhalb des Systems Lücken und damit die Gefahr von Eindringlichen von außen begünstigen. Zentrale Lösungen mit Management-Option sind für Firmenkunden die beste Lösung. Es gibt verschiedene renommierte Hersteller von Antivirus-Software, die kostenlose Komplettlösungen für Unternehmen anbieten.

Bei ESET nennt sich die Lösung ESET Remote Administrator (kurz ERA) und ist eine kostenlose Möglichkeit für Firmen, sich umfassend vor Schadware und den damit verbundenen Sicherheitsrisiken und Kosten zu schützen. Die Ausrichtung des Managements hängt davon ab, wie viele Geräte Sie mit einem Virenscanner überwachen und von Sicherheitsrisiken befreien möchten.

Der Virenscanner muss zum Risiko passen

Bei der Auswahl eines Virenscanners sollten Sie als gewerblicher Anwender mit Kompetenz und einer realistischen Einschätzung Ihrer Risiken vorgehen. Fakt ist, dass ein Scanner für Trojaner und Würmer heute nicht mehr ausreicht und mehr Schadware durchlässt als stoppt. Da die Kombination von Scanner häufig zu Kompatibilitätsproblemen führt, sollten Sie sich für eine Software entscheiden. Arbeiten Sie mit sensiblen Daten im Kundenverkehr, ist ein besonders umfangreicher Schutz notwendig. Wenn Sie sich für einen Virenscanner entscheiden, prüfen Sie vorab die Updates für die stetige Aktualisierung und Anpassung auf neue Risiken.

Bei der Versendung von Daten über das Internet besteht vermehrt der Bedarf, eine verschlüsselte Verbindung zu verwenden. Je sensibler die Inhalte sind, desto sicherer muss ausgeschlossen werden, dass Dritte diese mitlesen oder verändern können. Auch ist es vor der Übertragung wichtig, dass man gewiss sein kann, überhaupt mit dem richtigen Empfänger zu kommunizieren. Verschlüsselung und das daraus abgeleitete Prinzip der Zertifikate, sind ein probates Mittel. Doch bei der Kommunikation mit externen Stellen muss zunächst einmal der Schlüssel geschützt ausgetauscht werden. Hierfür sind asymmetrische Verschlüsselungsverfahren wie RSA geeignet.

Herkunft und Entwicklung von RSA

Die Bezeichnung RSA stammt von den Anfangsbuchstaben der Erfinder: Rivest, Shamir und Adleman. Das Verfahren wurde bereits 1977 entwickelt und ist, mit leichten Modifizierungen und Verlängerungen der empfohlenen Schlüssellänge, bis heute im Einsatz. Ursprünglich wollten die drei Mathematiker nur beweisen, dass das ein Jahr zuvor vorgestellte Diffie-Hellman-Verfahren zum Schlüsseltausch Angriffspunkte aufweist. Dabei entdeckten sie eine darauf basierende Methode, für die sie keine Schwachstelle fanden und veröffentlichten sie als RSA. Zwischen 1983 und 2000 bestand ein Patent dafür.

Symmetrische und asymmetrische Verschlüsselung

Verschlüsselung beschreibt grundsätzlich die Kodierung von klartextlichen Daten. Diese können ihrerseits auch binär vorliegen. Die Transformation muss nach festgeschriebenen Operationen, dem Algorithmus, und anhand eines festgelegten Schlüssels erfolgen. Dies haben alle Verschlüsselungsverfahren gemeinsam.
Bei einem symmetrischen Verfahren wird derselbe Schlüssel für die Ver- und Entschlüsselung verwendet. Dies bringt das Problem mit sich, dass er auf beiden Seiten vorliegen muss. Eine unverschlüsselte Übertragung, vor Aufbau der verschlüsselten Verbindung, verbietet sich natürlich. Ein Angreifer könnte den Schlüssel ebenfalls abfangen und seinerseits alle Daten en- und dekodieren.

Besonderheiten

Die Besonderheit bei asymmetrischen Verfahren hingegen ist, dass zwei unterschiedliche Schlüssel verwendet werden. Es gibt einen privaten und einen öffentlichen Schlüssel. Es ist möglich, den mit einem der beiden verschlüsselte Datenbestand mit dem jeweils anderen zu entschlüsseln. Dies bringt zwei sinnvolle Anwendungszwecke mit sich. Der Absender kann seine Inhalte mit dem öffentlichen Schlüssel enkodieren und sich sicher sein, dass nur der Besitzer des privaten Schlüssels in der Lage ist, sie wieder zu dekodieren.

Sichere Verbindungen

Da der Inhalt auch ein Schlüssel für ein symmetrisches Kodierungsverfahren (im Gegenssatz zum RSA)  sein kann, ist dies gut geeignet, um eine sichere Verbindung aufzubauen. Steht diese Verbindung, sind beide Seiten im Besitz des korrekten Schlüssels und können verschlüsselt kommunizieren.
Die zweite Variante besteht darin, dass der Absender den versendeten Inhalt mit seinem privaten Schlüssel enkodiert. Der Empfänger kann sich den korrekten öffentlichen Schlüssel gefahrlos vom Absender herunterladen und damit den Datenbestand dekodieren. Ist der Inhalt lesbar, steht fest, dass er vom korrekten Absender stammt.

Details zu RSA

Dem Verfahren liegt das Prinzip einer Einwegfunktion zugrunde. Also einer Funktion, die nicht ohne Weiteres umkehrbar ist, wenn bestimmte Parameter nicht bekannt sind. RSA macht sich die Schwierigkeit bei der Faktorisierung von Primzahlen zunutze. Wird aus zwei ausreichend großen Primzahlen durch Multiplikation ein sehr großes Produkt erzeugt, ist es nur mit hohem Aufwand möglich, die verwendeten Faktoren zu errechnen. Beide erzeugten Schlüssel werden zudem noch mittels der Modulo-Operation, der Bestimmung des Rests einer ganzzahligen Division, bearbeitet. Die verwendeten Primzahlen werden gelöscht oder beim privaten Schlüssel verwahrt. Danach ist es möglich, durch eine sogenannte Falltür-Funktion, mit nur einem der beiden Schlüssel Inhalte zu entschlüsseln, die mit dem anderen Schlüssel verschlüsselt wurden.


Die Sicherheit des Systems hängt allerdings von der Länge der Schlüssel ab. Erst ab einer Größe von 2048 Bit kann zur Zeit von einer Komplexität ausgegangen werden, die mit der verfügbaren Rechenleistung in absehbarer Zeit nicht zu knacken ist. Dies ist nicht unerheblich, da die Dauer der Rechenoperationen bei der Kodierung sich mit zunehmender Schlüssellänge entsprechend verlängert.

Welche Anwendungen nutzen RSA?

Aufgrund des notwendigen Rechenaufwands ist das Verfahren nicht zweckdienlich, wo schnell große Datenmengen auszutauschen sind. Daher eignet es sich vorrangig für die Authentifizierung und, wie bereits erwähnt, für den Schlüsseltausch.
Dies ist allerdings bei sehr vielen bekannten Anwendungen der Fall. Das Webprotokoll HTTPS nutzt RSA zu diesem Zweck. Auch die Authentifizierung des Webservers, über dessen X.509-Zertifikat, läuft mit diesem Verfahren. Es findet zudem Verwendung bei TLS und damit bei der gesicherten Übertragung von E-Mails. Auch die Verschlüsselung von Mails mittels OpenPGP und S/MIME wird mittels RSA durchgeführt.
Bei der Verschlüsselung von Smartcards und RFID-Chips wird die Methode ebenfalls verwendet.

Welche Schwächen hat RSA?

RSA ist gegenüber symmetrischen Methoden wie AES etwa um das Hundertfache langsamer. Weiterhin ist es theoretisch angreifbar und nur eine ausreichend große Schlüssellänge schützt praktisch davor, die Schlüssel errechnen zu können. Da sich die Hardwareleistung immer noch erheblich in Richtung leistungsfähigerer Komponenten entwickelt, muss dies bei der Auswahl der Schlüssellänge berücksichtigt werden. Ansonsten kann eine Hard- oder Software, die RSA verwendet, mit der Zeit unsicher werden.

Alternative Verschlüsselungsmöglichkeiten

Es wurden weitere asymmetrische Verfahren wie Rabin, Chor-Rivest und Elgamal vorgestellt, die zum Teil auch einen ähnlichen Ansatz wie RSA haben. Jedoch hat sich bislang keines als ernsthafte Alternative durchsetzen können.
Da der Schlüsseltausch zur Initiierung einer schnelleren symmetrischen Methode nur eine sehr begrenzte Zeit beansprucht, können zudem bislang problemlos ausreichend lange Schlüssel verwendet werden.

Bei MD5 (Message-Digest Algorithm 5) handelt es sich um eine komplexe Hashfunktion, die in erster Linie eingesetzt wird, um aus einer bestimmten Nachricht oder Zeichenkette einen stets gleichen Hashwert zu erzeugen. Der Message-Digest Algorithm 5 kommt bei verschiedenen Anwendungen zum Einsatz, wie beispielsweise bei der Validierung von Download-Dateien oder beim Speichern von Passwörtern.

Message-Digest Algorithm 5 im Überblick

Die Abkürzung MD5 ist englischen Ursprungs und steht für „Message-Digest Algorithm 5“. Hierbei handelt es sich um eine Hashfunktion aus der Kryptografie, die aus einer beliebigen Zeichenkette einen einzigartigen Hashwert erzeugt. Im Gegensatz zu gängigen Verschlüsselungsverfahren ist die Funktion nicht umkehrbar, womit verhindert wird, dass sich aus dem Hashwert die ursprüngliche Zeichenkette rekonstruieren lässt.
MD5 wurde von dem amerikanischen Mathematiker und Kryptologen Ronald L. Rivest im Jahr 1991 am Massachusetts Institute of Technology entwickelt. Message-Digest Algorithm 5 wurde als der direkte Nachfolger des als unsicher geltenden MD4-Hashfunktion konzipiert. Typische Einsatzszenarien von MD5 sind die Validierung von Download-Dateien und das Speichern von Passwörtern. Der Message-Digest Algorithm 5 gilt heute jedoch nicht mehr als ausreichend sicher. Es wurden verschiedene Angriffsmethoden, wie beispielsweise Kollisionsangriffe, entwickelt und erfolgreich eingesetzt, mit denen es möglich ist, die passende Ausgangszeichenkette zu einem bestimmten Hashwert mit vertretbarem Aufwand zu erzeugen.

Die grundsätzlichen Kriterien einer MD5-Hashfunktion

Eine MD5-Hashfunktion muss wie alle anderen Hashfunktionen mehrere Kriterien erfüllen. So muss beispielsweise die identische Zeichenkette immer den gleichen Hashwert erzeugen. Darüber hinaus muss verhindert werden, dass sich aus einem Hashwert die ursprüngliche Zeichenkette ermitteln lässt. Mit MD5 lassen sich jedoch nicht alle Anforderungen ganzheitlich erfüllen. So ist es beispielsweise bekannt, dass unterschiedliche Zeichenketten durchaus einen identischen Hashwert liefern können. In solchen Fällen spricht man von einer Kollision. Die Sicherheit und Integrität einer MD5-Anwendung sind direkt von der Einhaltung dieser Kriterien abhängig.


Der Message-Digest Algorithm 5 basiert auf der sogenannten „Merkle-Damgard-Konstruktion“. Dieser hochkomplexe Algorithmus füllt die Ausgangszeichenfolge bis zu einer bestimmten Länge mit Nullen und Einsen auf und setzt danach blockweise Komprimierungsfunktionen an. Es werden mehrere Durchgänge mit mathematischen Funktionen durchlaufen, bis ein 128-Bit-Wert erreicht und als Ergebnis präsentiert wird.

Einsatzbereiche

Message-Digest Algorithm 5 kommt in zahlreichen Anwendungen zum Einsatz. Ein häufiger Anwendungsfall ist die Validierung einer aus dem World Wide Web heruntergeladenen Datei auf ihre Vollständigkeit. Die Validierung soll Übertragungsfehler des Netzwerks, die bis zu einem gewissen Grad ausgeglichen werden können, ausschließen. Um diese Funktionalität sicherstellen zu können, wird auf Basis der Ausgangsdatei zunächst eine MD5-Prüfsumme berechnet und gemeinsam mit der Datei übertragen. Im nächsten Schritt berechnet der Empfänger eine Prüfsumme anhand der empfangenen Datei und gleicht diese mit der mitgesendeten Prüfsumme ab. Falls die Signaturen beider Hashwerte miteinander übereinstimmen, war die Übertragung erfolgreich und die Integrität der Datei ist validiert. Diverse Angriffsmethoden, wie beispielsweise Man-in-the-Middle-Angriffe lassen sich durch die Prüfmethode jedoch nicht völlig ausschließen, da Angreifer die Hashsignatur nach Veränderung der Datei wieder neu erzeugen können.
Ein weiterer beliebter Einsatzbereich ist das sichere Speichern von Passwörtern. Passwörter werden nicht im Klartext, sondern als MD5-Hashwerte lokal gespeichert. Dadurch werden die Passwörter in der gespeicherten Datei für unbefugte Personen unlesbar, auch dann, wenn diese vollen Zugriff auf die Passwort-Datei haben sollten. Da bei dem Message-Digest Algorithm 5 das Zurücksetzen der Hashsignatur unmöglich ist, kann auch das ursprüngliche Passwort nicht einfach rekonstruiert werden.

Weitere Anwendungsbereiche von MD5 sind:

– Generierung von Passwörtern und Zufallszahlen
– Erstellen digitaler Signaturen
– Ableiten von Schlüsseln

Wie sicher ist MD5?

Der Message-Digest Algorithm 5 ist weit verbreitet und galt ursprünglich als kryptografisch sicher. Er wird heutzutage jedoch als nicht mehr ausreichend sicher angesehen. Schwächen, wie beispielsweise das gezielte Errechnen von Kollisionen, sind schon seit 1994 bekannt. Die grundlegende Arbeit, um diese Schwachstelle auszunutzen, leistete der deutsche Mathematiker und Kryptologe Hans Dobbertin, der einige Jahre zuvor einen erfolgreichen Angriff auf MD4 entwickelt hatte und die eingesetzten Methoden und Techniken auf MD5 übertrug. Mit aktuellen Computern lässt sich eine zum Hashwert passende Zeichenkette in der Regel binnen weniger Minuten errechnen.
Aus diesem Grund sollte der Message-Digest Algorithm 5 für kryptografische Anwendungen nicht mehr verwendet werden. Eine weitere beliebte und äußerst effiziente Angriffsmethode für MD5 sind Angriffe mit sogenannten „Regenbogentabellen“. In solchen Tabellen befinden sich Zeichenketten mit den zugehörigen Hashwerten. Hacker die einen Hashwert knacken wollen, müssen diesen einfach mit den in der Regenbogentabelle gespeicherten Hashwerten abgleichen. Mit ein wenig Glück lässt sich so unter Umständen die passende Zeichenkette ermitteln. Im Internet gibt es gigantische Regenbogentabellen mit Millionen von Einträgen, die für Angriffe genutzt werden können.

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.

Die Sicherheit mehr oder weniger jeder SSL– oder TLS-geschützten Verbindung hängt weitgehend von der Auswahl der Cipher Suites durch den Client und den Server ab.
Wenn Sie Dateiübertragungsprotokolle wie HTTPS, FTPS und AS2 verwenden, aber nicht wissen, worum es sich bei Cipher Suites handelt, wird Ihnen dieser Beitrag zu einem besseren Verständnis dieser  elementaren Verschlüsselungstechnik verhelfen.

Grundlagen einer Cipher Suite

Die Definition einer Cipher Suite besteht im Wesentlichen aus einem vollständigen Satz von Algorithmen, die zum Sichern einer Netzwerkverbindung über SSL (Secure Sockets Layer) bzw. TLS (Transport Layer Security) erforderlich sind. Der Name jeder Cipher Suite ist dabei repräsentativ für die spezifischen Algorithmen, aus denen er besteht.

Bestandteile einer Cipher Suite

Die Algorithmen, die eine typische Cipher Suite bilden, sind die folgenden:

1. Schlüsselaustausch-Algorithmus – bestimmt die Art und Weise, wie symmetrische Schlüssel ausgetauscht werden; Einige Schlüsselaustauschalgorithmen: RSA, DH, ECDH, ECDHE;

2. Authentifizierungs-Algorithmus – legt fest, wie die Serverauthentifizierung und (falls erforderlich) die Clientauthentifizierung durchgeführt werden. Einige Authentifizierungsalgorithmen: RSA, DSA, ECDSA;

3. Massenverschlüsselungs-Algorithmus – legt fest, welcher Algorithmus mit symmetrischem Schlüssel zum Verschlüsseln der tatsächlichen Daten verwendet wird; Einige Massenverschlüsselungsalgorithmen: AES, 3DES, CAMELLIA;

4. MAC-Algorithmus (Message Authentication Code) – Bestimmt die Methode, mit der die Verbindung Datenintegritätsprüfungen durchführt. Einige MAC-Algorithmen: SHA, MD5;

Jede Suite besteht in der Regel aus einem Schlüsselaustausch-, einem Authentifizierungs-, einem Verschlüsselungs und einem MAC-Algorithmus. Bei der Konfiguration einer Cipher Suite wird kurz gesagt festgelegt, wann welche Verschlüsselungs- und Dechiffrierverfahren wie angewendet werden.

Typischerweise könnte eine Cipher Suite also wie folgt aufgebaut sein:

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

Aufgeschlüsselt liest sich diese Sammlung kryptografischer Verfahren folgendermaßen:

TLS zeigt einfach das Protokoll an;
ECDHE bezeichnet den Schlüsselaustauschalgorithmus;
ECDSA bezeichnet den Authentifizierungsalgorithmus.
AES_256_CBC gibt den Massenverschlüsselungsalgorithmus an. SHA384 gibt den MAC-Algorithmus an.

Diese Chiffren arbeiten an verschiedenen Punkten zusammen, um die Authentifizierung, die Schlüsselerzeugung und den Austausch sowie eine Prüfsumme zur Gewährleistung der Integrität durchzuführen. Um zu bestimmen, welche spezifischen Algorithmen verwendet werden sollen, entscheiden sich Client und Server zunächst für eine zu verwendende Suite. Zu Beginn der Verbindung teilen sich dafür beide Parteien eine Liste der unterstützten Cipher Suites und entscheiden sich dann für die sicherste, von beiden Seiten unterstützte Suite.

Verwendung

Cipher Suites werden in Netzwerkverbindungen verwendet, die durch SSL oder TLS gesichert sind. Das heißt, Netzwerkprotokolle wie HTTPS, FTPS, WebDAVS, AS2, POP3, IMAP und SMTP verwenden alle Cipher Suites.

Bevor eine Clientanwendung und ein Server Daten über eine SSL bzw. TLS-Verbindung austauschen können, müssen sich diese beiden Parteien zunächst auf einen gemeinsamen Satz von Algorithmen einigen, um die Verbindung zu sichern. Das sind die Algorithmen, die weiter oben bereits erwähnt wurden. Wenn die beteiligten Parteien keine Einigung erzielen, kann keine Verbindung hergestellt werden.
Dieser „Verhandlungsprozess“ findet während des sogenannten SSL-Handshakes statt. Beim SSL-Handshake teilt der Client dem Server zunächst mit, welche Cipher Suites er unterstützt. Diese sind normalerweise in der Reihenfolge ihrer Sicherheit angeordnet. Die sicherste Methode ist natürlich die erste Wahl.
Der Server vergleicht dann diese Cipher Suites mit den Cipher Suites, die auf seiner Seite aktiviert sind. Sobald es eine Übereinstimmung findet, informiert es den Client und die Algorithmen der gewählten Cipher Suite werden ins Spiel gebracht.

Schwächen

In der Vergangenheit sind mehrere Sicherheitslücken auf Netzwerkebene im Zusammenhang mit Cipher Suites aufgetreten. Darunter befanden sich SSL/TLS-basierte Sicherheitslücken wie Heartbleed und POODLE. Um diese Sicherheitsanfälligkeiten zu verringern, sollten Unternehmen verschiedene Versionen verfügbarer Suites verwenden oder die Akzeptanz anfälliger Suites deaktivieren. Um sich beispielsweise gegen POODLE zu verteidigen, muss SSLv3 deaktiviert werden.

Das Deaktivieren von Cipher Suites kann jedoch manchmal zu Kompatibilitätsproblemen führen. Aber es kann davon ausgegangen werden, dass die allermeisten namenhaften Webbrowser ihre Cipher Suites ohnehin nach Bekanntwerden einer SSL/TLS-basierten Sicherheitsanfälligkeit aktualisieren. Unternehmen sollten Webbenutzern deswegen dazu raten, immer die aktuellsten Software-Patches auf ihren Geräten zu installieren, damit Kompatibilitätsprobleme vermieden werden können.
Der Administrator einer Website kann die Verwendung der bestmöglichen Cipher Suites erzwingen, indem er die Software regelmäßig aktualisiert und die richtige Konfiguration verwendet. Auf diese Weise können Sie die Wahrscheinlichkeit verringern, dass die Besucher Ihrer Webseite mit Kompatibilitätsproblemen konfrontiert werden.