Хакерите правят някои фишинг страници по-трудни за проследяване, като променят кода, доставян до всеки посетител. Изследвана операция е използвала формуляр за кражба на идентификационни данни, чийто външен вид е оставал познат, докато структурата му непрекъснато се е променяла.

Атаката е започвала с фишинг съобщение, съдържащо уеб връзка. В един от случаите отварянето й не е показало страница за вход; вместо това браузърът е блокирал за около 30 секунди и е натоварил едно от процесорните ядра, което подсказва, че проблемът е бил в самата страница, а не в хостващия сървър.

Анализатори от Internet Storm Center са идентифицирали необичайното поведение, докато са преглеждали съобщение, изпратено до тяхната пощенска кутия за сигнали.

В доклад на Internet Storm Center се посочва, че подозрителната страница е използвала силно обфускиран JavaScript код, който в крайна сметка е разкривал стандартен формуляр, предназначен за събиране на пароли и потребителски имена.

Това разкритие е важно, тъй като много защитни системи разчитат на постоянни индикатори, като например хеш на файл, повтарящо се поле на страницата или разпознаваем низ в скрипт. Когато всяко посещение получава нова версия, тези индикатори губят стойността си, въпреки че страницата все още изпълнява същата вредна задача.

Хакерите карат фишинг страниците да променят своя код

Изследователите са се върнали на същия адрес и са установили, че по-късните заявки са се зареждали нормално. След това са я изтеглили 50 пъти: всяка проба е имала различен SHA-256 хеш, появили са се 21 отделни заглавия на страници, а кодът е пренареждал функциите, преименувал е променливите и е пренаписвал числовите стойности чрез различни математически изчисления.

Промените са преминали отвъд първия слой на JavaScript. След дешифриране, всички 50 крайни HTML страници също са били различни – с променени имена на формуляри и полета за въвеждане, CSS класове, идентификатори на елементи, параметри на изображенията и скрити Unicode символи с нулево разстояние, поставени в рамките на видимия текст.

За посетителя обаче резултатът е изглеждал и е работил по почти същия начин: страница, целяща да се сдобие с данни за вход.

Това разминаване е същността на полиморфизма – техника, която кара изходния код да изглежда нов, без да променя предназначението му, и затруднява статичното съпоставяне, използвано за улавяне на повтаряща се фишинг инфраструктура. Този подход обаче не прави откриването невъзможно.

Екипите по сигурността все още могат да проучват поведението на страницата, пътищата за изпращане на формуляри, моделите на хостване и структурните характеристики, които остават постоянни под променящия се код.

Грешка в кода е разкрила схемата

Първата проба се е сринала, тъй като два цикъла за декодиране са използвали една и съща недекларирана променлива k. Вътрешна помощна функция многократно е нулирала брояча, използван от външния цикъл, затваряйки го в капан между стойности 48 и 49, което е натоварило браузъра, вместо да позволи на зловредния код да завърши зареждането си.

След като анализаторът е дал на вътрешната функция собствен локален брояч, декодирането е завършило успешно и формулярът за идентификационни данни се е появил. Едно от 50-те скриптирани изтегляния е повторило същата грешка, докато 49 са се декодирали успешно, което показва, че дефектната версия не е била просто повреден отговор по време на доставката.

За защитниците практическият извод е да избягват да третират чиста на пръв поглед страница или променен хеш като доказателство за безопасност.

Филтрирането на имейли трябва да бъде обвързано с анализ на URL адреси и инспекция на поведението, докато служителите трябва да проверяват неочаквани подкани за влизане в профила чрез официални и известни канали, а не чрез връзки от съобщения.

Организациите също така трябва да се подготвят за компрометиране на акаунти, вместо да приемат, че промяната на паролата прекратява риска. Когато фишинг операцията краде удостоверени сесии, защитниците може да се наложи незабавно да анулират активните сесии и токени, да прегледат достъпа и да одитират подозрителни промени в самоличността в засегнатите акаунти.