Threema Desktop Client - openMittsu

Stelle deine Frage öffentlich an die Threema-Forum-Community - über 4.600 Mitglieder helfen dir weiter. > Frage stellen <

  • Wenn die DB verschlüsselt ist, muss erstmal die Applikation laufen, dass auf die Daten zugegriffen werden kann. Das ist schon recht aufwendig und selbst dann werden wohl auch nicht alle Nachrichten im Arbeitsspeicher liegen. Selbst wenn der Schlüssel für die DB irgendwo daneben im Klartext liegen würde, ist das für den Angreifer aufwendiger. Ein Angriff müsste schon speziell auf das Problem zugeschnitten sein.

    Der Schlüssel im Klartext daneben - nicht ernsthaft? So eine Implementierung würde ich ja mal kategorisch ablehnen, einfach weil sie keinen Sicherheitsvorteil bringt oder - im schlimmsten Fall - ein falsches Gefühl für Sicherheit dem Nutzer gegenüber.
    Klar muss erst mal eine Anwendung geschrieben werden, die das Format dann auch parst und den Schlüssel am richtigen Ort findet, aber das ist nicht sicherheitsrelevant. Dass wiederspricht schon dem altbewährten Kerkhoffs'schen Prinzip, denn bei der Herangehensweise wäre ja der Algorithmus das "geheime", den der Malware-Programmierer nicht kennt (bzw. nicht implementiert hat).

    Bei Android würde ich dir da allerdings noch zustimmen, da dort die Anwendungen gesandboxed sind und somit eine Anwendung nicht auf den Speicher (und den Schlüssel) der anderen Anwendung zugreifen kann. Da bei Windows jedoch jede Anwendung auch den danebenliegenden Schlüssel einfach abgreifen kann, würde solch ein "Schutz" keinen Sinn machen.

    Eine Verschlüsselung mit einem Password macht da schon mehr Sinn. Zwar könnte eine laufende Anwendung die Daten auch abgreifen, aber zumindest vor Diebstahl oder bei manchen unterschiedlichen Nutzungszenarien (z.B.: Passwort wird nur selten eingegeben und eventuell vorhandenen Malware wurde vor der nächsten Passworteingabe schon entdeckt) schützt dies dann schon sehr gut. Aus den gleichem Grund verwendet man ja auch Passwort-Manager und speichert seine Passwörter nicht unverschlüsselt auf der Festplatte (im Browser) ab.

  • Für die Hinterlegung solcher Keys gibt es ja die vom Betriebssystem zur Verfügung gestellten Keychains. Wieso nicht die Keys dort abspeichern? Ist dort auch mehr oder weniger gut gesichert, jedenfalls besser als Klartext.

  • Keine Ahnung, ob das schon gefragt wurde oder ob das irgendwo steht. :b

    Aber benutzt OpenMittsu andere Ports als die Androidapp? Denn seit bei mir Zuhause die Firewall wieder aktiviert ist, funktioniert OpenMittsu nicht mehr ( Verbindet sich nicht ). Die App funktioniert allerdings noch bisher ohne bemerkte Probleme.


  • Aber benutzt OpenMittsu andere Ports als die Androidapp? Denn seit bei mir Zuhause die Firewall wieder aktiviert ist, funktioniert OpenMittsu nicht mehr

    OpenMittsu benutzt natürlich den gleichen Port wie die App, sonst könnt es gar nicht kommunizieren.

    Allerdings haben die Apps einen Fallback von Port 5222 auf 443 eingebaut, falls ersterer durch einen Firewall blockiert ist. Vermutlich ist dieser Fallback in openMittsu nicht implementiert.

  • Gibt es seit 3 Monaten keine neue Beta-Version mehr? Würde den Client gerne auch mal testen, aber eine sichere Version, darum habe ich bisher gewartet.
    Wird der Threema Desktop Client noch weiterentwickelt?

    [Beta-Tester] Nokia Lumia 920 - Windows 10 - Threema 3.0.0.4 | Nokia 7 Plus - Android 9 - Threema 4.83 | Nokia 8.3 5G - Android 12 - Threema 4.83

  • Gibt es eigentlich einen Grund, weshalb gerade dieser Port (5222) verwendet wird und nicht standartmäßig der 443-Port?

    In letzter Zeit habe ich irgendwie das Gefühl, dass sich jeder Entwickler seine Ports "würfelt".


    UPDATE:

    Bei Wikipedia habe ich diese Erläuterung gefunden:
    Extensible Messaging and Presence Protocol (XMPP) Client Connection

    Einmal editiert, zuletzt von Nedal (11. Juli 2016 um 21:05)


  • Gibt es eigentlich einen Grund, weshalb gerade dieser Port (5222) verwendet wird und nicht standartmäßig der 443-Port?

    In letzter Zeit habe ich irgendwie das Gefühl, dass sich jeder Entwickler seine Ports "würfelt".

    Port 5222 ist für XMPP reserviert. Adminstratoren erkennen einen solchen Port also als Chat-Port und können ihn entsprechend behandeln.

    Port 443 ist für HTTPS gedacht. Definitiv kein "Standard" für Chat-Applikationen mit eigenem TCP basiertem Binär-Protokoll.

  • @"fidget" , ich kann leider nur etwas mit fertigen Binaries anfangen. Im Eingangsposting werden einige fertige Builds angeboten, doch diese stammen noch vom April.

    [Beta-Tester] Nokia Lumia 920 - Windows 10 - Threema 3.0.0.4 | Nokia 7 Plus - Android 9 - Threema 4.83 | Nokia 8.3 5G - Android 12 - Threema 4.83

  • OpenMittsu benutzt natürlich den gleichen Port wie die App, sonst könnt es gar nicht kommunizieren.

    Allerdings haben die Apps einen Fallback von Port 5222 auf 443 eingebaut, falls ersterer durch einen Firewall blockiert ist. Vermutlich ist dieser Fallback in openMittsu nicht implementiert.


    Oha. Das hatte ich anfangs beim Reverse-Engineering mal vermutet, aber nachdem Port 5222 funktionierte nie weiter verfolgt. Ich werde darüber nachdenken, wie man das sinnvoll (auch mit den automatischen Reconnects die immer wieder gewünscht werden) einbauen kann.


    Gibt es seit 3 Monaten keine neue Beta-Version mehr? Würde den Client gerne auch mal testen, aber eine sichere Version, darum habe ich bisher gewartet.
    Wird der Threema Desktop Client noch weiterentwickelt?


    @"fidget" , ich kann leider nur etwas mit fertigen Binaries anfangen. Im Eingangsposting werden einige fertige Builds angeboten, doch diese stammen noch vom April.


    Ja, die Entwicklung geht weiter. Nur sehr viel langsamer, da ich versuche, eine Masterarbeit zu schreiben, die leider so gar nichts mit Threema zu tun hat ;)
    Die Links zu den Builds im Eingangspost update ich übrigens regelmäßig mal (siehe Last Updated am Beitrag).

    Außerdem: Der Client hat einen Update-Notifier. Wenn du fertige Binaries von mir benutzt (d.h. auf einer unterstützten Plattform, was aktuell nur Windows ist), bekommst du sofort beim Programmstart einen Hinweis, sollte es eine neuere freigegebene Version geben.

    Was meinst du mit "sichere Version"? Meine Binaries werden von mir immer mit meinem Entwicklerzertifikat signiert und getimestamped, unter Windows kannst du dies via "Eigenschaften" -> "Digitale Signaturen" überprüfen.


    Wie lade ich ein Backup rein? Das System lässt nur 4 Zahlen unter "Backup" zu...


    Der Backup-Importer kann nur die ID-Backups in der Form 2222-RRRR-OOOO-TTTT-TTTT-FFFF-RRRR-GGGG-IIII-2222-5555-BBBB-3333-QQQQ-BBBB-BBBB-JJJJ-ZZZZ-IIII-SSSS zu (Zahlen und Buchstaben hier zufällig zur Demo gewählt.
    Auszug aus dem README:

    Zitat


    1. Export the identity from the Threema App. In the main menu, click on the uppermost entry containing your ID.
    Select "Save ID" and enter a password.
    2. In openMittsu, click on Identity, Load Backup.
    3. Enter the exported backup and the password.
    4. Choose a suitable location and let the application save the generated client configuration there.


    Ich hoffe das hilft :)

  • @"ThE_-_BliZZarD", vielen Dank für deine Erklärungen. Das mit der Beitragsbearbeitung habe echt übersehen,
    ich dachte das erste Datum zeigt die letzte Bearbeitung. Mit "sichere Version" meine ich stabile Version, da habe ich
    mich falsch ausgedrückt, sorry.

    [Beta-Tester] Nokia Lumia 920 - Windows 10 - Threema 3.0.0.4 | Nokia 7 Plus - Android 9 - Threema 4.83 | Nokia 8.3 5G - Android 12 - Threema 4.83

    Einmal editiert, zuletzt von Hightower (12. Juli 2016 um 18:29)


  • In letzter Zeit habe ich irgendwie das Gefühl, dass sich jeder Entwickler seine Ports "würfelt".

    Mache ich tatsächlich so. Ist auch durchaus sinnvoll, wenn ich mehrere Anwendungen auf der gleichen Adresse betreiben will. Viel nerviger sind die Admins, die meinen ihre User mit geblockten Ports "schützen" zu müssen und uns somit zu Fallback-Ports zwingen.

    Oder noch schlimmer, NATs die Deep-Packet-Inspection machen und IP-Adressen in der Payload austauschen, sodass manche Klartextprotokolle mittlerweile die Payload maskieren um gegen so einen Kinderkram gefeit zu sein. Aber das geht jetzt zu weit...

    (Um Verwirrung zu vermeiden: Ich arbeite bei Threema, spreche hier aber für mich.)

    Einmal editiert, zuletzt von f09fa681 (12. Juli 2016 um 18:40)


  • So, ich hab mal versucht ein bisschen Ordnung in die Oberfläche hineinzubringen: https://github.com/blizzard4591/openMittsu/pull/3

    Es gibt immer noch sehr viel zu tun, aber ich habe mal geschaut, dass openMittsu generell etwas besser zu nutzen ist (Kontaktliste auf die Seite, besser lesbare Nachrichten durch "Sprechblasen", kleinere Bilder, usw).

    Schaffen wir es jetzt noch die Kontaktliste so zu sortieren, dass die neueste Konversation ganz oben ist, dann können wir auch die Tabs loswerden.

    Ich lese mich gerade durch alle Beiträge. Kannst du mir ein Kompendium zu "github" empfehlen?, bevorzugt auf deutsch.
    Es ist nicht ganz leicht zu verstehen was mit fork, merged und pull request gemeint ist.

    [Beta-Tester] Nokia Lumia 920 - Windows 10 - Threema 3.0.0.4 | Nokia 7 Plus - Android 9 - Threema 4.83 | Nokia 8.3 5G - Android 12 - Threema 4.83

    Einmal editiert, zuletzt von Hightower (13. Juli 2016 um 18:38)

  • Stürzt bei euch openMittsu auch beim Beantworten von Gruppennachrichten ab? Habe für viele Kontakte eine Gruppe mit Laptop, Handy und Kontakt eingerichtet. Deshalb ist es für mich besonders wichtig, dass openMittsu das auch gebacken kriegt.

  • OpenMittsu stürzt bei Gruppen soweit ich weiß nur ab, wenn du nicht alle Kontakte aus der Gruppe in Open-mittsu importiert hast.
    Hier ein tool um Kontakte aus dem Threema-Backup zu exportieren.

    ______________________________________________________________________________________________
    "Wir kaufen Dinge, die wir nicht brauchen, mit Geld, das wir nicht haben um Leute zu imponieren, die wir nicht mögen“

    Einmal editiert, zuletzt von Buddabread (14. Juli 2016 um 14:07)