Become a Patron!
True Information is the most valuable resource and we ask you to give back.
Das HACIENDA-Programm
Das GCHQ-Programm mit dem Namen HACIENDA bewirbt in einer Prรคsentation aus dem Jahr 2009 Vollscans fรผr insgesamt 27 Lรคnder, verbunden mit dem Angebot: Wer ein anderes Land aufklรคren will, braucht nur eine E-Mail zu schicken. (Folie 3). Regeln fรผr die Begutachtung oder notwendige Begrรผndungen fรผr eine solche Aktion finden sich in den Dokumenten nicht. Die Mรถglichkeit, ganze Lรคnder zu scannen, ist keine wilde Fantasie: Neue Tools wie Zmap erlauben seit 2013 das Ausleuchten des gesamten IPv4-Adressraums weltweit in weniger als einer Stunde. Ein derart gezielter, massiver Einsatz der Scans durch den Staat macht daher jeden einzelnen Server zu einem Ziel staatlicher Computersaboteure.
Auf der Liste der Dienste โ und entsprechend Ports โ die angegriffen wurden, finden sich allgemeine รถffentliche Dienste wie das Webprotokoll (HTTP) oder Dateitransferprotokoll (FTP) ebenso wie Werkzeuge, die รผblicherweise von Netzwerkadministratoren eingesetzt werden, etwa das Secure Shell Protokoll (SSH) oder das Simple Network Management Protokoll (SNMP). Da in der Zwischenzeit verรถffentlichte Werkzeuge wie Zmap es fast jedermann erlauben, umfangreiche Scans durchzufรผhren, ist es nicht so sehr die eingesetzte Technik, die schockiert, sondern deren massive, praktisch lรผckenlose Ausnutzung gegen beliebige Systeme und potentiell alle Nutzer im Netz.
Die Funktionsweise von Portscannern sowie die Erkenntnisse, die durch deren Einsatz gewonnen werden kรถnnen, fรผhren vor Augen, was der groรflรคchige Einsatz von Portscannern durch Staaten zur Folge hat.
Hintergrund: Der TCP Three-Way Handshake
Die Autoren:
- Julian Kirsch schlieรt gerade seinen Master an der Technischen Universitรคt Mรผnchen ab und wird dort kรผnftig am Lehrstuhl fรผr Computersicherheit von Professor Eckert promovieren. Seine Forschungsinteressen sind unter anderem Reverse Engineering und Spionageabwehr.
- Christian Grothoff wird noch bis Ende August von der Deutsche Forschungsgemeinschaft (DFG) im Rahmen des Emmy-Noether Programms unter dem Kennzeichen ENP GR 3688/1-1 gefรถrdert. Er zieht dann von der Technische Universitรคt Mรผnchen nach Inria Rennes, wo er eine Forschungsgruppe im Bereich sicherer dezentralisierter Netzwerke aufbauen wird. Seine Forschungsinteressen beinhalten den Bau von Kompilern, Programmiersprachen, Software Engineering, Netzwerke und Sicherheit.
- Monika Ermert ist freie Journalistin und berichtet fรผr heise online seit vielen Jahren รผber DNS, DNS-Sicherheit und andere Themen.
- Jacob Appelbaum arbeitet als investigativer Journalist.
- Laura Poitras ist Dokumentarfilmemacherin und Journalistin und lebt in Berlin
- Henrik Moltke arbeitet als investigativer Journalist.
TCP, das Transmission Control Protokoll, ist das am weitesten verbreitete Protokoll im Netz. Jedes Mal, wenn eine Mail verschickt oder eine Webseite aufgerufen wird, sorgt TCP fรผr die verlรคssliche รbertragung der Datenpakete zwischen Clients und Servern. Portscanner machen sich ein strukturelles Problem von TCP zunutze, um zu bestimmen, welche Dienste auf einem System aktiv sind. Seit Urzeiten werden die Scans daher von Angreifern genutzt, um verwundbare Server zu finden. Einer Kommunikation von TCP-Client und -Server geht immer ein so genannter Three-way-handshake voraus. Ein Fehler im Design dieses “Hรคndedrucks” der beiden Server erlaubt das Portscanning รผberhaupt. Denn der Server gibt dabei immer preis, ob ein bestimmter Dienst verfรผgbar ist, ohne vorab zu prรผfen, ob der anfragende Client รผberhaupt autorisiert ist, auf den Dienst zuzugreifen.
Die Grafik 5 in der Bilderstrecke illustriert, wie eine TCP-Verbindung zustande kommt. Erst sendet der Host, der eine Verbindung herstellen will, ein TCP SYN Paket. Der Zielserver antwortet mit SYN/ACK, wenn er die Anfrage akzeptiert. Mit einem weiteren ACK-Segment komplettiert der anfragende Host den Three-Way-Handshake, der Verbindungsaufbau ist abgeschlossen. Genau dieser Handshake erlaubt es einem Angreifer festzustellen, ob TCP-Dienste รผber die jeweiligen Ports angeboten werden: ist der TCP Port geschlossen, reagiert der Server mit einem RST-Paket (“reset”) auf das erste SYN Paket (Grafik 6 in der Bilderstrecke). Fรผr den Angreifer ist es ein Leichtes, die vorhandenen Internetdienste zu kartieren, indem er die unterschiedlichen Serverantworten im Strom der Pakete berรผcksichtigt. (Vergleiche Grafik 5 und Grafik 6)
Der Feind im Netz
Das GCHQ macht, wie aus ihrer Prรคsentation von HACIENDA ersichtlich wird, nicht nur einfache Portscans, es greift auch Banner und andere verfรผgbare Informationen ab (Folie 4). Ein Banner ist dabei eine Nachricht, die von einer Serverapplikation standardmรครig an jeden sich verbindenden Client gesendet wird. Dabei werden oftmals detaillierte Informationen รผber das System und die an den Port gebundene Applikation (wie zum Beispiel Versionsnummern) รผbertragen. Dieses Wissen erleichtert anschlieรend das gezielte Ausnutzen von Schwachstellen.
Das breit angelegte Ausspรคhen verschiedenster Dienste, samt der verfรผgbaren Dienstinformationen รผber das gesamte Netz hinweg, zeigt, dass das Ziel die aktive Kartierung und Sammlung verletzlicher Systeme weltweit ist und nicht etwa Aufklรคrung zu bestimmten Zielsystemen oder Personen. Mit der Vorbereitung von Attacken auf Dienste, auf die mittels SSH oder SNMP zugegriffen wird, greifen die Spione kritische Infrastrukturen an, wie zum Beispiel die fรผr die Netzwerkbetrieb notwendigen Systeme.
Das Eindringen in das System des belgischen Netzbetreibers Belgacom und das des deutschen Satellitennetzwerkbetreibers Stellar hat in der Vergangenheit gezeigt, dass, wenn Systeme von Mitarbeitern oder deren Zugangsdaten auch nur indirekt nรผtzlich sein kรถnnten, diese Systeme und Menschen Opfer von Angriffen werden.
Die aus den Scans hervorgegangene Datenbank wird dann im Klub der Five- Eyes-Spione verteilt, zu dem das Vereinigte Kรถnigreich, die USA, Kanada, Australien und Neuseeland gehรถren. Das in der Folie erwรคhnte Programm MAILORDER ist ein internes Transportprotokoll, mit dem der Spionageclub Daten untereinander austauscht. Inwieweit die Five Eyes auch anderen “Partnern” Zugriff auf die HACIENDA-Daten gewรคhrt haben, ist eine noch offene Frage.
Jedes Gerรคt ein Ziel
Das Scannen der Server ganzer Lรคnder und die Suche nach verwundbaren Stellen in der Infrastruktur der Netze folgt letztlich konsequent dem Ziel der “Beherrschung des Internet”, einem von der GCHQ koordinierten Programm zum Abhรถren von Netzwerkverbindungen: Die Geheimdienste attackieren jedes nur mรถgliche System, vermutlich allein deshalb, weil es Zugang zu weiteren Systemen erรถffnen kann. Denn mรถglicherweise รถffnet sich ja dabei irgendwo der Pfad zu einem wertvollen Zielobjekt. Nach dieser Logik ist jedes Gerรคt ein interessantes Ziel fรผr die Aufklรคrung โ und fรผr eine mรถgliche feindliche รbernahme. Denn jedes kompromittierte Gerรคt kann ja theoretisch ein Bindeglied in der Kette zum Zielobjekt sein.
Die Portscans und das Herunterladen von Bannern zur Identifizierung, welche Software auf dem ausgespรคhten System lรคuft, ist nur der erste Schritt des Angriffs (Folie 8). Eine streng geheime Prรคsentation der National Security Agency (NSA), die heise online vorliegt, illustriert das Gesamtkonzept (Folie 10). Die Spione folgen dabei den genau so auch vom organisierten Online-Verbrechen angewandten Methoden: der Ausspรคhung (Folie 10) folgt die Kompromittierung (Folie 11) und รbernahme des Systems (Folie 12) und der Diebstahl von Daten (Folie 13). In der NSA-Darstellung wird klar, dass staatliche Computersaboteure sich dieses kriminelle Vorgehen zu eigen machen: Erst diskutieren sie das Ausspionieren und Einbrechen in die Systeme als “hacking” und dann fรผhren sie ihre eigenen Werkzeuge dafรผr vor. (Folie 14, 15 und 16).
Die Kolonialisierung des Internet
Es ist mittlerweile bekannt, dass die NSA sich sehr fรผr sogenannte 0-Day-Angriffe interessiert, Schwachstellen in Software, die noch unbekannt sind und fรผr die es daher noch keinen Patch gibt. Sobald ein mit dem Wissen รผber eine solche 0-Day-Attacke ausgerรผsteter Angreifer einen verwundbaren Dienst auf einem Server findet, ist dieser eine leichte Beute. Firewalls bieten kaum ausreichenden Schutz, sei es, weil der Administrator selbst per Fernzugriff wartet, oder weil die staatlichen Schnรผffler lรคngst innerhalb des Netzwerkes agieren (siehe: Barton Gellman and Ashkan Soltani. Nsa infiltrates links to yahoo, google data centers worldwide, documents say. The Washington Post, October 2013). Neue Hardware, wie zum Beispiel รผber SNMP konfigurierte Firewalls, ins eigene Netz zu integrieren, kรถnnte darรผber hinaus auch neue Lรผcken aufreiรen.
Folie 8 weist auf eine besondere Rolle hin, die HACIENDA in der รberwachungsinfrastruktur spielt. Die heise online vorliegenden, streng geheimen Dokumente beschreiben das LANDMARK-Programm, welches vom kanadischen Geheimdienst CSEC zur Expansion verdeckter Infrastruktur (Folie 17) betrieben wird. Die verdeckte Infrastruktur besteht aus sogenannten Operational Relay Boxes (ORBs), die verwendet werden, um den tatsรคchlichen Aufenthaltsort eines Angreifers zu verschleiern, wenn die Five Eyes Exploits gegen Ziele einsetzen oder Daten stehlen (Folie 18).
Mehrmals im Jahr versucht der Spionageclub, Kontrolle รผber so viele Maschinen wie mรถglich zu erlangen. Hauptsรคchliches Entscheidungskriterium ist dabei nur, dass sich das Ziel im Ausland befindet. So waren beispielsweise im Februar 2010 vierundzwanzig Spione an nur einem einzigen Arbeitstag in der Lage, รผber 3000 potenzielle ORBs zu lokalisieren. Dennoch war die Arbeit, die von HACIENDA gelieferten Ergebnisse manuell auszuwerten, zu mรผhsam, weshalb das OLYMPIA-System programmiert wurde, das den Prozess automatisiert (Folie 21). Die Spione prahlen damit, dass mithilfe von OLYMPIA verwundbare Gerรคte innerhalb eines zu spezifizierenden Subnetzes in weniger als fรผnf Minuten gefunden werden kรถnnen (Folie 22).
Allerdings sind die Kanadier nicht die Einzigen, die mithilfe von HACIENDA Maschinen suchen, die kompromittiert und in ORBs verwandelt werden kรถnnen. Beim GCHQ ist die Jagd nach ORBs als Teil des MUGSHOT-Programms organisiert (Folie 23). Dort hat man den Prozess ebenfalls automatisiert und eine signifikante Verbesserung der Genauigkeit erreicht, wie auf den Folien behauptet wird (Folie 24). Abermals spielen dafรผr die Informationen, welche HACIENDA liefert, eine groรe Rolle. Ein zentraler Punkt ist, dass das GCHQ mithilfe von MUGSHOT Ergebnisse aktiver Scans (HACIENDA) und passiver รberwachung kombiniert (Folie 26).
Kontrollverlust
Der Angreifer Staat bereitet durch die willkรผrlichen Attacken der Industriespionage, der Sabotage und auch Menschenrechtsverletzungen den Boden. Ihm reicht die Aussicht auf den Zugriff als Grund fรผr sein Tun. Ein milliardenschweres Budget, Straffreiheit fรผr Agenten und die Rekrutierung von Netzbetreibern, die zur Mitarbeit gezwungen werden, befรถrdern die Entwicklung. Netzwerk- und Systemadministratoren fรคllt es zu, sich gegen einen nie da gewesenen Grad der Bedrohung abzusichern. Bรผrger auรerhalb der Five-Eye-Lรคnder mรผssen mit erheblich verringerten Standard an Sicherheit, Vertraulichkeit, Integritรคt und Robustheit in den Netzen leben.
Geheimdienste nutzen ihre Fรคhigkeiten Systeme im Internet zu รผbernehmen um ihre Macht auszudehnen. Ihre Aktivitรคten folgen den typischen Mustern von Cyber-Kriminellen, die Portscans nutzen, um potenzielle Opfer zu identifizieren. Fรผr Systemadministratoren heiรt es angesichts des Bedrohungsszenarios, dass sie ihre Abwehr stรคrken und vor allem die Sichtbarkeit nicht-รถffentlicher Server verringern mรผssen. Dienste mit Patches nachzurรผsten, schรผtzt nicht gegen die 0-Day-Exploits, und Firewalls sind kein ausreichender Schutz. Wir stellen daher eine Option fรผr Systemadministratoren vor, die nicht-รถffentliche Dienste gegen potentielle Ausspรคhung schรผtzen kann.
Knock: Eine Abrissbirne fรผr HACIENDA
Ein neuer Vorschlag zur Verschleierung von Ports ging an diesem Freitag an die Internet Engineering Task Force (IETF). Mit TCP Stealth (Julian Kirsch, Christian Grothoff, Jacob Appelbaum, and Holger Kenn: Tcp stealth, August 2014. IETF draft) kรถnnten Netzwerkadministratoren dafรผr sorgen, dass ihre Server gegenรผber willkรผrlichen Portscans abgeschirmt werden. TCP Stealth ist nicht zuletzt als Antwort auf Programme wie HACIENDA entstanden und wird auf dem jรคhrlichen Treffen der GNU Entwickler an der TU Mรผnchen vorgestellt.
Die Abwehr gegen gezielte Angriffe auf ungekannte Schwachstellen โ die 0-Day-Exploits โ in รถffentlichen Diensten ist hart. Einfacher ist es, den sichtbaren “Fuรabdruck” und damit die Angriffsflรคche von administrativen Diensten zu verkleinern.
Port Knocking ist eine erprobte Methode, um Server im Netz weniger sichtbar zu machen (siehe: Julian Kirsch. Knock, August 2014). Die Grundidee ist schlicht, dass ein TCP-Server nur dann auf eine SYN-Anfrage antwortet, wenn der abfragende Server zuvor ein “knock”-Paket vorausgeschickt hat. Anklopfen mit einem geheimen Klopfzeichen sorgt so fรผr mehr Sicherheit, weil ein Angreifer, der ohne das Klopfzeichen anfragt, keine TCP-Verbindung aufbauen kann, den Dienst dahinter auch nicht attackieren kann.
Traditionelles Port Knocking (siehe: M. Krzywinski. Port knocking: Network authentication across closed ports. SysAdmin Magazine, 12:12{17, 2003) hat den staatlichen Angreifer jedoch nicht mit einkalkuliert. Wird der Service von einen Netz aus angefragt, in dem der Angreifer bereits den Datenverkehr mitliest, kann er die Verbindung belauschen und so auf die Existenz des Dienstes schlieรen. Ein staatlicher Angreifer kann sogar allen Verkehr des TCP-Clients beobachten und dann eine Man-in-the Mddle-Attacke zum Ausspรคhen des Client starten. Ein Man-in-the-Middle-Angriff รผber kompromittierte Router ermรถglicht es Angreifern, eine TCP-Verbindung direkt nach dem Handshake zu รผbernehmen. Ein fortgeschrittener Hacker, der die Router kontrolliert, kann auch schwach verschleierte Port Knocks identifizieren, in dem er ungewรถhnliche Routinen im Datenverkehr analysiert. Immerhin kann man wohl mรถglicherweise noch davon ausgehen, dass ein Angreifer den “normalen” TCP-Verkehr nicht nicht als verdรคchtig markiert. Denn damit wรผrde er wohl zu viele Treffer generieren.
TCP Stealth
TCP Stealth ist ein bei der IETF eingereichter Request for Comment fรผr eine einfach zu implementierende, stille Port-Knocking-Variante. TCP Stealth verbirgt ein Token zur Autorisierung in der ISN-Sequenz, die zu Beginn des Drei-Wege-Handshakes beim TCP-Verbindungsaufbau gesandt wird, und ermรถglicht Schutz durch einen Check der Prรผfsumme (payload protection). TCP Stealth ist schwer zu entdecken, weil es im klassischen Drei-Wege-Handshake verborgen ist. Der Datenverkehr beim Verbindungsaufbau ist unverรคndert. Man-in-the-Middle-Attacken und Wiedereinspielungsangriffe (replay attacks) werden durch den Prรผfsummencheck erschwert.
TCP Stealth arbeitet mit IPv4 und IPv6 und ist fรผr jeden Dienst nรผtzlich, dessen Nutzergruppe so klein ist, dass eine Passphrase unter den Nutzern ausgetauscht werden kann. Beispiele sind SSH- oder FTP-Zugriffe auf Server, Tor-Bridges, persรถnliche POP3- oder IMAP-Server sowie Peer-to-Peer-Overlay- oder Friend-to-Friend-Netze. TCP Stealth ist fรผr den Linux-Kernel in Form des Knock-Patches verfรผgbar. Ist ein Kernel gepatcht, so kann die Unterstรผtzung fรผr TCP Stealth in bestehenden Applikationen durch einen einfachen Aufruf der setsockopt()-Funktion aktiviert werden. Alternativ kรถnnen bestehende Programme TCP Stealth nutzen, indem sie mithilfe von LD PRELOAD die dynamische Bibliothek libknockify einbinden.
Die Installation von TCP Stealth
Da der Hauptentwicklungszweig des Linux-Kernels derzeit Knock nicht unterstรผtzt, muss auf dem Rechner, auf dem Knock laufen soll, der Kernel gepatcht werden. Die Distribution Parabola Linux bringt Knock-Unterstรผtzung schon mit, hier kann Knock einfach mit einem Paketmanager installiert werden.
Fรผr alle anderen Distributionen funktioniert der Patch folgendermaรen:
1. Fรผr einen Standard-Kernel die Quellen des gewรผnschten Kernels von http://www.kernel.org herunterladen. Dabei beachten, dass viele Distributionen den Kernel anpassen und eigene Quellen anbieten. Deshalb ggf. diese angepassten Kernel nehmen.
2. Wenn die Quellen vorliegen, den entsprechenden Knock-Patch von gnunet.org/knock herunterladen. Wenn die Kernelversion nicht ausdrรผcklich auf der Knock-Website aufgefรผhrt ist, empfiehlt sich ein Versuch mit der am nรคchsten verwandten Version.
3. In das Verzeichnis der Kernel-Quellen wechseln (“<your-version>” mit der entsprechenden Version des Kernels und des Patches ersetzen) und den Patch ausfรผhren (mehr Informationen รผber das Einspielen und Zurรผcknehmen von Patches im Kernel gibt es im Archiv auf kernel.org)
$ cd linux-<your-version>/
~/linux $ patch -p1 < /path/to/knock/patch/tcp_stealth_<your-version>.diff
4. Die Konfiguration des aktuellen Kernels kopieren. Dafรผr gibt es zwei gรคngige Methoden:
(a) bei Debian und verwandten Distributionen eine Kopie der Kernelkonfigurationsparameter im Verzeichnis /boot. Die Konfigurationsdatei kann einfach in die Kernel-Quellen kopiert werden:
~/linux $ cp /boot/config-$(uname -r) .config
(b) Bei vielen anderen Distributionen gibt es die Mรถglichkeit, die Konfiguration des laufenden Kernels รผber das /proc-Dateisystem auszulesen:
~/linux $ zcat /proc/config.gz > .config
(c) Wenn keine dieser Mรถglichkeiten besteht, kann man es mit der Standardkonfiguration versuchen:
~/linux $ make defconfig
Allerdings sollte man von dieser Methode keinen besonders stabilen und performanten Kernel erwarten.
5. Alle Parameter, die nicht in der aktuellen Konfiguration gesetzt wurden, auf den Standardwert setzen. Eine andere Kernel-Version kรถnnte neue Konfigurationsoptionen zur Kompilierung erfordern.
~/linux $ yes "" | make oldconfig
6. Knock รผber die Menรผauswahl “Networking Support > Networking Options > TCP/IP networking > TCP: Stealth TCP socket support” fรผr die aktuelle Konfiguration aktivieren.
~/linux $ make menuconfig
7. Der Kernel ist jetzt bereit fรผr die Kompilierung. Mit
~/linux $ make bzImage && make modules
den Kernel und alle zusรคtzlichen Module kompilieren. Dieser Schritt kann ziemlich viel Zeit in Anspruch nehmen. Auf Maschinen mit mehr als einem Prozessorkern kann mit der Option -j bei beiden make-Befehlen die Zahl der Build-Threads angepasst werden.
8. Nach erfolgreicher Kompilierung den Kernel und alle Module installieren. Danach automatisch eine neue initramdisk fรผr den neuen Kernel erstellen lassen:
~/linux $ sudo make modules_install && sudo make install
Wenn sudo nicht installiert ist, beide make-Befehle mit Root-Rechten ausfรผhren.
9. Computer neu starten und den Boot-Manager anweisen, mit dem neuen Kernel zu booten. Die Maschine hat jetzt Knock.
Einschalten von Knock mit LD PRELOAD
Knock kann ohne รndern des Source Codes des jeweiligen Programms genutzt werden. Das kann sich als nรผtzlich erweisen, wenn der Source Code nicht verfรผgbar ist oder wenn der Einbau der notwendigen Bibliothek (libc) nicht mรถglich ist, beispielsweise wegen Beschrรคnkungen in der Logik der Anwendung.
Um Knock in bestehenden Anwendungen zu nutzen, steht eine dynamische Bibliothek libknockify zur Verfรผgung. Grundsรคtzlich sieht die Nutzung des mit libknockify gemeinsam genutzten Objekts zum Einsatz von Knock fรผr ein Programm example program folgendermaรen aus:
KNOCK_SECRET="shared secret"
KNOCK_INTLEN=42
LD_PRELOAD=./libknockify.so
./example_program
Wenn die Anwendung “example program” anschlieรend รผber TCP kommuniziert, wird libknockify die jeweiligen Socket Options setzen, um den Gebrauch von Knock im Kernel zu aktivieren. Im Beispiel wird die gemeinsame Passphrase aus dem Text “shared secret” gezogen. Die Integritรคt des Content ist auf die ersten 42 Bytes der Prรผfsumme im TCP Datenstrom beschrรคnkt. Wird die Variable KNOCK INTLEN nicht gesetzt, ist die Integritรคtsprรผfung deaktiviert.
Benutzung von TCP Stealth mit setsockopt()
Die Entwickler von Anwendungen kรถnnen Unterstรผtzung von TCP Stealth direkt in ihren Code integrieren. Das ermรถglicht eine Kontrolle, welche TCP-Verbindungen TCP Stealth mitbringen. Es kann die Usability weiter verbessern. Um Port Knocking mit einem Knock-fรคhigen Kernel grundsรคtzlich zu aktivieren, muss die Anwendung lediglich einen einzigen setsockopt() Aufruf machen, nachdem das TCP socket generiert wurde:
char secret[64] = "This is my magic ID.";
setsockopt (sock, TCP_STEALTH, secret, sizeof (secret));
Fรผr Content-Integritรคtssicherung mรผssen die TCP-Clients zusรคtzlich die ersten Bytes der Prรผfsumme spezifizieren, die in einem zweiten setsockopt()-Aufruf รผbertragen wird, bevor die Verbindung mit connect() aufgebaut wird:
char payload[4] = "1234";
setsockopt(sock, IPPROTO_TCP, TCP_STEALTH_INTEGRITY, payload, sizeof(payload));
connect (sock, ...);
write (sock, payload, sizeof (payload));
Server, die eine Datenintegritรคtsprรผfung mithilfe von TCP Stealth verwenden wollen, rufen setsockopt() ein zweites Mal auf und geben dabei die Anzahl der Bytes an, die vor Verรคnderung durch Dritte geschรผtzt werden sollen.
int payload_len = 4;
setsockopt(sock, IPPROTO_TCP, TCP_STEALTH_INTEGRITY_LEN,payload_len, sizeof(payload_len));
Die Grenzen der Technik
Die meisten Endgerรคte sitzen mittlerweile hinter Gateway-Routern, die Network Address Translation (NAT) machen. TCP Stealth ist zwar so gestaltet, dass von NAT-Boxen verรคnderte Informationen nicht genutzt werden. Einige NAT-Boxen รคndern aber auch TCP-Timestamps und ISN; sie behindern damit den Port-Knocking-Mechanismus. Tabelle 1 illustriert die Ergebnisse von Experimenten, die zeigen wie verbreitet allgemeine Verรคnderungen von ISN durch NAT-Boxen in der Praxis sind.

Tabelle 1: รnderungen von ISN, abhรคngig vom Ziel-Port (Michio Honda, Yoshifumi Nishida, Costin Raiciu, Adam Greenhalgh, Mark Handley, and Hideyuki Tokuda. Is it still possible to extend tcpร In Procee- dings of the 2011 ACM SIGCOMM Conference on Internet Measurement Conference, IMC ’11, pages 181{194, New York, NY, USA, 2011. ACM.)
TCP Stealth ist auf die 32 Bit im TCP-ISN-Header-Field beschrรคnkt; ein aggressiver Angreifer kann diese Einschrรคnkung ausnutzen und durch Zufall oder eine Brute-Force-Attacke doch zum Ziel kommen. TCP Stealth wird aber eine angemessene Absicherung gegen Angreifer bieten, die ungezielt scannen (wie z.B. HACIENDA). Netzmanagementdienste auf Nicht-Standard Ports zu migrieren, kann die Gefahr von Zufallserfolgen aktiver Portscanner weiter reduzieren.
Wรคhrend der Gebrauch von Integritรคtsschutz mit TCP Stealth eine technische Option ist, bietet Port Knocking ohne einen solchen Schutz wenig Sicherheit gegenรผber einem Angreifer, der den Datenverkehr im Netz beobachtet und Verbindungen umleitet, nachdem der TCP-Handshake passiert ist. Kรผnftige Entwicklungen von Transportprotokollen sollten daher einen einen Schlรผsselaustausch schon beim Start des Verbindungsaufbaus vorsehen. Leider passiert das auch bei SSH nicht, das sich dem Angreifer stattdessen noch vor dem kryptographischen Handshake mit einem Banner mit Versionsinformationen prรคsentiert. Dieser Fehler im Design von SSH macht zusรคtzliche Maรnahmen zur Verschleierung derzeit notwendig, wenn man den Integritรคtsschutz durch TCP Stealth wirkungsvoll ausnutzen mรถchte.
Politische Lรถsungen sind gefragt
Technische Lรถsungen wie TCP Stealth, die versuchen, mit den hochgerรผsteten staatlichen Computersaboteuren Schritt zu halten, bieten einen Weg fรผr Netzbetreiber, ihre Systeme zu hรคrten, indem sie nicht-รถffentliche TCP-Dienste gegen den Zugriff durch Angreifer schรผtzen, seien diese nun kommerziell motiviert oder segelten unter dem offenbar alles entschuldigenden Banner der nationalen Sicherheit.
Das Rennen nur durch technische Maรnahmen zu gewinnen, ist langfristig wohl unmรถglich, wie auch Linus Neumann vom CCC gerade in einem Kommentar fรผr heise online geschrieben hat. Ohne den notwendigen politischen Willen, die Bรผrger rechtlich gegen die uferlosen รbergriffe zu schรผtzen und auch in entsprechende Forschung fรผr echte Nutzersicherheit zu investieren, wird der ungleiche Rรผstungswettlauf weitergehen โ und die Endnutzer, die Bรผrger werden die Verlierer sein.
Neumann hat nochmal darauf hingewiesen: Eigentlich sind sichere Systeme mรถglich, doch alle Regierungen fรผrchten den Kontrollverlust in einem hart gesicherten und weniger kontrollierbaren Kommunkationsnetz. Hier gibt es politisch noch viel รberzeugungsarbeit zu leisten. Vorerst mรผssen die Entwickler von Betriebssystemen und die Netzadministratoren das Beste aus der Situation machen, indem sie die modernsten und vor allem besten Sicherheitslรถsungen einsetzen, die sie bekommen kรถnnen.
Die Folien sind hier:
http://www.heise.de/ct/artikel/NSA-GCHQ-Das-HACIENDA-Programm-zur-Kolonisierung-des-Internet-2292574.html?hg=1&hgi=3&hgf=false
You must be logged in to post a comment.