targi mobilne, wiosenne hartowanie czyli jak się nie dać nsa i złośliwej pokojówce, michał...
Post on 12-May-2015
327 Views
Preview:
TRANSCRIPT
wiosenne hartowanie
Mateusz Biliński mateusz.bilinski@lizardmobile.pl
mateusz.bilinski@niebezpiecznik.pl
czyli jak się nie dać nsa i złośliwej pokojówce
Smartphone’y, a my
�2
Dane zapisane
Transport danych
Schemat transportu danych
�3
Schemat transportu danych
�4
GSM WiFi
BTS AP
Schemat transportu danych
�5
GSM WiFi
BTS AP
?
IMSI Catcher
�6
IMSI Catcher
�7
Brak szyfrowania rozmów - reakcja iOS
�8
The big question
�9
A co z szyfrowaniem?!
The big question
�10
A co z szyfrowaniem?!■ Spec? OK ■ Algorytm: A5/1,A5/2 2003+ ■ Klucz: 64 (54) bity ■ Lata 80te i wielkie
decyzjehttp://www.aftenposten.no/nyheter/uriks/Sources-We-were-pressured-to-weaken-the-mobile-security-in-the-80s-7413285.html
Jak się bronić?
�11
https://github.com/SecUpwN/Android-IMSI-Catcher-Detector
Jak się bronić?
�12
Aplikacje z szyfrowaniem end-to-end
https://github.com/WhisperSystems
Jak się bronić?
�13
Aplikacje z szyfrowaniem end-to-end
https://github.com/WhisperSystems
■ open-source ■ iOS coming soon ■ Twitter (listopad 2011)
Jaka dane przechowuje smartphone?
�14
https://www.aclu.org/blog/technology-and-liberty-criminal-law-reform-immigrants-rights/new-document-sheds-light
■ iPhone (2011) ■ Immigration and
Customs Enforcement (ICE)
■ 227 BTS ■ 403 sieci WiFi
Przechowywane dane■ nazwy użytkowników (Disqus real user) ■ hasła; klucze zalogowanych sesji ■ wpisy w serwisach społecznościowych ■ adresy e-mail; wiadomości e-mail (korporacyjne) ■ SMSy; MMSy (2-factor auth) ■ zdjęcia (geoloc w EXIF) (https://twitter.com/NeedADebitCard) ■ filmy geolokalizacja (historia) ■ numery kont bankowych; numery kart kredytowych ■ brak all_my_passwords.txt
�15
iPhone 5S (M7 Motion coprocessor)
�16
http://www.iphoneincanada.ca/news/iphone-5s-motion-co-processor-still-tracks-movement-after-battery-dies/
Adwersarze
✓ Autoskany ✓Autoraporty ✓ Malware ✓ Spyware
✓ Standardowe narzędzia
✓ Manualna analiza
✓ 0-day exploits ✓ własne narzędzia ✓ gov/black_market
�17
Malware (keyloggers) /side-channel
�18
GeorgiaTech (2011)
Malware (keyloggers) /side-channel
�19
GeorgiaTech (2011)
TouchLogger (2011)
Malware (PlaceRaider) (2012)
�20
http://arxiv.org/abs/1209.5982
Malware (PlaceRaider) (2012)
�21
http://arxiv.org/abs/1209.5982
Tor Browser w AppStore
�22
■ ponad 2 miesiące ■ spyware ■ adware
Co robić? Jak żyć?
�23
Update systemu do najnowszej
wersji
Android WebView JavaScript (<4.2)
�24http://www.droidsec.org/tests/addjsif/
iOS WiFi networks (<7.0.6)
�25https://www.imperialviolet.org/2014/02/22/applebug.html
Ważne pytania
�26
rootować czy nie
rootować?
Co robić? Jak żyć?
�28
Blokada ekranu
https://www.youtube.com/watch?v=tTewm0V_5ts
http://www.forbes.com/sites/andygreenberg/2013/09/19/ios-7-bug-lets-anyone-bypass-iphones-lockscreen-to-hijack-photos-email-or-twitter/
■ iOS 7.0.0 (pełny dostęp m.in. do galerii zdjęć) (fixed 7.0.2) ■ Android <4.0 (obejście PatternLock; adb)
zakładając, że działa…
Rozpoznawanie twarzy (Android 4.0+)
�29
Pattern lock (Android)
�30
http://possiblywrong.wordpress.com/2012/07/28/security-of-the-android-pattern-lock/
■ 8 ruchów ~= 5-6 PIN
■ smudge attacks
Touch ID (iPhone 5S)
�31
http://www.macrumors.com/2013/11/22/touch-id-patent-applications-show-details-behind-secure-enclave-and-iphone-5s-implementation-2/
http://www.designntrend.com/articles/11258/20140228/ios-7-1-download-release-update-fix-iphone-5s-issue-touch-id.htm
Fading (fixed: 7.1?)
Lock screen w szczegółach
�32
■ auto-timeout (30 sekund? 1 minuta?) !
■ wygaśnięcie ekranu = autolock !
■ auto-usuwanie danych po przekroczeniu limitu prób
!
■ iOS: wyłączenie Control Center na ekranie blokady
Użyteczność vs bezpieczeństwo
�33
Apple: “…half of iPhone users don’t set a passcode.”
http://qz.com/123486/marissa-mayer-doesnt-use-a-passcode-on-her-phone/
Co robić? Jak żyć?
�34
■ Szyfrowanie pamięci wewnętrznej (Android) (tylko PIN, lub hasło) ■ Wyłączenie opcji developerskich (Android) (od 4.2.2 parowanie z komputerem) ■ Aktywacja Android Device Manager (Android) ■ Aktywacja Find My iPhone (iOS) ■ Aktywacja Remote Wipe (Android, iOS)
Co robić? Jak żyć?
�35
■ Szyfrowanie pamięci wewnętrznej (Android) (tylko PIN, lub hasło) ■ Wyłączenie opcji developerskich (Android) (od 4.2.2 parowanie z komputerem) ■ Aktywacja Android Device Manager (Android) ■ Aktywacja Find My iPhone (iOS) ■ Aktywacja Remote Wipe (Android, iOS)
Android 4.3: wsparcie dla sprzętowego KeyStore
Co robić? Jak żyć?
�36
■ Szyfrowanie pamięci wewnętrznej (Android) (tylko PIN, lub hasło) ■ Wyłączenie opcji developerskich (Android) (od 4.2.2 parowanie z komputerem) ■ Aktywacja Android Device Manager (Android) ■ Aktywacja FindMyPhone (iOS) ■ Aktywacja Remote Wipe (Android, iOS)
Co robić? Jak żyć?
�37
■ Szyfrowanie pamięci wewnętrznej (Android) (tylko PIN, lub hasło) ■ Wyłączenie opcji developerskich (Android) (od 4.2.2 parowanie z komputerem) ■ Aktywacja Android Device Manager (Android) ■ Aktywacja Find My iPhone (iOS) ■ Aktywacja Remote Wipe (Android, iOS)
Find My iPhone
�38
Find My iPhone
�39
Ważne: możliwe wyłączenie, gdy nie ma screen locka (PIN, hasło)
Android Device Manager
�40
Bezpieczeństwo interfejsów radiowych
�41
■ Wyłączenie Bluetooth, gdy nie używany ■ Wyłączenie notyfikacji o sieciach WiFi (Android) ■ Wyłączenie ‘Ask to join networks’ (iOS) ■ Usuwanie zapamiętanych sieci WiFi ■ Wyłączenie Personal HotSpot (iOS) ■ Wyłączenie Tetheringu (Android) ■ Wyłączenie AirDrop (iOS)
Co robić? Jak żyć?
�42
Minimalny Zestaw Aplikacji
…i ich ciągła aktualizacja
Pamiętaj
�43
■ zawierać (nie)zamierzone błędy ■ biblioteki zewnętrzne
Aplikacje mogą:
Pamiętaj
�44
■ zawierać (nie)zamierzone błędy ■ gromadzić dane (czasami) bez Twojej zgody:
Aplikacje mogą:
■ Foursquare (Email, Phone Numbers no warning) ■ Path (Pretty much everything after warning) ■ Instagram (Email, Phone Numbers, First, Last warning) ■ Facebook (Email, Phone Numbers, First, Last warning) ■ Twitter for iOS (Email, Phone Numbers, warning)
Pamiętaj
�45
■ zawierać (nie)zamierzone błędy ■ gromadzić dane (czasami) bez Twojej zgody ■ być czystym malwarem
Aplikacje mogą:
■ dostęp zdalny ■ logowanie klawiszy ■ szpiegowanie pozycji ■ nagrywanie audio
Pamiętaj
�46
■ zawierać (nie)zamierzone błędy ■ gromadzić dane (czasami) bez Twojej zgody ■ być czystym malwarem ■ nie zabezpieczać odpowiednio danych
Aplikacje mogą:
Bezpieczeństwo danych (viaForensics)
�47
Bezpieczeństwo danych (viaForensics)
�48
Bezpieczeństwo danych (viaForensics)
�49
Raport HP Fortify
�50
9/10 aplikacji podatnych
71% podatności po stronie web serwera
75% aplikacji: brak szyfrowania danych
15% aplikacji: hasła/usernames via HTTP
18% pozostałych aplikacji: błędna implementacja SSL/HTTPS
86% aplikacji: brak ochrony kodu
Przykład podatności 1: Google Wallet■ początek 2012
�51https://viaforensics.com/mobile-security/forensics-security-analysis-google-wallet.html
Przykład podatności 1: Google Wallet■ obraz PNG karty kredytowej z wypełnionymi danymi ■ /data/data/com.google.android.apps.walletnfcrel/cache ■ nazwy plików: 32 znaki; hex: 00502c2ef25cff75c6aa0f76a98c2f5f
�52https://viaforensics.com/mobile-security/forensics-security-analysis-google-wallet.html
■ $APP_DIR/databases ■ google_analytics.db ■ walletDatastore ■ webview.db ■ webviewCache.db
Przykład podatności 1: Google Wallet
�53https://viaforensics.com/mobile-security/forensics-security-analysis-google-wallet.html
X3:fc89d233-a55f-4815-9a19-ba9eb121feba $fc89d233-a55f-4815-9a19-ba9eb121feba MasterCard-xxx-9999" Andrew HoogP Imię i nazwisko 99,999.99 Limit karty 2,222.22 Dostępne środki 1,111.11 Do zapłaty Oct 9, 20110 Do dnia &bKhttps://www.accountonline.com/cards/svc/img/mobile/cards/C_DIV_W_Mobile.pngj 9999 Ostatnie 4 cyfry karty Citi 877-762-2989 (…) Citi MasterCardP Card type $a367cb1e-e246-4a39-bd8b-e46f74d4867b 100.00 Email XXXXXX@SOMEEMAILDOMAIN.net Email użyty do rejestracji karty $fc89d233-a55f-4815-9a19-ba9eb121feba (…) 651 South Blvd Adres sklepu, gdzie dokonano zakupu Oak Park, IL 60302 Oak Park, Illinois 60302* Khttps://www.accountonline.com/cards/svc/img/mobile/cards/C_DIV_W_Mobile.png 9999"01*152 Ostanie 4 cyfry i data ważności karty Andrew Hoog8 My name MasterCard-xxx-9999 Ostatnie 4 cyfry (…) @c27e508c6baac1d100a1193300abe7e721c7adc264edfe8b9c68b8613e0debdd MYGMAILACCOUNT@gmail.com*^ Konto GMail
Przykład podatności 1: Google Wallet
�54https://viaforensics.com/mobile-security/forensics-security-analysis-google-wallet.html
10-06 10:06:30.995 I/SIMPLE_SOAP_CLIENT( 401): Sending the following request: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://citi.com/msm/v1.0/paypass/ota/personalization/service" xmlns:mes="http://citi.com/msm/v1.0/paypass/ota/personalization/service/messages" xmlns:com="http://citi.com/msm/v1.0/paypass/ota/personalization/common"> <soapenv:Header/><soapenv:Body><ser:initiatePersonalizationRequest><mes:requestHeader><com:deviceToken></com:deviceToken><com:IMEI>A000002A292F80</com:IMEI><com:CPLC>01:R5BQREeRAHgzABBBApR0lUiWAAAAAAAAAAAIBCYyOTQ3NA==</com:CPLC></mes:requestHeader><mes:KYC><mes:name>xxx</mes:name><mes:accountNumber>xxx9999</mes:accountNumber><mes:expirationDate>xxx</mes:expirationDate><mes:YOB>xxx</mes:YOB><mes:zipCode>xxx</mes:zipCode></
mes:KYC><mes:deviceInfo><com:IMEI>A000002A292F80</com:IMEI></mes:deviceInfo></ser:initiatePersonalizationRequest></soapenv:Body></soapenv:Envelope>
Logi systemowe mogą być odczytywane przez aplikacje (android.permission.READ_LOGS).
Przykład podatności 1: Google Wallet■ tabela ‘metadata’ (security by obscurity?) i 3 wiersze z blobami: ■ rowid: ’gmad_bytes_are_fun’ (zaszyfrowany FileSystem do komunikacji
z SecureElement?)
■ rowid: ’deviceInfo’ (Google ProtocolBuffers): ■ .proto file ■ Unique User IDs (UUID), Google (GAIA) account information
■ Cloud to Device Messaging (C2DM “push notification”) AI,
■ Google Wallet Setup status
■ “TSA” (“Trusted Services”?) status
■ SecureElement status
■ “Card Production Lifecycle” (CPLC) data
■ PIN information section
�55https://zvelo.com/blog/entry/google-wallet-security-pin-exposure-vulnerability
Przykład podatności 1: Google Wallet■ PIN information section ■ sól (salt) ■ SHA256 hex encoded “hash” ■ PINy mogą być tylko 4-cyfrowe ■ Brute-force For The Win! ■ liczymy 10000 hashy SHA256 ■ wymaganie: telefon zrootowany ■ zabezpieczenie Google Wallet: limit 5 niepoprawnych
PINów
�56https://zvelo.com/blog/entry/google-wallet-security-pin-exposure-vulnerability
Przykład podatności 2: Skype■ 2011: CVE-2011-1717 ■ przechowywanie danych poufnych: ■ userID + contact information (DOB)
■ numery telefonów
■ logi czatów
■ baza danych sqlite3 ■ dane niezaszyfrowane ■ uprawnienia: world readable!
�57https://zvelo.com/blog/entry/google-wallet-security-pin-exposure-vulnerability
Instalowanie aplikacji
AppStore: ■ walled garden
�58
Android: ■ Bouncer (skaner) ■ “Verify apps” (poza Play Store)
Kontakt
Pytania?
�59
■ szkolenie “Bezpieczeństwo Aplikacji Mobilnych”■ kod “TARGIMOBILE” = -15%
■ mateusz.bilinski@niebezpiecznik.pl
top related