Pod koniec października miało miejsce szóste już spotkanie z cyklu Wheel Evening – nieformalnych spotkań społeczności z branży bezpieczeństwa IT, organizowanych przez firmę Wheel Systems. Gościem specjalnym 6. edycji był Paweł Goleń, piastujący stanowisko IT Risk & Specialist w UBS, ekspert w dziedzinie bankowości internetowej, a także projektant i wieloletni tester wykorzystywanych w nich mechanizmów bezpieczeństwa.
Tym razem w trakcie spotkania Wheel Evening skupiono się na słabych i mocnych stronach najpopularniejszych metod autoryzacji, wykorzystywanych m.in. do autoryzacji transakcji bankowych. W samej tylko Polsce aktywnie korzysta z nich ponad 8 milionów klientów banków. Większość nieświadoma związanych z tym zagrożeń.
Z analizy wynika, że żaden ze sposobów autoryzacji nie gwarantuje 100 proc. bezpieczeństwa. Skuteczność niektórych, natomiast, np. kodów wysyłanych za pomocą wiadomości SMS – zależy w dużym stopniu od kraju, w którym są stosowane. Najsłabszym ogniwem systemów autoryzacji transakcji jest zwykle ich użytkownik. Bardzo czesto, to na jego barkach spoczywa ostateczna weryfikacja prawdziwości wykonywanej transakcji.
Możliwe scenariusze ataków
Bazując na możliwościach oferowanych przez takie metody ataków jak phishing, man-in-the-middle, czy malware, przechwyciwszy potrzebne dane cyberprzestępcy mogą, np.:
- zmodyfikować numer rachunku „zaufanego” przelewu,
- samodzielnie przeprowadzić operację lub powtórzyć już wykonaną,
- dowolnie modyfikować informacje wyświetlane w interfejsie bakowości, ukrywając przed użytkownikiem wykonane modyfikacje.
Najpopularniejsze metody autoryzacji
Metody autoryzacji operacji bankowych mają na celu zminimalizowanie ryzyka związanego z nieporządanymi działaniami osób trzecich. Te najcześciej wykorzystywane przez instytucje finansowe to:
- karty „zdrapki” (TAN – Transaction Authorisation Number),
- generator haseł jednorazowych (token),
- podpis cyfrowy,
- kody SMS (mTAN),
- przeanalizowano także metodę CERBToken.
Powyższe metody różnią się od siebie stopniem skomplikowania, oraz poziomem oferowanego bezpieczeństwa [1].
Karty TAN
Część banków wciąż stosuje metody autoryzacji transakcji takie jak karty TAN (karty zdrapki z hasłami jednorazowymi). Założenie jest proste – żeby potwierdzić realizację operacji użytkownik musi użyć wskazanego, jednorazowego hasła z fizycznego nośnika. Niestety metody te nie są absolutnie dostosowane do dzisiejszych zagrożeń, gdyż hasła z karty TAN nie są w żaden sposób powiązane z operacją, którą potwierdzają.
Token sprzętowy
Teoretycznie, token jest pewniejszym rozwiązaniem niż karty zdrapki, ponieważ generowane przez niego hasła zmieniają się wraz z upływem czasu. Często wymagane jest także posłużenie się dodatkowym kodem PIN konkretnego tokena. Nadal jednak hasło wygenerowane przez token nie jest powiązane z potwierdzaną operacją. Analogicznie zresztą jak w przypadku kart TAN. Po przechwyceniu hasła, można nim potwierdzić dowolną inną operację.
Nie jest to abstrakcyjne niebezpieczeństwo. Nie chodzi bowiem o złodzieja zaglądającego przez ramię. W dzisiejszych czasach najpoważniejszym zagrożeniem dla bezpieczeństwa bankowości elektronicznej jest złośliwe oprogramowanie, działające na komputerze klienta. Jest ono w stanie podmienić, np. numer konta w wykonywanym przelewie. W ten sposób pieniądze, zamiast tam gdzie powinny, trafią np. na rachunek zasilający kartę przedpłaconą, będącą w posiadaniu tego złodzieja.
Podpis cyfrowy
Jednym z bezpieczniejszych rozwiązań, służących do autoryzacji, m.in. transakcji bankowych jest cyfrowe podpisywanie operacji. Metoda ta wymaga podłączenia do komputera lub telefonu czytnika i wsunięcie do niego odpowiedniej karty z kluczem prywatnym. Klucz ten, po podaniu kodu PIN, jest wykorzystywany do podpisania określonych danych autoryzujących konkretną transakcję.
Nie jest to jednak rozwiązanie pozbawione wad. Proces podpisu jest kontrolowany przez oprogramowanie zainstalowane na telefonie lub komputerze, złośliwe oprogramowanie może więc modyfikować ten proces. Dodatkowo, o ile karta tkwi w czytniku, istnieje ryzyko nadużycia ze strony złośliwego oprogramowania i autoryzację operacji bez fizycznego udziału i poza świadomością użytkownika.
Kod SMS
Jedną z najpopularniejszych i najbardziej bezpiecznych metod autoryzacji transakcji, stosowanych przez polskie banki to mTAN, czyli hasła wysyłane SMS-em. Kluczowe dla bezpieczeństwa nie jest jednak samo hasło, ale dane, które klient banku wraz z nim otrzymuje. Jeżeli klient sprawdzi czy dane w wiadomości zgadzają się z danymi operacji, wprowadzonymi do przeglądarki zyska pewność, że nie jest obiektem ataku, a pieniądze trafią tam, gdzie powinny. Jeżeli jednak użytkownik przepisze hasło do przeglądarki bez weryfikacji danych z SMS-a, całe zabezpieczenie staje się tylko niewygodnym dodatkiem. Niestety wciąż, niewiele osób zdaje sobie sprawę jak ważna jest weryfikacja otrzymanej wiadomości, dostarczanej wraz z hasłem do autoryzacji operacji.
SMS-y są bezpieczniejszą metodą niż karty TAN czy tokeny sprzętowe, nie są jednak bez wad. Klient musi być świadomy, że treść SMS-a z banku można podejrzeć również na etapie przechodzenia przez bramkę brokera SMS, pośredniczącego w transmisji, oraz operatora sieci GSM, w której zalogowany jest telefon – odbiorca wiadomości. Trzeba też mieć zaufanie, że jeżeli atakujący przyjdzie do operatora GSM z podrobionym dowodem tożsamości i wystąpi o duplikat karty SIM, operator GSM zweryfikuje jego tożsamość tak wnikliwie jak zrobiłby to bank. W innym przypadku SMS-y z hasłem autoryzacyjnym trafiać będą nie na aparat klienta banku, którego kartę SIM wygaszono w trakcie wydawania duplikatu, ale właśnie na „podrobiony” telefon złodzieja. Coraz powszechniejsze staje się również złośliwe oprogramowanie, które zainstalowane na telefonie użytkownika, jest w stanie przekazywać wiadomości SMS na numer atakującego.
CERBToken
Rozwiązaniem, które nie posiada wad metody SMSowej jest aplikacja mobilna CERBToken, stosująca metodę challenge-response. Aplikacja nie komunikuje się w żaden sposób z bankiem. Po wpisaniu danych do przelewu, na stronie pojawia się wygenerowany na ich podstawie dziewięciocyfrowy kod. Zadaniem użytkownika jest przepisanie go do aplikacji CERBToken, która następnie rozwija go ponownie do formy najbardziej kluczowych informacji o operacji. Dopiero, gdy klient stwierdzi, że dane są poprawne, aplikacja wygeneruje jednorazowe hasło, którym można autoryzować tylko tę konkretną operację.
Kluczowe z punktu widzenia bezpieczeństwa jest bowiem, aby metoda autoryzacji pozwalała przekazać klientowi szczegóły wykonywanej operacji innym kanałem, niż ten, przez który łączy się z bankiem (najlepiej poprzez niezależne urządzenie) i w ten sposób umożliwić mu weryfikację danych w trakcie autoryzowania operacji. Nie ma bowiem idealnej, gwarantującej bezpieczeństwo metody autoryzacji operacji bankowych. Zwyczajnie, niektóre są trudniejsze do pokonania niż inne, a najsłabszym ogniwem każdego systemu jest nieostrożny użytkownik.
[1] Efektywna metoda autoryzacji została zdefiniowana jako metoda, która pozwala użytkownikowi nie tylko na potwierdzenie chęci wykonania operacji, ale przede wszystkim umożliwia potwierdzenie istotnych parametrów operacji, która zostanie wykonana.