На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » Хакеры и безопасность » Вирусы

Раз троян, два троян (часть первая)

Вы сталкивались с вирусами и троянами? Вопрос, наверное, риторический. А как вы относитесь к людям, которые их пишут? Лично у меня раньше слова «хакер» или «вирус» ассоциировались с чем-то запредельно умным и даже вызывали некоторое чувство зависти. Услышишь фразу: «Вон, смотри, хакер пошел», произнесенную почему-то шепотом, и провожаешь человека взглядом, как будто это был сам Билл Гейтс.

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

Десять лет назад... На каждом компьютере стоит Aidstest от доктора Лозинского (других антивирусных программ просто нет, или они слишком избирательны). Вирусная база на несколько сотен вирусов, причем все они по большей части уникальные и известные людям. Летом 1994 года выходит первая версия DrWeb. Через два года эта программа ловит уже несколько тысяч вирусов. Появляются известные Demiurg, OneHalf, а примерно за год до этого начинают плодиться макровирусы. Постепенно написание вирусов из своего рода искусства превращается в переделку чужих исходников. Кстати, этому немало способствовал популярный киевский электронный журнал «Infected Voice» (хотя стоит заметить, что редакция этого издания как раз пыталась объяснить, что вирусы не стоит писать ради вредительства).

Вернемся к делам минувших дней. Ореол загадочности, окружавший вирусы, привел к тому, что я и сам захотел написать парочку. А однажды, кажется, в «Технике – Молодежи», я натолкнулся на интервью с «вирмейкером». Журналист, в лучших традициях шпионских фильмов, встретился с молодым человеком, который написал несколько вирусов, попавших в базу данных DrWeb (крутизна какая!). Молодой человек собирался создать еще один, выводящий из строя навороченный монитор известной фирмы, потому что, по его словам, «некоторые из них сильно умными стали». В постскриптуме к статье говорилось, что это ему удалось. Вот именно после этого я твердо решил, что напишу вирус. Что-то поломать, разрушить – это же так круто! Тем более, это могут сделать лишь избранные. А как приятно для самолюбия будет запускать у себя на компьютере антивирусную программу, сообщающую, что на диске мой вирус... Примерно так я тогда думал.

В конце концов ко мне попал исходный текст на Паскале HLLP.Destroy. После небольших модификаций вирус перестал обнаруживаться антивирусными программами. Это была первая цель, к которой я стремился. Я не люблю плагиата, поэтому затем серьезно переделал код, немного добавив ассемблера, однако в основе оставался Destroy. К моменту окончания «работы», наверное, все окружающие были в курсе, что я написал вирус. Я опробовал его в родном университете, и представьте мое удивление, когда он стал множиться не по дням, а по часам. Но вскоре эйфория сменилась противоположным чувством, потому что программа вышла из под контроля. В нее было встроено несколько вещей, мешающих работе на компьютере. Многим это не понравилось, а к кому обращаться, все знали. Доходило до того, что ко мне подходили незнакомые люди и спрашивали, как удалить вирус. Я не вредитель, поэтому предусмотрел небольшую страховку: если в системе прописать необходимую переменную окружения, вирус аннулируется. Однако я не учел тот факт, что у меня не было доступа во все аудитории, к тому же на компьютерах водились и другие вирусы, вступающие во взаимодействие друг с другом и в результате разрушающие исполнимые файлы.

Через некоторое время DrWeb стал ловить мой вирус, потому что я его сам и послал в «Диалог-Науку». Сбылась следующая мечта, но не скажу, что я был особенно рад этому. Эпидемию удалось остановить, пережив несколько неприятных моментов, после чего я решил больше не выпускать вирусы в «свободное плавание». У этой истории было еще продолжение: где-то через год вирус опять появился, но один старшекурсник буквально за «пару» написал к нему антивирус (!).

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

Вообще, если не требуется рекордов по размеру полученного кода и затратам места в памяти, то Turbo Pascal – лучший продукт для написания вируса. Для удобства я писал в среде седьмого Паскаля, а компилировал уже в 5.5, потому что код после него был минимальным, после чеого еще сжимал PkLite. Впрочем, что такое 5-6 килобайт на дисках в сотни мегабайт тогда, а сейчас в десятки гигабайт? А вирус, написанный для ДОСа, будет отлично работать и в DOS, и в Windows 3.0-2000.

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

Теперь про обнаружение вирусов. По своему опыту могу сказать, что после небольших переделок тех же «вредоносных» программ антивирусы вроде DrWeb не помогут, надо использовать только резидентные сканеры. Кроме непосредственных сканеров вирусов, существует класс программ, отслеживающих изменения файлов и файловой системы. О возникающих подозрениях сообщается пользователлю. Лучшей такой программой я считаю ADinf32. Я настроил ее так, что после анализа файлов новые автоматически проверяются DrWeb, но даже один ADinf32 превосходно справляется со своей задачей. Для теста я переписал на дискету исполняемый файл, с помощью ADinf32 подсчитал его контрольную сумму, после чего запустил вирус. А потом повторно запустил ревизора. Понятно, что мне тут же было объявлено о потенциальном наличии вирусов. Немного подумав, я решил, что тут что-то не так. Ведь есть программы, не являющиеся вирусами, которые модифицируют свой исполнимый файл, например, записывая в конец зашифрованные пароли, но вряд ли на них будет ругаться ревизор. Повторил свой тест, только теперь вместо вируса вручную изменил код программы-жертвы. Ничего не произошло, ADinf32 пометил, что файл изменился, но мало ли... Потом я понял! Чтобы скрыть свое присутствие, я писал вирус так, чтобы после заражения он восстанавливал старые файловые атрибуты, время создания и модификации. Ревизору стало подозрительно, что размер файла увеличился, а вот время не изменилось. Отсюда вывод: если просто заражать файлы без восстановления второстепенной информации, больше шансов, что вирус не обнаружат. Человек полагается на специализированное программное обеспечение, вот и весь сказ.

EXE-вирусы я давно не писал – надоело. Интересно было бы попробовать CIH, но боязно. А вот макро-вирусы – другое дело. Опять повторилась старая история: я не знал Basic, который используется для этих целей, но ко мне на компьютер попал W97M.Marker. Антивирус сказал, что normal.dot и один из файлов заражен. Я лечить не стал, решив во всем разобраться сам. Почитал Help о том, как вообще писать макросы. Оказалось, что довольно просто. После нажатия Alt-F11 запустился MS Visual Basic, в котором я и увидел текст вируса. Наперед скажу, что можно заблокировать показ кода макроса, что используется в других вирусах. После распечатки на две страницы и пары дней работы была готова модификация Marker, которая (ну естественно!) не распознавалась DrWeb и Spider (не будет же он на все макросы ругаться). Думаю, что так сейчас и пишутся вирусы.

Зараженный файл был помещен в архив моей вирусной коллекции и поставлен на пароль. Снова вирус помог мне разобраться в языке программирования, я понял, что писать такие штуки очень легко и потерял к этому делу интерес. Но у истории опять было продолжение! Месяцев через шесть ко мне обратился один человек и спросил, не менял ли я настройки Word у него на компьютере. Менять его настройки мне было незачем, но далее он назвал признак, по которому я сразу понял, что это ОН. Отличительная черта Marker – вирус модифицирует текст макроса, добавляя в комментарии имя пользователя Word. Таким образом, можно точно проследить путь распространения вируса. К обратившемуся человеку он попал с компьютера, на котором макрос и был написан, не от меня. Было интересно читать цепочку движения вируса по пользователям. Никого из них я не знаю, как и хозяин компьютера. Да, забыл сказать, AVP тоже не ловил вирус. И еще интересная деталь: макрос был написан совсем в другом городе, а все-таки нашел меня. Не помогли никакие антивирусные настройки Word.

Помнится, раньше Игорь Данилов (автор DrWeb) вел файл VIRLIST.DWB, в котором описывалась работа вирусов. Для меня чтение этого файла приятнее «Лучшей десятки анекдотов». Там встречаются такие перлы! Кто-то ведет переписку с авторами программы DrWeb, кто-то обзывает начальника и врагов, а отдельные кадры признаются в любви и поздравляют себя с днем рождения. Особенно длинная история общения в серии вирусов Doggy. Есть даже довольно интересные стихи, а качество псевдографики вызывает глубокое уважение. Такое впечатление, что над некоторыми вирусами работала команда, состоящая из программиста, художника-дизайнера и, скажем, литератора или музыканта. Вот некоторые образцы этого народного творчества.

Было бы ошибкой считать, что вирусы обязательно должны форматировать жесткий диск, выжигать люминофор монитора или разрушать головки дисковода. Вирус – обычная программа, особенность которой лишь в том, что она стремится размножиться, заключая свой код в чужие файлы. И если внимательно почитать VIRLIST.DWB, то там можно обнаружить совершенно четкие инструкции по написанию вирусов. Может, из-за этого сей файл давно не обновлялся? :)

Алексей Павленко
СофтТерра

Рассылки Subscribe.Ru
Все о защите данных на Идваре
Другие разделы
Прочие опасности
Вирусы
Хакеры
Киберпреступность
Уязвимость ПО
Новое в разделе
Защита данных
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100