Test (nie)bezpieczeństwa mobilnych aplikacji do obsługi kont bankowych

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).


Seria zrzutów ekranu zdradzi PIN użytkownika

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.


Próba otworzenia strony https://www.citibank.pl

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?


Loginy i hasła znalezione w aplikacji IdeaBank.

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.




Podobne artykuły

W informacji prasowej na stronie Związku Banków Polskich czytamy o nowym zagrożeniu dla...

Komentarze

Obrazek użytkownika Kulfon

Porażający raport. Przydałby się regularny biuletyn, powiedzmy raz na pół roku, który szczegółowo opisywałyby luki w aplikacjach mobilnych i niedostatecznych zabezpieczeniach przez WWW. To powinno zmotywować banki do konkurowania w tej materii, a nie tolerowania bylejakości naszym kosztem.

Dodaj komentarz