Havěť s označením „BackSwap“ přináší pár zajímavých novinek, resp. nepříjemných novinek pro případnou oběť…
O havěti „BackSwap“ se na blogu We Live Security sice psalo již v květnu, nicméně to nemá na charakter tohoto článku vliv. Názvem „BackSwap“ byla označena havěť, která používá zcela nové metody vykrádání peněz z bankovních účtů obětí. Novinky jsou jak „filozofické“, tak i technologické. Zrovna tato havěť útočila na uživatele v Polsku a byla tak namířena na polské bankovní instituce. Nelze ale vyloučit, že se podobný útok objeví v budoucnu u nás. Pokrok prostě nezastavíš!
Zfušovaný trojský kůň
Havěť se šířila prostřednictvím elektronické pošty. V příloze lákavého e-mailu byl umístěn javaskriptový downloader (přípona souboru je .JS) z rodiny Nemucod, který po spuštění postahoval další svinstvo. Resp. ono šlo o legitimní programy typu 7Zip, WinRAR, avšak vhodně poupravené havětí. Výsledkem bylo, že na očekávanou činnost nedošlo a naopak byla spuštěna havěť, která byla nedílnou součástí zmiňovaných aplikací. Technicky k tomu posloužila modifikace inicializační rutiny standardní C runtime knihovny. Trochu to připomíná historickou dobu, kdy se havěť schvoválala za legitimní aplikaci a projevila se až po delší době. Prostě trojský kůň a analogie z řecké mytologie. Zde bohužel nebyla celá myšlenka dotažena a původní kód legitimní aplikace nebyl spuštěn. Proto si dovolím říci, že šlo o zfušovaného trojského koně. Z technického pohledu tenhle způsob modifikace způsobil komplikace alespoň při analýze havěti.
Hlavně jednoduše
U havěti pro vykrádání peněz z bankovních účtů je typické, že provedou tzv. injektáž do internetových prohlížečů a tím nad ními přeberou kontrolu. Mohou pak sledovat a šahat do komunikace třeba v momentě, kdy se uživatel přihlašuje do internetového bankovnictví. Injektáž je ale komplikovaná věc. Jednak tu máme několik prohlížečů (Google Chrome, Mozilla Firefox, …), ty existují v řadě odlišných verzí a co více, existují i ve variantě 32-bit a 64-bit. To vše musí brát útočník v potaz a na všechny tyto kombinace havěť připravit.
„BackSwap“ jde cestou „poslechu“ událostí skrze Windows message loop. Nevím, jak to jednoduše vysvětlit, ale havěť dokáže snadno zjistit, kde uživatel surfuje, zda to není náhodou internetové bankovnictví a přitom se vyhnout všem patáliím okolo injektáže prohlížeče. Jakmile je uživatel na webu internetového bankovnictví, havěť ve vhodný okamžik „stiskne“ kombinaci kláves CTRL+SHIFT+J (Google Chrome), případně CTRL+SHIFT+K (Mozilla Firefox), do vývojářské konzole nakopíruje škodlivý javaskript (za uživatele stiskne CTRL+V pro vložení) a celé to stiskem klávesy ENTER odešle. Novější verze pak kopírují škodlivý javaskript přímo do adresního řádku (CTRL+L – za prefix „javascript:“). Výsledkem je, že škodlivý javaskript se spustí v kontextu webu internetového bankovnictví, bez vědomí uživatele (tem může zaznamenat pouze krátké „zakousnutí“ prohlížeče) a útočník si tak může začít posílat cizí peníze…
Peníze odchází jinam
Havěť (resp. škodlivý javaskript) se postará o to, že těsně předtím, než oběť potvrdí bankovní transakci, vymění cílový účet! Peníze tak odchází jinam – útočníkovi! Tedy v případě, že si této změny (jiného účtu) nevšimne uživatel v potvrzující SMS zprávě. Tím, že útočník nemá pod kontrolou mobilní telefon, je toto jediné místo, kde může být podvod odhalen. Na druhou stranu, kolik z nás ověřuje, zda se cílové číslo účtu v SMS shoduje s tím, na které jsme chtěli peníze poslat? Já se přiznám: většinou jen tupě opíšu autorizační kód…
Pokud pominu fakt s SMS, oběť nemusí nic zvláštního poznat i díky tomu, že stav jeho konta v internetovém bankovnictví opravdu odpovídá realitě i včetně historie transakcí co do množství odeslaných peněz. Kouzlo je prostě jen v tom jiném čísle účtu, které může útočník na zavirovaném počítači též maskovat…
Dobrý den,
ochrání mě v tomto případě ESET a jeho Ochrana bankovnictví a online plateb se zeleně zarámovaným oknem prohlížeče ?
Díky Jirka
Ano, přesně takovým situacím má a umí zabránit.
Řešením je izolovaný prohlížeč v nějakém sandboxu, který se nebude používat na nic jiného. Otázka: funguje skript i v Debug konzoli IE?