Компьютерные вирусы могут поразить вашу сеть практически в любом месте. Готовы ли вы защитить свою локальную сеть?


ПОД МИКРОСКОПОМ
КРИМИНАЛЬНОЕ СОЗНАНИЕ
СТЕРИЛЬНАЯ СРЕДА
БОРЬБА С ВИРУСОМ
ЛЕКАРСТВО - В ПРЕДОХРАНЕНИИ
В КАБИНЕТЕ ВРАЧА
БОЛЬШИЕ УРОКИ

ВИРУСОЛОГИЯ
Пять классов компьютерных вирусов


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

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

ПОД МИКРОСКОПОМ

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

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

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

КРИМИНАЛЬНОЕ СОЗНАНИЕ

Размышляя о том, сохранится ли проблема компьютерных вирусов и в будущем, можно спросить себя, что заставляет людей их писать. Главным мотивом, как кажется, является внимание, которое будет наградой создателю вируса. В противоположность известному мифу вандализм - не основная причина создания вирусов; в большинстве вирусов не заложена вредосносная "начинка", которая заставляла бы их разрушать данные или прерывать выполнение. В самом деле, некоторые полагают, что большинство вирусов безвредно, а написание вирусов - вещь допустимая, чего, впрочем, нельзя сказать о их распространении. Фактически, некоторые вирусы создаются под влиянием исследовательского интереса.

В действительности же вирусы, доброкачественные или злокачественные, часто наносят некоторый вред. "Безобидные" вирусы, поражающие загрузочные сектора в DOS, могут повредить или разрушить файловые системы, основанные на HPFS (High Performance File System). Любой вирус обернется для благоразумного пользователя тем временем и усилиями, которые потребуются, чтобы удалить его из системы. Более того, сами попытки ликвидировать вирус могут привести к разрушению или потере данных. (Если вы обнаружили, что ваша система инфицирована вирусом, можете позвонить по горячей линии Института Компьютерной Безопасности в Сан-Франциско по тел. (415) 905-2370 за советом, как справиться с ситуацией.)

Если говорить о будущем вирусов, экономика на стороне борцов с вирусами, а не их создателей. Один имеющий дурную репутацию создатель вирусов, Хеллрейзер, говоря о NuKE, организации, занимающейся написанием вирусов, сказал: "Им надо понять, что те, кто пишут AV антивирусы, делают на этом деньги. Что нужно Nuke? Славы? Сомневаюсь. Если те, кто пишут вирусы, действительно хотят разозлить создателей AV, им следует перестать писать вирусы" (Secure Computing, октябрь, 1994).

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

СТЕРИЛЬНАЯ СРЕДА

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

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

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

БОРЬБА С ВИРУСОМ

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

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

Но и это еще не все. Некоторые увертки, демонстрируемые вирусами, показывают, что сканирования простых сигнатур недостаточно. В ряде случаев, вследствие полиморфизма и защищенности вирусов, сканерам необходимо использовать довольно сложные шаблоны кода, вроде X в байте 37 или Y или Z в байте 45, вместо стандартных сигнатур. Кроме того, многие вирусы могут весьма изощренными способами модифицировать функции DOS, пытаясь скрыть факт своего существования.

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

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

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

ЛЕКАРСТВО - В ПРЕДОХРАНЕНИИ

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

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

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

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

В КАБИНЕТЕ ВРАЧА

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

Естественно, продукт, который вы выберете, должен работать в среде, у вас инсталлированной. Некоторые компании предлагают унифицированные решения для различных сред. IBM AntiVirus имеет версии для DOS, Winodws, OS/2, OS/2 LAN Server и NetWare. VFind Virus Scanner компании Qualix Group (San Mateo, CA) с UNIX-хоста сканирует платформы UNIX, DOS, Macintosh и Amiga. Имейте в виду, что разные продукты обеспечивают различные уровни автоматизации, и это может значительно сказываться на их цене.

Главный вопрос очевиден, но не так просто найти на него ответ: насколько надежно продукт выявляет вирусы? Вам также следует выяснить, как часто продукт идентифицирует нетронутый код как инфицированный. Исчерпывающие обзоры антивирусных программ являются, пожалуй, лучшим источником такого рода информации. Ежемесячный бюллетень Virus Bulletin (Oxfordshire, England, телефонный номер: 44-0-235-555139) публикует, возможно, наиболее пространные обзоры антивирусного программного обеспечения.

Метод, который продукт использует для выявления вируса, также является хорошей отличительной чертой. Все антивирусные продукты сканируют сигнатуры вирусов, поэтому вы должны ответить на следующие вопросы: Сканирует ли он файлы? Есть ли в нем компонент, резидентно находящийся в памяти и постоянно проверяющий инфицированность программ? Применяется ли какой-либо метод для идентификации неизвестных вирусов? Ряд продуктов, например, RingFence компании S&S International (Mission Viejo, CA) и DiskNet компании Reflex (Lynnwood, WA), не дают пользователям обращаться к неотсканированным дискетам. Важно ли это свойство для вашей среды?

Ряд продуктов позволяет системе продолжить работу после того, как обнаружен вирус. Например, IBM AntiVirus Product позволяет продолжить работу после выявления определенных вирусов, не опасаясь за их дальнейшее распространение. Позже вы сможете выполнить дезинфекцию, выбрав более удобное для себя и пользователей системы время. Это свойство может оказаться полезным, если ваша организация связана требованиями постоянной готовности, при условии, что вы захотите выполнять систему, содержащую вирус. Кроме опций удаления вируса проверьте и возможности конфигурирования, предоставляемые продуктом. Обеспечивает ли он гибкие способы спецификации того, какие файлы следует сканировать? Есть ли опции предупреждения?

Разные продукты предоставляют очень разные возможности администрирования. IBM AntiVirus Product for NetWare позволяет центральному администратору ограничить возможности сканирования, изменять которые разрешается пользователям рабочей станции. Если ваша организация желает ввести строгий антивирусный стандарт, InocuLAN компании Cheynne Software (Roslyn Heights, NY) может защищать рабочую станцию от доступа по локальной сети, если рабочая станция не выполняет антивируса InocuLAN TSR. Кроме того, если в вашей организации принято централизованное администрирование, убедитесь, есть ли соответствующие возможности управления.

Уровень и способ предоставляемой производителем поддержки важен для любого продукта, но особенно он важен для антивирусов. Некоторые производители, например, Cheyne, McAfee (Santa Clara, CA) и Symantec (Cupertino, CA), организуют форумы в CompuServe. Другие используют America Online, Internet и собственные BBS.

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

Если ваша система базируется на DOS, то важным фактором при принятии решения может оказаться используемая память. Надо узнать, как много памяти продукт использует, особенно если исполняется TSR. Кроме того, выясните, какая часть продукта может быть перемещена в "верхнюю" часть памяти.

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

Имейте в виду, что стоимость приобретения продукта наверняка мало сопоставима со стоимостью его инсталляции и администрирования, а также стоимостью удаления вирусов. Недорогие продукты, такие как F-Prot (Command Software Systems, Jupiter, FL), могут быть весьма эффективны, но останутся ли они дешевыми, зависит от последующих издержек на их выполнение.

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

БОЛЬШИЕ УРОКИ

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


Глен Хиатт, основатель фирмы HighGate Solutions, является консультантом по вопросам безопасности данных и живет в Вилмингтоне. С ним можно связаться через CompuServe по адресу 70302,312 или через Internet по адресу hyatt@udel.edu.

Вирусология

Пять классов компьютерных вирусов

  • Многодольные (multipartile) вирусы. Многодольные вирусы, такие как Tequila, используют для хранения и распространения в загружаемые сектора и выполняемые файлы.
  • Вирусы-невидимки (stealth). Вирус-невидимка модифицирует системные функции, скрывая свое существование. Например, вирус-невидимка, спрятавшийся в загрузочном секторе диска, может пресекать попытки чтения инфицированного загрузочного сектора и перенаправлять их на сохраненную, незараженную его копию.
  • Полиморфные (polymorphic) вирусы. Чтобы воспрепятствовать своему обнаружению сканерами, полиморфные вирусы изменяют сами себя при заражении нового файла или загрузочного сектора, не давая таким образом выявить их при помощи отслеживания сигнатуры.
  • Зашифрованные (encrypted) вирусы. Зашифрованные вирусы - это особый случай вирусов полиморфных, основной код которых зашифрован. Ключ шифрования изменяется, и основной код вируса шифруется с разными ключами.
  • Бронированные (armoured) вирусы. Бронированные вирусы защищаются с использованием различных методов, страясь затруднить свое дизассемблирование и анализ. Whale, например, шифрует отдельные байты кода таким образом, что при попытке дизассемблирования вируса критичные участки кода перемешиваются.