little brother is watching we know all your secrets
play

Little Brother is watching - we know all your secrets! Siegfried - PowerPoint PPT Presentation

Little Brother is watching - we know all your secrets! Siegfried Rasthofer | Fraunhofer SIT, Germany Steven Arzt | Fraunhofer SIT, Germany Stephan Huber | Fraunhofer SIT, Germany With the help of: Alexander Traud, Benedikt Hiemenz, Daniel


  1. Little Brother is watching - we know all your secrets! Siegfried Rasthofer | Fraunhofer SIT, Germany Steven Arzt | Fraunhofer SIT, Germany Stephan Huber | Fraunhofer SIT, Germany With the help of: Alexander Traud, Benedikt Hiemenz, Daniel Hitzel, Julien Hachenberger, Julius Näumann, Kevin Steinbach, Michael Tröger, Philipp Roskosch, Sebald Ziegler VB 2018, October 4 th 2018

  2. Who are we? Steven Siegfried § Deputy head of Secure Software § Head of department Secure Software Engineering Engineering § PhD, M.Sc., M.Sc., B.Sc. in CS & IT Sec. § PhD, M.Sc., B.Sc. in computer science § Code and data flow analysis § Static and dynamic code analysis § Ethical hacker § Founder of @TeamSIK and @CodeInspect 2

  3. Agenda § Motivation § Background Information § Client-Side Authorization § Client-Side and Communication Vulnerabilities § Server-Side Vulnerabilities § Sideloading-Malware § Responsible Disclosure Process § Summary 3

  4. Agenda § Motivation § Background Information § Client-Side Authorization § Client-Side and Communication Vulnerabilities § Server-Side Vulnerabilities § Sideloading-Malware § Responsible Disclosure Process § Summary 4

  5. Surveillance - Now Benign Reasons? Spyware/RAT 5

  6. Surveillance - Now Family Couple Benign Reasons? Friends 6

  7. Good vs. Bad Family Couple Spyware/RAT Friends 7

  8. Surveillance - Apps Google Play Store *Android Security Report 2017 8

  9. How well is the collected data protected? 9

  10. App Name Google Play Store Installations Couple Tracker App 5-10 m My Family GPS Tracker KidControll GPS Tracker Rastrear Celular Por el Numero 1-5m Phone Tracker By Number Couple Vow Real Time GPS Tracker Ilocatemobile Family Locator (GPS) Free Cell Tracker Rastreador de Novia 100-500k Phone Tracker Free Phone Tracker Pro Rastreador de Celular Avanzado Rastreador de Novia 50-100k Localiser un Portable avec son Numero Handy Orten per Handynr 10-50k Track My Family 1k 10

  11. Agenda § Motivation § Background Information § Client-Side Authorization § Client-Side and Communication Vulnerabilities § Server-Side Vulnerabilities § Sideloading-Malware § Responsible Disclosure Process § Summary 11

  12. How does it work? – Very simple TEXT pull push Tracking Provider Observer Monitored Person (back-end/cloud) 12

  13. Agenda § Motivation § Background Information § Client-Side Authorization § Client-Side and Communication Vulnerabilities § Server-Side Vulnerabilities § Sideloading-Malware § Responsible Disclosure Process § Summary 13

  14. Enable Premium Features 14

  15. Enable Premium Features boolean removeAd = SharedPref.getBoolean("l_ads", false) if(removeAd) { this.setVisibility(View.GONE); } else { ... } 15

  16. Enable Premium Features boolean removeAd = SharedPref.getBoolean("l_ads", false) if(removeAd) { this.setVisibility(View.GONE); } else { ... } /data/data/com.bettertomorrowapps.spyyourlovefree/ shared_prefs/loveMonitoring.xml <boolean name="l_location_full" value="false" /> <boolean name="l_fb_full" value=" false " /> <boolean name="l_loc" value=" false " /> <boolean name="l_sms" value=" false " /> <boolean name="l_ads" value=" false " /> <boolean name="l_sms_full" value=" false " /> <boolean name="l_call" value=" false " /> <boolean name="l_fb" value=" false " /> 16

  17. SharedPreferences Backup/Restore § Rooted device: § copy loveMonitoring.xml from app folder to pc § modify file, set false to true § copy back and overwrite orig. file with modified file § Unrooted device: convert * adb backup adb tool modify file adb restore *https://github.com/nelenkov/android-backup-extractor 17

  18. Enable Premium Features /data/data/com.bettertomorrowapps.spyyourlovefree/ shared_prefs/loveMonitoring.xml <boolean name="l_location_full" value="false" /> <boolean name="l_fb_full" value=" false " /> <boolean name="l_loc" value=" false " /> <boolean name="l_sms" value=" false " /> <boolean name="l_ads" value=" false " /> <boolean name="l_sms_full" value=" false " /> <boolean name="l_call" value=" false " /> <boolean name="l_fb" value=" false " /> 18

  19. Enable Premium Features /data/data/com.bettertomorrowapps.spyyourlovefree/ shared_prefs/loveMonitoring.xml <boolean name="l_location_full" value="false" /> <boolean name="l_fb_full" value=" false " /> <boolean name="l_loc" value=" false " /> <boolean name="l_sms" value=" false " /> <boolean name="l_ads" value=" false " /> <boolean name="l_sms_full" value=" false " /> <boolean name="l_call" value=" false " /> <boolean name="l_fb" value=" false " /> 19

  20. Enable Premium Features 1. Give me all text messages Observer 20

  21. Enable Premium Features 1. Give me all text messages 2. Ok: msg1, msg2, msg3, … Observer 21

  22. Enable Premium Features 3. Client “Authorization” Check if(getBoolean(“l_sms_full”) == false) { String[] msgs = getAllMsgs(); … singleMsg = msgs[i]. substring(0, 50); } else { //return complete text messages } 1. Give me all text messages 2. Ok: msg1, msg2, msg3, … Observer 22

  23. Enable Premium Features 3. Client “Authorization” Check if(getBoolean(“l_sms_full”) == false) { String[] msgs = getAllMsgs(); … singleMsg = msgs[i]. substring(0, 50); } else { //return complete text messages } 1. Give me all text messages 2. Ok: msg1, msg2, msg3, … Observer 23

  24. Do not use SharedPreferences for payment or license checks!! 24

  25. Agenda § Motivation § Background Information § Client-Side Authorization § Client-Side and Communication Vulnerabilities § Server-Side Vulnerabilities § Sideloading-Malware § Responsible Disclosure Process § Summary 25

  26. Mitm + Bad Crypto + Obfuscation ?? 26

  27. Mitm + Bad Crypto + Obfuscation ?? user@example.com secure123 27

  28. Mitm + Bad Crypto + Obfuscation http ://s9.***********.com/login/?aaa... GET /login/?aaa=Bi9srqo&nch=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& tnd=CFF1CxQoaQcoLWoRaQ%3D%3D%0A HTTP/1.1 28

  29. Mitm + Bad Crypto + Obfuscation GET /login/? aaa=Bi9srqo& 1. nch=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& tnd=CFF1CxQoaQcoLWoRaQ%3D%3D%0A HTTP/1.1 user@example.com secure123 29

  30. Mitm + Bad Crypto + Obfuscation GET /login/? aaa=Bi9srqo& 1. nch=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& tnd=CFF1CxQoaQcoLWoRaQ%3D%3D%0A HTTP/1.1 GET /login/? ssp=CFF1CxQoaQcoLWoRaQ%3D%3D%0A& 2. eml=4hBWVqJg4D& mix=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A HTTP/1.1 user@example.com secure123 30

  31. Mitm + Bad Crypto + Obfuscation GET /login/? aaa=Bi9srqo& 1. nch=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& tnd=CFF1CxQoaQcoLWoRaQ%3D%3D%0A HTTP/1.1 GET /login/? ssp=CFF1CxQoaQcoLWoRaQ%3D%3D%0A& 2. eml=4hBWVqJg4D& mix=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A HTTP/1.1 user@example.com GET /login/? secure123 psw=-ZI-WQe& 3. amr=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& rma=CFF1CxQoaQcoLWoRaQ%3D%3D%0A HTTP/1.1 31

  32. Mitm + Bad Crypto + Obfuscation GET /login/? aaa=Bi9srqo& 1. nch=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& tnd=CFF1CxQoaQcoLWoRaQ%3D%3D%0A HTTP/1.1 GET /login/? ssp=CFF1CxQoaQcoLWoRaQ%3D%3D%0A& 2. eml=4hBWVqJg4D& mix=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A HTTP/1.1 user@example.com GET /login/? secure123 psw=-ZI-WQe& 3. amr=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& rma=CFF1CxQoaQcoLWoRaQ%3D%3D%0A HTTP/1.1 GET /login/? aaa=ZTZrO& 4. mag=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& df=CFF1CxQoaQcoLWoRaQ%3D%3D%0A& data=5JFJzgYW_ HTTP/1.1 32

  33. Mitm + Bad Crypto + Obfuscation GET /login/? aaa=Bi9srqo& 1. nch=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& tnd=CFF1CxQoaQcoLWoRaQ%3D%3D%0A HTTP/1.1 GET /login/? ssp=CFF1CxQoaQcoLWoRaQ%3D%3D%0A& 2. eml=4hBWVqJg4D& mix=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A HTTP/1.1 user@example.com GET /login/? secure123 psw=-ZI-WQe& 3. amr=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& rma=CFF1CxQoaQcoLWoRaQ%3D%3D%0A HTTP/1.1 GET /login/? aaa=ZTZrO& 4. mag=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& df=CFF1CxQoaQcoLWoRaQ%3D%3D%0A& data=5JFJzgYW_ HTTP/1.1 33

  34. Mitm + Bad Crypto + Obfuscation GET /login/? aaa=Bi9srqo& 1. nch=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& tnd=CFF1CxQoaQcoLWoRaQ%3D%3D%0A HTTP/1.1 GET /login/? ssp=CFF1CxQoaQcoLWoRaQ%3D%3D%0A& 2. eml=4hBWVqJg4D& mix=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A HTTP/1.1 user@example.com GET /login/? secure123 psw=-ZI-WQe& 3. amr=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& rma=CFF1CxQoaQcoLWoRaQ%3D%3D%0A HTTP/1.1 GET /login/? aaa=ZTZrO& 4. mag=DzttDRMbYQcAPmUfAGQZHDxOJRMbclZeKQ%3D%3D%0A& df=CFF1CxQoaQcoLWoRaQ%3D%3D%0A& data=5JFJzgYW_ HTTP/1.1 34

Recommend


More recommend