НЕ вирусы
Постоянно проверяя сайты по 41ой антивирусной базе, мы находим что-то подозрительное почти в каждом. Вот почему так важно знать, какой код является исключением и НЕ является вирусом. В нашей коллекции более сотни таких исключений. Это позволяет нам не наводить панику, когда одна из чрезмерно параноидальных антивирусных программ принимает код за вирус. Мы бьем тревогу только в случае реальной опасности.
Представляем первую тройку самых частых НЕвирусов:
1 | ![]() |
Чемпионский титул с огромным преимуществом выигрывает общеизвестная javascript библиотека jquery
ClamAV распознает разные версии упакованного варианта библиотеки как PUA.Script.Packed-1 или PUA.Script.Packed-2
jQuery JavaScript Library 1.2.6 (файл jquery.min.js) распознается как PUA.Script.Packed-1
Код этого файла (начало и окончание):
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);
...
.children("div").attr("class") == "content-opened" ){$(this).parent(".part").children("div").attr("class", "content");}}); });</p>
jQuery JavaScript Library v1.4.2 (файл jquery.min.js) распознается как PUA.Script.Packed-2
Код этого файла (начало и окончание):
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");
...
e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
Разумеется, jquery ни в коей мере НЕ является вирусом.
В декабре 2009 был зафиксирован первый случай дописывания вирусного кода в конец библиотеки jquery, что затрудняет обнаружение. В будущем развитие сайтовых вирусов пойдет именно по пути интеграции в середину jquery и других подобных библиотек. Это крайне затруднит нахождение таких вирусов и потребует от антивирусных программ значительно большего интеллекта.
2 | ![]() |
Как это ни странно, антивирус Rising распознает размещаемую на сайтах narod.ru рекламу Яндекса как вирус Hack.Exploit.Script.HTML.IFrame.o.
Код, который Rising считает подозрительным:
<script language="JavaScript" src="http://yabs.yandex.ru/show/163"></script>
Причиной срабатывания является расположение скрипта закрывающих ниже тегов </body></html> и то, что он при этом фактически вписывает в страницу popup. К самому Яндексу у Rising и других антивирусов претензий нет, в отличие от нашего следующего "финалиста".
3 | ![]() |
Размещаемая этим сайтом реклама распознается антивирусом Sunbelt как Trojan-Clicker.HTML.IFrame (v)
Код, который Sunbelt считает подозрительным:
<iframe width="180" scrolling="yes" height="480" frameborder="0" border="0" style="border: 0px solid rgb(153, 102, 102); visibility: visible;" src="http://dosugcz.info/getThumbs?uid=1065160&p=2&fmt=htm&sid=42&lng=ru&desc=name&cs=5&cp=2&tpl=t1&sty=int&margin=30 &box_border=1&img_border=1&fnt=12&bg=%23feedb2&box_color=%23CC9999&box_border_color=%23996666&fg=%23ff0000&fghover=%23000000&a=&ah=1&img_border_color=%23000000&cols=1&rows=5&tid=1"></iframe>
Само по себе подгружаемое в iframe содержимое ничего вирусного не содержит. Причина срабатывания - попадание домена dosug.cz во многие базы вредоносных доменов, которые создают энтузиасты и специализированные организации. В эти базы стараются собрать сайты, не безопасные для детей, либо задействованные в pfishing или рассылке спама. Таким образом даже безобидное содержимое с этого сайта, подгружаемое в iframe, воспринимается программой Sunbelt как вирус. Так он заботится о моральной чистоте населения.
Кандидатом в первую тройку является сайтоконструктор ucoz, на бесплатных сайтах которого в самом начале стоит рекламный скрипт, на который ругаются многие GUI (графические) антивирусы.
Скрипт расположен перед открывающим тегом <html>, что и делает его подозрительным для антивирусных программ.
Пример кода:
<style type="text/css">.caVm3x0 {position:absolute;right:0px;top:0px;} div > table.caVm3x0 {position:fixed;}</style>
<script type="text/javascript">function faVm3x0(a){try{document.getElementById("paVm3x0").style.display=a;}catch(e){}try{document.getElementById("aVm3x0").style.display=a;}catch(e){}}function f2aVm3x0(){faVm3x0('');}</script> <div id="paVm3x0"><table border="0" cellspacing="0" cellpadding="0" class="caVm3x0" id="aVm3x0" style="z-index:10000;width:230px"><tr><td valign="top" width="12"><a href="javascript://" onclick="faVm3x0('none');return false;" title="Закрыть"><img alt="" src="http://s43.ucoz.net/img/ma/cv.gif" style="border:0;width:12px;height:54px;"></a></td><td width="218"><script type="text/javascript">var begun_auto_pad = 170744863; var begun_block_id = 170744923; var begun_self_keywords = 'стеклопакеты, Регистрация иностранных компании';</script><script src="http://autocontext.begun.ru/autocontext2.js" type="text/javascript"></script></td></tr></table></div><html>