Сайт в помощь студенту Грамоте учиться – всегда пригодится

Кто и зачем пишет вирусы

 

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

Как уже упоминалось, я имел опыт написания вирусов, и не буду рассматривать мотивации остальных людей, а попытаюсь объяснить свою. Она довольно проста: скука, и желание узнать, что можно, а чего нельзя сделать с какой-либо операционной системой. Сейчас операционки на персональных компьютерах меняются довольно быстро, и постоянно обретают новые возможности, такие, как, например, доступ к сети интернет и выполнение полученного из него произвольного кода. Это дает потенциально новую ступень в развитии вирусов и гораздо большую степень наносимого вреда.

Немного истории

Скука и любознательность - это самые основные, и в тоже время, самые простые причины побуждающие людей писать вирусы. Я думаю с самого начала истории появления вирусов, эти причины не изменились. В моем случае, все было как и множества других, так называемых, хакеров: любознательность и увлеченность технологией. Точкой отсчета стала задача: добавить программу А в тело программы Б таким образом, чтобы программа Б не потеряла своей функциональности. Для этого требовалось серьезное знание системы, под управлением которой работала программа. В то время это был DOS, простая коммандная строка, имевшая серьезные ограничения по возможностям, однако не для серьезных программистов.

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

Вирусы становились более привлекательные внешне, однако их разрушающий эффект становился больше. Думаю, что именно возможность внести графический аспект в свои вирусы, как часть своей личности, дала авторам возможность персонализировать свои "творения", как например слова William Blake занесенные в Maltese Amoeba. Чем больше интересных вещей добавлялось в вирусы, тем они становились злее по своей сути. Обратите внимание на серию Патогенных вирусов, которые при запуске выдавали Smoke me a kipper I ll be back for breakfast, unfortunately some of your data won t". Это была попытка заставить пользователя помнить, о том как он получил вирус.

Вирусы появлялись медленно и являлись, если так можно выразиться, игрой имен. Многие авторы придумывали необычные и странные имена, полагаю для создания атмосферы недоступной таинственности. Она должна была указывать на загадочность и неприступность автора в реальной жизни, чтобы не понести наказания за содеянное. Все это попахивало какой-то мистикой. Написание вирусов быстро стало интересовать множество людей, которые стремились достичь уровня тех, кто способен "повалить" компьютер на другой стороне земного шара парой нажатий клавиш. Однако реальность есть реальность, никакой мистики, вирус - это просто программа. Эта реальность и подняла новую волну кодеров, вдохновленных одной силой: силой безграничного и наиболее ощутимого разрушения.

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

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

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

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

Некоторые из таких кодеров, для привлечения к себе внимания, начали давать интервью в средства масс-медиа и по телевидению. Однако в силу того, что они слабо представляли, что такое вирусы по сути, все это выглядело как какая-то игра.

 

Egor


Кто и зачем пишет вирусы №2

 

Мотивы написания вирусов
Рассмотрев немного истории, вернемся в реальность, и попробуем понять, зачем люди пишут вирусы? По моему опыту, скажу, что на это есть несколько причин. Они, естественно, сугубо индивидуальны, что и сказывается в последствии на результате труда.

Для удовольствия

Это первая и наиболее основная причина. Это может звучать смешно, по сравнению с наносимым ущербом, но автору было просто интересно, что может произойти. Думаю ты не осознаешь проблемы, пока сам с ней не сталкивешься. "Ха-ха! Какой-то чувак в штатах только что потерял весь свой винт! Ну и что, все равно я его не знаю".

Поиск известности

Вторая причина для написания - это добится того, чтобы твой кусок кода появился на Wildlist, сайте освещающем циркулирующие в даный момент по миру вирусы. Круто ведь ткнуть кого-нить в Wildlist и сказать: "Смотри, чувак! Это я сбацал!" или "Теперь я в натуре монстр!". Она во всей своей красе проявляется у script kiddie с их детским подходом к возможному ущербу.

Сюда же можно отнести и "Kit clicker ов", тех script kiddies которые используют готовые наборы кода для создания вирусов. Широко известный пример, это создание червя Anna Kournikova, с использованием Kalamar kit. Kit кодеры не имеют заний для понятия осуществляемого процесса, ими руководит только одно - получение известности. Эта группа не приветствуется как вирусописателями, так и теми, кто пишет антивирусы. Эксперименты с заготовками на предмет, того что может получится (обычно среди 14 - 18 летних) доставляют только головную боль.

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

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

Раскрывшиеся серьезные кодеры

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

Рассерженные одиночки

Последняя и наиболее опасный тип вирусописателя. Их не интересует какая-либо мораль или закон, и забота о том ущербе, который может понести пострадавший. У каждого из них есть своя персональная цель. Они не относят себя ни к какой группе кодеров, ни в коей мере. Их задача нанести максимальный урон или создать вирус который "даст власть над всем миром".

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

Увлечение

Как уже говорилось, многие вирусописатели делают это из увлечения. У кого-то есть достаточно свободного времени, которое он проводит за любимым занятием. Это скорее относится к молодым людям, так как у более старшего поколения чаще гораздо больше забот.

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

Чего нам ждать

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

Все о троянах

 

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

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

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

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

Что делают трояны?

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

Как троянцы попадают на компьютер?

К сожалению, однозначно тут сказать ничего нельзя - иначе, можно было бы просто перекрыть эти пути и не беспокоиться... Чаще всего, заражение происходит, когда пользователь запускает какую-то программу, полученную из "сомнительного источника". Стандартным способом распространения троянов, является рассылка писем от имени известных серверов, причем в письме указывается, что прицепленный файл - это новая программа/заплатка и т.п. Другой способ - письмо, якобы по ошибке попавшее не туда. Основная задача таких писем - заинтересовать вас и заставить запустить прицепленный файл. Учтите, что даже прицепленная картинка может оказаться троянцем: можно, например, назвать его "1.gif много пробелов .exe" и прицепить соответствующую иконку - и вы в своей почтовой программе увидите только кусок названия: "1.gif". Не менее распространенной является маскировка троянцев под новые версии известных программ (в том числе антивирусов) и под... троянцев. Так что, если вы решите поразвлечься и подсунуть трояна своему знакомому, то не исключено, что и сами окажетесь жертвой злоумышленника.

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

Кстати, довольно часто троянца можно определить и по стилю письма. Если вы получаете письмо, или видите на страничке что-то вроде "эй, чувак, здесь самая крутая нюка", то процентов 90, что это именно троян.

Как вычислить трояна?

Для того, чтобы троян мог творить свое "черное дело", он должен быть запущен у вас на компьютере. В первый раз вы запускаете его сами, но надеяться то, что вы будете делать это каждый раз - нельзя. Соответственно, троянец должен позаботиться о том, чтобы не умереть после перезагрузки компьютера. В Windows есть три места, откуда программа может автоматически запуститься при загрузке системы: папка Автозагрузка, win.ini и реестр (разумеется, есть еще различные драйвера, но такие сложные трояны встречаются очень редко). Так что, если вы будете периодически проверять эти места, скажем, с помощью PC Security Guard или RunServices, на предмет "неопознанных" программ, то с большой долей уверенности сможете обезвредить троянов. Другое дело, что надо еще разобраться, что это именно троян... Дело в том, что в Windows живет огромное количество файлов, и определить должен ли этот файл здесь "жить" или это "пришелец" довольно сложно. Тем более, что многие трояны имеют достаточно правдоподобные названия, например browser.exe или spoolsrv.exe...

Уже запущенного трояна определить сложнее, хотя тоже возможно. Нажав Ctrl-Alt-Del или используюя какую-нибудь специальную программу, можно посмотреть список процессов, запущенных на вашем компьютере. С помощью утилиты netstat (или другой аналогичной) можно посмотреть, с кем и на каком порту ваш компьютер устанавливает связь. Правда, для пользования этими утилитами (точнее, для того, чтобы понять их результаты) требуются определенные знания... Кстати, косвенным признаком наличия трояна может служить Интернет-активность вашего компьютера в то время, когда вы ничего не делаете (хотя с тем же успехом, это может оказаться какая-нибудь безобидная утилита, проверяющая в фоновом режиме ваши закладки или кэширующая страницы).

Ну и, наконец, традиционный способ: антивирусы. К сожалению, до последнего времени большинство из них боролось именно с вирусами, отлавливая некоторых троянцев в качестве побочного результата. На мой взгляд, лучшие результаты здесь показывает AntiViral Toolkit Pro - его база троянов достаточно велика и включает наиболее распространенные их них. Существуют также утилитки, защищающие от того или иного трояна, но они довольно неудобны: существуют сотни троянов, а запускать сотню утилит для защиты от них довольно проблематично. В последнее время появились и активно развиваются специализированные антитроянские программы - BACKWORK, The Cleaner и т.д. - но они пока еще довольно слабы, по крайней мере, у меня они не выловили примерно треть запущенных троянов.

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

Еще раз напоминаю: если вы получили письмо от AVP с приаттаченным обновлением антивируса; Микрософта с приаттаченной утилиткой для подготовки к 2000-му году; ListSOFT-а с приаттаченной крутой программой или еще что-то подобное - удалите это письмо.

Успехов!