Pull to refresh

Усовершенствования во вредоносных скриптах

Reading time1 min
Views924
Авторы вредоносных скриптов становятся всё изощрённее. По сообщениям от антивирусных компаний, они изучили и начинают активно применять новые трюки. Если раньше скрипты можно было легко обезвредить, просто поменяв переменную eval() на alert(), то теперь в скриптах используется переменная callee(), чтобы блокировать такие изменения. Хуже того, вирусописатели теперь используют информацию из document.referrer, document.location и location.href для декодирования скриптов, оптимизированных для конкретного сайта. Другими словами, эти скрипты будут запускаться только при определённых условиях, что делает их обнаружение довольно трудным.

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

Специалисты SANS рекомендуют установить маленький 8-строковый патч для программы SpiderMonkey, который показывает все аргументы eval() перед их запуском на исполнение. На сегодняшний день это, возможно, самый лучший способ для поиска вредоносных скриптов.

$/tmp/js/src$ diff jsobj.orig jsobj.c
1256a1257
> char *c;
1366a1368,1372
>
> c = js_GetStringBytes(cx->runtime, str);
> if (file && c) {
> printf («File %s Line %i calls eval with the following parameter:\n%s\n\n»,file,line,c);
> }
Tags:
Hubs:
+5
Comments3

Articles