Sicherheitsanalyse Gruppenmanagement (WhatsApp, Signal, Threema)

Stelle deine Frage öffentlich an die Threema-Forum-Community - über 4.800 Mitglieder helfen dir weiter. > Frage stellen <
  • Forscher der Ruhr Universität Bochum haben WhatsApp, Signal und Threema etwas unter die Lupe genommen und sich mal die Sicherheit der Gruppen angeschaut:
    https://eprint.iacr.org/2017/713.pdf

    Kurze Zusammenfassung für Threema:

    • Threema implementiert KEIN Forward Secrecy bzw. Future Secrecy (ist ja bekannt).
    • Der Benutzer bekommt keine Zustellungsbestätigung bei Gruppen (ist auch bekannt). Zustellung wird nur gegenüber dem Threema-Server mitgeteilt (Transportverschlüsselung).
    • Wenn ein Threema-User eine Nachricht an eine Gruppe sendet (er aber nicht Mitglied der Gruppe ist!), dann wird vom Gruppen-Administrator an dieses Nicht-Mitglied der Titel der Gruppe und die Mitglieder der Gruppe gesendet. Bedeutet, man bekommt Informationen, die man eigentlich nicht bekommen dürfte. Wurde in Threema 3.14 gefixt. Kann mir jemand den Grund dafür erläutern, warum das gemacht wurde?
    • Ein infizierter Server könnte Gruppennachrichten erneut senden (Replay-Attack). Dadurch können z. B. aus der Gruppe entfernte User heimlich wieder hinzugefügt werden, weil die Update-Nachricht dass ein neuer User in der Gruppe ist, nach der Entfernung einfach wieder gesendet werden kann. Wurde in Threema 3.14 gefixt.
    • Nachrichten, die von der Threema-App erhalten werden, sind nach der Zeit des Erhalts sortiert. Die Sendezeit ist außerdem nicht Ende-zu-Ende-verschlüsselt. Ein "böser Server" kann somit die Sortierung der Nachrichten durcheinanderbringen. Habe nichts dazu gefunden, dass das gefixt wäre?


    Die zwei Fragen, die sich mir stellen:
    Warum werden Nachrichten nach der Zeit des Erhalts und nicht nach der Sendezeit sortiert?
    Warum ist die Sendezeit nicht Ende-zu-Ende-verschlüsselt? Threema hat sich doch den Schutz der Metadaten auf die Fahnen geschrieben.

    Außerdem halte ich es nach wie vor für angebracht, wenn Threema an Perfect Forward Secrecy auf Ende-zu-Ende-Ebene arbeiten würde.

    Eine Zustellungsbenachrichtigung (keine Lesebestätigung!) für Gruppen wäre auch noch eine Sache, die man evtl. machen sollte.

    Edit: Das Paper ist schon etwas älter, es wurde aber wohl aktualisiert (neues Datum ist zumindest von 2018).

    Einmal editiert, zuletzt von Crixus (10. Januar 2018 um 17:11)

  • Die Sendezeit ist nicht verschlüsselt, außerdem wird der öffentliche Nickname noch bei jeder Nachricht mitgeschickt. Klar, ist ein öffentlicher Nickname, aber trotzdem kann man das in den verschlüsselten Teil packen, dann muss man TLS nicht vertrauen.

    Da werden also unnötigerweise Metadaten öffentlich.

    Einmal editiert, zuletzt von Crixus (11. Januar 2018 um 19:28)


  • Die Sendezeit ist nicht verschlüsselt, außerdem wird der öffentliche Nickname noch bei jeder Nachricht mitgeschickt. Klar, ist ein öffentlicher Nickname, aber trotzdem kann man das in den verschlüsselten Teil packen, dann muss man TLS nicht vertrauen.

    Da werden also unnötigerweise Metadaten öffentlich.

    Nicht unnötigerweise. Der ursprüngliche Sinn des Nicknames war es doch, dass er bei iOS-Nutzern in der Benachrichtigung angezeigt wird.

    Man erinnere sich: Bei iOS werden Benachrichtigungen traditionell direkt, ohne Aufruf der App, angezeigt und deshalb musste (zumindest bis vor kurzem) der Inhalt der Benachrichtigungen durch den Server mitgegeben werden.

    Deshalb kann der Nickname auch nicht in den Ende-zu-Ende verschlüsselten Teil gepackt werden.

  • Zitat von "Claus" pid='35680' dateline='1515707252'


    Man erinnere sich: Bei iOS werden Benachrichtigungen traditionell direkt, ohne Aufruf der App, angezeigt und deshalb musste (zumindest bis vor kurzem) der Inhalt der Benachrichtigungen durch den Server mitgegeben werden.


    Das ist—zum Glück!—auch bei iOS inzwischen schon laaaaange Geschichte; ich denke, dass mittlerweile kaum mehr iPhones mit einem derart alten iOS tatsächlich noch betrieben werden.
    Eigentlich ist der unverschlüsselte Nickname heute obsolet und könnte (sollte?) wohl abgeschafft werden.

    Andy

    Einmal editiert, zuletzt von andyg (11. Januar 2018 um 23:05)

  • Zitat von "schuschu" pid='35703' dateline='1515794307'


    Naja, iOS garantiert Threema nicht dass sie Zeit zum entschlüsseln bekommen. Je nach Akkustand und Prozessorlast kann die Nachricht manchmal auch nicht im Hintergrund entschlüsselt werden..


    Tatsächlich? Passiert in der Praxis aber wohl eher selten—ist mir jedenfalls noch nie untergekommen, dass eintreffende Nachrichten nicht schon im Hintergrund entschlüsselt worden wären und auf dem Lock Screen erschienen wären...


    Andy


  • Eigentlich ist der unverschlüsselte Nickname heute obsolet und könnte (sollte?) wohl abgeschafft werden.

    Wahrscheinlich schon. Also man muss den Nicknamen nicht abschaffen, aber man kann ihn ja aus dem Nichtverschlüsselten Teil entfernen und in den verschlüsselten Bereich verschieben.
    Aber so eine Protokolländerung tut sich eben nicht mal so schnell. Im besten Fall akzeptieren alle Threema-Clients einen leeren "Nickname", aber wer weiß, was sie dann anzeigen.

  • Zitat von "Kurisutian" pid='35732' dateline='1516001856'


    Das hier liest sich doch ganz anders und viel besser: https://www.wired.com/story/whatsapp…on-group-chats/
    Hier wird deutlich gesagt, dass von den 3 Messengern WA, Signal und Threema bei Threema alles bei weitem harmloser ist, als bei den beiden anderen, gefolgt von Signal und mit Abstand am übelsten wäre die Schwachstelle bei WA. Sowas sollte man doch mal offensiver ausschlachten... [emoji6]


    Inzwischen auch bei Heise.
    Tenor: Gruppen sind bei Signal am einfachsten zu „kapern“, gefolgt von WA. Threema schnitt am Besten ab—hier sei kein Mitlesen durch den Angreifer möglich:

    Zitat


    Bei Threema sehen die Forscher übrigens nur die Möglichkeit, verschlüsselte Nachrichten in Gruppen erneut zu versenden (lesen können sie diese Nachrichten nicht). Der Angreifer muss dafür ebenfalls die Hoheit über den Kontrollserver haben.


    Quelle: “WhatsApp und Signal: Forscher beschreiben Schwächen verschlüsselter Gruppenchats | heise Security”

    https://www.heise.de/security/meldu…ts-3942046.html

    Einmal editiert, zuletzt von andyg (16. Januar 2018 um 20:10)

  • Im Gegensatz zu heise's Beschreibung ist die Lücke nach Wire (und anderen Quellen wo ich es gehört habe) aber in WhatsApp am leichtesten auszunutzen und in Threema und Signal schwieriger, gerade da WhatsApp zur Gruppenverwaltung am stärksten den Server nutzt. (Bei Signal benötigt man auch Zugriff auf den Chatserver, das kommt bei heise nicht so heraus.)

    Übrigens wurde das ja in v3.14 in Threema gefixt. Hier nochmal der Link zu der Erklärung von Threema's fix, den sie zu dieser Zeit veröffentlicht haben: https://threema-forum.de/thread-3150-po…7.html#pid31797

    Und Crixus kennt jetzt also auch die Antwort auf die Frage "ob und wie andere Messenger das machen, z. B. Signal.". :)

  • Habe ich das richtig verstanden, es geht um Threema Version v.2.92.323?

    -------
    ʕ•ᴥ•ʔ

    Note II / Android 4.*

    Note 8 / Android 9

    ===============================================================================
    „Der Zweifel ist der Beginn der Wissenschaft. Wer nichts anzweifelt, prüft nichts. Wer nichts prüft,
    entdeckt nichts. Wer nichts entdeckt, ist blind und bleibt blind.“