Информационная безопасность

Компьютерные вирусы

Общие сведения о компьютерных вирусах 

 

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

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

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

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

По этой причине вредоносной программой был признан руткит фирмы Sony: эта программа автоматически устанавливалась при проигрывании DVD-диска с фильмом, а затем без предупреждения запускалась и собирала информацию о лицензионности других DVD с фильмами.  

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

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

Классификация вирусов.

 

По начинке вирусы делятся на деструктивные и не деструктивные. Деструктивные вирусы классифицируют по выполняемым ими функциям: 

Вирусы, уничтожающие данные.

Наиболее характерный пример — вирус «Черно-быль» (Win95.CIH), массовое распространение которого случилось в 1999 году. При запуске проверял системную дату компьютера и 26 апреля активировал механизм уничтожения данных на жестком диске.

При этом производится попытка записать «мусор» во FLASH BIOS компьютера. Некоторые старые модели это позволяли, после чего восстановить материнскую плату можно было только заменой микросхемы.  

Другой вирус, Klez.E, произвел эпидемию в 2002 году. Он срабатывал на шестой день каждого нечетного месяца и заполнял файлы определенных форматов (.doc, .txt и др.) случайным содержимым, после чего их восстановление становилось невозможным. 

 

Вирусы-шпионы.

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

Использование зараженных компьютеров в качестве плацдарма для рассылки спама или распределенной DоS-атаки

Группа зараженных таким вирусом компьютеров называется «зомби-сетью». Пример такого вируса — MsBlast — был предназначен для атаки на сайт windowsupdate.com: 16 августа 2003 года со всех зараженных компьютеров осуществлялись запросы к этому сайту, в результате чего сервер должен был подвергнуться критической перегрузке и выйти из строя. 

 

Крипто-вирусы.

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

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

 

Файловые вирусы.

 

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

Механизм работы файлового вируса

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

Файловые вирусы были весьма распространены в 90-х годах, когда программы были небольшими и распространялись «из рук в руки» на дискетах. В настоящее время эти вирусы непопулярны, не в последнюю очередь потому, что их достаточно легко обнаружить: во-первых, увеличивается размер всех исполняемых файлов, а во-вторых, многие про-граммы при запуске проверяют свою целостность (например, по размеру или контрольной 

сумме) и сигнализируют о ее нарушении. Тем не менее, опасность скачать из Интернета или по пиринговой сети зараженный файл по-прежнему остается. 

Макровирусы 

 

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

Макровирусы используют возможности некоторых программ (текстовых, графических, табличных редакторов, СУБД и пр.) внедрять в документы, создаваемые этими про-граммами, так называемые макросы — процедуры, написанные на встроенном в них языке программирования и выполняемые в ответ на определенные события (нажатие пользователем кнопки или открытие документа). Например, Microsoft Office поддерживает встроенный язык программирования Visual Basic for Applications (VBA). 

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

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

 

Сетевые черви 

 

Современные вирусы не заинтересованы в том, чтобы заразить как можно больше файлов на компьютере (и тем самым повысить вероятность своего запуска и размножения). С повсеместным проникновением Интернета наиболее привлекательная цель для вирусов — проникнуть на как можно большее число компьютеров в сети. При этом достаточно, чтобы на каждом компьютере содержался лишь один экземпляр вируса, но при этом соблюдалось два условия: 

  1. Вирус должен автоматически запускаться (желательно одновременно с запуском операционной системы). 
  2. Содержащий вирус файл долден быть надежно скрыт от пользователя. 

Вирусы, которые автоматически запускаются в момент старта операционной системы и, таким образом, постоянно функционируют в оперативной памяти, называются резидентными. Вирусы, распространяющие свои копии по локальной сети или через Интернет называются сетевыми червями. Большинство сетевых червей являются резидентными. 

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

Через стандартные коммуникационные сервисы. 

    1. Через «дыры» в популярных сетевых приложениях, в том числе самой ОС. 

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

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

Один из самых нашумевших сетевый червей — вирус «I love you», эпидемия которого началась 4 мая 2000 года. После открытия файла, приложенного к электронному письму, вирус уничтожал или изменял некоторые файлы на зараженной машине, а кроме того сразу же, в момент запуска, рассылал себя по всем адресам адресной книги пользователя. По оценкам различных компаний, поражению подверглось огромное количество компьютерных сетей (в отдельных странах — от 30 до 80 процентов). Количество получателей «любовных писем» оценивается в 45 миллионов человек, общие убытки — до 10 миллиардов долларов США17. Адресат получал письмо следующего содержания: 

Subject «ILOVEYOU» 

Сообщение: «kindly check the attached LOVELETTER coming from me.» 

Присоединенный файл: «LOVE-LETTER-FOR-YOU.TXT.vbs» 

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

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

Единственный способ хоть как-то противостоять подобным вирусам — своевременная установка обновлений. 

Рассмотрим теперь резидентные вирусы. Их характерной особенностью является автоматический запуск после загрузки операционной системы. Большинство резидентных вирусов под Windows обеспечивает выполнение этого условия, прописывая себя в разделы автозагрузки в реестре: 

HKEY_LOCAL_MACINE\Software\Microsoft\Windows\CurrentVersion\Run 

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\ 

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

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

 

Загрузочные вирусы 

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

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

Такой вирус представляет собой обычный исполняемый файл с атрибутом «скрытый», который записывается в корневой каталог флешки либо в скрытую папку, эмулирующую корзину Windows либо другую системную папку. Кроме этого в корневом каталоге размещается файл autorun.inf со ссылкой на вирус. Вирус активируется, если у флешки срабатывает автозапуск, а это обычно происходит автоматически, если открывать флешку двойным щелчком по ее ярлыку при условии, что настройки Windows установлены по умолчанию. Вирус оставляет свои копии (вместе с autorun.inf) на всех разделах жесткого диска и, таким образом, получает управление во время каждого сеанса работы пользователя, когда тот случайно активирует автозапуск на одном из этих разделов. Далее вирус постоянно находится в оперативной памяти, исполняет свою начинку, а также отслеживает подключение к компьютеру новых переносных носителей и заражает их. 

Для профилактики таких вирусов (помимо антивирусной защиты) необходимо открывать переносные устройства таким образом, чтобы не позволить сработать автозапуску. Например, открывать их через оболочку типа Total Commander, либо через адресную строку проводника Windows (но не двойным щелчком по ярлыку). 

 

 Троянские кони 

 

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

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

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

 

Технологии маскировки вирусов 

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

Стелс-вирус — вирус, полностью или частично скрывающий свое присутствие путем перехвата обращений к операционной системе, осуществляющих чтение, запись, чтение дополнительной информации о зараженных объектах (загрузочных секторах, элементах файловой системы, памяти и т.д.) Например, файловый вирус может перехватывать функции чтения/записи в файл, чтения каталога и т. д., чтобы скрыть увеличение размера зараженных программ; перехватывает функции чтения/записи файла в память, чтобы скрыть факт изменения файла. 

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

Структура полиморфного вируса

Тенденции современных компьютерных вирусов 

 

Рассмотрим характерные черты, которые за последние годы наиболее четко проявились в современных вирусах: 

наибольшее распространение получили сетевые черви; 

вирусы активно используют уязвимости в различных операционных системах и программном обеспечении; 

для быстрого распространения вирусов используются спам-технологии; 

один вирус сочетает в себе множество технологий: полиморфных, стелс, бэкдор; 

вместо пересылки своего тела по электронной почте часто отправляется ссылка на веб-сайт или на зараженный ранее компьютер; 

увеличивается число вирусов для новых платформ: КПК, сотовых телефонов, смартфонов и коммуникаторов, при этом активно используются беспроводные среды передачи данных (Bluetooth, Wi-Fi). 

 

Борьба с вирусами 

 

Для борьбы с вирусами используется специальное программное обеспечение — антивирусы. По выполняемым ими функциям выделяют следующие виды антивирусов: 

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

Программы-доктора или фаги также осуществляют поиск зараженных файлов и «лечат» их, т.е. возвращают в исходное состояние. Среди фагов выделяют полифаги, т.е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. 

Ревизоры запоминают исходное состояние объектов незараженной системы и периодически сравнивают текущее состояние с исходным. 

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

Вакцины — резидентные программы, предотвращающие заражение файлов. 

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

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

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

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

Рассмотрим методы обнаружения антивирусом своих жертв. 

Обнаружение, основанное на сигнатурах — метод работы антивирусов и систем обнаружения вторжений, при котором антивирус, просматривая файл (или передаваемый по сети пакет), обращается к словарю, в котором содержатся сигнатуры известных атак или вирусов. Под сигнатурой понимается фрагмент кода, однозначно идентифицирующий вирус. Например, вирус Email-Worm.Win32.Happy содержит строку «Happy New Year 1999 !!», которая с низкой вероятностью может встретиться в другой программе. 

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

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

Метод обнаружения подозрительного поведения программы. Антивирус прослеживает поведение всех работающих программ и пытается выявить действия, характерные для вируса (например, запись данных в exe-файл). Однако этот метод часто вызывает ложные срабатывания (в результате пользователи перестают обращать внимание на предупреждения). Разновидность этого метода — эмуляция программы: перед запуском приложения антивирус пытается имитировать его поведение с целью отслеживая подозрительных действий. Данный метод наиболее требователен к ресурсам. 

Метод «белого списка». Предотвращается выполнение всех компьютерных кодов кроме тех, которые были ранее обозначены системным администратором как безопасные. 

Эвристическое сканирование — метод, основанный на сигнатурах и эвристике, призван улучшить способность сканеров применять сигнатуры и распознавать модифицированные версии вирусов в тех случаях, когда сигнатура совпадает с телом неизвестной программы не на 100 %, но в подозрительной программе налицо более общие признаки вируса. Данная технология, однако, применяется в современных программах очень осторожно, так как может повысить количество ложных срабатываний. 

Наиболее известные современные антивирусы: антивирус Касперского, Doctor WEB, NOD32, Norton Antivirus, Panda Antivirus, Avast! Antivirus (последний является бесплатным для домашнего использования). 

Оставьте комментарий

Ваш адрес email не будет опубликован.

Exit mobile version