Вирусы и другой вредоносный код

Черводинамика

Александр Захарченко, http://az13.mail333.com
«– Я думаю,– сказал Швейк,– что на все надо

смотреть беспристрастно. Каждый может

ошибиться, а если о чем-нибудь очень

долго размышлять, уж наверняка ошибешься.»

Я. Гашек
Последние пару лет на суд широкой общественности регулярно выносились новые результаты исследований динамики распространения компьютерных червей и вирусов. Пожалуй, на суд – это наверное слишком громко сказано. Просто в средствах массовой информации в меру авторского понимания пересказывалось содержание нескольких работ, выполненных при изучении эпидемии Code Red. Поскольку этот червь устроил более чем удачную облаву на сайт Белого Дома и получил соответствующую прессу, то итоговые исследования не удалось похоронить в архивах заказчиков, которыми традиционно выступают различные подразделения специальных ведомств США.
Главным выводом труда с явно рекламным заголовком «Как на досуге завладеть Интернетом» стало утверждение об осуществимости заражения  миллионов компьютеров (т.е. получения контроля над ними) буквально за считанные минуты. Зловредные коды с оптимизированной стратегией выбора жертвы смогли бы уложиться в 15 минут славы, упомянутых Andy Warhol’ом, а, оседлав широкополосные каналы, – даже менее чем за 30 секунд. Результаты эти были восприняты с изрядным скептицизмом, что естественно, особенно если учесть шумиху, поднятую СМИ. Поэтому следом сразу же появились работы, развивающие математические модели и более подробно разъясняющие тонкости эпидемических процессов.
Учтя противодействие вирусному распространению в виде «очистки, латания, фильтрации и даже отключения компьютеров и сетей» C. Zou со товарищи получили лучшее согласие результатов моделирования с хроникой распространения Code Red. И пришли к заключению, что человеческий фактор способен победить. В общем, начала оформляться новая публичная наука – черводинамика. Ну, а какая же это наука без эксперимента? И вышло так, что не успели ученые предупредить о блицкриге, как он и грянул.

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

уходе в отставку
после одобрения доктрины кибербезопасности. «Странно как-то видеть…» такой оборот событий.

О том, что эпидемия червя Slammer (известного также благодаря острой конкуренции антивирусологов под именами Helkern и Sapphire) является не более чем проверкой теоретических предположений, можно судить по сверхщадящим условиям опыта. Код не только не нес в себе разрушительной нагрузки, но и не оставлял «спор» на захваченной машине. Таким образом, лечение могло свестись к перезагрузке уязвимого ПО (даже не системы!) и фильтрации специфических сетевых пакетов. И хотя для серверов – это тоже ЧП, но налицо очевидное стремление минимизировать ущерб. Явно учтен опыт вирусов Морриса и WANK, парализовавших каналы обмена информацией и заблокировавших таким образом распространение нетривиальных сведений о методиках избавления от них.

Далее, мишенью червя стали серверы баз данных, оснащенные специальным программным обеспечением, распространенность которого в Сети несравнимо меньше, чем у ПО общего назначения. Т.е., предполагалось, что с проблемой на сравнительно небольшом числе компьютеров столкнуться более-менее подготовленные специалисты (чтобы там про них потом не говорили), а не паникеры-чайники, и решение будет найдено быстро. Количество пораженных машин все же должно быть достаточным для однозначной интерпретации результатов. Попутно, кстати, проверялось, а что изменилось в подготовке компьютерно-административного персонала со времен инцидента с Интернет червем 1988 г. (так стыдливо теперь именуется вирус Морриса в справочнике


по компьютерной безопасности Национального института стандартов и технологий США).

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

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

В чем, конечно, автору Slammer’а не откажешь, так это в глубокой продуманности алгоритма размножения. Для проникновения на уязвимый компьютер достаточно было послать один UDP пакет (404 байта) и не ждать никакого ответа. В молоко, так в молоко. Зато каждый пораженный компьютер тут же засыпал своими семенами канал подключения к Интернет на всю полосу пропускания.

Что же мы имеем в сухом осадке после встряски, устроенной 376 байтами, которые на практике приоткрыли, как будет выглядеть начало очередного всемирного побоища. Теория и понимание уязвимостей оказалось верными: черви действительно распространяются молниеносно, а человеческий фактор реально способствует прекращению эпидемии… правда только посредством невключения в код вируса деструктивных функций. И что теперь со всем этим делать? Время реакции самого подготовленного IT-персонала значительно превышает время поражения Сети. За 10 минут не только невозможно предпринять какие-либо упреждающие либо защитные меры, но даже толком осознать происходящее.

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


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

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

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

Выводы из новых исследований несомненно заставят изменить подходы к конструированию глобальных сетей и разработке ПО. Спешить особо уже некуда – дно достигнуто и перспектив у метода латания на живую нитку (который можно окрестить по аналогии как Trishkin Caftaning) нет никаких. Теперь нет нужды аврально внедрять новые непроверенные протоколы и системы. Необходимо создавать крупные экспериментальные сети и проверять их на прочность в «боевых условиях», внося по ходу дела поправки в первые принципы.


Естественно, что на это уйдет много времени и домашнему пользователю различные премудрости не то что объяснить, а даже перечислить проблематично. Отключать неграмотных от Сети не получиться, поскольку за счет home PC живет огромный сектор экономики. Вот и получается, что в ход могут пойти контрчерви, нейтрализующие зловредный код и ограничивающие каналы его распространения. На них свой ответ дадут вирусописатели, и начнется новая цепная реакция. Поэтому, если научный подход и дальше будет отбрасываться во имя максимизации скорейшей прибыли, то уже в скором будущем нас ждут весьма увлекательные времена самозащищающегося, эволюционирующего и, главное, самодостаточного программного обеспечения.

Дополнительные материалы:



The Spread of the Sapphire/Slammer Worm.
Подробное исследование, выполненное сразу же по горячим следам.



Slammed! An inside view of the worm that crashed the Internet in 15 minutes.
WIRED magazine, 11-07-2003. Разобран механизм работы червя и приведен его исходный код.

Безопасность между локальными сетями компании

Компании, которые имеют несколько офисов или приняли решение об аутсорсинге своей инфраструктуры ИТ, также могут извлечь выгоду из шифрования данных. Данные из точки А в точку B передаются только в редких случаях через защищенную сеть связи, такую, как магистраль, основанная на технологии Ethernet в городской локальной сети.
Вместо этого данные передаются через сети с протоколом IP или другие сети общего пользования, предоставляющие хакерам широкие возможности для атак. У каждого сервера имеется свой IP-адрес; чтобы обнаружить эти адреса, достаточно перехватить информацию на пути прохождения пакетов между двумя поддерживающими связь системами. Затем хакер может записать все данные, передаваемые между адресами отправителя и получателя. Поэтому с помощью кодировки данных можно обеспечить защиту от атак на существующие сетевые подключения к внешним системам: лицо без права доступа не сможет перехватить данные, передаваемые между двумя базами данных, не взломав код.
Вывод: Компании, придающие большое значение максимальной защите своей информации, не должны полагаться только на межсетевой экран. В сети есть достаточно слабых мест, которыми может воспользоваться профессиональный хакер, чтобы украсть данные. Поэтому для оптимальной защиты от несанкционированного доступа к серверам, рабочим станциям и линиям связи лучшим решением является кодировка данных.

Как защитить свою базу данных?

Мартин Титц (Martin Teetz), менеджер по продуктам Gupta
Переведено БНТП по заказу Interface Ltd.
  • Введение
  • Обзор средств защиты Oracle
  • Microsoft SQL Server предлагает защиту, основанную на средствах защиты Windows
  • Sybase предлагает средства защиты в Adaptive Server Enterprise и Adaptive Server Anywhere
  • SQLBase компании Gupta предлагает надежные средства защиты
  • Ответственность пользователей
  • Безопасность между локальными сетями компании
  • Резюме
  • Дополнительная информация


  • Microsoft SQL Server предлагает защиту, основанную на средствах защиты Windows

    В своей базе данных SQL Server компания Microsoft предлагает исчерпывающие средства защиты. Поскольку для SQL Server требуется платформа Windows, для Microsoft было целесообразно интегрировать средства защиты Windows, такие, как шифрование, в SQL Server. Microsoft предлагает инструмент, позволяющий проанализировать возможные бреши в защите, например, неизмененные пароли администратора и слишком широкие права в гостевой учетной записи. SQL Server может быть установлен с помощью аутентификации SQL Server или интегрированной аутентификации Windows. Рекомендуется использовать интегрированную аутентификацию Windows, поскольку настройки имени пользователя и пароля в Windows принудительны, как и необходимость смены пароля после истечения предварительно определенного периода времени и другие функциональные возможности Windows по аутентификации и регистрации в системе. Файловая система NTFS операционной системы Windows обеспечивает полное шифрование каталогов и файлов. Эта функциональная возможность Windows может использоваться для защиты зашифрованных файлов базы данных от прямых атак. При просмотре такого зашифрованного файла с помощью шестнадцатеричных редакторов получить информацию в текстовом или читабельном формате невозможно. Администраторы базы данных SQL Server должны знать, что большинство средств защиты SQL Server обеспечивается функциональными возможностями операционной системы и должно настраиваться с помощью средств администрирования Windows, а не с помощью инструментов SQL Server. Другим важным средством защиты является аудит базы данных, позволяющий восстановить способ использования брешей в защите. При аудите ведется протокол всех входов в систему и активности SQL указанных пользователей или групп. Microsoft получила сертификат защиты C2 для SQL Server, работающего на специальном выпуске Windows NT4. Более новые платформы для SQL Server, такие, как Windows 2000, XP и 2003 Server, не получили сертификат C2.

    Обзор средств защиты Oracle

    В центре внимания компании Oracle находится улучшение функциональных возможностей регистрации в системе и учетных записей пользователей, с целью обеспечения более надежной защиты данных в базе данных. Учетные записи пользователя имеют расширенные настройки своего срока действия, которые позволяют блокировать учетную запись после наступления указанной даты или обеспечивают доступ только в течение указанного времени суток. Чтобы закрыть бреши в защите непосредственно после установки продукта, инструменты пользователя Oracle вынуждают администраторов базы данных изменять пароли для предварительно созданных учетных записей базы данных. Общеизвестная проблема защиты – это предварительно созданные учетные записи базы данных, в которых используются предопределенные пароли, одинаковые для всех инсталляций продукта. Много раз хакеры получали доступ к подробной информации о заказе, включая информацию о кредитных картах, потому что компании, имеющие Интернет-магазины, не изменяли установленный по умолчанию пароль администратора базы данных. В Oracle имеется блокировка, запрещающая использовать ключевое слово "ANY" (ЛЮБОЕ), которое позволяет удалить все таблицы из базы данных подобно старой команде DOS del *.*. Путем активации этой функциональной возможности можно предотвратить нежелательную потерю данных. Другое очень важное средство защиты в Oracle – это шифрование сетевого трафика. Атаки, нацеленные на важные данные, можно легко предотвратить с помощью шифрования данных, передаваемых между клиентом и сервером базы данных. К другим средствам защиты относится список блокируемых адресов IP, запрещающий доступ из известных источников атак. Эти средства защиты позволяют считать Oracle довольно хорошо защищенной базой данных. Продукт базы данных Oracle имеет сертификат C2.
    По сравнению с защитой, предлагаемой другими поставщиками, Oracle имеет один серьезный недостаток – отсутствие шифрования данных непосредственно в базе данных. Тем самым Oracle несколько уязвима при внутренних атаках, так, например, системные администраторы, имеющие прямой доступ к самому файлу базы данных, могут просмотреть и изменить значения непосредственно в файле базы данных, поскольку данные не зашифрованы.

    Ответственность пользователей

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

    Для удовлетворения различных потребностей требуются

    Для удовлетворения различных потребностей требуются различные базы данных. Каждая база данных, рассмотренная в этой статье, имеет свои определенные преимущества. Для защиты больших систем с большим числом пользователей продукты компании Sybase видимо имеют преимущество перед Microsoft SQL Server и Oracle. Для встроенных баз данных и баз данных для рабочей группы Gupta SQLBase предлагает лучшую защиту из доступных в настоящее время.
    После выбора базы данных, которая предоставляет средства защиты, отвечающие требованиям клиентов, самая важная задача, о которой нередко забывают, состоит во включении и использовании расширенных средств защиты, предлагаемых почти всеми производителями баз данных.

    SQLBase компании Gupta предлагает надежные средства защиты

    Компания Gupta предлагает защищенную версию базы данных, называющуюся SQLBase Treasury Edition. Этот продукт разрабатывался в тесном сотрудничестве с крупными банками, которые определили требования к защите решения для банковских услуг онлайн, использующего базу данных для локального хранения транзакций на ПК клиента. В результате появился продукт, который отвечает многим требованиям к защите баз данных. Для защиты от внутренних атак SQLBase предлагает наряду с другими стандарт тройного шифрования базы данных и контрольную сумму, позволяющую обнаруживать в базе данных измененные данные, которые не были изменены непосредственно сервером базы данных. Тем самым обеспечивается очень хорошая защита от вредящих сотрудников, пробующих манипулировать данными, или от хакеров, получивших доступ к операционной системе, на которой работает сервер базы данных. SQLBase шифрует также выгруженные файлы, используемые обычно в качестве механизма резервного копирования, это позволяет избежать нежелательного доступа к данным со стороны администраторов файлового сервера, которые могут просмотреть выгруженные данные с помощью текстового редактора. В SQLBase Treasury Edition данные, передаваемые между клиентами и сервером, шифруются, таким способом это решение защищается от перехвата данных. В SQLBase имеется важное уникальное средство защиты, блокирующее работу алгоритмов угадывания пароля. Время до разрешения следующего входа в систему удваивается при каждой неудачной попытке входа в систему. Утилиты, которые перебирают огромные объемы паролей, очень эффективно блокируются.

    Sybase предлагает средства защиты в Adaptive Server Enterprise и Adaptive Server Anywhere

    Оба сервера базы данных Sybase, корпоративный сервер и сервер для рабочей группы, предлагают хорошие конкурентоспособные средства защиты. Adaptive Server Enterprise предлагает надежную защиту, включая стандарт тройного шифрования данных (triple DES) в базе данных. Это хорошо защищает продукт от внутренних атак на данные. Adaptive Server Enterprise предлагает доступ на основе ролей, разделение обязанностей, аудит и протестированную производительность. Данные, передаваемые между базой данных и сервером, шифруются как в Adaptive Server Anywhere, так и в Adaptive Server Enterprise, что позволяет блокировать нежелательный анализ сетевого трафика. Защита, предлагаемая в продуктах Sybase, превосходит защиту Oracle и является более интегрированной по сравнению с защитой Microsoft SQL Server. Предложение Sybase хорошо оптимизировано для финансового рынка, где учитываются требования нескольких общественных и промышленных групп, как, например, требования компаний VISA и Mastercard к защите электронного бизнеса.

    Эксперты по защите данных бьют

    Эксперты по защите данных бьют тревогу: вирусы становятся все более и более специализированными и в последнее время атаковали инсталляции SQL Server, на которых не были установлены последние пакеты исправлений защиты от Microsoft. В результате распространения SQL-червя Slammer резко повысился сетевой трафик, что привело к своего рода сценарию отказа в обслуживании. В этом случае целью червя не были данные, находящиеся в базе данных, однако этот случай свидетельствует о потенциальной угрозе. Хакеры могут создать вирус, который будет считывать и похищать данные из реляционных баз данных. Риск атак со стороны хакеров особенно велик в тех случаях, когда на предприятии существует интерфейс между своей корпоративной сетью и общедоступным Интернетом: каждый год хакеры, получившие доступ к ИТ системам и похитившие данные, приносят огромный ущерб. Во многих случаях угроза кроется не за пределами компании, а внутри нее. Данные крадут нелояльные сотрудники, например, перед тем, как менеджер по сбыту переходит на работу в другую компанию, он копирует базу данных клиентов. Современные технологии защиты похожи на засов, который может надежно запереть дверь к ценным данным, защищая их от внешних и внутренних атак.
    Есть различные методы кражи данных, которыми могут воспользоваться хакеры. Ниже перечислены наиболее важные из этих методов.
  • Хакер начинает атаку на физические файлы базы данных для просмотра или изменения информации; он может физически получить доступ к системе, даже не имея авторизации. Это происходит, например, при использовании мобильных клиентских систем.
  • Хакер хочет стать авторизованным пользователем системы, базы данных или приложения. Для этой цели существует программное обеспечение для генерации и автоматического использования списков пользователей. Часто достаточно просто позвонить по телефону из "службы по технической поддержке пользователей" и запросить имя и пароль пользователя.
  • Хакер использует существующее подключение к базе данных через сеть, которое было установлено авторизованным пользователем (нападение).
  • Хакер перехватывает незакодированную информацию во время ее передачи по сети.



  • Большинство поставщиков баз данных отреагировало на растущие потребности в защите и выпустило версии продуктов со значительно улучшенной защитой. Компания Oracle существенно улучшила защиту своего сервера базы данных и называет его неприступным. "Неприступность" защиты может быть немного преувеличена, поскольку еще ни одна ИТ система не подтвердила свою неприступность. Тем не менее, Oracle ввела много функциональных возможностей, позволяющих улучшить защиту данных. Microsoft бросает вызов Oracle, интегрируя защиту и шифрование Windows в свой продукт SQL Server, который становится хорошо защищенной базой данных. Sybase предлагает функциональные возможности защиты и шифрования в своем корпоративном продукте Adaptive Server Enterprise и в сервере для рабочей группы Adaptive Server Anywhere. Компания Gupta, специалист по встроенным базам данных, предлагает надежную защиту и шифрование в SQLBase, своей встроенной базы данных и базы данных для рабочей группы. Теперь выбор наиболее подходящего продукта зависит от пользователя. Далее приводятся подробные описания средств защиты ранее упомянутых поставщиков баз данных.

    Antivirus

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

    Application Control

    Следующий рубеж защиты обеспечивает технология контроля деятельности приложений (Application Control, AC), завершающая линейку средств информационной защиты уровня приложений. Технология AC может предотвращать атаки в фазе их выполнения или раньше.
    Механизм АС, как и PFW, основан на регулировании политики безопасности путем создания списка разрешенных на запуск приложений (замкнутая программная среда) и ограничения прав доступа приложений (различного типа, включая различные приложения Р2Р) на обращение к корпоративной сети. Кроме того, с помощью АС можно проверять пользовательскую систему на наличие установленных обновлений ОС и антивирусных средств. Несмотря на достоинства этой технологии, ее использование будет иметь эффект только в случае ее использования совместно с другими защитными технологиями, но не в качестве единственного средства защиты.

    BOEP

    Система защиты от "переполнения буфера" (Buffer Overflow Exploit Prevention, BOEP) - одна из новейших технологий обеспечения безопасности настольных компьютерных систем. Она предотвращает исполнение вредоносного кода, использующего атаки типа "переполнения буфера". По статистике исследовательской лаборатории X-Forse, такие атаки сейчас наиболее распространены. Их доля составляет до 80% от общего числа атак.
    Основа этих атак - принцип функционирования операционных систем, где программа получает привилегии и права запустившего ее пользователя или процесса. Атака заключается в том, что в каком-либо месте программы происходит копирование данных из одного участка памяти в другой без проверки того, достаточно ли для них места там, куда их копируют. Область памяти, куда копируются данные, принято называть буфером. Таким образом, если данных слишком много, то часть их попадает за границы буфера - происходит "переполнение буфера".
    Если злоумышленнику удается организовать переполнение буфера, он может удаленно выполнять команды на машине-жертве с правами атакованного приложения - того приложения, в котором обычный пользователь сети получает частичный или полный контроль над этим хостом, например, запуск командной оболочки с правами администратора. "Бессигнатурная" технология BOEP позволяет защититься от подавляющего числа уже известных атак и делает невозможными дальнейшие попытки использовать такого рода уязвимости, т.е. защищает от неизвестных атак.
    Технология BOEP стоит на последней линии обороны от сетевых атак. Персональный межсетевой экран предотвращает известные и неизвестные атаки против сетевых сервисов и служб, не задействованных пользователем. Система IPS блокирует известные и неизвестные атаки, которые используют уже известные уязвимости. И, наконец, BOEP реализует защиту от атак, основанных на неизвестных уязвимостях.

    Двухвекторная модель атак

    Структуру угроз настольным компьютерным системам можно представить с помощью двухвекторной модели их возникновения - угрозы атак на уровне сети и угрозы атак на уровне приложений. На сетевом уровне угрозу заключают в себе DoS-атаки и Интернет-черви, на уровне приложений - различные вирусы, E-mail-черви, троянские программы, шпионское программное обеспечение и т.д.
    В этом свете рабочие станции и мобильные компьютеры приобретают значение важнейшего участка информационной защиты - первого и последнего рубежа обороны. Первым рубежом они являются относительно действий зарегистрированных пользователей, а последним рубежом, конечной точкой, целью - для внешних злоумышленников.
    Атаки сетевого уровня (network-based attacks) могут протекать без какого-либо участия пользователя. Они становятся возможными из-за наличия уязвимостей в различных сетевых протоколах и службах. Использование данных уязвимостей реализуется посредством прямого взлома и воровства в информационных сетях, распространения сетевых червей, различных атак типа "отказ в облуживании" (DoS-атаки), установки разнообразных программ, результатом действия которых является появление у злоумышленника путей обхода системы защиты (backdoors) и возможности удаленно управлять узлом сети (footholds). Но этим многообразие видов сетевых атак не ограничиваются: есть еще множество различных путей для использования уязвимостей сетевого уровня.
    В отличие от сетевых атак, главное орудие атак уровня приложений (application-based attacks), для выполнения которых требуется некоторая форма участия пользователя, - это исполняемые файлы.

    Фазы жизни

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

    IDS и IPS

    Получившая широкое распространение технология обнаружения атак (Intrusion Detection System, IDS) использует глубокий анализ пакетов сетевого трафика, прошедшего через правила фильтрации межсетевого экрана, для извещения пользователя о попытке атаки на информационную систему.
    Появившись совсем недавно, технология IDS достаточно быстро переросла в технологию защиты следующего поколения - предотвращение атак (Intrusion Prevention System, IPS). По сути дела, IPS стала результатом объединения функциональных возможностей IDS и систем межсетевого экранирования. Механизм обнаружения атак, как правило, основан на сигнатурных методах анализа пакетов и методах анализа протоколов.
    Сигнатурные методы (сравнение реального трафика с шаблоном атаки) эффективны для обнаружения уже известных атак и практически беззащитны перед неизвестными атаками.
    В свою очередь, методы анализа протоколов обладают потенциалом для обнаружения неизвестных атак и сетевых червей, но имеют недостаток - большое потребление ресурсов при обнаружении атак в реальном времени. Анализ протоколов включает в себя использование целого ряда методик: поведенческого анализа, сравнения структуры и содержания пакетов на соответствие RFC (Request for Comments) и т.д. Предотвращение, в данном случае, возможно только для известных и неизвестных атак, направленных на уже известные уязвимости. Поэтому необходим еще один уровень защиты, предотвращающий атаки на неизвестные уязвимости.

    Personal Firewall

    Персональный межсетевой экран (Personal Firewall, PFW) - наиболее распространенная и понятная форма защиты настольных компьютерных систем для подавляющего числа пользователей. Благодаря набору правил фильтрации пакетов PFW может уменьшить, но не ликвидировать риск того, что компьютер подвергнется нападению из внешней сети. Путем блокирования доступа к портам, IP-адресам, сетевым протоколам и службам PFW-технология может предотвращать только небольшое число хорошо известных атак (SYNFlood, IPSpoofing, Ping of Death, WinNuke и т.д.). Несмотря на свои бесспорные достоинства, технологии межсетевого экранирования не справляются с новыми, постоянно развивающимися угрозами, примерами реализации которых можно назвать известные всем атаки: Nimda, Code Red, Slammer и т.д.

    Первая и последняя линии обороны

    Лев Фисенко, ведущий специалист компании "Информзащита"

    Журнал IT Manager
    Современные системы безопасности предлагают все более совершенные методы защиты корпоративных сетей от различных типов угроз. Однако в них не уделяется достаточного внимания таким уязвимым элементам инфраструктуры, как настольные компьютерные системы. Причем обычно недооценивается не только опасная способность враждебных программных кодов мгновенно распространяться по электронной почте, через Интернет и системы совместного использования файлов, но и та роль, которую играют в этом неправильные и неумелые действия конечных пользователей. А ведь в состав корпоративной сети могу входить сотни или даже тысячи ноутбуков и настольных компьютеров, зачастую географически удаленных друг от друга.
    Противоречивость современной сферы информационной безопасности состоит в том, что основной упор в ней делается на защиту периметра и внутренней инфраструктуры сети, несмотря на то, что по статистике наиболее уязвимыми узлами корпоративной сети являются рабочие станции и мобильные компьютеры, на которых обрабатывается большой объем конфиденциальной информации и хранится интеллектуальная собственность компании. Именно они - самое критичное место в построении защиты информационных сетей, так как подвержены угрозам, исходящим как извне, так и от легальных пользователей сети.

    Технологии защиты от сетевых атак

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

    Virus Prevention System

    Технология предотвращения вирусных атак (Virus Prevention System, VPS), в отличие от традиционных антивирусных средств, решает проблему борьбы с неизвестными вирусами. Это технология следующего поколения, которая дополняет обычные антивирусные механизмы и анализирует поведение программ до их выполнения в информационной системе на предмет обнаружения и блокирования враждебных действий.
    Использование данной технологии не зависит от появления новых сигнатур и поэтому не является реактивным процессом. Анализ поведения программ проводится в виртуальной среде, никаким образом не связанной с информационной системой, до их выполнения. Так как вирусы пишутся с использованием ограниченного количества достаточно известных методик, то обнаружить проявления аномального поведения программы не составляет никакого труда.

    Защита на уровне приложений

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

    Знание - сила

    Сегодня все ведущие производители средств информационной безопасности предлагают свои решения для защиты настольных компьютерных систем. Это такие продукты, как Symantec Client Security компании Symantec Corporation, Cisco Security Agent от Cisco Systems и Proventia Desktop - решение компании Internet Security Systems (ISS), за которое она была удостоена награды 2005 Frost & Sullivan Award "За лидерство в технологиях" в категории "Защита рабочих станций". Все эти системы, так или иначе, выводят комплексную многоуровневую защиту рабочих станций и мобильных компьютеров на новую ступень развития и реализуют современный подход к безопасности конечного пользователя с применением всей гаммы защитных технологий.
    Компании и организации должны реально осознавать необходимость проактивной защиты настольных компьютерных систем от широкого спектра прогрессирующих современных угроз информационной безопасности. Выделение двух основных векторов атак облегчает понимание роли и перспектив различных технологий защиты. Кроме того, важно знать, что может и что не может делать каждая отдельно взятая технология защиты.
    Только совместное использование средств периметровой и шлюзовой защиты с механизмами защиты настольных компьютерных систем позволит выстроить эффективную, эшелонированную оборону против постоянно эволюционирующих современных угроз.

    Вирусы – угроза безопасности.

    Алексей Доля (TanaT@hotmail.ru)
    Большинство современных статей о вирусах и способах борьбы с ними охватывает лишь эффективные антивирусные технологии и простейшие сведения о вредных кодах (не все из которых формально соответствуют определению “вируса”). Причем последний вопрос освещается лишь как вспомогательная часть материалов: он помогает лучше понять принципы, реализованные в антивирусах. Данная статья имеет совершенно противоположную цель. Я постараюсь проследить эволюцию вирусов с момента их выхода на “большую сцену”. Основное внимание будет уделяться масштабу и скорости распространения конкретных эпидемий. Не останется без внимания и развитие технического потенциала вредоносного кода: я на конкретных примерах покажу, что именно может испортить тот или иной вирус на вашем ПК или в корпоративной сети.

    Эпоха макровирусов.

    В 1995 году появилась Windows 95. Благодаря приятному интерфейсу и красивым окошкам она стала самой популярной операционной системой на планете. Нельзя утверждать, что Windows 95 предоставляла создателям вирусов больше возможностей, чем ее младшая сестра MS-DOS. Наоборот, по началу программирование на чистом Win16/32 API было сущим адом. Но суть в другом: Windows стала неформальным стандартом, она поселилась на огромном числе компьютеров и набрала небывалую популярность. Эта система привлекла к себе внимание не только пользователей, но и вирусмейкеров. Начали создаваться первые исполняемые вирусы под эту платформу. Но они не приобрели широкого распространения, так как пользователи не так уж и часто обменивались между собой исполняемыми файлами. Именно этот фактор на протяжении всего времени существования MS-DOS не позволял DOS-вирусам вызывать эпидемии и наносить существенный ущерб. В те времена Интернет еще не набрал сегодняшней популярности и силы, поэтому почти единственным средством транспортировки вирусов с одного компьютера на другой были дискеты и CD-диски. А это, согласитесь, очень медленно.
    Вирусы – угроза безопасности.
    Исполняемый вирус Hanta
    Но вместе с Windows 95 пришел и Microsoft Office.
    Именно этот офисный пакет оказался одной из самых благотворных сред для развития и размножения вирусов. Простой и эффективный инструментарий Microsoft Office позволяет создавать макросы, исполняющиеся на компьютере пользователя во время работы с документом. Этот пакет стал также очень популярным: документооборот многих предприятий и по сей день построен на его использовании. Чем же Windows 95 отличалась от Office с точки зрения вирусмейкера? Лишь одним: скорость распространения исполняемых файлов среди пользователей была значительно ниже, чем скорость обмена документами.

    Именно поэтому первый нашумевший вирус был написан для Microsoft Office. Это был Word.Concept. Особой зловредностью данный экземпляр не отличался, его эпидемия проходила очень вяло (в течение нескольких лет) и поразил он не так уж и много компьютеров (Лаборатория Касперского зарегистрировала всего 800 жалоб от клиентов на этот вирус). По сравнению с сегодняшним днем, когда Klez успевает поразить около 30 тыс. пользователей в месяц, масштабы Concept выглядят весьма скромными. Но для 1995-1997 гг. результат был очень впечатляющим. Как и маленький ручеек, дающий силу бурной реке, макровирусы предопределили стремительный выход вирусов на мировую арену.

    Среди пользователей бытует мнение, что макровирус – это такая безобидная подпрограмма, способная лишь на мелкие пакости вроде замены букв и знаков препинания. На самом деле макровирус может очень многое: отформатировать винчестер или украсть что-то ценное для него не проблема.

    Вирусы – угроза безопасности.
    Сетевой червь Melting

    За эпидемией Concept последовала вспышка активности вируса ColdApe. Этот “макробрат” оказался более оперативным: Лаборатория Касперского за несколько месяцев зарегистрировала около 1200 обращений в свою службу поддержки, связанных с этим вирусом. ColdApe был уже не так безобиден как предшественник, мог и файлы потереть и документы испортить. Он также содержал в себе элементы полиморфного кода, присущие лишь исполняемым вирусам. Таким образом, еще один 1998 год прошел под гнетом макровирусов.


    С 1999 года макровирусы начинают постепенно терять свое господство. Это связано со многими факторами. Во-первых, пользователи осознали опасность, таящуюся в простых doc- и xls-файлах. Люди стали более внимательными, научились пользоваться стандартными механизмами защиты от макровирусов, встроенными в MS Office. Немаловажным является и то, что пользователь осознал необходимость использования антивируса. Теперь это “игрушка для хакеров и озабоченных администраторов”, а стандартное средство защиты любого ПК от всех вредных кодов. Во-вторых, антивирусные компании наконец-таки раскололи этот твердый “макро-орешек”. Любой современный антивирус показывает очень высокий результат при борьбе с макровирусами. К примеру, из недавно проведенных компанией “Реланс” тестов выяснилось, что Norton AntiVirus поймал 489 из 495 макровирусов, DrWeb – 491 из 495, а Антивирус Касперского и вовсе все 495. Согласитесь, сегодня у макровируса очень мало шансов на успех. Но это не все, что предлагает современный антивирус в борьбе с этими вредителями: в наши дни становится возможным еще и вылечить большую часть инфицированных файлов. Судите сами, из тех же тестов: Norton AntiVirus излечил 454 из 489 детектированных, DrWeb – 461 из 491 и Антивирус Касперского – 476 из 495 (как вы понимаете, антивирус мог лечить лишь те файлы, которые считал зараженными – этим и объясняется число, стоящее после слова “из”). В-третьих, к 2000 году Лабораторией Касперского была разработана уникальная технология, позволяющая нейтрализовать любой антивирус (даже тот, которого нет в антивирусной базе). Я имею в виду поведенческий блокиратор, интегрируемый в MS Office. Этот встраиваемый модуль называется Office Guard. Суть заложенных в него технологий в том, что набор используемых макровирусом функций можно ограничить. Напомним, что макросы для MS Office пишутся на языке VBA (Visual Basic for Application). Так вот оказывается, что есть команды, без которых не может обойтись ни один макровирус! Именно на них и реагирует Office Guard.


    Самым главным бонусом такого подхода является защита даже от еще неизвестных макро-вредителей.

    Посмотрим на вирусную двадцатку за февраль этого года. По данным Лаборатории Касперского макровирусы в ней занимают лишь 4, 9, 10, 18 и 20 позиции. Всего на них приходится 5,9% от общего числа зарегистрированных заражений. Это достаточно небольшой процент (для сравнения: в 2000 году макровирусов насчитывалось 20%), который мог бы быть еще меньше, если бы пользователи защищали свой ПК с помощью Антивируса Касперского (Office Guard, входящий в его состав, защитил бы компьютер от любого макровируса) или, при использовании другого антивирусного решения, регулярно обновляли базы (Антивирус Касперского способен бороться с макро-инфекцией и без обновления баз, но для всех остальных видов вредных кодов рекомендуется обновлять базы раз в сутки). К сожалению, среди пользователей всегда остается небольшой процент тех, кто считает, что вирусы обойдут их стороной. Именно этим и объясняет халатность по отношению к установке обновленных антивирусных баз.



    2000 год – поворотная точка.



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

    “Чернобыль” это не просто исполняемый вирус под Windows. В нем заложены действительно красивые приемы и решения. Во-первых, зараженный файл не меняет своего размера по сравнению с первоначальным вариантом. Такой эффект достигается благодаря структуре исполняемых файлов Windows: каждый exe-файл разбит на секции, выровненные по строго определенным границам. В результате между секциями почти всегда образуется небольшой зазор. Хотя такая структура приводит к увеличению места, занимаемого файлом на диске, она же позволяет существенно повысить скорость работы операционной системы с таким файлом.


    “Чернобыль” либо записывает свое тело в один такой зазор (если тело туда помещается), либо дробит свой код на кусочки и копирует каждый из них в пустое место между границами. Результатом этой идеи являются: антивирусу сложнее определить, заражен ли файл или нет, и еще сложнее вылечить инфицированный объект (сложнее, имеется в виду, по сравнению с другими способами заражения файлов). Во-вторых, “Чернобыль” стал первопроходцем среди программ, умеющих портить “железо”. Некоторые микросхемы позволяют перезаписывать данные, хранящиеся в их мини ПЗУ. Этим и занимается “Чернобыль”. Результатом такого вандализма является испорченный компьютер, ремонт которого выливается в круглую копеечку. Надо отметить, что “Чернобыль” делает еще и “контрольный выстрел” в зараженный компьютер – на всякий случай он стирает абсолютно все данные с жесткого диска. После того, как широкой общественности стала известна первая “сверх” деструктивная функция данного вируса, какой-то умелец додумался дизассемблировать код “Чернобыля” и выложить его в Интернете. Сегодня имеются сотни модификаций старого “Чернобыля”, каждая из которых только и ждет момента познакомиться с “железом” пользователя. Эти клоны отличаются от “праотца” тем, что портят железо и уничтожают данные не раз в год, а сразу после заражения компьютера. Этот один факт уже достаточен для того, чтобы обзавестись антивирусом.

    Вирусы – угроза безопасности.
    Скрипт для Corel Draw под названием Gala

    Интересным фактом является “черная популярность Чернобыля” и сегодня. В феврале 2003 года 0,71% всех обращений в службу технической поддержки Лаборатории Касперского был вызван именно активностью Win95.CIH (это – научное название обсуждаемого вредного кода). То есть данный экземпляр оказался на 11 месте в вирусном хит-параде (20-тка февральских вирусов). Согласитесь, что для вируса созданного три года назад это поразительный результат. В чем же причина? Конечно, новые клоны нашумевшего вредителя появляются довольно часто – вирусмейкеры все лелеют мечту стать знаменитыми.


    Но ведь и антивирусные компании не дремлют! Любой современный антивирус детектирует любую версию старого “Чернобыля”. Есть только одно объяснение: как и в случае с макровирусами пользователи надеются на “лучшее” и не обновляют базы вовремя. А ведь, чтобы их обновить надо всего лишь выйти в Интернет и нажать одну (достаточно большую) кнопку в меню своего антивируса! Стоит один раз недооценить опасность заражения, как придется платить деньги за ремонт ПК. В корпоративной же среде потеря информации с жестких дисков может вызвать куда более ощутимый ущерб, чем повреждение одной микросхемы.

    Но вернемся к 2000 году. С этого года сетевые черви могут смело отсчитывать свою “большую” историю. Произошли существенные изменения в технологиях создания и распространения вирусов. В первую очередь, это касается тенденции приобретения вирусами функции распространения по электронной почте. Согласно статистике службы технической поддержки Лаборатории Касперского, около 85% всех зарегистрированных случаев заражения были вызваны проникновением вирусов именно из этого источника. К примеру, по сравнению с 1999 годом рост числа подобных инцидентов составил около 70%. Это связано с тем, что Интернет и электронная почта твердо стали на ноги: сетевая почта превратилась в стандарт бизнес общения. Это привлекло внимание не только пользователей, но и вирусмейкеров. К тому же скорость распространения вирусов через Интернет неизмеримо выше скорости обмена данными на любых носителях.

    2000 год еще можно назвать годом “Любовных Писем”. Вирус “LoveLetter”, обнаруженный 5 мая, мгновенно разлетелся по всему миру, поразив десятки миллионов компьютеров практически во всех уголках планеты. Причины этой глобальной эпидемии кроются в чрезвычайно высокой скорости распространения, оригинальных (а кое-где и гениальных) идеях автора. Вирус рассылал свои копии немедленно после заражения системы по всем адресам электронной почты, найденным в адресной книге почтовой программы Microsoft Outlook. Подобно обнаруженному весной 1999 года вирусу Melissa, LoveLetter это делал, якобы, от имени владельца зараженного компьютера, о чем тот, естественно, даже не догадывался.


    Рассылаемые зараженные вложенные файлы дезориентировали пользователей своим расширением: 'TXT.vbs'. Большинство до сих пор считает, что текстовые файлы не могут содержать вредоносных программ. Это действительно так, однако под фальсифицированным расширением TXT может скрываться все что угодно, в данном случае - программа, написанная на Visual Basic Script (VBS). Дополнительным фактором является гениальность автора: простой ход с точки зрения психологии. Мало кто сможет удержаться, чтобы не прочитать любовное письмо от своего знакомого. Именно на это была сделана основная ставка в процессе разработки вируса.

    Вирусная двадцатка за февраль 2003 года

    Название вируса Тип вируса Процент
    Klez Сетевой червь 29,67
    Sobig Сетевой червь 8,81
    Lentin Сетевой червь 7,04
    Thus Макровирус для Word 3,12
    Avron Сетевой червь 3
    Roron Сетевой червь 2,87
    Hybris Сетевой червь 2,49
    Tanatos Сетевой червь 1,3
    Flop Макровирус для Word 0,98
    Saver Макровирус для Word 0,78
    CIH (Чернобыль) Исполняемый 0,71
    Opasoft Сетевой червь 0,69
    Spaces Исполняемый 0,59
    Mosuck Троянец 0,58
    Antilam Троянец 0,57
    Redlof Скрипт-вирус 0,53
    Stator Сетевой червь 0,53
    Melissa Макровирус для Word 0,52
    Optix Pro Троянец 0,51
    VMPC Макровирус для Word 0,5
    Только в мае атаке вируса LoveLetter подверглись более 40 миллионов компьютеров. По сообщению исследовательского центра Computer Economics, уже за первые 5 дней эпидемии вирус нанес мировой экономике убытки в размере 6,7 миллиардов долларов США. По данным этого же центра, суммарные убытки за весь 1999 год составили 12 миллиардов долларов США.

    Еще одним важным событием 2000 года можно считать начало “колонизации” Linux. В общем было зарегистрировано появление 37 новых вирусов и троянских программ для этой операционной системы. По сравнению с вирусами для Windows эти цифры очень малы, но, если посмотреть статистику Linux-вирусов, то их число увеличилось более, чем в 7 раз! Несмотря на то, что некоторые образцы Linux-вирусов действительно обладали всеми необходимыми способностями к размножению и автономной жизни, ни один из них так и не нанес ощутимого ущерба.


    Сказалось малая распространенность Linux. Но самым главным фактом стало создание первого вируса в истории Linux, работающего в фоновом режиме и способного заражать файлы в масштабе реального времени. Этот экземпляр получил название Siilov.



    Эпоха сетевых червей.



    С 2000 года сетевые черви начинают полностью преобладать на вирусной арене мира. Сегодня, по данным Лаборатории Касперского, на их долю приходится 89,1% всех заражений. В структуре распространенности сетевых червей традиционно преобладают почтовые черви (прежде всего "Klez" и "Lentin"), использующие e-mail в качестве основного транспорта для доставки на целевые компьютеры. Все больше и больше почтовых червей применяют метод прямого соединения с SMTP-сервером. Эта тенденция объясняется тем, что традиционный способ рассылки червей (например, через Outlook или другие почтовые клиенты) уже не имеет достаточных шансов на успех. Производители почтового ПО интегрировали в свои программы антивирусные модули или специальные функции для предотвращения несанкционированной рассылки каких-либо данных. Учитывая это, вирусмейкеры все чаще используют новые технологии распространения червей, которые обходят такой тип защиты. Существует еще несколько типов сетевых червей: LAN-черви (распространяющиеся по ресурсам локальных сетей - 2,5%), P2P-черви (распространяющиеся по Peer-to-Peer сетям, например KaZaA - 1,7%), IRC-черви (распространяющиеся по каналам IRC - 0.2%).

    Остановимся подробнее на сетевом черве Klez. Этот экземпляр заражает компьютер через “дыру” в почтовой программе Outlook: когда пользователь подводит мышку к письму, содержащему вирус, Klez инфицирует систему. Надо заметить, что эксплуатируемая червем “дыра” была обнаружена до создания этого вируса, а компания Microsoft даже выпустила специальную заплатку. Каждый, кто установил ее, защитил себя и свой ПК не только от Klez, но и от всех его разновидностей и модификаций. После попадания в ОС сетевой червь сканировал жесткие диски, искал e-mail адреса и рассылал на них письма, прикрепляя свое тело в качестве вложения.


    Таким образом, скорость распространения сетевого червя становилась очень высокой. Эту же схему использует и все остальные сетевые черви: каким-либо образом попадают на компьютер, ищут потовые адреса и рассылают себя дальше. По данным Лаборатории Касперского за время своего существования Klez заразил более 110 тыс. компьютеров. На сегодняшний день он по-прежнему лидирует в вирусном хит-параде. К примеру, в феврале на его долю пришлось 29,67% от всех заражений вообще.

    График зависимости числа вирусов в e-mail от времени

    Важным является и то, что сетевые черви мутируют: сегодня вы вряд ли найдете “чистого” сетевого червя. Современный “червяк” содержит в себе элементы скрипт-, исполняемых и полиморфных вирусов, а также кое-что от троянских коней. Хорошим примером служит I-Worm.Magistr. Его автору всего в 30 килобайтах ассемблерного кода удалось реализовать очень сложный резидентный полиморфный вирус, процедуру распространения по локальной сети и электронной почте и, в дополнение, деструктивную функцию CIH. Как результат: вирус-червь, заражающий приложения Windows (исполняющиеся EXE-файлы) и распространяющий свои копии в зараженных письмах электронной почты. Червь также способен распространяться и по локальной сети, заражая файлы на сетевых дисках, открытых на полный доступ. Через месяц после заражения компьютера он стирает всю информацию на диске, данные в CMOS-памяти и содержимое Flash-памяти.

    Рассказ о сетевых червях был бы неполным без упоминания I-Worm.Hybris. Это один из первых многокомпонентных вирусов, имеющих функцию самообновления. Представьте себе вредный код, состоящий из основной программы и дополнительных plug-in подпрограмм, которые могут подключаться к Hybris’у в любой момент по желанию автора данного червя. Например, подпрограмма заражения ZIP и RAR архивов, внедрения на компьютеры, зараженные "троянцем" SubSeven, шифрования и т. д. Помимо этого, в Hybris есть очень хитрая система перекачивания этих plug-in'ов с анонимного Web-сайта. Обычно такие сайты легко закрыть.


    Но автор изобрел другой способ – вирус соединяется с электронной конференцией alt.comp.virus и ищет там новые версии подпрограмм. А чтобы под видом plug-in вирусу не предложили антивирус, каждый модуль имеет цифровую подпись (128-битный ключ RSA), что обеспечивает 100% аутентификацию! Это действительно уникальный способ – ведь конференцию закрыть невозможно!



    Бреши в системе безопасности и бестелесные черви.



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

    Такой подход поставил сложные задачи перед разработчиками антивирусных пакетов. Традиционные технологии (антивирусный сканер и монитор) проявили неспособность эффективно противостоять новой угрозе, поскольку их алгоритм борьбы с вредоносными программами основан именно на перехвате файловых операций. Решением проблемы стал специальный антивирусный фильтр, который в фоновом режиме проверяет все поступающие на компьютер пакеты данных и удаляет “бестелесных” червей. Глобальная эпидемия сетевого червя CodeRed, начавшаяся 20 июля 2001 года (по некоторым оценкам зараженными оказались более 300 тыс. компьютеров), подтвердила действенность технологии "бестелесности". Но еще “больнее” оказалась недавняя эпидемия Helkern’а (25 января 2003 года).

    В августе 2001 года Николас Уивер (Nicholas Weaver) из университета Беркли (США) опубликовал исследование о технологии создания червя “Warhol” (также известен как “Флэш-червь”), который в течение 15 минут способен распространиться по всему миру. Именно поэтому червь был назван в честь Энди Уорхола (Andy Warhol), автора фразы “в будущем у каждого появится возможность испытать 15 минут славы”. Примерно такая же идея и была реализована в Helkern’е.

    Интернет-червь Helkern (также известен под именем Slammer) заражает серверы под управлением системы баз данных Microsoft SQL Server 2000.


    Небольшой размер червя (всего лишь 376 байт), уникальная технология заражения и сверх высокая скорость распространения позволили червю получить титул “главной угрозы нормальному функционированию Интернет за последние несколько лет”. Microsoft SQL Server 2000 это многофункциональная система управления базами данных, которая широко используется в том числе и на Web-серверах. Для домашних пользователей, которые самостоятельно не устанавливали Microsoft SQL Server Helkern не представляет опасности.

    Червь незаметно проникает на компьютеры через брешь класса "переполнение буфера" (Buffer Overrun) в системе безопасности Microsoft SQL Server. Для этого на целевой компьютер посылается нестандартный запрос, при обработке которого система автоматически выполняет и содержащийся в запросе вредоносный код червя. Далее Helkern начинает процедуру дальнейшего распространения по сети Интернет. Этот процесс отличается исключительно высокой скоростью рассылки копий червя: Helkern запускает бесконечный цикл распространения, и, таким образом, многократно повышает сетевой трафик. Сегодня MS SQL Server является одной из самых популярных баз данных, которая используется на сотнях тысяч компьютеров по всему миру. События показывают, что на большинстве из них до сих пор не установлены обновления системы защиты. Мы опять сталкиваемся с халатностью, но на этот раз не домашних пользователей, а искушенных системных администраторов. Уж кому, как не им, знать о важности своевременной установки заплаток. Думаю, случай с Helkern’ом послужил им хорошим уроком.

    Вирусы – угроза безопасности.
    Ущерб мировой экономики от вирусов. В млрд. долларов

    Помимо создания большого объема избыточного сетевого трафика Helkern не имеет других побочных действий, в том числе деструктивных. Однако одного этого оказалось достаточно, чтобы блокировать 25% всего Интернета! Только представьте: каждый четвертый запрашиваемый сайт был попросту недоступен.

    Теперь поговорим о “дырах” в системах безопасности ПО.


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

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





    Итог.



    Макровирусы отжили свое. Исполняемые вирусы встречаются довольно редко. Жертвами этих двух видов тварей становятся лишь самые ленивые пользователи. Будущее за червями. И не просто сетевыми червями, а вирусами, размножающимися с минимальным участием (а порой и нулевым) человека.

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

    Евгений Касперский, руководитель антивирусных исследований компании Лаборатория Касперского, предсказал возможность глобальной эпидемии скрипт-вирусов (подобных LoveLetter), еще в ноябре 1998 года, когда был обнаружен вирус Rabbit. Тогда многие поспешили обвинить компанию в раздувании вирусной истерии, однако весна 2000 года расставила все на свои места. Сейчас известно более 80 разновидностей LoveLetter. В целях защиты своих пользователей не только от существующих, но и от будущих версий вируса, Лаборатория Касперского разработала технологию Script Checker. Благодаря механизму эвристического анализа скриптов, Script Checker защитил пользователей от всех вариантов LoveLetter, не требуя никаких дополнительных обновлений антивирусной базы.Согласитесь, приятный момент в истории развития вирусов.

    Следующим плюсом идет Office Guard. Еще один модуль, входящий в состав Антивируса Касперского, обеспечивающий защиту на этот раз от макровирусов. Эта технология не позволит ни одному макровирусу причинить какой-либо вред вашим данным и заразить другие файлы. Таким образом, уже от двух видов вирусов существует 100% защита.

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

    «Анти-Хакер»

    «Анти-Хакером» в KIS назван файрвол (иначе — межсетевой экран, персональный брандмауэр), предназначенный для защиты локального компьютера при работе в сетях различных типов (Интернет, Интранет, доверенная сеть). Он контролирует и в случае необходимости блокирует несанкционированные исходящие и входящие соединения, проверяет открытые порты и осуществляет динамическую фильтрацию пакетов данных (Stateful-модель). Таким образом, «Анти-Хакер» защищает систему от хакерских атак и регулирует доступ установленных программ в Интернет. Более того, при активизации функции «Режим невидимости» компьютер полностью игнорирует все сетевые обращения извне, становясь «невидимым» для других пользователей сети.
    В плане совместимости с программным обеспечением компьютера «Анти-Хакер» может работать в двух основных режимах. Первый из них, режим максимальной совместимости, обеспечивает оптимальную работу файрвола и программ, устанавливающих множественные сетевые соединения (например, клиенты файлообменных сетей). Но в этом случае (в основном в сетевых играх) реакция системы может несколько замедлиться. Поэтому для любителей сетевых игр рекомендуется выбрать другой режим — максимальной скорости.
    Малоподготовленному пользователю трудно ориентироваться во всем многообразии сетей, портов и пакетов, в их взаимодействии друг с другом и с системой в целом. С целью максимального упрощения процедуры настройки в «Анти-Хакере» расширен набор предустановленных правил для известных приложений, что упрощает регулировку доступа установленных программ к Интернету. Всего предусмотрено пять предустановленных уровней защиты:
  • «Блокировать все» — максимальный уровень защиты, запрещающий любую сетевую активность, что равнозначно исключению локального компьютера из сети.
  • «Максимальная защита» — на этом уровне разрешена только такая сетевая активность, для которой в явном виде определено разрешающее правило (входящее в дистрибутив «АнтиХакера» или созданное пользователем самостоятельно).
  • «Обучающий режим» — в данном случае при первой попытке какой-либо программы или сервиса получить доступ в сеть «Анти-Хакер» предлагает пользователю самому определить, стоит разрешать такое соединение или нет.
    В случае если пользователь решит, что данному приложению сетевая активность разрешается на постоянной основе, он тут же может создать правило для этого соединения, чтобы впредь подобное уведомление на экране компьютера не появлялось.
  • «Минимальная защита» — уровень, на котором разрешено все, чего явно не запрещают правила, регламентирующие сетевую активность приложений.
  • «Разрешить все» — минимальный уровень защиты, когда разрешена любая сетевая активность.

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

    «Анти-Шпион»

    «Анти-Шпион» отслеживает программы и сервисы, производящие несанкционированный показ материалов рекламного характера, различные средства удаленного администрирования и мониторинга, программы-шутки и т. п., и блокирует их исполнение. Так, компонент блокирует показ баннеров и всплывающих окон, мешающих пользователю при работе с web-ресурсами, а также работу программ, пытающихся осуществить не санкционированный пользователем дозвон, анализирует web-страницы на предмет фишинг-мошенничества (для тех, кто не в курсе, фишинг — это разновидность интернет-мошенничества, заключающаяся в рассылке электронных сообщений с целью кражи у излишне доверчивых пользователей конфиденциальной информации, как правило, финансового характера).
    До недавнего времени программ, подобных «АнтиШпиону», в арсенале «Лаборатории Касперского» не было вообще, и хотя нельзя сказать, что первый блин вышел комом, она пока еще не может похвастать особой гибкостью и богатством настроек, свойственных лучшим образцам подобных специализированных приложений. Тем не менее, при настройке «Анти-Шпиона» можно создать список доверенных адресов web-сайтов, всплывающие окна которых не будут блокироваться; сформировать «белый» и «черный» списки рекламных баннеров; сформировать набор доверенных телефонных номеров, Dial-up-соединение по которым будет разрешено. Вот, в общем-то, и все, на что способен данный компонент. Прямо скажем, не густо.

    «Анти-Спам»

    Компонент «Анти-Спам» встраивается в почтовые клиенты (на сегодняшний день только в наиболее популярные — Outlook Express/Office Outlook и The Bat!) и контролирует все входящие почтовые сообщения на предмет спама. Это достигается как использованием традиционных «черных» и «белых» списков адресов, так еще и многоуровневой системой фильтрации, включающей в себя интеллектуальный фильтр заголовков PDB, самообучаемый анализатор текста письма iBayes, а также систему анализа GSG графических элементов письма. Комплексное использование всех трех технологий сделало ненужным обновление баз фильтрации спама — для эффективной работы системы достаточно предустановленной базы образцов спама и чистых писем. Все письма, содержащие спам, помечаются специальной меткой [! all SPAM] или [? all Probable Spam] в поле «Тема» письма.
    В процессе работы «Анти-Спама» используется база фишинга «Анти-Шпиона», благодаря чему имеется возможность отфильтровывать письма, имеющие целью получить конфиденциальную информацию финансового характера. Входящий в состав спам-фильтра «Диспетчер писем» позволяет экономить сетевой трафик за счет предварительного просмотра заголовков всех приходящих писем, не загружая их полностью с почтового сервера.
    Предусмотрена также возможность настройки «АнтиСпама» на обработку спама (автоматическое удаление, помещение в специальную папку и т. д.) с заданием уровня его агрессивности (пять предустановленных режимов, практически полная аналогия с соответствующими настройками «Анти-Хакера»). Кроме того, имеется возможность составлять «черные» и «белые» списки адресатов и ключевые фразы, на основании которых производится обнаружение спама.
    «Анти-Спам»
    Просмотр «Отчета» KIS
    Отдельного упоминания заслуживают другие полезные функции KIS, расширяющие возможности пакета.
    Так, в процессе работы программа помещает некоторые объекты в специальные папки «Резервное хранилище» и «Карантин». «Резервное хранилище» содержит копии всех объектов, которые были изменены или удалены в результате работы любого из компонентов KIS.
    Если один из этих объектов содержал важную для пользователя информацию, оказавшуюся в процессе антивирусной обработки поврежденной, его всегда можно восстановить из резервной копии. «Карантин» же содержит подозрительные, с точки зрения системы безопасности, объекты, которые текущая версия программы не сумела «вылечить». Оба эти хранилища рекомендуется время от времени просматривать и удалять из них объекты, утратившие свою актуальность.

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

    Другой важный сервис KIS, о котором хотелось бы упомянуть отдельно, — создание диска аварийного восстановления системы, позволяющего восстановить работоспособность компьютера на уровне, предшествующем заражению.

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

    Для этого он содержит:

  • cистемные файлы Microsoft Windows XP Service Pack 2;
  • набор утилит для диагностики операционной системы;
  • файлы программы Kaspersky Internet Security;
  • файлы, содержащие сигнатуры угроз.

    Диск аварийного восстановления создается с помощью «Мастера», использующего специальную программу для создания загрузочных CD-дисков — PE Builder версии 3.1.3 или выше, которая, естественно, должна быть не только установлена на компьютере, но и запущена.

    Итак, наш краткий обзор одной из первых программ комплексной защиты персонального компьютера подходит к концу. Правда, мы не очень много внимания уделили особенностям ее настройки, но только потому, что вообще-то все «умолчательные» установки KIS достаточно обоснованны и программа начинает качественно выполнять свою задачу сразу после установки. Но всегда хочется лишний раз убедиться: в самом ли деле она работает? Поэтому напоследок рекомендуем проверить работоспособность если не всей программы, так хотя бы ее основного компонента — «Файлового Антивируса».Как? Очень просто — скачав тестовый вирус EICAR. COM (ftp://ftp.kaspersky.com/utils/eicar/) и сохранив его где-нибудь на жестком диске. Если «Файловый Антивирус» работает, вы получите предупреждающее сообщение.

    «Анти-Спам»

    KIS обнаружил «учебный» вирус

    «Файловый Антивирус»

    Файловый «Антивирус KIS» является основным компонентом пакета, он осуществляет контроль файловой системы и проверяет все открываемые, запускаемые и сохраняемые файлы на компьютере и всех подключенных дисках (включая сетевые). А контроль скрытых процессов позволяет эффективно противостоять таким новейшим технологиям вирусописателей (и не только их — вспомним недавний громкий скандал с компанией Sony, явно перестаравшейся с защитой своей интеллектуальной собственности), как Rootkit, а контроль целостности приложений защищает систему от внедрения вредоносного кода в отдельные приложения ОС Windows. По своей функциональности «Файловый Антивирус» практически не отличается от «Антивируса Касперского 6» и по сравнению с предшественником — «Антивирусом Касперского 5» — обеспечивает гораздо более высокую скорость антивирусного сканирования. Причем прирост скорости заметен не только во время инструментальных измерений, но и «на глаз», так что основной недостаток прежних версий «Антивируса Касперского», похоже, окончательно изжит. Высокая скорость работы программы достигается за счет использования усовершенствованных технологий сканирования iChecker и iSwift, а также проверки только новых или измененных файлов, что исключает повторную проверку тех файлов, которые не изменились с момента последней проверки.
    «Файловый Антивирус»
    Настройки «Файлового Антивируса»
    Достаточно важной (особенно для обладателей не самых современных компьютеров) является и незаметная для пользователя работа «Файлового Антивируса». Программа осуществляет постоянный мониторинг пользовательской активности, и при выполнении ресурсоемких операций ее работа приостанавливается, освобождая ресурсы для пользовательского процесса, а при снижении активности пользователя — возобновляется.

    В современном мире, когда информационные

    Виктор Куц

    IT News

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

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

    Конечно, завсегдатаи Интернета хорошо осведомлены обо всех этих угрозах и, как правило, встречают их во всеоружии. Так, многочисленным вирусам и червям эффективно противостоят тоже отнюдь не малочисленные программы-антивирусы; от попыток «взлома» и «проникновения» локальные компьютеры защищаются персональными файрволами со встроенными средствами анализа пакетов (SPI), да и на всяких «троянских коней» и прочий «шпионский» софт, случайно занесенный в компьютер, имеется своя управа.
    Даже от непрошеной назойливо- рекламной корреспонденции сегодня существует защита, порой довольно эффективная. Все это так. Вот только далеко не каждый из нас имеет достаточную квалификацию, чтобы не запутаться в этом многообразии современных защитных программ и суметь правильно установить (и главное — настроить) каждую из них на своем компьютере.

    Нормальному человеку, которому компьютер нужен для работы, а не для демонстрации своего интеллектуального превосходства над всем остальным человечеством (как для некоторых компьютерных гуру), очень полезной оказалась бы одна универсальная программа, способная обеспечить полную защиту компьютера от всех внешних посягательств. И таковая существует. Это пакет Kaspersky Internet Security 6.0 (далее — KIS), обеспечивающий комплексную защиту персональных компьютеров и рабочих станций, работающих под управлением операционной системы Windows, от всех типов электронных угроз — и вредоносных программ, и хакерских атак, и нежелательных электронных рассылок.

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

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

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


    В современном мире, когда информационные

    Инсталлятор KIS предлагает удалить потенциально конфликтные приложения

    Перезагружаемся. Сразу после установки KIS в системной панели появляется ее значок, служащий своеобразным индикатором работы программы.

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

    В современном мире, когда информационные

    Главное рабочее окно Kaspersky Internet Security

    Навигационная панель содержит три основных раздела:

  • «Защита» (здесь можно ознакомиться с общей статистикой работы программы, а также настроить основные компоненты программы и проконтролировать их текущее состояние);
  • «Поиск вирусов» (можно определить объекты, подлежащие проверке «Антивирусом»);
  • «Сервис» — этот раздел включает в себя дополнительные функции KIS: отсюда можно обновить антивирусные базы, получить отчет о работе любого из компонентов, просмотреть содержимое «Резервного хранилища» и «Карантина», создать диск аварийного восстановления системы, изменить лицензионный ключ программы и, наконец, получить ответы на свои вопросы от службы технической поддержки «Лаборатории Касперского» в режиме онлайн.

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

    В современном мире, когда информационные

    Настройки параметров «Файлового Антивируса»

    Из главного окна можно также вызвать окно настройки KIS, просто нажав ссылку «Настройка» в верхней его части. Структура окна настройки аналогична структуре главного окна: слева в нем расположено меню выбора пунктов настройки, которое обеспечивает быстрый и удобный доступ к настройке каждого из компонентов программы, а правая часть содержит непосредственно перечень настроек всего того, что было выбрано в левой части компонента.

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

    Компоненты

    Получив первое представление об интерфейсе программы, перейдем к обзору ее основных компонентов. Кстати, любой из них, который вы сочтете излишним, можно без труда отключить: хотите пользоваться только «ВебАнтивирусом» или «Анти-Хакером» — оставляете только тот или другой.
    В разделе «Защита» навигационного окна присутствуют следующие пункты: «Файловый Антивирус», «Почтовый Антивирус», «Веб-Антивирус», «Проактивная защита», «АнтиШпион», «Анти-Хакер» и «Анти-Спам».
    Все окна компонентов похожи одно на другое и кроме области «Статус», в которой отображается состояние всех составляющих элементов данного компонента, содержат также область «Статистика». Лишь у «Анти-Хакера» имеется дополнительная область «Мониторинг сети».

    «Почтовый Антивирус»

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

    «Проактивная защита»

    Этот компонент, осуществляя глубокий анализ поведения всех программ, установленных в системе, способен обнаружить новые, доселе неизвестные вредоносные программы еще до того, как они успеют причинить вред. Помимо анализа поведения запущенных приложений, контролируются также все изменения в системном реестре, отслеживается выполнение VBA-макросов. Алгоритмы функционирования компонента базируются на методах эвристического анализа. При этом вся подозрительная активность тщательно фиксируется в соответствующих «логах», на их основе реализуется функция отката изменений, внесенных отслеживаемым процессом в файловую систему и системный реестр, и осуществляется восстановление системы до состояния, предшествующего вредоносному воздействию, что наиболее эффективно против программ класса Spyware/Adware.

    «Веб-Антивирус»

    «Веб-Антивирус» специально разработан для предотвращения возможности заразиться вирусами, прикрепленными к скриптам, запускаемым на сайтах; кроме того, он блокирует загрузку на свой компьютер опасных объектов, порой встречающихся во время серфинга по Всемирной сети. В процессе работы «Веб-Антивирус» контролирует весь HTTP-трафик, а также перехватывает и блокирует выполнение скриптов, расположенных на web-сайтах, если, конечно, они представляют какую-либо угрозу.
    Настройки по умолчанию всех трех антивирусов достаточно просты и стандартны, в них не содержится ничего лишнего, что может осложнить их использование малоподготовленными пользователями. Имеется привычный ползунок выбора уровня защиты: высокого, среднего, низкого. Разумеется, можно выставить и собственные настройки — для этого существует «Пользовательский уровень безопасности». Да и большинство настроек по умолчанию достаточно адекватны задачам массового пользователя, разве что в «Файловом Антивирусе» рекомендуется несколько усилить защиту, дополнив перечень проверяемых типов файлов архивами и инсталляционными пакетами.
    А в «Почтовом Антивирусе» — наоборот, защита по умолчанию, по мнению автора, излишне сурова. Не будет большой беды, если мы переведем ползунок настройки в положение «низкий уровень безопасности», обеспечивающее максимальное быстродействие. В этом случае программа будет проверять только входящие почтовые сообщения (подразумевается, что сам компьютер, надежно защищенный KIS, не содержит вирусов и троянов).
    «Веб-Антивирус»
    Настройки «Почтового Антивируса»
    Несмотря на постоянную защиту от всех источников проникновения вредоносных программ, осуществляемую вышеупомянутым антивирусным «триумвиратом», совсем не лишним будет периодически проверять весь компьютер на наличие в нем вирусов. Это необходимо делать для того, чтобы исключить возможность распространения вредоносных программ, которые не были обнаружены компонентами защиты (идеальную защиту, к сожалению, пока еще не придумали).
    Для поиска вирусов следует перейти в раздел «Поиск вирусов».
    Он содержит три подраздела:

  • «Критические области». Проверка на присутствие вирусов всех критических областей компьютера без запуска полной проверки компьютера с целью максимально быстрого обнаружения в системе активных вирусов. К критическим областям относятся: системная память и объекты автозапуска, то есть исполняемые при старте системы, а также загрузочные секторы дисков, системные каталоги \Windows и \Windows\System32.
  • «Мой компьютер». Поиск вирусов на всем компьютере с тщательной проверкой каждого из подключенных дисков (включая сетевые), памяти и файлов.
  • «Объекты автозапуска». Проверка на присутствие вирусов в объектах, загрузка которых осуществляется при старте операционной системы, а также в оперативной памяти и в загрузочных секторах дисков.

    «Веб-Антивирус»

    Проверка «Моего компьютера»

    Antivirus MONitor (AMON)

    Это резидентный сканирующий модуль, постоянно находящийся в памяти ПК и оперативно сканирующий файлы на диске компьютера при попытке обращения к ним. Модуль способен работать с файлами, расположенными на съемных, жестких и сетевых дисках компьютера, а сама процедура сканирования производится при открытии, выполнении или создании файла. По умолчанию задействованы такие возможности ядра, как эвристический анализ, проверка на принадлежность к AdWare/SpyWare/RiskWare или потенциально опасным приложениям. Помимо привычных типов файлов (исполняемые, подключаемые библиотеки и т. п.) проверке подлежат самораспаковывающиеся архивы и исполняемые файлы, заархивированные специальными программами сжатия. Подозрительные объекты могут быть перемещены в зону карантина.

    Рынок антивирусных программ можно было

    Евгений Патий

    IT News

    Рынок антивирусных программ можно было считать сложившимся еще во времена доминирования на персональных компьютерах операционной системы MS-DOS, однако с появлением и распространением новых технологий и новых ОС появлялись и новые игроки — притом что и корифеи антивирусного бизнеса не переставали держать ухо востро и совершенствовать свои продукты. Сегодня акценты несколько сместились: если ранее подавляющее большинство вредоносного программного кода распространялось путем обмена файлами (при помощи дискет, компактдисков и посредством локальных сетей), то теперь основной источник угрозы — сеть Интернет.

    По большому счету, задача любой антивирусной программы — не допустить заражения или же вылечить компьютер в случае, если таковое все-таки произошло. Этим требованиям удовлетворяет подавляющее большинство продуктов, предлагаемых современным рынком, различия заключаются лишь в нюансах: удобстве использования, качестве проверки и лечения, скорости работы и объеме потребляемых вычислительных ресурсов. Речь сегодня пойдет о программе NOD32 от словацкой компании ESET (Essential Security against Evolving Threats, что дословно означает «существенная безопасность от развивающихся угроз»).

    Казалось бы, никто уже не сможет пошатнуть монолитные позиции «Лаборатории Касперского», Symantec, McAffee или Trend Micro. Но словакам это удалось, в первую очередь за счет огромной скорости работы NOD32 — именно этот фактор скорее всего отметило бы большинство продвинутых пользователей, когда-либо сталкивавшихся с NOD32.

    Компания ESET основана в 1992 году и по праву может считаться старожилом рынка IT. Разработка антивируса NOD32 началась в 1998 году, и к настоящему времени актуальная версия программы имеет индекс 2.5. Процедуру покупки или загрузки пробной версии с сайта www.eset.com

    (или www.esetnod32.ru/) опустим, как и установку антивируса, — они не содержат практически никаких «тонких» мест.

    Структурно NOD32 состоит из антивирусного алгоритма-ядра и нескольких модулей, передающих ядру поток данных для проверки.
    Ядро реализовно на основе патентованной технологии ESET ThreatSense, позволяющей обнаруживать компьютерные вирусы, троянские программы, почтовые черви, нежелательное рекламное и шпионское программное обеспечение, потенциально небезопасное ПО, попытки взлома (изменения) «благонадежного» ПО, а также попытки «фишинга». Помимо этого ядро позволяет производить глубокий эвристический анализ кода, чтобы с высокой долей вероятности (производитель заявляет о 90%) отлавливать вирусы и черви, еще отсутствующие в базе данных сигнатур антивируса NOD32.

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

    Компания ESET является владельцем веб-ресурса www.virusradar.com, который отображает статистику общей вирусной активности, а также другую полезную информацию, скажем, предупреждает о масштабах различных ожидаемых вирусных атак и предлагает прогнозы на ближайшее будущее. Так, например, на момент подготовки материала по степени потенциальной опасности лидировал почтовый червь Win32/NetSky.Q.

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

    Рынок антивирусных программ можно было

    Document MONitor (DMON)

    NOD32 использует программный антивирус Microsoft API для проверки документов MS Office (как локальных, так и открываемых в Internet Explorer) на наличие внедренных «сюрпризов». Настройка модуля подразумевает применение стандартных процедур: эвристику, принадлежность к потенциально опасным объектам и т. п., а также обычный набор действий (удаление, переименование) с зараженным объектом плюс помещение его в карантин.
    Относительно беззаботная жизнь при условии использования любого антивируса обеспечивается лишь при своевременном обновлении антивирусных баз, содержащих наиболее актуальные сигнатуры известного вредоносного кода. NOD32 выполняет смешанное обновление: проверяется наличие как новых описаний вирусов, так и обновлений для самой программы с изначально прописанных в настройках веб-сайтов.
    При обновлении обязательно потребуются логин и пароль, полученные от компании ESET при покупке продукта, без них процедура невозможна. Хотя последнее утверждение справедливо лишь при обновлении с вебсайтов, ведь возможно еще обновление с локального жесткого диска или с «зеркала» в локальной сети, которое может быть организовано, например, системным администратором, регулярно скачивающим свежие базы с сайтов ESET и параллельно выкладывающим их на сетевое «зеркало».
    Надо отметить, что создать «зеркало» можно с любого антивируса NOD32 — для этого не требуется особая «продвинутая» версия.
    Пробная проверка жестких дисков показала, что антивирус работает действительно быстро. На ноутбуке с процессором Celeron 2,4 ГГц, с 256 Мбайт оперативной памяти и 40-Гбайт жестким диском полная проверка (диск был заполнен файлами наполовину) заняла менее пяти минут — за это время прочие антивирусы зачастую способны подобраться лишь к 30–50% всего процесса.
    В чем же секрет скорости работы NOD32? Дело в том, что ядро этого антивируса написано на языке Assembler, наиболее полно задействующем возможности аппаратуры и быстро выполняющем программный код.
    По сравнению с версией 2.0 NOD32 версия 2.5 выглядит гораздо более убедительно. Известные детские болезни ушли в прошлое, что позволяет рекомендовать NOD32 тем пользователям, кому важны скорость проверки, качество сканирования и неприхотливость программы к ресурсам. Для тех же, кто сомневается, предназначена пробная 30-дневная версия — срок вполне достаточный, чтобы убедиться в возможностях NOD32.

    E-mail MONitor (EMON)

    Огромное количество вирусов попадает на ПК посредством зараженных сообщений электронной почты. Этим же путем зараженный компьютер распространяет вирус далее, как правило, всем адресатам актуальной адресной книги. NOD32 работает на уровне MAPI и способен проверять входящие и исходящие почтовые сообщения совершенно прозрачно для пользователя и для почтового клиента — в настройках учетной почтовой записи не требуется ничего изменять, хотя многие современные антивирусы требуют указывать особые промежуточные IP-адреса входящего и исходящего почтового сервера для активации возможности проверки электронной почты.
    Окно настройки модуля EMON, помимо присутствия в главном окне интерфейса NOD32, интегрируется в почтовый клиент, по крайней мере, в Microsoft Outlook. Здесь можно указать тип почтовых сообщений, подлежащих проверке, а также действия, которые будут выполнены с зараженным сообщением.

    Internet MONitor (IMON)

    Это также резидентный модуль, работающий на уровне Windows Winsock и проверяющий весь интернет-трафик, с которым приходится иметь дело данному ПК. Основная задача модуля — не допустить заражения файлов на локальных дисках при работе с протоколом HTTP или POP3. Нужно отметить, что красное окошко тревоги весьма часто появляется при интенсивном веб-серфинге, поэтому отключать IMON крайне не рекомендуется, хотя возможность деактивации каждого из модулей предусмотрена разработчиками.
    Модуль имеет весьма развитые и логичные настройки. Самое главное — порты POP3 и HTTP не ограничиваются какими-либо фиксированными значениями (стандартно 110 и 80), а могут быть изменены и дополнены. Например, если для подключения к сети Интернет используется прокси-сервер (как правило, порт 3128), то проверка трафика на 80-м порту выглядит лишней и ненужной, зато необходимо фильтровать весь трафик на порту 3128. Нелишне добавить в этот список и порт 443 — по нему происходит защищенный трафик HTTPS. Хотя антивирус обладает возможностью автоматически определять порт обмена HTTP-трафиком, но все же предосторожность в данном случае не будет излишней. Модуль определяет также изменение сетевых настроек и автоматически приспосабливается к новой конфигурации сети.
    В свое время, примерно два года назад, наблюдались проблемы при использовании возможностей модуля IMON и программы Kerio Winroute Firewall — по непонятным причинам ОС Windows XP могла совершить фатальную ошибку с синим экраном. На то время единственным решением было использование подключаемой библиотеки для KWF, задействующей проверку трафика при помощи NOD32. Кроме того, пользователи NOD32 до сих пор жалуются на значительное падение скорости веб-серфинга при фоновой проверке трафика.

    самого антивируса представляет собой модуль,

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

    Антивирусное программное обеспечение. Исследование эффективности

    Безмалый В.Ф.

    Безмалая Е.В.
    Проблему вирусов сложно назвать новой. Каждые 30 минут в мире появляется, по крайней мере, один новый вирус или новая разновидность существующего. К счастью, далеко не все появившиеся вирусы могут вызвать эпидемию. Однако пользователям компьютеров на помощь приходит специализированное программное обеспечение, призванное бороться с компьютерной инфекцией, - антивирусы.
    Существует огромное количество производителей такого программного обеспечения, и предложений на рынке антивирусов масса. Зачастую пользователю не просто выбрать, что же ему действительно нужно, что отвечает всем его требованиям и не подведёт в повседневном использовании. Мы решили разобраться в эффективности такого ПО и исследовали четыре антивирусных комплекса от различных производителей (Symantec Antivirus Corporate Edition 8.1, Kaspersky Antivirus, Ukrainian National Antivirus, Dr Web).
    Целью данного исследования являлось определение скорости проверки файлов на наличие вирусной инфекции (следовательно, и комфортность работы с ПК при использовании данного антивируса) и эффективность проверки файлов на вирусы.
    Тестирование каждого из антивирусов проводилось в 4 этапа: 2 теста на быстродействие и 2 на качество детектирования вирусов.
    Цель тестов по быстродействию заключалась в измерении скорости работы антивирусного ядра каждого из продуктов в двух режимах: настройки по умолчанию и максимальные настройки работы. Именно от скорости работы антивирусного ядра (скорости проверки одного файла) будет зависеть быстродействие каждого из модулей.
    Конечно, читатель может оспорить это утверждение, мол, у какого-то из антивирусов могут быть свои Ноу-Хау в проверке файлов на лету, благодаря чему этот антивирус будет работать быстрее даже при более медленном ядре. Но практика показывает, что это связано исключительно с настройками модулей. Если же вы зададите одинаковые параметры работы каждого из них, то разница в быстродействии будет примерно такой же, как и разница в быстродействии сканеров. А все остальные новшества, технологии проверки … сегодня они есть только у одного продукта, а завтра будут у всех, ведь разработчики антивирусов стараются не отстать друг от друга, а вот технологии работы самого антивирусного ядра, как правило, изменяются редко.
    Для тестирования антивирусов на качество детектирования вирусов было собранно две группы файлов: первая группа - ITW (In The) Wild)(ITW-вирусами называются те вирусы, которые встречались в "диком виде" (то есть у реальных пользователей, а не в лабораторных условиях или в коллекциях вирусологов) вирусы , вторая группа - сборная вирусная коллекция как новых, так и старых вирусов.

    Dr Web 4.31b

    Настройки: проверяемые объекты - все файлы, тестирование архивов и почтовых баз отключено, эвристический анализатор включен на максимум.

    DrWeb 4.31b

    DrWeb 4.31b
    Настройки по умолчанию: сканер тестирует файлы "по формату", архивы, почтовые базы, упакованные файлы и SFX-архивы. Эвристический анализатор настроен на максимальный уровень проверки.

    Kaspersky AntiVirus (KAV 4.5.0.95)

    Kaspersky AntiVirus (KAV 4.5.0.95)
    Настройки по умолчанию: сканер тестирует все файлы и проверяет архивы, почтовые базы, вложенные объекты и SFX.

    Настройки: проверяемые объекты - все файлы, тестирование архивов и почтовых баз отключено, эвристический анализатор включен на максимум.

    Методика проведения теста.

    Тест осуществляется следующим образом:
  • На "чистую" (настроенную систему, в которой отсутствуют антивирусные продукты) устанавливается тестируемый антивирусный продукт, антивирусные базы продукта доводятся до актуального состояния;
  • Запускается сканер с интерфейсом GUI (если есть несколько вариантов интерфейса, запускается профессиональный вариант), и его настройки устанавливаются в состояние максимального качества детектирования (на максимум включаются все модули эвристического сканирования, подключаются все базы);
  • В качестве объекта тестирования выбирается папка, содержащая коллекцию вирусов в виде набора инфицированных файлов, собранная для тестирования продуктов;
  • Запускается сканирование в режиме создания отчёта с записью в log-файл (без выполнения действий над инфицированными файлами);
  • По окончании выполнения тестирования полученный отчёт о тестировании сохраняется, и снимаются окончательные результаты работы: количество проверенных объектов, количество обнаруженных инфицированных файлов, количество обнаруженных "подозрительных" файлов.
  • Далее система восстанавливается к состоянию до выполнения пункта 1. и начинается тестирование следующего антивирусного продукта.

    Проверка на детектирование ITW вирусов.

    Для проведения этого теста было отобрано 593 вируса (за основу брался список, приведенный на сайте WildList.com и используемый при тестировании английским журналом Virus Bulletin. Из него были вычеркнуты вирусы, которые не встречались на территории СНГ за последние 2 месяца и добавлены те вирусы/трояны, которые не фигурируют в VB-списке, но тем не менее зафиксировано их неоднократное появление у конечных пользователей на территории СНГ), которые были зафиксированы в диком виде в течение последних 2-х месяцев.
    Этот тест был проведен на компьютере Pentium IV - 1800 256 Mb RAM с установленной операционной системой Windows XP SP1 RUS. При проведении данного теста основной задачей антивирусов было детектирование максимального количества вирусов, в связи с этим все сканеры были настроены на максимальный уровень проверки.

    Результаты проверки:


    Время 06:20
    Количество проверенных объектов 6607 (включая архивы, количество архивов антивирус не выдает).
    Скорость тестирования 17,39 файлов в секунду



    Время 11:33
    Количество проверенных объектов 11962 (включая 218 архивов)
    Скорость тестирования 17,26 файлов в секунду




    Время 04:41
    Количество проверенных объектов 5729 (включая 17 архивов)
    Скорость тестирования 20,61 файлов в секунду




    Время 15:07
    Количество проверенных объектов 7651
    Скорость тестирования 8,44 файла в секунду

    Итоговая диаграмма:
    Результаты проверки:
    Сводная таблица тестирования на быстродействие при настройках по умолчанию:

    Наименование антивируса
    Скорость тестирования (файлов в секунду)
    Всего проверено файлов
    Затраченное время, секунд
    DrWeb 17,39 6607 380
    KAV 17,26 11962 693
    UNA 20,61 5792 281
    SAV 8,44 7651 907

    Второй тест - проверка каталога с максимальными настройками, но при отключенной проверке архивов. Для тестирования использовалась та же система, что и для предыдущего теста (K6 2 - 350, Windows98 SE).



    Время 04:24
    всего объектов 3168
    Скорость тестирования 12,00 файлов в секунду




    Время 05:30
    кол-во объектов 3201 (включая 4 архива)
    Скорость тестирования 9,70 файлов в секунду




    Время 08:44
    кол-во объектов 3126
    Скорость тестирования 5,97 файлов в секунду




    Время 09:55
    кол-во объектов 3128
    Скорость тестирования 5,26 файлов в секунду

    Итоговая диаграмма:
    Результаты проверки:
    Сводная таблица тестирования антивирусов на быстродействие при максимальных настройках:

    Наименование антивируса
    Скорость тестирования (файлов в секунду)
    Всего проверено файлов
    Затраченное время, секунд
    DrWeb 12,00 3168 264
    KAV 9,70 3201 330
    UNA 5,97 3126 524
    SAV 5,26 3128 595


    Результаты тестирования приведены в сводной таблице:


    Антивирус
    % обнаружения
    Проверено
    Тел вирусов
    Подозрительных файлов
    DrWeb 97,65 596 582 1
    KAV 100,00 593 593
    UNA 100,00 593 593
    SAV 94,60 593 561

    Итоговая диаграмма
    Результаты тестирования приведены в сводной таблице:
    Таким образом, антивирусные программы DrWeb 4.31b и SYMANTEC ANTIVIRUS CORPORATE EDITION 8.1 (SAV), к сожалению, показали недостаточный уровень детектирования ITW вирусов.

    Symantec Antivirus Corporate Edition 8.1 (SAV)

    Настройки по умолчанию: сканер тестирует все файлы и проверяет архивы вложением до 3-х.

    Настройки: проверяемые объекты - все файлы, тестирование архивов и почтовых баз отключено, эвристический анализатор включен на максимум.

    Тест на развернутой коллекции вирусов

    Этот тест был проведен на той же системе, что и ITW-тест (Pentium IV - 1800 256RAM ОС Windows XP). Для тестирования использовался расширенный набор вирусов. Размер коллекции составлял около 2.5 Gb и насчитывал более 30 тысяч инфицированных файлов. Как и в предыдущем тесте, главной задачей антивирусов было детектирование максимального количества инфицированных файлов.
    Результаты тестирования приведены в сводной таблице:

    Наименование антивируса
    Обнаружено тел вирусов
    Обнаружено модификаций вирусов
    Обнаружено подозрительных файлов
    Всего файлов проверено
    DrWeb
    KAV
    UNA
    SAV
    Тест не пройден
    27930 472 720 31372
    30814 7 18 31262
    30976 62 31206

    С SYMANTEC ANTIVIRUS CORPORATE EDITION 8.1 (SAV) получилось следующее: антивирусу, как и всем остальным его конкурентам, было дано задание протестировать папку, содержащую файлы с вирусами, в режиме "только отчёт". В то время как остальным антивирусам для этого потребовалось около 30 минут (DrWeb - 30:05, KAV - 30:12, UNA - 25:14) Symantec Antivirus затратил на эту операцию 934 минуты (!), и при этом тестирование ещё не было завершено. У нас попросту закончилось терпение, и мы так и не дождались окончательных результатов. К тому моменту, как Symantec Antivirus был остановлен, он успел протестировать 29966 файлов и в них нашёл 26233 инфицированных файла.
    Тест на развернутой коллекции вирусов
    Итоговая диаграмма:
    Тест на развернутой коллекции вирусов
    Целью данной работы была проверка быстродействия сканеров антивирусов и эффективности (умения распознавать вирусы) у различных продуктов. Выводы же, какой антивирус лучше использовать, каждый из нас сделает для себя сам.

    Тесты на быстродействие

    Для этой цели был использован компьютер AMD K6-2/350 с установленной ОС Windows 98. Объем оперативной памяти - 128 Mb. Выбор такого слабого компьютера обусловлен следующим: как правило, в современных вычислительных системах порог быстродействия антивируса ограничивает не загрузка процессора, а скорость работы дисковой подсистемы (то есть какой объём данных система успеет предоставить антивирусу на проверку в единицу времени). Процессор же, как правило, загружен на 50-70%. Таким образом, сложно проводить сравнительный тест на быстродействие, так как разрыв будет составлять всего несколько процентов, в то время как дискомфорт работы в такой системе (во время работы антивируса) измерить цифрами практически невозможно (разве что отслеживать график загруженности процессора при работе того или иного антивируса). На медленной же системе процессор практически всегда будет загружен на 100%, и разница в скорости работы антивирусов будет выражаться во времени выполнения задания. Далее дело техники: заставляем антивирусы при одинаковых настройках проверить одну и ту же папку, засекаем время и сравниваем.
    Перед началом тестирования все антивирусы были приведены в актуальное состояние (обновлены через Интернет). В ходе тестов проверялся каталог Windows операционной системы Windows 98 SE RUS. Тестирование проводилось на этой же системе.
    Первый тест - проверка каталога с настройками, которые установлены в сканере по умолчанию. В ходе проверки для каждого из антивирусов получены следующие результаты.

    Ukrainian National Antivirus (UNA 1.83 kernel 246)

    Ukrainian National Antivirus (UNA 1.83 kernel 246)
    Настройки по умолчанию: сканер тестирует "расширенный набор" файлов и проверяет архивы. Эвристический анализатор отключен.

    Настройки: проверяемые объекты - все файлы, тестирование архивов и почтовых баз отключено, эвристический анализатор включен на максимум.

    IPS — теперь в антивирусах

    Аббревиатура IPS (Intrusion Prevention System — система предотвращения вторжений) традиционно используется в контексте защиты сетевого периметра от внешних злоумышленников (хакеров). Однако благодаря усилиям антивирусных компаний сегодня можно говорить и о предотвращении вторжений вредоносных программ.
    Технология IPS действительно является «более или менее» проактивной — ведь она позволяет предотвратить попадание на компьютер вирусов и червей, а также защититься от хакерских атак. Достигается это посредством своевременной блокировки отдельных портов (например, тех, через которые на компьютер попадает опасный на данный момент червь), запрета доступа к определенным файлам и папкам и т. д. В определенном смысле такие административные ограничения напоминают «безопасность на основе политик», рассмотренную выше, хотя антивирусные поставщики, использующие IPS, позиционируют себя отдельно. Следует отметить, что технология IPS бессильна сделать что-либо против почтовых червей, файловых вирусов и вирусов-троянцев. Однако эту технологию активно используют «Лаборатория Касперского», Symantec, Panda и Trend Micro.

    Таким образом, проактивными технологиями сегодня

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

    Эвристический анализатор: классика жанра

    На самом деле сигнатурному подходу никогда не принадлежала монополия на борьбу с вирусами. Наиболее достойным конкурентом этой технологии традиционно считался эвристик.
    Эвристический анализатор (эвристик) — это антивирусный модуль, который анализирует код исполняемого файла и определяет, инфицирован ли проверяемый объект. Во время эвристического анализа не используются стандартные сигнатуры. Напротив, эвристик принимает решение на основе заранее в него заложенных, иногда не совсем четких правил.
    Для большей наглядности такой подход можно сравнить с искусственным интеллектом, самостоятельно проводящим анализ и принимающим решения. Тем не менее такая аналогия отражает суть лишь отчасти, поскольку эвристик не умеет учиться и, к сожалению, обладает низкой эффективностью. По оценкам антивирусных экспертов, даже самые современные анализаторы не способны остановить более 30% вредоносных кодов. Еще одна проблема — ложные срабатывания, когда легитимная программа определяется как инфицированная.
    Однако, несмотря на все недостатки, эвристические методы по-прежнему используются в антивирусных продуктах. Дело в том, что комбинация различных подходов позволяет повысить итоговую эффективность сканера. Сегодня эвристиками снабжены продукты всех основных игроков на рынке: Symantec, «Лаборатории Касперского», Panda, Trend Micro и McAfee.
    Заметим, эвристические анализаторы, безусловно, являются проактивной технологией. Правда, они известны продолжительное время, а упор на проактивность разработчики стали делать совсем недавно.

    Политика как основа безопасности

    Очевидно, построение эффективной системы защиты подразумевает создание политики IT-безопасности. Этот документ определяет четкие рамки: кому и что запрещено делать, а также кому и что следует делать. Чаще всего в политику попадают административные ограничения, например на использование мобильных устройств и внешних накопителей в корпоративной сети.
    Некоторые антивирусные разработчики отошли от классического понимания «политики» и предлагают своим клиентам «безопасность на основе политик» (policy-based security). Так, компания Trend Micro продвигает Outbreak Prevention Services. В рамках этого подхода пользователь получает набор политик (ограничений), которые позволяют защититься от нового вируса до появления обновлений к антивирусной базе или заплатки для открытой уязвимости. Таким путем разработчик пытается сократить отрезок времени, в течение которого клиенты являются полностью беззащитными перед новой угрозой. Стоит также отметить, что политика (в данном контексте) — это лишь временная защита, призванная сдержать эпидемию до подхода «тяжелой артиллерии».
    Однако подход, предложенный Trend Micro, вряд ли можно назвать эффективным. Во-первых, далеко не факт, что для создания политики экспертам требуется намного меньше времени, чем для создания вакцины (сигнатурного обновления антивирусных баз). Ведь чтобы понять, какие бреши в операционной системе или способы заражения использует вирус, все равно необходимо анализировать его код. Во-вторых, в некоторых случаях может возникнуть проблема смены политик. Особенно когда новые политики поступают слишком часто. Пользователи начинают путаться в том, что можно делать, а что — нет.
    Таким образом, подход на основе политик призван компенсировать относительно низкую скорость реакции антивирусной лаборатории TrendLab на появление новых угроз. Кроме того, данная технология не является проактивной, так как все равно существует промежуток времени, в течение которого пользователь остается без защиты, да и для создания самой политики точно так же, как и для выпуска сигнатуры, требуется проводить анализ вредоносного кода.

    Еще один интересный метод защиты предлагают компании Cisco и Microsoft. Речь идет о карантинной зоне, в которую попадают компьютеры, не удовлетворяющие требованиям политики IT-безопасности, но все равно пытающиеся подключиться к корпоративной сети. Например, если удаленный пользователь стремится войти в сеть своего работодателя, то его компьютер проходит сканирование на предмет наличия актуальной базы антивирусных сигнатур, обновлений операционной системы и т. д. По результатам проверки служащему может быть предоставлен доступ только к карантинной зоне — серверу, с которого можно скачать необходимые обновления. После этого можно снова попытаться подключиться к корпоративной сети. Такой подход тоже не является проактивным, поскольку сводится к антивирусной проверке с использованием обновленной базы сигнатур. Тем не менее идея, лежащая в основе карантинной зоны, подкупает своей очевидностью и эффективностью: если в операционной системе есть незакрытые бреши или антивирус уже устарел, то о какой безопасности может идти речь?

    Поведенческие блокираторы

    Еще один проактивный подход, известный так же, как и эвристические анализаторы, это поведенческие блокираторы. Суть технологии в том, чтобы анализировать поведения программы во время исполнения и блокировать те действия, которые являются опасными. Тут же возникает вопрос: «Какие действия следует считать вредоносными?» Разработчики первых блокираторов поступили очень просто: если программа пытается сделать что-то подозрительное, надо обратиться за советом к пользователю. В результате львиная доля ответственности за принимаемые решения перекладывалась на человека, которому действительно приходилось изучать информационные окошки антивируса и выбирать между кнопками: «разрешить» или «запретить». Естественно, огромное количество ложных (или спорных) срабатываний привело к тому, что данная технология была просто отодвинута на задний план «до лучших времен».
    Но в истории антивирусной индустрии есть, по крайней мере, один пример эффективного поведенческого блокиратора. Речь идет о Kaspersky Office Guard. Обойтись без участия пользователей разработчикам удалось только потому, что они сузили область проверяемых объектов — блокиратор защищал только от макровирусов, «живущих» в офисных документах. Более того, «Лаборатория Касперского» довела эффективность анализа VBA-программ (кода, работающего в среде Microsoft Office) до такой степени, что гарантировала практически 100%-ную защиту от макровирусов. Сомневаться в этом не приходится, так как анализировать поведение макросов несравнимо легче, чем обычных EXE-программ. Однако никто из конкурентов такой подход не реализовал. Конечно, эпоха макровирусов уже прошла, ее пик пришелся на вторую половину 1990-х, и сегодня макровредитель является большой редкостью, к тому же детектируется обычным сигнатурным сканером.
    Некоторое время назад антивирусная индустрия снова вернулась к технологии анализа поведения программ. Немного повысить качество результатов удалось за счет проверки на допустимость не каждой операции в отдельности, а последовательности действий программы. При этом эксперты избавили пользователя от участия в самом процессе и смирились с невысокой в целом эффективностью поведенческих блокираторов. Точно так же, как и эвристический анализ, данный подход способен дать более-менее приемлемый результат только в комбинации с другими технологиями.
    Отметим, что поведенческие блокираторы являются в полной мере проактивными, так как позволяют бороться с неизвестными вредителями, сигнатуры которых не внесены в антивирусную базу. Сегодня этот подход нашел свое место в продуктах «Лаборатории Касперского», Panda и Cisco.

    Проактивные подходы различных поставщиков

    Одной из первых компаний, создавших действительно проактивную систему защиты на основе поведенческого блокиратора, была Okena. В 2003 году ее поглотила корпорация Cisco, в результате чего продукт Okena StormFont превратился в Cisco Security Agent. По мнению антивирусных экспертов, это классический поведенческий блокиратор для использования в корпоративной среде. В отличие от многих других продуктов, он требует предварительной настройки квалифицированным администратором.
    Еще одним проактивным поставщиком сегодня является компания McAfee. Семейство продуктов McAfee Entercept включает в себя систему предотвращения вторжений (IPS) и защиту от переполнения буфера. Компания также предлагает своим клиентам эвристическую, а значит проактивную, технологию WormStopper. С ее помощью можно выявлять некоторые новые почтовые черви, а также блокировать подозрительную активность (например, массовую и неавторизованную рассылку писем по контактным данным из адресной книги).
    Продукты компании Panda тоже имеют проактивные модули. К примеру, Panda TruPrevent состоит из эвристического анализатора, поведенческого блокиратора и системы обнаружения вторжений (IDS). Эвристик служит для выявления новых вредителей, блокиратор — для анализа запущенных процессов, а IDS — для борьбы с червями. Продукт не требует сложной настройки и подходит для домашних пользователей.
    Гигант антивирусной индустрии, компания Symantec, предлагает своим клиентам эвристический анализатор, систему предотвращения вторжений (IPS) и услугу оповещения о новых угрозах. Первые два вида технологий рассмотрены выше, поэтому упомянем лишь программу Outbreak Alert, входящую в состав Norton Internet Security 2005 и сообщающую пользователю о новых угрозах. Кроме того, компания предлагает услугу Early Warning Services (EWS), которая позволяет получать ранние оповещения об обнаруженных уязвимостях.
    Проактивные подходы различных поставщиков
    В состав Norton Internet Security входит программа Outbreak Alert, сообщающая пользователю о новых угрозах
    Компания Trend Micro тоже включила проактивные модули в состав PC-cillin Internet Security 2005.

    Проактивные технологии для борьбы с вирусами

    Алексей Доля

    "Экспресс Электроника"

    Термин «проактивность» ворвался в лексикон антивирусных компаний как ураган. Меньше чем за год поставщики стали «проактивными», а продаваемые ими продукты неожиданно научились «защищать от еще не существующих угроз». Между тем практика показывает, что каждый разработчик вкладывает свой собственный смысл в понятие «проактивность», а декларируемые возможности проактивных продуктов несколько ниже, чем может показаться на первый взгляд.
    Уже более 20 лет основной технологией борьбы с вредоносными кодами является сигнатурное сканирование. Его суть проста — вирусописатель выпускает свое очередное творение, антивирусная лаборатория ловит и анализирует вредителя, а потом создает вакцину и рассылает ее на компьютеры пользователей. Эта вакцина и есть та искомая сигнатура, которая позволяет антивирусному сканеру точно идентифицировать вирус в океане программ. Легко заметить главную слабость только что описанного метода: белыми в этой партии играет злоумышленник, в то время как экспертам и домашним пользователям остается лишь защищаться. С научной точки зрения, такой подход можно назвать реактивным, так как действия антивирусного сообщества лишь реакция на активность противника.
    Введя новый термин (проактивные технологии), разработчики хотели подчеркнуть, что теперь ситуация изменилась и право первого хода перешло к антивирусным экспертам. Другими словами, проактивный подход противопоставляется классическому сигнатурному сканированию. При этом каждый поставщик имеет собственное понятие о проактивности и зачастую вкладывает в него совершенно оригинальный смысл. Рассмотрим подробнее антивирусные технологии, которые сегодня позиционируются как проактивные.

    Защита от переполнения буфера

    Суть технологии в том, чтобы не допустить переполнения буфера в наиболее популярных сервисах и программах, например системных службах Windows, приложениях Microsoft Office, браузере Internet Explorer и СУБД SQL Server. В результате вредоносный код при всем желании не сможет воспользоваться уязвимостью определенного программного обеспечения (то есть будет не в состоянии вызывать переполнение буфера). Таким образом, данную технологию можно с полным правом назвать проактивной, а с учетом того, что переполнение буфера является популярным среди вирусописателей приемом, этот метод защиты еще и эффективен. Сегодня своим клиентам данную технологию предлагает только McAfee.

    Amn Task Manager

    Amn Task Manager - утилита для управления процессами в операционных системах Microsoft Windows 95/98/Me (NT/2000/XP не поддерживаются). Основной упор в программе сделан именно на управление процессами. Amn Task Manager позволяет запускать программы, открывать документы, управлять приоритетами процессов, их окнами, а также завершать процессы.
    Среди набора функций есть и уникальные, такие как список завершенных процессов (позволяет стартовать уже завершившиеся процессы, а также обнаруживать "незванных гостей") или Text mode Terminator, позволяющий снимать зависшие процессы даже в том случае, когда GUI завис.

    Как вирус попадает в память?

    Прежде всего, следует помнить, что вирус - это тоже программа, и для работы ей необходимо находиться в памяти. Работающий в памяти вирус становится одним из процессов Windows. Для того чтобы вирус попал в память, кто-то должен его запустить. Этих "кого-то" не так уж и много: загрузочный сектор HDD, "Автозагрузка", раздел реестра, сам пользователь и одна из программ, в которую внедрился вирус. Как правило, пользователь может запустить вирус один раз (непосредственно или косвенно в программе), и дальше вирус начнет размножаться и работать.
    Из загрузочного сектора вирус попадает в память вместе с ОС в начале загрузки ПК.
    В "Автозагрузку" он попадает в редких случаях. В реестре он может запускаться из ключа HREY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    или

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \Windows\CurrentVersion\Run.
    В первом ключе находятся обычные программы, которым нужно автоматически запускаться вместе с ОС.
    Как вирус попадает в память? Как вирус попадает в память?
    Во втором находятся служебные программы и драйверы, которые запускаются первыми. В большинстве случаев вирус попадает в память с помощью составных системных или прикладных программ, зараженных вирусом.
    В таких ОС, как Windows 98/ME, для распространения вируса по системным файлам нет никакой преграды. Но в Windows 2000/XP есть служба защиты системных файлов - то есть, если провести какие-либо изменения или удалить системный файл, то служба автоматически восстановит его и отобразит данное событие в системном журнале.
    Прежде чем приступить к определению имени процесса, принадлежащего вирусу, необходимо обратить внимание на то, что вы можете по ошибке завершить и служебный процесс. Результат данного действия предсказать тяжело (это зависит от того, какой процесс завершить). К примеру, может зависнуть ПК. Или же исчезнет "Индикатор языка клавиатуры". Но в любом случае ваши личные файлы останутся целыми, пострадает только ОС (эта проблема решается простой ее переустановкой). Чтобы избежать таких ситуаций, необходимо в ОС Windows 2000/ХР не завершать процессы, которые запущены не от вашего имени. В ОС Windows 98/МЕ при использовании программы Amn Task Manager нужно обратить внимание на столбец "Авторские права". Процессы c авторскими правами, принадлежащими компании Microsoft, завершать не следует.

    На первый-второй рассчитайсь

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

    NO PASARAN

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

    Определение процесса вируса в ОС Windows 2000/ХР

    В этих ОС удалить вирус проще. Как уже было сказано, у них есть служба защиты системных файлов. Это значит, что ОС не даст заменить свои системные файлы какой-нибудь программе. Если такие попытки были, пользователь может узнать об этом при помощи программы "Просмотр событий". К сожалению, эта защита не дает 100-процентной надежности.
    Определение процесса вируса в ОС Windows 2000/ХР
    Теперь можно приступить к определению процесса, принадлежащего вирусу. Здесь программа Amn Task Manager не поможет, потому что она просто не способна работать в этих ОС. Нужно воспользоваться средствами ОС, то есть программой "Диспетчер задач" Windows.
    В ней необходимо обратить внимание на процессы, которые запущены от вашего имени,- они, собственно, и являются подозреваемыми. Теперь для удобства отключаются все программы, которые стоят в "Автозагрузках", и перезагружается ПК. Из числе тех процессов, что остались, исключаются системные (они запускаются от имени пользователя): taskmgr.exe, ctfmon.exe, explorer.exe, wcmdmgr.exe. Дальше можно завершить работу наших подозреваемых процессов. После просто нужно запускать и завершать работу всех приложений, которые есть на ПК. Появившийся и оставшийся процесс является вирусом.

    Определение процесса вируса в ОС Windows 98/ME

    Зная, как вирус попадает в память, приступим к определению имени процесса, принадлежащего вирусу. Определить процесс необходимо в первую очередь, поскольку важно знать, какой из множества процессов принадлежит вирусу. Если этого не сделать, то все попытки исцеления ПК ни к чему не приведут. Если просто заменять зараженные файлы незараженными, то для вируса не будет никакой преграды на пути его внедрения в файл - это ходьба по замкнутому кругу.
    В ОС Windows 98/ME можно воспользоваться программой Amn Task Manager, предназначенной для мониторинга и управления процессами в Windows 95/98/Me (или аналогичной по выполнению действий).
    Она покажет, какие программы находятся в памяти, и сможет убрать оттуда любую из этих программ. В окне Amn Task Manager показаны все процессы, которые выполняются в памяти. Теперь нужно понять, какой из них является собственно вирусом. Для этого в программе Amn Task Manager необходимо просмотреть авторские права и описание программ, которые присутствуют в памяти (вирусы не имеют в себе такой информации, поскольку их код должен быть небольшим, насколько это возможно). Для просмотра нужно добавить в окно программы столбцы Авторские права и Описание файла в окне Настройка =>Опции =>Процессы (Завершенные процессы).
    Процессы с отсутствующими "Авторскими правами" и "Описанием файла" являются подозреваемыми. После исключения из них тех, что запустили лично вы, и тех, что стоят в "Автозагрузке" (по вашей воле), нужно запомнить их или записать. Дальше необходимо завершить работу "подозреваемых процессов". После этого просто запускаются любые программы, что есть у вас на ПК, и завершается их работа. В конце можно посмотреть, появился ли хоть один из подозреваемых процессов в памяти. Тот, что появился и остался, и является вирусом.
    С помощью программы Amn Task Manager можно определить, какой процесс был запущен вирусом. Для этого нужно вызвать контекстное меню на процессе вируса и выбрать там "Найти предка" - тогда выделенная линия переместится на интересующий нас процесс. Эта функция программы дает возможность узнать, где сидит вирус. К примеру, если этим процессом является Explorer - значит, вирус был запущен из "Автозагрузки". В противном случае - это было сделано зараженной программой. Не исключено заражение самого Explorer'а - тогда предком должен быть MSGSRV32. И так далее - по цепочке до самого компонента ядра ОС (файл KERNEL32.DLL), в него тоже может внедриться вирус.

    Сам себе антивирус

    Дмитрий Комащенко, "Комиздат"
    При использовании любых антивирусных программ необходимо постоянно устанавливать обновленные базы вирусов - для гарантии того, что антивирусная программа сможет отловить новый, ранее не известный ей вирус. Со временем большинству пользователей надоедает такая забота и слежение. Обновление антивирусных баз прекращается, защита от ослабевает - и вирусам дается шанс, который они зачастую и используют.
    И вот, подхватив вирус, жертва не знает, что делать. Но к счастью ее, с некоторыми вирусами в Windows можно бороться самостоятельно.

    Удаление вирусов

    Если удалось определить имя процесса в памяти, принадлежащего вирусу, можно "исцелять" ПК. Производится перезагрузка ПК и освобождение памяти от вируса. Нужно проверить наличие запуска этого процесса в "Автозагрузке" кнопки "Пуск" всех пользователей. Также необходимо посмотреть наличие запуска в программе "Настройка системы" (команда msconfig). Автозагрузка - это не единственное место, где он может быть, но убедиться нужно. Дальше находятся все "измененные" EXE-файлы за последний месяц или лучше за два месяца с помощью программы поиска. Все найденное можно скопировать в один каталог. Дальше проверить программы на наличие в них вируса поможет файловый менеджер FAR (или Norton Commander). В коде программы ведется поиск строки
    This program cannot be run in DOS mode или
    This program must be run under Win32.
    Необходимо отметить, что одна из этих строк обязательно присутствует в начале кода программы. Задача заключается в том, чтобы найти еще одну такую строку. Если строка найдена - значит, в этот файл внедрился вирус. Дальше нужно проверить все найденные файлы подобным способом. После того как вы узнали, какой из файлов заражен, они заменяются незараженными (выполняется с помощью простого копирования файлов). Для этого вам понадобится другой ПК без вируса. Если такого ПК нет, вам придется удалить зараженные файлы и переустановить те приложения (по необходимости и ОС), из которых вы их удалили (не делайте деинсталляцию программ, вы можете запустить вирус!).
    Удаление вирусов Удаление вирусов
    В случае, когда вы не нашли процесса в памяти, то вирус у вас работает только в момент запуска зараженной программы и, выполнив свои действия, завершается. В ОС Windows 98/ME его можно увидеть в закладке "Завершенные процессы", а в Windows 2000/ХР увидеть нельзя (имея только встроенные средства). Бороться с ним нужно так же, как и в предыдущем случае, разве что имя процесса знать не нужно.
    Когда вы выполнили все описанные выше действия по удалению вируса из ПК, а вирус снова размножается и работает, то, скорее всего, к вам попал загрузочный вирус. Его удаление в ОС Windows 98/ME происходит путем перезаписи загрузчика (команда FDISK /MBR). Ее можно выполнять и при работе в среде Windows (через сеанс MS-DOS). В случае с ОС Windows 2000/ХР нужны дискеты аварийного восстановления. Загрузившись из них, выполните команду:
    Fixboot <имя загрузочного диска>

    Борьба с вирусами: опыт контртеррористических операций

    Крис Касперски,
    журнал "Системный администратор"

    Не рой другому яму, чтобы он не
    использовал ее как окоп!

    Солдатская мудрость

    …Червю LoveSan, разрушительной
    силой своей эпидемии побудившему меня
    написать эту статью, посвящается…

    Автор

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

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

    Что нам потребуется?

    Анализ вирусного кода требует обширных значений из различных областей программирования, а также специализированного инструментария, без которого исследовательская работа рискует превратиться в орудие средневековой пытки. По этому поводу вспоминается один анекдот: "Наташа, вас по точке схождения двух прямых веслом не били? Ну, тогда вы нас навряд ли поймете". Все это отпугивает новичков, которые порой даже и не пытаются взять в руки дизассемблерный меч, считая, что борьба с вирусами слишком сложна дня них. Однако это предположение неверно. Бесспорно, наивно надеяться на то, что искусству дизассемблирования можно научиться за одну ночь, но вот пары недель упорного труда для достижения поставленной цели должно оказаться достаточно.
    Знание языка ассемблера – древнейшего языка программирования – обязательно. И одних лишь учебников в стиле "ASSEMBLER" Юрова и "Программируем на языке ассемблера IBM PC" Рудакова для его освоения катастрофически недостаточно, поскольку всякий язык познается лишь при общении вживую. Сходите на любой системно-ориентированный сайт (например, www.wasm.ru) и попытайтесь ухватить суть ассемблера извне, а не изнутри. На форумах, где дикие люди произносят непонятные слова, ругаются матом и обсуждают репродуктивные рецепторы вирусов, витает особый системный дух, делающий все сложное таким простым и понятым.
    В конечном счете, ассемблер – это всего лишь язык, причем очень и очень простой. Некоторые даже сравнивают его с эсперанто: десяток команд - и вы уже можете сносно говорить. Единственная сложность состоит в том, что вирусы, в отличие от нормальных программ, содержат множество ассемблерных "извращений", смысл которых понятен только посвященным. Для непосвященных же это – интеллектуальный вызов! Это увлекательные логические (и психологические!) головоломки; это бессонные ночи, горы распечаток, яркие озарения и ни с чем не сравнимые радости найденных вами решений! Хотя если говорить честно… все уже украдено до нас, тьфу, все головоломки давным-давно разгаданы, а задачки – решены.
    Ресурсы глобальной сети к вашим услугам! Посетите сайт удивительного человека и исследователя программ Марка Русиновича – http://www.sysinternals.com, а также отыщите его книгу "Внутреннее устройство Windows 2000". Еще вам пригодится знаменитый Interrupt List Ральфа Брауна, – хорошо структурированный справочник по портам, ячейкам памяти и прерываниям (включая недокументированные). Последниеверсии Platform SDKи DDKот Microsoft и Basic Architecture Instruction Set Reference System Programming Guide от Intel иметьобязательно. Русские переводы технической документации, которые заполонили книжные магазины, годятся разве что для студентов, работающих над очередным рефератом, который все равно не читают, а вот для реальной работы они не пригодны.

    Из инструментария вам в первую очередь понадобиться хороший отладчик и дизассемблер. Конечно, свой выбор каждый волен делать сам, но ничего лучше soft-ice от NuMega (www.numega.com) и IDA PRO от Ильфака Гуильфанова (www.idapro.com) еще никто не видел. Оба этих продукта относятся к классу тяжелой артиллерии и по сложности своего управления ничуть не уступают таким софтерверным монстрам как, например, Photo Shop или Corel DRAW! Равно как изучение интерфейса Photo Shop'а не заменяет собой освоения техники рисования, так и искусство владения отладчиком/дизассемблером не ограничивается чтением штатной документации. Ищите в магазинах "Отладка Windows-приложений" Джона Роббинса, "Отладчик soft-ice" Романа Айрапетяна, "Образ мышления – дизассемблер IDA" Криса Касперски и "Фундаментальные основы хакерства – искусство дизассемблирования" его же.

    Идентификация упаковщика и автоматическая распаковка

    Упаковка исполняемых файлов "навесными" упаковщиками была широко распространена еще во времена господства MS-DOS и преследовала собой следующие цели: а) уменьшение размеров программы на диске; б) сокрытие текстовых строк от посторонних глаз; в) затруднение анализа программы; г) "ослепление" сигнатурного поиска.
    Два последних пункта стоит отметить особо. Напрямую дизассемблировать упакованную программу нельзя. Прежде исследователю предстоит разобраться с упаковщиком, зачастую построенном по весьма нетривиальным алгоритмам, а также содержащим большое количество разнообразных приемов против отладчиков и дизассемблеров. Также существуют и полиморфные упаковщики, генерирующие машинный род распаковщика на "лету" и делающие зашифрованные экземпляры одной и той же программы непохожими друг на друга.
    Для борьбы с упаковщиками было создано большое количество автоматических распаковщиков, работающих по принципу трассировки исполняемого кода и отслеживания момента передачи управления на оригинальный код. Для борьбы с антиотладочными приемами использовалась технология эмуляции процессора, обхитрить которую было не так-то просто, хотя и возможно, но на этот случай в некоторых из распаковщиков был предусмотрен режим ручной распаковки, в котором распаковывалось все, что только было можно распаковать.
    С переходом на Windows многое изменилось. Количество упаковщиков резко возросло, но ни одного универсального распаковщика до сих пор так и не появилось, а потому анализ упакованных файлов представляет собой одну из актуальнейших проблем современной антивирусной индустрии.
    Если при дизассемблировании исследуемого файла большую часть исполняемого кода дизассемблер представил в виде дампа или выдал на выходе бессмысленный мусор (неверные опкоды команд, обращения к портам ввода/вывода, привилегированные команды, несуществующие смещения и т .д.), то файл скорее всего упакован и/или зашифрован. Зачастую расшифровщик крайне примитивен и состоит из десятка-другого машинных команд, смысл которых понятен с первого взгляда.
    В таком случае распаковать файл можно и самостоятельно. Вам даже не придется выходить из дизассемблера, – всю работу можно выполнить и на встроенном языке (если, конечно, ваш дизассемблер поддерживает такой язык). Для расшифровки простейших "ксорок" хорошо подходит HIEW, а задачи посложнее решаются с помощью IDA. Подробное изложение методики расшифровки исполняемых файлов вы найдете в книге "Образ мышления – дизассемблер IDA" Криса Касперски.

    .text:004010DA loc_4010DA:                  ; CODE XREF: sub_401090+58vj .text:004010DA         mov    dl, [esp+ecx+0Ch]    ; загрузить в DL след. байт

    .text:004010DE         xor    dl, 66h              ; расшифровать по XOR 66h

    .text:004010E1         mov    [esp+ecx+0Ch], dl    ; положить на место

    .text:004010E5        inc    ecx                  ; увеличить счетчик на единицу

    .text:004010E6         cmp    ecx, eax             ; еще есть что расшифровывать?

    .text:004010E8         jl     short loc_4010DA     ; …если да, то мотаем цикл

    .text:004010EA loc_4010EA:                       ; CODE XREF: sub_401090+48^j

    Листинг 1 Пример типичного "ксорного" расшифровщика с комментариями

    Если же код расшифровщика по своей дремучести напоминает непроходимый таежный лес, у исследования есть все основания считать, что исследуемая программа упакована одним из навесных упаковщиком, к которым, в частности, принадлежат ASPack, UPX, NeoLite и другие. Отождествить конкретный упаковщик при наличии достаточно опыта можно и самостоятельно (даже полиморфные упаковщики легко распознаются визуально, стоит только столкнуться с ними три-пять раз кряду), а во всех остальных случаях вам помогут специальные сканеры, самым известным (и мощным!) из которых является бесплатно распространяемый PE-SCAN (http://k-line.cjb.net/tools/pe-scan.zip). Давайте возьмем файл с вирусом Worm.Win32.Lovesan (также известный под именем MSblast) и натравим на него PE-SCAN. Сканер тут же сообщит, что вирус упакован упаковщиком UPX, который можно скачать с сервера upx.sourceforge.net, а при нажатии на кнопку "OEP" определит и адрес оригинальной точки в файл (в данном случае она равна 0x00011CB).


    Ну, коль скоро мы знаем имя упаковщика, найти готовый распаковщик не составит больших проблем ("UPX" + "unpack" в любом поисковике)[1]. С другой стороны, знание оригинальной точки входа в файл позволяет установить на этот адрес точку останова, и тогда в момент передачи управления только что распакованному файлу, отладчик немедленно всплывет (внимание! установка программной точки останова с кодом CCh в подавляющем большинстве случаев приводит к краху распаковщика, для предотвращения которого следует воспользоваться аппаратными точками останова; за подробностями обращайтесь к руководству пользователя вашего отладчика, в частности, в soft-ice установка аппаратной точки останова осуществляется командой BPM адрес X).

    Идентификация упаковщика и автоматическая распаковка

    Рисунок 4 PE-SCAN в действии

    А как быть, если PE-SCAN не сможет определить оригинальную точку входа или ни один из найденных вами распаковщиков не справляется с данным файлом? Если исследуемый файл хотя бы однократно запускался (то есть ваша машина уже

    потенциальна заражена) можно взять ProcDump(http://ProcDump32.cjb.net)и, запустив распаковываемый файл еще раз, снять с него полный дамп памяти (Task -> имя процесса -> Dump Fill). Конечно, чтобы полученный дамп превратился в полноценный PE-файл, над ним придется как следует поработать "руками", но для дизассемблирования сойдет и так. Шансы распаковать файл без его запуска средствами ProcDump относительно невелики, да и качество распаковки оставляет желать лучшего. Зачастую распакованный файл не пригоден даже для дизассемблирования, не то что запуска!

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


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

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



    основные функции стартового кода основные потенциально опасные функции
    GetVersion CreateFileA,
    GetVersionExA RegOpenKeyA
    GetCommandLineA RegOpenKeyExA
    GetModuleHandleA LoadLibraryA
    GetStartupInfoA FindFirstFileA
    SetUnhandledExceptionFilter FindFirstFileExA
    Таблица 1 Функции, помогающие перехватить управление у распакованного вирусного кода, получившего управление

    Давайте продемонстрируем технику ручной распаковки на примере анализа вируса I-Worm.Sobig.f. PE-SCAN показывает, что он упакован полиморфным упаковщиком TeLock 0.98 (http://egoiste.cjb.net/), однако найти готовый распаковщик в Интернете для этой версии не удается (те, что есть, не распаковывают файл совсем или распаковывают его неправильно). Пошаговая трассировка распаковщика (равно как и попытки анализа алгоритма распаковки) заводят нас в никуда, ибо код оказывается слишком сложен для начинающих (а вот опытные программисты получают от его реконструкции настоящее удовольствие, ибо упаковщик весьма неплох). Просмотр дампа в HEX-редакторе также не показывает ничего подозрительного. Тупик…

    А теперь на сцену выходит наш прием с контрольными точками: и исследуемая программа тотчас ловится на GetModuleHandleA и CreateFileA.


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

    001B:00419561 62 6C 65 00 00 00 00 62-61 73 65 36 34 00 00 53 ble....base64..S
    001B:00419571 4D 54 50 00 00 00 00 74-63 70 00 74 65 78 74 2F MTP....tcp.text/
    001B:00419581 70 6C 61 69 6E 00 00 69-73 6F 2D 38 38 35 39 2D plain..iso-8859-
    001B:00419591 31 00 00 51 55 49 54 0D-0A 00 00 45 48 4C 4F 20 1..QUIT....EHLO
    001B:004195A1 25 73 0D 0A 00 00 00 50-61 73 73 77 6F 72 64 3A %s.....Password:
    001B:004195B1 00 00 00 55 73 65 72 6E-61 6D 65 3A 00 00 00 41 ...Username:...A
    001B:004195C1 55 54 48 20 4C 4F 47 49-4E 0D 0A 00 00 00 00 4D UTH LOGIN......M
    001B:004195D1 41 49 4C 20 46 52 4F 4D-3A 20 3C 25 73 3E 0D 0A AIL FROM: <%s>..
    001B:004195E1 00 00 00 52 43 50 54 20-54 4F 3A 20 3C 25 73 3E ...RCPT TO: <%s>
    001B:00419BD1 00 00 00 24 5C 00 00 53-4F 46 54 57 41 52 45 5C ...$\..SOFTWARE\
    001B:00419BE1 4D 69 63 72 6F 73 6F 66-74 5C 57 69 6E 64 6F 77 Microsoft\Window
    001B:00419BF1 73 5C 43 75 72 72 65 6E-74 56 65 72 73 69 6F 6E s\CurrentVersion
    001B:00419C01 5C 52 75 6E 00 00 00 20-2F 73 69 6E 63 00 00 64 \Run... /sinc..d
    001B:00419C11 62 78 00 68 6C 70 00 6D-68 74 00 77 61 62 00 68 bx.hlp.mht.wab.h
    Рисунок 5 распакованный вручную I-Worm.Sobig.f сразу же выдает агрессивность своих намерений характерными текстовыми строками

    Источники угрозы

    По данным сайта VX.NETLUX.ORG на начало сентября 2003 года рейтинг "популярности" вирусов и троянских коней выглядел так:
  • I-Worm.Sobig.f
  • Worm.Win32.Lovesan
  • Worm.Win32.Welchia
  • I-Worm.Sobig.a
  • Worm.Win32.Ladex
  • Win32.Parite
  • I-Worm.FireBurn
  • Trojan.Win32.Filecoder
  • I-Worm.Mimail
  • I-Worm.Klez.a-h
  • 33.525
  • Worm.P2P.Harex.a
  • I-Worm.Tanatos.a
  • TrojanProxy.Win32.Webber
  • MBA.First
  • AJ family
  • Worm.P2P.Tanked
  • Andrey.932
  • Worm.Win32.Opasoft
  • Worm.Win32.Autorooter
    Рисунок 1 TOP-20 вирусной гонки на выживание
    Все двадцать вирусов из двадцати "сильнейших" - чрезвычайно примитивные и неспособные к качественной мимикрии твари, все они легко обнаруживаются даже при поверхностном анализе исследуемых файлов по методикам, описанным ниже.


    Критическая ошибка в SVCHOST.EXE

    Если, работая под Windows 2000/Windows XP, вы поймаете сообщение о критической ошибке приложения в модуле SVCHOST.EXE, и эта критическая ошибка с завидной регулярностью станет повторяться вновь и вновь, – не торопитесь переустанавливать систему, не носите ваш компьютер в ремонт! Источник ошибки сидит отнюдь не в нем, а приходит к вам по сети своим шагом и имя ему – DCOM RPC bug.
    Небрежное тестирование операционной системы вкупе с использованием потенциально опасных языков программирования привело к тому, что всякий нехороший человек получил возможность выполнять на вашей машине свой зловредный машинный код, управление которому передается путем нехитрого переполнения буфера. Однако современные хакеры в своей массе настолько тупы, что даже переполнить буфер, не уронив при этом машину, оказываются не в состоянии!
    Немедленно кликните мышом по Windows Update и скачайте все критические обновления, которые вы по своей лени не скачали до сих пор! Поймите же наконец, что антивирусы против этой беды вам все равно не помогут, поскольку осуществляют лечение пост-фактум, когда зачастую лечить уже нечего… На худой конец, закройте 135 порт – тогда вирусы и троянские кони не смогут распространяться.
    Критическая ошибка в SVCHOST.EXE
    Рисунок 2 Это не признак нестабильности системы. Это – признак вирусной атаки! Если нажать на "ОК" – перестанет работать буфер обмена и некоторые другие функции системы, если нажать на "Отмену" – запуститься отладчик (если он у вас есть) и система полностью встанет. Если же не делать ни того, ни другого – система успешно продолжит свою работу…

    Места наиболее вероятного внедрения вирусов

    Объектом вирусного поражения могут выступать как исполняемые файлы (динамические библиотеки, компоненты ActiveX, плагины), так и драйвера, командные файлы операционной системы (bat, cmd), загрузочные сектора (MBR и BOOT), оперативная память, файлы сценариев (VisualBasicScript, JavaScript), файлы документов (MicrosoftWord, MicrosoftExcel) и… и это далеко не все! Фантазия создателей вирусов поистине безгранична и потому угрозы следует ожидать со всех сторон.
    Поскольку охватить все вышеперечисленные типы объектов в рамках одной-единственной статьи не представляется сколько-нибудь разрешимой задачей, автор остановил свой выбор на самых интересных вирусоносителях из всех – на исполняемых файлах. Во-первых, вирусы, поражающие исполняемые файлы (а также троянские программы, распространяющиеся через них же), лидируют по численности среди всех остальных типов вирусов вообще. Во-вторых, методология анализа new-EXE файлов на предмет их заражения не в пример скудно освещена. В-третьих, тема дизассемблирования достаточно интересна и сама по себе. Для многих она служит источником творческого вдохновения да и просто хорошим средством времяпрепровождения. Так что не будем мешкать и совершим наш решительный марш-бросок, снося всех вирусов, встретившихся на нашем пути!

    Нестандартные секции

    При заражении исполняемого файла методом дозаписи своего тела в его конец у вируса есть две альтернативы: либо увеличить размер последней секции файла (а это, как правило, секция .data), присвоив ей атрибут Executable[2], либо создать свою собственную секцию. Оба этих способа легко распознаются визуально.
    Код, расположенный в конце секции данных, – весьма характерный признак вируса, равно как и секция .text, замыкающая собой файл и после недолгих мытарств передающая управление "вперед" – на нормальную точку входа. То же самое относиться и к секциям с нестандартными именами, зачастую совпадающими с именем самого вируса или маскирующимися под секции, создаваемые упаковщиками исполняемых файлов (но сам файл при этом остается неупакован!).
    Достаточно часто вирусы внедряются в создаваемую ими секцию .reloc, штатно предназначенную для хранения перемещаемых элементов. Быть может, вирусописатели думают, что разработчики антивирусов все сплошь круглые идиоты и не знают для чего это секция предназначена? Но так или иначе, встретив в исследуемом файле секцию .reloc, содержащую исполняемый код, знайте, с вероятностью близкой к единице вы имеете дело с вирусом.
    Нестандартные секции
    Листинг 5 так выглядит дизассемблерный листинг файла, зараженного вирусом WinNT.Chatter: исполняемый код, расположенный в секции .reloc, предназначенной для хранения перемещаемых данных, сигнализирует о ненормальности ситуации

    Основные признаки вирусного внедрения

    Единственным гарантированным способом выяснения: является ли данный файл "плохим" файлом или нет – является его полное дизассемблирование. Не скрою, дизассемблирование – крайне кропотливая работа и на глубокую реконструкцию программы размером в пять-десять мегабайт могут уйди годы, если не десятки человеко-лет! Чудовищные трудозатраты делают такой способ анализа чрезвычайно непривлекательным и бесперспективным. Давайте лучше отталкиваться от того, что подавляющее большинство вирусов и троянских коней имеют ряд характерных черт, своеобразных "родимых пятен", отличающих их от всякой "нормальной" программы. Надежность таких "индикаторов" зараженности существенно ниже и определенный процент зловредных программ при этом останется незамечен, но… как говориться, на безрыбье и слона из мухи сделаешь!
    Количество всевозможных "родимых пятен", прямо или косвенно указывающих на зараженность файла, весьма велико, поэтому ниже перечислены лишь наиболее характерные из них. Но даже они позволяют обнаружить до 4/5 всех существующих вирусов, а по некоторым оценкам и более того (по крайней мере все "лауреаты" вирусного TOP-20 – обнаруживаются).

    Расплата за бездумность

    Ущерб, приносимый вирусами, троянскими конями и прочими зловредными программами, трудно переоценить. И дело здесь не только в разрушенной информации (при своевременном резервировании данных их всегда можно восстановить). Гораздо бóльшие убытки приносит панический страх перед самой возможностью заражения, выливающийся в настоящую вирусную истерию. Точно такой же страх вызывает вирус СПИДа, хотя, чтобы заразиться им при половом контакте, следует очень сильно стараться!
    А всякий страх зиждется на незнании. После изобретения громоотвода, молнии по-прежнему продолжают убивать людей, однако сейчас их (молний) уже не так боятся и, оказавшись застигнутыми молнией один на один, всякий грамотный человек знает, как свести риск поражения к минимуму. Напротив, поддавшись панике и действуя наобум, вы идете прямой тропой к своему кладбищу. И плачевные результаты попыток противостояния вирусным атакам – лучшее тому подтверждение. Лихорадочные переустановки операционной системы, чередующиеся с форматированием винчестера и отрубанием себя от сети, – ничуть не эффективнее омовения сервера святой водой или накачиванием его антибиотиками.
    Использование антивирусов также не решает проблемы. Что бы там не говорила реклама, а качество антивирусных программ все еще оставляет желать лучшего. Зачастую вирусы не распознаются совсем или распознаются, но не удаляются. Мягкая переустановка системы (т. е. переустановка "поверх" ранее установленной версии) не гарантирует удаления заразы, многие зловредные программы ее вполне благополучно переживают! Форматирование диска – вообще безумный способ лечения, сродни сжиганию больных на костре – жестокий и крайне неэффективный. До тех пор, пока не будут перекрыты все каналы проникновения вируса в систему, повторные заражения будут происходить вновь и вновь.
    Основной недостаток подавляющего большинства антивирусов как раз и состоит в том, что, удаляя вирус из системы, они даже и не пытаются заткнуть те дыры, которые вирус использует для своего распространения.
    Как следствие, "лечение" компьютера, подключенного к сети, превращается в перегон тараканов из одной казармы в другую, а потом обратно. Ладно, заражение локальной сети это еще полбеды ("останавливаем" сеть, лечим все машины, "запускаем" сеть), но вот проникновение вирусов в Интернет представляет собой весьма нетривиальную проблему. Вылечить все машины глобальной сети за раз просто нереально… Можно (и нужно!) установить очередное обновление от Microsoft, заткнув брешь в системе безопасности, но… кто даст голову на отсечение, что этот способ действительно сработает? Ряд обнаруженных дыр парням из Microsoft удалось заткнуть лишь со во второго-третьего раза, а некоторые дыры остались незаткнутыми и по сих пор (или заплатки были выпущены не для всех ОС). Причем наблюдается ярко выраженная тенденция в ухудшении поддержки четвертой версии Windows NT. Хоть и древней – но до сих пор работающей.

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

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

    Стартовый код

    В девяностых годах двадцатого века, когда вирусы создавались преимущество на ассемблере и писались преимущественно профессионалами, а коммерческие программисты в своем подавляющем большинстве полностью отказались от ассемблера и перешли на языки высокого уровня, для разработчиков антивирусов наступили золотые дни, ибо распознать зараженный файл зачастую удавалось с одного взгляда. Действительно, любая нормально откомпилированная программа начинается с так называемого стартового кода (Start-Up code), который легко отождествить визуально (как правило, он начинается с вызова функций GetVersion, GetModuleHandleA и т. д.), а дизассемблер IDA и вовсе идентифицирует стартовый код по обширной библиотеке сигнатур, выдавая тип и версию компилятора. Ассемблерные же программы стартового кода лишены и потому, когда ассемблерный вирус внедряется в программу, написанную на языке высокого уровня, стартовый код отодвигается как бы "вглубь" файла , демаскируя тем самым факт своего заражения.
    Сегодня, когда ассемблерные вирусы становятся музейной редкостью, такой способ отождествления мало-помалу перестает работать, однако до полного списывания в утиль дело еще далеко.
    Строго говоря, никаких формальных признаков "нормального" start-up'a не существует, поэтому всяк разработчик волен реализовывать его по своему. Однако редкий разработчик цепляет к программе свой собственный start-up и все чаще для этих целей используется библиотечный стартовый код, поставляемый вместе с компилятором. Несмотря на то что даже в рамках одного-единственного компилятора существует множество разновидностей стартового кода, все они легко узнаваемы и факт отсутствия стартового кода надежно обнаруживается даже самыми начинающими из исследователей!
    Приблизительная структура типичного стартового кода такова: сначала идет пролог, затем настройка обработчика структурных исключений (для Си++ программ), обнаруживающая себя по обращению к сегментному регистру FS. Далее следует вызов функций GetVersion (GetVersionEx), GetModuleHandleA и GetStartupInfoA.
    Подробнее об идентификации стартового кода можно прочитать в книге "Фундаментальные основы хакерства" Криса Касперски или в "Hacker Disassembling Uncovered" его же.

    Здесь же мы не можем позволить себе подробно останавливаться на этом обширном вопросе и просто сравним start-up код нормальной программы с кодом вируса Win2K.Inta.1676

    .text:00401670 start proc near
    .text:00401670 push ebp
    .text:00401671 mov ebp, esp
    .text:00401673 push 0FFFFFFFFh
    .text:00401675 push offset stru_420218
    .text:0040167A push offset __except_handler3
    .text:0040167F mov eax, large fs:0
    .text:00401685 push eax
    .text:00401686 mov large fs:0, esp
    .text:00401696 call ds:GetVersion ; Get current version number of Windows
    .text:004016EC push 0
    .text:004016EE call __heap_init
    .text:00401704 mov [ebp+var_4], 0
    .text:0040170B call __ioinit
    .text:00401710 call ds:GetCommandLineA
    .text:00401716 mov dword_424F44, eax
    .text:0040171B call ___crtGetEnvironmentStringsA
    .text:00401720 mov dword_4235C0, eax
    .text:00401725 call __setargv
    .text:0040172A call __setenvp
    .text:0040172F call __cinit
    .text:00401754 call _main
    .text:00401763 call _exit
    Листинг 2 так выглядит нормальный start-up от MicrosoftVisualC++ 6.0…

    .text:00011000 start proc near
    .text:00011000 mov eax, [esp+arg_0]
    .text:00011004 lea edx, loc_11129
    .text:0001100A mov [eax+34h], edx
    .text:0001100D lea edx, dword_117A0
    .text:00011013 lea eax, aHh ; "HH"
    .text:00011019 mov [edx+8], eax
    .text:0001101C mov [eax+4], aSystemrootSyst
    .text:0001101C ; "\\SystemRoot\\system32\\drivers\\inf.sys"
    .text:00011023 push 1200h
    .text:00011028 push 0
    .text:0001102D call ExAllocatePool
    .text:00011032 or eax, eax
    .text:00011034 jnz short loc_1103E
    .text:00011036 mov eax, 0C0000001h
    .text:0001103B retn 8
    <


    Листинг 3 … а так выглядят окрестности точки входа вируса Win2K.Inta.1676

    Смотрите! В то время как "хорошая" программа лениво опрашивает текущую версию операционной системы и иже с ней, зловредный вирус сломя голову несется в объятья драйвера inf.sys. Правильные программы так себя не ведут, и коварность вирусных планов разоблачается с первого взгляда!

    Разумеется, отсутствие стартового кода еще не есть свидетельство вируса! Быть может, исследуемый файл был упакован или разработчик применил нестандартный компилятор или набор библиотек. Ну, с упаковкой мы уже разобрались, а с идентификацией компилятора поможет справиться IDA и наш личный опыт (замечание: текущие версии IDA PRO определяют версию компилятора непосредственно по стартовому коду: если же он отсутствует или был изменен, механизм распознавания дезактивируется, и поиском подходящей библиотеки сигнатур нам приходится заниматься вручную, через меню File -> Load file -> FLIRT signature file). И если обнаружиться, что нормальный start-up у файла все-таки есть, но выполнение программы начинается не с него, – шансы на присутствие вируса значительно возрастут!

    Троянские программы, в большинстве своем написанные на языках высокого уровня, имеют вполне стандартный Start-Up и потому на такую наживку не обнаруживаются. Взять например того же Kilez'a, стартовый код которого выглядит так:

    .text:00408458 start proc near
    .text:00408458 push ebp ; sub_408458
    .text:00408459 mov ebp, esp
    .text:0040845B push 0FFFFFFFFh
    .text:0040845D push offset stru_40D240
    .text:00408462 push offset __except_handler3
    .text:00408467 mov eax, large fs:0
    .text:0040846D push eax
    .text:0040846E mov large fs:0, esp
    .text:0040847B mov [ebp+var_18], esp
    .text:0040847E call ds:GetVersion ; Get current version number of Windows
    .text:004084AF xor esi, esi
    .text:004084B1 push esi
    .text:004084B2 call __heap_init
    .text:004084C4 mov [ebp+var_4], esi
    .text:004084C7 call __ioinit
    .text:004084CC call ds:GetCommandLineA
    .text:004084D2 mov dword_494E68, eax
    .text:004084D7 call ___crtGetEnvironmentStringsA
    .text:004084DC mov dword_493920, eax
    .text:004084E1 call __setargv
    .text:004084E6 call __setenvp
    .text:004084EB call __cinit
    .text:004084F0 mov [ebp+StartupInfo.dwFlags], esi
    .text:004084F3 lea eax, [ebp+StartupInfo]
    .text:004084F6 push eax ; lpStartupInfo
    .text:004084F7 call ds:GetStartupInfoA
    .text:004084FD call __wincmdln
    Листинг 4 червь I-Worm.Kilez.h имеет стандартный стартовый код

    Даже "невооруженным" глазом видно, что стартовый код червя идентичен стартовому коду Microsoft Visual C++ 6.0, что и не удивительно, так именно на нем червь и написан.

    Таблица импорта

    Операционные системы семейства Windows поддерживают два основных способа компоновки: статический и динамический. При статической компоновке имена (ординалы) вызываемых API-функций выносятся в специальную таблицу – таблицу импорта, изучение которой дает более или менее полное представление о природе исследуемой программы и круге ее интересов. К потенциально опасным функциям в первую очередь относятся сетевые функции, функции поиска, вызова и удаления файлов, TOOLHELP-функции, используемые для просмотра списка активных процессов и внедрения в них…
    Конечно, зловредной программе ничего не стоит загрузить все эти функции и самостоятельно, путем динамической компоновки, в простейшем случае опирающейся на вызов LoadLibrary/GetProcAddress, а то и вовсе на "ручной" поиск API-функций в памяти (адрес системного обработчика структурных исключений дает нам адрес, принадлежащий модулю KERNEL32.DLL, базовый адрес которого определяется сканированием памяти на предмет выявления сигнатур "MZ" и "PE" с последующим разбором PE-заголовка), но в этом случае текстовые строки с именами соответствующих функций должны так или иначе присутствовать в теле программы (если только они не зашифрованы и не импортируются по ординалу).
    Однако статистика показывает, что таблица импорта троянских программ носит резко полярный характер. Либо она вообще практически пуста, что крайне нетипично для нормальных, – неупакованных, – программ, либо содержит обращения к потенциально опасным функциям в явном виде. Конечно, сам факт наличия потенциально опасных функций еще не свидетельствует о троянской природе программы, но без особой нужны ее все-таки лучше не запускать.
    Анализ таблицы импорта позволяет выявить также и ряд вирусных заражений. Собственно, у вируса есть два пути: использовать таблицу импорта файла-жертвы или создавать свою. Если необходимых вирусу API-функций у жертвы нет и она не импортирует функции LoadLibrary/GetProcAddress, вирус должен либо отказаться от ее заражения, либо тем или иным образом импортировать недостающие функции самостоятельно (некоторые вирусы используют вызов по фиксированным адресам, но это делает их крайне нежизнеспособными, ограничивая ареал обитания лишь теми версиями ОС, на которые явно закладывались вирусописатели; другие же определяют адреса функций самостоятельно: по сигнатурному поиску или ручным анализом таблицы импорта; первое – громоздко и ненадежно, второе – слишком сложно в реализации для начинающих).

    И вот тут-то и начинается самое интересное. Разберем два варианта: использование готовой таблицы импорта и внедрение своей. На первый взгляд кажется, что отследить "левые" обращения к импорту жертвы просто нереально, так как они ничем не отличаются от "нормальных". Теоретически все так есть. Практически же не все так безнадежно. Большинство сред разработки компилирует программы с инкрементной линковкой и вместо непосредственного вызова всякой импортируемой функции вызывает "переходник" к ней. Таким образом, каждая импортируемая функция вызывается лишь однажды и IDA генерирует лишь одну перекрестную ссылку. При заражении файла картина меняется и к API-функциям, используемым вирусом, теперь ведут две и более перекрестных ссылок.
    Это – вернейший признак вирусного заражения! Вернее и быть не может!
    BRAT0:00648310 CreateFileAproc near            ; CODE XREF: sub_432A58+C0^p
    BRAT0:00648310                                         ; sub_432BC0+C0^p ...
    BRAT0:00648310 FF 25 48 44+jmp    ds:__imp_CreateFileA BRAT0:00648310 CreateFileAendp
    Листинг 6 "Заглушка", представляющая собой переходник к импортируемой функции и оттягивающая все перекрестные ссылки на себя
    .idata:006A4440 extrn __imp_CreateDirectoryA:dword     ; DATA XREF: CreateDirectoryA^r .idata:006A4444 extrn __imp_CreateEventA:dword  ; DATA XREF: CreateEventA^r .idata:006A4448 extrn __imp_CreateFileA:dword   ; DATA XREF: CreateFileA^r .idata:006A4448                                 ; DATA XREF: sub_6A4140^r
    .idata:006A444C extrn __imp_CreateProcessA:dword       ; DATA XREF: CreateProcessA^r .idata:006A4450 extrn __imp_CreateThread:dword  ; DATA XREF: CreateThread^r
    Листинг 7 таблица импорта исследуемого приложения: наличие "паразитной" ссылки на CreateFileA указывает на факт вирусного заражения
    А что, если вирус захочет создать собственную секцию импорта или, как вариант, – попытается расширить уже существующую? Ну, две секции импорта для операционных систем семейства Windows – это слишком! Хотя… Почему, собственно, нет? Вирус создает еще одну секцию импорта, дописывая ее в конец файла, копирует туда содержимое оригинальной таблицы импорта, добавляет недостающие API-функции и затем направляет поле Import Table на "свою" таблицу импорта.


    По факту загрузки файла операционной системой вирус проделывает обратную операцию, перетягивая таблицу импорта "назад" (необходимость последней операции объясняется тем, что система находит таблицу импорта по содержимому поля Import Table, а непосредственно сам исполняемый файл работает с ней по фиксированным адресам). Наличие двух таблиц импорта в файле – верный признак его заражения!
    Как вариант – вирус может добавить к файлу секцию BOUND IMPORT'а, что очень просто реализуется и, что самое интересное, обнаруживается далеко не всеми дизассемблерами! Откройте исследуемый файл в HIEW'е и посмотрите на 12-й элемент Header'а Data Directories. Если такой элемент действительно присутствует и хранит в себе нечто отличное от нуля, – вероятность присутствия вируса в файле становится весьма велика (хотя некоторые легальные программы, в частности линкер ULINK Юрия Харона, также содержат в себе секцию BOUND IMPORT'а но вирусами очевидно не являются).
    Расширение уже существующей таблицы импорта менее наглядно, но при наличии опыта работы с PE-файлами его все-таки можно разоблачить. Так, большинство линкеров упорядочивают импортируемые функции по алфавиту и функции, дописанные вирусом в конец таблицы импорта, сразу же обращают на себя внимание. Даже если импорт и не отсортирован, повышенная концентрация характерных для вируса API-функций все равно не может не броситься в глаза. Действительно, перечисление имен всех импортируемых функций обычно идет сплошным потоком от первой до последней используемой DLL, причем библиотека KERNEL32.DLL (которая вирусу и нужна!) оказывается в конце списка достаточно редко и вирусу ничего не остается, как дописывать импорт из KERNEL32.DLL в хвост другой библиотеки, в результате чего ссылка на модуль KERNEL32.DLL в таблице импорта зараженного файла присутствует дважды!

    Текстовые строки

    Прежде чем приступать к тотальному дизассемблированию исследуемого файла, нелишне пролистать его дамп на предмет выявления потенциально небезопасных текстовых строк, к которым, в частности, относятся команды SMTP-сервера и командного интерпретатора операционной системы ("HELO/MAIL FROM/MAIL TO/RCPT TO, DEL/COPY/RD/RMDIR соответственно), ветви автозапуска реестра (RunServices, Run, RunOnce), агрессивные лозунги и
    высказывания
    ("легализуем марихуану", "сам дурак") и т.д.
    Конечно, все это еще не свидетельство наличия вируса (троянской программы), а отсутствие компрометирующих программу текстовых строк – не гарант ее лояльности, но… просто поразительно какое количество современных вирусов ловится таким элементарным способом. Не иначе как снижение культуры программирования дает о себе знать? Действительно, подавляющее большинство программ (и зловредных программ в том числе) сегодня разрабатывается на языках высокого уровня, а программисты не дают себе труда хоть как-то скрыть "уши", торчащие из секции данных (не знают как это сделать?). Откомпилированная программа просто шифруется статическими упаковщиками, которые легко поддаются автоматической/полуавтоматической распаковке, выдавая исследователю исходный дамп со всеми текстовыми строками на поверхности (см. "идентификация упаковщика и автоматическая распаковка").
    Ниже в качестве примера приведен фрагмент вируса I-Worm.Kiliez.e, на малоизвестность которого жаловаться не приходится (вах! как трудно взглянуть на дамп того, что вы запускаете!):
    data:0040E048 aQuit        db 'QUIT',0Dh,0Ah,0 data:0040E050           db '.',0Dh,0Ah,0 data:0040E058 aData        db 'DATA ',0Dh,0Ah,0 data:0040E060 aHeloS       db 'HELO %s',0Dh,0Ah,0 data:0040E06C asc_40       db '>',0Dh,0Ah,0 data:0040E070 aMailFrom   db 'MAIL FROM: <',0 data:0040E080 aRcptTo        db 'RCPT TO:<',0 data:0040F244 aSoftwareMicrosdb 'Software\Microsoft\Windows\CurrentVersion\',0 data:0040F279 aRun     db 'Run',0 data:0040F27D aRunonce       db 'RunOnce',0 data:0040F285 aSystemCurrentcdb 'System\CurrentControlSet\Services',0 data:0040F2A7 aSoftwareMicr_0db 'Software\Microsoft\WAB\WAB4\Wab File Name',0 data:0040F2D1 aRunservices db 'RunServices',0 data:0040F2DD aInternetSettindb 'Internet Settings\Cache\Paths',0 data:0040F302 aHi       db 'Hi,',0 data:0040F306 aHello       db 'Hello,',0 data:0040F30D aRe         db 'Re:',0 data:0040F311 aFw       db 'Fw:',0 data:0040F315 aUndeliverableMdb 'Undeliverable mail--"%s"',0 data:0040F32E aReturnedMailS db 'Returned mail--"%s"',0
    Рисунок 3 Фрагмент вируса I-Worm.Kilez.e, текстовые строки содержащиеся в теле которого выдают агрессивные намерения последнего с головой

    Точка входа

    При внедрении вируса в файл точка входа в него неизбежно изменяется. Лишь немногие из вирусов ухитряются заразить файл, не прикасаясь к точке останова (вирус может вписать по адресу оригинальной точки останова JUMP на свое тело, слегка подправить таблицу перемещаемых элементов или вклиниться в массив RVA-адрес таблицы импорта, внедриться в незанятые области кодовой секции файла и т. д.), однако ареал обитания таких особей ограничен поимущественно стенами лабораторий, а в дикой природе они практически не встречаются. Не тот уровень подготовки у вирусописателей, не тот…
    И если "нормальные" точки входа практически всегда находятся в кодовой секции исполняемого файла (".text"), точнее – в гуще библиотечных функций (Навигатор IDA PRO по умолчанию выделяет их голубым цветом), непосредственно предшествуя секции данных, то точка входа зараженного файла традиционно располагается между секцией инициализированных и неинициализированных данных, практически у самого конца исполняемого файла.
    Так происходит потому, что, дописывая свое тело в конец файла, "вирусная" секция оказывается самой последней секцией инициализированных ячеек памяти, за которой простирается обширный регион неинициализированных данных, без которого не обходится ни одна программа. Это-то его (вируса) и демаскирует!
    Ни один из известных автору упаковщиков исполняемых файлов так себя не ведет, и потому ненормальное расположение точки входа с высокой степенью вероятности свидетельствует о заражении файла вирусом!
    Точка входа
    Рисунок 6 так выглядит дизассемблерный листинг нормального файла. Точка входа расположена внутри секции .text в гуще библиотечных функций, приходясь приблизительно на середину файла
    Точка входа
    Рисунок 7 так выглядит дизассемблерный листинг файла, зараженного вирусом WinNT.Infis.4608: точка входа расположена в секции .reloc, помещенной непосредственно за концом инициализированных данных, у самой "кромки" исполняемого файла

    и рассмотрели основные способы выявления

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

    Черводинамика: причины и следствия

    Александр Захарченко, http://az13.mail333.com/
    «Так наука не делается. Так продаются товары.»
    Майкл Крайтон. «Инопланетяне
    как причина глобального потепления»
    [1]
    Исследование особенностей распространения сетевых червей становится все более популярной темой, о чем свидетельствует рост количества не только специальных научных работ [2], но и магистерских диссертаций по черводинамике [3], [4]. Интерес этот вызван внезапным осознанием того крайне неприятного факта, что в результате вирусных эпидемий под контролем злоумышленников оказываются вычислительные ресурсы фантастической мощности. По здравому размышлению их можно использовать не только для организации канонических «гадостей», коими являются распределенные DoS-атаки или рассылки спама с «зомбированных» компьютеров, но и более рационально: например, для распределенных вычислений «изгоями», неспособными приобрести необходимое количество суперкомпьютеров.
    Разработаны изощренные модели, которые позволяют учесть влияние нюансов топологии Сети на поведение злонамеренного кода [5], провести детальный анализ червей с комбинированными механизмами размножения, а также учесть человеческие факторы риска и даже оценить стоимость еще только надвигающейся напасти [6]. Без сомнения, вся эта сложность, которая по изящному определению Эдсгера Дейкстра (E.W. Dijkstra) лучше продается [7], существенно продвигает черводинамику как науку и способствует катастрофическому увеличению убойной силы перспективных разработок в области виртуальных вооружений, но к решению основной [8] проблемы – предотвращению компьютерных эпидемий – мы так и не приближаемся ни на йоту. Черви превращают Интернет в кишащую пираньями Амазонку [9]. Анализ сетевых ЧП последнего времени уносит последние крохи иллюзий относительно эффективности применяемых мер антивирусной обороны [10], [11], [12].
    Математический аппарат для изучения динамики «обычных» биологических эпидемий был разработан достаточно давно (подробный обзор моделей распространения инфекционных заболеваний представлен в [13].) Биологический подход к моделированию вирусной проблемы [14] по общему признанию начался с работ J. O. Kephart и S. R. White из IBM [15] еще до изобретения WWW, однако модным это направление стало только в 2001 г. после шокировавших виртуальных стражей вспышек Code Red и Nimda [16]. Наибольший резонанс получили работы N. Weaver и его старших коллег. Ими введена концепция Warhol (или блицкриг) червей, а также исследованы различные концептуальные алгоритмы размножения самовоспроизводящихся кодов, кардинально повышающие эффективность их распространения [17], [18]. Вирусописатели не заставили себя долго уговаривать и 2003 г. дал старт небывалым по размаху и последствиям сетевым эпидемиям (Slammer, MSBlast, Sobig, MyDoom) [19], [20], [21].
    Основные и довольно таки неприятные для перспектив безопасности результаты можно получить уже из анализа классических моделей эпидемий, которые подходят для изучения компьютерных инфекций даже несколько лучше, чем для биологических аналогов.

    Простая эпидемическая модель

    Рассмотрим простую эпидемическую модель, в которой предполагается, что произвольный узел сети, состоящей из постоянного количества (N) компьютеров, может находиться только в двух состояниях: уязвимом (S) и инфицированном (I). S + I = N. Предположим, что на каждом инфицированном узле может существовать только одна копия червя, которая случайным образом выбирает в доступном адресном пространстве потенциальную жертву с опять-таки средней постоянной скоростью b в единицу времени (на поиск и заражение одной жертвы в среднем тратится 1/b секунд). В простейшем случае b определяется средней скоростью сканирования червем сети (Vs) и размером её адресного пространства (Nip):
    Простая эпидемическая модель(1)
    (Согласно спецификации IP4 Nip = 232.)
    Введя переменные i = I/N и s = S/N, получим уравнение динамики доли инфицированных узлов:
    Простая эпидемическая модель (2)
    Уравнение (2) имеет аналитическое решение. Предполагая, что в начальный момент времени t0 = 0 доля инфицированных узлов составляет i0, получим зависимость:
    Простая эпидемическая модель (3)
    из коей вытекает, что эпидемия в принятой модели полностью определяется двумя параметрами: скоростью размножения червя (b) и начальной зараженностью рассматриваемой сети (i0).
    (3) – это логистическая функция, которая только по форме отличается от результата [17], где постоянная интегрирования определена через константу по времени, а не через начальную зараженность, как в нашем случае. Из приведенных в [17] данных следует, что для Code Red v2 i0 ~10–11…10–10, т.е. можно предполагать, что червь начинал атаку на Сеть с одного компьютера.

    Динамика функции (3) характеризуется тремя четко различимыми этапами (Рис. 1).

    Простая эпидемическая модель

    Рис. 1. Развитие эпидемии в зависимости от начальной зараженности сети. Время представлено в единицах b ? t (т.е. периодах размножения).

    1-й этап – сравнительно медленное (но тем не менее экспоненциальное) нарастание зараженности до порогового уровня iпор » 0,05 (красная горизонтальная прямая на Рис. 1). Скорость удвоения доли пораженных машин равна ln(2)/b.

    2-й этап – взрывная фаза (outbreak) в диапазоне 0,05 < i < 0,95. Продолжительность её определяется только скоростью поиска b и приблизительно равна 5,89/b.

    3-й этап – насыщение, i > 0,95 (черная горизонтальная прямая на Рис. 1). На этом участке при случайном сканировании адресного пространства зараженные узлы контактируют преимущественно друг с другом, поэтому уцелевшие узлы могут оставаться «чистыми» неопределенно продолжительное время.

    Для достижения порога насыщения i=0,95 требуется время

    Простая эпидемическая модель

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

    Из полученных результатов вытекает, что:

    1. Однородность Сети относительно определенной уязвимости представляет главную угрозу [22]. Практика показала, что даже черви, которые выбирают жертву случайным образом и, следовательно, являются самыми медленными [17], за считанные минуты способны поразить ключевые узлы Интернета и вывести из строя телекоммуникации на уровне отдельных стран [23]. Таким образом, любая структура деятельность которой критически зависит от доступа к Интернет (либо, наоборот, нормальное функционирование Интернет зависит от работоспособности таковой структуры), должна иметь резервные системы, построенные на программном обеспечении с различающимся кодом.


    2. Экспоненциальный рост количества вирусов в любой сети свидетельствует об отсутствии защитных механизмов либо о полной их неэффективности.

    3. Механизм случайного выбора жертвы ограничивает снизу скорость распространения вирусов по сети. Значительно повысить её можно достаточно простыми средствами: подготовкой предварительного списка адресов для атаки, сканированием подсетей, выделением каждой копии червя отдельного фрагмента сетевого адресного пространства, поиском подходящих мишеней на зараженном компьютере и др. [17]. Если, к примеру, копия червя получает в наследство только непересекающуюся половину адресного пространства от «родителя», то из (1) следует, что это эквивалентно удвоению скорости заражения каждые 1/b секунд (Рис. 2).

    Простая эпидемическая модель

    Рис. 2. Ускорение эпидемии при выделении каждой копии червя своего непересекающегося фрагмента адресного пространства.

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

    5. Системы раннего оповещения о развитии эпидемии окажутся сколько-нибудь эффективными только на участке i << iпор и при крайне низких значениях b. Моделирование распространения Code Red и Slammer показало, что анализ обращений к несуществующим адресам позволяет определить признаки вирусной активности в сети при заражении 1–2 % уязвимых узлов [24]. Таким образом, предупреждение может быть получено максимум за 1,65/b секунд до достижения порога взрыва iпор. Согласно данным [24] в случае Code Red это время составило бы не более 50 минут, а для Slammer не превысило бы 15–20 секунд. Очевидно, что в обоих случаях эпидемии можно было бы только зафиксировать, но не предотвратить.

    5. Эффективность сетевых эпидемий можно значительно повысить, проводя скрытное предварительное заражение отдельных уязвимых узлов.Чем ближе i0 к iпор, тем разрушительнее могут оказаться последствия вирусной атаки (Рис. 1 ).

    6. Увеличение адресного пространства Nip понижает инфекционную способность червей со случайным выбором жертвы. IPv6 предполагает 2128 адресов и это может несколько уменьшить темпы нарастания эпидемий, если адреса окажутся достаточно равномерно «размазаны» по всему пространству.

    Анализ эпидемий Code Red v2 и Slammer на основе простой модели показал удовлетворительно совпадение с реально наблюдаемой динамикой эпидемий. Уже Code Red v2, чья инфицирующая способность оценивалась по различным данным от 0,7 до 1,8 компьютера в час менее чем за половину суток мог получить контроль над сотнями тысяч серверов. В то же время Slammer при скорости удвоения 8,5 секунд имел инфицирующую способность ~293 узлов в час и мог проникнуть на 90% уязвимых компьютеров всего лишь за 10 минут.

    Работа над ошибками

    Моделирование и сравнение его результатов с фрагментарными данными наблюдений за развитием реальных эпидемий подталкивает к интуитивно понятному (если не сказать банальному) выводу: массовое распространение ПО, однородного относительно конкретной уязвимости, и крайне низкая скорость устранения обнаруженных «дыр» приводят к тому, что высокие технологии создают гораздо больше проблем, чем решают. Поспешное внедрение непроверенных новаций создало патовую ситуацию: с одной стороны невозможно безболезненно отказаться от паутины нововведений, которые стремительно изменяют среду обитания человека, с другой – опасность этих новшеств возрастает с каждым днем. К примеру, пока SCO пугала конгрессменов страшилками о виртуальных суперкомпьютерах на базе ПО с открытым кодом, которые якобы могут создать в «странах-изгоях» для исследования ядерного оружия [26], вирус MyDoom передал контроль над миллионами компьютеров с проприетарной ОС вообще неизвестно кому [27]. Остается только гадать, какие задачи могут решаться под прикрытием такого виртуального терроризма.
    Монокультура ПО стала результатом жесточайшей конкурентной борьбы между родоначальниками эры персональных компьютеров. Бои без каких-либо правил, перенесенные из большого бизнеса в область ПО, которое с момента зарождения десятилетиями неспешно развивалось в академической «тиши», не оставили от имен многих отцов-основателей даже торговых марок. Чисто теоретически можно конечно допустить, что после захвата господствующих экономических высот, победители собирались вернуться к отброшенным из-за дороговизны проблемам безопасности и предложить более надежные продукты. Так Microsoft уже не первый год проводит кампанию за отказ от линейки ОС Win95/98/Me и постоянно предупреждает о прекращении её поддержки. Однако, никто не учел, что сущности в виртуальном мире не изнашиваются и если потребителя удовлетворяет уже имеющиеся ПО, то заставить его платить за новые «рюшечки» не так-то просто. А если этих потребителей многие миллионы, то монстру ПО приходится уступать их требованиям и даже с жутким скрипом соглашаться на исправление древних уязвимостей [28].

    На сегодняшний день словосочетание « качественное ПО» выглядит откровенным оксимороном, чему значительно поспособствовало нелегальное обнародование части исходных кодов Windows [29]. Очевидно, что если злонаправленный код можно пристегнуть даже к картинкам разного формата [30], [31], то ожидать доверительного компьютинга придется бесконечно долго. Все это свидетельство глубокого кризиса в разработке ПО. Продвинутый инструментарий для разработки и отладки формирует иллюзию легкости создания сложнейших программ. Однако, дружественные настройки не могут устранить конструктивные просчеты языков программирования и архитектур ОС, многие из которых хорошо известны, но остаются по требованиям обратной совместимости. В результате даже в простеньких программах могут появляться ошибки, которые отправляют на свалку хитроумные «защитные» средства. Заметить и устранить их под силу только немногочисленным специалистам высшей квалификации, привлечение которых делает коммерческие проекты малоприбыльными.

    Уже при разработке первых программ исследователи были неприятно поражены непомерными трудозатратами на отладку [32]. С тех пор программные ошибки вместе отказами аппаратуры так и остаются неотъемлемой частью компьютерных комплексов, а потому для военных приложений или атомной энергетики поливариантность оказывается единственным выходом. Однако, разработчики коммерческих приложений широкого потребления вынуждены минимизировать себестоимость проектов и укладываться в жесткие (хотя и регулярно проваливаемые) сроки. Следовательно ни о какой N-вариантности говорить не приходится. Рыночная гонка вынуждает искать компромисс между количеством отказов предлагаемой к продаже системы и продолжительностью её предварительной доводки [33].

    Несмотря на многолетнее развитие методов тестирования ПО [34] отличным результатом считается наличие менее одной ошибки на 1000 строк исходного кода. Этот показатель нечасто достигается на практике и только после продолжительной эксплуатации продукта. Исследования показали, что 5–10 ошибок на 1000 строк не окажутся сногсшибательной новостью [35].


    Более того, также выявлено, что в результате непредусмотренных побочных эффектов на каждые устраненные семь ошибок появляется одна столь же серьезная [36].

    Конечно, далеко не все программные огрехи оказываются «дырами», сквозь которые черви могут свободно скользить по Сети. Наверняка таких дыр крайне малое количество по сравнению с общим числом просчетов в широко распространенном ПО, но в абсолютном исчислении их более чем достаточно для удовлетворения фантазий вирусописателей любой квалификации. Так SecurityLab.ru каждый день публикует информацию о десятке-другом уязвимостей, которые могут использоваться и для проникновения в ОС. Прогноз-2010 предсказывает обнаружение 100 тысяч таких «дыр» за один год [37].

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

    Не меньшую проблему представляет и устранение обнаруженных «дыр». Червь Морриса показал, что «латание» системы остается второразрядной задачей даже в стенах разработчиков ОС, что актуально и по сей день.

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


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

    Несмотря на давно обоснованные сомнения, остается непотопляемой идея о «добрых» червях-вирусах, которые по замыслу авторов должны уничтожать злонамеренные коды и доставлять на компьютеры «заплаты» и прочее полезное ПО. Если бы не примкнувший к этой партии первоопределитель понятия вирусов F. Cohen, то такую гипотезу можно было бы рассматривать как пережитки студенческого романтизма [38]. Конечно, анализ модели (6) дает надежду на то, что античервь, распространяющийся со скоростью на 2 порядка меньшей, чем у врага-конкурента, способен достаточно быстро остановить эпидемию (Рис. 3 и 4), да и выборочная «иммунизация» Сети после обнаружения уязвимости во всех отношениях кажется благом [39].

    Однако, опыт контрчервя Welchia подтвердил, что «полезный» вирус – это всего лишь академическое заблуждение. Не вспоминая всуе ошибки реализации, нужно осознавать, также, что найти баланс между количеством «доброты» и степенью вмешательства во внутренние дела «иммунизируемых» систем вряд ли получится [40]. Даже черви с ограниченным сроком активности оказываются неуничтожимыми и продолжают замусоривать Интернет, поскольку в Сети обретается достаточное количество компьютеров с неправильно установленной датой (в т.ч. серверов).

    Сегодня компьютерная безопасность – модная и очень прибыльная область деятельности . Не удивительно, что в массовом порядке появляются «волшебные» средства, якобы способные извести на корню зловредные коды из Всемирной Паутины [41], [42], [43]. К сожалению, опыт эвристических анализаторов и систем распознавания лиц, которые столь эффективны в лабораториях, сколь и бесполезны в реальной работе, не позволяет надеяться на достижение заявляемого результата в обозримом будущем.


    На деле же, охотники за сверхприбылями, имеющие весьма смутное представление о множестве нетривиальных уязвимостей ПО [44], способны только безнадежно дискредитировать саму идею безопасных ОС.

    [1] http://www.computerra.ru/compunity/femida/31986/

    [2] The Workshop on Rapid Malcode (WORM), October 27, 2003, The Wyndham City Center Washington DC, USA. (http://pisa.ucsd.edu/worm03/)

    [3] Jasmin Leveille «Epidemic Spreading in Technological Networks» (http://www.hpl.hp.com/techreports/2002/HPL-2002-287.pdf)

    [4] C. G. Senthilkumar «Worms: How to stop them?» (http://wwwcsif.cs.ucdavis.edu/~cheetanc/worms/proposal.ps)

    [5] M. Garetto, W. Gong, D. Towsley «Modeling Malware Spreading Dynamics» IEEE INFOCOM 2003 (http://www.ieee-infocom.org/2003/papers/46_01.PDF)

    [6] M. M. Williamson and J. Leveille «An epidemiological model of virus spread and cleanup» HPL-2003-39 (http://www.hpl.hp.com/techreports/2003/HPL-2003-39.pdf)

    [7] E.W. Dijkstra «On the nature of computing science» (EWD896) (перевод на русский язык http://club.shelek.com/viewart.php?id=146)

    [8] S.R. White «Open Problems in Computer Virus Research» Virus Bulletin Conference, Oct 22, 1998, Munich Germany (http://www.research.ibm.com/antivirus/SciPapers/White/Problems
    /Open%20Problems%20in%20Computer%20Virus%20Research.pdf)

    [9] А. Красоткин «WWW – дикий, дикий, дикий Интернет» (http://www.computerra.ru/hitech/tech/31379/)

    [10] John Leyden «The trouble with anti-virus» (http://www.theregister.co.uk/content/56/32680.html)

    [11] Duncan Graham-Rowe «Computer antivirus strategies in crisis» (http://www.newscientist.com/news/news.jsp?id=ns99994119)

    [12] А. А. Захарченко «Бой с тенью: компьютерные вирусы и причины сетевого хаоса» Защита информации. Конфидент, 2003, № 6, с. 49–52.

    [13] H. W. Hethcote «The Mathematics of Infectious Diseases» SIAM Review Vol. 42, No. 4, pp. 599–653 (http://www.math.rutgers.edu/~leenheer/hethcote.pdf)

    [14] M. M. Williamson «Biologically Inspired Approaches to Computer Security» HPL-2002-131 (http://www.hpl.hp.com/techreports/2002/HPL-2002-131.pdf)


    [15] J. O. Kephart and S. R. White «Directed-Graph Epidemiological Models of Computer Viruses» Proceedings of the 1991 IEEE Computer Society Symposium on Research in Security and Privacy; Oakland, California, May 20-22, 1991; pp. 343-359. (http://www.research.ibm.com/antivirus/SciPapers/Kephart
    /VIRIEEE/virieee.gopher.html)

    [16] C.C. Zou, W. Gong and D. Towsley. «Code Red Worm Propagation Modeling and Analysis» In 9th ACM Symposium on Computer and Communication Security, pages 138-147, Washington DC, 2002. (http://tennis.ecs.umass.edu/~czou/research/codered.pdf)

    [17] S. Staniford, V. Paxson and N. Weaver. «How to Own the Internet in Your Spare Time» 11th Usenix Security Symposium, San Francisco, August, 2002. (http://www.icir.org/vern/papers/cdc-usenix-sec02/)

    [18] N. Weaver. «Warhol Worms: The Potential for Very Fast Internet Plagues» (http://www.cs.berkeley.edu/~nweaver/warhol.html)

    [19] А. Захарченко «Черводинамика» (http://az13.mail333.com/3/worm1.htm)

    [20] А. Захарченко «Вирусы и энергосистемы» (http://www.inauka.ru/computer/article35855)

    [21] Sh. Gaudin «2003 'Worst Year Ever' for Viruses, Worms» (http://www.esecurityplanet.com/trends/article.php/3292461)

    [22] Р. Лемос «США финансируют исследование в области ИТ-монокультур» (http://zdnet.ru/?ID=309987)

    [23] «Slammed!» Wired magazine, 11-07-2003 (http://www.wired.com/wired/archive/11.07/slammer_pr.html)

    [24] C.C. Zou, L. Gao, W. Gong, D. Towsley «Monitoring and Early Warning for Internet Worms» CCS’03, October 27–30, 2003, Washington, DC, USA. (http://tennis.ecs.umass.edu/~czou/research/monitoringEarlyWarning.pdf)

    [25] Z. Chen, L. Gao, K. Kwiat «Modeling the Spread of Active Worms» IEEE INFOCOM 2003
    (http://www.ieee-infocom.org/2003/papers/46_03.PDF)

    [26] «SCO to Congress: Linux hurts the U.S.» ()

    [27] Р. Лемос «MyDoom заставил задуматься о будущем антивирусного ПО» (http://zdnet.ru/?ID=313230)

    [28] «План поддержки Windows говорит о трудностях Microsoft» (http://zdnet.ru/?ID=313154)

    [29] «Утечка “исходника” Windows: 10 последствий» (http://www.cnews.ru/newcom/index.shtml?2004/02/16/155213)


    [30] « Первая уязвимость, обнаруженная при исследовании исходного кода Windows» (http://www.securitylab.ru/42843.html)

    [31] http://www.securitylab.ru/43090.html

    [32] D. Wittenberg «On Unverifiable “Facts”» Brandeis Graduate Journal, 2003, v. 1 (1) (http://www.brandeis.edu/gradjournal)

    [33] Les Hatton «Repetitive failure, feedback and the lost art of diagnosis» Journal of Systems and Software, (10) , 1999 (http://www.leshatton.org/JSS_1099.html)

    [34] G. Myers «The Art of Software Testing» 1979

    [35] L. Hatton «The T-experiments: Errors in Scientific Software» IEEE Computational Science and Engineering, 1997, 4(2), p. 27-38 (http://www.leshatton.org/IEEE_CSE_297.html)

    [36] Les Hatton «Some notes on software failure» (http://www.leshatton.org/RS_1001.html)

    [37] S. Berinato «The future of security» (http://www.computerworld.com/securitytopics/security
    /story/0,10801,88646,00.html)

    [38] G. Moorer «The Case for Beneficial Computer Viruses and Worms» (http://csrc.nist.gov/nissc/2000/proceedings/papers/601.pdf)

    [39] C. Wang, J. Knight and M. Elder «On Computer Viral Infection and the Effect of Immunization» (http://www.cs.virginia.edu/~techrep/CS-99-32.pdf)

    [40] А. Захарченко «Червивые баталии» (http://az13.mail333.com/3/worm3.htm)

    [41] «He’s confident system can stop any virus» (http://www.suntimes.com/output/tech/cst-fin-lundy22w.html)

    [42] «С хакерами будут бороться с помощью скриптов-мутантов» (http://www.securitylab.ru/42420.html)

    [43] «TruSecure announces early-warning system» (http://www.computerworld.com/securitytopics/security
    /story/0,10801,89424,00.html)

    [44] Крис Касперски «Неизвестная уязвимость функции printf» (http://www.citforum.ru/security/articles/printf/)

    document.write('Работа над ошибками
    Архивации почты Exchange 2000/2003/2007/2010 с контролем целостности.
    Полнотекстовый поиск по архиву. Разграничение доступа для пользователей.
    Интеграция с MS Outlook, быстрое восстановление и пересылка любых писем.
    Веб-интерфейс управления с встроенным почтовым клиентом.


    ДВА программных продукта БЕСПЛАТНО');

    SIR модель и её варианты

    Факторы, обеспечивающие затухание сетевых эпидемий, можно оценить на модели, в которой сетевые узлы существуют в трех состояниях: уязвимом (S), зараженном (I) и невосприимчивом (R). S + I + R = N. Для начала предположим, что узлы оказываются неуязвимыми только после излечения от инфекции. Вводя постоянную среднюю скорость «иммунизации» в единицу времени g, получаем систему уравнений:
    SIR модель и её варианты (4)
    В этой модели существует пороговое условие для развития эпидемии. На участке возрастания i(t) производная di/dt должна быть больше 0. Поскольку s(t) непрерывно уменьшается за счет инфицированных машин, то получаем, что для начала эпидемии необходимо:
    s(0) > g/b ? r (5)
    К сожалению, это условие выполняется очень легко, поскольку g определяется запаздывающей человеческой реакцией и необходимостью загрузки громоздких «заплат», а b – постоянно улучшающимися техническими характеристиками сети и «доброй волей» злоумышленника (он может вставить небольшую паузу в цикл размножения, чтобы не создавать катастрофического трафика и слегка понизить скорость инфицирования). Доля же уязвимых узлов обычно очень велика. Поэтому практически всегда b на много порядков превосходит g. (К примеру, при моделировании эпидемии Code Red v2 в [25] согласие с реальными данными достигнуто при соотношении b/g ~106.)
    В реальных условиях «иммунитет» посредством установки антивирусного ПО, межсетевых экранов и «заплат» приобретают не только инфицированные узлы (I), но и уязвимые (S). Предполагая, что средняя скорость иммунизации примерно одинакова для узлов обоих типов и равна (столь же малой) величине g, получим:

    SIR модель и её варианты (6)

    и условие развития эпидемии (5) сохраняется.

    r(t) = 1 – exp(–gt), откуда вытекает, что при достаточно большом времени любую эпидемию теоретически можно вроде бы и преодолеть. Проблема заключается только в том, что это время может оказаться неприемлемо большим.

    SIR модель и её варианты

    Рис. 3. Динамика развития эпидемии в системе (6) при сравнительно малой начальной зараженности сети (10–7). При b/g < 15 вспышка не происходит.

    SIR модель и её варианты

    Рис. 4. Динамика развития эпидемии в системе (6) при значительной начальной зараженности сети (10–4). В этом случае пороговое значение b/g < 9.

    Как видно из Рис. 3 и 4 при «вакцинации» уязвимых узлов для заметной эпидемической вспышки необходимо, чтобы скорость инфицирования превышала скорость иммунизации на два порядка и более, для того, чтобы за время порядка 1/g был пройден порог вспышки iпор. Пока что это не слишком обременительное условие для вирусописателей. Возможным выходом оказалась бы автоматизация процессов устранения уязвимостей. Она могла бы стать существенным фактором ограничения эпидемических рисков, конечно при условии, что черви не смогут блокировать систему обновления ОС, а сами автоматически устанавливаемые «заплаты» не будут нарушать работоспособность иммунизируемой системы и создавать в ней новые опасные уязвимости.

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

    Динамика системы с переменным числом узлов будет определяться скоростью прироста новых уязвимых (S) узлов a:


    SIR модель и её варианты (7)

    Теперь условие развития эпидемии приобретает вид: s > (g + a)/b (8)

    SIR модель и её варианты

    Рис. 5. Динамика развития эпидемии в системе (7).

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

    

        Работа с информацией: Безопасность - Защита - Софт - Криптография