Чтение онлайн

на главную - закладки

Жанры

Защита от хакеров корпоративных сетей

авторов Коллектив

Шрифт:

Первый тип вирусов можно назвать паразитическим. Он распространяется, присоединяясь к файлам таким образом, что они остаются в рабочем состоянии. В системе MS-DOS для этой цели обычно использовались файлы с расширениями. COM и. EXE. В наши дни список доступных для паразитирования типов файлов увеличился. При этом вовсе не обязательно, чтобы файлы были исполняемыми. Например, макровирусы присоединяются к стандартному шаблону normal.dot, который устанавливается по умолчанию вместе с приложением Microsoft Word.

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

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

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

В соответствии с логикой загрузочного процесса вирусы, поражающие загрузочный сектор, делятся на две категории. После включения питания начинается самотестирование системы (Power On Self Test, POST), а затем базовая система ввода/вывода (Basic Input/Output System, BIOS) приступает к инициализации, то есть к проверке загрузочного диска на целостность. В зависимости от конфигурации BIOS проверяться может загрузочная дискета, загрузочный компакт-диск и, наконец, загрузочный жесткий диск.

Жесткий диск является загрузочным при наличии главной загрузочной записи (master boot record, MBR), которая представляет собой небольшой код, расположенный в самом начале жесткого диска (первый сектор первого цилиндра первого диска). Этот код обеспечивает распознавание записей в таблице разделов, описывающей размещение и размер логических дисков в рамках одного устройства. Код главной загрузочной записи ищет раздел, помеченный как загрузочный, и передает управление коду, расположенному в начале раздела (загрузочному сектору). А теперь представим, что произойдет при наличии в этом секторе вируса.

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

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

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

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

«Полезная нагрузка»

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

Существуют вирусы «со спусковым механизмом», «полезная нагрузка» которых выполняется только при определенных обстоятельствах. Скажем, для вируса Michelangelo таким обстоятельством является определенная дата (день рождения скульптора Микеланджело). В других случаях это может быть определенное число успешных заражений.

Если вникнуть в логику происходящего, для вируса лучше всего именно наличие спускового механизма или отсутствие вредоносного кода как такового. Представим вирус, который при активизации немедленно производит заметные невооруженным глазом действия. Это все равно, что написать на экране «Привет! Я вирус!». Пользователь тут же испугается, схватит ближайшую копию антивирусной программы и уничтожит причину неприятностей. Другими словами, немедленные проявления являются гарантией недолговечности вируса. Гораздо разумнее прибегнуть к редко срабатывающему «спусковому механизму». В этом случае у вируса будет достаточно времени для распространения, пока пользователь не поймет, что его компьютер инфицирован. Самые зловредные вирусы вообще никак не проявляют своего присутствия. В этом случае до момента активизации вируса пользователь не подозревает о заражении компьютера, и вирус спокойно выполняет свою задачу.

Прочие уловки

Создатели вирусов и червей потратили много времени, разрабатывая новые способы работы своих творений. Наиболее неприятной уловкой является «эволюция» вируса. Другими словами, время от времени он меняет свою структуру, чтобы обмануть антивирусные программы. Это явление называется полиморфизмом, и его суть состоит в мутации вируса. Можно даже сделать так, чтобы структура вируса полностью менялась от одного воплощения к другому; однако для подобного трюка нужна разветвленная логическая схема, что неизбежно приведет к увеличению размера вируса. Кроме того, вирус со встроенным компилятором намного проще распознать. Впрочем, лучше не переписывать полностью структуру вируса, а менять его отдельные звенья в соответствии с неким случайным ключом. Представим себе вирус, кодирующийся по алгоритму DES (Data Encryption Standard – стандарт шифрования данных). Для его расшифровки применяется известный исходный ключ, а потом вирус снова зашифровывается, но уже с новым ключом. В результате вид вируса изменится.

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

Поделиться:
Популярные книги

Барон Дубов

Карелин Сергей Витальевич
1. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов

Я все еще барон

Дрейк Сириус
4. Дорогой барон!
Фантастика:
боевая фантастика
5.00
рейтинг книги
Я все еще барон

Полковник Гуров. Компиляция (сборник)

Макеев Алексей Викторович
Полковник Гуров
Детективы:
криминальные детективы
шпионские детективы
полицейские детективы
боевики
крутой детектив
5.00
рейтинг книги
Полковник Гуров. Компиляция (сборник)

Черный Маг Императора 6

Герда Александр
6. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
7.00
рейтинг книги
Черный Маг Императора 6

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Последний реанорец. Том III

Павлов Вел
2. Высшая Речь
Фантастика:
фэнтези
попаданцы
5.25
рейтинг книги
Последний реанорец. Том III

Воронцов. Перезагрузка

Тарасов Ник
1. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
5.00
рейтинг книги
Воронцов. Перезагрузка

Звездная Кровь. Изгой II

Елисеев Алексей Станиславович
2. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
технофэнтези
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой II

Убивать чтобы жить 6

Бор Жорж
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 6

Черный дембель. Часть 2

Федин Андрей Анатольевич
2. Черный дембель
Фантастика:
попаданцы
альтернативная история
4.25
рейтинг книги
Черный дембель. Часть 2

Бастард Императора. Том 13

Орлов Андрей Юрьевич
13. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 13

Сержант. Назад в СССР. Книга 4

Гаусс Максим
4. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сержант. Назад в СССР. Книга 4

Второй кощей

Билик Дмитрий Александрович
8. Бедовый
Фантастика:
юмористическое фэнтези
городское фэнтези
мистика
5.00
рейтинг книги
Второй кощей

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7