www.fabiankeil.de/blog-surrogat/2006/09/18/google-mail-fingerzeig.html

Fingerzeig für Google-Mail-Nutzer

Ein freundlicher Privoxy-Nutzer stellte mir in meiner Rolle als Neuzugang zum Entwickler-Teams einen Google-Mail-Account zum Testen zur Verfügung. Eigentlich ging es nur um die Suche nach problematischen Filtern, nachdem diese gefunden waren, hatte ich jedoch Gelegenheit dem Hype etwas auf den Zahn zu fühlen.

Meine in Anbetracht des Anbieters bereits recht niedrigen Erwartungen wurden noch untertroffen: Google überträgt Mails ohne Warnung unverschlüsselt zum Anwender, willkommmen in der Steinzeit.

Technologie-Demo

Als kleine Demo habe ich Privoxy den Inhalt der im Browser angezeigten Google-Mail-Inbox überarbeiten lassen. Der genutzte Privoxy-Filter:

FILTER: googlemail Hides sponsored links with css and shows why insecure mail transfer is a bad idea.
s@</head>@<style type="text/css">\#fbc, \#fbl, \#ra, .rhh{visibility: hidden !important;}</style>$0@i
s@easy( to switch to Google Mail)@stupid $1 and transfer mail unencrypted to make sure everbody is reading it@gi
s@Foo bar@Mail integrity compromised! Yay for GMail.@
s@different@insecure@

Die genutzten Sektionen in fk.action:

{-block \
 -crunch-incoming-cookies \
 -crunch-outgoing-cookies \
 -filter{content-cookies} \
 -filter{img-reorder} \
 -filter{webbugs} \
 -filter{frameset-borders} \
 +filter{googlemail} \
 -filter-client-headers \
 -filter-server-headers \
}
mail.google.com/
{+redirect{http://www.fabiankeil.de/bilder/icons/fingerzeig.png} \
}
mail.google.com/favicon.ico
{+limit-connect{443} \
}
.google.com/

Die zweite Sektion ist Kosmetik und nur für den titelgebenden Fingerzeig notwendig, die dritte Sektion wird nur benötigt, wenn man seine Privatsphäre schätzt und verschlüsselte Verbindungen nur für bestimmte Websites freischaltet.

Außerdem wurde in Firefox die Fernwartungs-Schnittstelle JavaScript aktiviert, nicht zu empfehlen, aber ohne Bezug zum unverschlüsselten Mail-Transfer.

Das Google-Mail-Team informiert ...

[Screenshot-Ausschnitt: Übersicht der empfangen Mails. Angezeigte Mailinhalte wurde während des Transfers verändert.]

Ergebnis im Vollbild: Inbox-Screenshots (144 KB), die von mir signiert gesendete und anschließend während des Transfers verfälschte Mail (134 KB). Der eigentliche Inhalt der Mail war Foo bar, die elektronische Signatur würde die Fälschung natürlich entlarven, wird von Google aber nicht ausgewertet. Ein weiterer Grund, ein richtiges Mail-Programm zu nutzen.

Erläuterungen

Die Veränderung des Mail-Inhalts erfordert natürlich, dass der Angreifer zwischen Google-Mail und dem Anwender positioniert ist. In einem unsicheren Funktnetzwerk wäre der Angriff schwieriger durchzuführen, da der Angreifer zwar mitlesen, aber nicht ohne weiteres mitschreiben kann. Das Mitlesen der Mail sollte aber bereits Grund zum Nachdenken genug sein.

Da auch Authentifizierungs-Cookies unverschlüsselt übertragen werden, würde es mich sehr wundern, wenn ein Mitleser nicht auch die Session übernehmen könnte.

Im Test wurde das Konto über Eingabe von http://mail.google.com/ in der Adress-Zeile erreicht, Google sendete darauf hin einen Redirect auf eine Anmeldungs-Seite unterhalb von https://www.google.com/, das Passwort selbst wurde verschlüsselt übertragen, nach der Authentifizierung gab es einen Redirect zurück zu http://mail.google.com/. Der Rest der Verbindung erfolgte unverschlüsselt.

Wenn man ausdrücklich https://mail.google.com/ in der Adress-Zeile eingibt, wird nach der Anmeldung auch wieder auf https://mail.google.com/ umgeleitet. Diese Umleitung erfolgt zwar verschlüsselt und kann daher von einem Mittelmann nicht einfach umgeschrieben werden, der Mittelmann kann aber unter Umständen bereits früher ansetzen.

Wenn der Browser die verschlüsselte Verbingung über einen Proxy aufbaut, reicht es aus, die erste Anfrage auf https://mail.google.com/ abzufangen (ebenfalls mit Privoxy getestet) und auf http://mail.google.com/ umzuleiten, für den Nutzer gibt es dabei zumindest von Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.0.7) Gecko/20060915 Firefox/1.5.0.7 keine Warnung, auch wenn die eingeschleuste Umleitung unverschlüsselt erfolgen muss.

Im Test war Firefox zwar bereits mit Privoxy verbunden, die Verbindung hätte bei einer unverschlüsselten Verbindung aber auch über einen transparenten Proxy erzwungen werden können. Den Angriff kann man selbstverständlich auch ohne Privoxy durchführen, unverschlüsselte Daten können auch mit tausend anderen Programmen verfälscht werden.

Erfolgsversprechende Einsatzorte: Tor-Exit-Nodes

Nach einer kleinen Tor-Modifizierung und der Erhebung eines nicht repräsentativen Datensatzes kommen ich zu dem Schluß: 0.3% der Nutzer von Zwiebelsuppe und Zwiebelkuchen wären möglicherweise angreifbar:

[fk@tor ~]$ scripts/tor-dns-log.pl /usr/jails/tor-server/usr/local/var/log/tor/notices.log 
geoip.vidalia-project.net:2546 3.77%
www.google.com:505 0.75%
www.showmyip.com:447 0.66%
fxfeeds.mozilla.com:401 0.59%
newsrss.bbc.co.uk:359 0.53%
www.google.de:307 0.45%
www.google-analytics.com:295 0.44%
addons.mozilla.org:197 0.29%
mail.google.com:192 0.28%
us.i1.yimg.com:174 0.26%
book.hapagfly.com:161 0.24%
sb.google.com:141 0.21%
forecastfox.accuweather.com:137 0.20%
fxfeeds.mozilla.org:132 0.20%
tracker.hkorz.com:129 0.19%
counter3.blog.sina.com.cn:122 0.18%
us.bc.yahoo.com:122 0.18%
4.adbrite.com:118 0.17%
us.js2.yimg.com:118 0.17%
feeds.feedburner.com:112 0.17%
aus2.mozilla.org:110 0.16%
sirocco.accuweather.com:106 0.16%
www.tagesschau.de:104 0.15%
Total:67482
[fk@tor ~]$ scripts/tor-dns-log.pl /usr/jails/tor-server-2/usr/local/var/log/tor/notices.log 
geoip.vidalia-project.net:2503 3.86%
www.google.com:487 0.75%
www.showmyip.com:426 0.66%
fxfeeds.mozilla.com:354 0.55%
newsrss.bbc.co.uk:342 0.53%
www.google.de:300 0.46%
www.google-analytics.com:277 0.43%
mail.google.com:197 0.30%
us.i1.yimg.com:165 0.25%
fxfeeds.mozilla.org:154 0.24%
addons.mozilla.org:151 0.23%
tracker.hkorz.com:144 0.22%
sb.google.com:135 0.21%
us.js2.yimg.com:125 0.19%
counter3.blog.sina.com.cn:119 0.18%
us.bc.yahoo.com:117 0.18%
forecastfox.accuweather.com:113 0.17%
Total:64807

Hohoho.