Записки исследователя компьютерных вирусов
Шрифт:
Основной недостаток подавляющего большинства антивирусов как раз и состоит в том, что, удаляя вирус из системы, они даже не пытаются заткнуть те дыры, которые он использует для своего распространения. Как следствие, «лечение» компьютера, подключенного к сети, превращается в перегон тараканов из одной казармы в другую, а затем обратно. Ладно, заражение локальной сети – это еще полбеды («останавливаем» сеть, лечим все машины, «запускаем» сеть), но вот заражение Интернета представляет собой весьма нетривиальную проблему. Вылечить все машины глобальной сети за раз просто нереально… Можно (и нужно!) установить очередное обновление от Microsoft, заткнув брешь в
В идеале каждый из нас должен быть готов к самостоятельному отражению вирусной атаки, не надеясь на помощь извне. Существование подобных отрядов самообороны, рассредоточенных по всей сети, сделало бы развитие глобальных эпидемий практически невозможным и свело убытки от хакерских атак к разумному минимуму. В свое время существовала замечательная книга «Компьютерные вирусы в MS-DOS» Евгения Касперского, доходчиво объясняющая методики рукопашной борьбы с вирусами, доступные для освоения любому специалисту средней руки. Однако с появлением Windows и развитием глобальных сетей стратегия заражения существенно изменилась и старые рецепты перестали работать, а новых книг по этой тематике с тех пор так не выходило.
Данная книга представляет собой робкую попытку хотя бы частично заткнуть информационную брешь, раскрывая повадки вирусов и предлагая эффективные средства защиты и борьбы. Материал ориентирован на системных администраторов и программистов с минимальным уровнем подготовки.
ПОЧЕМУ АНТИВИРУСЫ СТАЛИ ПЛОХОЙ ИДЕЕЙ
Существуют по меньшей мере шесть причин, по которым не стоит доверять антивирусам.
Первое (и самое главное) – приобретая антивирус, вы платите живые деньги, но ровным счетом ничего не получаете взамен. В лучшем случае антивирус предотвращает потерю информации, но не более того!
Во-вторых, вероятность успешного обнаружения вирусной заразы относительно невелика, а о гарантиях ее корректного лечения говорить и вовсе не приходится. Судите сами – новые вирусы появляются едва ли не каждый день, а ведь на поиск и выявление заразы, ее анализ и разработку противодействующей вакцины неизбежно уходит какое-то время, в течение которого вы остаетесь уязвимы! Причем фирмы-производители антивирусов просто физически не в состоянии оперативно отслеживать появление новых, мутированных или модифицированных, штаммов. Статистика показывает, что все крупные эпидемии как раз и вызываются вот такими до поры до времени незамеченными вирусами (и нашумевшая атака на SQL-серверы – лучшее тому подтверждение) (см. главу 3 «Жизненный цикл червей»).
В-третьих, даже если зараза формально известна антивирусу, не факт, что он сможет ее «опознать». Техника детектирования полиморфных и шифрованных вирусов очень сложна, и малейшая небрежность разработчиков, допущенная при анализе вирусного кода и/или разработке вакцины, приводит к тому, что один или несколько вирусных штаммов остаются незамеченными. К тому же, любой ламер, вооруженный hex-редактором, может «отрихтовать» любой известный вирус, сделав из него десяток-другой неизвестных, – делов-то! Короче говоря, качество распознавания заразы все еще оставляет желать лучшего.
В-четвертых, антивирусы способны выдавать ложные срабатывания, ругаясь на присутствие вирусов там, где в действительности их и в помине нет. Шутки шуткою, но убытки от такой чрезмерной подозрительности просто грандиозны! Сколько начинающих программистских контор разорились только из-за того, что распространяли «зараженную» (по мнению антивирусов) продукцию! А паника, поднятая антивирусом? Судорожное отключение машин, вызов специалистов, изматывающий поиск черной кошки в черной комнате? Черт с ними, с нервными клетками (они хоть и не восстанавливаются, но на их место приходят новые), кто нам бесцельно прожитые секунды вернет?! Какой антивирус их восстановит?
В-пятых, антивирусы, как и любые другие программы, могут содержать ошибки (и, как показывает практика, они их действительно содержат), последствия которых варьируются от эпизодических подвешиваний компьютера до полного уничтожения всей содержащейся на нем информации.
В-шестых, регулярный запуск антивируса и своевременное обновление антивирусных баз отнимают приличное количество времени и денег. Проверка же файлов в фоновом режиме (если ваш антивирус поддерживает таковую) неизбежно снижает производительность системы и достаточно часто приводит к различным конфликтам. Готовы ли вы инвестировать антивирусную индустрию своим временем и деньгами, не получая ничего взамен? Помилуйте, лучше, выгоднее и дешевле либо нанять квалифицированного специалиста на постоянную работу, либо освоить борьбу с вирусами вручную (первое больше подходит для крупных контор, второе – для индивидуальных пользователей).
Что же касается червей, то антивирусы не справляются с ними в принципе. Обнаружить и удалить данный конкретный экземпляр червя – не проблема, но червь будет приходить из сети вновь и вновь, каждый раз отстраивая свое, разрушенное антивирусом, логово заново. Так будет продолжаться до тех пор, пока пользователь не установит заплатку и не заткнет дыру, через которую распространяется червь, или не оградит себя со всех сторон брандмауэром (впрочем, хитрый червь сумеет просочиться и через брандмауэр) (см. главу 5 «Побег через брандмауэер плюс терминализация всей NT»).
Нет, не подумайте, что автор призывает к полному антивирусному воздержанию, но, перефразируя известную русскую пословицу, может сказать: «На антивирус надейся, а сам не плошай». Зачем попадать в зависимость от антивируса, если в подавляющем большинстве случаев вредоносную инфекцию вы можете обнаружить и удалить самостоятельно? Этому, собственно, и посвящена данная книга… Если вы ее не захлопнете немедленно, а, продираясь сквозь витиеватый стиль изложения, доберетесь до самого конца, вы неожиданно обнаружите за концом то начало, по сравнению с которым любой конец – не конец, а так… с позволения сказать, даже не полуось!
Короче говоря, никто не собирается учить вас, как правильно кричать «кия!» и как делать вирусу харакири. Прежде чем вступить на тропу войны и сойтись в рукопашной схватке с вирусом, вы должны получить хотя бы общее представление о его повадках, психологии и физиологии. Вирусы на самом деле очень уязвимые существа – если, конечно, знать их болевые точки. Вирусы очень тупые существа – достаточно лишь правильно приготовить приманку и заминировать все обходные тропы, блокируя возможные пути отступления. Вирусы очень нерасторопны – необходимо просто быть в курсе текущих хакерских веяний и передовых атакующих технологий, готовясь к отражению вирусного наступления заблаговременно, а не тогда, когда, извините, вас в попку клюнут…