Вредоносное программное обеспечение

С лёгкой памяти "лихих 90-х", времени ДОСа, гибких дисков и компьютерных вирусов, заставляющих буквы падать, всевозможные вредоносные программы нередко называют просто "вирусами". Хуже того, сочное, запоминающееся слово "вирус" рождает в уме неискушённого пользователя совершенно фантастические представления о том, что такое "вредоносное ПО" и как от него уберечься. Здесь мы попытаемся бегло обрисовать нстоящее положение дел с вредоносным ПО и методы защиты от него.

Инструментарий компьютерного хулигана -- заботы самого хулигана

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

Корень зла

Итак, общим для всего рассматриваемого класса вредоносного ПО является способность производить не прошенные пользователем, таинственные, а потому -- ужасные действия. Говоря формально, потенциально вредоносным является ПО, возможности которого не до конца документированы. Злоумышленник (или программа, написанная злоумышленником) может втайне от пользователя воспользоваться недокументированной возможностью ("проэксплуатировать" её), и здесь только от воли злоумышленника зависит, насколько результаты этой "эксплуатации" будут в самом деле вредоносными.

Это открывает один курьёзный угол рассмотрения проблемы. По сути потенциально вредоносным является любое, самое обычное, программное обеспечение -- операционная система или прикладное ПО, -- если в него (намеренно или по недосмотру) заложены недокументированные возможности. Тогда собственно "вирусы" -- продукт жизнедеятельности злоумышленника -- вторичны по отношению к этому ПО, они возникают как бы сами собой, в ответ на "провокацию" -- заманчивую возможность эксплуатации системы.

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

Что такое "вирус"...

Итак, "вирус" -- это программа (и только программа). Это совсем не означает, что вирус -- это "файл с расширением .exe". Программы встречаются внутри операционной системы и программных продуктов в разных обличиях. Помимо собственно исполняемых файлов (к которым стоит причислить в случае Windows ещё довольно большое множество файлов, включая даже шрифтовые), программа может быть частью другой программы, которую она модифицировала (довольно типичное поведение ДОСовских вирусов 90-х), может представляться модулем или сценарием для определённого ПО (популярный пример -- макровирусы для программы Microsoft Word), может, наконец, вписывать себя в разнообразные хранилища данных, которые не являются программами, но части которых в определённых условиях выполняются как программы (пример -- т. н. загрузочные вирусы, поражающие загрузочную область жесткого диска, данные из которой загружаются и выполняются до загрузки операционной системы).

Поскольку вирус -- это программа, само наличие его на каком либо устройства хранения данных ещё не означает "заражённости компьютера" в данный момент. Вирус (программу) надо сначала запустить -- непосредственно, либо запустив заражённую им программу. Именно работающая вредоносная программа причиняет вред. Кстати, если программа уже загружена, поздно предпринимать какие-то меры против неё, так как, "первой встав", она может предотвратить попытка себя обезвредить. Так, известны вредоносные программы для Windows, устанавливающиеся на равных правах с драйверами устройств и контролирующие тем самым любой доступ к дискам или памяти; они отслеживают большинство известных антивирусов и способны обмануть их, либо нарушить их работу.

... и с чем его едят?

Проблема первоначального запуска решается вирусом множеством различных способов. Если он уже активен в системе, к его услугам и подсистема автоматического запуска служб, и модификация имеющихся. Если вирус неактичен, он может стать активным при участии пользователя, но без его ведома. Например, в системах семейства Windows практикуется т. н. автозапуск программ с носителя: когда ОС определяет, что подключен новый носитель данных, она ищет на этом носителе файл специального формата (autorun.inf) и выполняет все команды, в нём записанные. Вирусу остаётся только модифицировать этот файл. Автозапуск на флеш-дисках -- очень частая причина заражения вредоносной программой.

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

Очень большое значение в распространении вредоносного ПО имеет обмен программами и документами, которые могут содержать автоматически выполняемые вредоносные сценарии. Если пользователю по какой-то причине захотелось такой документ открыть, или запустить полученную программу, дело злоумышленника в шляпе.

На пересечении обмана и обмена лежат всевозможные сайты, содержащие контрафактное ПО (часто уже заражённое). Несоответствие информации, видимой пользователем, допустим, в окне WWW-навигатора, и информации, которую этот навигатор на самом деле обрабатывать, даёт злоумышленникам дополнительные возможности. Не следует забывать, что современные WWW-навигаторы имеют свойство автоматически выполнять на компьютере пользователя части программ, скачиваемых с web-сайта. Активные элементы, написанные на javascript, имеются на подавляющем большинстве сайтов, но помимо javascript есть ещё java-апплеты, Flash-ролики и некоторые другие инструменты. Ошибка или недосмотр в каждом таком "исполнителе" может привести к запуску вредоносной программы.

Огромное количество вредоносного ПО распространяется с электронной почтой, тому причина -- слабые ограничения почтового протокола и множественные недосмотры в популярном почтовом ПО для ОС Windows.

Как вылечить грипп?

Довольно распространённым является заблуждение, что если "в файле обнаружен вирус", этот файл можно "вылечить".

Cui prodest?

Что делать?

Не качать каки

Вирусы и Linux