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:
Źródło tekstu: PGS Software, wł