Вирусы и как с ними бороться. Часть первая

Статья прислана на конкурс Летний АвторRUN!



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

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



На борьбу с биологическими вирусами брошены различные прививки и таблетки (а в перспективе и наномедицина), а на борьбу с программными (виртуальными) брошены антивирусные приложения. Но откуда берутся вирусы? Вот в чем вопрос.

С теми, которые вредят здоровью человека, все понятно: новые вирусы возникают вследствие природной мутации, а иногда не без человеческой помощи. Что же касается компьютерных вирусов, то они сами на свет появиться не в состоянии, их изначально придумали очень умные молодые люди. Одним из первых вирусописателей (а по некоторым источникам он был именно первым) стал Фред Коэн, аспирант калифорнийского университета. Свой первый вирус он написал в ноябре 1983 года в ходе исследований, связанных с компьютерной безопасностью. Немного позже работа над написанием вирусов была запрещена и прекращена. Что характерно, вирус, написанный Фредом, работал на машине VAX 11/750 под управлением системы Unix, той самой, на которой вирусы так и не прижились. Но именно этот день можно считать рождением новой забавы, которая со временем превратилась в настоящий террор и преступление в руках людей, начиная от несовершеннолетних одиночек и заканчивая целыми плотно сплоченными сетевыми бандами хакеров.

Если мы уж завели разговор о вирусах, то давайте разберемся с тем, какие именно типы вирусов бывают. Но для начала необходимо понять, что вирус, троян и червь - это разные вещи, а вирусами их называют, как бы объединив в единую группу логически. Если же называть все "по науке", то весь этот зоопарк нужно именовать не иначе как Riskware.

Бутовые вирусы (Boot viruses) - этот тип вирусов заражает загрузочную область дискет и жестких дисков; запускается во время загрузки системы и начинает свои зловредные действия.

Макро-вирусы - этот тип вирусов был разработан специально для распространения с помощью документов, созданных в пакете Microsoft Office (а точнее, MS Word). Принцип работы прост как день: в момент запуска текста или таблицы на редактирование (но не на просмотр сторонней программой вьювером) запускается деструктивная макрокоманда (вирус), написанная на языке Visual Basic.

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

Трояны (троянские кони) - если вспомнить историю Древней Греции, то сразу станет понятно, что это за тип вируса. Вкратце напомню. Легенда гласит, что во время войны между греками и троянцами греки соорудили огромного деревянного коня и залезли внутрь него, а троянцы возьми да и втащи его в город. Ночью оттуда повылазили "гости" и тут такое началось.… В общем, в компьютерном мире то же самое: скачали вы, значит, какой-нибудь там кейген (генератор кодов к программам, обычно хакерская машинка для взлома платной продукции), и во время генерирования кода к вам на компьютер распаковывается программка в несколько десятков килобайт (а то и байт!) и приступает к работе. Обычно троянские кони выполняют кражу различной информации, начиная от паролей к банковским счетам и кошелькам и заканчивая отчетом обо всех нажатых клавишах в системе, ну и еще совершают массу неприятных действий. Конечно, трояны могут залазить на компьютер не только через различного рода сомнительные программы, они могут быть внедрены даже в антивирус, скачанный из ненадежного источника, или находиться в любой другой с виду надежной программе, так что следите за тем, откуда качаете софт.

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

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

Spyware (спайвары) - программы-шпионы. Интегрируясь в вашу систему очень глубоко (скрытые инсталляционные папки и скрытые процессы) они записывают о вас всю информацию и отправляют на e-mail или оставляют логи на компьютере. Сбор информации ведется, начиная о посещенных сайтах и заканчивая запущенными приложениями и разговорами через сервисы типа Skype. Иногда программы-шпионы распространяются совершенно легально и призваны следить за детьми, работающими на компьютере, о них часто пишут в компьютерных изданиях, они платные и зачастую содержат в себе модули, шпионящие за машиной, на которую инсталлированы.

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

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

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

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

Классический вирус (файловый вирус) - это понятие весьма неоднозначное, и один вирус не похож на другой как по действию, так и по принципу заражения файла, но стоит отметить, что иногда вирусы добавляют себя сразу в несколько файлов на компьютере, расположенных в системных папках. Одним словом, вирус с именем virus.bat может при запуске "расселить" себя в три файла xxx.dll, xxx.exe и xxx.com и таким образом выполнять свои деструктивные действия на компьютере, запускаясь при старте компьютера и попадая в оперативную память. Иногда вирусы просто добавляют себя в код какого-либо файла, например видео, фото или звукового, тем самым, выводя его из строя (разрушая).

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

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

В *nix системах с вирусами дела обстоят намного лучше. Дело в том, что файловые вирусы здесь вообще не получили распространения, поскольку в эту операционную систему изначально была заложена концепция мониторинга целостности файлов встроенными утилитами типа Tripwire и AIDE, и незаметно изменить файл практически невозможно ни системой, ни пользователем. А если еще и учесть очень гибкую схему распределения прав пользователям, то получить доступ к системным файлам становится просто нереально. Конечно, как и во всех ОС, в *nix системах есть и слабые места, а именно атака на приложение и переполнение буфера. Сейчас идет усовершенствование работы стека памяти, и скоро нападающему будет трудно просчитать, какой стек будет использоваться следующим, так что выполнить метод переполнения буфера станет еще сложней. Существует немного троянов, шпионов, adware и червей для систем Linux, но их доля настолько ничтожна, что даже неудобно говорить, а уж взломать удаленно эту систему удается вообще только крутым асам. Немаловажную роль здесь играет и то, что это открытая ОС и, притом, что написать к ней вирус не так-то просто, заплатку сделают в одно мгновение.

В быту у пользователей ходят разные сказки о вирусах, которые якобы выводят из строя железо, начиная от сгоревших процессоров и заканчивая повреждением нулевой дорожки винчестера. Это неправда. Уже довольно долгое время вирусы могут создавать только программные (софтовые) проблемы (хотя иногда испорченная информация на корпоративном компьютере бухгалтера может стоить десятка геймерских машин). В незапамятные времена писались вирусы, которые могли причинить вред компьютерам, вернее их железной части, но в то время железо было столь ненадежное, что сравнивать с нынешним не приходится. В пример можно привести вирус, задача которого заключалась в том, чтобы свести лучи ЭЛТ-монитора в одну точку и через пару минут получить на этом месте прогоревший люминофор. Были вирусы, перепрошивающие системный BIOS, тем самым, выводя из строя машину - но это было уже не смертельно. А качество и безопасность нынешнего железа делает его повреждение просто невозможным.


Какие они, антивирусы?

Антивирусы бывают нескольких типов, а именно программные, аппаратные и онлайновые. Программные антивирусы - это те, которые мы привыкли видеть установленными на своих компьютерах, а аппаратные решения обычно применяются в бизнес-сетях. Аппаратные антивирусы способны "на лету" сканировать весь приходящий и исходящий IP трафик, что позволяет снимать нагрузку на процессоре сервера, а вдобавок ограждают всю сеть от входящих через Интернет вирусов (однако не стоит забывать, что вирусы попадают на компьютеры не только через сеть, но и посредством различных съемных носителей). В пример можно привести решение от компании ZyXEL и Лаборатории Касперского ZyWALL UTM.



Говоря об онлайн-антивирусах, замечу, что далеко не все компании предоставляют такой сервис, могу лишь отметить компанию Panda Software с ее сервисами TotalScan или NanoScan beta по адресу www.infectedornot.com.

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

У многих пользователей (даже старожилов "компьютерного фронта") выработалось свое мнение по поводу качества того или иного антивирусного пакета, но далеко не все представляют, сколько вообще в мире существует антивирусов, какими мерками измеряют их производительность и реально ли вообще это сделать. А споры на тему качества антивируса вообще в 99% случаев не подкреплены никакими серьезными аргументами, кроме "грузит систему и не ищет вирусы". Но давайте обо всем по порядку.

Для начала я бы хотел привести три основные группы антивирусных компаний, по мнению авторитетного журнала Virus Bulletin, который мы еще вспомним.


Первая группа:

Symantec (США)
McAfee (США)
Trend Micro (Тайвань; но доминирует на рынке Японии)


Вторая группа:

Sophos (Англия)
Panda Software (Испания)
Computer Associates (США)
F-Secure (Финляндия)
Norman (Норвегия)
AhnLab (Южная Корея)
AVP (Антивирус Касперского) (Россия)
(Вторая группа антивирусов наиболее популярна на локальных рынках).

Третья группа:

Alvil - Avast (Чехия)
Arcabit (Польша)
Doctor Web (Россия)
ESET - NOD32 (Словакия)
Frisk Software (Исландия)
Gri Soft (Чехия)
H+BDW (Германия)
Hauri (Южная Корея)
Soft Win (Румыния)
Virus Buster (Венгрия)
UNA (Украина)
STOP! (Украина)
Rising (Китай)
King Soft (Китай)


Также существуют компании, такие как немецкая G-Data, которая продает антивирус, созданный на базе российского AVP, они в список не попали, среди их продуктов есть и антивирусы с достаточно громкими именами. Не стоит воспринимать этот список как мерило для антивируса, это лишь отображение ситуации в расстановке сил на мировом рынке, а не продукта в целом, ведь в США пользователей ПК гораздо больше, чем в Украине или России, а уж про Китай и Японию я вообще молчу. Конечно, я бы с удовольствием написал о таких продуктах, как детища компании АО "Диалог Наука" Aidstest, Dr. Web, Adinf, и о лаборатории Касперского, и о таких людях, как Евгений Касперский, Игорь Данилов и Дмитрий Лозинский поименно, но боюсь, что статья получится просто огромной.

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

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


Заинтересовались? Продолжение следует.
Соревнуясь со временем