Вредоносное программное обеспечение
С лёгкой памяти "лихих 90-х", времени ДОСа, гибких дисков и компьютерных вирусов, заставляющих буквы падать, всевозможные вредоносные программы нередко называют просто "вирусами". Хуже того, сочное, запоминающееся слово "вирус" рождает в уме неискушённого пользователя совершенно фантастические представления о том, что такое "вредоносное ПО" и как от него уберечься. Здесь мы попытаемся бегло обрисовать нстоящее положение дел с вредоносным ПО и методы защиты от него.
Инструментарий компьютерного хулигана -- заботы самого хулигана
Оговоримся сразу, что в наш обзор не будут входить программные продукты, используемые компьютерными взломщиками, хакерами и прочими персонажами, с деятельностью которого связывается в народе слово "вирус". В самом деле, даже самый асоциальный компьютерный взломщик может пользоваться вполне законными программными продуктами -- компилятором, отладчиком, сетевым инструментарием -- для своих тёмных делишек. Даже специальные программы для взлома, т. н. rootkits, хотя и представляют серьёзную опасность для взламываемого компьютера, не могут особенно интересовать добропорядочного пользователя. Общим для всех этих (не рассматриваемых далее) программных продуктов является то, что запускаются они с ведома пользователя. Это значит, что пользователь, запускающий такую программу сам прекрасно представляет её вредоносные свойства, а следовательно, он и есть злоумышленник, что переводит обзор в административную и моральную плоскости.
Корень зла
Итак, общим для всего рассматриваемого класса вредоносного ПО является способность производить не прошенные пользователем, таинственные, а потому -- ужасные действия. Говоря формально, потенциально вредоносным является ПО, возможности которого не до конца документированы. Злоумышленник (или программа, написанная злоумышленником) может втайне от пользователя воспользоваться недокументированной возможностью ("проэксплуатировать" её), и здесь только от воли злоумышленника зависит, насколько результаты этой "эксплуатации" будут в самом деле вредоносными.
Это открывает один курьёзный угол рассмотрения проблемы. По сути потенциально вредоносным является любое, самое обычное, программное обеспечение -- операционная система или прикладное ПО, -- если в него (намеренно или по недосмотру) заложены недокументированные возможности. Тогда собственно "вирусы" -- продукт жизнедеятельности злоумышленника -- вторичны по отношению к этому ПО, они возникают как бы сами собой, в ответ на "провокацию" -- заманчивую возможность эксплуатации системы.
Так или иначе, эти "продукты жизнедеятельности" -- это программы (и только программы), "паразитирующие" на теле не вполне здоровых ОС или программного продукта, о существовании которых пользователь не подозревает до тех пор, пока их действия не станут очевидными. Здесь аналогия с вирусом достаточно полная: имеется факт заражения -- установка вредоносной программы в систему, как и в случае настоящего вируса, не замечаемая вирусоносителем, инкубационный период, в течение которого работа вируса не заметна и симптомы болезни, отражающие активную работу этой программы.
Что такое "вирус"...
Итак, "вирус" -- это программа (и только программа). Это совсем не означает, что вирус -- это "файл с расширением .exe". Программы встречаются внутри операционной системы и программных продуктов в разных обличиях. Помимо собственно исполняемых файлов (к которым стоит причислить в случае Windows ещё довольно большое множество файлов, включая даже шрифтовые), программа может быть частью другой программы, которую она модифицировала (довольно типичное поведение ДОСовских вирусов 90-х), может представляться модулем или сценарием для определённого ПО (популярный пример -- макровирусы для программы Microsoft Word), может, наконец, вписывать себя в разнообразные хранилища данных, которые не являются программами, но части которых в определённых условиях выполняются как программы (пример -- т. н. загрузочные вирусы, поражающие загрузочную область жесткого диска, данные из которой загружаются и выполняются до загрузки операционной системы).
Поскольку вирус -- это программа, само наличие его на каком либо устройства хранения данных ещё не означает "заражённости компьютера" в данный момент. Вирус (программу) надо сначала запустить -- непосредственно, либо запустив заражённую им программу. Именно работающая вредоносная программа причиняет вред. Кстати, если программа уже загружена, поздно предпринимать какие-то меры против неё, так как, "первой встав", она может предотвратить попытка себя обезвредить. Так, известны вредоносные программы для Windows, устанавливающиеся на равных правах с драйверами устройств и контролирующие тем самым любой доступ к дискам или памяти; они отслеживают большинство известных антивирусов и способны обмануть их, либо нарушить их работу.
... и с чем его едят?
Проблема первоначального запуска решается вирусом множеством различных способов. Если он уже активен в системе, к его услугам и подсистема автоматического запуска служб, и модификация имеющихся. Если вирус неактичен, он может стать активным при участии пользователя, но без его ведома. Например, в системах семейства Windows практикуется т. н. автозапуск программ с носителя: когда ОС определяет, что подключен новый носитель данных, она ищет на этом носителе файл специального формата (autorun.inf) и выполняет все команды, в нём записанные. Вирусу остаётся только модифицировать этот файл. Автозапуск на флеш-дисках -- очень частая причина заражения вредоносной программой.
Другой вариант -- обмануть пользователя, выдав программу за обновление системы, а то и просто за картинку, которая внезапно запускается как программа (используются различные недокументированные возможности файловых навигаторов, почтовых программ и т п.).
Очень большое значение в распространении вредоносного ПО имеет обмен программами и документами, которые могут содержать автоматически выполняемые вредоносные сценарии. Если пользователю по какой-то причине захотелось такой документ открыть, или запустить полученную программу, дело злоумышленника в шляпе.
На пересечении обмана и обмена лежат всевозможные сайты, содержащие контрафактное ПО (часто уже заражённое). Несоответствие информации, видимой пользователем, допустим, в окне WWW-навигатора, и информации, которую этот навигатор на самом деле обрабатывать, даёт злоумышленникам дополнительные возможности. Не следует забывать, что современные WWW-навигаторы имеют свойство автоматически выполнять на компьютере пользователя части программ, скачиваемых с web-сайта. Активные элементы, написанные на javascript, имеются на подавляющем большинстве сайтов, но помимо javascript есть ещё java-апплеты, Flash-ролики и некоторые другие инструменты. Ошибка или недосмотр в каждом таком "исполнителе" может привести к запуску вредоносной программы.
Огромное количество вредоносного ПО распространяется с электронной почтой, тому причина -- слабые ограничения почтового протокола и множественные недосмотры в популярном почтовом ПО для ОС Windows.
Как вылечить грипп?
Довольно распространённым является заблуждение, что если "в файле обнаружен вирус", этот файл можно "вылечить".
Cui prodest?
Что делать?
Не качать каки