- [Duke's Virus Labs #7] - [Page 50] - Пособие для начинающих аверов (c) by Duke/SMF Вступление ~~~~~~~~~~ Если быть вирмейкером сейчас престижно, то быть авером более выгодно: толпа бестолковых юзеров так и норовит всучить аверам свои последние копейки, лишь бы получить свежую порцию аверского malware... Поэтому аверы стали плодиться на глазах. Ими становятся и ламеры, и вирмейкеры. Некоторые из VX'еров также пишут свои AV (я - не исключение). Раз уж ты, дорогой читатель, решил "заделаться" авером, я дам тебе несколько полезных советов. А с чего это, спросишь ты, какой-то вирмейкер будет учить аверов, как им писать свои AV ??? Я отвечу : да потому, что вирмейкеру лучше чем кому бы то ни было видно, как надо делать (и как делаются) антивирусы. С чего начать ~~~~~~~~~~~~~ Для начала тебе неплохо было бы раздобыть немного настоящих вирусов. Ну, хотя бы совсем немного ;) Сделать хороший антивирус можно даже не имея вирусов. Но народ перестанет его покупать, если не заметит результативности. Причем нужны именно ВИРУСЫ, а не то хламье, которое ламерье рассылает в FIDO-конференции с гордым видом (вся работа этих ТВАРЕниЙ [ (c) Voodoo ] заключается , как правило, в удалении файлов или форматировании винта). Но этих тоже надо иметь при себе. Почему ? Хм... Как бы тебе объяснить... Крутой антивирус должен иметь крутую базу, т.е. БОЛЬШУЮ базу. Главное в базе - НЕ возможность детектирования и корректного лечения (этим страдают тольк начинающие аверы. Но я то готовлю из тебя профессионала !) многих вирусов, а ее РАЗМЕР. Как юзер сравнивает антивирусы между собой ? Именно по числу детектируетмых вирусов. (И не важно, что часть из них никогда не побывают на воле, поскольку написана самими аверами). Вот настоящие аверы и пыжатся изо всех сил, стараясь раздуть свою базу больше, чем это сделает конкурент. На большую базу клюнет больше юзеров, но как набить базу ? Как набить базу ~~~~~~~~~~~~~~~ Привожу несколько способов, которыми пользуются НАСТОЯЩИЕ аверы. Для верности, указываю имена AV и вирусов - проверьте сами, если хотите. 1. Для одного и того же вируса можно использовать несколько сигнатур. Если вирус имеет payload или промежуточную стадию развития, то нужно детектировать их все под одним именем (например,BAT.Damn и Macro.Word97. Intended.CrazyMan в AVP). Т.о. реально будет детектироваться например 10000 вирусов, а записей в базе будет 15000. А аверы (как правило) объявляют именно число ЗАПИСЕЙ в базе, а не число вирусов. 2. Какой-нибудь ламер, который об ассемблере и дизассемблерах знает лишь по наслышке, переправил текстовые строки в вирусе (скажем, заменил имя автора и название вируса на свои). Такой вирус можно детектировать по той же сигнатуре, что и оригинальный вирус. Но нам-то надо набить базу ! Т.о. делаем привязку к текстовым строкам и детектируем вирус как XXXXXXX.xxx.b, чем повышаем число записей в базе. 3. Твоему AV просто жизненно необходимо детектировать всякое НЕвирусное барахло. Как это делается в AVP : Hoax.* - шутки, сообщающие о несуществующей опасности Joke.* - опять шутки Trojan.* - ну, это трояны. И ламерские поделки тоже из этой серии Corrupted.* - это когда вирус по глупости заразил COM-файл, который вовсе и не исполнимый файл, а состоит из одних нулей к примеру. При запуске вируса тачка зависнет (как пить дать !) и заражать ничерта не будет Intended.* - это когда автор навешал в вире кучу ошибок, и уже первое поколение работать не будет BinaryImage.* - OBJ-файл или кусок дампа памяти. Тоже не пашет ;-) GenDropper.* - а это демки поли-генераторов - создают с десяток криптованых файлов Constructor.* - конструкторы вирусов Cracker.* - избранные crack'и. Могу дать классный совет аверам : подписывайтесь на фидошную эху CRACKS и ВСЕ приходящие файлы обзывайте вирусами. Очень скоро ваша база не будет влезать на CD. :) VirTools.* - вирмейкерские утилиты FileCryptor.* - шифровщик файлов PolyCryptor.* - полиморфный шифровщик файлов KeyMaker.* - генератор номеров кредиток Backdoor.* - хакерские утилиты удаленного доступа - рекомендую всем админам Dropper.* - инсталляторы вирусом (единственное из списка, что в тему ;) Вот таким дерьмом, а не вирусами, забита база AVP. Зато она громадная (не забудьте и здесь использовать пункт 1), и вероятность обнаружения "вируса" на компе юзера заметно возрастает. 4. Одному вирусу можно дать два (и более !!!) разных имени. Для этого помещаем одну и туже сигнатуру в две записи с разными именами (например, Intended.DrZip.512 и Drzip.512 в AVP). Очень эффектно - в зависимости от содержимого AVP.SET (какие базы подключены и в каком порядке) вирус детектируется под разными именами. 5. Можно детектировать файлы, которые по своей сути не в состоянии нести вирус: *.DIZ или *.WAV и т.д.(например, некоторые из Generic_Malware.1318 и Generic_Malware.1320 в NOD32). Зато как будут благодарны юзеры, поняв что AV спас их от жуткого найденного вируса! Особенно юзер, купивший на Горбушке CD с 50000 MIDI-файлами, 6 часов тестировавший его разными AV, и наконец-то нашедший 1 (один) вирус с помощью именно ТВОЕГО AV - он поймет, что не зря терял время ;)) Повышение результативности AV ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Надо спасти юзера от какого-нибудь вируса. Тогда он будет предан твоему AV всю жизнь. Как же повысить вероятность "спасения юзера" ? 1. Возьмите в качестве сигнатуры вируса сигнатуру какого-либо криптора или упаковщика (упаси тебя бог взять в качестве сигнатуры заголовок PKLITE - юзер в окно выпрыгнет !) . Например, SUPD и Crypt by Dismember в AVP. Тогда в любой коллекции кряков (горячо любимых бедными юзерами) обязательно найдется "вирус". 2. Детектируйте AV от конкурентов как вирусы (например WM.Irish в DrWeb). Объявите всем войну ! 3. Возьмите сигнатуру, часто встречающуюся в файлах. К примеру : mov ah,9 ; B4h,09h mov dx,offset zzz ; BAh,xxh,yyh int 21h ; CDh,21h Ну вот и все, на первый раз и этого достаточно. Но ! если вы благодаря этой статье напишете популярный AV - с вас причитается пожизненная лицензия на всю группу SMF !!! ;-) Have Fun !!!