Aplicații mobile ecranate - Descărcare gratuită PDF
Aplicațiile mobile examinează lacunele de securitate și atacurile asupra aplicațiilor Dr. Julian Schütte, Fraunhofer AISEC/Breakpoint GmbH Fraunhofer

Scurtă prezentare a șefului departamentului „Servicii și aplicații securizate”, cercetător de securitate Fraunhofer AISEC: Analiză statică și dinamică a codului Director general Breakpoint GmbH (companie Fraunhofer spin-off) App-Ray: Analiză de securitate complet automată a aplicațiilor http://www.app-ray.com Aplicația Fraunhofer 2 -Rază
Cum să radiografiez o aplicație Dar siguranța aplicațiilor? Uită-te la exemplele de piață din laborator Ce sunt măsurile de protecție? Fraunhofer 3 App-Ray
Cum să examinați o aplicație: Inginerie inversă automată Despachetarea Înțelegerea metadatelor Dezasamblarea, reconstrucția indicatorului Fraunhofer 4 App-Ray
Cum să radiografiez o aplicație: Reconstituirea graficelor automate ale apelurilor de inginerie inversă Înțelegerea fluxurilor de date și a funcționalității 1. Evaluare Fraunhofer 5 App-Ray
Cum să radiografiați o aplicație: Executați o aplicație de analiză dinamică și explorați, observați comunicarea și comportamentul 2. Evaluare Fraunhofer 6 App-Ray
Cum să radiografiez o aplicație: Evaluarea raportului de securitate, raportul de protecție a datelor, Fraunhofer 7 App-Ray
241 de aplicații bancare de top 28% 7% 72% Verificarea incorectă a certificatelor TLS 93% Fără protecție împotriva skimming (atac Cloak 'n Dagger) 20% 20% 80% Criptografie defectă 80% Conținutul web are acces la sistem Fraunhofer 9 App-Ray
Comportamentul comunicării celor mai populare 10.000 de aplicații Datele personale sunt trimise către 6841 de servere fără consimțământul Fraunhofer 10 App-Ray
Exemplu WhatsApp (1/2) WhatsApp criptează mesajele cu „securitate end-to-end” Înseamnă „securitate end-to-end” că totul rămâne confidențial? Puncte slabe în protocoalele criptografice Dimensiunea și sincronizarea mesajelor permit diferențierea între tipurile de mesaje (mesaje text, sincronizare, blocarea unui utilizator). Lungimea mesajelor se corelează puternic cu textul simplu Mediile nu sunt transmise direct, ci către serverul de stocare mmx-ds.cdn.whatsapp.net Meta -Data la serverul WhatsApp Sincronizarea agendei telefonice prin schimbarea numărului de telefon hashes Membrii unui chat de grup sunt cunoscuți de WhatsApp Fraunhofer 11 App-Ray
Exemplu WhatsApp (2/2) Vulnerabilitate în WhatsApp WhatsApp salvează fișierele media trimise și primite în foldere care pot fi scrise public (fotografii, mesaje vocale, documente) Aplicațiile salvează hash-uri de fișiere, dar nu le verifică Toate aplicațiile de pe dispozitiv pot citi și publica date media WhatsApp, modificați și ștergeți chiar înainte de a fi afișate în WhatsApp! Nu trimiteți nicio fotografie/document privat prin WhatsApp! Nu s-au primit poze/documente private! Fișierele media primite nu pot fi de încredere! Videoclip demo: https://youtu.be/pn02g_elhb0 Fraunhofer 12 App-Ray
O aplicație nesigură poate pune în pericol toate datele de pe smartphone Aplicația legitimă Scurgerea capacității permite accesul la funcții de sistem privilegiate prin interfețe neprotejate Exemple de autorizare Samsung Kies Permite instalarea oricăror aplicații în fundal Nu poate fi eliminat Certifi-Gate Control de la distanță al întregului smartphone prin aplicația defectă TeamViewer 1 Android Sistemul 1 Certifi-Gate: Acces la ușa din față la milioane de dispozitive Android. Fraunhofer 13 App-Ray Ohad Bobrov, Avi Bashan. BlackHat 2015 Interfață neprotejată API privilegiat Căi de apel legitimă a managerului de pachete de aplicații
Eficacitatea măsurilor de protecție Fraunhofer App-Ray
Protecție prin aplicații antivirus? Studiu: „Cu privire la eficiența protecției împotriva malware-ului pe Android. O evaluare a aplicațiilor antivirus Android” 100% 80% 60% 40% 20% 0% malware cunoscut modificat malware modificat rădăcină exploatează malware necunoscut Aplicațiile antivirus sunt supuse aceluiași sandbox la fel ca aplicațiile normale Reîncărcarea dinamică a exploatării rădăcină Fraunhofer 15 App-Ray
Protecția de către piață? „În fiecare zi, Google Play Protect analizează automat 50 de miliarde de aplicații” 1 „Recenzii”? „50 miliarde pe zi” = 578.703 aplicații/secundă Despachetarea unei aplicații (11 MB) pe un computer convențional: puterea de calcul necesară 8 secunde
De 4,6 milioane de ori mai mult decât un computer normal „Recenzii”: comparații cu o bază de date Verificarea aplicațiilor înainte de a fi oferite pentru descărcare nu este documentată în detaliu 1 https://android-developers.googleblog.com/2018/03/android-security -2017-year-in-review.html Fraunhofer 16 App-Ray
Protecție prin Apple AppStore? Publicarea prin Apple AppStore: necesită certificat de dezvoltator + revizuirea aplicației Dezvoltatorii sunt cunoscuți de Apple și pot fi sancționați Timp estimat pentru fiecare revizuire a aplicației:
Revizuirea de 30 de secunde poate fi ocolită 1,2 Certificatele Enterprise permit instalarea fără revizuire Mecanismele de securitate de pe telefon pot fi ocolite 1,3 1 Wang, T.; Lu, K.; Lu, L.; Chung, S.; Lee, W. Jekyll pe ios: când aplicațiile benigne devin rele. În al 22-lea Simpozion de securitate USENIX, pp. 559 572, 2013. 2 Han, Kywe, Yan, Bao, Deng, Gao, Li, Zhou. Lansarea atacurilor generice pe ios cu aplicații terțe aprobate în ACNS 2013 3 SandScout: detectarea automată a defectelor în ios Sandbox Profiles Fraunhofer 17 App-Ray
ios Application Transport Security ATS forțează aplicațiile să utilizeze un mecanism foarte sensibil HTTPS Apple dorește să facă ATS obligatoriu pentru toate aplicațiile, dar apoi 1 decembrie 2016 21 decembrie 2017 1 ianuarie 2017 încă nu este obligatoriu> 80% din aplicații opresc ATS nsapptransportsecurity nsallowsarbitriarele Apple amână termenul limită până la termenul „nedefinit” pentru utilizarea obligatorie a ATS Fraunhofer 18 App-Ray
SafetyNet Am fost atacat? Smartphone SN Idea da/nu. (Multe) date sunt colectate de pe aplicația (vulnerabilă) pentru smartphone și dispozitivul este evaluat pe partea serverului SafetyNet Server atacatorii trebuie să falsifice datele (dar care?) Excelent: dezvoltatorii apelează un API și sunt „siguri” Fraunhofer 19 App-Ray
SafetyNet: Cum funcționează de fapt? Versiunea corectă a serviciilor Google Play? Backend-ul aplicației 1: nonce? 2: nonce n 5: attestationresponse (n ') 3: attest (api_key, n) 4: attestationresponse (n') SN 6: Verificarea rezultatului: Smartphone n = n '? răspuns de atestare de la Google? numele pachetului aplicației este corect? certificatul APK corect? timestamp nou? basicintegrity = adevărat? ctsprofilematch = adevărat? Extrageți lanțul de certificate SSL din attestationresponse Validați lanțul de certificate SSL Verificați dacă numele de gazdă SSL al certificatului leaf = attest.android.com Folosiți cheia publică a certificatului pentru a verifica semnătura attestationresponse Fraunhofer 20 App-Ray SafetyNet Server
SafetyNet: Capcanele Verificarea răspunsului SafetyNet în aplicație este inutilă Poate fi eliminată sau suprascrisă Pentru verificarea în backend, utilizatorul trebuie să fie online. In caz contrar? De exemplu, acoperirea rețelei interioare
Verificarea cu 30% a răspunsului SafetyNet prin intermediul API Google este destinată numai dezvoltării Limitat la 1000 de solicitări Verificarea răspunsului SafetyNet în propriul backend este complicată Ce înseamnă „ctsprofile”? Când este încă „actuală” o marcă de timp? Fraunhofer 21 App-Ray
SafetyNet: Cum funcționează de fapt (chiar acum) Play Store Hash 0x02349272348ab230ef 0x8ba89234c83f39d2e7 0xcab398efa93c23f87ba Valabil? Da da nu 8: sha256 aplicație backend 3: nonce? 4: nonce n 7: attestationresponse (n ') Versiune corectă a serviciilor Google Play? 5: attest (api_key, n) 6: attestationresponse (n ') SN App Hash DB 9: valid 10: Rezultatul 2: dezvoltator apk 1: sha256 (apk) Verificare: Smartphone n = n'? răspuns de atestare de la Google? numele pachetului aplicației este corect? certificatul APK corect? timestamp nou? basicintegrity = adevărat? ctsprofilematch = adevărat? Extrageți lanțul de certificate SSL din attestationresponse Validați lanțul de certificate SSL Verificați dacă numele de gazdă SSL al certificatului leaf = attest.android.com Folosiți cheia publică a certificatului pentru a verifica semnătura attestationresponse Fraunhofer 22 App-Ray SafetyNet Server
Ce aduc măsurile de protecție? Scannerele simple de viruși nu rezolvă o problemă Google și Apple depun eforturi pentru a face platformele mai sigure și pentru a oferi măsuri de protecție Dezvoltatorii sunt încurajați să le folosească Măsuri precum SafetyNet și ATS sunt bine gândite, gratuite și oferă protecție. Dar: dezvoltatorii sunt leneși sub presiune în timp și costuri Mecanismele de protecție nu vă scutesc de muncă, dar generează o susceptibilitate suplimentară la erori și experiența utilizatorului se deteriorează Fraunhofer 23 App-Ray
Concluzie Aproape toate aplicațiile prezintă lacune în materie de securitate Scrierea unei aplicații este ușoară, dar scrierea unei aplicații sigure este dificilă și costisitoare. Chiar și o aplicație nesigură poate pune în pericol toate datele de pe telefon. Aplicațiile dăunătoare pot proveni și din surse de încredere și de la companii cunoscute „Dacă ceva este gratuit, nu sunteți clientul, ci produsul „Fraunhofer 24 App-Ray
Concluzie Ce pot face? Bunul simț Obțineți o prezentare generală: Care sunt datele unde? Pentru ce sunt folosite aplicațiile? Creați un concept de securitate Obțineți informații despre aplicații individuale! Parola dispozitivului tehnologic, criptarea completă a discului activează listele albe. Nu descărcați și nu instalați totul Separați datele profesionale de restul sistemului (soluții pentru containere) Fraunhofer 25 App-Ray