Вредоносное ПО как феномен

Продолжаем рассматривать вредоносное программное обеспечение как феномен в процессе информатизации человечества. Давайте рассмотрим два примера программ.

Пример 1: программа, а вернее, утилита KOH. Эта утилита — криптографический инструмент — она в виде загрузочной дискеты: boot-cектор содержит bootstrap loader KOH, а где-то в других секторах лежит основной код KOH. При загрузке с дискеты KOH задает пользователю вопрос типа: "А можно, я сам себя установлю на винчестер?" (Если он уже на винчестере, то спрашивает то же самое про дискету.) При утвердительном ответе KOH переносит себя с диска на диск. Получается, что KOH занимается саморазмножением, вот только с разрешения пользователя компьютера. Затем KOH выводит текст о своих hot-keys (горячие клавиши), по которым он шифрует/расшифровывает диски — спрашивает пароль, читает сектора, шифрует их и делает недоступными, если не знать пароля. Есть у него, кстати, ключ деинсталляции, по коему он сам себя с диска убирает (расшифровав, естественно, все, что было зашифровано). Итого, KOH — это некая утилита защиты информации от несанкционированного доступа. Добавлена к ней, правда, одна особенность: сия утилита сама себя может копировать с диска на диск (с разрешения пользователя). И вот вопрос: вирус это или нет? Немного поразмыслив, можно совершенно справедливо заявить: программка вирусом не является. И все бы ничего, и никто бы эту утилиту по имени KOH вирусом не обозвал, но только bootstrap loader у этого KOH практически на 100% совпадает с довольно популярным вирусом Havos (StealthBoot)… хы. Вирус! И официальное название есть — StealthBoot.KOH. Но, естественно, будь автором Symantec или Microsoft, то никому бы и в голову не пришло назвать эту программку вирусом. Однако все не так. Пример номер два носит следующий характер: есть, опять же, программка ALREADY.COM. В зависимости от числа она копирует себя в подкаталоги на дисках (включая и сетевые). Естественно, это вредоносное ПО — типичный сетевой червь, который распространяет свои копии. Кажется, что все так складно, а вот и нет. Это компонент какой-то софтины, который без этой самой софтины ведет себя как червяк. И что мы получаем на выходе? В первом случае вирус — не вирус, а во втором не вирус — вирус. Как интересно:).

"Внимательный пользователь может возразить: "Стоп. Название "вирусы" по отношению к программам пришло из биологии именно по признаку саморазмножения. КОH этому условию соответствует, следовательно, это есть вирус (или программа, включающая вирусный компонент)..." В таком случае DOS тоже является вирусом (или программой, включающей вирусный компонент), поскольку в нем есть команды SYS и COPY. А если на диске присутствует файл AUTOEXEC.BAT, приведенный несколькими абзацами выше, то для размножения не потребуется даже вмешательства пользователя. Плюс к этому, если принять за необходимый и достаточной признак вируса возможность саморазмножения, то тогда любая программа, имеющая инсталлятор, является вирусом. Следовательно саморазмножение как аргумент на 100% не подходит. А если под вирусом понимать не просто "саморазмножающийся код", но "саморазмножающийся код, не выполняющий полезных действий или даже приносящий вред без привлечения/информирования пользователя"?.. Вирус KOH является программой, шифрующей диски по паролю, вводимому пользователем. Все свои действия KOH комментирует на экране и спрашивает разрешения пользователя. Плюс к тому имеет деинсталлятор — расшифровывает диски и удаляет с них свой код. Однако все равно — вирус! Если в случае с ALREADY.COM привлечь субъективные критерии (полезна/не полезна, входит в комплект/самостоятельна и т.п.), то, возможно, это и не стоит называть вирусом/червяком. Но стоит ли привлекать эти самые субъективные критерии? А какие могут быть объективные критерии вируса?

Саморазмножение, скрытность и деструктивные свойства? Но ведь на каждый объективный критерий можно привести как пример вируса, который под критерий не подпадает, так и пример не вируса, который отлично подпадает:

. Саморазмножение:

1. Intended-вирусы, не умеющие размножаться по причине большого количества ошибок или размножающиеся только при очень ограниченных условиях.
2. MS-DOS и вариации на тему SYS+COPY.

. Скрытность:

1. Вирусы KOH, VirDem, Macro.Word.Polite и некоторые другие информируют пользователя о своем присутствии и размножении.
2. Сколько примерно (с точностью до десятка) драйверов сидит под стандартной Windows95? Скрытно сидит, между прочим.

. Деструктивные свойства:

1. Безобидные вирусы типа Yankee, которые прекрасно живут в DOS, Windows 3.x, Win95, NT и ничего никуда не гадят.
2. Старые версии Norton Disk Doctor'а на диске с длинными именами файлов. Запуск NDD в этом случае превращает Disk Doctor'а в Disk
Destroyer'а.

Тема точного общего определения вредоносного ПО до сих пор остается открытой — просто потому, что его нет.

Теперь давайте обратимся к теме написания вирусов и тех, кто этим занимается. По роду занятий мне приходилось писать вредоносное ПО, еще чаще приходилось рыться в кодах дизассемблированных вирусов и анализировать их алгоритмы. Так кто же пишет вирусы? На мой взгляд, основную их массу создают студенты и школьники, которые только что изучили языки программирования и хотят попробовать свои силы, но не могут найти для них более достойного применения. Конечно, не все поголовно занимаются этим, но процент довольно внушительный. Плюсовым пунктом тут является то, что большинство таких вирусов умирает, так и не выбравшись в свет — просто остаются заброшенными на каком-нибудь диске или еще где. Такие экземпляры пишутся в подавляющем большинстве случаев для самоутверждения. Вторую группу составляют также молодые люди, которые еще не полностью овладели искусством программирования, но уже решили посвятить себя написанию и распространению вирусов. Единственная причина, толкающая подобных людей на написание вирусов, — комплекс неполноценности, который проявляет себя в компьютерном хулиганстве. Из-под пера подобных "умельцев" часто выходят либо многочисленные модификации "классических" вирусов, либо вирусы крайне примитивные и с большим числом ошибок. Значительно облегчилась жизнь подобных вирусописателей после появления генераторов вирусов — это позволило создавать вирусы просто пачками, причем практически не понимая ничего в программировании: нехитрое дело — выбрать из возможных свойств те, которые нужны, и нажать кнопочку. Их жизнь стала еще легче после появления макровирусов, поскольку вместо сложных языков начали использоваться простые среды, работе с которыми несложно научиться. Став старше и опытнее, но так и не повзрослев, многие из подобных вирусописателей попадают в третью, наиболее опасную, группу, которая создает и запускает в мир "профессиональные" вирусы. Эти очень тщательно продуманные и отлаженные программы создаются профессиональными, часто очень талантливыми программистами. Такие вирусы нередко используют достаточно оригинальные алгоритмы, недокументированные и мало кому известные способы проникновения в системные области данных.

Довольно значительную часть в моей коллекции занимают "семейства" — группы из нескольких (иногда более десятка) вирусов. Представителей каждой их таких групп можно выделить по одной отличительной черте, которая называется "почерком": в нескольких различных вирусах встречаются одни и те же алгоритмы и приемы программирования. Часто все или почти все представители семейства принадлежат одному автору, и иногда довольно забавно следить за "становлением пера" подобного художника — от почти "студенческих" попыток создать хоть что-нибудь, похожее на вирус, до вполне работоспособной реализации "профессионального" вируса. По моему мнению, причина, заставляющая таких людей направлять свои способности на такую бессмысленную работу, все та же — комплекс неполноценности, иногда сочетающийся с неуравновешенной психикой. Показателен тот факт, что подобное вирусописательство часто сочетается с другими пагубными пристрастиями. Так, весной 1997 года один из наиболее известных в мире авторов вирусов по кличке Talon (Австралия) скончался в возрасте 21 года от летальной дозы героина. Несколько отдельно стоит четвертая группа авторов вирусов — "исследователи". Эта группа состоит из довольно сообразительных программистов, которые занимаются изобретением принципиально новых методов заражения, скрытия, противодействия антивирусам и т.д. Они же придумывают способы внедрения в новые операционные системы, конструкторы вирусов и полиморфик-генераторы. Эти программисты пишут вирусы не ради собственно вирусов, а скорее ради "исследования" потенциалов "компьютерной среды". Часто авторы подобных вирусов не запускают свои творения в жизнь, однако очень активно пропагандируют свои идеи через многочисленные электронные издания, посвященные созданию вирусов. При этом опасность от таких "исследовательских" вирусов не падает — попав в руки "профессионалов" из третьей группы, новые идеи очень быстро реализуются в новых вирусах.

Отношение к авторам вирусов у меня двойственное. Во-первых, все, кто пишет вирусы или способствует их распространению, являются "кормильцами" антивирусной индустрии, годовой оборот которой я оцениваю как минимум в две сотни миллионов долларов или даже более того (при этом не стоит забывать, что убытки от вирусов составляют несколько сотен миллионов долларов ежегодно и в разы превышают расходы на антивирусные программы). Естественно, это весьма приблизительные числа. Конечно же, авторам вирусов не следует надеяться на материальное вознаграждение: как показывает практика, их труд был и остается бесплатным. К тому же, на сегодняшний день предложение (новые вирусы) вполне удовлетворяет спрос (возможности антивирусных фирм по обработке новых вирусов). Во-вторых, мне несколько жаль авторов вирусов, особенно "профессионалов". Ведь для того, чтобы написать подобный вирус, необходимо затратить довольно много сил и времени, причем гораздо больше, чем требуется для того, чтобы разобраться в вирусе, занести его в базу данных или даже написать специальный антивирус; не иметь другого, более привлекательного, занятия. Следовательно, вирусописатели-профессионалы довольно работоспособны и одновременно с этим маются от безделья — ситуация, как мне кажется, весьма печальная. А все оттого, что на работу принимают в первую очередь по "дипломам", а не по знаниям. Как только ситуация поменяется, сразу же поменяется и ситуация с вирусописателями-"профессионалами".

Пройдемся немного по истории? Давайте. Мнений по поводу даты рождения первого компьютерного вируса очень много. Мне доподлинно известно только одно: на машине Беббиджа его не было, а на Univac 1108 и IBM-360/370 они уже были (Pervading Animal и Christmas tree). Таким образом, первый вирус появился где-то в самом начале 70-х или даже в конце 60-х годов, хотя вирусом его никто еще не называл. Идем дальше: Brain, Vienna, Cascade и далее. Те, кто начал работать на IBM-PC аж в середине 80-х, еще не забыли повальную эпидемию этих вирусов в 1987-89 годах. Буквы сыпались на экранах, а толпы пользователей неслись к специалистам по ремонту дисплеев (сейчас все наоборот: сгорела видюха, а валим все на "неизвестный вирь"). Затем компьютер заиграл чужеземный гимн "Yankee Doodle", но чинить динамики уже никто не бросился — очень быстро разобрались, что это вирус, да не один, а целый десяток. Так вирусы начали заражать файлы. Вирус Brain и скачущий по экрану шарик вируса Ping- pong ознаменовали победу вируса и над Boot-сектором. Все это очень не нравилось пользователям IBM-PC, и появились противоядия. Одним из первых антивирусов был отечественный ANTI-KOT: это легендарный Олег Котик выпустил в свет первые версии своей программы, которая уничтожала целых 4 (четыре) вируса (американский SCAN появился у нас в стране несколько позднее). Кстати, всем, кто до сих пор сохранил копию этого антивируса, предлагаю немедленно ее стереть как программу вредную и ничего, кроме траты лишних нервов и ненужных телефонных звонков, не приносящую. К сожалению, ANTI-KOT определяет вирус Time ("Иерусалимский") по комбинации "MsDos" в конце файла, а некоторые другие антивирусы эти самые буквы аккуратно прицепляют ко всем файлам с расширением .COM или .EXE.

Следует обратить внимание на то, что истории завоевания вирусами России и Запада различаются между собой. Первым вирусом, стремительно распространившимся на Западе, был загрузочный вирус Brain, и только потом появились файловые вирусы Viena и Cascade. В России же, наоборот, сначала появились файловые вирусы, а годом позже — загрузочные. Время шло, вирусы плодились. Все они были чем-то похожи друг на друга, лезли в память, цеплялись к файлам и секторам, периодически убивали файлы, дискеты и винчестеры. Одним из первых "откровений" стал вирус Frodo.4096 — первый из известных мне файловых вирусов-невидимок (стелс). Этот вирус перехватывал INT 21h и при обращении через DOS к зараженным файлам изменял информацию таким образом, что файл появлялся перед пользователем в незараженном виде. Но это была только надстройка вируса над MS-DOS. Не прошло и года, как электронные тараканы полезли внутрь ядра DOS (вирус-невидимка Beast.512). Идея невидимости продолжала приносить свои плоды и далее: летом 1991 года началась новая эпидемия компьютерной чумы — Dir II [все, кто рылся в его коде, дружно вспомнили "былые времена"=)]. Но бороться с невидимками было довольно просто: чистка RAM решала проблему — ищи гада и лечи его на здоровье. Больше хлопот доставляли самошифрующиеся вирусы, которые тогда начинали встречаться. Ведь для их идентификации и удаления приходилось писать специальные подпрограммы и отлаживать их. Но на это никто тогда не обращал внимания, пока не появились вирусы нового поколения — те, которые носят название полиморфик- вирусы. Эти вирусы используют другой подход к невидимости: они шифруются (в большинстве случаев), а в расшифровщике используют команды, которые могут не повторяться при заражении различных файлов.

Продолжение следует

Евгений Кучук, SASecurity gr.


Компьютерная газета. Статья была опубликована в номере 09 за 2008 год в рубрике безопасность

©1997-2024 Компьютерная газета