PRISM, Tempora, Technikaufwuchsprogramm

Vollständige Internetüberwachung wird seit Jahren erforscht

Edward Snowden hat dankenswerterweise die internationale öffentliche Aufmerksamkeit auf ein Treiben gelenkt, das eigentlich seit Jahrzehnten interessieren müsste. Prism, Tempora oder auch neue vom BND aufgelegte Technikaufwuchsprogramm sind logische Fortschreibungen einer Überwachungstätigkeit, die staatliche Geheimdienste - auch westlicher Staaten - seit Jahrzehnten durchführen.

In Hackerkreisen, aber auch bei den Sicherheitsforschern an Universitäten ist das betrachtete Angriffsszenario nicht ohne Grund oft: "Dein Gegner kontrolliert alle Kommuniaktionsverbindungen, sowie eine große Zahl der Netzwerkknoten - aber nicht alle." Gesucht sind dann Lösungen, die trotzdem abhörsichere, je nach Anwendungsfall dazu noch anonyme, Kommunikation garantieren oder zumindest mit extrem großer Wahrscheinlichkeit ermöglichen.

Selbst anonymisierende Proxies werden nicht selten durch Sicherheitsforscher oder sogar Geheimdienste betrieben, um heraus zu finden, was genau diejenigen Menschen eigentlich treiben, die solche Dienste nutzen. Und auch wer jede Mail verschlüsselt und keine zentralisierten, sozialen Netzwerke nutzt, macht sich dadurch noch lange nicht unsichtbar.

Für mich ist dieses Wissen (bzw. diese Annahmen, denn die Geheimdienste geben ja nicht alles davon offen zu) seit Jahren selbstverständlich. Der derzeitigen öffentlichen Diskussion entnehme ich daher vor allem, dass noch viel Bewusstseinsbildung betrieben werden muss.

Software

Die viel propagierten Lösungen PGP und Tor sind dabei leider nur ein kleiner Teil der Lösung des Problems. Zum einen haben beide Tools ihre Probleme:

PGP

Verschlüsselt wird bei Mails ausschließlich der Inhalt. Empfänger, Absender, Absendedatum und Betreffzeile bleiben weiter lesbar. Ebenso einfach lässt sich feststellen, ob die Mail eine kurze Textnachricht oder ein mehrerer Megabyte großer Scan irgendwelcher Dokumente ist. Noch darüber hinaus garantiert PGP keine "perfect forward secrecy": Wenn der Schlüssel des Empfängers einmal geknackt werden sollte, so können damit alle jemals an ihn verschickten Nachrichten entschlüsselt werden - auch wenn sie während ihres Wegs durch das Internet mitgeschnitten wurden.

Tor

Das Ziel von Tor ist, die Kommunikation zwischen verschiedenen Rechnern über das Internet anonym möglich zu machen: Nur weil ich www.example.com besuche, soll der Admin dieser Seite (und die Geheimdienste unserer beiden Länder und aller dazwischen), nicht wissen, dass ich dort war. Mit den "tor hidden services" wird auch umgekehrt Anonymität hergestellt: Nur weil www.example.com existiert, und jeder die Seite besuchen kann, wird trotzdem nicht klar, wer eigentlich die Seite betreibt. Tor schützt von sich aus allerdings nur die Identitäten der Kommunikationspartner, nicht die am Ende übertragenen Daten. Dies ist besonders deswegen interessant, weil Browser anhand der mitgeschickten Header (und auch darin enthaltener Cookies) vergleichsweise gut identifizierbar sind. Theoretisch lässt sich das Problem mit einer Ende-zu-Ende Verschlüsselung über HTTPS lösen. Allerdings kann man davon ausgehen, dass es für die wesentlichen Geheimdienste dieser Welt kein Problem ist, sich gefälschte Zertifikate zu organisieren, und durch eine "man in the middle" Attacke auch den verschlüsselten Verkehr abzuhören. Bei diesem Angriff spielt der Geheimdienst dem Browser vor, bereits selbst die Webseite zu sein, braucht dafür aber ein gefälschtes (bzw. von einer Vergabestelle extra für ihn ausgestelltes) Zertifikat.

Ungleichgewicht zwischen Angreifer und Verteidiger

Viel schwerer wiegt aber, dass ein Geheimdienst (oder auch ein sonstiger Krimineller) nicht darauf angewiesen ist, aufwändig zu entschlüsseln oder zu enttarnen, wenn er oder sie die Daten direkt auf dem Rechner des Senders oder Empfängers abgreifen kann. Dazu dienen Programme wie der Bundestrojaner (auch "Online-Durchsuchung" genannt). Man kann getrost davon ausgehen, dass auch hier das BKA die Speerspitze der weltweiten IT-Kompetenz der Geheimdienste nicht übertrifft, oder anders ausgedrückt: Wenn das BKA so eine Software einsetzt, wird es jeder Geheimdienst schon lange tun.

Um in ein Rechnersystem einzudringen, braucht der Angreifer üblicherweise nur eine einzige, in seltenen Fällen ein paar wenige Sicherheitslücken kennen und ausnutzen. Der angegriffene, also der überwachte Bürger muss jedoch alle Sicherheitslücken schließen, um diese Form der Ausspähung verhindern zu können. Daraus folgt bereits ein erhebliches Ungleichgewicht, was die Erfolgschancen angeht. Dazu kommt ein hervorragend laufender Markt von Sicherheitslücken, auf dem Cracker aus aller Welt Schwachstellen verkaufen - an Kriminelle und Geheimdienste.

Die Situation wird weiter verschlechtert durch die Ausbreitung von Smartphones die dank ihrer Komplexität ebenfalls geeignet sind, durch Ausnutzung von Sicherheitslücken zu willigen Wanzen beliebiger Geheimdienste zu werden. Aber auch ohne derartige Anstrengungen hinterlassen Mobiltelefone mindesten eine Aufzeichnug der Aufenthaltsorte des Nutzers in den Rechnersystemen der Mobilfunkbetreiber.

Das Ungleichgewicht zwischen Angreifer und Verteidiger beim "Kampf" um Rechnersysteme gilt allerdings auch umgekehrt: Datenbanken der staatlichen Stellen sind vor Eindringlingen zwar besser geschützt, als der Privatrechner des durchschnittlichen Bundesbürgers, aber gerüchteweise(tm) reichen wenige gelangweilte und betrunkene Studenten aus, um erhebliche Datenmengen aus Beständen der öffentlichen Hand zu entwenden.

Brauchbar gesicherte Rechnersysteme

Allgemein möchte man nicht, dass die eigene Kommunikation vom Geheimdienst oder anderen zwielichtigen Gestalten abgehört wird. In ungefähr nach Schwierigkeit aufsteigender und Notwendigkeit absteigender Reihenfolge werden hier kurz mögliche Gegenmaßnahmen vorgestellt:

Verschlüsselung zwischen Client und Server

Noch immer gibt es Programme, die sich unverschlüsselt mit einem Mailserver, einem Webserver oder einem Instant-Messaging-Dienst verbinden. In diesem Fall kann praktisch jeder sofort mitlesen. Fast ganz ohne Aufwand alle Internetanbieter (und ihre "Freunde") bis zum jeweiligen Diensteanbieter, sowie alle Benutzer im selben WLan. Mit geringem Aufwand auch die anderen Nutzer eines kabelgebundenen LANs. Besonders problematisch sind Programme, die sich selbständig beim Starten des Systems verbinden, auch wenn man z.B. gerade im Hotel online geht. Gegenmaßnahme ist der vollständige Umstieg auf verschlüsselte Protokolle wie HTTPS und IMAPS.

Verschlüsselung zwischen Sender und Empfänger

Die Diensteanbieter wie z.B. Twitter oder Facebook, aber auch jeder Mailanbieter, kann technisch die Kommunikation seiner Nutzer trivial mitlesen, da sie dort unverschlüsselt vorliegt. Schützen tut dagegen Ende-zu-Ende-Verschlüsselungssoftware, wie PGP im Mailbereich oder Off-the-record-Messaging bei Instant-Messengern. Aufwändig ist hierbei vor allem der Schlüsselabgleich, um festzustellen, ob der Schlüssel des Empfängers auch tatsächlich dem Empfänger gehört, und nicht jemandem anderen.

Anonymisierung

Je nachdem, welche Webseiten man zugreift bzw. welche Informationen man weitergeben möchte, kann es sinnvoll sein, dass niemand weiß, wer man selber ist. Um die eigene Identität im Internet derart zur verschleiern, wird üblicherweise die Kommunikation mehrfach weitergeleitet. Auf diese Weise muss derjenige, der vom Empfänger ausgehend den Sender identifizieren will, die gesamte Kommunikationskette rückwärts laufen. Gute Software, wie Tor, wird ihm dies zusätzlich erschweren, in dem an jedem Punkt die Kommuniaktion mehrerer Personen gesammelt und weitergeschickt wird, damit unklar ist, wessen Nachricht wohin weitergeleitet wurde. Allerdings ist Tor auch darauf ausgerichtet, die Verzögerung durch die Kommunikation nicht zu groß werden zu lassen. Dies ist dann problematisch, wenn man größere Datenmengen verschickt: Wenn zum gleichen Zeitpunkt an einer Stelle 20 GB ins Tornetzwerk hochgeladen werden und zeitgleich an einer anderen Stelle 20 GB heruntergeladen, ist relativ offensichtlich, welche beiden Rechner sich gerade ausgetauscht haben.

Dieses Problem wird durch high-latency Netzwerke, wie Freenet oder GNUnet umgangen, die zum einen absichtlich immer eine gewisse Menge Datenverkehr erzeugen können, zum zweiten Daten über einen längeren Zeitraum verteilt übertragen, so dass keine oder zumindest weniger identifierbare Datenmengenspitzen auftreten. Diese Netzwerke verwenden außerdem eigene Software zum Hoch- und Runterladen von Dateien, so dass nicht über Browserversion oder Cookies Rückschlüsse auf den Benutzer möglich sind.

Festplattenverschlüsselung

Festplattenverschlüsselung hilft de fakto ausschließlich gegen Datenweitergabe bei polizeilichen Durchsuchungen oder gewöhnlichem Diebstahl. Sie ist dennoch gerade bei Laptops sinnvoll, auch damit in Mailclients, Browsern und sonstigen Programmen gespeicherte Zugangsdaten nicht in falsche Hände gelangen.

Antivirus und andere Malware-Erkennungsprogramme

Alle Verschlüsselungsprogramme nutzen nur dann etwas, wenn die Daten nicht direkt auf dem eigenen Rechner abgegriffen werden. Viele von Kriminellen eingesetzte Schadsoftware verfügt über Module, um genau solche Transfers vorzunehmen und so z.B. Kreditkartennummern mitgehen zu lassen. Laut Aussagen der Antivirus-Hersteller sollen ihre Programme auch staatliche Schnüffelsoftware erkennen und entfernen können - allerdings sollte man sich darauf keinesfalls verlassen. Der Einfluss der USA auf Microsoft z.B. ist so groß, dass extra zwei Hintertüren für die NSA in neuere Windowsversionen eingebaut wurden - mindestens. Außerdem steht die Antivirussoftware den öffentlich zur Verfügung, so dass Spähsoftware vorher darauf getestet werden kann, ob sie erkannt wird oder nicht. Wenn eine Spähsoftware nur gegen einzelne Ziele eingesetzt wird, kann es auch gut passieren, dass sie von den Antivirusfirmen niemals analysiert und in die Abwehr mit einbezogen wird.

Ungewöhnliche Software

Grundsätzlich gilt: Je ungewöhnlicher und seltener die von einem selbst eingesetzte Software ist, desto unwahrscheinlicher ist, dass die Datenformate und eventuelle Lücken dem Geheimdienst bekannt sind. Auf diese Weise wird die Analyse von Daten und Kommunikation sowie das Hacken des Rechners zumindest erschwert. Die eigenen Daten werden insbesondere massenhafter Auswertung entzogen, da es sich dabei lohnt, zuerst die üblichen Protokolle und großen Dienstanbieter zu überwachen.

Problematisch wird es allerdings bei Verschlüsselungssoftware und Anonymisierungssoftware. Cryptographie ist eine komplexe Wissenschaft, so dass es selbst bei besten Absichten leicht passieren kann, dass eine "Verschlüsselung" keine Sicherheit bietet, weil die Implementierung einen Fehler beinhaltete. Ähnliche Probleme existieren bei Anonymisierungssoftware. Hier kommt erschwerend hinzu, dass eine Software, die insgesamt nur von wenigen genutzt wird, zumindest immer verrät, dass man einer dieser wenigen ist.

Bei Betriebssystemen und Rechnerarchitekturen dürfte hingegen Ungewöhnlichkeit eher Vorteile bringen. Es gibt einfach weit mehr funktionierende Exploits gegen Linux auf AMD64, als gegen MINIX3 auf einem ARMv7. Der Umstieg auf ein "seltenes" Betriebssystem bietet sich allerdings eher für einen getrennten Rechner an, den man ausschließlich für kritische Kommunikation nutzt.

Firewalls

Man kann annehmen, dass staatliche Stellen in der Lage sind, Software zu produzieren oder zu kaufen, die von Antivirusprogrammen nicht erkannt wird, und Daten direkt aus dem Rechner zu hause zum Geheimdienst schickt. Dagegen hilft (in Grenzen) eine Firewall als getrenntes Gerät zwischen Rechner und Internet. Am besten so konfiguriert, dass Datenströme nicht einfach blockiert werden, sondern der Benutzer benachrichtigt wird. Dabei geht es vor allem darum, bei vorliegen einer Schadsoftwareinfektion, eine gezielte Suche nach dem Schädlich durchführen zu können.

Programmzugriffsrechte

Eine Firewall lässt sich relativ einfach umgehen, in dem Daten zusammen mit legitimen Verbindungen mitgesendet werden. Im Prinzip hintert niemand den Geheimdienst daran, zu warten, bis der Benutzer ohnehin bei www.bnd.de vorbeischaut (z.B. weil dort eine interessante Presseinformation(tm) veröffentlicht wird, auf die er in einem Tweet hingewiesen wurde) und dann interessante Daten mit der Browseranfrage zusammen zu versenden. Eine Firewall würde in diesem Fall wenig nützen, da der Benutzer ja selbst möchte, dass die Webseite aufgerufen wird.

Zur Abwehr von unbekannter Malware auf dem eigenen System hilft im wesentlichen nur, die Zugriffsmöglichkeiten, die verschiedene Programme haben, auf das jeweils nötigste zu beschränken. Es gibt z.B. keinen Grund, warum ein Browser auch auf die Dateien des Mailprogramms zugreifen kann oder umgekehrt. In der Praxis kann sogar eher jedes Programm auf alle Daten eines Benutzers zugreifen, so dass auch eine Lücke im MP3-Player des Internetradios ausreicht, um Vollzugriff auf alle Daten zu erhalten. Verschiedene Betriebssysteme, wie z.B. SELinux stellen verschiedene Möglichkeiten bereit, Zugriffsbeschränkungen zwischen Programmen zu errichten. Auch hier ist es sinnvoll, sich von fehlgeschlagenen Zugriffsversuchen zeitnah informieren zu lassen, um gegebenenfalls gezielt nach Malware suchen zu können.

Gesonderter Rechner für kritische Informationen

Je nachdem, für wie problematisch man bestimmte Informationen hält, kann es sinnvoll sein, einen gesonderten Rechner für den "problematischen Teil" der Kommunikation zu nutzen. Auf diesem Rechner werden keinerlei "normale" persönliche Daten abgelegt. Im Prinzip muss der Rechner und die Software darauf so aussehen, als ob er zu jedem technisch hinreichend versierten Menschen gehören könnte. Der Benutzer heißt "User", wohnt (wenn er es muss) in 12345 Beispieldorf usw... Auf diese Weise werden viele Möglichkeiten insbesondere von Schadsoftware, die eigene Person mit den kritischen Inhalten zu verbinden, vermieden.

Anstatt eines tatsächlich getrennten Rechners kann man auch virtuelle Maschinen nutzen. Neben der geringeren Kosten ist ein weiterer Vorteil, dass auch absonderliche CPU-Architekturen kein Problem darstellen. Ein Nachteil ist allerdings, dass die Sicherheit nur in eine Richtung wirklich funktioniert: Mögliche Angriffe gegen Software auf der virtuellen Maschine bleiben mit hoher Wahrscheinlichkeit auf diese isoliert. Erfolgreiche Angriffe auf das umgebende System jedoch ermöglichen ohne weitere Probleme Zugriff auf alle Daten der virtuellen Maschine. Durch hinreichende Automatisierung lässt sich für jede Anwendung oder Anwendungsgruppe eine solche virtuelle Maschine erstellen, so dass die Daten verschiedener Anwendungen gut voneinander isoliert bleiben.

Problematisch bleibt aber so oder so die enge Verknüpfung über die häusliche Internetadresse und (je nach betrachtetem Angriffsszenario) das LAN sowie sonstige beabsichtigte Wege, Daten auszutauschen.

Was der Staat tun müsste (aber fast nicht tut)

Viele der oben aufgeführten Gegenmaßnahmen können im Prinzip von jeder Privatperson ergriffen werden. Dennoch könnte auch die Bundesrepublik viel tun, um ihre Bürger der Überwachung durch aus- und inländische Geheimdienste zu entziehen.

Geheimdienste abschaffen oder gesundschrumpfen

Die einfachste Methode zu verhindern, dass deutsche Bürger durch deutsche Geheimdienste abgehört werden, ist die Abschaffung letzterer. Sofern man jedoch davon überzeugt ist (was ich nicht bin), dass Geheimdienste benötigt werden, wäre eine sinnvolle Mindestmaßnahme, Ihnen die anlasslose Speicherung von Daten zu untersagen und dies auch regelmäßig zu kontrollieren. Ein richtiger Schritt wäre auch die Reduzierung der für Geheimdienste ausgegebenen Mittel, so dass sie sich auf wenige wichtige Fälle konzentrieren müssen.

Anonymisierungsinfrastruktur explizit legalisieren

Bekanntlich gibt es nicht nur deutsche Geheimdienste und es ist illusorisch anzunehmen, dass durch Abkommen welcher Art auch immer, ausländische Geheimdienste ganz davon absehen, Bürger der Bundesrepublik auszuspionieren. Insofern muss der Staat seine Bürger dabei unterstützen, solcher Überwachung zu entgehen.

Anonymisierungsnetzwerke wie Tor brauchen unter anderem Exit-Nodes, an denen der anonymisierte Datenverkehr mit dem Internet verbunden wird. Die Betrieb solcher Knoten ist mit Kosten und vor allem juristischen Risiken verbunden. Die Bundesrepublik könnte einerseits selbst solche Knoten betreiben. Andererseits stünden diese immer im Verdacht, durch die deutschen Geheimdienste ganz besonders gut beobachtet zu werden. Daher wäre es vermutlich am zielführendsten, zumindest die juristischen Risiken des Betriebs solcher Exit-Nodes durch Gesetzesänderungen zu beheben. Dazu gehören auch offiziell unproblematische Dinge, wie Hausdurchsuchungen aufgrund von weitergeleitetem Internetverkehr. Dann könnte jeder Interessierte in Deutschland risikolos dazu beitragen, dass unsere Mitmenschen sich im Internet anonym bewegen können.

Softwaresicherheit fördern

Um die Softwaresicherheit zu erhöhen, könnte Deutschland sich an Belohnungsprogrammen für die Entdeckung von Softwarefehlern beteiligen, um zusätzliche Anreize für die offenlegung von Schwachstellen zu schaffen. Auf diese Weise würde es schwerer in private Rechnersysteme einzudringen.

Sinnvolle Standards schaffen

Zumindest dort, wo der Staat mit seinen Bürger kommuniziert, kann er die Einhaltung abhörsicherer Kommunikation relativ einfach sicherstellen. Dabei geht es weniger um die Sicherung der Daten gegenüber dem Staat (der ja in diesem Fall selber Kommunikationsteilnehmer ist), sondern darum, sichere und universell einsetzbare Standards zu verbreiten. Wenn es normal geworden ist, Mails zu verschlüsseln, wird es auch häufiger passieren.

Leider ist mit De-Mail das genaue Gegenteil passiert: Anstatt die Kommunikation vom Endnutzer bis zur Behörde zu verschlüsseln, wird bereits auf den Servern der Diensteanbieter entschlüsselt. Außerdem wurde nicht ein Standard geschaffen, der es den Bürgern erlaubt, auch untereinander verschlüsselt zu kommunizieren, sondern im Gegenteil Sicherheit vorgaukelt, und es dem Staat ermöglicht, alles abzuhören.

Bildung, Bildung, Bildung

Für viel zu viele Menschen ist selbst die einfache Einrichtung von Tor oder PGP so kompliziert, dass sie diese Software nicht einsetzen können. Dieses Problem kann eigentlich nur behoben werden, in dem frühzeitig und umfangreicher Kompetenzen zur Bedienung eines Computers vermittelt werden.