Skip to content

Thomas L. Kemmerich und der Datenschutz

Kürzlich stolperte ich über einen Tweet des Spitzenkandidaten der FDP, Thomas L. Kemmerich. Darin steht »Bei der DSGVO haben wir Maß und Mitte verloren. Hier muss Datenschutz bedeutend praxisnäher gestaltet werden für Fußballvereine, Ehrenamt und Handwerker. […]« Das wirft natürlich die Frage auf, wie er und sein Unternehmen es damit halten.

Kemmerich ist Vorstandsvorsitzender der Friseur Masson AG. Also besuchte ich die Webseite des Unternehmens und schaute mich dort um. Im Hintergrund lasse ich ein kleines Plugin laufen, welches mir Anfragen an andere Seiten anzeigt. Der weiße Punkt in der Mitte ist der Aufruf der Originalseite. Die Dreiecke weisen darauf hin, dass meine Daten noch an weitere Webseiten weitergegeben wurden. Insgesamt waren es 19 fremde Seiten. Darunter sind Unternehmen wie Facebook, Google, Doubleclick, Squarespace usw.

Was sagen denn die Datenschutzhinweise auf der Webseite? Laut der Datenschutz-Grundverordnung (DS-GVO) müssen Kontaktdaten des Verantwortlichen und die des Datenschutzbeauftragten (DSB) genannt werden. Doch die Kontaktdaten eines DSB sucht man auf der Seite vergebens. Heißt das, dass kein DSB benannt wurde? Die Friseur Masson AG wies im Jahresabschluss vom Jahr 2017 eine Zahl von 160 Beschäftigten aus. Das BDSG fordert schon ab 10 Personen, die ständig mit der automatisierten Verarbeitung personenbezogener Daten beschäftigt sind, eine solche Position. Da scheint es schwer vorstellbar, dass bei 160 Beschäftigten keine solche Pflicht anfällt.

Die Datenschutzhinweise gehen auf eine Weitergabe der Daten an Instagram und Google Maps ein. Ich konnte weder eine Erwähnung von Facebook, Google, Doubleclick, Alphabet, Squarespace oder anderen finden. Das heißt, ein argloser Besucher, der sich über die Datenverarbeitung informieren will, bekommt hier nur sehr halbherzige Informationen.

Das Analysewerkzeug Webkoll findet insgesamt 111 Anfragen an 17 eindeutige Rechner und 6 Cookies von fremden Quellen. Über all das schweigen sich die Datenschutzhinweise aus. Da muten sich die schwachen Algorithmen bei der TLS-Verschlüsselung fast wie eine Lappalie an.

Natürlich muss der obligatorische Satz in den Datenschutzhinweisen nicht fehlen:

Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. 

Wie ernst das zu nehmen ist, muss jeder für sich selbst entscheiden. Herr Kemmerich hat mit dem Tweet ein Indiz gegeben, wie ernst er es selbst mit dem Datenschutz meint.

Call for action: Please send me an encrypted file

tl;dr: Please encrypt a file and send it to me together with a (short) description, how I can make it readable for me.

Everyone is talking about encryption and nobody does it. This is a short summary of my initial asumption. Did you ever try to encrypt a file and to send it someone? How did you do it?

This is a fairly simple and basic task which you can present in a beginner’s course:

Assume another person uses a public computer (Internet cafe, library, etc.). You want to send a file to this person and keep the content confidential to other people. Encrypt a file on your computer and send it to the person.

I ask myself how you would do it. Thatswhy I decided to conduct a little experiment: Dear reader, please encrypt a (no so big) file and send it to me (via mail to enc2018@kubieziel.de, you can use my PGP key if you like, comment this post or use some other means to contact me). Add some information which to decrypt the file. You have no idea how to do this? I desperately want to know about it. Please write a mail or leave a comment. You tried and failed? I desperately want to know about it. Please write a mail or leave a comment. I would like to know how easy or hard this task is.

I plan to analyse the data on a anonymous basis and will introduce some tools in later posts.

Aufruf: Schick mir eine verschlüsselte Datei

tl;dr: Bitte verschlüsselt eine Datei und schickt mir diese zusammen mit einer (kurzen) Beschreibung, wie ich die lesbar mache.

Alle Welt redet von Verschlüsselung und keiner macht es. So könnte man meine These kurz zusammenfassen. Habt ihr schonmal versucht, eine Datei zu verschlüsseln und diese jemand anderem zuzusenden? Wie habt ihr dies angestellt?

Aus meiner Sicht ist das eine einfache, grundlegende Aufgabe, die man in jedem Anfängerkurs stellen könnte:

Stelle dir vor, dein Gegenüber nutzt einen öffentlichen Computer (Internetcafe, Bibliothek etc.). Du möchtest mit diesem eine Datei austauschen, deren Inhalt nur ihr beide kennt. Verschlüssele eine Datei auf deinem Rechner und übermittle diese an dein Gegenüber.

Ich frage mich nun, wie ihr das machen würdet. Daher habe ich mich zu einem kleinen Experiment entschlossen: Liebe Leserinnen und Leser, bitte verschlüsselt eine (nicht allzugroße) Datei und schickt mir diese zu (per E-Mail an enc2018@kubieziel.de, hinterlasst einen Kommentar oder kontaktiert mich anderweitig) . Legt ein paar Informationen bei, wie ich die wieder entschlüsseln kann. Ihr wisst nicht, wie ihr das machen könnt? Schreibt mir bitte unbedingt eine Mail an enc2018@kubieziel.de oder hinterlasst unten einen Kommentar und erzählt mir davon. Ihr habt es probiert und seid daran gescheitert? Schreibt mir bitte unbedingt eine Mail an enc2018@kubieziel.de oder hinterlasst unten einen Kommentar und erzählt mir davon. Ich würde gern wissen, wie einfach oder schwierig dies für euch ist.

Ich plane, die Umfrage später anonymisiert auszuwerten und ggf. in weiteren Beiträgen verschiedene Werkzeuge vorzustellen.

 

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

Tester für die Zensurumgehung Lantern gesucht

Wer Zensurmaßnahmen erfolgreich umschiffen will, benötigt zahlreiche, verschiedene Werkzeuge. In jedem Land mit ausgeprägter Internetzensur gibt es auch ein Wettrennen zwischen den Zensoren und Zensierten. Ein vergleichsweise neues Werkzeug ist Lantern.

Lantern ist eine Software, die auf Java basiert und sich noch in der Testphase befindet. Die Software unterscheidet anfangs, ob Zensierten der Zugang erlaubt werden soll oder ob man selbst Informationen abrufen will. Im ersten Fall leitet die Software den Netzverkehr Fremder über die eigene Internetverbindung. Damit können diese das Internet frei (also genauso frei wie ihr) nutzen. Im zweiten Fall nutzt ihr die Verbindung anderer.

Zur Verbdinung der Benutzer nutzt Lantern Google. Die Software baut ein Vertrauensnetz der Nutzer auf. Dazu muss sich jeder bei Google einloggen und den anderen als Freund markieren. Den Rest macht Lantern im Hintergrund.

Das Projekt hat vor kurzem die fünfte Betavariante herausgegeben und möchte nun ihren Dienst mit mehr Nutzern testen. Falls ihr also freie Kapazitäten habt, registriert euch für die Betaversion auf der Webseite und testet dann die Software. Eventuell helft ihr Leuten da draußen, wieder ein neues Werkzeug zu benutzen und Informationen frei abzurufen.

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.

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"
tweetbackcheck