Bezpieczeństwo mobilnych aplikacji polskich banków
Nawet w aplikacjach bankowych znajdują się poważne błędy - wynika z raportu Stan bezpieczeństwa mobilnych aplikacji bankowych w Polsce.

Nawet w aplikacjach bankowych znajdują się poważne błędy - wynika z raportu Stan bezpieczeństwa mobilnych aplikacji bankowych w Polsce opublikowanego przez firmę PGS Software. Na szczęście nie ma potrzeby rezygnacji z tych aplikacji, bo stają się coraz lepsze.
Wyniki z badania zostały wstępnie przedstawione na konferencji Security PWNing przez Tomasza Zielińskiego. W ramach raportu sprawdzono dziewiętnaście aplikacji mobilnych dla systemu Android, udostępnionych przez banki działające na terenie Polski.
Autorzy po założeniu rachunku w każdym banku, przeprowadzili kilka podstawowych operacji, starając się jednocześnie podsłuchać transmisję danych, zapoznać się z budową aplikacji, informacjami przez nią składowanymi, ocenić dobre i złe praktyki, które miały miejsce podczas tworzenia opisywanych programów.
W badaniu testerzy zignorowali obszar płatności bezstykowych NFC/HCE, nie zajmowali się także ryzykiem związanym z użyciem wiadomości SMS jako metody uwierzytelniania, nie podejmowali także działań, które mogły doprowadzić do złamania prawa: nie próbowali dotrzeć do cudzych danych ani przełamywać zabezpieczeń bankowych serwerów.
A więc jakie są wnioski testerów? Jakość i bezpieczeństwo wielu przebadanych aplikacji mobilnych pozostawiają bardzo wiele do życzenia. W krótkich testach udało się m.in. doprowadzić do przejęcia sesji zalogowanego użytkownika, wycieku danych osobowych i przejęcia fragmentu maskowanego hasła dostępu. W logach systemowych odnaleziono identyfikatory logowania, tokeny sesji czy dane informujące o liczbie usług określonego typu. Podsłuchano transmisję danych wielu aplikacji. W kilku przypadkach wymiana danych miała miejsce otwartym tekstem, przez co może zostać zmodyfikowana w dowolnym miejscu między nadawcą a odbiorcą. Innym razem aplikacjom nie przeszkadzał "lewy" certyfikat bezpieczeństwa, podstawiony celowo i pozwalający na rozszyfrowanie przesyłanych danych. Do sklepu trafiła także aplikacja, w zasobach której znalazł się plik tekstowy z kompletem testowych danych logowania na środowisku produkcyjnym.
Skąd tyle błędów w aplikacjach, które teoretycznie powinny zapewniać szczególne bezpieczeństwo? Autorzy wskazują, że w niektórych wypadkach zawinili sami programiści (lub podwykonawcy, którymi wspierały się bankowe zespoły IT). Czasem wina leżała po stronie kontroli jakości, a czasem odpowiedzialna była też sama platforma - system Android, który słynie z fragmentacji; a wielu użytkowników korzysta z jego przestarzałych wersji.
Problemy dla każdej aplikacji szczegółowo zostały opisane w raporcie załączonym na końcu wiadomości.
Po zakończeniu badania, wszystkie instytucje zostały powiadomione o wynikach i zapewniono im czas na poprawienie aplikacji. W tym miejscu autorzy zgłaszają jednak inny problem. Większość instytucji nie miała procedur pozwalających na poufne zgłaszanie błędów. Zabrakło odpowiednich wskazówek na stronach WWW oraz wytycznych dla BOK. W kontaktach z bankami autorzy nalegali na użycie szyfrowania PGP, dzięki któremu wrażliwe informacje mógł odczytać tylko wskazany, zajmujący się bezpieczeństwem pracownik banku. Tymczasem w niektórych wypadkach testerów proszono, by potencjalnie niebezpieczne dane przekazali przez telefon szeregowemu pracownikowi zewnętrznego call center - skąd miały trafić do ogólnodostępnego formularza reklamacyjnego!
Czy klienci powinni się zatem wystrzegać bankowych aplikacji mobilnych? Raczej nie - powoli stają się lepsze, a korzystanie z internetowego kanału dostępu również wiąże się z pewnym ryzykiem.
Na koniec lista przetestowanych aplikacji:
- 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)