CoronaChroniken: CVE für die Corona API von iOS und Android

Liebe Maskierte,

die meisten Leser, die wegen Corona hier sind, werden CVE-Nummern nicht kennen. Diese werden in der IT vergeben, wenn eine Sicherheitslücke gefunden wurde. Zu der Nummer gehört dann auch eine Risikoeinschätzung. Für die Corona-Melde-Api in iOS und Android wurde so eine Nummer beantragt, vergeben und bewertet.

CoronaChroniken: CVE für die Corona API von iOS und Android

Letzte Nacht erreichte uns auf der Full-Disclosure Mailingliste eine entsprechende Meldung von Dirk-Wilhelm van Gulik:

CVE-2020-24721: (Corona) Exposure Notifications API for Apple iOS and Google Android risk of coercion/data leakage post notification  / CVSS v3.1 score: 5.9

Die Schwachstellen wurden als „Mangel zum Schutz gegen Zwang“ und ein Informationsleck beschrieben, kurz zusammen gefasst: Selbst wenn die App gelöscht wird, wird in dem Teil des Betriebssystems in dem die ganze Technik für das Senden und Empfangen der Bluetooth untergebracht ist, der letzte Zustand gespeichert, weil die Anwendung darauf keinen Zugriff hat. Das bedeutet, ist die App einmal drauf und hat aktiv Daten gesendet oder empfangen, kann man das letzte Ergebnis nicht mehr vom Handy löschen. Damit kann ich nicht verhindern, daß jemand z.b. meine Aussendung „Ich bin ein Coronainfizierter“ aus dem (beschlagnahmten) Handy auslesen kann. Gleiches gilt für den Umstand, das man einen Hinweis eingeblendet bekommen hat, daß man einem Infizierten begegnet ist. Das widerspricht natürlich dem Gedanken, daß man seinem Handy trauen kann.

Bei Android und iOS gibt es implementierungsabhängige Abweichungen, aber im Prinzip leiden beide unter dem gleichen Problem. Eine Lösung, außer niemals die Apps zu benutzen, gibt es leider für Euch nicht, denn nur Google und Apple können das Problem lösen.

An die 16 Millionen die es schon installiert haben: Ihr seid gewarnt worden! Selbst Schuld.

Verursacht wird dies, weil das Handy immer die gleichen Identifikationsmerkmale erzeugt, die müssen ja schliesslich eindeutig sein, und dies natürlich auch dann tut, wenn jemand anders die App wieder installiert. Die Datensammlung scheint ~30 Tage lang zu laufen, also erst nach dieser Zeit kann man sicher sein, daß zumindest keine „Sie sind einem Coronainfizierten begegnet“ Meldungen mehr kommen. Das andere Problem ist nicht lösbar, außer die Daten werden im internen Speicher des OS gelöscht. Da hilft dann nur der Factory-Reset.

Nun ist das bereits im Januar bekannt geworden, weil es ein Systemimmanentes Problem ist (sieht Zeitstrahl unten). Warum die Apps trotzdem gemacht wurden und Google und Apple nichts dagegen getan haben, überlasse ich mal Eurer Fantasie, sofern Ihr welche habt. Auch wenn die Hinweise aus Holland kommen, die in den Handies verbauten Frameworks sind immer die gleichen, also gilt das auch für unsere deutsche App.

Glücklicherweise, wurde die App ist ja laut Amtsärzten derzeit als zweckfrei angesehen, also löscht die jetzt einfach und hofft darauf, daß Ihr in den nächsten 30 Tagen nicht von jemandem gezwungen werdet, sie erneut zu installieren.

Für Interessierte:

Variations of this flaw have been documented by the DP3T team in their academic paper. It was found it the Apple/Google implementations during the build of the dutch ‚Corona Melder‘ app (https://github.com/minvws).

2020-01-18 first known description of this class of issues
2020-04-03 first paper by DP3T team published.
2020-05-06 confirmation of this issue with Google
2020-05-07 confirmation of this issue with Apple
2020-08-13 final written/formal questions sent on request (#115 and 115.bis) as a vulnerability report.
2020-08-13 confirmation vendor. 2020-08-27 CVE issues by MITRE
2020-09-13 Request vendor to provide CVE/start FD.
2020-09-15 Versions under embargo sent to google/apple. Confirmation of receipt and reference # for both received.
2020-09-15 Full disclosure timeline setting process started.
2020-09-22 Reminder to google/apple & request to submit their preferred timeline/disclosure approach.
2020-09-25 Deadline to provide timeline preferences and feedback passed.
2020-09-29 Vendor informed that public disclosure is imminent.

 

 

Fedora: Die DNS Geschichte trägt Früchte

Wer die Mailingliste von Fedora-Devel gelesen hat, wird es mit bekommen haben: Das Thema systemd-resolved & DNS trenden enorm.

Fedora: Die DNS Geschichte trägt Früchte

Als eine Konsequenz der Diskussion wurde ein Änderungsvorschlag der DNS Gruppe von Michael Catanzaro eingereicht, daß systemd-resolved ab sofort mit einem optimistischen DoT aktiviert wird, also DNS-over-TLS, dem älteren Bruder von DNS-over-HTTPS ( DoH ).

Das meint für den Benutzer, wenn ein eingestellter DNS Server DoT unterstützt, und das findet man leicht mit einem Connectversuch auf den passenden Port 853 heraus, soll automatisch die Verschlüsselung benutzt werden. Das ist natürlich aus Datenschutzgründen zu bevorzugen.

Der Nachteil der Sache ist leider, daß die DNS Anfragen nicht ganz so schnell kommen, wie man das gewohnt ist, weil ja mehr Daten und Verschlüsselung im Spiel sind. Es ist aber ein Weg in die richtige Richtung.

Ein bisschen laut Lachen mußte ich allerdings bei der Passage:

== Benefit to Fedora ==

DNS queries are encrypted and private by default, if the user’s ISP supports DoT. Most probably don’t, but users who manually configure a custom DNS server (e.g. Cloudflare or Google) will automatically benefit from DNS over TLS.

Ausgerechnet die beiden DNS Server zu empfehlen, die das Privatsspährenproblem im systemd-resolved sind, ist schon eine Farce 😀

 

Systemd: resolved verkauft User u.U. an Google und Cloudflare

Was so alles ans Licht kommt, wenn man Mailinglisten verfolgt. Quasi in einem Nebensatz hat Herr Pöttering kurz mal erklärt, daß systemd gegen die DSGVO verstößt.

Systemd: resolved verkauft User u.U. an Google und Cloudflare

Die DSGVO legt fest, daß alle Systeme die zum Einsatz kommen, in einer datenschutzfreundlichen Voreinstellung daher kommen müssen. Merkt Euch das mal für später.

Hier erstmal ein Auszug aus dem Posting von Herrn Pöttering:

„Also, people would react very allergic if we’d start sending all DNS traffic to google or so. I mean, you can’t believe how pissed people are that we have a fallback in place that if no DNS servers have been configured at all or acquired via DHCP we fall back to Cloudflare + Google DNS servers. Downstream distros (Debian…) tend to patch that fallback out even…“ (Fedora ML, 29.9. 10:19)

Meint auf deutsch:

„Außerdem würden Menschen sehr allergisch reagieren, wenn wir anfangen würden, alle DNS Verkehr zu googlen oder so. Ich meine, Sie werden es nicht glauben, wie sauer die Leute sind, dass wir einen Fallback haben, der, wenn überhaupt keine DNS-Server konfiguriert sind oder über DHCP erworben werden, greifen wir auf Cloudflare + Google DNS-Server zurück. Downstream-Distributionen (Debian…) neigen dazu, das sogar raus zupatchen …“

Oh, ja, da reagieren wir Menschen allergisch drauf, weil das einen Verstoß gegen den Datenschutz darstellt. Die Debinaleute sehen das ganz richtig. Man kann nicht einfach heimlich am Benutzerwunsch oder Adminunvermögen hinweg Daten an Google oder Cloudflare schicken. Wenn das in einer Firma, einem Verein oder einer Behörde passieren würde, dann wäre das ein DSGVO Verstoß der bestraft würde! Scheinbar hat hier jemand die Jahre 2016-2019 verschlafen, als die EU Gerichte mit so etwas aufgeräumt haben. Zur Erinnerung: US Privacy Shield .. zusammengebrochen, Facebook droht mit Rückzug aus der EU, Google & MS verlegen Ressourcen in die EU, damit sie weiter im Spiel bleiben können und dann kommt ein Systemd daher, der die DSGVO unterminiert.

Man stelle sich mal vor, eine größere Firma in der auch Linux als Desktop zum Einsatz kommt und dann steht in irgendsoeiner hart gecodeten .so drin, sie soll Google kontaktieren. Für alle die nicht wissen, was Datenschutz in Firmen heutzutage bedeutet:

  1. Zuerst muß man mal ermitteln wohin was für Daten abfließenund wen das genau betrifft
  2. Dann muß man eine Datenschutzfolgeabschätzung dafür machen
  3. Dann muß man geeignete Schutzmaßnahmen ergreifen.
  4. Das muß als Vorgang mit laufender Nummer in die Datenschutzmappe eingetragen werden.

Jetzt habe ich als Admin also einen DNS Cache für die Firma hingestellt und per DHCP teile ich dieses DNSCache allen PCs mit. Die PCs fragen also meinen DNS Cache und der fragt dann wen auch immer.Das DNS Cache wird also schon eine Reihe von meinen Abfragen so beantworten können, was den Datenschutzvorteil hat, daß der DNS, den das Cache wiederum fragt, nur einen Bruchteil davon sieht und so kein vollständiges Profil erstellen kann. Den DNS Cache ( z.b. nscd ) kann man auch per Round-Robin mehrere andere Server fragen lassen um die Profilbildung weiter zu erschweren.

Der Problemfall

Jetzt funktioniert der lokale DNS aber nicht, weil es ein Update gab, oder die VM abgestürzt ist. Systemd würde jetzt keine gültigen DNS bekommen und Google+Cloudflare fragen. Damit wäre meine komplette Datenschutzabschätzung fürn Arsch. Schlimmer noch ist der Umstand, daß diese Art Datenfluß als Vorgang überhaupt gar nicht in meiner Datenschutzmappe vorkommt. Zum Glück ist das ein minder schwerer Fall, den der Datenschutzbeauftragte selbst regeln kann, indem er den Vorfall in die Mappe einträgt und Maßnahmen ergriffen werden, dies zukünftig zu verhindern.

Sollte aber ein Datenschutzaudit ergeben, daß es diesen Abfluß gibt ohne das das intern gefunden wurde, sieht die Sache schon anders aus. Je nach Umfang könnte die Datenschutzbehörde ein Bußgeld verhängen und das nur weil einer, den keiner in der Firma kennt, meinte schlauer sein zu müssen, als alle anderen. Na danke!

Jetzt kommt der nächste Oberschlaue mit dem Hinweis, daß bei DSL ja eh alle die gleiche IP von der Firma haben und individuelle Profile gar nicht erstellt werden können und außerdem wären das ja keine privaten Domainanfragen. Das fällt bei größeren Firmennetzen seit IPv6 unter „Es war einmal..“ . Wenn ich einen Businesszugang mit einem reinen IPv6 Netz bekommen, habe ich einen ganzen Block zur Verfügung. Dies Netz kann ich direkt an alle Pcs durchreichen, denn dann habe ich kein NAT Problem mehr. Per Firewall kann ich den Direktzugang zu den Pcs sperren, kein Problem und wenn doch mal jemand von außen drauf muß, wären individuelle Freigaben möglich. Das muß man als Admin natürlich auch mit IPv6 nicht so machen, aber es wurde mal so vermarktet, als für IPv6 geworben wurde.

Das die meisten am Arbeitsplatz auch privat surfen, braucht man wohl kaum noch erwähnen.

Die Technisch -Organisatorischen Maßnahmen zum Datenschutz einer Firma ( TOM ) beinhalten alle Maßnahmen die man so als Firma macht und wenn da steht, wir leiten DNS über ein Cache zum minimieren von Profilbildungen, dann kann man da schlecht ein Linux betreiben, daß sich da nicht dran hält, oder seht Ihr das anders? Linux muß also auch in der Datenschutz freundlichen Einstellung daher kommen, was damit einen Einsatz von systemd-resolved ausschließt, da man sich da ja nicht drauf verlassen kann wie man oben sieht.

Update

Ein Leserbrief erreichte mich vorhin. Hier ist der Link, in dem das Fallbackfeature bei Systemd besprochen wird: https://github.com/systemd/systemd/pull/11666

Und gleich noch die Diskussion, wieso CloudFlare DNS besser wären: https://github.com/systemd/systemd/issues/8899

So richtig viel Gegenwind gabs aus der Peergruppe anscheinend nicht.