Spora liczba przeznaczonych na iOS aplikacji bankowych, oferowanych przez największe banki na świecie, zawiera dziury, które narażają użytkowników na kradzież danych, możliwe przejęcie konta, ataki man-in-the-middle oraz niepoprawne działanie aplikacji. Mówiąc bardziej ogólnikowo, odkryte luki i niedociągnięcia w programach pozwalają atakującemu na kradzież newralgicznych dla klienta banku danych.
Ariel Sanchez, argentyński badacz, pracujący dla firmy IOActive, przeprowadził testy na 40 mobilnych aplikacjach bankowych 60 czołowych banków na świecie. Pod lupę wzięto bezpieczeństwo transmisji i przechowywania danych, interfejs oraz kilka innych kwestii związanych z ochroną informacji. Sanchez znalazł liczne słabości, które mogą zostać wykorzystane przez exploity.
„Osoby z odpowiednimi umiejętnościami mogłyby posłużyć się tymi informacjami w celu wykrycia potencjalnych dziur i po przeprowadzeniu badań na własną rękę napisać exploita lub inne szkodliwe oprogramowanie, które zostałoby wymierzone przeciwko klientom banków oferujących nieodpowiednio zabezpieczone programy” – powiedział specjalista. „Możemy powiedzieć, że jest to pierwszy krok w kierunku poważnego zagrożenia”.
IOActive wysłało raport do odpowiednich banków. Na dzień dzisiejszy żaden z banków nie załatał dziur odpowiadających za problemy z bezpieczeństwem, jak poinformował Sanchez. Autor badania dodał, że najbardziej niepokojącym problemem, jaki odkrył podczas analizy statycznej każdej z aplikacji, są dane uwierzytelniające dewelopera zawarte w kodzie programu. Innymi słowy, spora ilość posiadających luki aplikacji bankowości mobilnej zawiera w sobie widoczny klucz główny. Jest on przeznaczony dla deweloperów, którzy uzyskują dzięki jego pomocy dostęp do programu. Niestety takie dane uwierzytelniające dają ten sam poziom uprawnień także atakującemu.
„Ta dziura może zostać wykorzystana także do uzyskania dostępu do infrastruktury deweloperskiej banku i dodaniu szkodnika, który spowoduje masową infekcję sprzętu wszystkich użytkowników aplikacji” – skomentował Sanchez.
Innym problemem jest fakt, że spora część aplikacji wysyła nieszyfrowane linki do użytkowników i/lub nie sprawdza autentyczności certyfikatów SSL w momencie kiedy informacja jest szyfrowana. Takie zachowanie, które zdaniem Sancheza następuje w wyniku przeoczenia osoby tworzącej aplikację, naraża klientów na ataki man-in-the-middle, gdzie atakujący może wstrzyknąć szkodliwy kod Javascript lub HTML, co może być elementem ataku phishingowego.
Pikanterii całej sprawie dodaje fakt, że poza problemami, które dzięki Sanchezowi ujrzały światło dzienne, 70 procent przebadanych banków nie posiada dwuskładnikowego uwierzytelniania. Jak tłumaczy autor badania: „potrzeba jedynie pliku binarnego aplikacji oraz narzędzia do odszyfrowania kodu i jego dezasemblacji”. „Istnieje pokaźna liczba publicznie dostępnych dokumentów opisujących, w jaki sposób dokonać odszyfrowania i dezasemblacji kodu tego typu aplikacji” – dodaje Sanchez.
IOActive zachowuje się w sposób odpowiedzialny, co jest zarówno dobre jak i złe (jednak w większym stopniu dobre). Dobre strony ich zachowania są takie, że nie opublikowali listy banków, których dotknęły wyżej wymienione problemy. Nie wyjaśnili także o jakie konkretnie luki chodzi, co mogłoby dać cyberprzestępcom informacje potrzebne do przeprowadzenia ataku na użytkowników. Złą stroną ich decyzji jest to, że nie wiemy które banki i aplikacje są podatne na taki, co sprawia, że nie wiemy komu ufać.
Oczywiście najbardziej przezorni i ostrożni spośród nas powinni wstrzymać się z używaniem mobilnych aplikacji bankowych dopóki nie pojawi się informacja, o jakie banki chodzi, a problemy nie zostaną naprawione. Niemniej jednak, większość z nas prawdopodobnie tego nie zrobi. Do tego czasu powinniście ustawić w aplikacji dwie metody uwierzytelniania, jeżeli Wasz bank daje taką możliwość. Dodatkowo powinniście zachować ostrożność w odniesieniu do linków w aplikacjach mobilnych, maili mogących być phishingiem, a także stale monitorować saldo w swoim banku.