Dla osób, które posiadają internetowe konta bankowe lektura obowiązkowa.
Niektórym z Czytelników może się mylnie wydawać, że oficjalne mobilne aplikacje do obsługi internetowej bankowości są odpowiednio zabezpieczone przed próbami robienia zrzutów ekranu, a już na pewno przed próbami podsłuchania komunikacji sieciowej, czy możliwością wywoływania pewnych funkcji, które otwierają serwis bankowy w przeglądarce telefonu przekazując doń zalogowaną sesję zapisaną otwartym tekstem (dzięki której możliwe jest wyczyszczenie konta użytkownika na innym komputerze). Niestety, tak nie jest, w dodatku to tylko niektóre „niedoskonałości” 19. aplikacji mobilnych, które obsługują Banki na terenie naszego kraju.
Metodologia
Bezpieczeństwo mobilnych aplikacji zostało przeprowadzone przez Tomasza Zielińskiego, Team Leadera w PGS Software oraz głównego autora raportu.
W każdym banku założono najprostszy rachunek, aktywowano bankowość elektroniczną oraz mobilną, po czym zainstalowano odpowiednią aplikację i przeprowadzono kilka podstawowych operacji. Jednocześnie starano się podsłuchać transmisję danych, zapoznawano się z budową aplikacji, informacjami przez nią składowanymi, oceniano dobre i złe praktyki, które miały miejsce podczas tworzenia opisywanych programów.
Wyniki z badania zaprezentowano podczas niedawnej (7-8 listopada) konferencji „Security PWNing Conference 2016” poświęconej bezpieczeństwu IT, gdzie swoje wystąpienia mieli najlepsi eksperci z Polski i Europy: James Forshaw, Krzysztof Kotowicz, Marek Marczykowski-Górecki, Mateusz Jurczyk, Piotr Konieczny i Michał Sajdak.
W przygotowanym raporcie zaprezentowano zrozumiałe dla przeciętnego użytkownika smartfona wnioski, które obejmowały mobilną bankowosć:
- PKO Bank Polski (pl.pkobp.iko)
- Pekao SA (eu.eleader.mobilebanking.pekao)
- Bank Zachodni WBK (pl.bzwbk.bzwbk24)
- mBank (pl.mbank)
- ING Bank Śląski (pl.ing.ingmobile oraz pl.ing.mojeing)
- Getin Noble Bank (com.getingroup.mobilebanking)
- Bank Millennium (wit.android.bcpBankingApp.millenniumPL)
- Raiffeisen Polbank (eu.eleader.mobilebanking.raiffeisen)
- Citi Handlowy (com.konylabs.cbplpat)
- BGŻ BNP Paribas (com.comarch.mobile.banking.bnpparibas)
- BPH (pl.bph)
- Alior Bank (com.comarch.mobile)
- IdeaBank (pl.ideabank.mobilebanking)
- Eurobank (pl.eurobank)
- Credit Agricole (com.finanteq.finance.ca)
- T-Mobile Usługi Bankowe (alior.bankingapp.android)
- Orange Finanse (com.orangefinanse)
- Bank SMART (pl.fmbank.smart)
Przed zaprezentowaniem oficjalnych wyników banki otrzymały szczegółowe opisy odkrytych błędów. Przy czym należy zaznaczyć, że testerzy nie podejmowali żadnych działań, które mogłyby naruszyć prawo: nie próbowano dotrzeć do cudzych danych ani przełamywać zabezpieczeń bankowych serwerów.
Najważniejsze wnioski
Przebadana jakość bezpieczeństwa aplikacji bankowych budzi wiele kontrowersji. Autorzy raportu wskazują, że większość z testowanych aplikacji posiadała krytyczne błędy, które mogą doprowadzić m.in. do: przejęcia sesji zalogowanego użytkownika (ING), wycieku danych osobowych, przejęcia fragmentu maskowanego hasła dostępu (PEKAO).
Najbardziej rażące błędy zauważono w logach systemowych generowanych przez system Android, gdzie aplikacje bankowe zapisywały identyfikatory logowania, tokeny sesji, czy dane informujące o liczbie usług określonego typu.
Podsłuchanie transmisji danych także nie stanowiło dla badaczy większego problemu (mBank, IdeaBank, T-Mobile Usługi Bankowe, Orange Finanse czy Bank Smart), co więcej, w kilku przypadkach wymiana danych miała miejsce otwartym tekstem, przez co może do skutkować zmodyfikowaniem danych wymienianych pomiędzy aplikacją a Bankiem.
Szyfrowanie komunikacji, co powinno być już standardem, nie zawsze jest realizowane: odnośniki do zasobów serwowanych przez niezabezpieczony protokół HTTP dostrzeżono w aplikacjach PKO BP, Pekao, BZ WBK, mBanku, ING, Getin Banku, BGŻ, BPH , Alior Banku, IdeaBanku, Eurobanku, CreditAgricole. Czasem były to linki do dokumentów w formacie PDF, gdzie indziej do regulaminów, stron z ofertą czy nawet odnośniki z głównego menu aplikacji.
Innym razem aplikacjom nie przeszkadzał „lewy” certyfikat bezpieczeństwa, podstawiony celowo i pozwalający na rozszyfrowanie przesyłanych danych. Na szczególne wyróżnienie w tej kwestii zasługuje bank Millennium, który chwilę po uniemożliwieniu próby logowania przesyła do centrali… kopię lewego certyfikatu.
W wielu przypadkach aplikacje wysyłane do sklepu Google lub App Store nie podlegają żadnej kontroli jakości – jak bowiem uwierzyć, że testy przeszła aplikacja, w której zasobach znajduje się plik tekstowy z kompletem testowych danych logowania na środowisku produkcyjnym?
Autorzy wskazują także na rażącą niekompetencję niektórych banków, które nie przeprowadzają kontroli jakości wydawanego produktu, chociaż czasami to sam przestarzały system Android — który nie jest aktualizowany ani przez Google, ani producenta marki telefonu — nie broni przed znanymi lukami systemu operacyjnego.
Obecnie, złośliwe oprogramowanie jest w stanie odczytać, wyciszyć i odesłać osobie trzeciej każdą wiadomość z kodem uwierzytelniającym. Dlatego przeproszenie się z jednorazowymi kodami w formie papierowej nie jest najgorszym pomysłem.
Czy ten artykuł był pomocny?
Oceniono: 0 razy