Skip to content

Wie funktioniert eigentlich Heartbleed

Lest ihr regelmäßig Bugreports oder Meldungen über Schwachstellen bei SSL/TLS? Wie fühlt ihr euch so? Zur Erinnerung:

SSL added and removed here!
Ausschnitt aus einer Folie aus dem MUSCULAR-Programm der NSA

Das heißt, drei Monate in Folge gab es schwere Sicherheitslücken in Software zur Verschlüsselung. Ganz unwillkürlich fühlt man sich an die Folien aus dem NSA-Programm MUSCULAR erinnert.

Die letztgenannte Schwachstelle ist vermutlich die bislang schwerste. Denn damit ist es möglich, den Arbeitsspeicher eines Computers auszulesen. Dies funktioniert sowohl auf der Seite des Servers wie auch beim Clientprogramm. Dazu ist es notwendig, dass das Programm OpenSSL verwendet und eine Erweiterung von SSL namens Heartbeat aktiviert hat. Dies ist beispielsweise bei Android in der Version 4.1.1 der Fall. Mozilla Firefox hingegen nutzt die NSS-Bibliothek und ist nicht betroffen. Die Webserver nutzen hingegen recht oft die OpenSSL-Bibliothek und sind damit betroffen, falls die Version 1.0.1 bis 1.0.1f von OpenSSL verwendet wird. Sollte jemand von euch die Software nutzen, so upgraded auf mindestens 1.0.1g oder deaktiviert Heartbeat in OpenSSL. Gerade letzteres kann man aus meiner Sicht problemlos tun. Denn bisher fand ich keinen sinnvollen Anwendungsfall für Heartbeat.

Doch wie funktioniert diese Lücke eigentlich? Heartbeat (RFC 6520) ist eine Erweiterung für TLS. Ein Teilnehmer einer Verbindung sendet beliebige Daten an den Empfänger. Dieser antwortet mit einer Kopie dieser Daten und zeigt somit, dass die Verbindung noch steht und alles in Ordnung ist. Das Problem dabei ist, dass in einer Anfrage zwei Längenfelder vorhanden sind. Ein Angreifer sendet einfach ein Byte Daten und behauptet, er hätte 64 kB gesendet. OpenSSL liest nun die 64 kB aus dem eigenen Puffer und sendet die Daten zurück an den Angreifer. Der Angreifer kann den Angriff immer und immer wieder starten und erhält so eventuell immer wieder ein neues Stück Arbeitsspeicher (siehe Kommentar von Florian Diesch). Bruce Schneier hat mit seinen Worten vollkommen recht:

Catastrophic" is the right word. On the scale of 1 to 10, this is an 11.
https://www.schneier.com/blog/archives/2014/04/heartbleed.html

Ich hatte in meinem 30C3-Vortrag schon ein OpenSSL-Beispiel reingenommen. Das sollte zeigen, wie kompliziert es sein kann, mit der Software sicheren Code zu schreiben. Auch andere sind, über die Codequalität gestolpert. Daher sind Leute gefragt, die einen detaillierten Blick auf OpenSSL werfen und die Software verbessern. Dazu zählt auch die bessere Lesbarkeit des Codes oder gute Dokumentation.

Wenn ihr wissen wollt, ob ihr betroffen seit, schaut lokal auf die OpenSSL-Version, nutzt die Zeile openssl s_client -connect example.com:443 -tlsextdebug 2>&1| grep ‘server extension “heartbeat” (id=15)’ || echo safe oder verwendet den Testservice von Lutz Donnerhacke oder Filippo Valsorda.

Weiterlesen:

Passwort und Nutzername im Dump der Daten von Yahoo! Mail

Spamschutz bei S9Y

Im Hintergrund tut Serendipity oder kurz S9Y seinen Dienst. Vor mehr als sieben Jahren stieg ich von Wordpress auf die Software um. Die Software tut im wesentlichen ihren Dienst. Außer, wenn wie heute, ein Plugin merkwürdige Sachen macht.

Ich hatte bis heute abend das Autosave-Plugin installiert. Das speichert die Einträge zwischen und soll eigentlich vor Datenverlust schützen. Bei mir sorgte es dafür, dass die Rezension mehrfach verschwand. Der Grund war, dass ich auf Speichern im Artikelfenster drückte und das Fenster offen liess. Das Plugin wollte einfach alte Werte speichern und löschte so den Beitrag.

Seit dem Jahreswechsel bereitet mir nicht die Blogsoftware Kopfschmerzen, sondern der Spam der eintrudelt. Anfangs hatte ich den Spamschutz aktiviert, den S9Y von Haus aus mitbringt. Dazu setzte ich ein paar Worte auf die Blacklist. Das reichte aus. Nebenan im Datenkanal habe ich noch das Bayes-Plugin im Einsatz. Das wurde von Beginn an angelernt und verrichtet gute Dienste.

Das S9Y Infocamp hat sich nun dem Thema Spamschutz bei S9Y angenommen. In dem Podcast besprechen sie verschiedene Mechanismen. Dabei kommt die Rede auf die SpamBee. Die arbeitet unter anderem mit versteckten CAPTCHAs. Die vier Podcaster sind voll das Lobes. Ich habe den Podcast glücklicherweise zur rechten Zeit gehört. Denn direkt nachdem ich die Biene hier installierte, traf das Blog eine Spamwelle. Von den Lesern hat das vermutlich niemand bemerkt. Die Spambiene hat den Spam wirklich sehr gut abgefangen. Wer also da draußen mit Spam bei S9Y zu kämpfen hat, sollte unbedingt SpamBee probieren. Vermutlich bringt das Plugin Linderung.

Dritte Auflage von »Anonym im Netz«

Der Verlag Open Source Press twitterte soeben: »Neuauflage mit #JonDo-Live-CD für anonymes surfen, mailen, chatten! “Anonym im Netz” (J.Kubieziel) jetzt lieferbar.« Damit ist nun die dritte Auflage meines Buches »Anonym im Netz« draußen. Ich habe die Inhalte wieder aufpoliert, die Struktur einiger Kapitel angepasst. Aber die größte Neuerung ist eine beigelegte CD. Die JonDo Live-CD hat alle wichtigen Anonymisierungsdienste vorinstalliert. Der Leser legt die einfach in das CD-Fach und kann sofort ausprobieren. Ich hoffe, das Buch findet wieder großen Anklang. Solltet ihr Fehler finden, schreibt mir eine E-Mail oder hinterlasst hier einen Kommentar. Die Fehler werden dann in der folgenden Ausgabe ausgebessert. :-)

Neue Ideen zur Internetüberwachung

Zwischen den Feiertagen werden ja gern mal unausgegorene Ideen in die Welt hinaus geblasen. So fühlt sich die Meldung an, die bei ZEIT Online zu lesen war: Kinderporno-Fahndung bei allen Internetnutzern. Kai Biermann schreibt dort, dass die Initiative White IT die Internetanbieter dazu bringen will, selbst auf die Suche nach Mißbrauchsbildern gehen soll. Dazu gibt es eine Datenbank, in der alle Bilder vermerkt sind und zu jedem Bild existiert eine Prüfsumme (Hash). Der Internetanbieter berechnet seinerseits die Prüfsumme von Bildern aus dem Datenstrom seiner Kunden. Falls es eine Übereinstimmung mit dem Eintrag in der Datenbank gibt, so schlägt die Software Alarm.

Doch wie sinnvoll ist eine derartige Idee? Oberflächlich betrachtet klingt das vielversprechend. Aber schaut euch mal die vier Bilder unten an. Entdeckt ihr einen Unterschied?

>

Die Prüfsummen (SHA-224) der Dateien sind 7fab23221b7a000ec0ab18431d58e2e58c16e3093bbf54084f22e802, c33230b4341d8b1f08a90382e27a145dff1d8208b5c25195674ee2e8, 69ff77157382503ae68d1cf4354034b640c7593465e383a0db51df9b und 87426dcee42ceb7f507eac515f5620bcb359364405a0abbd240364d8. Also rein technisch sind diese verschieden. Der Screenshot wurde in verschiedenen Formaten gespeichert und mit unterschiedlichen Qualitätsstufen. Wenn man das Spiel weitertreibt, könnten mehrere tausend (eventuell sogar Millionen) Varianten des Bildes angefertigt werden, die alle gleich aussehen, aber unterschiedliche Prüfsummen besitzen. Das Prüfprogramm müsste eben alle diese Varianten kennen oder die Änderungen intelligent erkennen. 

Aber selbst im letztgenannten Falle bieten sich derartig viele Möglichkeiten, dass Erkennungsprogramm zu umgehen, das die Idee besser schnell wieder beerdigt gehört. Denn während bei der Vorratsdatenspeicherung  „nur“  auf die Verbindungsdaten zugegriffen wurde, schauen hier beliebige Internetanbieter direkt in die Inhalte der Kommunikation hinein. Der Plan geht also wieder einen Schritt weiter in Richtung Vollüberwachung.

Fingerprints von SSL-Seiten prüfen

Das Desaster um die niederländische Zertifizierungsstelle DigiNotar zieht derzeit immer noch seine Kreise. Mir scheint es noch zu früh, um hier etwas dazu zu schreiben. Vielmehr will ich ein paar Worte verlieren, wie ich „meine eigene CA betreibe“. Denn schon seit längerem vertraue ich nicht, den von den Browsern mitgelieferten Zertifizierungsstellen (CA). Zumeist lösche ich alle und gebe dann einzeln Vertrauen.

Der beste Weg, um einem SSL-Zertifikat zu vertrauen, wäre, sich bei dem Betreiber zu melden und über einen sicheren Kanal den Fingerprint des Zertifikats zu klären. Mein Browser zeigt mit für die Seite Wikipedia-SSL-Seite den Fingerprint (SHA-1) BA:8A:BE:34:B1:34:3B:AF:06:05:4B:48:A9:27:AA:D9:B4:75:45:6E an. Wenn ich bei der Wikipedia anrufe und diese mir denselben nennen, so habe ich das korrekte Zertifikat. Dabei nehme ich natürlich an, dass das Telefon ein sicherer Weg zum Austausch der Informationen ist. Aber beispielsweise druckt die lokale Sparkasse eben diesen Fingerprint auf ihre Dokumente. Damit kann ich das als Kunde leicht verifizieren.

Wie das Beispiel Wikipedia aber schon zeigt, ergibt sich da ein Problem.Woher bekomme ich den Fingerprint? Muss ich bei Jimmy Wales direkt anrufen oder gar nach FloridaKalifornien¹ reisen? Hier kam nun meine Idee ins Spiel.

Ich habe auf diversen Servern einen Zugang, d.h. ich kann mich von der Ferne einloggen und dann dort arbeiten. Die Rechner stehen in verschiedenen Netzen und zum Teil auf verschiedenen Kontinenten. Nun logge ich mich auf den Servern ein, lade das Zertifikat herunter und lasse mir den Fingerprint anzeigen. Wenn dieser auf allen Rechner gleich ist, dann gehe ich davon aus, dass ich das korrekte Zertifikat angezeigt bekomme. In dem Fall akzeptiere ich das und vertraue dem. Sollten die Fingerprints abweichen, dann akzeptiere ich das nicht und recherchiere dem in der Regel ein wenig hinterher.

Jörg Sommer hat das nun ein wenig automatisiert und ein zsh-Skript (Quelltext weiter unten) geschrieben. Das wird folgendermaßen aufgerufen:

ssl-fp-check [-l] sslsi.te[:port] ssh1 [ssh2] [ssh3] ...

Dabei ist sslsi.te die Webseite, die geprüft werden soll. Ohne die Angabe eines Ports verwendet das Skript standardmäßig 443. Danach wird eine oder mehrere SSH-Verbindungen angegeben. Das Skript wird nun versuchen, sich überall einzuloggen und gibt dann den Fingerprint aus. Für den Fall, dass es auf dem Zielsystem kein OpenSSL gibt, existiert die Option -l. Dabei wird dann ein Tunnel gebaut und das lokale installierte OpenSSL verwendet.

Also für Wikimedia habe ich folgendes eingeben:

ssl-fp-check secure.wikimedia.org a b c d
a: SHA1 Fingerprint=BA:8A:BE:34:B1:34:3B:AF:06:05:4B:48:A9:27:AA:D9:B4:75:45:6E
b: SHA1 Fingerprint=BA:8A:BE:34:B1:34:3B:AF:06:05:4B:48:A9:27:AA:D9:B4:75:45:6E
c: SHA1 Fingerprint=BA:8A:BE:34:B1:34:3B:AF:06:05:4B:48:A9:27:AA:D9:B4:75:45:6E
d: SHA1 Fingerprint=BA:8A:BE:34:B1:34:3B:AF:06:05:4B:48:A9:27:AA:D9:B4:75:45:6E

Die SSH-Server a, b, c und d gaben also denselben Fingerprint aus. Also würde ich dem ganzen doch vertrauen. :-)

Ich werde das Skript jetzt wahrscheinlich immer verwenden. Es macht das Leben doch deutlich einfacher.

Continue reading "Fingerprints von SSL-Seiten prüfen"

Firefox Add-On Ant Video Downloader spioniert Nutzer aus

Ein Add-On für den Firefox, welches 4 von 5 Sternen hat und von mehr als sieben Millionen Nutzer installiert wurde, sollte doch halbwegs vertrauenswürdig sein. Zumindest legt Linus’ Law diese Erkenntnis nahe. Das Add-On Ant Video Downloader straft diese Annahme nun Lügen.

Der Ant Video Downloader soll Videos von Youtube, Facebook und vielen anderen Seiten auf einfache Weise herunterladen. Daneben hat die Software noch einen anderen Zweck. Sie sammelt Daten über jede Seite, die der Benutzer besucht. Dazu wird eine eindeutige Nummer, die so genannte Ant-UID, angelegt. Wenn eine Webseite aufgerufen wird, sendet Ant eine zweite Anfrage mit eben dieser Nummer, der URL der aufgerufenen Seite sowie der Browserkennung an die Adresse rpc.ant.com.  Somit kommt dort jeder Seitenaufruf (also auch interne URLs im privaten Netzwerk) an, den ihr jemals gemacht habt. Damit aber noch nicht genug. Bei der Deinstallation der Software wird die Informationen mit der eindeutigen Nummer, der Ant-UID, behalten. Wenn ihr die Software später neu installiert, wird genau dieselbe Nummer wieder verwendet. Das ist also eine massive Verletzung der Privatsphäre der Nutzer.

Wie ein Witz klingt da die Privacy Policy von Ant.com:

As a responsible member of the community of website owners, Ant.com solutions (Here in after Ant.com) takes the privacy and security of its users with the highest regard.

Insgesamt finde ich in der Policy keinen Hinweis auf diese Spionagemaßnahme. Glücklicherweise haben die Betreiber der Add-On-Seite die Notbremse gezogen. Zunächst wurde der Download der Software komplett deaktiviert und jetzt ist diese als experimentell gekennzeichnet. Damit sollten nur erfahrenere Nutzer diese installieren können.

Das Beispiel zeigt mal wieder, das man sich offensichtlich auf keine Software verlassen kann und insbesondere das die Warnungen bezüglich der Add-Ons sehr ernst zu nehmen sind.

via InterWeb Task Force und The Register

Schweigen ist Gold

Eine alte Redewendung besagt: „Reden ist Silber, Schweigen ist Gold.“ Gerade im Hinblick auf polizeiliche Ermittlungen ist dieser Hinweis wirklich Gold wert.

Auf dem 23C3 begeisterte der Rechtsanwalt Udo Vetter viele Zuhörer mit seinem Vortrag Sie haben das Recht zu schweigen. Er gab damals einige Hinweise, wie man sich bei einer Hausdurchsuchung verhalten soll. Der mit Abstand wichtigste Hinweis fand sich schon im Titel.

Einige Zeit später stieß ich auf ein Video eines amerikanischen Professors (siehe unten). Auch er erklärte seinen Zuhörern, warum es beim Kontakt mit den Polizeibehörden wichtig ist, nichts zu sagen. Dabei ging er recht methodisch vor und machten an verschiedenen Profilen (Schuldige, Unschuldige, Lügner, Ehrliche etc.) klar, dass niemand einen Vorteil hat, ohne Anwalt mit den Behörden zu reden. Der Vortrag wurde von einem Ermittler ergänzt, der seine Rede mit einer vollumfänglichen Bestätigung des Vorredners begann.

Dennoch hat sich diese Erkentnis noch nicht herumgesprochen und sogar hochrangige Personen tappen in die Falle. Der aktuelle The New Yorker beschreibt die Geschichte von Thomas Drake, einem Ex-NSA-Mitarbeiter und Whistleblower. Drake misfiel die enorme Geldverschwendung der Behörde sowie die Unrechtmäßigkeit der Abhörmaßnahmen. Nachdem er intern keinen Erfolg mit seinen Beschwerden hatte, wandte er sich an die Medien. Durch die Berichte in der Baltimore Sun kam es zu Ermittlungen und er wie einige andere stand im Fokus von Ermittlungen. Bei einer Hausdurchsuchung machte er dann wohl einen entscheidenden Fehler:

…, he viewed the raid as a fresh opportunity to blow the whistle. He spent the day at his kitchen table, without a lawyer, talking. […] He also disclosed his computer password.

Insgesamt kooperierte Drake lange Zeit mit den Behörden und versuchte sich dadurch einen Vorteil zu verschaffen. Mittlerweile ist das Ausmaß seiner „Verbrechen“ klar. Laut Anklageschrift soll er fünf geheime Dokumente entwendet und die Behörden belogen haben. Interessanterweise hatte eines der Dokumente keinerlei Sicherheitseinstufung. Nach der Anklage war das falsch eingestuft und hätte geheim sein müssen. Die Schrift behauptet, das hätte er  wissen müssen. Ein zweites Dokument wurde drei Monate nach der Anklage deklassifiziert, also als nicht geheim erklärt. Dafür erwartet ihn unter Umständen eine Strafe von 35 Jahren im Gefängnis. Bei der Anklage ist der Punkt mit der Lüge interessant. Denn wie der oben erwähnte Professor schon ausführte, kann eben genau das passieren, wenn man sich mitteilt. Das heißt, erzählt man etwas, dass sich später als unwahr herausstellt bzw. die Ermittler der Meinung sind, dass es unwahr ist, so führt das zu einem Extra-Anklagepunkt.

Aber selbst wenn sich jemand vornimmt, nichts zu sagen, so dürfte das in der realen Situation schwierig sein. Zum einen ist eine Hausdurchsuchung für die meisten eine sehr ungewohnte, belastende Lage. Hier wird es schwer, sich an seine „Vorsätze“ zu erinnern. Zum anderen beschreibt der oben genannte Ermittler die Verhältnisse ganz gut. Er sagt: „Stellen Sie sich vor, ein Normalbürger steigt mit einem Profiboxer in den Ring. Wer wird den Kampf gewinnen?“ Der Profiboxer ist in dem Fall der Ermittler, der eine umfassende Ausbildung darin bekommen hat, wie er Menschen zum Reden bekommt. Aber wer von euch hatte schon eine Ausbildung im Schweigen? :-) Der Ermittler beschreibt auch sehr schön die diversen Tricks, mit denen er sein Ziel erreicht.

Solltet ihr mal in eine solche Situation kommen, dann antwortet einfach auf jede Anfrage eures Gegenübers mit dem Satz: „Bitte nehmen Sie zur Kenntnis, dass ich keine Aussage machen möchte“ (frei nach den Worten von Udo Vetter). Hoffentlich wird dann alles gut. ;-)

Continue reading "Schweigen ist Gold"
tweetbackcheck