Компьютерные вирусы и антивирусные программы
Классификация вирусов. Структура сом- и ехе-программ. Признаки проявления компьютерного вируса. Способы защиты от его воздействия. Антивирусы-полифаги и программы-ревизоры. Виды угроз для систем отправки и приема почты. Вредоносные коды нового поколения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 09.03.2015 |
Размер файла | 67,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Aidstest. Aidstest - это программа-полифаг предыдущего поколения. Первая версия, способная обнаруживать один вирус, была выпущена в 1988 году. Вскоре программа стала признанным лидером на российском рынке антивирусных программ. Последняя версия Aids-test вышла осенью 1997 года и больше эта программа не поддерживается. Все вирусы, входившие в вирусную базу Aidstest, сегодня включены в сканер нового поколения Doctor Web.
Antivirial Toolkit Pro 3.0. Одна из самых популярных в России программ. На данный антивирус выходит еженедельное обновление, в его базе более 30000 записей.
Выпускает этот программный продукт российская вирусная лаборатория Касперского. Есть возможность обновления через сеть. AVP является одним из лидеров на российском рынке антивирусных программ, относится к классу детекторов-докторов, имеет "эвристический анализ". AVP завоевал уже более 10 международных премий. Ассортимент продукции:
Антивирус-ревизор диска ADinf для Windows. Одним из наиболее популярных в нашей стране транзитных ревизоров для сред MS-DOS/Windows является ревизор Adinf, разработанный Дмитрием Мостовым. К достоинствам ревизора Adinf (Advanced Diskinfoscope) можно отнести то, что он позволяет реализовать контроль целостности не только программ, но и информационных файлов и работает с диском непосредственно по секторам путем прямого обращения к функциям BIOS без использования функций DOS. Такой способ проверок полностью исключает маскировку Stealth-вирусов и обеспечивает весьма высокую скорость проверок.
Перед инсталляцией и первым запуском ревизора следует с помощью имеющихся сканеров, например, DrWeb или AidsTest, осуществить тщательный поиск и обезвреживание вирусов в оперативной памяти и на всех логических дисках компьютера. Кроме того, нужно не забыть проанализировать файлы конфигурирования и настройки на предмет отсутствия вызовов несанкционированных программ. При обнаружении такие вызовы следует удалить, а также установить и устранить причину их появления.
В процессе инсталляции ревизора Adinf осуществляется добавление строки его вызова в файл AUTOEXEC.BAT и при первом запуске ревизора формируются следующие эталонные характеристики компьютерной системы:
* объем занимаемой оперативной памяти;
* адрес обработчика прерывания, используемого операционной системой и программами для низкоуровневого доступа к дискам;
* код внесистемного загрузчика, таблица разделов и вторичные загрузочные записи жестких дисков;
* количество и адреса расположения сбойных кластеров логических дисков;
* структура системных областей логических дисков каждого винчестера;
* контрольные суммы содержимого файлов с программами, а также их системные характеристики: путь, дата и время создания, длина, значения атрибутов, адреса физического расположения.
При следующих запусках Adinf выполняет проверки на соответствие эталонным характеристикам в следующей последовательности:
* проверяется объем занятой оперативной памяти и адрес обработчика прерывания;
* анализируются главная и вторичные загрузочные записи жестких дисков;
* проверяются загрузочные сектора логических дисков каждого винчестера;
* анализируется количество и адреса сбойных кластеров логических дисков;
* проверяются деревья каталогов заданных логических дисков;
* сверяются характеристики и контрольные суммы файлов. Обнаруженные изменения анализируются и если они безобидны, например, изменения даты и времени создания, то Adinf помещает информацию об изменениях в список, который можно просмотреть и принять. Если же происходят подозрительные изменения, то ревизор предупреждает об этом пользователя.
К подозрительным изменениям относятся следующие;
* изменение объема доступной оперативной памяти или адреса обработчика прерывании;
* изменения в системных областях жестких дисков;
* появление новых сбойных кластеров;
* изменение контрольных сумм заданных файлов;
* изменение длины файлов без изменения даты и времени модификации;
* изменение файлов с появлением странных даты и времени модификации, (например, 35 марта).
Новые сбойные кластеры на винчестере могут появиться после использования таких утилит проверки и восстановления дисковой памяти, как NDD, ScanDisk, Calibrat и других, которые могли сами пометить неустойчивые или дефектные кластеры как сбойные.
При обнаружении изменений в загрузочных записях жестких дисков Adinf автоматически восстанавливает их исходное содержимое по эталонной информации с выдачей сообщения пользователю.
При обнаружении этих и других изменений следует установить их причину.
Если несвоевременно была обновлена системная информация, ее следует обновить.
Наиболее вероятной причиной изменения загрузчиков и программных файлов является заражение компьютерным вирусом. Следует также учитывать, что некоторые программы могут сами изменять файлы своего хранения, модифицируя в них какие-либо параметры настройки.
В любом случае при обнаружении изменений загрузчиков и программных файлов необходимо приступить к поиску и обезвреживанию вирусов, для чего можно использовать любые транзитные сканеры, например, DrWeb и AidsTest, или воспользоваться функциями программы-сканера ADinf Cure Module, которая за отдельную плату поставляется вместе с ревизором Adinf.
Программа ADinf Cure Module является универсальным дезинфектором (полифагом), предназначенным для удаления вирусов и восстановления зараженных файлов. Восстановление зараженных программ выполняется на основе эталонной информации об этих программах, созданной ревизором Adinf, а не на основе данных о принципах действия известных вирусов.
Эта особенность ADinf Cure Module дает возможность полного восстановления программ, зараженных не только известным, что характерно для сканеров, но и неизвестным вирусом.
Наиболее вероятными причинами изменений файлов данных являются несвоевременное обновление их эталонных характеристик после санкционированных модификаций или несанкционированные изменения, выполненные злоумышленником.
По своим функциональным возможностям обе программы ADinf - ADinf и ADinf для Windows практически идентичны. Вся информация, приведенная в разделе Антивирус-ревизор диска ADinf, верна для обоих вариантов программы.
ADinf для Windows позволяет проверять целостность информации, записанной на дисках компьютера, не завершая Windows и не переключаясь в режим операционной системы DOS. Можно одновременно использовать программы ADinf и ADinf для Windows. ADinf рекомендуется вызывать каждый день до загрузки Windows (например, из файла AUTOEXEC.BAT). Когда Windows уже загружен, можно воспользоваться для проверки компьютера программой ADinf для Windows, имеющей более удобный интерфейс.
Одновременно с ADinf для Windows существует также ADinf Cure Module для Windows, функции которого аналогичны функциям ADinf Cure Module, но который является Windows-приложением.
Обе программы ADinf для Windows и ADinf Cure Module для Windows являются 16-битными Windows-приложениями и одинаково успешно работают как в среде Windows 3.хх, так и в среде Windows 95/98, включая поддержку длинных имен файлов и файловых систем FAT, VFAT и FAT32.
Однако пользователям, работающим в операционных системах Windows 95/98/NT, лучше использовать ревизор нового поколения ADinf32, разработанный специально для этих систем и обладающий большими возможностями.
Принципы работы программы ADinf32. Принцип работы ADinf32 основан на сохранении в специальной базе (таблицах) основных данных о каждом логическом диске в системе. При первом запуске в таблицах запоминаются объем оперативной памяти, образы главного загрузочного сектора, загрузочных секторов, список сбойных кластеров, структура дерева каталогов, длины и контрольные суммы файлов.
Когда вирус заражает компьютер, он изменяет объект, в который внедряется, - исполняемый файл, главный загрузочный сектор или загрузочный сектор. Ревизор ADinf32 позволяет периодически проверять целостность всех объектов, в которые может внедриться вирус. Если при этом будут обнаружены изменения, значит, возможно, в компьютере появился вирус. Если ревизор ADinf32 обнаруживает на диске изменения, характерные для действий вируса, он предупреждает об этом пользователя. В этом случае рекомендуется сразу проверить компьютер полифагом Doctor Web.
Метод обнаружения изменений позволяет ревизору ADinf32 находить новые вирусы, неизвестные ранее. Например, вирус Dir-II, вызвавший массовую эпидемию летом 1991 года, был немедленно обнаружен программой ADinf.
Важным отличием ADinf и ADinf32 от других существующих программ-ревизоров является доступ к накопителям на жестких дисках по секторам без использования функций операционной системы.
Такой метод доступа к жестким дискам позволяет обнаруживать стелс-вирусы. Одной из наиболее важных функций ADinf32 является поиск активных стелс-вирусов. ADinf32 проверяет размер и различные характеристики исполняемых файлов двумя методами - пользуясь для доступа к диску функциями операционной системы и чтением диска по секторам. В случае если в информации, полученной об одном и том же файле, обнаруживаются расхождения, значит, скорее всего, он заражен вирусом и этот вирус в данный момент времени находится в оперативной памяти.
Кроме борьбы с вирусами ADinf32 следит за целостностью и сохранностью информации на жестком диске, позволяя выявить все происходящие на диске изменения. Такая возможность особенно полезна на компьютерах, с которыми работает несколько пользователей.
Программа ADinf32 работает на компьютерах, полностью совместимых с IBM PC/AT или PS/2 с одним или двумя дисководами для гибких дисков и 1-4 жесткими дисками, под управлением Windows 95/98, OSR2, NT 4.xx. Поддерживаются файловые системы FAT12, FAT16, VFAT, FAT32, NTFS.
Программа может находиться в следующих состояниях:
1. Исходное состояние.
2. Состояние сканирования.
3. Сканирование завершено.
4. Ожидание начала сканирования при автозапуске.
В последнем режиме программа находится, если установлена задержка начала сканирования при автоматической проверке дисков при загрузке Windows.
В режиме ожидания главная управляющая кнопка позволяет прервать ожидание и начать сканирование, кнопка Выход позволяет завершить ADinf32. Также возможно изменить установки сканирования без CRC и режима обновления таблиц. Другие управляющие элементы недоступны.
По истечении заданного времени задержки ADinf32 автоматически переходит в режим сканирования. Задержка бывает полезна, чтобы не замедлять запуск других приложений, стартующих при загрузке Windows.
9. Виды угроз для систем отправки и приема почты, способы их ликвидации
Так как основным понятием почтовых программ является электронное письмо, то существует некоторое множество угроз безопасности относительно данного объекта. Прежде всего, выделим следующие:
· СПАМ (массовая, неперсонифицированная рассылка, с использованием специальных программ, коммерческой, политической и иной рекламы или иного вида сообщений людям, не выразившим желания их получать);
· несанкционированный перехват информации;
· рассылка вредоносных программ (вирусов и т.д.);
· подмена пользователя;
· рассылка программ-сборщиков;
· отказ от факта получения почты.
В настоящее время для систем отправки и приема почты все большую угрозу представляет несанкционированная рассылка сообщений (СПАМа), так как такая информация зачастую не интересна получателю, засоряет его почтовый электронный ящик, а также сообщение такого типа может содержать вредоносные программы.
В связи с этим были разработаны, так называемые, методы фильтрации почты. Они предусматривают два варианта, полученное сообщение, помеченное меткой "СПАМ", помещается в отдельную папку, просмотрев которую пользователь может либо удалить данное сообщение, либо оставить, если он уверен, что оно пришло от знакомого адресата.
Второй вариант предполагает немедленное удаление подозрительного сообщения на сервере, причем пользователь не сможет увидеть даже факт получения такого сообщения.
Параметры заголовков писем. Минимально необходимыми являются следующие поля "Date: ", "From: ", "Cc: " и/или "To: ", где "Date: ", "From: ", "Cc: " и "To: " являются именами заголовка, а через пробел напротив каждого имени заголовка указано соответствующее содержание.
Определим значение каждого указанного имени заголовка:
· Поле "Date: " - назначение данного заголовка очевидно: он указывает дату и время отправки письма. "Date: " выставляется компьютером отправителя, на котором может быть неправильно установлены дата и время. Если этот заголовок не был создан на компьютере отправителя, то, возможно, его добавит почтовый сервер или какой-нибудь другой компьютер, через который пройдет письмо.
· "From: " - указывает адрес отправителя.
· "To: " - адрес(а) получателя(ей). Отметим, что поле "To: " не обязано содержать адрес получателя, а также может содержать адреса нескольких получателей.
· "Cc: " (Carbon Copy) - адресация копий, этот заголовок является расширением поля "To: ", он указывает дополнительных получателей письма (получатель "To: " видит список всех "Cc: "). Различий между заголовками "To: " и "Cc: ", в сущности, нет, если не считать, что некоторые почтовые программы рассматривают их по-разному, генерируя ответ на сообщение.
Но это только самые основные поля заголовка. Обычно заголовок содержит значительно больше полей, чем указано выше. Рассмотрим подробнее все поля электронного письма:
· Поле "Received:" - штамп прохождения письма через почтовый сервер. Заголовки "Received:" предоставляют подробную информацию о жизни сообщения и не дадут обмануть получателя сообщения, откуда именно пришло письмо. Если, например, домен turmeric.com, IP-адрес которой 104.128.23.115, посылает сообщение домену mail.bieberdorf.edu, но пытается ее обмануть, сказав HELLO galangal.org, заголовок "Received: " получится следующим: "Received: from galangal.org (turmeric.com [104.128.23.115]) by mail.bieberdorf.edu...". Здесь подделка сразу выводится на чистую воду. Данная строка говорит: "домен turmeric.com, чей адрес 104.128.23.115, назвалась galangal.org".
· "Message-Id: " - уникальный идентификатор письма, присваиваемый каждому сообщению, - чаще всего первым почтовым сервером, который встретится у него на пути, либо же почтовым клиентом. Обычно он имеет форму "sunset@domain.ru", где "sunset" набор произвольных символов, а вторая часть "domain.ru" - имя домена, присвоившей идентификатор. Иногда, но редко, "sunset" включает в себя имя отправителя. Message-Id используется программами доставки почты во избежание "зацикливания" письма.
· Поле "Bcc:" - скрытая копия. "Bcc:" (Blind Carbon Copy) - слепая/скрытая копия (получатели не подозревают о других получателях из поля "Bcc:"). Скрытые копии очень популярны среди людей, рассылающих нежелательные сообщения, поскольку многие неопытные пользователи оказываются сбитыми с толку, получив письмо, которое, вроде бы, не было им адресовано.
· "Subject:" - тема письма (наличие "Re:" означает ответ; "Fwd:" - переадресацию). Почтовый стандарт допускает наличие только латинских символов (US-ASCII) в поле "Subject: " поэтому, несмотря на то, что многие пользователи заполняют данное поле русскими буквами, этого делать не рекомендуется. Нормальная ситуация - когда написанная русскими буквами тема письма при отправке перекодируется почтовой программой отправителя в 7-битную base64 с указанием языковой кодировки, в которой эта тема написана (как это делают программы Pine, Pegasus Mail), а почтовая программа получателя декодирует тему письма в читаемый вид.
· "Reply-To:" - адрес для ответов. Несмотря на то, что этот заголовок имеет множество способов цивилизованного применения, он часто используется неправомерно, при указании там либо несуществующего адреса, либо чужого адрес.
· "In-Reply-To:" - показывает, что сообщение относится к типу "ответ на ответ".
· "Comments:" - означает комментарий. Этот заголовок не является стандартным, а потому может содержать любую информацию. Подобные заголовки добавляются некоторыми почтовыми программами (в частности, популярной программой Pegasus) для идентификации отправителя, но часто прописывается вручную неправомерным образом, так что относиться к нему следует с осторожностью.
· "Status:" - статус письма (новое, прочитанное).
· "Apparently-To:" - эти заголовки нетипичны для нормальных сообщений, они обычно являются признаком массовой рассылки. В последнее время для массовых рассылок используется программное обеспечение, достаточно "умное", чтобы не плодить гигантские списки из этих заголовков.
· "Organization:" - абсолютно свободный заголовок, обычно содержащий название организации, через которую отправитель сообщения получает доступ к сети. Отправитель, как правило, контролирует этот заголовок.
· "Priority:" - исключительно свободный заголовок, устанавливающий приоритет сообщения. Большинство программ его игнорируют. Часто используется неправомерно в форме "Priority: urgent" (или что-нибудь в этом роде) с целью привлечения внимания к сообщению.
· "Errors-To:" - указывает адрес для отсылки автоматически генерируемых сообщений об ошибке, таких как "нет такого пользователя". Это редко используемый заголовок, так как большинство отправителей обычно хотят получать сообщения об ошибках на исходящий адрес, который используется почтовыми серверами по умолчанию.
Правила и методы фильтрации нежелательной входящей почты
Существует определенное количество методов, которые реализуют идею аутентификации (проверки подлинности) отправителя.
Рассмотрим распределенные методы фильтрации СПАМа. Технически СПАМ можно фильтровать двумя основными способами: по формальным признакам сообщения (по обратному адресу, способу посылки и оформлению) и по его содержанию (то есть по его смыслу, семантически).
Формальные методы:
· Черные списки (Blackhole Lists).
Рекламные агенты или хакеры посылают свои письма с определенных ЭВМ. Оказывается, что строку "Откуда" (From), как и большинство других элементов электронного письма, крайне легко фальсифицировать.
Однако IP-адрес, с которого приходит сообщение, - то есть его интернет-адрес - подделать почти невозможно. Черные списки включают перечни адресов отправителей СПАМа; они составляются примерно таким же образом, как работают системы с поиском совпадений, - либо на основе жалоб пользователей, либо с помощью "ловушек".
Часто в черные списки попадают открытые прокси-серверы и открытые почтовые пересылки. Сообщения пользователей, попавших в черные списки, блокируются.
· Белые списки, или безопасные списки, - это одна из самых распространенных технологий, которая работает в сочетании с обучаемыми фильтрами, системами с поиском совпадений и системами с запросом к отправителю.
В белые списки включают тех людей, которые зарекомендовали себя как добропорядочные отправители. Как правило, это индивидуальные пользователи, хотя в некоторых системах могут быть указаны целые домены. Если обучаемая система помечает сообщение как СПАМ, но отправитель записан у пользователя в белом списке, то сообщение все же доходит до адресата. Таким образом этот метод блокирования СПАМа помогает уменьшить вред от ложных срабатываний.
Формальные правила.
Формальные правила проверяют способ посылки письма и его оформление.
К типичным признакам СПАМ-письма относятся отсутствие адреса отправителя, отсутствие или наличие слишком большого числа получателей, отсутствие IP-адреса в системе DNS, сфальсифицированные или некорректные служебные заголовки и т.п. Часто также производится фильтрация по размеру и формату сообщения.
По мнению Федеральной торговой комиссии США, у пользователей есть два основных способа защитить свои адреса электронной почты от программ-сборщиков:
1) "Замаскировать" свой электронный адрес. В почтовый адрес пользователя можно вставить слово или выражение, которое обманет компьютерную программу-сборщик, но только не человека. Например, адрес johndoe@myisp.com (вася@провайдер.com) можно замаскировать как johndoe@spamaway.myisp.com (вася@спаму-нет.провайдер.com).
2) Использовать отдельное экранное имя в чат-форумах. Для онлайновых чат-форумов можно создавать экранное имя, не связанное с адресом электронной почты. К примеру, зайдя на форум о рекламе, и зарегистрировавшись там, выбрать имя, не имеющее отношение к рекламе.
10. Вирусы нового поколения
В сентябре 2008 датчики распределенных антивирусных сетей зафиксировали необычную активность - эпидемия вирусов нового поколения начала свое распространение практически одновременно с Индонезии, Вьетнама и Таиланда, обходя антивирусные преграды.
Этот способ основан на создании удаленного потока посредством вызова API-вызова CreateRemoteThread, которому в качестве стартового адреса передавался указатель на вредоносный код, записанный в адресное пространство программы тем или иным способом. Например, выделением памяти на куче с последующим копированием shell-кода API-вызовом WriteProcessMemory. Для обнаружения, достаточно взглянуть на стартовый адрес программы - у "нормальных" потоков он указывает в область страничного имиджа PE-файла, а у "рукотворных" - лежит в стеке, куче или еще где-нибудь.
Попытки работы с таким процессом под отладчиком не к чему не привели, отладчики не могут отображать истинные стартовые адреса "рукотворных" потоков, отображая какой-то невменяемый адрес, ведущий в недра KERNEL32.DLL, что, конечно, весьма подозрительно, но и такое может быть.
Оказалась, что стартовый адрес формируется до инициации TLS/Dllmain, а после инициализации обращения к оригинальной точке входа, прописанной в PE-заголовке, уже не происходит - система использует адрес, сохраненный в стеке и этот адрес действительно может быть изменен. Антивирусы (не говоря уже о отладчиках) к такому действию разумеется не готовы, и они просто теряют контроль над исполняемым файлом!
Технологию изменения точки входа, использованная в вирусах нового поколения, которая статическими антивирусными сканерами не обнаруживается в принципе! Как минимум, нужен полноценный эмулятор ЦП с качественным эмулятором окружения Windows, учитывающим недокументированные особенности системного загрузчика PE-файлов.
В ноября 2008 года из всех существующих антивирусов вирус нового поколения могли обнаруживать только NOD32, F-Secure, Symantec, KAV, Dr.Web, и то, только после усовершенствования эмулятора окружения Windows. Остальные же никак не реагируют.
Следует заметить, что позиция стартового адреса потока в стеке непостоянна, и варьируется даже в рамках отдельно взятой версии операционной системы, вирус использует фиксированные локации и потому функционирует только под строго определенными версиями операционной системы. Однако возможно что в последующем алгоритм будет совершенно не системно-независим, например можно просканировать стек на предмет поиска наиболее вероятных кандидатов на роль стартового адреса.
В конце февраля 2009 года компания Endeavor Security, Inc работает над защитой AMP (Active Malware Protection), добавляя к ней перехаченный x86emu вместе с эмулятором окружения Windows, "осведомленным" о недокументированных возможностях системного загрузчика PE-файлов. Так что AMP имеет все шансы оказаться первым коммерческим продуктом, способным распознавать вирус нового поколения и не только распознавать, но и блокировать.
А проблема действительно очень большая и чем дальше, чем больше. Какое-то время антивирусы не смогут обнаруживать вирус, изменяющую точку входа в PE-файл, и для борьбы с вирусом придется сражаться с ней вручную, а для этого нужно не только уверенно пользоваться различными отладчиками (например, DIA-pro) и hex-редакторами, но и разбираться в недокументированных тонкостях работы системного загрузчика.
Спецификация на PE-файл от Microsoft описывает специальное поле в PE-заголовке, хранящее относительный виртуальный адрес (RVA) точки входа в файл, с которого как бы и начинается его выполнение. "Как бы" потому что точка входа (она же Entry Point) выполняется не первой, а последней. До передачи управления на Entry Point система загружает все статически прилинкованные динамические библиотеки, вызывая функции Dllmain, исполняющиеся в контексте загрузившего их процесса и способные воздействовать на него любым образом. TLS-callback'и так же получают управление до выполнение точки входа, которой вообще-то может и не быть. В самом деле! Если Dllmain или TLS-callback не возвратит управление, точку входа вызывать уже будет некому и потому она может указывать на любой код.
Отладчики, антивирусы и другие программы, работающие с анализом исполняемых файлов ставят точку остановки на Entry Point, в надежде, что он сработает. Но он не сработает, если адрес точки входа изменен. Когда отладчик порождает отладочный процесс и запускает его на выполнение, то первым срабатывает бряк, засунутый системой в функцию NTDLL!DbgBreakPoint, сигнализирующую о том, что отлаживаемый файл спроецирован в адресное пространство и с ним можно работать как со своим собственным. В частности, считывать PE-заголовок и устанавливать точку остановки на точку останова. Дело в том, что операционная система никак не информирует отладчик о передаче управления на точку входа и отслеживать этот процесс отладчик должен самостоятельно.
Некоторые вирусы используют довольно хитрый трюк, совершая прыжок из TLS-callback'а, т.е. фактически выполнения TLS-callback без возврата управления, в результате чего оригинальная точка останова не вызывается и может содержать что угодно. Конечно, в разумных пределах. Наглеть не стоит. В частности, начиная с XP системный загрузчик выполняет ряд проверок и файлы с точкой останова вылетающей за пределы страничного образа просто не загружаются в память!
На самом деле, антивирус, эмулирующий TLS (а проэмулировать его несложно, благо он уже давно документирован) определит эту комбинацию, хотя на практике подавляющее большинство антивирусов либо вообще не знают о существовании TLS, либо эмулируют их некорректно.
Вирусы нового поколения в добавляют какое-то значение к некоторой ячейке памяти, лежащей в области стека и возвращает управление системе. Человек с отладчиком чисто теоретически может проверить тысячи машинных инструкций, ответственных за инициализацию файла, дожидаясь момента передачи управления на точку входа или хотя бы область памяти не принадлежащую системе, а находящуюся в границах PE-файла или одной из принадлежащих ему динамических библиотек. Тогда можно будет обнаружить, что точка входа каким-то магическим образом не получает управления! Антивирусам приходится еще хуже. Они не могут трассировать код, исполняющийся на живой операционной системе.
Стартовый адрес абсолютно недокументирован и в то же самое время неизбежно следует из документированных функций и особенностей работы системного загрузчика, а системный загрузчик в грубом приближении работает так:
· проецирует PE-файл в память;
· считывает PE-заголовок, извлекает оттуда значение точки останова, представляющее собой относительный виртуальный адрес (RVA) и переводит его в линейный адрес (VA) путем сложения с базовым адресом, так же хранящимся в PE-заголовке;
· VA адрес точки входа передается функции CreateRemoteThread() в качестве одного из аргументов, а передается он через стек, поскольку 32-разряные версии Windows используют stdcall-соглашение для всех API-функций без исключения (64-разрядные версии Windows используют fastcall-соглашение, передавая аргументы через регистры и стартовый адрес потока в стек не попадает);
· стартовый адрес базового потока (указывающий на точку входа) после прохождения всех проверок заталкивается в стек и больше к PE-заголовку система не обращается (очень важный момент!);
· CreateRemoteThread() выполняет инициализацию потока в процессе которой отрабатываются функции Dllmain статически прилинкованных DLL, а так же имеющиеся TLS-callback'и (если они, конечно, есть);
· на завершающем этапе инициализации PE-файла, CreateRemoteThread() зовет недокументированную, не экспортируемую, сугубо внутреннюю функцию функцию BaseProcess(), передавая ей стартовый адрес потока, почерпнутый из стека в качестве аргумента;
· BaseProcess() передает управление по указанному адресу.
Точка входа представляет собой аргумент API-функции CreateRemoteThread(), имеющей документированный прототип. Причем, этот аргумент попадает на стек до отработки Dllmain/TLS-callback, а извлекается из стека после того, как они возвратят управление. Причем, никакие проверки валидности стартового адреса потока не выполняются, а это значит, что Dllmain/TLS-callback могут изменять стартовый адрес потока по своему усмотрению.
Антивирусы, претендующие на роль "лекарства" от вирусов нового поколения. Участники рынка антивирусов испытывают серьезные проблемы с поиском образцов свежей малвари. Наглядный тому пример - Rustock.C. Когда одни компании уже выпустили лекарство, другие-лихорадочно пытались заполучить хотя бы один рабочий образец. По данным компаний, владеющих распределенными сенсорными сетями, эпидемия завершила еще до выпуска лекарства в свет (по другим данным - спустя несколько дней после его выхода).
IDS и IPS. Новое время требует новых решений. Лучшими для борьбы с червями стали системы обнаружения вторжений, они же Intruder Detection System или, сокращенно, IDS. В отличие от антивирусов и pro-активных механизмов, работающих с файлами и хучащих операционную систему, так что она постоянно засоряет систему. IDS работает с аппаратной частью, прогоняя через себя весь входящий/исходящий сетевой трафик, и через специальную базу "правил" (фактически, тех же самых сигнатур) ловит подозрительные пакеты или детектит специфичную сетевую активность.
Локальные антивирусы с эвристическими анализаторами на борту доступны всем желающим. Прежде, чем выпускать червя в Сеть, хакеры многократно прогоняют его через кучу антивирусов, совершенствуя код, пока все эвристики не заткнутся. Собственно, потому эвристический анализ и не работает.
Список литературы
1. Безруков Н.Н. "Классификация компьютерных вирусов MS-DOS и методы защиты от них", Москва, СП "ICE", 1990 г.
2. Безруков Н.Н. "Компьютерные вирусы", Москва, Наука, 1991.
3. Денисов Т.В. "Антивирусная защита"//Мой Компьютер-№4-1999г.
4. Мостовой Д.Ю. "Современные технологии борьбы с вирусами" // Мир ПК. - №8. - 1993.
5. Ф. Файтс, П. Джонстон, М. Кратц "Компьютерный вирус: проблемы и прогноз", Москва, "Мир", 1993 г.
1. Информатика. Базовый курс. / Под ред. С.В. Симоновича. - СПб., 2000 г.
2. А.П. Микляев, Настольная книга пользователя IBM PC 3-издание М.:, "Солон-Р", 2000, 720 с.
3. Симонович С.В., Евсеев Г.А., Мураховский В.И. Вы купили компьютер: Полное руководство для начинающих в вопросах и ответах. - М.: АСТ-ПРЕСС КНИГА; Инфорком-Пресс, 2001. - 544 с.: ил. (1000 советов).
4. Ковтанюк Ю.С., Соловьян С.В. Самоучитель работы на персональном компьютере. - К.: Юниор, 2001. - 560с., ил.
Приложение
1. Каким методом боролись против Вьюнка, первого в истории вируса:
а) Проводилось сканирование всех жестких дисков одновременно до тех пор, пока не будет найдет код программы, не принадлежащей системе;
б) Была создана программа "Жнец", репродуцирующая наподобие Вьюнка, но уничтожающая все встретившиеся ему копии последнего
в) Удалялись все подозрительные файлы. На тот момент времени это был самый действенный способ.
2. По каким критериям НЕ различают компьютерные вирусы:
а) по среде обитания;
б) по особенностям алгоритма;
в) по целостности;
г) по выполняемым действиям;
д) по шифрованию;
3. В чем особенность компьютерного вируса вида "Зомби":
а) собирают информацию о действиях и поведении пользователя;
б) маскируется в других безвредных программах;
в) позволяют злоумышленнику управлять компьютером пользователя;
г) программа, которая делает копии самой себя.
4. Выделите признаки появления вируса;
а) медленная работа компьютера;
б) изменение размеров файлов;
в) исчезновение файлов и каталогов или искажение их содержимого;
г) невозможность загрузки операционной системы;
е) все выше перечисленное.
5. Выделите схему функционирования простого бытового вируса, живущего в загрузочных секторах дискет.
А) ВИРУС - ПНЗ (ПЗУ)- ПНЗ (диск) - СИСТЕМА;
Б) ПНЗ (ПЗУ) - ПНЗ (диск) - ВИРУС - СИСТЕМА;
В) ПНЗ (ПЗУ) - ВИРУС - ПНЗ (диск) - СИСТЕМА;
6. Функция программ-ревизоров состоит в том, что они:
а) Ищут в программах и документах знакомые участки вирусного кода;
б) Проводят процедуры обнаружения следов активных загрузочных и stealth-вирусов в памяти компьютера;
в) Запоминают исходное состояние программ, каталогов и системных областей диска тогда, когда компьютер не заражен вирусом, а затем периодически или по желанию пользователя сравнивают текущее состояние с исходным.
7. Что такое СПАМ?
а) массовая рассылка, проникающая в системный код втайне от пользователя;
б) массовая рассылка, с использованием специальных программ, коммерческой, политической и иной рекламы или иного вида сообщений людям, не выразившим желания их получать;
8. Что такое Белые списки (или безопасные списки)?
а) список программ, хорошо зарекомендовавших себя в борьбе с вирусом;
б) это пользователи, которые зарекомендовали себя как добропорядочные отправители;
в) Список программ, хорошо защищенных от вируса.
9. Перечислите способы защиты своих адресов электронной почты от программ-сборщиков:
а) создание мнимых электронных ящиков;
б) "замаскировать" свой электронный адрес;
в) использовать отдельное экранное имя в чат-форумах;
г) А и Б;
д) А и В;
е) Б и В;
ж) Все перечисленные.
10. Что такое "Проактивная защита" и функцией какого антивируса она является: - Таким образом, компьютер защищен не только от уже известных вирусов, но и от новых, еще не исследованных.
а) это функция AVAST!, которая сканирует все входящие данные в Хард-диск через все USB-порта;
б) это компонент Антивируса Касперского, который позволяет обнаружить новую вредоносную программу еще до того, как она успеет нанести вред;
в) это директива NortonAntiVirus, вычисляющая вирус перед активацией BIOS.
Размещено на Allbest.ru
...Подобные документы
Кто и почему пишет вирусы. Компьютерные вирусы, их свойства, классификация. Пути проникновения вирусов в компьютер, механизм распределения вирусных программ. Методы защиты от компьютерных вирусов. Антивирусные программы: Doctor Web, Microsoft Antivirus.
реферат [45,2 K], добавлен 27.09.2008Понятие компьютерного вируса, причины и последствия его активизации. Признаки появления вирусов. Стоимость нанесенного вреда. Хакерские утилиты и прочие вредоносные программы. Параметры, которым должны отвечать антивирусные программы, их классификация.
презентация [1,3 M], добавлен 17.02.2014Первый прототип вируса. Идея создания самовоспроизводящихся программ. Разработка вирусоподобных программ. Основные признаки проявления вирусов. Классификация компьютерных вирусов. Рынок антивирусных программ. Основные виды антивирусных программ.
презентация [1,8 M], добавлен 25.10.2012Понятие компьютерного вируса, классификация по среде обитания, способу заражения, воздействию и особенностям алгоритма. Пути проникновения вирусов в компьютер, механизм распределения вредоносных программ. Программы-детекторы, ревизоры, фильтры и вакцины.
доклад [29,5 K], добавлен 26.09.2011Понятие компьютерного вируса. Его появление в работе на компьютерах. Разновидности компьютерных вирусов: невидимые, самомодифицирующиеся. Защита от них. Антивирусные программы. Вакцины. Программы - детекторы, ревизоры, фильтры. Действия при заражении.
реферат [13,8 K], добавлен 21.06.2008Вирусы - самовоспроизводящиеся программы, их свойства и классификация. Примеры схем их функционирования. Пути проникновения в компьютер и механизм распределения вирусных программ, признаки их проявления. Способы защиты от них, антивирусные средства.
контрольная работа [36,1 K], добавлен 13.01.2011Рассмотрение понятия, признаков проявления (изменение размеров файлов, даты их модификации), видов (сетевые, файловые, резидентные, троянские программы) компьютерного вируса. Характеристика основных антивирусных программ: детекторов, докторов, ревизоров.
реферат [22,4 K], добавлен 05.06.2010Основные способы защиты от компьютерных вирусов. Основные признаки проявления вирусов: прекращение работы программ, медленная работа компьютера, изменение размеров, даты и времени файлов. Пути возникновения вирусов. Характеристика известных антивирусов.
презентация [1,1 M], добавлен 02.12.2011Понятие компьютерного вируса как программы, несанкционированно проникшей в компьютер с целью нанесения вреда. Способы проникновения шпионских программ: червей, троянских и мобильных вирусов, зомби, фишинга, фарминга. Достоинства и недостатки антивирусов.
презентация [1,1 M], добавлен 31.10.2011Определение понятия компьютерного вируса как небольшой программы, которая распространяется с машины на машину и вмешивается в работу операционной системы. Классификация вирусов: загрузочные, файловые, черви, сетевые. Разновидности антивирусных программ.
курсовая работа [350,3 K], добавлен 25.03.2012Сущность, типы и возможности компьютерного вируса. Факторы, способствующие заражению компьютера вирусом. Стандартные действия при заражении вирусом. Наиболее распространенные методы обнаружения вирусов. Антивирусы на SIM, флэш-картах и USB устройствах.
реферат [30,5 K], добавлен 10.06.2010Разновидности компьютерных вирусов. Антивирусные программы. Стандартные программы оперативной системы Windows. Проявление наличия вируса в работе с ПЭВМ. Последствия заражения компьютера вирусами.
контрольная работа [27,9 K], добавлен 28.07.2004Самовоспроводящиеся компьютерные программы. Классификация компьютерных вирусов. Основные группы: загрузочные, файловые, сетевые, скриптовые и сетевые черви. Хакерские утилиты и прочие вредоносные программы. Основные каналы распространения вирусов.
презентация [527,7 K], добавлен 11.01.2011Вирус – компьютерная программа, способная к саморазмножению. Вирусы класифицируются по среде обитания, способу заражения, масштабу воздействия, особенностям алгоритма. Проникновение вирусов в систему. Защита компьютера от вируса. Антивирусные программы.
творческая работа [287,3 K], добавлен 26.02.2009Определение и типы компьютерных вирусов, принципы их распространения. Методы борьбы с вирусами и средства обнаружения, антивирусные программы, доктора-ревизоры и их применение, программы-фильтры, вакцины в оперативной памяти компьютера и их значение.
дипломная работа [45,2 K], добавлен 07.05.2012Установка и использование антивирусных программ. Определение скорости проверки файлов на наличие вирусов. Проверка антивирусных программ на эффективность поиска зараженных файлов. Антивирусные программы NOD32, Dr. WEB, Kaspersky Internet Security.
курсовая работа [69,1 K], добавлен 15.01.2010Особенности работы и создания компьютерного вируса - вредоносной программы, которая самостоятельно может создавать свои копии и внедрять их в программы, файлы, документы, загрузочные сектора носителей данных. Признаки заражения ПК вирусом, способы защиты.
реферат [24,9 K], добавлен 26.03.2010Основные способы распространения и характер проявления вирусов. Классификация вирусов, способы борьбы с ними. Современные антивирусные системы. Требования к антивирусным программам, их разделение на детекторы, доктора, ревизоры, фильтры, вакцины.
курсовая работа [1,3 M], добавлен 23.04.2013Файловые вирусы. Загрузочные, комбинированные и вирусы-спутники. Вирусы в пакетных файлах, шифрующиеся и полиморфные, стелс-вирусы и макрокомандные. Вредоносные программы: троянские, логические бомбы и программы-черви. Новые и экзотические вирусы.
реферат [18,7 K], добавлен 23.09.2008Свойства и классификация компьютерных вирусов, использование вирусов-невидимок. Схемы функционирования простых загрузочных и файловых вирусов. Троянские кони, программные закладки и сетевые черви. Признаки появления вирусов и методы защиты от них.
реферат [37,2 K], добавлен 11.01.2012