Добро пожаловать на передовые позиции войны с компьютерными вирусами
На предприятиях не любят говорить о вирусах. И тем не менее...
Иначе говоря
Будущее время
Один день из жизни
Неугомонный не дремлет враг!
IBM - умный подход к поиску вирусов
"Диалог-Наука" предупреждает
Win32.Cabanas

Сервер весь черный. Абсолютно. Его можно было бы назвать "Звезда смерти", или "Черная дыра", или "Ящик Пандоры". Или оформить в стиле бомбы времен Второй мировой войны, исписав фразочками типа: "Чего уставился, дуралей!" или: "Из Лос-Анджелеса с любовью". Но нет. Он начищен буквально до блеска (как, впрочем, и все в лаборатории), а называется скромно и лаконично - "AVLO". Все вирусы, когда-либо обнаруженные сотрудниками Антивирусного исследовательского центра Symantec (Symantec AntiVirus Research Center, SARC), хранятся в его памяти.


Добро пожаловать на передовые позиции войны с компьютерными вирусами

Всего компаниями-производителями были учреждены две антивирусные лаборатории: SARC и Антивирусная группа неотложной помощи (AntiVirusEmergency Response Team, или AVERT) корпорации Network Associates. (Network Associates была основана в октябре в результате слияния компаний McAfee Associates и Network General.) Лаборатории занимаются поиском, лечением и регистрацией вредоносного кода, добавляя очки своим учредителям и выполняя функции общественной службы. По собственному признанию, специалисты SARC и AVERT мечтают о тех временах, когда надобность в их работе отпадет. Тем не менее мои недавние визиты в обе лаборатории свидетельствуют о том, что в обозримом будущем их сотрудникам едва ли придется регистрироваться на бирже труда.

Еще два года назад большинство вирусов было написано либо членами подпольных группировок, либо высококвалифицированными одиночками. Сегодня же место "традиционных" вирусов заняли макровирусы. Многие из них созданы на языке Visual Basic корпорации Microsoft; поскольку этот язык доступен для каждого, вирус теперь может написать фактически любой.

Существует масса электронных досок объявлений, на которых можно найти удобный интерфейс для создания вируса. "Кликаешь" на "иконках", и все дела! Выбрал картинку или надпись - раз. Выбрал метод распространения - два. Решил сделать его полиморфным - три. Нет ничего удивительного, что макровирусы составляют 80% от общего числа компьютерной заразы.

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

На предприятиях не любят говорить о вирусах. И тем не менее...

Крупное финансовое учреждение на Восточном побережье США, клиент SARC, отключило компьютеры на трех этажах своего офиса. Причина - подозрение на вирус. Кэри Нашенберг, инженер из SARC, потратил целый день на обследование 150 компьютеров.

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

Большинство вирусов, как, например, в случае с вышеупомянутым финансовым учреждением, на самом деле вирусами не являются. Алекс Хэддокс, менеджер из Symantec, утверждает, что в 60% случаев тревога оказывается ложной. Конечный пользователь склонен кричать "вирус!", если ему не удается запустить приложение, потерялся какой-нибудь файл или странно мерцает монитор.

Новые офисы Network Associates известны всем обитателям Кремниевой Долины своими бежевыми стенами. Чтобы попасть за закрытые двери AVERT, годовой бюджет которой равен 6 млн. долл., недостаточно предъявить эмблему своей компании, необходимо также знать пароль.

Внутри кто-то взял на себя труд воссоздать атмосферу армейского штаба периода военных действий. На карте мира светящимися точками отмечены все филиалы AVERT. Часы показывают время в Санта Клара (шт. Калифорния), Париже, Сан-Паулу (Бразилия) и Токио.

Здесь все должны быть в белых халатах. Это как бы само собой разумеется.

AVERT "окопался" в Санта Клара. Хотя Symantec устроилась по соседству, в Купертино, SARC (ее годовой бюджет составляет 4 млн. долл.) располагается более чем за 600 км отсюда, в Санта Моника.

Преодолеть эту дистанцию весьма заманчиво, поскольку, с точки зрения бескорыстного наблюдателя, Network Associates и Symantec ненавидят друг друга до мозга костей. Искам, встречным искам, пресс-релизам с выпадами в ту и другую сторону не видно конца. Это не просто конкурентная борьба между двумя компаниями.

Иначе говоря

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

Как правило, авторами вирусов становятся молодые люди в возрасте от 14 до 24 лет, единственная цель которых - войти в элиту разработчиков вирусов. Генри Делджер, председатель сообщества "Вундеркинды помогают бороться с вирусами" (Prodigy's Virus Help), утверждает: "Для подростка очень важно пройти некое испытание. Сначала он задает себе вопрос: 'Можно ли это сделать?' Потом говорит: 'Я это попробую!' Потом: 'Ура! Я сделал это!'

"Иногда они действительно посылают друг другу сообщения в форме вирусов, - рассказывает Хэддокс, - в полной уверенности, что приятель прочтет записочку". Он вспоминает вирусный код, в котором обсуждались проблемы адресата с девушкой. ('Забудь о ней, дружище, она тебя не стоит'.)

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

AVERT и SARC создали достаточно точный портрет своего врага, но помогает ли он бороться с вирусами? Увы... "Код есть код", - резюмирует Хэддокс.

Будущее время

Лаборатории, существующие за счет производителей, нравятся не всем. Я получил несколько электронных писем, в которых сотрудники антивирусных информационных систем ставят вопрос о непредвзятости лабораторий. Что касается Делджера, на вопрос о возможности предсказания появления вирусов AVERT он ответил: "Враки... вы слушаете людей, которые занимаются маркетингом".

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

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

Один день из жизни

У руководителя исследовательской группы Network Associates Шэннон Питерс Тальботт 15 сотрудников в Санта Клара. Кроме того, на нее работают еще 70 человек в филиалах лаборатории.

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

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

Как SARC, так и AVERT в подавляющем большинстве случаев удается одержать полную и безоговорочную победу над любым вирусом (кроме полиморфного) в течение 24 часов.

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


Неугомонный не дремлет враг!

Национальная ассоциация компьютерной безопасности США (National Computer Security Аssociation, NCSA) опубликовала отчет за 1997 год, посвященный проблемам защиты от компьютерных вирусов. В этом документе приведены результаты опроса 300 корпоративных клиентов, использующих в общей сложности 729 тыс. настольных ПК и свыше 24 тыс. серверов

  • Среднестатистическая вирусная атака на сервер обходится компании в 8366 долл. В результате заражения происходит примерно 40-минутный простой машины, после чего еще 44 минуты требуется на восстановление сервера. Простой людских ресурсов за это время составляет 22 человеко-дня.
  • В среднем за месяц компании обнаруживают на своих машинах вирусы 85 раз. Свыше трети (33,89%) опрошенных предприятий подверглись интенсивной вирусной атаке (таковой признаются случаи одновременого заражения 25 ПК, дискет или файлов). В прошлом году крупные вирусные агрессии пришлось отбивать 29% компаний.
  • В среднем 33 ПК из каждой тысячи подвергаются инфицированию хотя бы раз в месяц (в прошлом году - 15 ПК), 406 из тысячи - хотя бы раз в год.
  • Наиболее часто встречающаяся разновидность вирусов - макровирусы для Word. Среди них лидирует Word Macro Concept - с ним пришлось столкнуться 34,23% опрошенных предприятий, за ним следуют Word Macro Wazzu (19,13%) и Word Macro (15,1%).
  • 99,33% средних и крупных предприятий Северной Америки хотя бы раз сталкивались со случаями заражения компьютерными вирусами.
  • Для защиты от вирусов на 73% американских ПК в настоящее время установлено антивирусное ПО (это на 13% больше, чем в прошлом году). На 64% ПК используются средства постоянного сканирования всех вставляемых дискет и загружаемых на ПК файлов, на 60% машин средства защиты от вирусов работают в фоновом режиме, на 68% ПК антивирусное ПО производит проверку на вирусы при загрузке, на 39% - при подключении ПК к локальной сети.
  • Около 19% респондентов уверены, что инфицирование вирусом произошло в результате "скачивания" программ с серверов Internet, около 26% считают, что вирус попал к ним вместе с файлами, переданными по электронной почте.
  • В 85% компаний серверы оборудованы средствами антивирусной защиты.
  • В общемировом масштабе средства, непрерывно следящие за антивирусным "здоровьем" ПК, установлены на 30% машин.
  • IBM - умный подход к поиску вирусов

    Четыре научных сотрудника компании IBM получили патент на технологию создания антивирусной системы, которая предусматривает использование методов искусственного интеллекта, пытаясь имитировать процессы, происходящие в человеческом мозгу во время отслеживания работы компьютерной программы с целью идентификации новых вирусов. Возможность обнаружения и глобального "лечения" новых типов вирусов выводит используемую технологию далеко за рамки традиционных антивирусов. IBM уже несколько лет работает над так называемой "Иммунной системой киберпространства" (Immune System for Cyberspace). Однако впервые результаты ее работы демонстрировались только на конференции Virus Bulletin International Conference, которая проводилась в этом году в Сан-Франциско.

    По словам представителей IBM, о выпуске коммерческой версии системы пока нет и речи, хотя небольшая группа пользователей проводит ее тестирование в рамках программного обеспечения IBM Anti-Virus. Аналитики считают, что если технология выйдет на массовый рынок, это поможет IBM выбраться из индустриального плена. Пока что компания плетется далеко позади Symantec и McAfee Associates, на долю которых приходится 60% всех продаж антивирусных программ.

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

    - Шарон Махлис,
    @Computerworld

    "Диалог-Наука" предупреждает

    Вероятнее всего, вас слегка шокирует тот факт, что самый распространенный в мире макровирус WM.Cap написал... 15-летний мальчик из Венесуэлы. Сейчас он написал новый вирус - Win32.Cabanas - первый в мире вирус, способный поражать операционные системы WIN32 (Win32/Windows 95/Windows NT). Если верить его собственному заявлению, юное дарование выслало данный вирус всего лишь двум разработчикам антивирусных средств (причем оба они из России) - Евгению Касперскому и Игорю Данилову. Что любопытно, автор прислал им не только окончательный вариант данного вируса, но еще и три отладочных. Поэтому пока Win32.Cabanas находится в разряде "коллекционных" вирусов.

    Почему он называется Win32.Cabanas? Win32, естественно, означает, что данный вирус "умеет жить" под всеми 32-разрядными Windows, а Cabanas... Автор вируса, скрывающийся под псевдонимом Jacky Qwerty, объясняет это следующим образом: "Dedicated to Gonzalo Cabanas, shot dead on Feb/28/1995" ("Посвящается Гонзало Кабанасу, безвременно скончавшемуся 28 февраля 1995 года").

    Первым проанализировал этот вирус Игорь Данилов, ведущий вирусолог компании "ДиалогНаука". Новая версия его программы Doctor Web 3.26 от 28 октября 1997 года умеет опознавать пришельца.

    При тестировании и размножении вируса Данилов работал на полностью инфицированном компьютере в Windows 95 и никаких проблем не испытывал. В Windows NT кое-какие проблемы с Win32.Cabanas все же возникли. Но о них позже.

    Сначала о самом вирусе. Написан он крайне изобретательно и интересно. Ниже приведено краткое описание принципов его реализации. Кто разбирается в программировании под Windows 95/Windows NT - тот поймет, ну а кто не разбирается, тому это, вероятно, вовсе и не нужно.

    Win32.Cabanas

    Win32.Cabanas является первым из известных вирусов, поражающих файлы семейства 32-разрядных операционных систем Microsoft Windows (Win32/Windows 95/Windows NT). Он умеет не только заражать файлы формата PortableExecutable (PE), но оставаться резидентно на время сеанса работы инфицированной программы, запущенной в любой из перечисленных выше операционных систем.

    Все ранее написанные для Windows 95 вирусы не умели корректно заражать файлы, предназначенные для работы в Windows NT, так как, хотя файлы для Windows 95 и Windows NT имеют одинаковый PE-формат, некоторые поля в заголовке PE у них различаются. Поэтому при заражении файлов Windows NT вирусам необходимо предпринимать дополнительные действия для корректной модификации PE-заголовка, в противном случае система Windows NT выдаст некоторую проблему для вирусов составляет определение в памяти базовых адресов функций интерфейса WIN32 KERNEL API, поскольку Windows 95 и Windows NT располагают модуль KERNEL32.DLL в разных адресах памяти. Win32.Cabanas легко преодолевает эти трудности. При старте инфицированного файла вирус получает управление, распаковывает и расшифровывает собственную таблицу имен процедур WIN32 KERNEL API, необходимых ему для последующих действий, и приступает к определению базового адреса KERNEL32.DLL и адресов всех интересующих его функций WIN32 KERNEL API.

    Во время заражения файла вирус анализирует таблицу импортируемых функций (Import Table) с целью нахождения имен функций GetModuleHandleA, GetModuleHandleW и GetProcAddress. Отыскав их, вирус запоминает в своем коде смещения адресов данных процедур, находящихся в Import Table (как правило, они расположены в сегменте .idata). Если он не может найти имена процедур, то при дальнейших запусках инфицированного файла пытается использовать другой недокументированный способ нахождения базового адреса KERNEL32 и адресов WIN32 KERNEL API, который, впрочем, некорректно работает в среде Windows NT. Это единственная серьезная ошибка Win32.Cabanas, из-за которой у него возникают проблемы при распространении в среде Windows NT. Зато в Windows 95 он чувствует себя как рыба в воде.

    После того как вирусу удается получить доступ к функции GetProcAddress, адреса процедур WIN32 KERNEL API становятся для него открытыми. Он получает и запоминает эти адреса, после чего запускает свою процедуру заражения PE-файлов с расширениями EXE и SCR, размещенных в каталогах WINDOWS, WINDOWS SYSTEM и в текущем каталоге. Вирус проверяет наличие в файлах собственной копии, исследуя некоторые поля в заголовке PE и проверяя длину файла, которая при заражении должна быть кратна 101.

    Затем Win32.Cabanas записывает свой код в конец файла, в область последней сегментной секции (обычно .reloc), меняя ее характеристики и длину. После того как тело вируса записано в конец файла, изменяется пять начальных байтов точки входа в программу (обычно .text или CODE) на команду передачи управления на вирусный код.

    После заражения всех "пригодных" для этой цели файлов в указанных выше каталогах вирус приступает к установке в систему своей резидентной копии и к "перехвату" интересующих его системных функций. С помощью функции VirtualAlloc он выделяет себе область памяти размером 12232 байта и перемещает свой код в данную область. Далее пытается "перехватить" ряд функций WIN32 KERNEL API, предназначенных для доступа к процедурам и управления файлами, процессами. Адреса этих функций вирус "забирает" из Import Table, а в поля Import Table записывает адреса собственных обработчиков. Если некоторые интересующие его функции "перехватить" не удалось, то в дальнейшем при вызове программой функции GetProcAddress он проверяет, нужен ли ему адрес данной функции, после чего в случае необходимости возвращает программе адрес собственной процедуры. При вызове программами некоторых "перехваченных" вирусом функций запускается процедура заражения файлов и/или процедура стелс-режима для инфицированных файлов. Так, при вызове функций FindFirstFileA, FindFirstFileW, FindNextFileA или FindNextFileW вирус может найти, заразить файл, а затем сразу же скрыть изменение его длины.

    Таким образом, Win32.Cabanas нельзя назвать полностью резидентным вирусом, так как "перехват" системных функций и установка вирусной копии в выделенный системой участок памяти производится только на время текущего сеанса работы инфицированной программы. Но что произойдет, если пользователь запустит, например, инфицированный Norton Commander for Windows 95, Command Interpreter for Windows NT или, что еще интереснее, программу, которая остается в памяти резидентно? Правильно: вместе с такой программой, до тех пор пока она не будет завершена, будет "трудиться" и Win32.Cabanas

    - Игорь Данилов,
    "Диалог-Наука"

    Поделитесь материалом с коллегами и друзьями