Настройка оборудования и программного обеспечения

Что из себя представляют компьютерные вирусы, их виды. Вредоносные программы и вирусы (макро-вирусы, стелс и полиморфные вирусы)

На самом деле макровирусы являются не самостоятельным «видом», а всего лишь одной из разновидностей большого семейства вредоносных программ - скрипт-вирусов. Их обособление связано разве что с тем фактором, что именно макровирусы положили начало всему этому семейству, к тому же вирусы, «заточенные» под программы Microsoft Office, получили наибольшее распространение из всего клана. Следует отметить также что скрипт-вирусы являются подгруппой файловых вирусов. Данные вирусы, написаны на различных скрипт-языках (VBS, JS, BAT, PHP и т.д.).

Общая черта скрипт-вирусов - это привязка к одному из «встроенных» языков программирования. Каждый вирус привязан к конкретной «дырке» в защите одной из программ Windows и представляет собой не самостоятельную программу, а набор инструкций, которые заставляют в общем-то безобидный «движок» программы совершать не свойственные ему разрушительные действия.

Как и в случае с документами Word, само по себе использование микропрограмм (скриптов, Java-апплетов и т.д.) не является криминалом, - большинство из них вполне мирно трудится, делая страничку более привлекательной или более удобной. Чат, гостевая книга, система голосования, счётчик - всем этим удобствам наши странички обязаны микропрограммам-«скриптам». Что же касается Java-апплетов, то их присутствие на страничке тоже обоснованно - они позволяют, например, вывести на экран удобное и функциональное меню, которое разворачивается под курсором мышки…

Удобства удобствами, но не стоит забывать, все эти апплеты и скрипты - самые настоящие, полноценные программы. Причём многие из них запускаются и работают не где-то там, на неведомом сервере, а непосредственно на вашем компьютере! И, встроив в них вирус, создатели страницы смогут получить доступ к содержимому вашего жесткого диска. Последствия уже известны - от простой кражи пароля до форматирования жесткого диска.

Разумеется, со «скриптами-убийцами» вам придётся сталкиваться во сто крат реже, чем с обычными вирусами. Кстати, на обычные антивирусы в этом случае надежды мало, однако открытая вместе со страничкой зловредная программа должна будет преодолеть защиту самого браузера, создатели которого прекрасно осведомлены о подобных штучках.

Настройка уровня безопасности Internet Explorer.

Вернёмся на минутку к настройкам Internet Explorer, - а именно в меню Сервис/ Свойства обозревателя/ Безопасность. Internet Explorer предлагает нам несколько уровней безопасности. Помимо стандартного уровня защиты (зона Интернет) мы можем усилить (зона Ограничить) или ослабить свою бдительность (зона Надёжные узлы). Нажав кнопку Другой, мы можем вручную отрегулировать защиту браузера.Впрочем, большая часть скрипт-вирусов распространяется через электронную почту (такие вирусы чаще называют «Интернет-червями»). Пожалуй, ярчайшими представителями этого семейства являются вирусы LoveLetter и Anna Kournikova, атаки которых пришлись на сезон 2001-2002 г. Оба этих вируса использовали один и тот же приём, основанный не только на слабой защите операционной системы, но и на наивности пользователей.

Мы помним, что переносчиками вирусов в большинстве случаев являются сообщения электронной почты, содержащие вложенные файлы. Помним и то, что вирус может проникнуть в компьютер либо через программы (исполняемые файлы с расширением *.exe, *.com.), либо через документы Microsoft Office. Помним и то, что со стороны картинок или звуковых файлов нам никакая неприятность грозить вроде бы не может. А потому, раскопав нежданно-негаданно в почтовом ящике письмо с прикреплённой к нему (судя по имени файла и расширению) картинкой, тут же радостно её запускаем… И обнаруживаем, под картинкой скрывался вредоносный вирусный «скрипт». Хорошо ещё, что обнаруживаем сразу, а не после того, как вирус успел полностью уничтожить все ваши данные.

Хитрость создателей вируса проста - файл, который показался нам картинкой, имел двойное расширение! Например, AnnaKournikova.jpg.vbs

Вот именно второе расширение и является истинным типом файла, в то время как первое является просто частью его имени. А поскольку расширение vbs Windows хорошо знакомо, она, не долго думая, прячет его от глаз пользователей, оставляя на экране лишь имя AnnaKournikova.jpg

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

Хороша ловушка, но различить её легче лёгкого: фокус с «двойным расширением» не проходит, если мы заранее активируем режим отображения типов файлов. Сделать это можно с помощью меню Свойства папки на Панели управления Windows: щёлкните по этому значку, затем откройте закладку Вид и снимите галочку со строчки Скрывать расширения для зарегистрированных типов файлов.

Запомните: в качестве «вложения» в письмо допустимы лишь несколько типов файлов. Относительно безопасны файлы txt, jpg, gif, tif, bmp, mp3, wma.

А вот список безусловно опасных типов файлов:

  • § asx com inf msi
  • § bas cpl ins pif
  • § bat crt js reg
  • § cmd exe msc vbs

Собственно говоря, список потенциальных «вирусоносителей» включает ещё не один десяток типов файлов. Но эти встречаются чаще других.

Перед тем как приступить к написанию данной статьи, я встретился с одним из основателей отечественной антивирусной индустрии Евгением Касперским, который сообщил мне некоторые цифры о состоянии российского и мирового антивирусного рынка. Также я побеседовал с представителем знаменитой антивирусной компании «ДиалогНаука», менеджером по работе с крупными клиентами, Максимом Скидой. Из разговора я узнал любопытный факт - оказывается, антивирусная индустрия вот-вот отметит свое первое десятилетие.

Конечно, антивирусы появились более десяти лет назад. Однако первое время они распространялись как бесплатное противоядие. Не было должной поддержки сервиса, поскольку проекты были некоммерческими. Как индустрия служба создания и предоставления антивирусных программ оформилась примерно в 1992 году, не раньше, а значит вскоре отметит свое десятилетие. Десять лет для рождения и развития целой индустрии, с оборотом в сотни миллионов долларов, срок очень небольшой. За это время возник совсем новый рынок, сформировался определенный перечень продуктов, появилось такое количество новых терминов, что их хватило бы на целую энциклопедию. Следует отметить, что неискушенному пользователю порой даже трудно отличить научный термин от коммерческого названия. Конечно, для того чтобы пользоваться антивирусными программами, не обязательно знать все подробности строения и поведения вирусов, однако иметь общие представления о том, какие основные группы вирусов сформировались на сегодняшний день, какие принципы заложены в алгоритмы вредоносных программ и как поделены мировой и российский антивирусный рынок, будет полезно достаточно широкому кругу читателей, которому и адресована данная статья.

Десять лет развития антивирусного рынка в России

Как уже было отмечено, антивирусный рынок живет в преддверии своего десятилетия. Именно в 1992 году было создано АОЗТ «ДиалогНаука», положившее начало активному продвижению на отечественный рынок знаменитой программы Лозинского Aidstest; начиная с этого времени Aidstest стала распространяться на коммерческой основе. Примерно в то же время Евгений Касперский организовывает небольшой коммерческий отдел в рамках КАМИ, в котором поначалу работали три человека. Также в 1992 году американский рынок быстро завоевывает программа McAfee VirusScan. В России рынок развивался тогда достаточно медленно, и по крайней мере к 1994 году (рис. 1) картина выглядела примерно следующим образом: доминирующее положение занимала компания «ДиалогНаука» (около 80%), Антивирусу Касперского принадлежало менее 5% рынка, всем остальным - еще 15% рынка. В 1995 году Евгений Касперский перенес свой антивирус на 32-битные интеловские платформы Windows, Novell NetWare и OS/2, в результате продукт начал активно продвигаться на рынок.

Разновидностью программ двойного назначения являются поведенческие блокираторы, которые анализируют поведение других программ и при обнаружении подозрительных действий блокируют их.

От классического антивируса с антивирусным ядром, «узнающим» и лечащим от вирусов, которые анализировались в лаборатории и к которым был прописан алгоритм лечения, поведенческие блокираторы отличаются тем, что лечить от вирусов не умеют, поскольку ничего о них не знают. Это свойство блокираторов полезно тем, что они могут работать с любыми вирусами, в том числе и с неизвестными. Это сегодня особенно актуально, поскольку распространители вирусов и антивирусов используют одни и те же каналы передачи данных, то есть Интернет. При этом вирус всегда имеет некоторую фору (время задержки), поскольку антивирусной компании всегда нужно время на то, чтобы получить сам вирус, проанализировать его и написать соответствующие лечебные модули. Программы из группы двойного назначения как раз и позволяют блокировать распространение вируса до того момента, пока компания не напишет лечебный модуль.

Алгоритм «контрольной суммы»

Алгоритм контрольной суммы предполагает, что действия вируса изменяют контрольную сумму. Однако синхронные изменения в двух разных сегментах могут привести к тому, что контрольная сумма останется неизменной при изменении файла. Основная задача построения алгоритма состоит в том, чтобы изменения в файле гарантированно приводили к изменению контрольной суммы.

Методы определения полиморфик-вирусов

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

Идет выполнение программы, потом включается дешифратор, который расшифровывает вирус, затем отрабатывает вирус и опять идет исполнение кода основной программы. Код вируса в каждом случае зашифрован по-разному. Если в случае нешифрованного вируса эталонное сравнение позволяет «узнать» вирус по некоторой постоянной сигнатуре, то в зашифрованном виде сигнатура не видна. При этом искать дешифратор практически невозможно, поскольку он очень маленький и детектировать такой компактный элемент бесполезно, потому что резко увеличивается количество ложных срабатываний.

Скрипт-вирусы и черви

Виды компьютерных вирусов

Нет сегодня такого человека, который не слышал о компьютерных вирусах. Что это такое, какие бывают виды компьютерных вирусов и вредоносных программ, попробуем разобраться в этой статье. Итак, компьютерные вирусы можно разделить на следующие виды:

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

Бэкдоры (Backdoor)

Утилиты скрытого администрирования позволяют, обходя системы защиты, поставить компьютер установившего пользователя под свой контроль. Программа, которая работает в невидимом режиме, дает хакеру неограниченные права для управления системой. С помощью таких backdoor-программ можно получить доступ к персональным и личным данным пользователя. Нередко такие программы используются в целях заражения системы компьютерными вирусами и для скрытой установки вредоносных программ без ведома пользователя.

Загрузочные вирусы

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

Bot-сеть

Bot-сеть это полноценная сеть в Интернет, которая подлежит администрированию злоумышленником и состоящая из многих инфицированных компьютеров, которые взаимодействуют между собой. Контроль над такой сетью достигается с использованием вирусов или троянов, которые проникают в систему. При работе, вредоносные программы никак себя не проявляют, ожидая команды со стороны злоумышленника. Подобные сети применяются для рассылки СПАМ сообщений или для организации DDoS атак на нужные сервера. Что интересно, пользователи зараженных компьютеров могут совершенно не догадываться о происходящем в сети.

Эксплойт

Эксплойт (дословно брешь в безопасности) – это такой скрипт или программа, которые используют специфические дырки и уязвимости ОС или какой-либо программы. Подобным образом в систему проникают программы, с использованием которых могут быть получены права доступа администратора.

Hoax (дословно шутка, ложь, мистификация, шутка, обман)

Уже на протяжении нескольких лет многие пользователи сети Интернет получают электронные сообщения о вирусах, которые распространяются якобы посредством e-mail. Подобные предупреждения массово рассылаются со слезной просьбой отправить их всем контактам из вашего личного листа.

Ловушки

Honeypot (горшочек меда) – это сетевая служба, которая имеет задачу наблюдать за всей сетью и фиксировать атаки, при возникновении очага. Простой пользователь совершенно не догадывается о существовании такой службы. Если же хакер исследует и мониторит сеть на наличие брешей, то он может воспользоваться услугами, которые предлагает такая ловушка. При этом будет сделана запись в log-файлы, а также сработает автоматическая сигнализация.

Макровирусы

Макровирусы - это очень маленькие программы, которые написаны на макроязыке приложений. Такие программки распространяются только среди тех документов, которые созданы именно для этого приложения.

Для активации таких вредоносных программ необходим запуск приложения, а также выполнение инфицированного файла-макроса. Отличие от обычных вирусов макросов в том, что заражение происходит документов приложения, а не запускаемых файлов приложения.

Фарминг

Фарминг - это скрытая манипуляция host-файлом браузера для того, чтобы направить пользователя на фальшивый сайт. Мошенники содержат у себя сервера больших объемов, на таких серверах хранятся большая база фальшивых интернет-страниц. При манипуляции host-файлом при помощи трояна или вируса вполне возможно манипулирование зараженной системой. В результате этого зараженная система будет загружать только фальшивые сайты, даже в том случае, если Вы правильно введете адрес в строке браузера.

Фишинг

Phishing дословно переводится как "выуживание" личной информации пользователя при нахождении в сети интернет. Злоумышленник при своих действиях отправляет потенциальной жертве электронное письмо, где указано, что необходимо выслать личную информацию для подтверждения. Нередко это имя и фамилия пользователя, необходимые пароли, PIN коды для доступа к счетам пользователя онлайн. С использованием таких похищенных данных, хакер вполне может выдать себя за другое лицо и осуществить любые действия от его имени.

Полиморфные вирусы

Полиморфные вирусы – это вирусы, использующие маскировку и перевоплощения в работе. В процессе они могут изменять свой программный код самостоятельно, а поэтому их очень сложно обнаружить, потому что сигнатура изменяется с течением времени.

Программные вирусы

Компьютерный вирус - это обычная программа, которая обладает самостоятельно прикрепляться к другим работающим программам, таким образом, поражая их работу. Вирусы самостоятельно распространяют свои копии, это значительно отличает их от троянских программ. Также отличие вируса от червя в том, что для работы вирусу нужна программа, к которой он может приписать свой код.

Руткит

Руткит – это определенный набор программных средств, который скрыто устанавливается в систему пользователя, обеспечивая при этом сокрытие личного логина киберпреступника и различных процессов, при этом делая копии данных.

Скрипт-вирусы и черви

Такие виды компьютерных вирусов достаточно просты для написания и распространяются в основном посредством электронной почты. Скриптовые вирусы используют скриптовые языки для работы чтобы добавлять себя к новым созданным скриптам или распространяться через функции операционной сети. Нередко заражение происходит по e-mail или в результате обмена файлами между пользователями. Червь это программа, которая размножается самостоятельно, но которая инфицирует при этом другие программы. Черви при размножении не могут стать частью других программ, что отличает их от обычных видов компьютерных вирусов.

Шпионское ПО

Шпионы могут переслать личные данные пользователя без его ведома третьим лицам. Шпионские программы при этом анализируют поведение пользователя в сети Интернет, а также, основываясь на собранных данных, демонстрируют пользователю рекламу или pop-up (всплывающие окна), которые непременно заинтересуют пользователя.

Макро-вирусы (macro viruses) являются программами на языках (макроязыках), встроенных в некоторые системы обработки данных (текстовые редакторы, электронные таблицы и т.д.), а также на скрипт-языках, таких как VBA (Visual Basic for Applications), JS (Java Script). Для своего размножения такие вирусы используют возможности макроязыков и при их помощи переносят себя из одного зараженного файла (документа или таблицы) в другие. Наибольшее распространение получили макро-вирусы для Microsoft Office. Существуют также макро-вирусы, заражающие документы Ami Pro и базы данных. Для существования вирусов в конкретной системе (редакторе) необходимо наличие встроенного в систему макроязыка с возможностями:

1. привязки программы на макроязыке к конкретному файлу;
2. копирования макропрограмм из одного файла в другой;
3. возможность получения управления макропрограммой без вмешательства пользователя (автоматические или стандартные макросы).

Данным условиям удовлетворяют редакторы Microsoft Word, Office и AmiPro, а также электронная таблица Excel и база данных Microsoft Access. Эти системы содержат в себе макроязыки: Word - Word Basic; Excel, Access - VBA. При этом:

1. макропрограммы привязаны к конкретному файлу (AmiPro) или находятся внутри файла (Word, Excel, Access);
2. макроязык позволяет копировать файлы (AmiPro) или перемещать макропрограммы в служебные файлы системы и редактируемые файлы (Word, Excel);
3. при работе с файлом при определенных условиях (открытие, закрытие и т.д.) вызываются макропрограммы (если таковые есть), которые определены специальным образом (AmiPro) или имеют стандартные имена (Word, Excel).

Данная особенность макроязыков предназначена для автоматической обработки данных в больших организациях или в глобальных сетях и позволяет организовать так называемый "автоматизированный документооборот". С другой стороны, возможности макроязыков таких систем позволяют вирусу переносить свой код в другие файлы, и таким образом заражать их. Вирусы получают управление при открытии или закрытии зараженного файла, перехватывают стандартные файловые функции и затем заражают файлы, к которым каким-либо образом идет обращение. По аналогии с MS-DOS можно сказать, что большинство макро-вирусов являются резидентными: они активны не только в момент открытия/закрытия файла, но до тех пор, пока активен сам редактор.

Word/Excel/Office-вирусы: общие сведения

Физическое расположение вируса внутри файла зависит от его формата, который в случае продуктов Microsoft чрезвычайно сложен - каждый файл-документ Word, таблица Excel представляют собой последовательность блоков данных (каждый из которых также имеет свой формат), объединенных между собой при помощи большого количества служебных данных. Этот формат носит название OLE2 - Object Linking and Embedding.

Структура файлов Word, Excel и Office (OLE2) напоминает усложненную файловую систему дисков: "корневой каталог" файла-документа или таблицы указывает на основные подкаталоги различных блоков данных, несколько таблиц FAT содержат информацию о расположении блоков данных в документе и т.д. Более того, система Office Binder, поддерживающая стандарты Word и Excel позволяет создавать файлы, одновременно содержащие один или несколько документов в формате Word и одну или несколько таблиц в формате Excel. При этом Word-вирусы способны поражать Word-документы, а Excel-вирусы - Excel-таблицы, и все это возможно в пределах одного дискового файла. То же справедливо и для Office. Большинство известных вирусов для Word несовместимы с национальными (в том числе с русской) версиями Word, или наоборот - рассчитаны только на локализованные версии Word и не работают под английской версией. Однако вирус в документе все равно остается активным и может заражать другие компьютеры с установленной на них соответствующей версией Word. Вирусы для Word могут заражать компьютеры любого класса. Заражение возможно в том случае, если на данном компьютере установлен текстовый редактор, полностью совместимый с Microsoft Word версии 6 или 7 или выше (например, MS Word for Macintosh).

То же справедливо для Excel и Office. Следует также отметить, что сложность форматов документов Word, таблиц Excel и особенно Office имеет следующую особенность: в файлах-документах и таблицах присутствуют "лишние" блоки данных, т.е. данные, которые никак не связаны с редактируемым текстом или таблицами, либо являются случайно оказавшимися там копиями прочих данных файла. Причиной возникновения таких блоков данных является кластерная организация данных в OLE2-документах и таблицах - даже если введен всего один символ текста, то под него выделяется один или даже несколько кластеров данных. При сохранении документов и таблиц в кластерах, не заполненных "полезными" данными, остается "мусор", который попадает в файл вместе с прочими данными. Количество "мусора" в файлах может быть уменьшено отменой пункта настройки Word/Excel "Allow Fast Save", однако это лишь уменьшает общее количество "мусора", но не убирает его полностью. Следствием этого является тот факт, что при редактировании документа его размер изменяется вне зависимости от производимых с ним действий - при добавлении нового текста размер файла может уменьшиться, а при удалении части текста - увеличиться.

То же и с макро-вирусами: при заражении файла его размер может уменьшиться, увеличиться или остаться неизменным. Следует также отметить тот факт, что некоторые версии OLE2.DLL содержат небольшой недочет, в результате которого при работе с документами Word, Excel и особенно Office в блоки "мусора" могут попасть случайные данные с диска, включая конфиденциальные (удаленные файлы, каталоги и т.д.). В эти блоки могут попасть также команды вируса. В результате после лечения зараженных документов активный код вируса удаляется из файла, но в блоках "мусора" могут остаться часть его команд. Такие следы присутствия вируса иногда видимы при помощи текстовых редакторов и даже могут вызвать реакцию некоторых антивирусных программ. Однако эти остатки вируса совершенно безвредны: Word и Excel не обращают на них никакого внимания.

Word/Excel/Office-вирусы: принципы работы

При работе с документом Word версий 6 и 7 или выше выполняет различные действия: открывает документ, сохраняет, печатает, закрывает и т.д. При этом Word ищет и выполняет соответствующие "встроенные макросы" - при сохранении файла по команде File/Save вызывается макрос FileSave, при сохранении по команде File/SaveAs - FileSaveAs, при печати документов - FilePrint и т.д., если, конечно, таковые макросы определены. Существует также несколько "авто-макросов", автоматически вызываемые при различных условиях. Например, при открытии документа Word проверяет его на наличие макроса AutoOpen. Если такой макрос присутствует, то Word выполняет его. При закрытии документа Word выполняет макрос AutoClose, при запуске Word вызывается макрос AutoExec, при завершении работы - AutoExit, при создании нового документа - AutoNew.

Похожие механизмы (но с другими именами макросов и функций) используются и в Excel/Office, в которых роль авто- и встроенных макросов выполняют авто- и встроенные функции, присутствующие в каком-либо макросе или макросах, причем в одном макросе могут присутствовать несколько встроенных и авто-функций. Автоматически (т.е. без участия пользователя) выполняются также макросы/функции, ассоциированные с какой-либо клавишей либо моментом времени или датой, т.е. Word/Excel вызывают макрос/функцию при нажатии на какую-либо конкретную клавишу (или комбинацию клавиш) либо при достижении какого-либо момента времени. В Office возможности по перехвату событий несколько расширены, но принцип используется тот же.

Макро-вирусы, поражающие файлы Word, Excel или Office как правило пользуются одним из трех перечисленных выше приемов - в вирусе либо присутствует авто-макрос (авто-функция), либо переопределен один из стандартных системных макросов (ассоциированный с каким-либо пунктом меню), либо макрос вируса вызывается автоматически при нажатии на какую-либо клавишу или комбинацию клавиш. Существуют также полу-вирусы, которые не используют всех этих приемов и размножаются, только когда пользователь самостоятельно запускает их на выполнение. Таким образом, если документ заражен, при открытии документа Word вызывает зараженный автоматический макрос AutoOpen (или AutoClose при закрытии документа) и, таким образом, запускает код вируса, если это не запрещено системной переменной DisableAutoMacros. Если вирус содержит макросы со стандартными именами, они получают управление при вызове соответствующего пункта меню (File/Open, File/Close, File/SaveAs). Если же переопределен какой-либо символ клавиатуры, то вирус активизируется только после нажатия на соответствующую клавишу.

Большинство макро-вирусов содержат все свои функции в виде стандартных макросов Word/Excel/Office. Существуют, однако, вирусы, использующие приемы скрытия своего кода и хранящие свой код в виде не макросов. Известно три подобных приема, все они используют возможность макросов создавать, редактировать и исполнять другие макросы. Как правило, подобные вирусы имеют небольшой (иногда - полиморфный) макрос-загрузчик вируса, который вызывает встроенный редактор макросов, создает новый макрос, заполняет его основным кодом вируса, выполняет и затем, как правило, уничтожает (чтобы скрыть следы присутствия вируса). Основной код таких вирусов присутствует либо в самом макросе вируса в виде текстовых строк (иногда - зашифрованных), либо хранится в области переменных документа или в области Auto-text.

Алгоритм работы Word макро-вирусов

Большинство известных Word-вирусов при запуске переносят свой код (макросы) в область глобальных макросов документа ("общие" макросы), для этого они используют команды копирования макросов MacroCopy, Organizer.Copy либо при помощи редактора макросов - вирус вызывает его, создает новый макрос, вставляет в него свой код, который и сохраняет в документе. При выходе из Word глобальные макросы (включая макросы вируса) автоматически записываются в DOT-файл глобальных макросов (обычно таким файлом является NORMAL.DOT). Таким образом, при следующем запуске редактора MS-Word вирус активизируется в тот момент, когда WinWord грузит глобальные макросы, т.е. сразу. Затем вирус переопределяет (или уже содержит в себе) один или несколько стандартных макросов (например, FileOpen, FileSave, FileSaveAs, FilePrint) и перехватывает, таким образом, команды работы с файлами. При вызове этих команд вирус заражает файл, к которому идет обращение. Для этого вирус конвертирует файл в формат Template (что делает невозможной дальнейшие изменения формата файла, т.е. конвертирование в какой-либо не Template формат) и записывает в файл свои макросы, включая Auto-макрос. Таким образом, если вирус перехватывает макрос FileSaveAs, то заражается каждый DOC-файл, сохраняемый через перехваченный вирусом макрос. Если перехвачен макрос FileOpen, то вирус записывается в файл при его считывании с диска.

Второй способ внедрения вируса в систему используется значительно реже - он базируется на так называемых "Add-in" файлах, т.е. файлах, являющихся служебными дополнениями к Word. В этом случае NORMAL.DOT не изменяется, а Word при запуске загружает макросы вируса из файла (или файлов), определенного как "Add-in". Этот способ практически полностью повторяет заражение глобальных макросов за тем исключением, что макросы вируса хранятся не в NORMAL.DOT, а в каком-либо другом файле. Возможно также внедрения вируса в файлы, расположенные в каталоге STARTUP, - Word автоматически подгружает файлы-темплейты из этого каталога, но такие вирусы пока не встречались. Рассмотренные выше способы внедрения в систему представляют собой некоторый аналог резидентных DOS-вирусов. Аналогом нерезидентности являются макро-вирусы, которые не переносят свой код в область системных макросов - для заражения других файлов-документов они либо ищут их при помощи встроенных в Word функций работы с файлами, либо обращаются к списку последних редактированных файлов (Recently used file list). Затем такие вирусы открывают документ, заражают его и закрывают.

Алгоритм работы Excel макро-вирусов

Методы размножения Excel-вирусов в целом аналогичны методам Word-вирусов. Различия заключаются в командах копирования макросов (например, Sheets.Copy) и в отсутствии NORMAL.DOT - его функцию (в вирусном смысле) выполняют файлы в STARTUP-каталоге Excel. Следует отметить, что существует два возможных варианта расположения кода макро-вирусов в таблицах Excel. Подавляющее большинство таких вирусов записывают свой код в формате VBA (Visual Basic for Applications), однако существуют вирусы, хранящие свой код в старом формате Excel версии 4.0. Такие вирусы по своей сути ничем не отличаются от VBA-вирусов, за исключением отличий в формате расположения кодов вируса в таблицах Excel. Несмотря на то, что в новых версиях Excel (начиная с версии 5) используются более совершенные технологии, возможность исполнения макросов старых версий Excel была оставлена для поддержания совместимости. По этой причине все макросы, написанные в формате Excel 4, вполне работоспособны во всех последующих версиях, несмотря на то, что Microsoft не рекомендует использовать их и не включает необходимую документацию в комплект поставки Excel.

Алгоритм работы вирусов для Access

Поскольку Access является частью пакета Office Pro, то вирусы для Access представляют собой такие же макросы на языке Visual Basic, как и прочие вирусы, заражающие приложения Office. Однако в данном случае вместо авто-макросов в системе присутствуют автоматические скрипты, которые вызываются системой при различных событиях (например, Autoexec). Данные скрипты затем могут вызывать различные макропрограммы. Таким образом, при заражении баз данных Access вирусу необходимо заменить какой-либо авто-скрипт и скопировать в заражаемую базу свои макросы. Заражение скриптов без дополнительных макросов не представляется возможным, поскольку язык скриптов достаточно примитивен и не содержит необходимых для этого функций.

Следует отметить, что в терминах Access скрипты называются макросами (macro), а макросы - модулями (module), однако в дальнейшем будет использоваться унифицированная терминология - скрипты и макросы. Лечение баз данных Access является более сложной задачей, чем удаление прочих макро-вирусов, поскольку в случае Access необходимо обезвредить не только вирусные макросы, но и авто-скрипты. А так так значительная часть работы Access возложена как раз на скрипты и макросы, то некорректное удаление или деактивация какого-либо элемента может привести к невозможности операций с базой данных. То же справедливо и для вирусов - некорректное замещение авто-скриптов может привести к потере данных, хранящихся в базе.

AmiPro-вирусы

При работе с каким-либо документом редактор AmiPro создает два файла - непосредственно текст документа (с расширением имени SAM) и дополнительный файл, содержащий макросы документа и, возможно, прочую информацию (расширение имени - SMM). Формат обоих файлов достаточно прост - они представляют собой обычный текстовый файл, в котором как редактируемый текст, так и команды управления присутствуют в виде обычных текстовых строк. Документу можно поставить в соответствие какой-либо макрос из SMM-файла (команда AssignMacroToFile). Этот макрос является аналогом AutoOpen и AutoClose в MS Word и вызывается редактором AmiPro при открытии или закрытии файла. Видимо, в AmiPro отсутствует возможность помещать макросы в "общую" область, поэтому вирусы для AmiPro могут заразить систему только при открытии зараженного файла, но не при загрузке системы, как это происходит с MS-Word после заражения файла NORMAL.DOT. Как и MS Word, AmiPro позволяет переопределять системные макросы (например, SaveAs, Save) командой ChangeMenuAction. При вызове переопределенных функций (команд меню) управление получают зараженные макросы, т.е. код вируса.

Стелс вирусы

Представители этого класса используют различные средства для маскировки своего присутствия в системе. Обычно это достигается путём перехвата ряда системных функций, ответственных за работу с файлами. "Стелс"- технологии делают невозможным обнаружение вируса без специального инструментария. Вирус маскирует и приращение длины поражённого объекта (файла), и своё тело в нём, "подставляя" вместо себя "здоровую" часть файла.

В ходе проверки компьютера антивирусные программы считывают данные - файлы и системные области - с жестких дисков и дискет, пользуясь средствами операционной системы и BIOS. Стелс - вирусы, или вирусы-невидимки, после запуска оставляют в оперативной памяти компьютера специальные модули, перехватывающие обращение программ к дисковой подсистеме компьютера. Если такой модуль обнаруживает, что программа пользователя пытается прочитать зараженный файл или системную область диска, он на ходу подменяет читаемые данные и таким образом остается незамеченным, обманывая антивирусные программы.

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

Есть простой способ отключить механизм маскировки Стелс - вирусов. Достаточно загрузить компьютер с незараженной системной дискеты и проверить компьютер антивирусной программой, не запуская программ с диска компьютера (они могут оказаться зараженными). В этом случае вирус не сможет получить управление и установить в оперативной памяти резидентный модуль, реализующий стелс - алгоритм, антивирус прочитает информацию, действительно записанную на диске, и легко обнаружит "бациллу".

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

Полиморфные вирусы

К полиморфным вирусам относятся те из них, детектирование которых невозможно (или крайне затруднительно) осуществить при помощи так называемых вирусных сигнатур - участков постоянного кода, специфичных для конкретного вируса. Достигается это двумя основными способами - шифрованием основного кода вируса с непостоянным ключом и случайным набором команд расшифровщика или изменением самого выполняемого кода вируса. Существуют также другие, достаточно экзотические примеры полиморфизма - DOS-вирус "Bomber", например, незашифрован, однако последовательность команд, которая передает управление коду вируса, является полностью полиморфной.

Полиморфизм различной степени сложности встречается в вирусах всех типов - от загрузочных и файловых DOS-вирусов до Windows-вирусов и даже макро-вирусов.

Большинство вопросов связано с термином "полиморфный вирус". Этот вид компьютерных вирусов представляется на сегодняшний день наиболее опасным.

Полиморфные вирусы - вирусы, модифицирующие свой код в зараженных программах таким образом, что два экземпляра одного и того же вируса могут не совпадать ни в одном бите.

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

Полиморфные вирусы - это вирусы с самомодифицирующимися расшифровщиками. Цель такого шифрования: имея зараженный и оригинальный файлы вы все равно не сможете проанализировать его код с помощью обычного дизассемблирования. Этот код зашифрован и представляет собой бессмысленный набор команд. Расшифровка производится самим вирусом уже непосредственно во время выполнения. При этом возможны варианты: он может расшифровать себя всего сразу, а может выполнить такую расшифровку "по ходу дела", может вновь шифровать уже отработавшие участки. Все это делается ради затруднения анализа кода вируса.

Полиморфные расшифровщики

Полиморфные вирусы используют сложные алгоритмы для генерации кода своих расшифровщиков: инструкции (или их эквиваленты) переставляются местами от заражения к заражению, разбавляются ничего не меняющими командами типа NOP, STI, CLI, STC, CLC, DEC неиспользуемый регистр, XCHG неиспользуемые регистры и т.д.

Полноценные же полиморфные вирусы используют еще более сложные алгоритмы, в результате работы которых в расшифровщике вируса могут встретиться операции SUB, ADD, XOR, ROR, ROL и другие в произвольном количестве и порядке. Загрузка и изменение ключей и других параметров шифровки производится также произвольным набором операций, в котором могут встретиться практически все инструкции процессора Intel (ADD, SUB, TEST, XOR, OR, SHR, SHL, ROR, MOV, XCHG, JNZ, PUSH, POP ...) со всеми возможными режимами адресации. Появляются также полиморфик-вирусы, расшифровщик которых использует инструкции вплоть до Intel386, а летом 1997 года обнаружен 32-битный полиморфик-вирус, заражающий EXE-файлы Windows95. Сейчас уже есть полиморфные вирусы, которые также могут использовать различные команды современных процессоров.

В результате в начале файла, зараженного подобным вирусом, идет набор бессмысленных на первый взгляд инструкций, причем некоторые комбинации, которые вполне работоспособны, не берутся фирменными дизассемблерами (например, сочетание CS:CS: или CS:NOP). И среди этой "каши" из команд и данных изредка проскальзывают MOV, XOR, LOOP, JMP - инструкции, которые действительно являются "рабочими".

Уровни полиморфизма

Существует деление полиморфных вирусов на уровни в зависимости от сложности кода, который встречается в расшифровщиках этих вирусов. Такое деление впервые предложил д-р. Алан Соломон, через некоторое время Весселин Бончев расширил его.

Уровень 1: вирусы, которые имеют некоторый набор расшифровщиков с постоянным кодом и при заражении выбирают один из них. Такие вирусы являются "полу - полиморфными" и носят также название "олигоморфные" (oligomorphic). Примеры: "Cheeba", "Slovakia", "Whale".
Уровень 2: расшифровщик вируса содержит одну или несколько постоянных инструкций, основная же его часть непостоянна.
Уровень 3: расшифровщик содержит неиспользуемые инструкции - "мусор" типа NOP, CLI, STI и т.д.
Уровень 4: в расшифровщике используются взаимозаменяемые инструкции и изменение порядка следование (перемешивание) инструкций. Алгоритм расшифрования при этом не изменяется.
Уровень 5: используются все перечисленные выше приемы, алгоритм расшифрования непостоянен, возможно повторное шифрование кода вируса и даже частичное шифрование самого кода расшифровщика.
Уровень 6: permutating-вирусы. Изменению подлежит основной код вируса - он делится на блоки, которые при заражении переставляются в произвольном порядке. Вирус при этом остается работоспособным. Подобные вирусы могут быть незашифрованны.

Приведенное выше деление не свободно от недостатков, поскольку производится по единственному критерию - возможность детектировать вирус по коду расшифровщика при помощи стандартного приема вирусных масок:

Уровень 1: для детектирования вируса достаточно иметь несколько масок

Уровень 2: детектирование по маске с использованием "wildcards"

Уровень 3: детектирование по маске после удаления инструкций-"мусора"

Уровень 4: маска содержит несколько вариантов возможного кода, т.е. становится алгоритмической
Уровень 5: невозможность детектирования вируса по маске

Недостаточность такого деления продемонстрирована в вирусе 3-го уровня полиморфичности, который так и называется - "Level3". Этот вирус, являясь одним из наиболее сложных полиморфик-вирусов, по приведенному выше делению попадает в Уровень 3, поскольку имеет постоянный алгоритм расшафровки, перед которым стоит большое количество команд-"мусора". Однако в этом вирусе алгоритм генерирования "мусора" доведен до совершенства: в коде расшифровщика могут встретиться практически все инструкции процессора i8086.

Если произвести деление на уровни с точки зрения антивирусов, использующих системы автоматической расшифровки кода вируса (эмуляторы), то деление на уровни будет зависеть от сложности эмуляции кода вируса. Возможно детектирование вируса и другими приемами, например, расшифровка при помощи элементарных математических законов и т.д.

Поэтому мне кажется более объективным деление, в котором помимо критерия вирусных масок участвуют и другие параметры:

Степень сложности полиморфик-кода (процент от всех инструкций процессора, которые могут встретиться в коде расшифровщика)
Использование анти-эмуляторных приемов
Постоянство алгоритма расшифровщика
Постоянство длины расшифровщика

Изменение выполняемого кода

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

Реже этот способ применяется сложными загрузочными вирусами. Такие вирусы внедряют в загрузочные сектора лишь достаточно короткую процедуру, которая считывает с диска основной код вируса и передает на него управление. Код этой процедуры выбирается из нескольких различных вариантов (которые также могут быть разбавлены "пустыми" командами), команды переставляются между собой и т.д.

Еще реже этот прием встречается у файловых вирусов - ведь им приходится полностью менять свой код, а для этого требуются достаточно сложные алгоритмы. На сегодняшний день известны всего два таких вируса, один из которых ("Ply") случайным образом перемещает свои команды по своему телу и заменяет их на команды JMP или CALL. Другой вирус ("TMC") использует более сложный способ - каждый раз при заражении вирус меняет местами блоки своего кода и данных, вставляет "мусор", в своих ассемблерных инструкциях устанавливает новые значения офсетов на данные, меняет константы и т.д. В результате, хотя вирус и не шифрует свой код, он является полиморфным вирусом - в коде не присутствует постоянного набора команд. Более того, при создании своих новых копий вирус меняет свою длину.

Вирусы по виду деструктивных действий

По виду деструктивных действий вирусы можно разделить на три группы:

Информационные вирусы (вирусы первого поколения)

Так называемые вирусы первого поколения - это все ныне существующие вирусы, действия которых направлены на уничтожение, модификацию или хищение информации.

Аппаратные вирусы (вирусы второго поколения)

Данный вид вирусов способен вывести из строя аппаратную часть компьютера. Например, стереть BIOS или испортить его, нарушить логическую структуру жесткого фиска таким образом, что восстановить её будет возможным только низкоуровневым форматированием (и то не всегда). Единственным представителем данного вида является самый опасный из всех, когда-либо существовавших, вирус Win95.CIH "Чернобль". В свое время этот вирус вывел из строя миллионы компьютеров. Он стирал программу из BIOS, тем самым, выводя из строя компьютер, а та же уничтожал всю информацию с жесткого диска так, что восстановить её было практически невозможно.

В настоящее время "диких" аппаратных вирусов не обнаружено. Но уже сейчас специалисты прогнозируют появление новых подобного рода вирусов, которые смогут поражать BIOS. Защитой от таких вирусов планируется сделать на каждой материнской плате специальные джамперы, которые будут блокировать запись в BIOS.

Психотропные вирусы (вирусы третьего поколения)

Эти вирусы способны убить человека, воздействуя на него через монитор или колонки компьютера. Воспроизводя определенные звуки, заданной частоты или определенное мерцание различных цветов на экране, психотропные вирусы способны вызвать эпилептический приступ (у людей склонных к этому), либо остановку сердца, кровоизлияние в мозг.

К счастью на сегодняшний день о реальном существовании таких вирусов не известно. Многие специалисты ставят под сомнение вообще существование подобного вида вирусов. Но одно сказать можно точно. Давно уже изобретены психотропные технологии по воздействию на человека через звук или изображение (не путать с 25 кадром). Эпилептический приступ вызвать у человека склонного к этому очень просто. Несколько лет назад в некоторых СМИ разгорелась шумиха по поводу появления нового вируса под названием "666". Этот вирус после каждых 24 кадров выдает на экран специальную цветовую комбинацию, способную изменить жизнедеятельность зрителя. В результате человека охватывает гипнотический транс, мозг теряет контроль над работой организма, что может привести к болезненному состоянию, смене режима работы сердца, артериального давления и т.п. Но цветовые комбинации сегодня не являются запрещенными законодательством. Поэтому они могут появляться на экранах вполне легально, хотя результаты их воздействия могут быть катастрофическими для всех нас.

Примером подобного воздействия может служить мультфильм "Покемоны", после показа одной из серий в Японии, сотни детей попали в больницы с жуткой головной болью, кровоизлиянием в мозг. Некоторые из них скончались. В мультфильме были кадры с яркой генерацией определенной палитры цветов, как правило, это красные вспышки на черном фоне в определенной последовательности. После этого инцидента данный мультфильм к показу в Японии был ЗАПРЕЩЕН.

Можно привести еще один пример. Все наверняка помнят, что творилось в Москве после трансляции матча нашей сборной по футболу со сборной Японии (если не ошибаюсь). А ведь на большом экране был все лишь продемонстрирован ролик, как человек с битой крошил машину. Это также является психотропным воздействием, видя ролик "люди" начали уничтожать на своем пути все и вся.

Материалы и данные были взяты с ресурсов:
http://www.stopinfection.narod.ru
http://hackers100.narod.ru
http://broxer.narod.ru
http://www.viruslist.com
http://logic-bratsk.ru
http://www.offt.ru
http://www.almanet.info

  • Для комментирования войдите или зарегистрируйтесь

Перед тем как приступить к написанию данной статьи, я встретился с одним из основателей отечественной антивирусной индустрии Евгением Касперским, который сообщил мне некоторые цифры о состоянии российского и мирового антивирусного рынка. Также я побеседовал с представителем знаменитой антивирусной компании «ДиалогНаука», менеджером по работе с крупными клиентами, Максимом Скидой. Из разговора я узнал любопытный факт - оказывается, антивирусная индустрия вот-вот отметит свое первое десятилетие.

Конечно, антивирусы появились более десяти лет назад. Однако первое время они распространялись как бесплатное противоядие. Не было должной поддержки сервиса, поскольку проекты были некоммерческими. Как индустрия служба создания и предоставления антивирусных программ оформилась примерно в 1992 году, не раньше, а значит вскоре отметит свое десятилетие. Десять лет для рождения и развития целой индустрии, с оборотом в сотни миллионов долларов, срок очень небольшой. За это время возник совсем новый рынок, сформировался определенный перечень продуктов, появилось такое количество новых терминов, что их хватило бы на целую энциклопедию. Следует отметить, что неискушенному пользователю порой даже трудно отличить научный термин от коммерческого названия. Конечно, для того чтобы пользоваться антивирусными программами, не обязательно знать все подробности строения и поведения вирусов, однако иметь общие представления о том, какие основные группы вирусов сформировались на сегодняшний день, какие принципы заложены в алгоритмы вредоносных программ и как поделены мировой и российский антивирусный рынок, будет полезно достаточно широкому кругу читателей, которому и адресована данная статья.

Десять лет развития антивирусного рынка в России

Как уже было отмечено, антивирусный рынок живет в преддверии своего десятилетия. Именно в 1992 году было создано АОЗТ «ДиалогНаука», положившее начало активному продвижению на отечественный рынок знаменитой программы Лозинского Aidstest; начиная с этого времени Aidstest стала распространяться на коммерческой основе. Примерно в то же время Евгений Касперский организовывает небольшой коммерческий отдел в рамках КАМИ, в котором поначалу работали три человека. Также в 1992 году американский рынок быстро завоевывает программа McAfee VirusScan. В России рынок развивался тогда достаточно медленно, и по крайней мере к 1994 году (рис. 1) картина выглядела примерно следующим образом: доминирующее положение занимала компания «ДиалогНаука» (около 80%), Антивирусу Касперского принадлежало менее 5% рынка, всем остальным - еще 15% рынка. В 1995 году Евгений Касперский перенес свой антивирус на 32-битные интеловские платформы Windows, Novell NetWare и OS/2, в результате продукт начал активно продвигаться на рынок.

Разновидностью программ двойного назначения являются поведенческие блокираторы, которые анализируют поведение других программ и при обнаружении подозрительных действий блокируют их.

От классического антивируса с антивирусным ядром, «узнающим» и лечащим от вирусов, которые анализировались в лаборатории и к которым был прописан алгоритм лечения, поведенческие блокираторы отличаются тем, что лечить от вирусов не умеют, поскольку ничего о них не знают. Это свойство блокираторов полезно тем, что они могут работать с любыми вирусами, в том числе и с неизвестными. Это сегодня особенно актуально, поскольку распространители вирусов и антивирусов используют одни и те же каналы передачи данных, то есть Интернет. При этом вирус всегда имеет некоторую фору (время задержки), поскольку антивирусной компании всегда нужно время на то, чтобы получить сам вирус, проанализировать его и написать соответствующие лечебные модули. Программы из группы двойного назначения как раз и позволяют блокировать распространение вируса до того момента, пока компания не напишет лечебный модуль.

Алгоритм «контрольной суммы»

Алгоритм контрольной суммы предполагает, что действия вируса изменяют контрольную сумму. Однако синхронные изменения в двух разных сегментах могут привести к тому, что контрольная сумма останется неизменной при изменении файла. Основная задача построения алгоритма состоит в том, чтобы изменения в файле гарантированно приводили к изменению контрольной суммы.

Методы определения полиморфик-вирусов

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

Идет выполнение программы, потом включается дешифратор, который расшифровывает вирус, затем отрабатывает вирус и опять идет исполнение кода основной программы. Код вируса в каждом случае зашифрован по-разному. Если в случае нешифрованного вируса эталонное сравнение позволяет «узнать» вирус по некоторой постоянной сигнатуре, то в зашифрованном виде сигнатура не видна. При этом искать дешифратор практически невозможно, поскольку он очень маленький и детектировать такой компактный элемент бесполезно, потому что резко увеличивается количество ложных срабатываний.

Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!