wiosenne hartowanie
Mateusz Biliński
mateusz.bilinski@lizardmobile.pl
mateusz.bilinski@niebezpiecznik.pl
czyli jak się nie...
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 wiel...
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
...
Jaka dane przechowuje smartphone?
!14
https://www.aclu.org/blog/technology-and-liberty-criminal-law-
reform-immigrants-rig...
Przechowywane dane
■
nazwy użytkowników (Disqus real user)
■
hasła; klucze zalogowanych sesji
■
wpisy w serwisach społeczn...
iPhone 5S (M7 Motion coprocessor)
!16
http://www.iphoneincanada.ca/news/iphone-5s-motion-co-
processor-still-tracks-moveme...
Adwersarze
✓ Autoskany	

✓Autoraporty	

✓ Malware
✓ Spyware
✓ Standardowe
narzędzia	

✓ Manualna analiza
✓ 0-day exploits	...
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)	
!24
http://www.droidsec.org/tests/addjsif/
iOS WiFi networks (<7.0.6)
!25
https://www.imperialviolet.org/2014/02/22/applebug.html
Ważne pytania
!26
rootować
czy nie
rootować?
Fizyczny dostęp do urządzenia
!27Photo: www.thetimes.co.uk (?)
Co robić? Jak żyć?
!28
Blokada ekranu
https://www.youtube.com/watch?v=tTewm0V_5ts
http://www.forbes.com/sites/andygreenber...
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...
Touch ID (iPhone 5S)
!31
http://www.macrumors.com/2013/11/22/touch-id-patent-applications-show-details-behind-
secure-encl...
Lock screen w szczegółach
!32
■
auto-timeout (30 sekund? 1 minuta?)
!
■
wygaśnięcie ekranu = autolock
!
■
auto-usuwanie da...
Użyteczność vs bezpieczeństwo
!33
Apple: “…half of
iPhone users don’t
set a passcode.”
http://qz.com/123486/marissa-mayer-...
Co robić? Jak żyć?
!34
■
Szyfrowanie pamięci wewnętrznej (Android)
(tylko PIN, lub hasło)
■
Wyłączenie opcji developerskic...
Co robić? Jak żyć?
!35
■
Szyfrowanie pamięci wewnętrznej (Android)
(tylko PIN, lub hasło)
■
Wyłączenie opcji developerskic...
Co robić? Jak żyć?
!36
■
Szyfrowanie pamięci wewnętrznej (Android)
(tylko PIN, lub hasło)
■
Wyłączenie opcji developerskic...
Co robić? Jak żyć?
!37
■
Szyfrowanie pamięci wewnętrznej (Android)
(tylko PIN, lub hasło)
■
Wyłączenie opcji developerskic...
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 (...
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 (E...
Pamiętaj
!45
■
zawierać (nie)zamierzone błędy
■
gromadzić dane (czasami) bez Twojej zgody
■
być czystym malwarem
Aplikacje...
Pamiętaj
!46
■
zawierać (nie)zamierzone błędy
■
gromadzić dane (czasami) bez Twojej zgody
■
być czystym malwarem
■
nie zab...
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 dan...
Przykład podatności 1: Google Wallet
■
początek 2012
!51https://viaforensics.com/mobile-security/forensics-security-analys...
Przykład podatności 1: Google Wallet
■
obraz PNG karty kredytowej z wypełnionymi danymi
■
/data/data/com.google.android.ap...
Przykład podatności 1: Google Wallet
!53https://viaforensics.com/mobile-security/forensics-security-analysis-google-wallet...
Przykład podatności 1: Google Wallet
!54https://viaforensics.com/mobile-security/forensics-security-analysis-google-wallet...
Przykład podatności 1: Google Wallet
■
tabela ‘metadata’ (security by obscurity?) i 3 wiersze z blobami:
■
rowid: ’gmad_by...
Przykład podatności 1: Google Wallet
■
PIN information section
■
sól (salt)
■
SHA256 hex encoded “hash”
■
PINy mogą być ty...
Przykład podatności 2: Skype
■
2011: CVE-2011-1717
■
przechowywanie danych poufnych:
■
userID + contact information (DOB)
...
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@niebez...
Upcoming SlideShare
Loading in …5
×

TARGI MOBILNE, Wiosenne hartowanie czyli jak się nie dać nsa i złośliwej pokojówce, Michał Biliński, niebezpiecznik.pl/LizardMobile,

662 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
662
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TARGI MOBILNE, Wiosenne hartowanie czyli jak się nie dać nsa i złośliwej pokojówce, Michał Biliński, niebezpiecznik.pl/LizardMobile,

  1. 1. 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
  2. 2. Smartphone’y, a my !2 Dane zapisane Transport danych
  3. 3. Schemat transportu danych !3
  4. 4. Schemat transportu danych !4 GSM WiFi BTS AP
  5. 5. Schemat transportu danych !5 GSM WiFi BTS AP ?
  6. 6. IMSI Catcher !6
  7. 7. IMSI Catcher !7
  8. 8. Brak szyfrowania rozmów - reakcja iOS !8
  9. 9. The big question !9 A co z szyfrowaniem?!
  10. 10. The big question !10 A co z szyfrowaniem?! ■ Spec? OK ■ Algorytm: A5/1,A5/2 2003+ ■ Klucz: 64 (54) bity ■ Lata 80te i wielkie decyzje http://www.aftenposten.no/nyheter/uriks/Sources-We-were- pressured-to-weaken-the-mobile-security-in- the-80s-7413285.html
  11. 11. Jak się bronić? !11 https://github.com/SecUpwN/Android-IMSI-Catcher-Detector
  12. 12. Jak się bronić? !12 Aplikacje z szyfrowaniem end-to-end https://github.com/WhisperSystems
  13. 13. Jak się bronić? !13 Aplikacje z szyfrowaniem end-to-end https://github.com/WhisperSystems ■ open-source ■ iOS coming soon ■ Twitter (listopad 2011)
  14. 14. 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
  15. 15. 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
  16. 16. iPhone 5S (M7 Motion coprocessor) !16 http://www.iphoneincanada.ca/news/iphone-5s-motion-co- processor-still-tracks-movement-after-battery-dies/
  17. 17. Adwersarze ✓ Autoskany ✓Autoraporty ✓ Malware ✓ Spyware ✓ Standardowe narzędzia ✓ Manualna analiza ✓ 0-day exploits ✓ własne narzędzia ✓ gov/black_market !17
  18. 18. Malware (keyloggers) /side-channel !18 GeorgiaTech (2011)
  19. 19. Malware (keyloggers) /side-channel !19 GeorgiaTech (2011) TouchLogger (2011)
  20. 20. Malware (PlaceRaider) (2012) !20 http://arxiv.org/abs/1209.5982
  21. 21. Malware (PlaceRaider) (2012) !21 http://arxiv.org/abs/1209.5982
  22. 22. Tor Browser w AppStore !22 ■ ponad 2 miesiące ■ spyware ■ adware
  23. 23. Co robić? Jak żyć? !23 Update systemu do najnowszej wersji
  24. 24. Android WebView JavaScript (<4.2) !24 http://www.droidsec.org/tests/addjsif/
  25. 25. iOS WiFi networks (<7.0.6) !25 https://www.imperialviolet.org/2014/02/22/applebug.html
  26. 26. Ważne pytania !26 rootować czy nie rootować?
  27. 27. Fizyczny dostęp do urządzenia !27Photo: www.thetimes.co.uk (?)
  28. 28. 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…
  29. 29. Rozpoznawanie twarzy (Android 4.0+) !29
  30. 30. 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
  31. 31. 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?)
  32. 32. 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
  33. 33. 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/
  34. 34. 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)
  35. 35. 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
  36. 36. 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)
  37. 37. 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)
  38. 38. Find My iPhone !38
  39. 39. Find My iPhone !39 Ważne: możliwe wyłączenie, gdy nie ma screen locka (PIN, hasło)
  40. 40. Android Device Manager !40
  41. 41. 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)
  42. 42. Co robić? Jak żyć? !42 Minimalny Zestaw Aplikacji …i ich ciągła aktualizacja
  43. 43. Pamiętaj !43 ■ zawierać (nie)zamierzone błędy ■ biblioteki zewnętrzne Aplikacje mogą:
  44. 44. 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)
  45. 45. 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
  46. 46. Pamiętaj !46 ■ zawierać (nie)zamierzone błędy ■ gromadzić dane (czasami) bez Twojej zgody ■ być czystym malwarem ■ nie zabezpieczać odpowiednio danych Aplikacje mogą:
  47. 47. Bezpieczeństwo danych (viaForensics) !47
  48. 48. Bezpieczeństwo danych (viaForensics) !48
  49. 49. Bezpieczeństwo danych (viaForensics) !49
  50. 50. 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
  51. 51. Przykład podatności 1: Google Wallet ■ początek 2012 !51https://viaforensics.com/mobile-security/forensics-security-analysis-google-wallet.html
  52. 52. 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
  53. 53. 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
  54. 54. 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).
  55. 55. 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
  56. 56. 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
  57. 57. 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
  58. 58. Instalowanie aplikacji AppStore: ■ walled garden !58 Android: ■ Bouncer (skaner) ■ “Verify apps” (poza Play Store)
  59. 59. Kontakt Pytania? !59 ■ szkolenie “Bezpieczeństwo Aplikacji Mobilnych” ■ kod “TARGIMOBILE” = -15% ■ mateusz.bilinski@niebezpiecznik.pl

×