Kryptos Skulptur auf dem CIA Gelände

Warum ist Kryptographie so wichtig?

Schon vor mehr als 2000 Jahren mussten große Imperatoren ihre Armeen effizient befehligen. Gerade Caesar hatte eine Anspruchsvolle Aufgabe vor sich, denn das römische Reich wuchs und wuchs unaufhörlich. Gleichzeitig mussten Befehle und Strategien ohne Telefon und Internet weite Strecken hinter sich legen, um das Ziel zu erreichen. Jeder Bote konnte eine potentielle Gefahr darstellen, denn niemand wusste genau, wer ein Spion sein könnte. Überfälle auf Boten konnten ebenso wichtige, militärische Informationen in feindliche Hände fallen lassen. So musste eine Möglichkeit geschaffen werden, die Information auf dem Transportweg zu schützen.

Antike Methoden – Skytale und Caesar Chiffre

Das Skytale  war eines der ersten kryptographischen Systeme und bediente sich einer simplen Methode. Um einen Holzstab wurde ein beschreibbares Medium streifenförmig umwickelt. Im Anschluss bot das umwickelte Medium die Möglichkeit eine Botschaft zu notieren. Die darauf befindlichen Informationen wirken sehr chaotisch, betrachtet man das Band vom Stab abgerollt. Um die Daten zu Entschlüsseln, muss ein Empfänger den Stab mit dem exakt gleichen Radius/Durchmesser besitzen. Hat er dies nicht, können die Informationen nicht korrekt wieder gegeben werden.

Caesar hingegen bediente sich des Alphabets und einer Zahl, die den Verschiebungskoeffizienten darstellt. Bei einer Verschiebung um 3 wird beispielsweise aus A ein C und aus einem C ein E. Sicher ist diese Variante heute nicht mehr, denn es gibt exakt 26 mögliche Varianten der Verschlüsselung und somit auch lediglich 26 “Schlüssel”. Diese sind in Windeseile durchprobiert.

Die Gegenwart

Heute sind die Ansprüche an die Kryptographie bei weitem höher und werden von nahezu jedem Menschen weltweit täglich verwendet. Zum größten Teil ohne, dass dies bemerkt wird. Folgende Tätigkeiten bewirken im Hintergrund die Verwendung von komplexen und weniger komplexen kryptographischen Vorgängen:

  • Geld am Bankautomaten abheben
  • Online einkaufen
  • E-Mails abrufen und versenden
  • Instant Messaging (Whatsapp & Co.)
  • Social Media Aktivitäten
  • Online Banking

Dahinter verbergen sich Unmengen an Know-How aus dem Bereich der Kryptographie, denn ohne die Entwicklungen von Alan Turing, Whitfield Diffie, Martin Hellman, Ralph Merkle, Adi Shamir, Ronald L. Rivest und Leonard Adleman, um nur wenige zu nennen, wären gerade Geldtransaktionen, so wie sie heute tagtäglich geschehen, nicht sicher möglich.

Was ist RSA und AES?

RSA (Rivest, Adleman, Shamir) wurde entwickelt, um sichere Kommunikation über einen unsicheren Kanal zu ermöglichen, aber noch viel wichtiger: Mit RSA lässt sich über einen unsicheren Kanal, ein Schlüsselaustausch durchführen, denn die reine Verschülsselung mit RSA ist sehr langsam, aber möglich. So arbeiten also in vielen Bereichen unseres Lebens mehrere Kryptosysteme gemeinsam.

AES hingegen basiert darauf, dass ein sicherer Schlüsselaustausch im Vorfeld stattfindet. Ist dies geschehen kann sehr performant verschlüsselt werden. AES gilt aktuell als ungebrochen trotz vieler Bemühungen Lücken zu finden. Somit bietet sich für RSA und AES eine sehr praktische Mischung zur sicheren und performanten Verschlüsselung. Im Detail wird es sehr mathematisch, was den Rahmen dieses Beitrages sprengen würde. Schematisch allerdings lässt sich der Vorgang ganz einfach darstellen.

Verschlüsselung mit RSA

Vorbereitung: Der Sender einer Nachricht wird i. d. R. Alice genannt, während der Empfänger als Bob bezeichnet wird. RSA ist ein asymmetrisches Kryptographieverfahren. Es basiert nicht darauf, dass ein gemeinsamer Schlüssel gefunden wird sondern darauf, dass jeder Kommunikationsteilnehmer ein Schlüsselpaar generiert und damit sicher kommunizieren kann.

  • Alice erstellt ein Schlüsselpaar (Öffentlicher Schlüssel und privater Schlüssel).
  • Alice sendet Bob ihren öffentlichen RSA Schlüssel.
  • Alice verschlüsselt ihre Nachricht mit dem privaten Schlüssel, den nur sie kennt und sendet die Nachricht an Bob.
  • Bob erhält die Nachricht und entschlüsselt die Botschaft mit Alice’s öffentlichem Schlüssel.

Wird die Botschaft von einem Angreifer abgefangen, kann diese nicht entschlüsselt werden, da nur Alice den privaten Schlüssel hat. Auch mit dem ihm bekannten öffentlichem Schlüssel wird der Angreifer kein Glück haben.

Es gibt viele weitere Möglichkeiten zu verschlüsseln. Die Methodiken werden als Protokolle bezeichnet. SSL bzw. TLS beispielsweise ist ein Protokoll, dass beschreibt wie mit RSA, AES und vielen anderen Kryptosystemen, sinnvolle Kommunikation aufgebaut werden kann.

Verschlüsselung mit AES

Im Gegenzug zu RSA ist AES ein symmetrisches Kryptographieverfahren. Es geht davon aus, dass ein Schlüssel bereits vor der Kommunikation auf einem sicheren Kanal ausgetauscht worden ist. Symmetrische Verfahren verschlüsseln Blockweise oder als Datenstrom. Jede Nachricht wird bei der blockweisen Verschlüsselung in beispielsweise 128 oder 256 Bit lange Blöcke aufgetrennt und jeder Block wird einzeln verschlüsselt.

AES ist verhältnismäßig komplex, weswegen hier nicht weiter auf Details eingegangen wird (Detaillierte comichafte Beschreibung). Daten werden bei AES häufig in Tabellen verarbeitet. Eine Übersicht zu den verwendeten Techniken:

Fazit

Seien es Bankgeschäfte, Einkäufe, Online-Bezahldienste wie Paypal oder der sichere Login auf einer Social Media Seite, im privaten Umfeld findet die Kryptographie eine sehr weit verbreitete Nutzung. Aber auch in der Geschäftswelt gibt es VPN Tunnel, die einen Außendienstmitarbeiter über sein Notebook sicher mit der Firma verbinden, oder ganze Firmenstandorte.

Eine Auflockerung oder Verbot der Kryptographie wäre das Ende der heutigen modernen Welt. Überweisungen müssten wieder mit einem Papier zur Bank gebracht werden. Einkaufen bei Onlineshops, Bezahlen mit PayPal, E-Mails und vieles weitere wird unmöglich. Denn wo keine Kryptographie Daten beschützt, sind kriminelle sofort am Werk und manipulieren die Datenströme für ihre Zwecke.

Bildquelle: Elonka – Lizenz: CC BY-SA 3.0

Wireshark Screenshot

Wieviele Geräte sind im Netzwerk?

Die Frage im Titel könnte treffender: “Wer ist in meinem Netzwerk?”, lauten und gehört damit nicht nur im privaten Bereich zu den Fragen, die jeder Anwender beantworten können sollte, sondern auch der Administrator eines Unternehmens. Für die Funktionalität der IT Systeme ist das Wissen, über Netzwerkteilnehmer nicht zwangsläufig nötig. Unbekannte Netzwerkteilnehmer werden in der Regel auch keine Versuche unternehmen das fremde System zu stören. Es dient als Tarnung für eigene Operationen wie:

  • Aufbau und/oder Erweiterung eines Botnetzes
  • Bitcoin Mining
  • Filesharing

Seien es neue Zombierechner für diverse Distributed Denial of Service Angriffe oder die Rechenleistung aller CAD Workstations mit dem Ziel Bitcoins zu ergattern, dem Netzwerkbetreiber entstehen erhebliche Kosten und das ein oder andere Gerichtsverfahren wird unter Umständen eröffnet.

Umso wichtiger ist es regelmäßig einen Blick auf das eigene Netzwerk zu werfen und zu prüfen, ob nach wie vor alle erkannten Netzwerkgeräte bekannt sind.

über Smartphones

Um auf professioneller Ebene Geräte sichtbar zu machen, ist mehr als ein Smartphone nötig, aber für den ersten Blick ausreichend. Apps wie Fing können Abhilfe schaffen. Das Netzwerk prüfend, schickt Fing sogenannte ARP Pakete durch das Netzwerk und stellt systematisch simple Fragen an die Broadcast Netzwerkadresse. Zur besseren Verständlichkeit, hier ein Beispiel:

Netzwerk: 192.168.0.0/24
Broadcast Adresse: 192.168.0.255

Fing sendet nun an die Adresse 192.168.0.255 ein ARP Paket, und fragt dadurch jedes Gerät im besagten Netzwerk, wer hinter dieser IP Adresse steht.

Anfrage 1: Wer hat 192.168.0.1 (wird gesendet an 192.168.0.255 und landet damit bei den Adressen .1 bis .254)

Anfrage 2: Wer hat 192.168.0.2 (das gleiche Speil wie bei der ersten Anfrage)

Diese Anfragen werden bis zur IP 192.168.0.254 durchgeführt. Die App hofft auf eine Antwort eines Clients, der die IP Adresse kennt und antwortet dem Protokoll entsprechend.

über Laptops/Desktops

Es ist über anderweitige Wege ebenfalls möglich das Netzwerk auf sogenannte “lebendige” Hosts zu überprüfen. Ob Linux oder Windows, unter beiden Betriebssystemen lässt sich das Programm nmap ausführen. Mit nmap lassen sich äußerst viele unterschiedliche Dinge realisieren, wie Portscanning, Diensterkennung u. v. m.

Folger Befehl hilft weiter und prüft das Netzwerk auf aktive Knoten, die auf Port 80 antworten:

nmap -sP 192.168.0.1/24

Das Problem ist aber, dass längst nicht jedes System antwortet, da viele Clients auf Port 80 die Pakete ignorieren. Stattdessen sollte versucht werden eine TCP Verbindung auf andere häufig genutzt Ports zu erstellen. Beispielsweise Port 22 (ssh) oder 3389 (Windows Remote Desktop)

nmap -sP -PS22,3389 192.168.0.1/24

Professioneller Ansatz

Im Unternehmensbereich ist es sehr aufwändig mittels nmap manuell alles zu prüfen. Außerdem reichen diese Informationen im Normalfall nicht aus. Häufig muss man zusätzlich sicherstellen, dass sich beispielsweise keine fremden Geräte einfach an freie Dosen anschließen können. Fremde Geräte, die als Gäste erkannt werden, müssen in gesonderte VLANs verschoben und lange inaktive Clients müssen dem System erst ihre Compliance (Updates etc.) nachweisen, bevor sie das Unternehmensnetzwerk hereingelassen werden.

Am Markt gibt es viele Lösungen. Mir davon bekannt sind zwei, wobei erstere Lösung ein deutscher Hersteller aus Berlin ist. Macmon kann längst nicht so viel wie ForeScout, eignet sich aber für viele Zwecke, die im unteren bis mittleren Anforderungssegment liegen. ForeScout hingegen ist weitaus komplexer und bietet mit Client Agents sehr viel mehr Möglichkeiten.

Logo

Wie fasse ich Fuß in der IT Sicherheit?

Vor einigen Jahren fand ich genau das, von dem ich sagen kann: Es ist meine Leidenschaft. Letzlich durch einen Kurs in Kryptographie an der HTW Berlin. Aber das allein konnte es nicht gewesen sein, so versuchte in der Informationsflut zu filtern und einen eigenen Pfad zu finden, der mich an mein Ziel bringt. Und so kann ich heute auf die letzten vier Jahre zurück blicken und jedem, der sich die Frage stellt, wie man mit IT Sicherheit beginnt, meinen Pfad zeigen. Er ist nicht der beste und auch nicht maßgeschneidert, aber er dient auch mehr als Richtlinie.

Ausbildung

Diesen Schritt habe ich übersprungen, aber ich behaupte man sollte ihn definitiv gehen. Nirgendwo sonst lernt man, wie die IT eines Unternehmens funktioniert. Was ist ein Active Directory? Was sind Gruppenrichtlinien? Wie funktioniert Firmenpolitik? Das sind alles Fragen, die man eventuell über einen guten Platz als Werkstudent erhält, ansonsten aber nur in der Ausbildng:

Akademische Ausbildung

Man kann auch mit einer Ausbildung sehr viel in diesem Bereich erreichen, mein Weg aber fuhr über eine Hochschule. Das könnte der Anfang für die Karriere innerhalb der IT Security sein. Schließlich lernt man nicht nur das technische Know-How sondern auch einiges über Methodiken und Herangehensweisen. Folgende Anlaufstellen sind mir bekannt:

Online Kurse

Nicht immer reichen einem die akademischen Inhalte oder man möchte sich generell weiter bilden. Hier gibt es jede Menge Online Kurse, die man an teils ausländischen Unis absolvieren kann. Gegen ein Entgelt gibt es ein offizielles Dokument sowie entsprechend Punkte angerechnet, mit denen ein Abschluss irgendwann erreicht werden kann.

Khan Academy

Coursera

MIT OpenCourseWare

Bücher

Bei den Büchern werden keine Informatik Grundlagen dabei sein. Ich gehe davon aus, dass die Kenntnisse entweder vorhanden sind oder selbstständig erlernt werden.

Webseiten

Es gibt zahlreiche Seiten im Internet, die man ansteuern kann. Meine Auswahl hier ist mein persönlicher Geschmack:

Konferenzen

Nicht immer kann man jedes Jahr an den Konferenzen teilnehmen, aber man sollte sie kennen und ihre YouTube Channels mitverfolgen. Wer aber das Interesse und das nötige Kleingeld hat, kann sich gern darüber informieren:

Zertifizierngen

Zahlreiche Zertifizierungen überfluten die Märkte, aber nicht alle werden anerkannt. Manche sind theoretisch, andere eher praktisch. Kann ein Bewerber eine Zertifizierung nachweisen, ist das Finden eines Jobs wesentlich einfacher. Es gibt weitaus mehr als die von mir genannten:

Wie geht es weiter?

Jede Ausbildung, jedes Wissen bringt natürlich noch nicht viel. Es geht vor allem um die Erfahrungen, die man macht. Man muss proaktiv werden, sich Teams anschließen, Software entwickeln und sich mit dem Thema IT Sicherheit beschäftigen. Mancheiner eröffnet einen Blog und teilt sich damit der Welt mit.

Aber der finale Schritt ist die Erfahrung im Unternehmen. Mit viel Hintergrundwissen und möglichen Praktika findet sich eine Stelle als Consultant, Engineer oder wie auch immer die Jobbezeichnung ist. Auch hier gibt es gute Anlaufstellen, um sich mit Stellenangeboten vertraut zu machen: