SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
(NIE)BEZPIECZEŃSTWO APLIKACJI
MOBILNYCH
Najciekawsze przypadki
Sławomir Jasek
SecuRing
KrakDroid, 7.12.2013
Abstrakt
● Whoami
● Kto i po co zaatakuje naszą aplikację
● Analiza ryzyka – podejście racjonalne
● Najciekawsze podatności w aplikacjach
mobilnych - przykłady
● Najważniejsze zasady bezpieczeństwa
# whoami
Konsultant bezpieczeństwa (~ 10 lat), setki projektów, głównie
różnego typu aplikacje
SecuRing (od 2003)
Testowanie i doradztwo dotyczące bezpieczeństwa aplikacji i systemów IT
Jeśli to możliwe w ramach„white-box” (przegląd konfiguracji, kodu,
konsultacje), a także już na etapie definiowania architektury
Wynikiem testu jest dokładny raport opisujący szczegółowo znalezione
podatności (oraz wykonane testy), wraz z rekomendacjami/sposobami
naprawy
Kto i po co zaatakuje naszą aplikację?
„grubszy cwaniak”
„script-kiddie”
Krzysztof Jarzyna
ze Szczecina
Ma motywację, zasoby
oraz możliwości
przeprowadzenia ataku
nakierowanego
Dorwał się do narzędzi,
wali na oślep, zwykle nie
bardzo rozumiejąc co się
dzieje.
Coś mu się przypadkiem
udało (lub nie), i afera
gotowa.
Analiza ryzyka – podejście racjonalne
Profil ryzyka zależy od aplikacji – jej funkcji
biznesowych, potencjalnych strat, zysków dla intruza.
Przykład 1
● Aplikacja mobilna dla kibiców
● M.in. typowanie wyników meczu, wśród prawidłowych
losowanie biletów
● Po wysłaniu typowania w aplikacji znika ta opcja,
można jedynie podglądnąć swój typ
Jak zaatakuje ten proces intruz?
Lokalne proxy – pozwala m.in. na edycję oraz
powtarzanie zleceń HTTP
Jak to zrobić poprawnie?
● Pamiętaj, że ruch pomiędzy aplikacją a
serwerem może być przechwycony i
zmodyfikowany
● SSL nie chroni przed lokalnym tamperingiem
● Walidacja musi być również po stronie
serwera!
● Nie ufaj mechanizmom bezpieczeństwa po
stronie klienta
Ryzyko?
Przykład 2
Aplikacja bankowości mobilnej, do uwierzytelnienia i autoryzacji
wymagany jest kod PIN.
Po 3-krotnym wprowadzeniu błędnego PIN-u konto blokuje się na
serwerze.
Pewne funkcje aplikacji (np. historia transakcji) działają również offline.
Aplikacja musi więc przechowywać lokalnie część danych pobranych z
serwera.
Dane te są trzymane w formie zaszyfrowanej, w prywatnym katalogu
dostępnym jedynie dla tej aplikacji. Do odszyfrowania konieczne jest
podanie PIN-u użytkownika.
Nie użyto stałego klucza zaszytego w aplikacji.
Spojrzenie intruza
● Aby ukraść pieniądze potrzebuje kod PIN
● Załóżmy, że udało mu się przejąć pełną
kontrolę nad urządzeniem mobilnym (np.
kradzież, malware...)
● Jednak nie może podsłuchać kodu PIN – nie
ma możliwości kontroli nad urządzeniem w
trakcie gdy użytkownik korzysta z bankowości
● Jak może uzyskać PIN?
Przykład 2 – proces offline.
Kod PIN jest używany również do odszyfrowania danych trzymanych
lokalnie.
Jest to funkcja, która działa bez połączenia do Internetu, więc kod PIN
nie może być zweryfikowany po stronie serwera.
Nawet jeśli aplikacja się zablokuje po 3 nieudanych próbach, jest to
proces offline. Konto nie zablokuje się na serwerze, a intruz może
odtworzyć stan aplikacji sprzed zablokowania i próbować ponownie.
Czyli - intruz może bez ograniczeń łamać kod PIN offline. Prawidłowy
kod pozna po tym, iż po rozszyfrowaniu uzyska sensowne dane.
Nawet jeśli kod jest złożony (a w praktyce najczęściej to kilka cyfr),
złamanie zajmie mu maksymalnie kilka godzin.
Jak to zrobić poprawnie?
● Wszystkie próby użycia hasła (np. w celu
uwierzytelnienia lub autoryzacji) powinny być
weryfikowane na serwerze, nie lokalnie na urządzeniu.
● Poprawne użycie kryptografii – uwaga na błędy
pozwalające na łamanie siłowe offline.
● Najlepiej nie przechowywać żadnych danych wrażliwych
na urządzeniu, nawet w formie zaszyfrowanej
● Uwaga na logi systemowe itp.
Warto poczytać:
http://wampir.mroczna-zaloga.org/archives/1147-jak-zepsuc-uwierzytelnienie-w-aplikacji-mobilnej.html
Ryzyko?
Przykład 3
Aplikacja mobilna do wyświetlania w czasie
rzeczywistym oraz natychmiastowego zlecania
różnych operacji.
W tym celu opracowano specjalny protokół,
komunikujący się przez SSL z serwerem.
Protokół - architektura
Protokół - pakiety
Protokół
Protokół – wywołanie WS
Protokół – inne metody WS
Metoda RegisterUser
Odpowiedź serwera:
<soapenv:Body>
<registerUserResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<registerUserReturn xsi:type="xsd:string">
&lt;error code=&quot;266&quot; &gt;Incorrect login&lt;/error&gt;
</registerUserReturn>
</registerUserResponse>
</soapenv:Body>
RegisterUser – drążymy dalej
Po dodaniu kolejnych brakujących parametrów:
● Incorrect first name
● Group with name null doesn't exist
● Group with name admin doesn't exist
● Group with name Administrator doesn't exist
● A grupa „Root” ?
Protokół – Game Over
<soapenv:Body>
<registerUserResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<registerUserReturn xsi:type="xsd:string">
User was registered sucessfully with id=5392745
</registerUserReturn>
</registerUserResponse>
</soapenv:Body>
Tak zarejestrowany użytkownik po zalogowaniu mógł
zarządzać zasobami WSZYSTKICH INNYCH
UŻYTKOWNIKÓW SYSTEMU
Walidacja, separacja przywilejów,
wiele poziomów zabezpieczeń...
Inicjalizacja mobilnego kanału
bankowości
Bankowość internetowa, logowanie za pomocą hasła,
autoryzacja operacji za pomocą kodów SMS.
Aplikacja bankowości mobilnej, zabezpieczona za
pomocą PIN-u (uwierzytelnienie, autoryzacja
transakcji).
Solidna kryptografia w procesie dodawania nowego
urządzenia do konta, oraz w trakcie korzystania z
bankowości.
Proces przemyślany, aby użytkownik nie zrobił
sobie krzywdy.
Inicjalizacja mobilnego kanału -
proces
● Po zalogowaniu w serwisie www, użytkownik wybiera opcję dodania
nowego urządzenia mobilnego. Wprowadza w formularzu nowy kod
PIN. Wyświetla się kod QR („seed” kryptograficzny) do
zeskanowania w urządzeniu.
● Użytkownik skanuje kod QR w telefonie. Podaje na urządzeniu ten
sam kod PIN.
● Aplikacja mobilna przesyła do serwera zaszyfrowany PIN-em „seed”
● Serwer porównuje, czy dane się zgadzają
● W aplikacji www należy następnie potwierdzić dodanie nowego
urządzenia, klikając przycisk „Akceptuj”.
Jak patrzy na to intruz?
● Wyobraźmy sobie, że intruz przejął kontrolę nad
komputerem użytkownika (np. malware)
● Poznał login i hasło do bankowości internetowej. Nie
może jednak ukraść pieniędzy, ponieważ nie ma
dostępu do kodów sms
● Ale – przecież autoryzacja transakcji możliwa jest
również za pomocą aplikacji mobilnej
● Jak przejąć aplikację mobilną?
Inicjalizacja mobilnego kanału - problem
Brak autoryzacji procesu dodawania nowego
urządzenia mobilnego!
Malware działający na stacji użytkownika
może dopisać sobie - bez jego wiedzy - nowe
urządzenie mobilne, uzyskując w ten sposób
możliwość autoryzacji transakcji.
ragecomic.fr
BankDroid
● Aplikacja służy do informowania online o saldach oraz
zmianach na kontach różnych skandynawskich banków
● Działa w tle, odpytując o status co chwilę
● Łączy się automatycznie z bankami również gdy telefon
jest podłączony do niezaufanych sieci
● 100 000 – 500 000 instalacji
https://play.google.com/store/apps/details?id=com.liato.bankdroid
BankDroid – kod źródłowy (GPL)
CELOWO wyłączono weryfikację certyfikatów SSL banków:
public Urllib(boolean acceptInvalidCertificates) {
this(acceptInvalidCertificates, false);
}
public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType)
throws java.security.cert.CertificateException {
// TODO Auto-generated method stub
}
https://github.com/liato/android-bankdroid
BankDroid – i tak 21 razy ;)
src/com/liato/bankdroid/banking/banks $ grep "Urllib(true)" *
AbsIkanoPartner.java
Bioklubben.java
DanskeBank.java
DinersClub.java
EasyCard.java
Eurocard.java
Everydaycard.java
FirstCard.java
ICA.java
IkanoBank.java
IkanoPartnerBase.java
Jojo.java
OKQ8.java
PayPal.java
Payson.java
PlusGirot.java
SEB.java
SEBKortBase.java
Steam.java
Vasttrafik.java
Volvofinans.java
MITM na SSL? Ale kto by to potrafił?!!
To przecież takie trudne!
Czyżby?
dSploit – dzieciak sąsiadów już ma
Bardzo prosty interfejs, do obsługi przez laika.
WiFi Scanning & Common Router Key Cracking
Deep Inspection
Vulnerability Search
Multi Protocol Login Cracker
Packet Forging with Wake On Lan Support
HTTPS/SSL Support (SSL Stripping + HTTPS -> Redirection)
MITM Realtime Network Stats
MITM Multi Protocol Password Sniffing
MITM HTTP/HTTPS Session Hijacking
MITM HTTP/HTTPS Hijacked Session File Persistance
MITM HTTP/HTTPS Realtime Manipulation
GPL, do pobrania z http://dsploit.net
Przejęcie konta PayPal
Mały eksperyment
Kraków, 7.12.2013, ~13.30. MITM – podmiana obrazków (dSploit).
MITM na SSL – prawidłowa (?) reakcja
Nie wymagaj od użytkowników zbyt wiele!
Test na użytkownikach aplikacji Android – okienko
udające instalację nowego CA w telefonie.
Po zainstalowaniu kontrolowanego przez intruza CA, może on
przeprowadzić atak MITM na dowolne połączenie SSL w sposób
niezauważalny dla ofiary!
Mam nowy certyfikat – hurra!
● 73% osób zaakceptowało nowe CA – przez co stali się podatni na atak MITM
- 77% z nich było przekonanych, iż w ten sposób zwiększyli swoje
bezpieczeństwo
- tylko 2% podejrzewało, iż instalacja nowego CA mogła mieć negatywny
wpływ na ich prywatność
źródło: https://www.owasp.org/images/7/77/Hunting_Down_Broken_SSL_in_Android_Apps_-_Sascha_Fahl%2BMarian_Harbach%2BMathew_Smith.pdf
Wnioski
● Nie zadawaj trudnych pytań!
● Rozwiązanie: certificate pinning.
picardfacepalm.com
Podejście racjonalne
● Kto i po co chciałby zaatakować
naszą aplikację? Jakich zasobów do
tego potrzebuje?
● Koszt zabezpieczenia nie może być
większy niż wartość chronionych
zasobów
● Negatywny wpływ na używalność czy
dostępność
● Przyzwyczajenia użytkowników
● Uwaga na fałszywe poczucie
bezpieczeństwa i odpowiedzialność
Andrzej Tobis - Kierownica
www.otwartazacheta.pl
Mniejsze ryzyko
● Przechowywanie danych wrażliwych w pamięci operacyjnej
urządzenia w trakcie pracy aplikacji.
● Użycie klawiatury systemowej - niektóre implementacje
zostawiały w systemie informacje o wciskanych klawiszach.
● Brak możliwości przeniesienia na kartę SD
● ...
Nawet jeśli ryzyko nie jest wysokie (trudność w wykorzystaniu),
zabezpieczenie może być wdrożone z powodów wizerunkowych.
Mniejsze ryzyko
Pomimo istotnych skutków, warunki wykorzystania
podatności są bardzo trudne do spełnienia
Pamiętaj!
Myśl o bezpieczeństwie – już na etapie projektowania!
Bezpieczeństwo transmisji.
Lokalnie przechowywane dane.
Środowisko po stronie serwera.
Wiele warstw zabezpieczeń, zasada najmniejszych przywilejów.
Nie wymagaj od użytkownika zbyt wiele.
Andrzej Tobis - Dodawanie
www.otwartazacheta.pl
Merry Hacking X-Mas!
www.securing.pl/konkurs/
● I miejsce - Płatny, miesięczny staż w naszej
firmie.
● II miejsce - Bilet wstępu na konferencję
Confidence 2014.
● III miejsce - Książka "The Web Application
Hacker's Handbook".
Dziękuję!
slawomir.jasek@securing.pl

Weitere ähnliche Inhalte

Was ist angesagt?

Pentester - fakty i mity
Pentester - fakty i mityPentester - fakty i mity
Pentester - fakty i mityLogicaltrust pl
 
Bankowość i płatności mobilne - Jak zrobić to bezpiecznie?
Bankowość i płatności mobilne - Jak zrobić to bezpiecznie?Bankowość i płatności mobilne - Jak zrobić to bezpiecznie?
Bankowość i płatności mobilne - Jak zrobić to bezpiecznie?SecuRing
 
Możliwości złośliwego oprogramowania na platformy mobilne
Możliwości złośliwego oprogramowania na platformy mobilneMożliwości złośliwego oprogramowania na platformy mobilne
Możliwości złośliwego oprogramowania na platformy mobilneSecuRing
 
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...Logicaltrust pl
 
Malware vs autoryzacja transakcji
Malware vs autoryzacja transakcjiMalware vs autoryzacja transakcji
Malware vs autoryzacja transakcjiSecuRing
 
Wyciek danych w aplikacjach - Artur Kalinowski, 4Developers
Wyciek danych w aplikacjach - Artur Kalinowski, 4DevelopersWyciek danych w aplikacjach - Artur Kalinowski, 4Developers
Wyciek danych w aplikacjach - Artur Kalinowski, 4DevelopersLogicaltrust pl
 
Testy bezpieczeństwa - niesztampowe przypadki
Testy bezpieczeństwa - niesztampowe przypadkiTesty bezpieczeństwa - niesztampowe przypadki
Testy bezpieczeństwa - niesztampowe przypadkiLogicaltrust pl
 
Krytyczne błędy konfiguracji
Krytyczne błędy konfiguracjiKrytyczne błędy konfiguracji
Krytyczne błędy konfiguracjiLogicaltrust pl
 
JDD 2017: Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...
JDD 2017:  Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...JDD 2017:  Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...
JDD 2017: Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...PROIDEA
 
Narzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWW
Narzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWWNarzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWW
Narzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWWLogicaltrust pl
 

Was ist angesagt? (11)

Pentester - fakty i mity
Pentester - fakty i mityPentester - fakty i mity
Pentester - fakty i mity
 
Bankowość i płatności mobilne - Jak zrobić to bezpiecznie?
Bankowość i płatności mobilne - Jak zrobić to bezpiecznie?Bankowość i płatności mobilne - Jak zrobić to bezpiecznie?
Bankowość i płatności mobilne - Jak zrobić to bezpiecznie?
 
Możliwości złośliwego oprogramowania na platformy mobilne
Możliwości złośliwego oprogramowania na platformy mobilneMożliwości złośliwego oprogramowania na platformy mobilne
Możliwości złośliwego oprogramowania na platformy mobilne
 
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
 
Malware vs autoryzacja transakcji
Malware vs autoryzacja transakcjiMalware vs autoryzacja transakcji
Malware vs autoryzacja transakcji
 
Wyciek danych w aplikacjach - Artur Kalinowski, 4Developers
Wyciek danych w aplikacjach - Artur Kalinowski, 4DevelopersWyciek danych w aplikacjach - Artur Kalinowski, 4Developers
Wyciek danych w aplikacjach - Artur Kalinowski, 4Developers
 
Testy bezpieczeństwa - niesztampowe przypadki
Testy bezpieczeństwa - niesztampowe przypadkiTesty bezpieczeństwa - niesztampowe przypadki
Testy bezpieczeństwa - niesztampowe przypadki
 
Wyscig o czynnik ludzki
Wyscig o czynnik ludzkiWyscig o czynnik ludzki
Wyscig o czynnik ludzki
 
Krytyczne błędy konfiguracji
Krytyczne błędy konfiguracjiKrytyczne błędy konfiguracji
Krytyczne błędy konfiguracji
 
JDD 2017: Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...
JDD 2017:  Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...JDD 2017:  Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...
JDD 2017: Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...
 
Narzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWW
Narzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWWNarzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWW
Narzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWW
 

Andere mochten auch

Why we share: The contextual accomplishment of privacy
Why we share: The contextual accomplishment of privacyWhy we share: The contextual accomplishment of privacy
Why we share: The contextual accomplishment of privacyZizi Papacharissi
 
Projekt uchwały i regulaminu korzystania z parków miejskich zlokalizowanych n...
Projekt uchwały i regulaminu korzystania z parków miejskich zlokalizowanych n...Projekt uchwały i regulaminu korzystania z parków miejskich zlokalizowanych n...
Projekt uchwały i regulaminu korzystania z parków miejskich zlokalizowanych n...Wroclaw
 
ES 3-6 Montauban-sur-L'Ouvèze / Laborel (19.34km)
 ES 3-6 Montauban-sur-L'Ouvèze / Laborel (19.34km) ES 3-6 Montauban-sur-L'Ouvèze / Laborel (19.34km)
ES 3-6 Montauban-sur-L'Ouvèze / Laborel (19.34km)LECREURER
 
Pozwolenie Konserwatorskie dla WS7
Pozwolenie Konserwatorskie dla WS7Pozwolenie Konserwatorskie dla WS7
Pozwolenie Konserwatorskie dla WS7Wroclaw
 
Testowanie bezpieczeństwa aplikacji mobilnych
Testowanie bezpieczeństwa aplikacji mobilnychTestowanie bezpieczeństwa aplikacji mobilnych
Testowanie bezpieczeństwa aplikacji mobilnychSlawomir Jasek
 
ES 13-15 Sospel / Breil-sur-Roya (16.55km)
ES 13-15 Sospel / Breil-sur-Roya (16.55km)ES 13-15 Sospel / Breil-sur-Roya (16.55km)
ES 13-15 Sospel / Breil-sur-Roya (16.55km)LECREURER
 
WBO 2017 spotkania informacyjne
WBO 2017 spotkania informacyjneWBO 2017 spotkania informacyjne
WBO 2017 spotkania informacyjneWroclaw
 
IS10 Final Presentation.pptx
IS10 Final Presentation.pptxIS10 Final Presentation.pptx
IS10 Final Presentation.pptxDiana Ascher
 
Εγγραφές σε εκκλησιαστικά σχολεία
Εγγραφές σε εκκλησιαστικά σχολείαΕγγραφές σε εκκλησιαστικά σχολεία
Εγγραφές σε εκκλησιαστικά σχολείαΓιώργος Γαμβρινός
 
Tropical Herbs
Tropical HerbsTropical Herbs
Tropical Herbsabdrazy
 
Dyrektywa Unii Europejskiej w zakresie walki z unikaniem opodatkowania
Dyrektywa Unii Europejskiej w zakresie walki z unikaniem opodatkowaniaDyrektywa Unii Europejskiej w zakresie walki z unikaniem opodatkowania
Dyrektywa Unii Europejskiej w zakresie walki z unikaniem opodatkowaniaPwC Polska
 
The Impact of Computer Usage on Academic Performance: Evidence from a Randomi...
The Impact of Computer Usage on Academic Performance: Evidence from a Randomi...The Impact of Computer Usage on Academic Performance: Evidence from a Randomi...
The Impact of Computer Usage on Academic Performance: Evidence from a Randomi...Γιώργος Γαμβρινός
 
Artistry skincare consultation
Artistry skincare consultationArtistry skincare consultation
Artistry skincare consultationioannis76
 
11 ge lecture presentation
11 ge lecture presentation11 ge lecture presentation
11 ge lecture presentationmahmood jassim
 
Erasmus+ Edukacja szkolna 2016
Erasmus+ Edukacja szkolna 2016Erasmus+ Edukacja szkolna 2016
Erasmus+ Edukacja szkolna 2016FRSE
 
BASIC STUDY ABOUT SPACE ELEVATOR
BASIC STUDY ABOUT SPACE ELEVATOR BASIC STUDY ABOUT SPACE ELEVATOR
BASIC STUDY ABOUT SPACE ELEVATOR Nikul Babu
 
CLIMATE CHANGE: TRUTH THAT HURTS YET WE MUST LEARN (Part 1 of the Artifact)
CLIMATE CHANGE: TRUTH THAT HURTS YET WE MUST LEARN (Part 1 of the Artifact)CLIMATE CHANGE: TRUTH THAT HURTS YET WE MUST LEARN (Part 1 of the Artifact)
CLIMATE CHANGE: TRUTH THAT HURTS YET WE MUST LEARN (Part 1 of the Artifact)Vicente Antofina
 

Andere mochten auch (18)

Why we share: The contextual accomplishment of privacy
Why we share: The contextual accomplishment of privacyWhy we share: The contextual accomplishment of privacy
Why we share: The contextual accomplishment of privacy
 
Projekt uchwały i regulaminu korzystania z parków miejskich zlokalizowanych n...
Projekt uchwały i regulaminu korzystania z parków miejskich zlokalizowanych n...Projekt uchwały i regulaminu korzystania z parków miejskich zlokalizowanych n...
Projekt uchwały i regulaminu korzystania z parków miejskich zlokalizowanych n...
 
ES 3-6 Montauban-sur-L'Ouvèze / Laborel (19.34km)
 ES 3-6 Montauban-sur-L'Ouvèze / Laborel (19.34km) ES 3-6 Montauban-sur-L'Ouvèze / Laborel (19.34km)
ES 3-6 Montauban-sur-L'Ouvèze / Laborel (19.34km)
 
Pozwolenie Konserwatorskie dla WS7
Pozwolenie Konserwatorskie dla WS7Pozwolenie Konserwatorskie dla WS7
Pozwolenie Konserwatorskie dla WS7
 
Testowanie bezpieczeństwa aplikacji mobilnych
Testowanie bezpieczeństwa aplikacji mobilnychTestowanie bezpieczeństwa aplikacji mobilnych
Testowanie bezpieczeństwa aplikacji mobilnych
 
ES 13-15 Sospel / Breil-sur-Roya (16.55km)
ES 13-15 Sospel / Breil-sur-Roya (16.55km)ES 13-15 Sospel / Breil-sur-Roya (16.55km)
ES 13-15 Sospel / Breil-sur-Roya (16.55km)
 
WBO 2017 spotkania informacyjne
WBO 2017 spotkania informacyjneWBO 2017 spotkania informacyjne
WBO 2017 spotkania informacyjne
 
IS10 Final Presentation.pptx
IS10 Final Presentation.pptxIS10 Final Presentation.pptx
IS10 Final Presentation.pptx
 
Εγγραφές σε εκκλησιαστικά σχολεία
Εγγραφές σε εκκλησιαστικά σχολείαΕγγραφές σε εκκλησιαστικά σχολεία
Εγγραφές σε εκκλησιαστικά σχολεία
 
Tropical Herbs
Tropical HerbsTropical Herbs
Tropical Herbs
 
Dyrektywa Unii Europejskiej w zakresie walki z unikaniem opodatkowania
Dyrektywa Unii Europejskiej w zakresie walki z unikaniem opodatkowaniaDyrektywa Unii Europejskiej w zakresie walki z unikaniem opodatkowania
Dyrektywa Unii Europejskiej w zakresie walki z unikaniem opodatkowania
 
The Impact of Computer Usage on Academic Performance: Evidence from a Randomi...
The Impact of Computer Usage on Academic Performance: Evidence from a Randomi...The Impact of Computer Usage on Academic Performance: Evidence from a Randomi...
The Impact of Computer Usage on Academic Performance: Evidence from a Randomi...
 
Artistry skincare consultation
Artistry skincare consultationArtistry skincare consultation
Artistry skincare consultation
 
11 ge lecture presentation
11 ge lecture presentation11 ge lecture presentation
11 ge lecture presentation
 
Erasmus+ Edukacja szkolna 2016
Erasmus+ Edukacja szkolna 2016Erasmus+ Edukacja szkolna 2016
Erasmus+ Edukacja szkolna 2016
 
BASIC STUDY ABOUT SPACE ELEVATOR
BASIC STUDY ABOUT SPACE ELEVATOR BASIC STUDY ABOUT SPACE ELEVATOR
BASIC STUDY ABOUT SPACE ELEVATOR
 
CLIMATE CHANGE: TRUTH THAT HURTS YET WE MUST LEARN (Part 1 of the Artifact)
CLIMATE CHANGE: TRUTH THAT HURTS YET WE MUST LEARN (Part 1 of the Artifact)CLIMATE CHANGE: TRUTH THAT HURTS YET WE MUST LEARN (Part 1 of the Artifact)
CLIMATE CHANGE: TRUTH THAT HURTS YET WE MUST LEARN (Part 1 of the Artifact)
 
Zrozumieć pokolenie Y
Zrozumieć pokolenie YZrozumieć pokolenie Y
Zrozumieć pokolenie Y
 

Ähnlich wie (Nie)bezpieczenstwo aplikacji mobilnych

Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...
Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...
Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...SecuRing
 
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzyka
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzykaZagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzyka
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzykaSecuRing
 
Szpiegowanie w internecie
Szpiegowanie w internecieSzpiegowanie w internecie
Szpiegowanie w internecieDorota Ręba
 
PLNOG14: Darmowe narzędzia wspomagające proces zabezpieczania Twojej firmy - ...
PLNOG14: Darmowe narzędzia wspomagające proces zabezpieczania Twojej firmy - ...PLNOG14: Darmowe narzędzia wspomagające proces zabezpieczania Twojej firmy - ...
PLNOG14: Darmowe narzędzia wspomagające proces zabezpieczania Twojej firmy - ...PROIDEA
 
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...Logicaltrust pl
 
Bezpieczne dane w aplikacjach java
Bezpieczne dane w aplikacjach javaBezpieczne dane w aplikacjach java
Bezpieczne dane w aplikacjach javaSages
 
Czy systematyczne podejście do testów bezpieczeństwa się opłaca?
Czy systematyczne podejście do testów bezpieczeństwa się opłaca?Czy systematyczne podejście do testów bezpieczeństwa się opłaca?
Czy systematyczne podejście do testów bezpieczeństwa się opłaca?Logicaltrust pl
 
Owasp top 10 2010 final PL Beta
Owasp top 10   2010 final PL BetaOwasp top 10   2010 final PL Beta
Owasp top 10 2010 final PL BetaThink Secure
 
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...Logicaltrust pl
 
Bezpieczenstwo sieci komputerowych
Bezpieczenstwo sieci komputerowychBezpieczenstwo sieci komputerowych
Bezpieczenstwo sieci komputerowychBpatryczek
 
Bezpieczne korzystanie z platformy e sklepu ma znaczenie
Bezpieczne korzystanie z platformy e sklepu ma znaczenieBezpieczne korzystanie z platformy e sklepu ma znaczenie
Bezpieczne korzystanie z platformy e sklepu ma znaczenieCyberlaw Beata Marek
 
Sześć sposobów na przejęcie sieci przemysłowej w twojej firmie
Sześć sposobów na przejęcie sieci przemysłowej w twojej firmieSześć sposobów na przejęcie sieci przemysłowej w twojej firmie
Sześć sposobów na przejęcie sieci przemysłowej w twojej firmieSecuRing
 
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...Logicaltrust pl
 
Darmowe narzędzia wspomagające procesy zabezpieczania infrastruktury firmowej.
Darmowe narzędzia wspomagające procesy zabezpieczania infrastruktury firmowej.Darmowe narzędzia wspomagające procesy zabezpieczania infrastruktury firmowej.
Darmowe narzędzia wspomagające procesy zabezpieczania infrastruktury firmowej.Logicaltrust pl
 
CONFidence 2015: APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wy...
CONFidence 2015: APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wy...CONFidence 2015: APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wy...
CONFidence 2015: APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wy...PROIDEA
 
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech DworakowskiPROIDEA
 
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...The Software House
 

Ähnlich wie (Nie)bezpieczenstwo aplikacji mobilnych (20)

Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...
Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...
Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...
 
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzyka
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzykaZagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzyka
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzyka
 
Szpiegowanie w internecie
Szpiegowanie w internecieSzpiegowanie w internecie
Szpiegowanie w internecie
 
PLNOG14: Darmowe narzędzia wspomagające proces zabezpieczania Twojej firmy - ...
PLNOG14: Darmowe narzędzia wspomagające proces zabezpieczania Twojej firmy - ...PLNOG14: Darmowe narzędzia wspomagające proces zabezpieczania Twojej firmy - ...
PLNOG14: Darmowe narzędzia wspomagające proces zabezpieczania Twojej firmy - ...
 
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
 
Bezpieczne dane w aplikacjach java
Bezpieczne dane w aplikacjach javaBezpieczne dane w aplikacjach java
Bezpieczne dane w aplikacjach java
 
Czy systematyczne podejście do testów bezpieczeństwa się opłaca?
Czy systematyczne podejście do testów bezpieczeństwa się opłaca?Czy systematyczne podejście do testów bezpieczeństwa się opłaca?
Czy systematyczne podejście do testów bezpieczeństwa się opłaca?
 
Owasp top 10 2010 final PL Beta
Owasp top 10   2010 final PL BetaOwasp top 10   2010 final PL Beta
Owasp top 10 2010 final PL Beta
 
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
 
Bezpieczenstwo sieci komputerowych
Bezpieczenstwo sieci komputerowychBezpieczenstwo sieci komputerowych
Bezpieczenstwo sieci komputerowych
 
Devops security
Devops securityDevops security
Devops security
 
Bezpieczne korzystanie z platformy e sklepu ma znaczenie
Bezpieczne korzystanie z platformy e sklepu ma znaczenieBezpieczne korzystanie z platformy e sklepu ma znaczenie
Bezpieczne korzystanie z platformy e sklepu ma znaczenie
 
Sześć sposobów na przejęcie sieci przemysłowej w twojej firmie
Sześć sposobów na przejęcie sieci przemysłowej w twojej firmieSześć sposobów na przejęcie sieci przemysłowej w twojej firmie
Sześć sposobów na przejęcie sieci przemysłowej w twojej firmie
 
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
 
Darmowe narzędzia wspomagające procesy zabezpieczania infrastruktury firmowej.
Darmowe narzędzia wspomagające procesy zabezpieczania infrastruktury firmowej.Darmowe narzędzia wspomagające procesy zabezpieczania infrastruktury firmowej.
Darmowe narzędzia wspomagające procesy zabezpieczania infrastruktury firmowej.
 
CONFidence 2015: APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wy...
CONFidence 2015: APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wy...CONFidence 2015: APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wy...
CONFidence 2015: APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wy...
 
4
44
4
 
Ekran system - prezentacja
Ekran system - prezentacjaEkran system - prezentacja
Ekran system - prezentacja
 
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
 
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
 

Mehr von Slawomir Jasek

Hardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshopHardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshopSlawomir Jasek
 
A 2018 practical guide to hacking RFID/NFC
A 2018 practical guide to hacking RFID/NFCA 2018 practical guide to hacking RFID/NFC
A 2018 practical guide to hacking RFID/NFCSlawomir Jasek
 
Cant touch this: cloning any Android HCE contactless card
Cant touch this: cloning any Android HCE contactless cardCant touch this: cloning any Android HCE contactless card
Cant touch this: cloning any Android HCE contactless cardSlawomir Jasek
 
Gattacking Bluetooth Smart devices - introducing new BLE MITM proxy tool
Gattacking Bluetooth Smart devices - introducing new BLE MITM proxy toolGattacking Bluetooth Smart devices - introducing new BLE MITM proxy tool
Gattacking Bluetooth Smart devices - introducing new BLE MITM proxy toolSlawomir Jasek
 
Hacking Bluetooth Smart
Hacking Bluetooth SmartHacking Bluetooth Smart
Hacking Bluetooth SmartSlawomir Jasek
 
IoThings you don't even need to hack
IoThings you don't even need to hackIoThings you don't even need to hack
IoThings you don't even need to hackSlawomir Jasek
 
Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by defaultSlawomir Jasek
 
Shameful secrets of proprietary network protocols
Shameful secrets of proprietary network protocolsShameful secrets of proprietary network protocols
Shameful secrets of proprietary network protocolsSlawomir Jasek
 

Mehr von Slawomir Jasek (8)

Hardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshopHardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshop
 
A 2018 practical guide to hacking RFID/NFC
A 2018 practical guide to hacking RFID/NFCA 2018 practical guide to hacking RFID/NFC
A 2018 practical guide to hacking RFID/NFC
 
Cant touch this: cloning any Android HCE contactless card
Cant touch this: cloning any Android HCE contactless cardCant touch this: cloning any Android HCE contactless card
Cant touch this: cloning any Android HCE contactless card
 
Gattacking Bluetooth Smart devices - introducing new BLE MITM proxy tool
Gattacking Bluetooth Smart devices - introducing new BLE MITM proxy toolGattacking Bluetooth Smart devices - introducing new BLE MITM proxy tool
Gattacking Bluetooth Smart devices - introducing new BLE MITM proxy tool
 
Hacking Bluetooth Smart
Hacking Bluetooth SmartHacking Bluetooth Smart
Hacking Bluetooth Smart
 
IoThings you don't even need to hack
IoThings you don't even need to hackIoThings you don't even need to hack
IoThings you don't even need to hack
 
Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by default
 
Shameful secrets of proprietary network protocols
Shameful secrets of proprietary network protocolsShameful secrets of proprietary network protocols
Shameful secrets of proprietary network protocols
 

(Nie)bezpieczenstwo aplikacji mobilnych

  • 2. Abstrakt ● Whoami ● Kto i po co zaatakuje naszą aplikację ● Analiza ryzyka – podejście racjonalne ● Najciekawsze podatności w aplikacjach mobilnych - przykłady ● Najważniejsze zasady bezpieczeństwa
  • 3. # whoami Konsultant bezpieczeństwa (~ 10 lat), setki projektów, głównie różnego typu aplikacje SecuRing (od 2003) Testowanie i doradztwo dotyczące bezpieczeństwa aplikacji i systemów IT Jeśli to możliwe w ramach„white-box” (przegląd konfiguracji, kodu, konsultacje), a także już na etapie definiowania architektury Wynikiem testu jest dokładny raport opisujący szczegółowo znalezione podatności (oraz wykonane testy), wraz z rekomendacjami/sposobami naprawy
  • 4. Kto i po co zaatakuje naszą aplikację? „grubszy cwaniak” „script-kiddie” Krzysztof Jarzyna ze Szczecina Ma motywację, zasoby oraz możliwości przeprowadzenia ataku nakierowanego Dorwał się do narzędzi, wali na oślep, zwykle nie bardzo rozumiejąc co się dzieje. Coś mu się przypadkiem udało (lub nie), i afera gotowa.
  • 5. Analiza ryzyka – podejście racjonalne Profil ryzyka zależy od aplikacji – jej funkcji biznesowych, potencjalnych strat, zysków dla intruza.
  • 6. Przykład 1 ● Aplikacja mobilna dla kibiców ● M.in. typowanie wyników meczu, wśród prawidłowych losowanie biletów ● Po wysłaniu typowania w aplikacji znika ta opcja, można jedynie podglądnąć swój typ Jak zaatakuje ten proces intruz?
  • 7. Lokalne proxy – pozwala m.in. na edycję oraz powtarzanie zleceń HTTP
  • 8. Jak to zrobić poprawnie? ● Pamiętaj, że ruch pomiędzy aplikacją a serwerem może być przechwycony i zmodyfikowany ● SSL nie chroni przed lokalnym tamperingiem ● Walidacja musi być również po stronie serwera! ● Nie ufaj mechanizmom bezpieczeństwa po stronie klienta
  • 10. Przykład 2 Aplikacja bankowości mobilnej, do uwierzytelnienia i autoryzacji wymagany jest kod PIN. Po 3-krotnym wprowadzeniu błędnego PIN-u konto blokuje się na serwerze. Pewne funkcje aplikacji (np. historia transakcji) działają również offline. Aplikacja musi więc przechowywać lokalnie część danych pobranych z serwera. Dane te są trzymane w formie zaszyfrowanej, w prywatnym katalogu dostępnym jedynie dla tej aplikacji. Do odszyfrowania konieczne jest podanie PIN-u użytkownika. Nie użyto stałego klucza zaszytego w aplikacji.
  • 11. Spojrzenie intruza ● Aby ukraść pieniądze potrzebuje kod PIN ● Załóżmy, że udało mu się przejąć pełną kontrolę nad urządzeniem mobilnym (np. kradzież, malware...) ● Jednak nie może podsłuchać kodu PIN – nie ma możliwości kontroli nad urządzeniem w trakcie gdy użytkownik korzysta z bankowości ● Jak może uzyskać PIN?
  • 12. Przykład 2 – proces offline. Kod PIN jest używany również do odszyfrowania danych trzymanych lokalnie. Jest to funkcja, która działa bez połączenia do Internetu, więc kod PIN nie może być zweryfikowany po stronie serwera. Nawet jeśli aplikacja się zablokuje po 3 nieudanych próbach, jest to proces offline. Konto nie zablokuje się na serwerze, a intruz może odtworzyć stan aplikacji sprzed zablokowania i próbować ponownie. Czyli - intruz może bez ograniczeń łamać kod PIN offline. Prawidłowy kod pozna po tym, iż po rozszyfrowaniu uzyska sensowne dane. Nawet jeśli kod jest złożony (a w praktyce najczęściej to kilka cyfr), złamanie zajmie mu maksymalnie kilka godzin.
  • 13. Jak to zrobić poprawnie? ● Wszystkie próby użycia hasła (np. w celu uwierzytelnienia lub autoryzacji) powinny być weryfikowane na serwerze, nie lokalnie na urządzeniu. ● Poprawne użycie kryptografii – uwaga na błędy pozwalające na łamanie siłowe offline. ● Najlepiej nie przechowywać żadnych danych wrażliwych na urządzeniu, nawet w formie zaszyfrowanej ● Uwaga na logi systemowe itp. Warto poczytać: http://wampir.mroczna-zaloga.org/archives/1147-jak-zepsuc-uwierzytelnienie-w-aplikacji-mobilnej.html
  • 15. Przykład 3 Aplikacja mobilna do wyświetlania w czasie rzeczywistym oraz natychmiastowego zlecania różnych operacji. W tym celu opracowano specjalny protokół, komunikujący się przez SSL z serwerem.
  • 20. Protokół – inne metody WS
  • 21. Metoda RegisterUser Odpowiedź serwera: <soapenv:Body> <registerUserResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <registerUserReturn xsi:type="xsd:string"> &lt;error code=&quot;266&quot; &gt;Incorrect login&lt;/error&gt; </registerUserReturn> </registerUserResponse> </soapenv:Body>
  • 22. RegisterUser – drążymy dalej Po dodaniu kolejnych brakujących parametrów: ● Incorrect first name ● Group with name null doesn't exist ● Group with name admin doesn't exist ● Group with name Administrator doesn't exist ● A grupa „Root” ?
  • 23. Protokół – Game Over <soapenv:Body> <registerUserResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <registerUserReturn xsi:type="xsd:string"> User was registered sucessfully with id=5392745 </registerUserReturn> </registerUserResponse> </soapenv:Body> Tak zarejestrowany użytkownik po zalogowaniu mógł zarządzać zasobami WSZYSTKICH INNYCH UŻYTKOWNIKÓW SYSTEMU
  • 24. Walidacja, separacja przywilejów, wiele poziomów zabezpieczeń...
  • 25. Inicjalizacja mobilnego kanału bankowości Bankowość internetowa, logowanie za pomocą hasła, autoryzacja operacji za pomocą kodów SMS. Aplikacja bankowości mobilnej, zabezpieczona za pomocą PIN-u (uwierzytelnienie, autoryzacja transakcji). Solidna kryptografia w procesie dodawania nowego urządzenia do konta, oraz w trakcie korzystania z bankowości. Proces przemyślany, aby użytkownik nie zrobił sobie krzywdy.
  • 26. Inicjalizacja mobilnego kanału - proces ● Po zalogowaniu w serwisie www, użytkownik wybiera opcję dodania nowego urządzenia mobilnego. Wprowadza w formularzu nowy kod PIN. Wyświetla się kod QR („seed” kryptograficzny) do zeskanowania w urządzeniu. ● Użytkownik skanuje kod QR w telefonie. Podaje na urządzeniu ten sam kod PIN. ● Aplikacja mobilna przesyła do serwera zaszyfrowany PIN-em „seed” ● Serwer porównuje, czy dane się zgadzają ● W aplikacji www należy następnie potwierdzić dodanie nowego urządzenia, klikając przycisk „Akceptuj”.
  • 27. Jak patrzy na to intruz? ● Wyobraźmy sobie, że intruz przejął kontrolę nad komputerem użytkownika (np. malware) ● Poznał login i hasło do bankowości internetowej. Nie może jednak ukraść pieniędzy, ponieważ nie ma dostępu do kodów sms ● Ale – przecież autoryzacja transakcji możliwa jest również za pomocą aplikacji mobilnej ● Jak przejąć aplikację mobilną?
  • 28. Inicjalizacja mobilnego kanału - problem Brak autoryzacji procesu dodawania nowego urządzenia mobilnego! Malware działający na stacji użytkownika może dopisać sobie - bez jego wiedzy - nowe urządzenie mobilne, uzyskując w ten sposób możliwość autoryzacji transakcji. ragecomic.fr
  • 29. BankDroid ● Aplikacja służy do informowania online o saldach oraz zmianach na kontach różnych skandynawskich banków ● Działa w tle, odpytując o status co chwilę ● Łączy się automatycznie z bankami również gdy telefon jest podłączony do niezaufanych sieci ● 100 000 – 500 000 instalacji https://play.google.com/store/apps/details?id=com.liato.bankdroid
  • 30. BankDroid – kod źródłowy (GPL) CELOWO wyłączono weryfikację certyfikatów SSL banków: public Urllib(boolean acceptInvalidCertificates) { this(acceptInvalidCertificates, false); } public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws java.security.cert.CertificateException { // TODO Auto-generated method stub } https://github.com/liato/android-bankdroid
  • 31. BankDroid – i tak 21 razy ;) src/com/liato/bankdroid/banking/banks $ grep "Urllib(true)" * AbsIkanoPartner.java Bioklubben.java DanskeBank.java DinersClub.java EasyCard.java Eurocard.java Everydaycard.java FirstCard.java ICA.java IkanoBank.java IkanoPartnerBase.java Jojo.java OKQ8.java PayPal.java Payson.java PlusGirot.java SEB.java SEBKortBase.java Steam.java Vasttrafik.java Volvofinans.java
  • 32. MITM na SSL? Ale kto by to potrafił?!! To przecież takie trudne! Czyżby?
  • 33. dSploit – dzieciak sąsiadów już ma Bardzo prosty interfejs, do obsługi przez laika. WiFi Scanning & Common Router Key Cracking Deep Inspection Vulnerability Search Multi Protocol Login Cracker Packet Forging with Wake On Lan Support HTTPS/SSL Support (SSL Stripping + HTTPS -> Redirection) MITM Realtime Network Stats MITM Multi Protocol Password Sniffing MITM HTTP/HTTPS Session Hijacking MITM HTTP/HTTPS Hijacked Session File Persistance MITM HTTP/HTTPS Realtime Manipulation GPL, do pobrania z http://dsploit.net
  • 35. Mały eksperyment Kraków, 7.12.2013, ~13.30. MITM – podmiana obrazków (dSploit).
  • 36. MITM na SSL – prawidłowa (?) reakcja
  • 37. Nie wymagaj od użytkowników zbyt wiele! Test na użytkownikach aplikacji Android – okienko udające instalację nowego CA w telefonie. Po zainstalowaniu kontrolowanego przez intruza CA, może on przeprowadzić atak MITM na dowolne połączenie SSL w sposób niezauważalny dla ofiary!
  • 38. Mam nowy certyfikat – hurra! ● 73% osób zaakceptowało nowe CA – przez co stali się podatni na atak MITM - 77% z nich było przekonanych, iż w ten sposób zwiększyli swoje bezpieczeństwo - tylko 2% podejrzewało, iż instalacja nowego CA mogła mieć negatywny wpływ na ich prywatność źródło: https://www.owasp.org/images/7/77/Hunting_Down_Broken_SSL_in_Android_Apps_-_Sascha_Fahl%2BMarian_Harbach%2BMathew_Smith.pdf Wnioski ● Nie zadawaj trudnych pytań! ● Rozwiązanie: certificate pinning. picardfacepalm.com
  • 39. Podejście racjonalne ● Kto i po co chciałby zaatakować naszą aplikację? Jakich zasobów do tego potrzebuje? ● Koszt zabezpieczenia nie może być większy niż wartość chronionych zasobów ● Negatywny wpływ na używalność czy dostępność ● Przyzwyczajenia użytkowników ● Uwaga na fałszywe poczucie bezpieczeństwa i odpowiedzialność Andrzej Tobis - Kierownica www.otwartazacheta.pl
  • 40. Mniejsze ryzyko ● Przechowywanie danych wrażliwych w pamięci operacyjnej urządzenia w trakcie pracy aplikacji. ● Użycie klawiatury systemowej - niektóre implementacje zostawiały w systemie informacje o wciskanych klawiszach. ● Brak możliwości przeniesienia na kartę SD ● ... Nawet jeśli ryzyko nie jest wysokie (trudność w wykorzystaniu), zabezpieczenie może być wdrożone z powodów wizerunkowych.
  • 41. Mniejsze ryzyko Pomimo istotnych skutków, warunki wykorzystania podatności są bardzo trudne do spełnienia
  • 42. Pamiętaj! Myśl o bezpieczeństwie – już na etapie projektowania! Bezpieczeństwo transmisji. Lokalnie przechowywane dane. Środowisko po stronie serwera. Wiele warstw zabezpieczeń, zasada najmniejszych przywilejów. Nie wymagaj od użytkownika zbyt wiele. Andrzej Tobis - Dodawanie www.otwartazacheta.pl
  • 43. Merry Hacking X-Mas! www.securing.pl/konkurs/ ● I miejsce - Płatny, miesięczny staż w naszej firmie. ● II miejsce - Bilet wstępu na konferencję Confidence 2014. ● III miejsce - Książka "The Web Application Hacker's Handbook".