Większość banków stosuje w swoich systemach bankowości internetowej i mobilnej metody autoryzacji transakcji (np. hasła SMS, "podpis elektroniczny", tokeny OTP, tokeny challenge-response). Stosowanie tego typu metod nie jest ograniczone tylko do systemów finansowych, są np. szeroko stosowane do autoryzowania operacji odzyskiwania hasła w różnego rodzaju aplikacjach.
Autoryzacja transakcji ma ograniczać skutki wynikające z działania wrogiego oprogramowania na stacji użytkownika, przechwytywania sesji oraz zgadywania czy kradzieży haseł.
W ostatnich latach widzimy jednak, że strategie działania grup przestępczych dostosowują się do tych zabezpieczeń i niejednokrotnie skutecznie je omijają. Prezentacja ma na celu skonfrontowanie obecnych metod autoryzacji operacji ze współczesnymi scenariuszami ataku przy użyciu malware oraz wskazanie typowych błędów w implementacji, które mogą przyczynić się do możliwości obejścia tych zabezpieczeń.
Agenda (draft):
- Krótka prezentacja metod autoryzacji transakcji.
- Kilka "case study" - jak malware obchodzi autoryzacje transakcji (w tym własne doświadczenia zdobyte podczas analizy przypadków ataków w bankach).
- Jak wybrać skuteczną metodę autoryzacji transakcji?
- Na co uważać? Typowe błędy implementacji, które mogą przyczynić się do osłabienia mechanizmu autoryzacji transakcji.
2. wojdwo@securing:~$ whoami
Testowanie i doradztwo dotyczące
bezpieczeństwa aplikacji i systemów IT
od 2003 roku / ponad 300 systemów i aplikacji
Badania dotyczące nowych metod ataku i
obrony
OWASP Poland Chapter Leader
2
3. Agenda
Metody autoryzacji VS scenariusze działania malware
– podróż w czasie
Trendy i co czeka nas w (niedalekiej) przyszłości
Podatności w mechanizmach autoryzacji
Jak wybrać skuteczną metodę autoryzacji transakcji?
4. Metody autoryzacji transakcji
4
Image: www.rsa.com
Image: www.newtechusacom
Image: iss.thalesgroup.com
Image: emue.com
Domestic transfer to
account 99XXXX890
amount 1.00 EUR
authorization code:
36032651 Image: vasco.com
Image: wikipedia.org
Image: wikipedia.org
8. Wskazanie tokena ma krótki czas życia
Time-based One-Time Password (TOTP)
Wyłudzenie wskazania i użycie go w czasie
(prawie) rzeczywistym
Podmiana transakcji w przeglądarce
nr_konta=661111000000006666
kwota=1000
KOD=3872
11. Słabości / Rekomendacje
Wszystkie te metody nie pozwalają na weryfikację
danych transakcji
Metoda autoryzacji transakcji powinna umożliwiać
użytkownikowi weryfikację znaczących danych
transakcji
(np. dla przelewu – konto odbiorcy i kwota)
12.
13. SMS z kodem jednorazowym i opisem transakcji
Image: Alior Bank
Przelew krajowy: Nr konta
odbiorcy 22XXXX222 kwota
77.34 PLN kod autoryzujący:
36032651
14. Przechwycenie sesji i zmiana danych transakcji „w locie”
Zmiana nr konta w clipboardzie / pamięci
….
Metody ataku na autoryzację hasłem SMS
Problemy:
• Użytkownicy nie weryfikują
danych transakcji
• Użytkownicy weryfikują dane
transakcji z ekranem
23. webinject,
form grabbing,
cookie grabbing
browser hooking
on-the-fly webinject form
original server
Przejmowanie sesji
VNC
Wykrywanie POS +
Skanowanie pamięci
Wykrywanie smardcard
+ próba odczytu
Wykrywanie platform
bankowych + atak
Malware = Arsenał narzędzi = Różne scenariusze
24. Bankowość mobilna
Bankowość korporacyjna
Platformy bankowości korporacyjnej (np. Multicash)
Płatności elektroniczne
Private banking, Domy maklerskie, FOREX
Integracja z systemami FK, SDK
….
Cele: Atakowane aplikacje
25. Ataki celowane (targeting)
Firmy / korporacje
Klienci zamożni
Developerzy aplikacji bankowych
Łatwiejszy atak niż na bank
Na raz wiele aplikacji
Np. Corcow – sprawdza czy ofiara jest developerem
Androida
Cele: Zawężenie ataków
26. Malware wycelowane w konkretną aplikację a nie
masowe
Dostosowanie się do mechanizmów uwierzytelniania i
autoryzacji
Rozwój metod socjotechnicznych
Podmiana rachunku u źródła
Wykorzystanie podatności w mechanizmach autoryzacji
Metody działania
28. Kluczowe operacje bez dodatkowej autoryzacji
Np.:
• Zmiana nr do kodów SMS
• „Parowanie” nowego urządzenia autoryzacyjnego
• Zmiana szablonu płatności
36. Każdy bank i każda aplikacja są inne
Klienci: retail, MSP, corpo, private
Kanały: web, mobile, IVR, WebService, ...
Funkcjonalność
Profil klienta
środki, produkty, świadomość
Profil ryzyka, apetyt na ryzyko
Edukacja użytkowników
37. Scenariusz Czyja stacja komunikuje z
bankiem?
Czy strona jest zmieniana
w przeglądarce?
Przekierowanie na stronę
atakującego
atakującego webinject, przekierowanie
w DNS, strona serwowana
lokalnie, …
Zmiana transakcji w
przeglądarce
ofiary webinject
j.w. + back-connect ofiary webinject, przekierowanie
w DNS, strona serwowana
lokalnie, …
Remote desktop ofiary Nie
Zmiana nr rachunku w
clipboardzie, pamięci, na
stronie źródłowej
ofiary Nie
Detekcja malware - Nie ma paneceum na
wszystkie scenariusze ataków
38. Wyblokujemy adres IP / charakterystykę przegladarki /
konta słupów…!
Zaciemnijmy kod stony to malware nie będzie umiało zrobić
webinjecta!
Ograniczymy czas życia kodu autoryzującego!
Rozwiązania te są dobre ale na krótką metę.
Warto je stosować (w przypadku incydentu) ale zakładać
zmianę taktyki atakującego
…i jeszcze kilka (nieskutecznych?) pomysłów
39. Którzy klienci mają dostępne duże środki obrotowe?
Czy mają włączone dodatkowe zabezpieczenia:
autoryzacja na dwie ręce, limity, powiadomienia?
Przy wylogowaniu sprawdzanie czy klient wyciągnął
kartę z czytnika
Timeout + Techniki utrudniające scrapping
Rozwiązania tego typu również nie są uniwersalne
Ale skutecznie i trwale ograniczają powierzchnię ataku
…i kilka bardziej skutecznych przykładów
40. Potrzebna jest uniwersalna strategia
autoryzacji i uwierzytelniania
Wszystkie kanały
Nie tylko obecne trendy
ale też spojrzenie w
przyszłość
Bezpieczeństwo
/ Wygoda użytkowania
/ Koszty
Regulacje
Poprawność implementacji
Zabezpieczenia dodatkowe
np.: limity, podpis na dwie
ręce, powiadomienia, …
Detekcja
Malware, podejrzanych
operacji, anomalii
Edukacja użytkowników