Еволюція веб-інжектів, частина 1
В даний час файли веб-інжектів взяті на озброєння у багатьох банківських шкідливих програмах та використовуються як засіб для здійснення фінансового шахрайства. Цей механізм роботи шкідливих програм спочатку був поширений у поодиноких екземплярах і був залежний від того чи іншого сімейства шкідливих програм. За останні кілька років веб-інжекти почали використовувати як частину цілої кіберзлочинної екосистеми, в якій незалежні їх розробники продають свої вироби операторам ботнетів.

Такий ринок продажу подібних послуг можна спостерігати на численних підпільних форумах, де ми бачимо все більше пропозицій від кіберзлочинців із продажу комплектів веб-інжектів. Вони включають всі необхідні можливості для проведення банківського шахрайства, включаючи, механізми обходу спеціальних заходів безпеки, які банки використовують для забезпечення безпеки рахунків користувачів.
Наше дослідження присвячене дослідженню самої природи веб-інжектів та їх зростаючого ринку. Ми озирнемося назад і подивимося, як веб-інжекти розвивалися з часом з самого початку, коли вони були схожі на систему звичайного фішингу і закінчуючи автоматичними системами ATS, які можуть використовуватися для обходу двофакторної 2FA аутентифікації.
На сьогоднішній день оператор ботнета, для заробляння коштів на шахрайських операціях, потребує лише шкідливої програми, яка вміє впроваджувати шкідливий HTML-вміст у легітимні веб-сторінки браузера. Таким чином, йому фактично байдуже, яким чином буде реалізований цей шкідливий механізм, йому важлива тільки його ефективність. Тому для реалізації цього алгоритму та його механізмів він може вдатися до послуг іншихкіберзлочинців, які знають цю область набагато краще, ніж він і які можуть запропонувати для проведення шахрайських схем найкращі послуги.
З погляду сьогодення, граббери форм є досить застарілий спосіб захоплення GET і POST запитів HTTP-протоколу, з допомогою яких дані форм відправляються на віддалений сервер. Добре відомі та вже вивчені банківські трояни Zeus та SpyEye були першими, хто використовував механізм граббінгу форм на основі перехоплень API-функцій у контексті процесу веб-браузера. Деякі шкідливі програми використовували механізм граббінгу форм на основі відстеження потоку мережі трафіку, який генерувався браузером. Використання механізму перехоплення API-функцій є для зловмисників кращим варіантом, оскільки таким чином дані форм перехоплюються ще до їхнього безпосереднього шифрування для подальшої передачі на веб-сервер. Такий метод не позбавлений недоліків, оскільки залежить від конкретного браузера або його версії.
Популярні банківські трояни Zeus та SpyEye були одними з перших, хто почав використовувати веб-інжекти для компрометації конкретних банківських сайтів та модифікації їхнього вмісту. Вміст веб-сторінки можна модифікувати за допомогою механізму перехоплення API-дзвінків. Це той самий спосіб, який використовується шкідливими програмами для організації граббінгу форм. Банківський троян може перевіряти отриманий з сервера вміст і модифікувати його на льоту, перед безпосереднім відображенням цього вмісту в браузері. Подібна техніка використовується для обману користувача, який довіряє вмісту, який відображає веб-браузер, при відвідуванні ним веб-сторінки онлайн-банкінгу. Такий метод відомий як атака на користувача підназвою Man-in-the-Browser (MitB). Нижче на Мал. 1 показаний приклад реальної дії веб-інжекта, результатом якого стало видалення тексту із попередженнями про фінансові шахрайства.

Шкідливий вміст, який буде додано до веб-сторінки, міститься у файлі конфігурації веб-інжектів. Цей файл зазвичай завантажується зараженим комп'ютером із віддаленого C&C-сервера. Такий спосіб передачі файлу конфігурації є дуже зручним для зловмисників, оскільки вони можуть модифікувати вміст такого файлу один раз на сервері і заражені комп'ютери наступного разу отримають вже модернізовану версію цього файлу. Існують різні формати файлів конфігурації веб-інжектів, але один з них набув найбільшої популярності. Він використовувався у банківському трояні SpyEye і згодом став стандартом де-факто. Рис. 2 показаний приклад файлу конфігурації веб-інжектів.


Таблиця 2. Найбільш поширені теги конфігураційного файлу веб-інжектів.

Automatic Transfer System (ATS)
З часом веб-інжекти ставали все більш спеціалізованими та багатофункціональними. Деякі з них містять спеціальні розширені функції,які допомагають зловмисникам виконувати шахрайські операції із рахунком користувача. Спеціальні скрипти, які реалізують такі операції, розраховані на обхід захисних механізмів заданих веб-сайтів онлайн-банкінгу. У міру розвитку веб-інжектів системи безпеки сайтів банків також удосконалювалися і в них додавалися все нові функції для виявлення шкідливої активності. Рис. 4. можна побачити приклад веб-інжекта, у якому зловмисники передбачили часові проміжки між шкідливими діями для імітації людської поведінки.

Як тільки шахрайський переказ з рахунку користувача був здійснений, веб-інжект приховує проведену операцію шляхом використання спеціальних механізмів. Під приховуванням розуміється непомітне коригування грошового балансу банківського рахунку. Таким чином, користувач залишається в невіданні того факту, що з його рахунку були викрадені кошти.
Популярність ATS атак знизилася останнім часом, оскільки знизився рівень співвідношення складності до успіху реалізації (success-rate-to-complexity ratio). Ми все ще можемо спостерігати використання ATS методів атак in-the-wild, але деякі кіберзлочинці відмовилися від їх використання на користь атак, в яких використовується «ручне управління». У такому разі зловмисники просто беруть компрометований комп'ютер під свій контроль і виконують шахрайські дії вручну.
Обхід механізму Transaction Authorization Number (TAN)
З появою банківських шкідливих програм фахівці з безпеки банків почали впроваджувати в банківські ресурси спеціальні додаткові функції безпеки. Однією з найбільш популярних такихфункцій стала двофакторна автентифікація, яка посилювала безпеку проведення транзакцій.
Двофакторна автентифікація підвищує планку безпеки під час проведення банківських операцій з допомогою використання спеціальних кодів підтвердження. Такі коди можуть бути отримані користувачем у своєму банку просто у формі списку, т.з. Transaction Authorization Numbers (TAN), або у формі SMS-повідомлення від банку, т.з. Мобільні коди (mTAN). Якщо двофакторна автентифікація включена, користувач буде використовувати отримані mTAN коди для підтвердження транзакції, що проводиться на веб-сайті онлайн-банкінгу.

Рис. 6. показано підроблене повідомлення шкідливої програми з проханням ввести код текст TAN зі списку, який був виданий користувачеві в банку. Як ми знаємо, коди у такому списку пронумеровані, тому зловмисники запитують код за певним номером. Зловмисники просять користувача передати їм код TAN у тому випадку, коли їм потрібно вкрасти з рахунку користувача певну суму грошей та підтвердити цю операцію механізмом 2FA. Фішингове повідомлення складається якомога переконливіше для відповідного впливу на користувача.


Шифрування конфігураційних файлів веб-інжектів
Оскільки файли конфігурації веб-інжектів містять ключову інформацію для дослідників з безпеки та організацій CERT по всьому світу, зловмисники прямо зацікавлені в тому, щоб вміст цих файлів не потрапив до їхніх рук. Для цього до файлів застосовуються алгоритми шифрування та обфускування.
На початковому етапі розвитку файлів веб-інжектів,зловмисники не використовували шифрування і ці файли передавалися з віддаленого сервера робота у відкритому вигляді. Після того, як антивірусні компанії звернули на банківські трояни більш пильну увагу і почали відслідковувати появу цих конфігураційних файлів, зловмисники почали використовувати шифрування, роблячи процес розшифрування вмісту важче з кожним кроком. Банківські трояни типу Zeus та її модифікації, нині, використовують кілька рівнів шифрування, а сам розшифрований файл зберігають у пам'яті частинами, а чи не повністю.

Алгоритми обфускації вмісту веб-інжектів, що використовуються зловмисниками, можуть значно ускладнити їх аналіз, оскільки деобфускація вмісту може являти собою нетривіальне завдання. Рис. 9. показано приклад такого обфусцированного вмісту.

Зростання кількості банківських троянів, а також їх складності неминуче призведе до попиту на якісні веб-інжекти. Такий попит вже забезпечений відповідними пропозиціями на підпільних форумах кібезлочинців.