
Wprowadzenie do problemu / definicja
Hirudo to zaawansowany trojan bankowy na Androida, którego wyróżnia nietypowy model działania. Zamiast ograniczać się do klasycznych nakładek phishingowych, przechwytywania wiadomości SMS czy kradzieży poświadczeń, malware dąży do usunięcia legalnej aplikacji bankowej i zastąpienia jej zmodyfikowaną kopią. Taka technika pozwala osłabić lub całkowicie obejść część lokalnych mechanizmów bezpieczeństwa wdrożonych przez samą aplikację finansową.
To istotna zmiana w krajobrazie zagrożeń mobilnych, ponieważ punkt ataku przesuwa się z warstwy interfejsu użytkownika na sam fundament zaufania aplikacyjnego. Jeśli użytkownik uruchamia podmienioną aplikację, lokalne wyniki kontroli integralności, podpisu czy ochrony ekranu mogą zostać sfałszowane jeszcze zanim zostaną wykorzystane przez mechanizmy obronne.
W skrócie
- Hirudo jest rozpowszechniany przez aplikacje-wabiki związane z zakupami, rozrywką i materiałami wideo.
- Po instalacji wymaga szerokich uprawnień, zwłaszcza dostępu do usług ułatwień dostępu i powiadomień.
- Malware może kraść dane logowania, przechwytywać SMS-y, nagrywać ekran, używać kamery i zdalnie sterować urządzeniem.
- Najgroźniejszy etap ataku polega na deinstalacji legalnej aplikacji bankowej i instalacji jej spreparowanej wersji.
- Zmodyfikowana aplikacja może fałszować wyniki lokalnych kontroli bezpieczeństwa, przez co działa pozornie wiarygodnie.
Kontekst / historia
Bankowe malware na Androida od lat wykorzystuje podobne techniki: dystrybucję poza oficjalnym sklepem, nadużywanie Accessibility Services, kradzież kodów jednorazowych oraz ekrany podszywające się pod logowanie do banku. Hirudo wpisuje się w ten znany schemat, ale rozwija go o bardziej agresywny i trudniejszy do wykrycia element.
Operatorzy kampanii nie próbują już wyłącznie przechwycić sesji użytkownika lub zmanipulować jego działań na ekranie. Zamiast tego atakują samą aplikację bankową jako element zaufany. Według dostępnych analiz przygotowano podstawione wersje co najmniej kilku aplikacji finansowych używanych w Indonezji, a sama infrastruktura kampanii wskazuje także na zainteresowanie innymi regionami, w tym częściami Azji, Afryki Północnej i Ameryki Łacińskiej.
Typowy scenariusz infekcji rozpoczyna się od fałszywych stron udających legalne karty aplikacji lub od reklam w mediach społecznościowych. Użytkownik pobiera pozornie nieszkodliwą aplikację, a następnie otrzymuje komunikat o koniecznej aktualizacji. W praktyce to właśnie ten etap prowadzi do wdrożenia właściwego komponentu trojana.
Analiza techniczna
Łańcuch ataku zwykle rozpoczyna się od droppera, czyli aplikacji pełniącej rolę nośnika. Taki program może prezentować prawdziwie wyglądające treści, na przykład oferty zakupowe, katalog produktów, krótkie filmy lub materiały rozrywkowe. Dzięki temu użytkownik ma wrażenie, że korzysta z normalnej aplikacji, podczas gdy w tle przygotowywane jest wdrożenie właściwego malware.
Po stronie technicznej dropper pobiera konfigurację kampanii, identyfikuje środowisko oraz sprawdza, czy główny ładunek został już zainstalowany. Jeśli nie, ofiara widzi komunikat o rzekomej aktualizacji. Po akceptacji instalowana jest druga aplikacja, która stanowi właściwy komponent Hirudo. To ważne, ponieważ trojan nie musi działać jako bezpośrednia modyfikacja procesu legalnej aplikacji, lecz buduje własną obecność w systemie i wykorzystuje uzyskane uprawnienia do dalszych operacji.
Jednym z elementów utrudniających analizę ma być utworzenie celowo wadliwego połączenia VPN przed instalacją głównego komponentu. Taki mechanizm może ograniczać skuteczność części zewnętrznych kontroli reputacyjnych i analiz zależnych od komunikacji sieciowej. Nie daje to pełnej niewidzialności, ale może obniżyć skuteczność części rozwiązań ochronnych działających na urządzeniu.
Po uzyskaniu niezbędnych zgód Hirudo działa jednocześnie jako mobilny RAT i trojan bankowy. Zakres możliwych operacji obejmuje:
- kradzież danych logowania i innych poświadczeń,
- przechwytywanie wiadomości SMS,
- zdalne sterowanie urządzeniem,
- wykonywanie zrzutów ekranu i nagrań,
- dostęp do kamery,
- wyświetlanie fałszywych ekranów logowania, PIN-u płatniczego i blokady urządzenia.
Najważniejsza innowacja ujawnia się jednak na etapie ataku na aplikację bankową. Malware monitoruje urządzenie pod kątem obecności określonych aplikacji finansowych, wykorzystując między innymi usługi dostępności. Gdy wykryje cel, może wyświetlić fałszywy komunikat o aktualizacji, rozpocząć proces deinstalacji oryginalnej aplikacji i pobrać spreparowaną wersję dopasowaną do konkretnego banku.
Taka podmieniona aplikacja zawiera komponent odpowiedzialny za manipulowanie wynikami lokalnych kontroli bezpieczeństwa. Z dostępnych opisów wynika, że może on zwracać oczekiwany certyfikat podpisu, ukrywać aktywne usługi dostępności, usuwać flagę FLAG_SECURE umożliwiając przechwytywanie obrazu ekranu oraz pośredniczyć w zapytaniach związanych z mechanizmami integralności. W praktyce oznacza to, że aplikacja może wyglądać na zaufaną nawet wtedy, gdy cały model zaufania został już przejęty przez napastnika.
Z perspektywy bezpieczeństwa aplikacji mobilnych to bardzo ważny sygnał. Jeżeli przeciwnik jest w stanie zastąpić legalną aplikację spreparowaną kopią, lokalne kontrole przestają być samodzielnym źródłem wiarygodnych danych. Aplikacja może raportować bezpieczny stan środowiska, mimo że odpowiedzi zostały zmanipulowane jeszcze przed ich wykorzystaniem przez logikę obronną.
Konsekwencje / ryzyko
Dla użytkowników końcowych Hirudo oznacza wysokie ryzyko utraty kontroli nad rachunkiem i danymi finansowymi. Udana infekcja może prowadzić do przejęcia sesji, obejścia części mechanizmów silnego uwierzytelniania, nieautoryzowanych transakcji oraz kradzieży danych osobowych zapisanych na urządzeniu.
Dla banków i twórców aplikacji to wyraźny sygnał, że lokalne sprawdzanie integralności, podpisu aplikacji czy obecności podejrzanych usług systemowych nie może być traktowane jako ostateczny dowód bezpieczeństwa. Jeśli napastnik przejmie samą aplikację lub zastąpi ją własnym wariantem, wyniki tych kontroli mogą zostać sfałszowane.
Ryzyko dotyczy także zespołów SOC i jednostek odpowiedzialnych za przeciwdziałanie fraudom. W takim scenariuszu urządzenie może generować pozornie poprawne sygnały z warstwy aplikacyjnej, mimo że decyzje bezpieczeństwa po stronie klienta są już częściowo kontrolowane przez malware. To utrudnia detekcję i zwiększa znaczenie analizy behawioralnej, korelacji telemetrii oraz monitorowania anomalii transakcyjnych po stronie serwera.
Rekomendacje
W przypadku użytkowników podstawą ochrony pozostaje ostrożność przy instalacji oprogramowania i ograniczanie zaufania do zewnętrznych źródeł pobierania. Należy szczególnie uważać na reklamy, strony udające sklep mobilny i komunikaty o aktualizacjach wyświetlane przez aplikacje spoza oficjalnego kanału dystrybucji.
- Instalować aplikacje wyłącznie z oficjalnych źródeł.
- Nie pobierać aplikacji z reklam, komunikatorów ani stron podszywających się pod sklep mobilny.
- Nie akceptować aktualizacji prezentowanych poza oficjalnym mechanizmem sklepu.
- Regularnie sprawdzać, które aplikacje mają dostęp do usług ułatwień dostępu, powiadomień i instalacji dodatkowych pakietów.
- Zwracać uwagę na nietypowe zachowanie aplikacji bankowej, w tym ponowne żądania logowania, prośby o instalację czy zmieniony wygląd interfejsu.
Dla organizacji finansowych kluczowe jest przenoszenie decyzji bezpieczeństwa na stronę serwera i traktowanie sygnałów z aplikacji mobilnej jedynie jako elementu pomocniczego. Ochrona powinna opierać się na podejściu wielowarstwowym, łączącym analizę integralności, kontekstu, reputacji urządzenia oraz wzorców zachowań użytkownika.
- Traktować lokalne wyniki kontroli integralności jako sygnał pomocniczy, a nie rozstrzygający.
- Przenosić krytyczne decyzje bezpieczeństwa i walidację sesji po stronie serwera.
- Monitorować niespójności między telemetrią klienta a obserwacjami backendu.
- Wykrywać anomalie związane ze zmianami aplikacji, zachowaniem sesji i wzorcami autoryzacji.
- Projektować zabezpieczenia z założeniem, że odpowiedzi dotyczące podpisu, dostępności i integralności mogą być kontrolowane przez przeciwnika.
Zespoły bezpieczeństwa mobilnego powinny dodatkowo uwzględnić scenariusze, w których legalna aplikacja jest zastępowana spreparowaną kopią. Oznacza to potrzebę rozbudowy detekcji nadużyć związanych z Accessibility Services, Notification Listener, MediaProjection oraz nietypowymi próbami deinstalacji aplikacji finansowych.
Podsumowanie
Hirudo pokazuje, że mobilne trojany bankowe rozwijają się od prostych kampanii phishingowych do operacji ingerujących bezpośrednio w logikę bezpieczeństwa aplikacji finansowych. Najgroźniejszym elementem tego zagrożenia jest podmiana legalnej aplikacji bankowej na spreparowaną wersję, która może fałszować wyniki lokalnych kontroli i tworzyć złudzenie bezpiecznego środowiska.
Dla branży finansowej i zespołów cyberbezpieczeństwa najważniejszy wniosek jest jednoznaczny: sygnały generowane lokalnie przez aplikację mobilną nie powinny być traktowane jako w pełni wiarygodne, jeśli istnieje możliwość jej podmiany. Skuteczna obrona wymaga większego nacisku na kontrole serwerowe, telemetrię behawioralną i modele wykrywania nadużyć zakładające aktywną manipulację po stronie urządzenia.