Классификация компьютерных вирусов Вирусы можно разделить на классы по следующим основным признакам: * среда обитания; * операционная система (OC); * особенности алгоритма работы; * деструктивные возможности. По СРЕДЕ ОБИТАНИЯ вирусы можно разделить на: * файловые; * загрузочные; * макро; * сетевые. Файловые вирусы либо различными способами внедряются в выполняемые файлы (наиболее распространенный тип вирусов), либо создают файлы-двойники (компаньон-вирусы), либо используют особенности организации файловой системы (link-вирусы). Загрузочные вирусы записывают себя либо в загрузочный сектор диска (boot-сектор), либо в сектор, содержащий системный загрузчик винчестера (Master Boot Record), либо меняют указатель на активный boot-сектор. Макро-вирусы заражают файлы-документы и электронные таблицы нескольких популярных редакторов. Сетевые вирусы используют для своего распространения протоколы или команды компьютерных сетей и электронной почты. Существует большое количество сочетаний - например, файлово-загрузочные вирусы, заражающие как файлы, так и загрузочные сектора дисков. Такие вирусы, как правило, имеют довольно сложный алгоритм работы, часто применяют оригинальные методы проникновения в систему, используют стелс и полиморфик-технологии. Другой пример такого сочетания - сетевой макро-вирус, который не только заражает редактируемые длокументы, но и рассылает свои копии по электронной почте. Заражаемая ОПЕРАЦИОННАЯ СИСТЕМА (вернее, ОС, объекты которой подвержены заражению) является вторым уровнем деления вирусов на классы. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких OS - DOS, Windows, Win95/NT, OS/2 и т.д. Макро-вирусы заражают файлы форматов Word, Excel, Office97. Загрузочные вирусы также ориентированы на конкретные форматы расположения системных данных в загрузочных секторах дисков. Среди ОСОБЕННОСТЕЙ АЛГОРИТМА РАБОТЫ вирусов выделяются следующие пункты: * резидентность; * использование стелс-алгоритмов; * самошифрование и полиморфичность; * использование нестандартных приемов. РЕЗИДЕНТНЫЙ вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращения операционной системы к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения компьютера или перезагрузки операционной системы. Нерезидентные вирусы не заражают память компьютера и сохраняют активность ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными. Резидентными можно считать макро-вирусы, посколько они постоянно присутствуют в памяти компьютера на все время работы зараженного редактора. При этом роль операционной системы берет на себя редактор, а понятие «перезагрузка операционной системы» трактуется как выход из редактора. В многозадачных операционных системах время «жизни» резидентного DOS-вируса также может быть ограничено моментом закрытия зараженного DOS-окна, а активность загрузочных вирусов в некоторых операционных системах ограничивается моментом инсталляции дисковых драйверов OC. Использование СТЕЛС-алгоритмов позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелс-алгоритмом является перехват запросов OC на чтение/запись зараженных объектов. Стелс-вирусы при этом либо временно лечат их, либо «подставляют» вместо себя незараженные участки информации. В случае макро-вирусов наиболее популярный способ — запрет вызовов меню просмотра макросов. Один из первых файловых стелс-вирусов — вирус «Frodo», первый загрузочный стелс-вирус — «Brain». САМОШИФРОВАНИЕ и ПОЛИМОРФИЧНОСТЬ используются практически всеми типами вирусов для того, чтобы максимально усложнить процедуру детектирования вируса. Полиморфик-вирусы (polymorphic) - это достаточно труднообнаружимые вирусы, не имеющие сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика. Различные НЕСТАНДАРТНЫЕ ПРИЕМЫ часто используются в вирусах для того, чтобы как можно глубже спрятать себя в ядре OC (как это делает вирус «3APA3A»), защитить от обнаружения свою резидентную копию (вирусы «TPVO», «Trout2»), затруднить лечение от вируса (например, поместив свою копию в Flash-BIOS) и т.д. По ДЕСТРУКТИВНЫМ ВОЗМОЖНОСТЯМ вирусы можно разделить на: * безвредные, т.е. никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения); * неопасные, влияние которых ограничивается уменьшением свободной памяти на диске и графическими, звуковыми и пр. эффектами; * опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера; * очень опасные, в алгоритм работы которых заведомо заложены процедуры, которые могут привести к потере программ, уничтожить данные, стереть необходимую для работы компьютера информацию, записанную в системных областях памяти, и даже, как гласит одна из непроверенных компьютерных легенд, способствовать быстрому износу движущихся частей механизмов - вводить в резонанс и разрушать головки некотоорых типов винчестеров. Но даже если в алгоритме вируса не найдено ветвей, наносящих ущерб системе, этот вирус нельзя с полной уверенностью назвать безвредным, так как проникновение его в компьютер может вызвать непредсказуемые и порой катастрофические последствия. Ведь вирус, как и всякая программа, имеет ошибки, в результате которых могут быть испорчены как файлы, так и сектора дисков (например, вполне безобидный на первый взгляд вирус «DenZuk» довольно корректно работает с 360K дискетами, но может уничтожить информацию на дискетах большего объема). До сих пор попадаются вирусы, определяющие «COM или EXE» не по внутреннему формату файла, а по его расширению. Естественно, что при несовпадении формата и расширения имени файл после заражения оказывается неработоспособным. Возможно также «заклинивание» резидентного вируса и системы при использовании новых версий DOS, при работе в Windows или с другими мощными программными системами. И так далее. Загрузочные вирусы; Макро-вирусы; Полиморфик-вирусы; Прочие «вредные программы»; Резидентные вирусы; Сетевые вирусы; Стелс-вирусы; Файловые вирусы; IRC-черви. Методы борьбы с вирусами. 5.1. Методы обнаружения и удаления компьютерных вирусов Способы противодействия компьютерным вирусам можно разделить на несколько групп: профилактика вирусного заражения и уменьшение предполагаемого ущерба от такого заражения; методика использования антивирусных программ, в том числе обезвреживание и удаление известного вируса; способы обнаружения и удаления неизвестного вируса. * Анализ алгоритма вируса * Антивирусные программы * Восстановление пораженных объектов * Обнаружение неизвестного вируса Профилактика заражения компьютера 5.2. DOCTOR WEB – одна из популярнейших антивирусных программ. В последнее время стремительно растет популярность антивирусной программы Doctor Web. Dr.Web также, как и Aidstest относится к классу детекторов - докторов, но в отличие от последнего имеет так называемый "эвристический анализатор" - алгоритм, позволяющий обнаруживать неизвестные вирусы. "Лечебная паутина", как переводится с английского название программы, стала ответом отечественных программистов на нашествие самомодифицирующихся вирусов-мутантов, которые при размножении модифицируют свое тело так, что не остается ни одной характерной цепочки байт, присутствовавшей в исходной версии вируса. Dr.Web можно назвать антивирусом нового поколения по сравнению с Aidstest и его аналогами. В пользу этой программы говорит тот факт, что крупную лицензию ( на 2000 компьютеров) приобрело Главное управление информационных ресурсов при Президенте РФ, а второй по величине покупатель "паутины" - "Инкомбанк". Управление режимами также как и в Aidtest осуществляется с помощью ключей. Пользователь может указать программе тестировать как весь диск, так и отдельные подкаталоги или группы файлов, либо же отказаться от проверки дисков и тестировать только оперативную память. В свою очередь можно тестировать либо только базовую память, либо, вдобавок, ещ_ и расширенную (указывается с помощью ключа /H ). Как и Aidstest Doctor Web может создавать отчет о работе (ключ /P), загружать знакогенератор Кириллицы (ключ /R ), поддерживает работу с программно-аппаратным комплексом Sheriff ( ключ /Z ). Но, конечно, главной особенностью "Лечебной паутины" является наличие эвристического анализатора, который подключается ключем /S. Баланса между скоростью и качеством можно добиться, указав ключу уровень эвристического анализа: 0 - минимальный, 1 - оптимальный, 2 - максимальный; при этом, естественно, скорость уменьшается пропорционально увеличению качества. К тому же Dr.Web позволяет тестировать файлы, вакцинированные CPAV, а также упакованные LZEXE, PKLITE, DIET. Для этого следует указать ключ /U (при этом распаковка файлов будет произведена на текущем устройстве) или /Uдиск: (где диск: - устройство, на котором будет производиться распаковка), если дискета, с которой запущен Doctor Web защищена от записи. Многие программы упакованы таким способом, хотя пользователь может и не подозревать об этом. Если ключ /U не установлен, то Doctor Web может пропустить вирус, забравшийся в запакованную программу. Важной функцией является контроль заражения тестируемых файлов резидентным вирусом( ключ /V ). При сканировании памяти нет стопроцентной гарантии, что "Лечебная паутина" обнаружит все вирусы, находящиеся там. Так вот, при задании функции /V Dr.Web пытается воспрепятствовать оставшимся резидентным вирусам заразить тестируемые файлы. Тестирование винчестера Dr.Web-ом занимает на много больше времени, чем Aidstest-ом, поэтому не каждый пользователь может себе позволить тратить столько времени на ежедневную проверку всего жесткого диска. Таким пользователям можно посоветовать более тщательно (с опцией /S2) проверять принесенные извне дискеты. Если информация на дискете находится в архиве (а в последнее время программы и данные переносятся с машины на машину только в таком виде; даже фирмы-производители программного обеспечения, например Borland, пакуют свою продукцию), следует распаковать его в отдельный каталог на жестком диске и сразу же, не откладывая, запустить Dr.Web, задав ему в качестве параметра вместо имени диска полный путь к этому подкаталогу. И все же нужно хотя бы раз в две недели производить полную проверку "винчестера" на вирусы с заданием максимального уровня эвристического анализа. Так же как и в случае с Aidstest при начальном тестировании не стоит разрешать программе лечить файлы, в которых она обнаружит вирус, так как нельзя исключить, что последовательность байт, принятая в антивирусе за шаблон может встретиться в здоровой программе. Если по завершении тестирования Dr.Web выдаст сообщения о том, что нашел вирусы, нужно запустить его с опцией /P (если эта опция не была указана) для того, чтобы посмотреть, какой файл заражен. После этого нужно скопировать файл на дискету или на электронный диск и попытаться удалить, указав "Лечебной паутине" ключ /F. При неудачном лечении следует поступить так же, как в аналогичной ситуации, описаной выше для программы Aidstest. Для ежедневной работы с дискетами можно посоветовать следующую конфигурацию: web /A/S2/V/O/U/H , где /A - проверять все файлы, /S2 - эвристический анализатор, /V - проверять заражение резидентным вирусом, /O - выводить сообщение OK для незараженных файлов, /U - проверять запакованные ( но не архивированные!) файлы, /H - тестировать верхнюю память. Чтобы все время не набирать одну и ту же последовательность ключей, можно включить в меню пользователя (USER MENU) оболочки NORTON COMMANDER ( или ДОС-НОВИГАТОР, если используется последняя) пункты вызова Dr.Web и Aidstest, либо создать командный файл. Это не только сэкономит время, но и позволит уменьшить объем переменных окружения DOS, так как теперь не нужно будет указывать в команде PATH файла AUTOEXEC.BAT подкаталог с антивирусными программами (некоторые делают это для оперативного обращения к антивирусам). Заключение При работе с современным персональным компьютером пользователя (а особенно начинающего) может подстерегать множество неприятностей: потеря данных, зависание системы, выход из строя отдельных частей компьютера и другие. Одной из причин этих проблем наряду с ошибками в программном обеспечении) и неумелыми действиями самого оператора ПЭВМ могут быть проникшие в систему компьютерные вирусы. Эти программы подобно биологическим вирусам размножаются, записываясь в системные области диска или приписываясь к файлам и производят различные нежелательные действия, которые , зачастую, имеют катастрофические последствия. Чтобы не стать жертвой этой напасти, каждому пользователю следует хорошо знать принципы защиты от компьютерных вирусов. С давних времён известно, что к любому яду рано или поздно можно найти противоядие. Таким противоядием в компьютерном мире стали программы, называемые антивирусными. Данные программы можно классифицировать по пяти основным группам: фильтры, детекторы, ревизоры, доктора и вакцинаторы. Антивирусы-фильтры - это резидентные программы, которые оповещают пользователя о всех попытках какой-либо программы записаться на диск, а уж тем более отформатировать его , а также о других подозрительных действиях (например о попытках изменить установки CMOS). При этом выводится запрос о разрешении или запрещении данного действия. Принцип работы этих программ основан на перехвате соответствующих векторов прерываний. К преимуществу программ этого класса по сравнению с программами-детекторами можно отнести универсальность по отношению как к известным, так и неизвестным вирусам, тогда как детекторы пишутся под конкретные, известные на данный момент программисту виды. Это особенно актуально сейчас, когда появилось множество вирусов-мутантов, не имеющих постоянного кода. Однако, программы-фильтры не могут отслеживать вирусы, обращающиеся непосредственно к BIOS, а также BOOT-вирусы, активизирующиеся ещё до запуска антивируса, в начальной стадии загрузки DOS, К недостаткам также можно отнести частую выдачу запросов на осуществление какой-либо операции: ответы на вопросы отнимают у пользователя много времени и действуют ему на нервы. При установке некоторых антивирусов-фильтров могут возникать конфликты с другими резидентными программами, использующими те же прерывания, которые просто перестают работать. Наибольшее распространение в нашей стране получили программы-детекторы, а вернее программы, объединяющие в себе детектор и доктор. Наиболее известные представители этого класса - Aidstest, Doctor Web, MicroSoft AntiVirus далее будут рассмотрены подробнее. Антивирусы-детекторы расчитаны на конкретные вирусы и основаны на сравнении последовательности кодов содержащихся в теле вируса с кодами проверяемых программ. Такие программы нужно регулярно обновлять, так как они быстро устаревают и не могут обнаруживать новые виды вирусов. Ревизоры - программы, которые анализируют текущее состояние файлов и системных областей диска и сравнивают его с информацией, сохранённой ранее в одном из файлов данных ревизора. При этом проверяется состояние BOOT-сектора, таблицы FAT, а также длина файлов, их время создания, атрибуты, контрольная сумма. Анализируя сообщения программы-ревизора, пользователь может решить, чем вызваны изменения: вирусом или нет. При выдаче такого рода сообщений не следует предаваться панике, так как причиной изменений, например, длины программы может быть вовсе и не вирус. Так был случай, когда один начинающий пользователь не на шутку перепугался, когда антивирус AVSP выдал ему сообщение об изменениях в файле CONFIG.SYS. Оказалось, что до этого на компьютер была осуществлена инсталяция менеджера памяти QEMM, который пишет свой драйвер в CONFIG.SYS. К последней группе относятся самые неэффективные антивирусы - вакцинаторы. Они записывают в вакцинируемую программу признаки конкретного вируса так, что вирус считает ее уже зарaженной.
|