TLS: Wie man sich selbst austrickst

Nicht das einer meiner geneigten Leser glaubt, ich hätte zuviel Phantasie oder mir wäre das selbst passiert und ich würde es jetzt in einer netten Story schön reden wollen, vergeßt es, es ist tatsächlich so passiert.

Was ist TLS ?

Um zu verstehen was genau passiert ist, muß ich etwas ausholen, da nicht jeder Leser wissen wird, was TLS genau macht.

Erstmal TLS ist die Transport Layer Verschlüsselung(Security) für Emailserver und Webseiten und hat SSL ( Secure Socket Layer ) abgelöst, weil es a) ein paar Vorteile gegenüber SSL hat und b) nicht komplett gebrochen ist wie SSL. (Ja, SSL ist tod, wer noch SSL 1-3 benutzt, kann es auch abschalten und die Rechenleistung anderweitig nutzen 😉 ).

Wenn ein Mailprogramm einen Mailserver mit TLS Unterstützung kontaktiert, tut er das auf den an sich unverschlüsselten Port 25. Der Mailserver meldet dem sich verbindenden Programm/Client/Server welche Möglichkeiten der Server anbietet, z.B. den Befehl STARTTLS . Finden ein sich verbindendes Programm diesen Befehl, wird es diesen Aufrufen und damit die Verbindung von unverschlüsselt auf verschlüsselt „upgraden“ .  Damit man das machen kann, sendet der Mailserver seinen öffentlichen Schlüssel in einem Zertifikat an das verbindende Programm und das baut daraus ein passendes Antwortpaket mit einem Sessionkey, der nur für diese eine Datenübertragung existiert. (Idealerweise)

Authentizität

Dabei wird geprüft, ob sich der Mailserver mit einem gültigen SSL-Zertifikat ausweist. An dieser Stelle wird es nun interessant. Unser Mailserver, kann wie die meisten Server, genau ein Zertifikat  benutzen, weil alle Domains auf seiner Hauptipadresse liegen. Für Emails ist das auch nicht tragisch, es geht ja nur um die Verschlüsselung des Transports. Also präsentiert der Mailserver sein gültiges Serverzertifikat, daß auf seinen Hostname ausgestellt ist, denn damit meldet sich der Server und damit weiß man, daß dies Zertifikat zum Host paßt. Soweit, so normal.

Die Experten

Jetzt gibt es Leute, die wollen wissen, ob sie abgehört werden, was ein naheliegendes Interesse ist. Deswegen prüfen sie, ob in dem Zertifikat das Ihnen angeboten wird, auch wirklich der Name des Mailserver drinsteht, mit dem sie sich verbinden wollen. Ist das nämlich nicht der Fall, könnte jemand an der Verbindung rumgespielt haben und sich als Man-in-the-Middle-Angreifer betätigt haben, um die Verbindung zu belauschen. Wenn ich jetzt auf Sicherheit und Authentizität wert lege, müßte ich aufhören und die EMail nicht zustellen, weil „irgendwas stimmt nicht“.

Damit Ihr mir folgen könnt, ein paar Beispiele :

$ dig mx bloggt-in-braunschweig.de
;; ANSWER SECTION:
bloggt-in-braunschweig.de. 21599 IN    MX    10 bloggt-in-braunschweig.de.

Das meint, daß die Emails für BIB.de  auf einem Mailserver mit dem Hostnamen „bloggt-in-braunschweig.de“ entgegengenommen werden. Verbindet man sich auf Port 25 dort hin, findet man das vor:

$ nc bloggt-in-braunschweig.de 25
220 s120.resellerdesktop.de ESMTP Exim 4.85_2 Sat, 27 Aug 2016 12:11:04 +0200

das meint, daß sich unser Mailserver mit „s120.resellerdesktop.de“ identifiziert, weil das sein Name ist. Entsprechend präsentiert er ein Zertifikat von s120.resellerdesktop.de . Das ist vollkommen ok so 🙂

Aber genau das ist, was einige Experten als den MITM-Angriff definiert haben, denn die haben erwartet, daß sich der Mailserver mit „bloggt-in-braunschweig.de“ meldet, was er nicht tut, weil er noch hunderte andere Domains beherbergt.

Jetzt der Catch 🙂

Statt jetzt aber die Verbindung zu trennen, wie man es bei einem MITM Angriff erwarten müßte, fällt der Expertenmailserver auf unverschlüsselte Kommunikation zurück und stellt die Email unverschlüsselt auf genau diesem Server zu!  Das ist FAIL² . Er hätte auch gleich das Zertifikat nehmen können, denn dann wäre die Email wenigstens verschlüsselt übers Netz gegangen, statt im Klartext.

Logik ist nicht jedermans Sache, wie es scheint 😀

Den Experten helfen…

Wenn man jetzt mit solchen Experten kommunizieren muß, ohne das man unverschlüsselte Emails haben will, kann man natürlich etwas tun, was allerdings mit Nachteilen daher kommt. Für den Augenblick sind diese aber vernachlässigbar.

Das Problem liegt ja in der Erwartungshaltung des sendenden Mailservers, der in unserem Beispiel bloggt-in-braunschweig.de haben wollte, aber s120.resellerdesktop.de bekommen hat. Der Name ist im DNS MX Eintrag hinterlegt, weil man so bei einem Domainumzug auf einen anderen Server lediglich einen Eintrag ändern muß. Der MX zieht quasi automatisch um.  Unsere Experten würden aber folgendes gerne sehen :

$ dig mx bloggt-in-braunschweig.de
;; ANSWER SECTION:
bloggt-in-braunschweig.de. 21599 IN    MX    10 s120.resellerdesktop.de

Wenn man also seinen MX auf den „echten“ Namen des Mailserver ändert, sind diese Expertenserver zufrieden und schicken einem ab sofort wieder reguläre TLS verschlüsselte EMails zu.

Man darf nur nicht vergessen, daß man bei einem Domainumzug auch den MX ändert, wenn der neue Mailserver anders heißt. Es ist also auch davon abhängig wie der Provider seine Umgebung betreibt.

 

mFUND oder wo unsere Steuern landen

Das Bundeswirtschaftsministerium fördert über prototypefund.de mit 1,2 Millionen Euro Open Source Software, was das Bundesministerium für Verkehr und digitale Infrastruktur veranlaßte mal wieder die digitalen Neulandgeräte, sprich Smartphones, zu fördern:

http://www.bmvi.de/DE/DigitalesUndRaumentwicklung/DigitaleAgenda/Modernitaetsfonds/modernitaetsfonds_node.html

Am Ende soll Open Source Software dabei rauskommen, die bei GitHUB u.ä. hinterlegt sein muß. Da hätte man auch gleich „Freie Software“ fordern können, hätte man den Unterschied dazu gewußt. „Förderungswürdig“  wird beim MFUND übrigens so angegeben:

„Mit dem mFUND unterstützt das BMVI die Entwicklung digitaler Geschäftsideen, die auf Mobilitäts-, Geo- und Wetterdaten basieren. Dazu zählen z.B. neue Navigationsdienste, innovative Sharing-Plattformen, intelligente Reiseplaner oder hochpräzise Wetter-Apps.“

Wir haben Livewetterkarten mit Livefeed vom Satelliten, wozu brauchen wir noch mehr unnütze Wetterapps, die sich zudem alle widersprechen ? Das Wetter ist, wie es ist, da wo man halt grade ist. Verlassen kann man sich auf keine Wetterkarte, auch nicht bei Kachelmann oder dem hauseigenen Wetterfrosch. Nicht einmal aufs Wetter kann man sich verlassen, wie ein Test neulich bei einer Geburtstagsfeier im Freien ausdrücklich gezeigt hat: Eine Gewitterfront, die zielstrebig auf uns zu kam, meinte dann doch, daß die 70 km bis zu uns, für welche die Front knapp eine Stunde gebraucht hätte, den ganzen Aufwand nicht wert war und schwenkte dann einfach richtig England um. Dort wird sich die Schlechtwetterfront dann am Ende auch viel wohler gefühlt haben, mit all den anderen Schlechtwetterwolken, die üblicherweise in London ihr EU Hauptquartier haben.

Aber zurück zum mFUND: Wieviel Navigationsdienste glaubt man im BMVI eigentlich, braucht ein Autofahrer ? Könnte es sein, daß die Strecke freier wird, wenn alle anderen mit einer anderen App im Stau stehen ?  Oder nehmen wir  Filesharing, wie oft soll ich die eine Datei noch teilen ? Vor lauter Teilenbuttons kann man einige Webseiten schon gar nicht mehr als mit Inhalt versehen erkennen! Sollen wir jetzt auch noch eine Sharingapp bauen, welche die geteile Datei auf dem Handy des Freundes dann sofort/wahlweise/nie/irgendwann/nächsten Dienstag löscht ? also Snapfile erfinden ?  Oder war hier vielmehr gemeint, daß man sich selbst shared, damit die ganzen Apps was zutun haben ?

Fest steht, daß hier Geld zum Fenster hinausgeworfen wird, um Projekte zu finanzieren, die ohnehin keine Chance haben, weil die amerikanischen Startups die Idee schneller aufnehmen und umsetzen können, als deutsche Beamte den Förderantrag bearbeiten werden. Vergeßt es einfach, Eure Idee ist schon weg, bevor das erste Geld kommt !

Hat sich mal jemand die Frage gestellt, was mit der Volkwirtschaft passiert, wenn statt einer app, hunderte apps den gleichen Job machen? Nein, dann beantworte ich das mal: Einem Rudel von Investoren wird Geld dafür abgenommen, eine Reinkarnation eines bereits erfolgreichen Unternehmens zu bauen. Sollte es dem neuen Nachbau gelingen signifikante Anteile am Markt zu erobern, könnte die Strategie aufgehen und die neue Firma wird von der Alten aufgekauft. Wenn jetzt aber hundert neue Unternehmen die wenigen Marktanteile unter sich aufteilen, führt das zu einer Menge verlorenem Kapital und einer Reihe arbeitsloser Programmierer, weil die paar Kunden dem Marktführer egal sind und er die Firmen nicht aufkauft.

Volkswirtschaftlich betrachtet, ist das deswegen Schwachsinn, weil es am Ende nur Verlierer gibt. Die Firmen, die den neuen Firmen die Webservices zur Verfügung gestellt haben, müssen ihrerseits den wegbrechenden Kundenstamm kompensieren und werfen die eigens eingestellten Leute auch wieder raus. Die Kapitalgeber verlieren sowieso alles und die Entwickler in den neuen, aber alsbald liquidierten Firmen, wurden davon abgehalten mit Ihrer kostbaren Zeit etwas neues zu erschaffen, das im Gegensatz zur Reinkarnation sinnvoll ist und auf Dauer bestehen bleibt. Vielleicht die Vermieter der Lofts der kurzeitig reichen Startupgründer finden das toll, weil sie so die Mietpreisbremsen umgehen können, denn gewerbliche Vermietungen fallen ja ja nicht drunter.

Liebes BMVI, fördert doch mal etwas, was wir wirklich dringend brauchen:

Verständnis für freie Software
Den Unterschied zwischen Freier Software und Open-Source erklären
Sichere Smartphonehardware
Sichere Smartphoneupdates
Sichere Smartphonebetriebssysteme ( z.b. GNU Linux aufm Handy für Alle zur Pflicht machen)
Sichere Steuersoftware für AUTOS
Echten Datenschutz für Autofahrer
Schutz vor unsinnigen digitalen Zwangsanwendungen für Autos
Schutz vor unsinnigen EHealth Zwangsanwendungen und Datensammlungen
Schutz vor unsinnigen EPersoAusweisen und deren ebenfalls unsicher umgesetzten Zwangsanwendungen.
Schutz vor VPN/WLAN Anbietern, die Erpressern und anderen Kriminellen zur Hand gehen.
Eine Finanz-Elster die auch sauber updated !

oder am besten überhaupt mal die Pflicht der Anbieter für Ihr Produkt 2 Jahre nach Verkaufsdatum noch Updates anzubieten. Dafür könnte man ja mal Kohle rauswerfen. In dem Sinne, einen schönen Wochenstart.