[Talk-de] HTTPS auf overpass-api.de
Roland Olbricht
roland.olbricht at gmx.de
Do Mär 26 18:24:18 UTC 2015
Liebe Mitmapper,
danke für den Hinweis mit dem SSL-Zertifikat. Ich werde es auch in den
nächsten Tagen erneuern. Zu einem verantwortungsvollen Umgang mit der
Technik gehört aber auch, die Sicherheit dahinter einzuschätzen.
Ich denke, das Image der SSL-Zertifkate ist, dass sie irgendwie sicher
sind, während Seiten ohne Verschlüsselung irgendwie unsicher sind. Ich
würde das gerne detaillieren.
Die Zertifikate werden von Organisationen herausgegeben, die damit Geld
verdienen wollen. Sie sind arauf angewiesen, dass die Browser-Hersteller
sie als vertrauenswürdige Institution eintragen. Das machen
Browser-Hersteller erschreckend häufig: über 200 solcher Organisationen
stehen im Browser.
Wenn irgendeine der Organisationen sich bösartig verhält, kann sie an
einen Dritten ein Zertifkat ausstellen, mit dem er behaupten kann, der
legitime Anbieter von overpass-api.de zu sein. Um das mal zu
vergleichen: stell Dir vor Zugschaffner zu sein, und 200 verschiedene
Firmen dürfen für den Zug gültige Fahrscheine herausgeben. Nicht nur der
Betreiber, sondern 200 verschiedene Firmen. Wie wahrscheinlich ist es,
alle Schwarzfahrer zu finden? Welche Chancen hat ein Fahrgast, trotz
gutem Willen ein ungültiges Ticket zu haben, weil sein Verkäufer
unseriös war?
Man kann einwenden, dass ein Angreifer mehr tun muss: er muss den
Datenverkehr zwischen Browser und dem Webserver, auf dem die Overpass
API liegt, abfangen. Das muss er allerdings für eine unverschlüsselte
Verbindung ebenfalls. Ohne große Mühen können das z.B. Programme auf dem
eigenen Rechner (macht der Notebook-Hersteller Lenovo [1]), Dein
Zugangsprovider [2] oder im Falle eines WLANs in der Regel jeder andere
Teilnehmer im WLAN, mein Zugangsprovider oder Hosting-Anbieter oder auch
Lauscher an großen Umschlagpunkten [3]. In allen diesen Fällen haben die
Mitlauscher es geschafft, sich auch ein gültiges Zertifikat zu
verschaffen. Zwischen der Sicherheit verschlüsselter und
unverschlüsselter Verbindungen hat es also exakt keinen Unterschied gegeben.
Unberechtigte Zertifikate zu ehalten ist aber nicht nur für
Geheimdienste [2] und Anbieter suspekter Software [1] möglich, sondern
auch für Einzelpersonen [4]. Um ein Zertifkat für eine Website zu
bekommen, muss man nur in der Lage sein, eine eMail an eine Adresse wir
postmaster at overpass-api.de zu einem selbstgewählten Zeitpunkt lesen zu
können. Praktischerweise passiert das auf dem gleichen Kanal wie die
spätere Verbindung zur Overpass API per HTTPS; diesen muss man für einen
Angriff ohnehin kontrollieren können. Dazu kommen alle außerplanmäßigen
Wege, wie z.B. Geheimdienst oder Polizei oder ausreichend wichtiger
Mitarbeiter eines der Zertifikat-Herausgeber zu sein oder sich als
Geheimdienst oder Polizei oder Mitarbeiter plausibel ausgeben zu können.
Umgekehrt haben die Zertifikat-Herausgeber ein kommerzielles Interesse,
diesen Zustand so aufrecht zu erhalten. Den anderen großen Hebel haben
die Browser-Hersteller: aber auch für sie bringt es keinen Vorteil, die
Liste der Herausgeber zu verkürzen; jeder Herausgeber könnte im
Ernstfall eine Geldquelle sein, weil die Herausgeber auf das Vertrauen
der Browser-Hersteller angewiesen sind. Nutzer können das zwar
individuell überstimmen, aber die Mehrheit wird das nicht oder zumindest
nicht auf allen genutzten Rechnern tun. Es sei in den Raum gestellt,
dass sich Mozilla für Firefox ausgerechnet mit dem Community-basierten
CACert schwertut, sie in die Standardliste der vertrauenswürdigen
Anbieter aufzunehmen [5].
Möglich wäre mehr Sicherheit durchaus: letztlich läuft es daraus hinaus,
dass ich meine persönliche Quelle des Vertrauens als gesonderte Hardware
mit dem Gerät verbinde. Als Karte analog zur SIM-Karte oder als
USB-Stick, um davon zu booten.
Im Gegensatz dazu verbreitet sich mit Certificate Pinning [6] ein
Verfahren, das inhärent große Anbieter bevorzugt: man muss sich wieder
mit dem Browser-Hersteller gutstellen, damit er für die eigene Seite nur
die Zertifikate eines einzelnen Anbieters akzeptiert. In der Praxis wird
das heißen, eine Bürokratie zu durchlaufen, Geld auf den Tisch zu legen
oder eine Kombination aus beidem. Wie aussichtsreich das für die Seiten
im OSM-Umfeld ist, kann man an dem Umgang mit CACert absehen.
In der Summe heißt das also, dass ich jemandem Geld oder Zeit schenken
soll, damit er meinen Nutzern keine Angst einjagt (legal, im Gegensatz
zu [7]). Im Sinne des Komforts für den Nutzer tue ich das. Aber es soll
niemand sagen, er habe nicht gewusst, dass es keinen Sicherheitsgewinn
bringt.
Für die Quellen danke ich übrigens Fefe und der Suchfunktion in seinem Blog.
Viele Grüße,
Roland
[1]:
http://thenextweb.com/insider/2015/02/19/lenovo-caught-installing-adware-new-computers/
[2]:
http://googleonlinesecurity.blogspot.de/2013/12/further-improving-digital-certificate.html
[3]:
http://www.heise.de/newsticker/meldung/NSA-Skandal-Provider-hilft-BND-angeblich-beim-Zugriff-am-Internet-Knoten-DE-CIX-2261805.html
oder
http://www.theguardian.com/world/2014/feb/27/gchq-nsa-webcam-images-internet-yahoo
[4]:
http://arstechnica.com/security/2015/03/microsoft-takes-4-years-to-recover-privileged-tls-certificate-addresses/
[5]: http://blog.fefe.de/?ts=b25933c5
oder https://bugzilla.mozilla.org/show_bug.cgi?id=215243
[6]:
http://en.wikipedia.org/wiki/Transport_Layer_Security#Certificate_pinning
[7]: http://en.wikipedia.org/wiki/Protection_racket
[8]: z.B. http://blog.fefe.de/?q=openstreetmap
Mehr Informationen über die Mailingliste Talk-de