Защита от хакеров корпоративных сетей
Шрифт:
Это определение использовалось при описании вошедшего в историю червя Морриса, распространявшегося через слабые места в системе защиты почтовой системы Sendmail и демона finger. В настоящее время производители антивирусных программ обычно придерживаются следующей терминологии: червем считается код, распространяющийся между компьютерами, а вирусом – код, распространяющийся внутри отдельной машины. Существуют также программы, обладающие обоими указанными признаками. Часто их называют вирусы / черви.
Следует упомянуть также такое интересное свойство червей, как возможность проникать в систему через уязвимые места в защите программного обеспечения. Например, червь Code Red заражал Web-серверы Microsoft IIS, вызывая переполнение буфера в системе
Макровирусы
Макровирусы, иногда также называемые червями, представляют собой вредоносный код, для выполнения которого требуется запуск определенного приложения-жертвы. Стоит отметить, что классический макровирус возник только благодаря существованию всех тех замечательных функций, которыми производитель снабдил автоматические приложения.
Концепция макровируса очень проста. Чтобы автоматизировать процесс выполнения повторяющихся действий, пользователи встраивают в документ макросы, представляющие собой сценарии выполнения определенных команд. Например, макрос пригодится для печати символов "@footer@", которые затем заменяются одинаковыми кусками текста, содержащего заключительную информацию. По мере развития приложений увеличиваются и функциональные возможности макроязыка. Теперь с его помощью можно открывать и сохранять файлы, запускать сторонние программы, редактировать настройки документов и самого приложения и т. п.
При этом ничто не мешает написать, например, сценарий, заменяющий каждое пятое слово документа случайным словом. А как вам понравится сценарий, умножающий все цифры, рядом с которыми находится знак доллара, на десять? Или вычитающий из этих цифр небольшое число? Несомненно, результат работы такого сценария раздражает. А в руках творческой личности макрос может стать просто разрушительным. К счастью, существует внутреннее ограничение на распространение макровирусов. Они читаются и запускаются строго определенным приложением-жертвой. Одни макровирусы функционируют в Word, другим требуется Excel и т. п. Впрочем, если вы решите, что это ограничивает частоту их появления, могу вас разочаровать.
Компания Microsoft решила использовать при написании пакета Office версию языка Visual Basic, известную под названием Visual Basicfor Application (VBA). Пакет Office включает в себя программы Word, Access, Excel, PowerPoint и Outlook. Любой документ, открытый внутри одного из перечисленных приложений, может быть использован для запуска сценария макровируса. Если учесть, насколько сложные действия позволяет осуществлять язык VBA (например, чтение и запись файлов или запуск других программ), можно смело утверждать, что остановить распространение макровирусов может только бог.
Простейшим примером макровируса является Melissa, поразившая множество почтовых ящиков по всему миру. В основном Melissa распространяется путем передачи по электронной почте кода макроса на языке VBA, выполнение которого осуществляется в почтовой программе Microsoft Outlook. После запуска вирус сначала проверяет, не заражен ли им этот компьютер. В случае отрицательного результата он рассылает себя по первым 50 адресам электронной почты, найденным в адресной книге. Настоящая эпидемия макровируса Melissa возниклаблагодаря его рассылке по спискам, которые в Outlook обычно располагаются в начале адресной книги. В итоге письма с вирусом рассылались десятками тысяч, и некоторые почтовые серверы просто не справлялись с такой перегрузкой.
Троянские программы
Троянские программы представляют собой код, замаскированный под полезную программу, но действующий неожиданным, обычно вредоносным образом. Этот термин напоминает об описанной в «Илиаде» военной хитрости, примененной при осаде Трои. Когда греки не смогли взять город штурмом, они построили огромного деревянного коня и оставили его у городских ворот, предлагая заключить мир. Троянцы
Возможности Троянских коней ограничены тем, что пользователь должен по доброй воле запустить программу, так же как троянцы по доброй воле приняли в подарок коня. Именно поэтому Троянские кони обычно скрываются под другим названием, маскируются под полезное приложение, чтобы одурачить пользователя и заставить его запустить вредоносную программу. Уловки могут быть как очень простыми, например фальшивое имя (это заставляет пользователя думать, что он запускает другую, законно распространяемую программу), так и достаточно сложными, например имитация полезной программы. Одним из таких Троянских коней является червь Pokemon, который показывает на экране анимированные изображения прыгающего Пикачу, в то время как вирус рассылает себя по адресам, найденным в адресной книге почтовой программы, и удаляет все файлы в папке Windows. На рисунке 15.1 показана картинка, которую видит пользователь в процессе выполнения файла pokemon.exe, классифицированного как червь W32.Pokemon.Worm. При этом процесс рассылки червя по электронной почте и удаления системных файлов пользователю совершенно незаметен.
Рис. 15.1. Червь W32.Pokemon.Worm
Для защиты от Троянских коней достаточно соблюдать элементарные меры предосторожности, а именно не запускать неизвестные программы. Этот несложный совет передается в Интернете из поколения в поколение. Большинство пользователей ему следует, но создается впечатление, что все рано или поздно не выдерживают и запускают какую-нибудь неизвестную программу. Однажды этот проклятый танцующий человечек начал свое шествие по Интернету, и я готов биться об заклад, что значительная часть пользователей запустила это приложение сразу же после его получения. Но только представьте, что пока этот человечек танцует на экране, он также удаляет нужные вам файлы, рассылает свои копии по всем адресам из адресной книги или меняет все пароли. Надеюсь, после этого вы перестанете считать его привлекательным.
У многих фирм в свое время возникла идея производства небольших исполняемых электронных поздравительных открыток, которые можно посылать друзьям и знакомым. Эти открытки окончательно размыли границу между вредоносным и безопасным. Если человек привык получать забавные файлы по электронной почте, например от своего друга Боба, он не заподозрит ничего дурного, если Боб (или Троянская программа, разославшая свои копии всем, чьи адреса находились в адресной книге Боба) пришлет таким же способом вредоносный код.
Мистификации
Как ни странно это покажется, но те, кто занимается борьбой с вирусами, отслеживают также различные мистификации и «письма счастья», циркулирующие в Интернете. Не будучи вредоносными в точном значении этого слова, мистификации вводят людей в заблуждение. Впрочем, в этой главе они обсуждаться не будут. Список чаще всего встречающихся мистификаций можно найти на сайте www.f-secure.com/virus-info/hoax.Строение вирусов
Вирусы обычно состоят из двух компонентов: механизма распространения и «полезной нагрузки» (payload). Есть также множество дополнительных функций, с помощью которых авторы вирусов стремятся сделать нашу жизнь веселой.
Распространение
Под механизмом распространения подразумевается способ перехода вируса с одного компьютера на другой. Раньше этот процесс осуществлялся с помощью дискет или ленточных накопителей. Кроме того, вирусы могли распространяться внутри небольших частных сетей. В наши дни, когда значительная часть информации передается через Интернет, скорость распространения вирусов и червей многократно возросла, поскольку они могут распространяться через серверы общего доступа.