Среда существования вирусов
Операционная система или приложение может подвергнуться вирусному нападению в том случае, если она имеет возможность запустить программу, не являющуюся частью самой системы. Данному условию удовлетворяют все популярные «настольные» операционные системы, многие офисные приложения, графические редакторы, системы проектирования и прочие программные комплексы, имеющие встроенные скриптовые языки.
Компьютерные вирусы, черви, троянские программы существуют для десятков операционных систем и приложений. В то же время существует огромное количество других операционных систем и приложений, для которых вредоносные программы пока не обнаружены. Что является причиной существования вредных программ в одних системах и отсутствия их в других?
Причиной появления подобных программ в конкретной операционной системе или приложении является одновременное выполнение следующих условий:
* популярность, широкое распространение данной системы;
* наличие разнообразной и достаточно полной документации по системе;
* незащищенность системы или существование известных уязвимостей в системе безопасности.
* Каждое перечисленное условие является необходимым, а выполнение всех трех условий одновременно является достаточным для появления разнообразных вредоносных программ.
Условие популярности системы необходимо для того, чтобы она попалась на глаза хотя бы одному компьютерному хакеру. Если система существует в единичных экземплярах, то вероятность ее злонамеренного использования близка к нулю. Если же производитель системы добился ее массового распространения, то очевидно, что рано или поздно хакеры и вирусописатели попытаются использовать ее в своих интересах.
Напрашивается естественный вывод: чем популярнее операционная система или приложение, тем чаще она будет являться жертвой вирусной атаки. Практика это подтверждает — распределение количества вредного программного обеспечения для Windows и Linux практически совпадает с долями рынка, которые занимают эти операционные системы.
Наличие полной документации необходимо для существования вирусов по естественной причине — создание программ (включая вирусные) невозможно без технического описания использования сервисов операционной системы и правил написания приложений. У большинства мобильных телефонов, например, подобная информация закрыта — ни компании-производители программных продуктов, ни хакеры не имеют возможности разрабатывать программы для данных устройств. У некоторых «умных» телефонов есть документация по разработке приложений — и, как следствие, появляются и вредоносные программы, разработанные специально для телефонов данного типа.
Под защищенностью системы понимаются архитектурные решения, которые не позволяют новому (неизвестному) приложению получить полный или достаточно широкий доступ к файлам на диске (включая другие приложения) и потенциально опасным сервисам системы. Подобное ограничение фактически блокирует любую вирусную активность, но при этом, естественно, накладывает существенные ограничения на возможности обычных программ.
Примеров широко известных защищенных операционных систем и приложений, к сожалению, нет. Частично удовлетворяет требованию защищенности Java-машина, которая запускает Java-приложение в режиме «песочницы». И действительно, «настоящих» вирусов и троянских программ в виде Java-приложений не было достаточно долгое время (за исключением тестовых вирусов, которые были практически неработоспособны). Вредоносные программы в виде Java-приложений появились лишь тогда, когда были обнаружены способы обхода встроенной в Java-машину системы безопасности.
Описания вредоносных программ
К вредоносному программному обеспечению относятся сетевые черви, классические файловые вирусы, троянские программы, хакерские утилиты и прочие программы, наносящие заведомый вред компьютеру, на котором они запускаются на выполнение, или другим компьютерам в сети:
Сетевые черви
К данной категории относятся программы, распространяющие свои копии по локальным и/или глобальным сетям с целью:
* проникновения на удаленные компьютеры;
* запуска своей копии на удаленном компьютере;
* дальнейшего распространения на другие компьютеры в сети.Для своего распространения сетевые черви используют разнообразные компьютерные и мобильные сети: электронную почту, системы обмена мгновенными сообщениями, файлообменные (P2P) и IRC-сети, LAN, сети обмена данными между мобильными устройствами (телефонами, карманными компьютерами) и т. д.
Большинство известных червей распространяется в виде файлов: вложение в электронное письмо, ссылка на зараженный файл на каком-либо веб- или FTP-ресурсе в ICQ- и IRC-сообщениях, файл в каталоге обмена P2P и т. д.
Некоторые черви (так называемые «бесфайловые» или «пакетные» черви) распространяются в виде сетевых пакетов, проникают непосредственно в память компьютера и активизируют свой код.
Для проникновения на удаленные компьютеры и запуска своей копии черви используют различные методы: социальный инжиниринг (например, текст электронного письма, призывающий открыть вложенный файл), недочеты в конфигурации сети (например, копирование на диск, открытый на полный доступ), ошибки в службах безопасности операционных систем и приложений.
Некоторые черви обладают также свойствами других разновидностей вредоносного программного обеспечения. Например, некоторые черви содержат троянские функции или способны заражать выполняемые файлы на локальном диске, т. е. имеют свойство троянской программы и/или компьютерного вируса.
Классические компьютерные вирусы
К данной категории относятся программы, распространяющие свои копии по ресурсам локального компьютера с целью:
* последующего запуска своего кода при каких-либо действиях пользователя;
* дальнейшего внедрения в другие ресурсы компьютера.В отличие от червей, вирусы не используют сетевых сервисов для проникновения на другие компьютеры. Копия вируса попадает на удалённые компьютеры только в том случае, если зараженный объект по каким-либо не зависящим от функционала вируса причинам оказывается активизированным на другом компьютере, например:
* при заражении доступных дисков вирус проник в файлы, расположенные на сетевом ресурсе;
* вирус скопировал себя на съёмный носитель или заразил файлы на нем;
* пользователь отослал электронное письмо с зараженным вложением.Некоторые вирусы содержат в себе свойства других разновидностей вредоносного программного обеспечения, например бэкдор-процедуру или троянскую компоненту уничтожения информации на диске.
Троянские программы
В данную категорию входят программы, осуществляющие различные несанкционированные пользователем действия: сбор информации и ее передачу злоумышленнику, ее разрушение или злонамеренную модификацию, нарушение работоспособности компьютера, использование ресурсов компьютера в неблаговидных целях.
Отдельные категории троянских программ наносят ущерб удаленным компьютерам и сетям, не нарушая работоспособность зараженного компьютера (например, троянские программы, разработанные для массированных DoS-атак на удалённые ресурсы сети).
Хакерские утилиты и прочие вредоносные программы
К данной категории относятся:
* утилиты автоматизации создания вирусов, червей и троянских программ (конструкторы);
* программные библиотеки, разработанные для создания вредоносного ПО;
* хакерские утилиты скрытия кода зараженных файлов от антивирусной проверки (шифровальщики файлов);
* «злые шутки», затрудняющие работу с компьютером;
* программы, сообщающие пользователю заведомо ложную информацию о своих действиях в системе;
* прочие программы, тем или иным способом намеренно наносящие прямой или косвенный ущерб данному или удалённым компьютерам.
Кто создает вирусы
Основная масса вирусов и троянских программ в прошлом создавалась студентами и школьниками, которые только что изучили язык программирования, хотели попробовать свои силы, но не смогли найти для них более достойного применения. Отраден тот факт, что значительная часть подобных вирусов их авторами не распространялась и вирусы через некоторое время умирали сами вместе с дисками, на которых хранились. Такие вирусы писались и пишутся по сей день только для самоутверждения их авторов.
Вторую группу создателей вирусов также составляют молодые люди (чаще — студенты), которые еще не полностью овладели искусством программирования. Единственная причина, толкающая их на написание вирусов, это комплекс неполноценности, который компенсируется компьютерным хулиганством. Из-под пера подобных «умельцев» часто выходят вирусы крайне примитивные и с большим числом ошибок («студенческие» вирусы). Жизнь подобных вирусописателей стала заметно проще с развитием интернета и появлением многочисленных веб-сайтов, ориентированных на обучение написанию компьютерных вирусов. На подобных веб-ресурсах можно найти подробные рекомендации по методам проникновения в систему, приемам скрытия от антивирусных программ, способам дальнейшего распространения вируса. Часто здесь же можно найти готовые исходные тексты, в которые надо всего лишь внести минимальные «авторские» изменения и откомпилировать рекомендуемым способом.
«Хулиганские» вирусы в последние годы становятся все менее и менее актуальными (несмотря на то что на смену повзрослевшим тинейджерам-хулиганам каждый раз приходит новое поколение тинейджеров) — за исключением тех случаев, когда такие вредоносные программы вызвали глобальные сетевые и почтовые эпидемии. На текущий момент доля подобных вирусов и троянских программ занимает не более 10% «материала», заносимого в антивирусные базы данных. Оставшиеся 90% гораздо более опасны, чем просто вирусы.
Став старше и опытнее, многие из подобных вирусописателей попадают в третью, наиболее опасную группу, которая создает и запускает в мир «профессиональные» вирусы. Эти тщательно продуманные и отлаженные программы создаются профессиональными, часто очень талантливыми программистами. Такие вирусы нередко используют достаточно оригинальные алгоритмы проникновения в системные области данных, ошибки в системах безопасности операционных сред, социальный инжиниринг и прочие хитрости.
Отдельно стоит четвертая группа авторов вирусов — «исследователи», довольно сообразительные программисты, которые занимаются изобретением принципиально новых методов заражения, скрытия, противодействия антивирусам и т. д. Они же придумывают способы внедрения в новые операционные системы. Эти программисты пишут вирусы не ради собственно вирусов, а скорее ради исследования потенциалов «компьютерной фауны». Часто авторы подобных вирусов не распространяют свои творения, однако активно пропагандируют свои идеи через многочисленные интернет-ресурсы, посвященные созданию вирусов. При этом опасность, исходящая от таких «исследовательских» вирусов, тоже весьма велика — попав в руки «профессионалов» из предыдущей группы, эти идеи очень быстро появляются в новых вирусах.
Мелкое воровство
С появлением и популяризацией платных интернет-сервисов (почта, WWW, хостинг) компьютерный андеграунд начинает проявлять повышенный интерес к получению доступа в сеть за чужой счет, т. е. посредством кражи чьего-либо логина и пароля (или нескольких логинов/паролей с различных пораженных компьютеров) путем применения специально разработанных троянских программ.
В начале 1997 года зафиксированы первые случаи создания и распространения троянских программ, ворующих пароли доступа к системе AOL. В 1998 году, с распространением интернет-услуг в Европе и России, аналогичные троянские программы появляются и для других интернет-сервисов. До сих пор троянцы, ворующие пароли к dial-up, пароли к AOL, коды доступа к другим сервисам, составляют заметную часть ежедневных «поступлений» в лаборатории антивирусных компаний всего мира.
Троянские программы данного типа, как и вирусы, обычно создаются молодыми людьми, у которых нет средств для оплаты интернет-услуг. Характерен тот факт, что по мере удешевления интернет-сервисов уменьшается и удельное количество таких троянских программ.
«Мелкими воришками» также создаются троянские программы других типов: ворующие регистрационные данные и ключевые файлы различных программных продуктов (часто — сетевых игр), использующие ресурсы зараженных компьютеров в интересах своего «хозяина» и т. п.
Криминальный бизнес
Наиболее опасную категорию вирусописателей составляют хакеры-одиночки или группы хакеров, которые осознанно или неосознанно создают вредоносные программы с единственной целью: получить чужие деньги (рекламируя что-либо или просто воруя их), ресурсы зараженного компьютера (опять-таки, ради денег — для обслуживания спам-бизнеса или организации DoS-атак с целью дальнейшего шантажа).
Обслуживание рекламного и спам-бизнеса — один из основных видов деятельности таких хакеров. Для рассылки спама ими создаются специализированные троянские proxy-сервера, которые затем внедряются в десятки тысяч компьютеров. Затем такая сеть «зомби-машин» поступает на черный интернет-рынок, где приобретается спамерами. Для внедрения в операционную систему и дальнейшего обновления принудительной рекламы создаются утилиты, использующие откровенно хакерские методы: незаметную инсталляцию в систему, разнообразные маскировки (чтобы затруднить удаление рекламного софта), противодействие антивирусным программам.
Вторым видом деятельности подобных вирусописателей является создание, распространение и обслуживание троянских программ-шпионов, направленных на воровство денежных средств с персональных (а если повезет — то и с корпоративных) «электронных кошельков» или с обслуживаемых через интернет банковских счетов. Троянские программы данного типа собирают информацию о кодах доступа к счетам и пересылают ее своему «хозяину».
Третьим видом криминальной деятельности этой группы является интернет-рэкет, т. е. организация массированной DoS-атаки на один или несколько интернет-ресурсов с последующим требованием денежного вознаграждения за прекращение атаки. Обычно под удар попадают интернет-магазины, букмекерские конторы — т. е. компании, бизнес которых напрямую зависит от работоспособности веб-сайта компании.
Вирусы, созданные этой категорией «писателей», становятся причиной многочисленных вирусных эпидемий, инициированных для массового распространения и установки описанных выше троянских компонент.
Признаки заражения
Есть ряд признаков, свидетельствующих о заражении компьютера:
* вывод на экран непредусмотренных сообщений или изображений;
* подача непредусмотренных звуковых сигналов;
* неожиданное открытие и закрытие лотка CD-ROM-устройства;
* произвольный, без вашего участия, запуск на компьютере каких-либо программ;
* при наличии на вашем компьютере межсетевого экрана, появление предупреждений о попытке какой-либо из программ вашего компьютера выйти в интернет, хотя вы это никак не инициировали.
Если вы замечаете, что с компьютером происходит подобное, то с большой степенью вероятности можно предположить, что ваш компьютер поражен вирусом.
Есть также косвенные признаки заражения вашего компьютера:
* частые зависания и сбои в работе компьютера;
* медленная работа компьютера при запуске программ;
* невозможность загрузки операционной системы;
* исчезновение файлов и каталогов или искажение их содержимого;
* частое обращение к жесткому диску (часто мигает лампочка на системном блоке);
* интернет-браузер «зависает» или ведет себя неожиданным образом (например, окно программы невозможно закрыть).
В 90% случаев наличие косвенных симптомов вызвано сбоем в аппаратном или программном обеспечении. Несмотря на то, что подобные симптомы с малой вероятностью свидетельствуют о заражении, при их появлении рекомендую провести полную проверку вашего компьютера антивирусной программой (Желательно несколькими антивирусами).
История вредоносных программ
Мнений по поводу рождения первого компьютерного вируса очень много. Нам доподлинно известно только одно: на машине Чарльза Бэббиджа, считающегося изобретателем первого компьютера, вирусов не было, а на Univax 1108 и IBM 360/370 в середине 1970-х годов они уже были.
Несмотря на это, сама идея компьютерных вирусов появилась значительно раньше. Отправной точкой можно считать труды Джона фон Неймана по изучению самовоспроизводящихся математических автоматов. Эти труды стали известны в 1940-х годах. А в 1951 г. знаменитый ученый предложил метод, который демонстрировал возможность создания таких автоматов. Позднее, в 1959 г., журнал "Scientific American" опубликовал статью Л.С. Пенроуза, которая также была посвящена самовоспроизводящимся механическим структурам. В отличие от ранее известных работ, здесь была описана простейшая двумерная модель подобных структур, способных к активации, размножению, мутациям, захвату. Позднее, по следам этой статьи другой ученый - Ф.Ж. Шталь - реализовал модель на практике с помощью машинного кода на IBM 650.
Необходимо отметить, что с самого начала эти исследования были направлены отнюдь не на создание теоретической основы для будущего развития компьютерных вирусов. Наоборот, ученые стремились усовершенствовать мир, сделать его более приспособленным для жизни человека. Ведь именно эти труды легли в основу многих более поздних работ по робототехнике и искусственному интеллекту. И в том, что последующие поколения злоупотребили плодами технического прогресса, нет вины этих замечательных ученых.
В 1962 г. инженеры из американской компании Bell Telephone Laboratories - В.А. Высотский, Г.Д. Макилрой и Роберт Моррис - создали игру "Дарвин". Игра предполагала присутствие в памяти вычислительной машины так называемого супервизора, определявшего правила и порядок борьбы между собой программ-соперников, создававшихся игроками. Программы имели функции исследования пространства, размножения и уничтожения. Смысл игры заключался в удалении всех копий программы противника и захвате поля битвы.