Urządzenia przenośne (smartfony, tablety) coraz częściej zastępują komputer w roli klienta aplikacji. Ponadto ich zastosowanie umożliwia wdrożenie nowych, niestosowanych dotąd funkcji zmieniających sposób korzystania przez klienta z usług finansowych czy płatności. W swojej prezentacji chciałbym omówić problemy dotyczące bezpieczeństwa informacji jakie należy rozpatrzyć wdrażając usługi mobilne. W szczególności chciałbym się skupić na defektach w oprogramowaniu, które mogą przyczynić się do wzrostu ryzyka stosowania technologii mobilnych.
Omawiane problemy:
- Profil ryzyka: Czym pod względem bezpieczeństwa różni się aplikacja mobilna od aplikacji przeglądarkowej?
- Ograniczenia środowiska mobilnego – wpływ na bezpieczeństwo.
- Typowe podatności dla aplikacji internetowych – czy są one aktualne dla aplikacji mobilnych?
- Ryzyka i podatności specyficzne dla aplikacji mobilnych – Przykłady.
- Dane przechowywane na urządzeniu.
- Autoryzacja transakcji.
- Wrogie oprogramowanie (malware).
- Bezpieczna aplikacja mobilna – Jak to osiągnąć?
- Wymagania (również niefunkcjonalne) odnośnie bezpieczeństwa – Przykłady dla bankowości mobilnej
- Ocena projektu
- Testy bezpieczeństwa
2. 22
login: Wojciech Dworakowski
Testowanie i doradztwo dotyczące
bezpieczeństwa aplikacji i systemów IT
Działamy od 2003 roku
Zbadaliśmy bezpieczeństwo ponad 200
systemów i aplikacji
Od 2011 – OWASP Poland Chapter
Leader
3. 33
Agenda
Profil ryzyka dla mobilnych aplikacji
finansowych
Specyfika aplikacji mobilnych
Dane przechowywane na urządzeniu
Bezpieczeństwo połączenia
Malware
Jak to zrobić bezpiecznie?
6. 66
Zmienia się również
profil ryzyka
Urządzenie użytkownika
Kradzież, zgubienie, chwilowy dostęp
Aplikacja pod kontrolą użytkownika
Może być analizowana i dowolnie
modyfikowana
7. 77
Profil ryzyka
Inne aplikacje na urządzeniu
Mogą stanowić zagrożenie
Uaktualnienia
ze znacznym opóźnieniem
API po stronie serwera
Osiągalne bezpośrednio, bez aplikacji
użytkownika
9. 99
Dane przechowywane na
urządzeniu
Co w przypadku utraty urządzenia?
Dane wrażliwe (dane uwierzytelniające
i autoryzujące transakcje, tajemnica
bankowa, dane osobowe, …)
Czy dane są szyfrowane?
Czy klucz szyfrowania nie da się
odzyskać?
10. 1010
Dane przechowywane na
urządzeniu (c.d.)
Co jest zapisywane do logów w trakcie
pracy aplikacji?
Dane uwierzytelniające
Jaka jest przestrzeń poszukiwań?
Ile prób odgadnięcia ma atakujący?
Czy można je „odgadnąć” bez kontaktu
z serwerem?
11. 1111
Przykład
Aplikacja mobilna
Sekret używany do uwierzytelnienia,
zaszyfrowany kluczem generowanym
na podstawie PIN
Dodatkowo - na urządzeniu dane
zaszyfrowane tym kluczem
Efekt
Klucz można łamać off-line
4 cyfry = 10 tys. prób = chwila
Koszt usunięcia: Zmiana algorytmu
(po wdrożeniu)
Grafika:technabob.com
14. 1414
Wrogie oprogramowanie
(malware)
Telefon/tablet… tak jak komputer, ale:
ryzyka są mniej rozpoznane
brak kontroli AV (standardowo)
brak unifikacji systemu
rzadsze uaktualnienia
inny interfejs (mały ekran, dotyk,
kamera, NFC, …)
użytkownik może instalować dowolne
oprogramowanie
18. 1818
Zdefiniowanie wymagań
Scenariusze ataku
Jak zagrożenia mogą osiągnąć cele?
Z uwzględnieniem specyfiki środowisk
mobilnych
Wymaga doświadczenia i wiedzy
eksperckiej
Definiowanie Projektowanie
WykonanieWdrażanie
Zagrożenia Skutki
Scenariusze
ataku
Kto? Jak? Co?
19. 1919
Zdefiniowanie wymagań (c.d.)
Dobranie zabezpieczeń
Jak bronić się przed atakami?
WYMAGANIA
–funkcjonalne i niefunkcjonalne
Częściowo można wykorzystać
istniejące standardy
Definiowanie Projektowanie
WykonanieWdrażanie
23. 2323
Testowanie bezpieczeństwa
Na podstawie zidentyfikowanych zagrożeń i
priorytetów
NIE black-box !
Uwzględnienie całego środowiska
Atakowany jest cały system
a nie jeden element
Wszystkie platformy
Połączenia z innymi systemami, biblioteki,
framework
Kluczowe – doświadczenie testujących
24. 2424
Zalety
Jasno zdefiniowane wymagania
dla wykonawcy i do testów bezp.
Optymalizacja kosztów
Zabezpieczenia adekwatne do ryzyka
Możliwość wczesnej eliminacji
podatności
Znacznie łatwiejsza analiza wpływu
zmian na bezpieczeństwo