Сигнатура
Сигнатура (лат. «signature» – «указывать») — в сфере безопасности компьютерных систем обозначает фрагмент кода или функцию, характерные для определенного типа вирусов. Соответственно, метод обнаружения вредоносного ПО при помощи проверки сигнатур называется «сигнатурным методом».

Сигнатуры могут быть двух типов. Первый тип основан, как уже было сказано в определении, на характерных фрагментах кода вредоносных программ. Он может содержаться как в теле вируса, так, например, и в его цифровой подписи. Второй же тип сигнатур основывается на типичном поведении «зловреда». В данном случае сигнатура являет собой описание для антивируса цикла атаки и не содержит непосредственно элементов кода.
Несмотря на высокую эффективность сигнатурного метода, в нем есть и ряд недостатков. Во-первых, текстовые фрагменты, характерные для той или иной сигнатуры, могут храниться и во вполне законопослушных программах. Соответственно, имеет место быть некоторый процент ложных срабатываний антивируса, использующего данный метод обнаружения.
Во-вторых, вирусописатели намеренно всячески искажают код и поведение вирусов, чтобы они не подпадали под определение ни одной из сигнатур. Отсюда имеем проблему потенциального заражения компьютера еще неизвестными типами вредоносных программ.
Именно по этим причинам, современные антивирусы все чаще, в дополнение к сигнатурному методу обнаружения (как самому быстрому), снабжаются механизмами эвристического анализа и проактивной защиты, без которых эффективность антивирусного ПО в наше время весьма сомнительна.
Вирусы и как с ними бороться. Часть вторая
В первой части статьи Вирусы и как с ними бороться мы рассмотрели теоретические основы вирусостроения. Сегодня подбираемся ближе к практике.
Для чего нам нужен антивирус?
Каждый производитель выпускает антивирусы для различных платформ, например существуют версии того же самого AVP как для различных Windows платформ, так и для Unix/Linux систем, MacOS. Уже многие компании начали выпуск антивирусных пакетов для мобильных устройств на базе SymbianOS, PalmOS и клоны Windows CE (WM, Pocket, Smartphone и т.п.). Многие юзеры, конечно, и не подозревают о том, что уже существуют вирусы и под эти платформы, а некоторые уже знают о них, получив через Bluetooth вирус Duts для WM 2002/2003 или Cabir для Symbian.
Где взять антивирус
В процессе установки разные антивирусы могут предлагать различные попутные настройки с обязательно установленной кнопкой в положение Recommended. Если вы не особо разбираетесь в работе антивируса, то лучше так и оставьте. Далее возможна ситуация, когда антивирус просканирует ОЗУ вашего кремниевого друга и удалит все вирусы из нее, после этого поступит предложение просканировать весь жесткий диск на предмет вирусов, до перезагрузки (если в памяти были найдены вирусы), не советую пренебрегать этим предложением. После сканирования перезагружаемся и если до этого в системе антивирус установлен не был, то наблюдаем более низкую скорость загрузки ОС, потерю нескольких десятков мегабайт ОЗУ, а если машина совсем уж слабенькая, то может наблюдаться и замедление работы — но поверьте, оно того стоит.
Как работает антивирус?
Практически каждый антивирус состоит из нескольких модулей, а именно из сканера, монитора, брандмауэра и различных блоков, защищающих нас от спама, фишинга и тому подобных неприятностей.
Начнем по порядку: с того, какие типы обнаружения вирусов существуют, а их всего три, это сигнатурный, эвристический и проактивный.
Сигнатурный метод обнаружения вирусов

На рисунке видна сигнатура, которую я специально добавил в тело «диллки» из существующего вируса под названием Email-Worm.Win32.Happy (из легендарного вируса!), примерно так и работает антивирус, декомпилируя файл и ища в нем сигнатуры вирусов (на самом деле, конечно же, код длинней, но и на сохраненные изменения в этом файле моя «Панда» отреагировала незамедлительно).
Многих также интересовал вопрос, как же все таки тело вируса попадает в антивирусные лаборатории, и я постараюсь на него ответить. Ну, во-первых, у каждой компании есть специальный робот, который называется Honeypots (липучка), сканирующий Интернет в поисках вирусов посредством эвристического анализа и проактивных методов (о которых чуть ниже), также вирусы присылают «зараженные» пользователи, чей антивирус с помощью эвристического анализатора обнаружил вирус и поместил его в карантин (специальная директория, в которую помещается инфицированный файл до тех пор, пока антивирусная компания не выпустит сигнатуру с кодом этого вируса и антивирус не сможет «выкусить» этот участок вредоносного кода фагом, тем самым, вылечив файл, а до тех пор придется выкусить пользователю 🙂 Файлы из этой директории не могут быть запущены на выполнение).
В некоторых случаях сигнатуры новых вирусов отправляют друг другу и компании антивирусного ПО. Да-да, это не шутка. Несмотря на маркетинговую политику, такое происходит, это поведал один руководитель крупной российской антивирусной компании в онлайн-интервью. А вообще в антивирусные компании ежедневно поступают из всех помянутых источников 200-300 свеженьких образцов различных «зверушек», написанных как профи, так и не очень опытными вирусописателями, некоторым образцам так и не суждено заразить ни одной машины, а некоторым, таким как Win95.CIH (он же «Чернобыль»), Sasser, NetSky, MyDom удается произвести настоящий шум.
После того как сигнатуры на сервере антивирусной компании добавлены в базы, антивирус подключается к официальному серверу или к зеркалу (если этому не противоречит регламент) и скачивает новые сигнатуры, добавляя к уже существующим.
Иногда в неделю добавляется сигнатур объемом в 350-400 кб, и после того как сигнатуры добавлены, файлы, находившиеся в карантине, будут вылечены (т.е. если вирусы, которыми они заражены, найдутся в базе).
Также иногда возникает спор на тему того, что у одного антивируса в базе 75 000 известных вирусов, а у другого их аж 125 000, и последний, как правило, в глазах несведущих пользователей выглядит привлекательней. Но тут тоже есть рекламная хитрость, дело в том, что у одного вируса может быть несколько мутаций (небольшое изменение кода вследствие модификации вредоносного кода), так вот, некоторые компании считают группу мутаций одного вируса (которая может достигать десятка) одним вирусом, другие считают каждую мутацию отдельным вирусом. Сигнатурный метод очень хорош тем, что в случае, когда вирус известен антивирусной компании и его сигнатура занесена в базы, он будет найден наверняка, на все 100%.
Эвристический метод обнаружения вирусов
Слово «эвристика» происходит от греческого «отыскиваю, открываю», и построен этот метод, грубо говоря, на анализе проб и ошибок. На практике при работе антивируса эвристический анализатор распознает некоторые виды мутировавших вирусов, но зачастую такой метод порождает ложные срабатывания. Зато именно с помощью этого метода возможна некоторая защита от отсутствующих в базе вирусов, то есть подозрительный файл будет помещен в карантин, откуда будет передан антивирусной компании в момент следующего обновления. В компании его исследуют и добавят код в базу сигнатур, после чего этот файл, возможно, будет вылечен.
Один совет по поводу сотрудничества с антивирусными компаниями. Иногда антивирусная компания просит присылать обнаруженный вирус или инфицированный файл по почте с пометкой «вирус», но дело в том, что по дороге от почтового сервера к почтовому серверу файл подвергнется проверке и будет либо удален, либо дезинфицирован, поэтому следует его предварительно упаковать в архив с паролем и в тексте письма указать пароль.
Помните, что ни один антивирус не обнаружит вирус в запароленном архиве. Когда же вирус или инфицированный файл попадает в карантин, то он сразу шифруется и становится недоступным для всех приложений, кроме антивируса, и в лабораторию при следующем соединении с сервером он будет отправляться также в зашифрованном виде, но уже напрямую, минуя почтовые сервера. Ни один антивирусный монитор не даст вам сделать ни одного действия над зараженным файлом, а будет его блокировать (обычно на защищенных от записи носителях) или сразу лечить, поэтому нужно будет, отключив резидентный модуль (о нем ниже), заархивировать файл с паролем, а потом запустить резидента снова (вообще я все эксперименты с вирусами произвожу на виртуальной машине, что и вам советую).
Проактивный метод обнаружения вирусов (или поведенческий)
Этот метод обнаружения впервые появился в продукте «Антивирус Касперского 6.0» и произвел в некотором роде переворот в антивирусном ПО.
Но, конечно, и у этого метода есть как сильные стороны, так и слабые. Правила поведенческого анализатора выпускаются производителем в специальных базах (как и сигнатуры), и если, допустим, хакеры изучат поведение антивируса в той или иной ситуации, то они могут создать такое правило для своего вируса, которое будет вписываться в рамки «допустимости» антивирусного модуля проактивной защиты, и тем самым обманут его. Также стоит отметить, что те пользователи, которые работали с таким методом обнаружения вирусов, очень часто натыкались на «ложную тревогу», когда антивирус принимал совершенно безобидное приложение за шпиона или трояна.
Полифаги и фаги
Теперь давайте разберемся, как работает антивирус на практике и как вообще построен процесс работы антивируса. Для начала стоит напомнить, что современные антивирусы состоят из нескольких блоков (как уже упоминалось выше), а именно из монитора (резидентного модуля), сканера, фаервола (брандмауэра) и различных модулей по работе со спамом, фишингом, шпионами, адварами и тому подобной дрянью.
Также во время установки антивируса в систему он интегрируется в почтовые программы, такие как Outlook Express, Eudora, The Bat! и т.д.

Это очень важный аспект, поскольку во время получения почты нужно прямое сканирование трафика из протоколов POP3, SMTP, NNTP, IMAP и тому подобных, потому что многим типам червей, распространяющихся через эти протоколы, совершенно не нужно запуска, им главное попасть на ваш компьютер, дальше сработает механизм. Учтите это! Вам же не хочется, чтобы какой-нибудь червь с трояном отправили на все ваши адреса из почтовой программы ругательные письма. Представляете, что будет с вашим лицом через пару дней, когда до вас доберутся обиженные адресаты? 🙂
В отличие от монитора, сканер нужно запускать вручную, натравив антивирус либо на один файл из контекстного меню, либо через главное окно производить поверку выбранных объектов, целых дисков, отдельных папок.
Три заблуждения, связанных с антивирусами: сигнатуры, вирусы и лечение
Поговорим о нескольких понятиях, которые зачастую понимаются ошибочно: какие бывают сигнатуры, что на самом деле такое вирусы и как работает лечение системы антивирусом.
Мы много и часто рассказываем о правилах поведения (а может, даже и выживания) в Интернете, да и в цифровом мире в целом. Очень надеемся, что делаем это все не зря, — что люди учатся и потом учат своих близких. Это правда очень важно.
Однако во всех этих рассказах встречается немало специфических терминов, которые кто-то может не знать или понимать неверно. Сегодня мы поговорим о трех самых распространенных заблуждениях, связанных с антивирусами, и попробуем объяснить, почему мы называем определенные вещи так, а не иначе.
Заблуждение первое: сигнатуры — это что-то устаревшее
Так исторически сложилось, что антивирусные базы в разговоре и даже статьях часто называют сигнатурами. В действительности же классические сигнатуры, пожалуй, ни один антивирус не использует уже лет 20.
Проблема возникла из-за того, что с самого начала — а это восьмидесятые годы — понятие «сигнатуры» не было определено четко. Например, отдельной статьи про них в «Википедии» нет даже сейчас, а в статье про вредоносные программы понятие «сигнатуры» используется без определения — как нечто всем известное.
Давайте же это определение дадим. Классическая вирусная сигнатура — это непрерывная последовательность байтов, характерная для той или иной вредоносной программы. То есть она содержится в этом вредоносном файле и не содержится в чистых файлах.
Например, характерная последовательность байтов может быть такой
Проблема в том, что сегодня с помощью таких классических сигнатур определить вредоносный файл достаточно проблематично — их создатели используют различные техники для того, чтобы запутать следы. Поэтому современные антивирусы используют значительно более продвинутые методы. И хотя в антивирусных базах примитивных записей по-прежнему много (больше половины), но есть еще и очень много умных записей.
Все это продолжают по старинке называть сигнатурами. И ладно бы просто называли — в общем-то, ничего страшного. Но это название зачастую используется уничижительно: мол, сигнатуры — устаревшие технологии. А на самом деле в этих «устаревших сигнатурах» порой какое-нибудь «разбиение пространства исполняемых файлов на кластеры в результате работы нейронной сети», которое никто и словами-то доступно не может описать.
В идеале стоило бы отказаться от использования самого термина «сигнатура» в смысле «любая запись в антивирусной базе». Но уж слишком прочно это слово вошло в обиход, да и альтернативного термина пока не придумали, так что все продолжают по привычке пользоваться им.
Поэтому важно иметь в виду, что само по себе слово «сигнатура» на самом деле не говорит ничего о продвинутости или примитивности.
Антивирусная запись — это запись, а стоящая за ней технология может быть как классической, простенькой, так и суперсовременной и навороченной, нацеленной на детектирование самых запутанных и высокотехнологичных вредоносных файлов или даже целых семейств вредоносов.
Заблуждение второе: вирусы — это любые вредоносные программы
Вы наверняка отмечали, что вирусные аналитики нашей компании избегают употребления слова «вирус», предпочитая ему странноватые слова вроде «вредонос» или «зловред», а между собой часто говорят «малвара». Делаем мы это вовсе не из суеверия или профессионального пафоса.
Дело в том, что «Virus» — это вполне конкретная разновидность вредоноса, отличающегося очень специфическим поведением: это зловред, который заражает собой другие, чистые файлы. Вирусные аналитики также используют для этого типа вредоносных программ термин «инфекторы».
Инфекторы в вирусной лаборатории пользуются особым статусом. Во-первых, их чуть сложнее распознать — с виду файл чистый, а на самом деле в нем инфекция. Во-вторых, они требуют особого подхода: почти всегда для них нужна специальная процедура лечения и, как правило, еще и особая процедура детектирования. Поэтому инфекторами занимаются люди, специализирующиеся именно на этом типе угроз.
Классификация вредоносных программ
И вот для того, чтобы не путать «вирус» в обывательском смысле с вполне определенной категорией зловредов, вирусные аналитики, в том числе и в разговоре с прессой, употребляют слова «вредонос» или «зловред», когда речь идет о вредоносных программах в целом.
И раз уж мы заговорили о правильных терминах, то вот еще несколько. «Червь» — это вредонос, способный к самостоятельному распространению за пределы одного устройства. А «малвара» (malware), если следовать точной классификации, не включает в себя «адвару» (adware) — грубое рекламное ПО — и «рисквару» (riskware) — легальное ПО, которое может нанести вред пользователю, если установлено не им, а злоумышленниками.
Заблуждение третье: антивирус не умеет лечить
Мне встречалось такое заблуждение, будто антивирус сканирует и детектирует, а если что-то найдет, то потом надо скачивать специальную лечащую утилиту и использовать уже ее. Отдельные утилиты для особо популярных зловредов у нас действительно есть — например, специализированные утилиты, позволяющие бесплатно расшифровать файлы, зашифрованные вымогателями. Но и антивирус справляется с лечением ничуть не хуже. А в подавляющем большинстве случаев — даже лучше, за счет драйверов в системе и других технологий, которые в утилиту не запихнешь.
Лечение заключается в следующем. В 1% случаев, когда пользователю антивируса «посчастливилось» натолкнуться именно на вирус — инфектор (причем, скорее всего, еще до установки антивируса, иначе бы зловред просто не запустился), антивирус действительно будет перебирать все зараженные файлы на компьютере и производить процедуру дезинфекции — восстанавливать оригинал. Кстати, то же самое антивирус будет делать, если потребуется расшифровать файлы, зашифрованные вымогателем-шифровальщиком — зловредом класса Trojan-Ransom.
А в остальных 99% случаев, когда зловред ничего не инфицирует, а просто делает (или собирается делать) свое черное дело, лечение действительно состоит в банальном удалении файла зловреда. Просто потому, что заражения других файлов нет, так что и лечить их не требуется. Уничтожаем файл — и система здорова.
В большинстве случаев лечение как таковое не требуется, достаточно просто удалить вредоносный файл
Но тут есть одно исключение — если зловред уже работает в системе (а не просто лежит на диске), то антивирус переходит в состояние «Лечение активного заражения», чтобы все сделать надежно и до конца, без рецидивов. Вот здесь можно прочитать полное описание данной врачебной процедуры.
Кстати, ситуация такая возникает обычно по двум причинам:
Заключение
На сегодня все. Надеюсь, теперь вы:
Принципы работы антивируса
Антивирус – программа, ищущая вирусы, трояны, червей, бэкдоры и прочее нежелательное ПО на компьютере пользователя. Как правило антивирусы разрабатываются для семейства ОС Windows, что как бы намекает на следующие особенности этой операционки: а) большую распространенность, б) большую уязвимость к атакам, в) большую перспективность рынка антивирусов из-за высокой коммерциализации, г) увы, малую компьютерную грамотность её пользователей.
Антивирусы бывают платные и бесплатные. Подробно о плюсах и минусах обоих категорий мы говорить здесь не будем, замечу только лишь, что все не так однозначно, как может показаться на первый взгляд.
Если посмотреть со стороны на работу антивируса, его самого можно легко принять за вирус, но только со знаком плюс. Методы работы антивируса – слежение за сетевым трафиком, прослушивание портов, контроль служб, модификация и удаление файлов, сбор статистики и отправка данных разработчику ПО, изрядное потребление вычислительных мощностей… Разве что вывода из строя оборудования не хватает! Разумеется, все это направлено во благо пользователя и во имя сохранения его данных, но общая картина по меньшей мере любопытна. Кстати, именно из-за этой особенности крайне не рекомендуется устанавливать на одну машину сразу два антивируса. Мало того, что это без танцев с бубном редко кому удастся, так и последствия их совместной «работы» могут быть самыми причудливыми, вплоть до летальных для ОС.
В массовом сознании накрепко засел миф, что многие вирусы созданы самими антивирусными компаниями, точки над «i» в этом вопросе расставит неплохая статья здесь.
Разные антивирусы по-разному борются с вредоносным ПО. Все антивирусы могут обнаруживать вирусы, но, к сожалению, не все эффективно лечить. В состав антивируса могут входить несколько модулей, в зависимости от релиза и того, на что способна контора-разработчик антивируса. Модули могут быть следующие: модуль поиска нежелательного ПО, модуль анализа подозрительного поведения программ (эвристический модуль), карантинный модуль для изоляции подозрительных файлов, модуль обновлений – для поддержания актуальности новым угрозам, модуль «исцеления» зараженных файлов, брандмауэр, он же файрвол, и некоторые другие.
Антивирус не является панацеей! Это один из множества «бойцов», брошенных в бой с угрозами безопасности в бесконечной войне за информацию, причем не самый сильный. Никакой антивирус не дает 100% защиты в силу особенностей его функционирования.
К сожалению, большая часть работы антивируса направлена на устранение последствий «негигиеничной» рискованной, а иногда, увы, попросту неграмотной работы пользователя в Интернете, с внешними носителями данных и неизвестными приложениями.
Основные методы борьбы с вирусами
Сигнатурный метод обнаружения
Наверняка вы встречались с сообщениями антивируса, например, Антивируса Касперского, о том, что антивирусные базы устарели и их необходимо обновить. О каких базах идет речь?
Антивирусная лаборатория – разработчик антивируса – выявляет вирус, анализирует его, и выявляет так называемую сигнатуру. Сигнатура вируса (сигнатура атаки) – особый цифровой признак вредоносной программы, по которому её можно «узнать» и однозначно определить. Эти сигнатуры вносятся в базу данных, чье обновление регулярно скачивает пользователь вручную или по расписанию. Сообщение от антивируса об устаревании базы вирусов сигнализирует об ослаблении защиты и повышении вероятности подхватить какой-нибудь «свежак».
Достоинства этого метода:
Недостатки:
Эвристические методы обнаружения
Многие антивирусные программы содержат в себе модуль так называемого эвристического поиска вредоносных программ. Суть метода в анализе поведения всех запускаемых программ. Если в процессе работы системы вдруг обнаруживается «подозрительное» поведение приложения, то есть программа вдруг начинает делать то, что раньше не делала, то срабатывает тревога и эвристический модуль сообщает пользователю о потенциальной угрозе.
Достоинства метода:
Недостатки метода:
Брандмауэр или файрвол
Брандмауэр предназначен для защиты от сетевых угроз – из локальной сети и Интернета.
Этот модуль далеко не всегда входит в стандартный набор антивируса, зачастую брандмауэр разрабатывается, поставляется и продается как отдельная программа.
Многие программы для соединения с удаленными компьютерами или серверами могут использовать небезопасные методы, оставляя «дырки» и уязвимости для проникновения извне.
Суть работы брандмауэра в контроле как входящего, так и исходящего трафика путем ограничения возможности устанавливать соединения с определенными удаленными ресурсами. Самый наглядный метод защиты – белые и черные списки сетевых ресурсов.
«Черный» список сетевых ресурсов – это список, например, сайтов, куда заходить нельзя, а «белый» список – это список ресурсов, куда только и можно заходить. Как нетрудно заметить, метод белого списка значительно более безопасен, но и сильно ограничивает возможности пользователя и программ.
Достоинства брандмауэра:
Недостатки брандмауэра:
Основы работы антивирусных программ
Общие сведения
Методы и принципы защиты теоретически не имеют особого значения, главное чтобы они были направлены на борьбу с вредоносными программами. Но на практике дело обстоит несколько иначе: практически любая антивирусная программа объединяет в разных пропорциях все технологии и методы защиты от вирусов, созданные к сегодняшнему дню.
Из всех методов антивирусной защиты можно выделить две основные группы:
Сигнатурный анализ
Сигнатурой вируса будет считаться совокупность черт, позволяющих однозначно идентифицировать наличие вируса в файле (включая случаи, когда файл целиком является вирусом). Все вместе сигнатуры известных вирусов составляют антивирусную базу.
Практически в каждой компании, выпускающей антивирусы, есть своя группа экспертов, выполняющая анализ новых вирусов и пополняющая антивирусную базу новыми сигнатурами. По этой причине антивирусные базы в разных антивирусах отличаются. Тем не менее, между антивирусными компаниями существует договоренность об обмене образцами вирусов, а значит рано или поздно сигнатура нового вируса попадает в антивирусные базы практически всех антивирусов. Лучшим же антивирусом будет тот, для которого сигнатура нового вируса была выпущена раньше всех.
Соотношение количества сигнатур и количества известных вирусов для каждой антивирусной базы свое и вполне может оказаться, что база с меньшим количеством сигнатур в действительности содержит информацию о большем количестве вирусов. Если же вспомнить, что антивирусные компании обмениваются образцами вирусов, можно с высокой долей уверенности считать, что антивирусные базы наиболее известных антивирусов эквивалентны.
Эвристический анализ
Слово » эвристика » происходит от греческого глагола «находить». Суть эвристических методов состоит в том, что решение проблемы основывается на некоторых правдоподобных предположениях, а не на строгих выводах из имеющихся фактов и предпосылок. Поскольку такое определение звучит достаточно сложно и непонятно, проще объяснить на примерах различных эвристических методов
Поиск вирусов, похожих на известные
Если сигнатурный метод основан на выделении характерных признаков вируса и поиске этих признаков в проверяемых файлах, то эвристический анализ основывается на (весьма правдоподобном) предположении, что новые вирусы часто оказываются похожи на какие-либо из уже известных. Постфактум такое предположение оправдывается наличием в антивирусных базах сигнатур для определения не одного, а сразу нескольких вирусов. Основанный на таком предположении эвристический метод заключается в поиске файлов, которые не полностью, но очень близко соответствуют сигнатурам известных вирусов.
Положительным эффектом от использования этого метода является возможность обнаружить новые вирусы еще до того, как для них будут выделены сигнатуры. Отрицательные стороны:
Поиск вирусов, выполняющих подозрительные действия
Другой метод, основанный на эвристике, исходит из предположения, что вредоносные программы так или иначе стремятся нанести вред компьютеру. Метод основан на выделении основных вредоносных действий, таких как, например:
Понятно, что выполнение каждого такого действия по отдельности не является поводом считать программу вредоносной. Но если программа последовательно выполняет несколько таких действий, например, записывает запуск себя же в ключ автозапуска системного реестра, перехватывает данные вводимые с клавиатуры и с определенной частотой пересылает эти данные на какой-то адрес в Интернет, значит эта программа по меньшей мере подозрительна. Основанный на этом принципе эвристический анализатор должен постоянно следить за действиями, которые выполняют программы.
Преимуществом описанного метода является возможность обнаруживать неизвестные ранее вредоносные программы, даже если они не очень похожи на уже известные. Например, новая вредоносная программа может использовать для проникновения на компьютер новую уязвимость, но после этого начинает выполнять уже привычные вредоносные действия. Такую программу может пропустить эвристический анализатор первого типа, но вполне может обнаружить анализатор второго типа.











