Marcus Mengs Profile picture
19 May, 11 tweets, 11 min read
@alvar_f @juergen34 @da_mister_e @UlrichKelber Nur leider steht da vieles mit wenig Wert. Das letzte mal als ihr mit dem (mittlerweile überholtem) Dokument argumentieren wolltet, hatte ich noch bis Seite 9 gelesen, die ausführt, dass hier nur Papierlage geprüft wurde (Dokumentation des Herstellers 🤣). Heute reicht Seite 2...
@alvar_f @juergen34 @da_mister_e @UlrichKelber auf der ihr behauptet Kontaktdaten seien Ende-zu-Ende verschlüsselt. Mag sein, dass zum Erstellungszeitpunkt nicht klar war, dass das nicht stimmt (auch wenn es in der Herstellerdokumentation schon im März nicht so dargestellt wurde). Mittlerweile ist dies auch in belegten...
@alvar_f @juergen34 @da_mister_e @UlrichKelber Sicherheitslücken genutzt und demonstriert worden. Das Papier liest sich wie eine Werbebroschüre und hält dabei Versprechen aufrecht, bei denen sogar der Entwickler zurückstecken musste.

Da ist eine MS365 Diskussionen natürlich einfacher, denn dort gibt es Alternativen ...
@alvar_f @juergen34 @da_mister_e @UlrichKelber ... und es müssen eben nicht andere ausbaden (fixen), weil Datenschützer "mal eben" ihr Gütesiegel draufgeklebt haben.

Der Leidensdruck die "Verbesserungsvorschläge" für Luca umzusetzen, ist sicher auch immens (ist ja nicht so, dass die Inbetriebnahme davon abhängt)
@alvar_f @juergen34 @da_mister_e @UlrichKelber Wie werden denn die Kontaktdaten verschlüsselt?

Richtig! Mit symm AES128 und dann auf dem Server abgelegt (steht auch in Doku).

Wo sind denn die symm Schlüssel für Badges abgelegt?
Richtig, ergeben sich aus der S/N der Schlüsselanhänger (hier 56bit entropy, steht in Doku)!
@alvar_f @juergen34 @da_mister_e @UlrichKelber Wie ist denn sichergestellt, dass der Apo-Hersteller die Seriennummern nicht kennt?
Nope! Steht nicht in Doku, habt ihr dann wohl im Herstellergespräch erörtert?!
@alvar_f @juergen34 @da_mister_e @UlrichKelber Da dem Rest der Welt (einschließlich Fragesteller im Bundestagsausschuss Digitale Agenda) wurden hierzu keine Informationen gegeben.

Wir haben also selbst gefragt ... und?
Richtig, die Seriennummern werden von Nexenio vergeben und sind durch Nutzer nicht mehr änderbar.
@alvar_f @juergen34 @da_mister_e @UlrichKelber Aber hey, das betrifft derzeit nur 40.000 Nutzer zu deren Server-gespeicherten Kontaktdaten Nexenio alle Schlüssel kennt.

Ergibt sich alles aus der Doku und Herstellergespräch.

Ist auch nur ein Beispiel!
@alvar_f @juergen34 @da_mister_e @UlrichKelber Ihr habt dann also in eurer Bewertung festgestellt: "Okay, die garantieren uns die Schlüssel niemals zu verwenden. Also schauen wir lieber ob die TLS Verschlüsselung auch nicht mit RSA läuft!" 😂
@alvar_f @juergen34 @da_mister_e @UlrichKelber Ey wirklich @alvar_f, du tust nicht gut daran immer wieder auf dieses Dokument zu verweisen, damit mach sich der LfDI bloß lächerlich

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Marcus Mengs

Marcus Mengs Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @mame82

12 Apr
Heute Gelegenheit gehabt, die #LucaApp auch mal auf ein Testgerät zu installieren, statt nur in Code und Konzepte zu schauen.

Die SMS TAN Verification lässt sich auch für die Android App umgehen, da Client-seitig realisiert 😒

Demo:
Was mir auch überhaupt nicht gefällt:

Die User-IP fällt am Server zwangsläufig ab, aber hier erzwingt man für jeden HTTP request noch einen UserAgent header mit:
- Android SDK Version
- Geräte Hersteller
- Geräte Typ

Das sind DREI unnötige Classifier für device fingerprints Image
Kurze Illustration zu Classifiern die von 3rd party trackern genutzt werden, um Geräte möglichst eindeutig zu (wenn z.B. unique identifier nicht mehr nutzbar sind).

... hätte nicht gedacht, dass die Animation bei einer solchen Software passen würde:
Read 4 tweets
5 Apr
Meine Tweets zu der #LucaApp wurden in den vergangenen Tagen gehäuft mit emotional aufgeheizten Aussagen gemischt, in Teilen auch mit technischen Schwachsinn den einige so on die Heide hauen.

Hier ein paar Klarstellungen:

Es ist mir ziemlich egal von wem digitale Covid ...
Tracing Lösungen beworben werden (schließt auch @lesmoureal ein, dessen Umgang mit kritischen Äußerungen ich dennoch nicht mag).

Luca verfolgt ein anderes Ziel als CWA und nutzt dafür einen zentralen Ansatz. Auch das mag ich nicht, weil es zusätzliche Risiken birgt.
Das SiKo von Luca ist nicht schlecht, wenn man es auf die definierten "Objectives" beschränkt betrachtet (man hat sich hier Mühe gegeben), dennoch reicht das nicht.

Einige begründende Beispiele:

Das Luca backend ist als eine Art Daten Treuhänder zu sehen. Es wurden auch ...
Read 23 tweets
12 Jan
Okay, doing my first baby steps with r2frida (which combines the power of @radareorg and @fridadotre).

Gonna share my progress in this thread (live, so keep calm).

The goal: Runtime inspection of data sent out by TikTok !!before!! it gets encrypted

1/many
First of all, we do not start from zero. I got some prior knowledge from past reversing attempts and want to share some important facts.

TikTok's (log data) encryption is accomplished by a native library. The Android Java code just serves as proxy function to the native function
The decompiled code for the respective native JNI function of an older TikTok version looks something like this, but in this example I use the most current TT version (no statical analysis done, yet)
Read 62 tweets
11 Jan
Recently tweeted on a bypass for Snapchat's cert pinning. It required monitoring 'android_dlopen_ext' to instrument the native target library directly after load.

Absence of 'adroid_dlopen_ext' on older Android SDKs raised some questions, so I'll share a partial solution.

1/n
The appended screenshot shows an alternative approach to monitor loading of dynamic modules for JNI based on 'JavaVMExt::LoadNativeLibrary'.

Below it is showcased with @fridadotre frida-trace (upper terminal) and a modified script for the frida-trace hook (lower terminal)

2/n Image
As pointed out in the comments, you have to deal with C++ mangled function names and the std::string implementation of the respective C++ library, to do it in this way (less clean than the 'android_dlopen_ext' approach).

3/n
Read 6 tweets
19 Dec 20
Whenever I talk about an Android app sending data to Asian countries, some folks go crazy.

Let me comfort you: If you are a European user, like me, most apps communicate to US servers as shown below (2h capture ... DJI, AliExpress, Gojek etc).

What? Not to US?? Let me help you!
My issue is simply that I am using a German DNS-Server, which might be a bit biased when it comes to resolving a DNS host to the best suited server.

So lets resolve with DNS over TLS from @Cloudflare

Hmm ... still so much US-traffic, even from Asian apps?
Okay, my fault ... I am still using an European source IP (Germany).

So let me change this, too, by using a VPN exit in Japan!

Damn, even more requests are directed to US, now.

Sorry, I cannot help you - your data will always end up in US ... unless you install Camera360 😉
Read 4 tweets
17 Dec 20
If you cannot see the wood for the trees ...

Me talking bullshit (without anybody noticing it).

This thread does not describe an issue caused by cert pinning, but by not running the interception proxy in "transparent" mode.

1/2
The real problem is actually highlighted in the example linked above.

I tried to "unpin" CONNECT requests (not POST/GET/DELETE etc), which occur because my proxy is visible. Of course TikTok wants to establish a raw tunnel through the proxy with CONNECT.

... time for a break
All failed TLS connections used CONNECT as request method Image
Read 4 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(