Архивы: по дате | по разделам | по авторам

Изгои по недоразумению

Архив
автор : Андрей Васильков   13.05.2003

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

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

Официально считается, что термин «вирус» впервые употребил сотрудник Лехайского университета Ф. Коэн в 1984 году на конференции по безопасности информации, проходившей в США1. Однако о такого рода программах заговорили еще в семидесятых годах прошлого столетия. Зародившись в эпоху Univac 1108 и IBM-360/370, вирусы в наши дни не только не исчезли, но и эволюционировали, вобрав в себя множество интереснейших идей по работе с ОС и аппаратной частью компьютеров2.

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

Если авторы популярных программ хотят заработать на своих творениях, то создатели вирусов, напротив, — скромные и бескорыстные люди3. Далеко не всегда известен даже автор вируса, и ни один из них никогда не требовал зарегистрировать ни одной копии. Воистину, верх альтруизма!

Некоторых не устраивает то, что, создавая свои резервные копии, вирус внедряет себя в каждый программный файл определенного типа, или записывается в загрузочные секторы всех дисков, или распространяет свои копии по сетям. Но это же не повод объявлять вирусы вне закона! Таким способом они лишь пытаются обеспечить надежность своей установки и удобство пользователя. Забота о последнем видна хотя бы из того, что все действия вирус совершает скрыто, ничего не спрашивая. Это свидетельствует об уважении автора вируса к конечному потребителю его продукции. Он полагает, что тот, кто будет работать с его программой, достаточно компетентен и сам во всем разберется. Сравним это с раздражающим поведением продуктов Microsoft, которые за час работы так достанут глупыми вопросами и предложениями помощи, что начинаешь сомневаться, для людей ли они писались? Может быть, для домашних животных?

Еще одно проявление заботы — миниатюризация кода. Как правило, хорошие вирусы пишутся на ассемблере или Си, их алгоритм максимально оптимизируется автором. В то же время создать типовой вирус может человек и с начальным уровнем подготовки. Для такой категории сделано множество генераторов вирусов: DREG, G2, IVP, NRLG, PS-MPC, Script.Alamar, StalkerX, VBS.Indra, VCC, VCL плюс два десятка генераторов полиморфных вирусов — только выбирай! Обилию средств разработки позавидует любой программист.

Стремясь сделать код как можно компактнее, создатели вирусов не пишут деинсталляторов. Чтобы можно было удалить вирус из системы, некоторые из них создаются таким образом, что существуют только в оперативной памяти — до первой перезагрузки. Последний раз глобальный интерес к представителю такого класса вирусов — Worm.SQL.Helkern — надолго парализовал Интернет4. Для других типов доступно множество специальных утилит-деинсталляторов от сторонних разработчиков («Антивирус Касперского», DrWeb, Panda и др.).

Нелюбовь к некоторым вирусам за их деструктивные действия вообще непонятна — ведь это документированные (к примеру, на www.viruslist.com) функции такого рода программ. И к ним нужно относиться так же спокойно, как и к возможностям утилиты format.com или программам прошивки BIOS.

Всего, по данным «Ангстрем» (angstroem.t-k.ru), было написано более 65 тысяч вирусов, включая модификации, троянские программы и сетевых червей. Провести сравнительный обзор даже их сотой части не представляется возможным, посему ограничусь лишь наиболее известными, необычными и/или новейшими из числа тех, что встречаются в диком виде.

Trojan.TimeBomb

Эту утилиту я бы отнес к классу ПО защиты информации. Она записывает в MBR жесткого диска код, который уничтожает содержимое винчестера в указанный пользователем день. Может пригодиться на случай, если вы опасаетесь, что вашими данными завладеют другие. Доработать интерфейс, добавить возможность удаления отдельных разделов/папок/файлов, штатную дезактивацию — получится готовый коммерческий продукт.

I-Worm.SirCam

Программа для рассылки писем. Поддерживает работу с аттачментами, причем способна выбирать их сама, как и адреса получателей и даже тему письма. Словом, рассчитана на ленивых. В зависимости от текущей системной даты и времени с вероятностью 5% удаляет все файлы и поддиректории на диске, где установлена ОС Windows, — это явно недоработанная процедура очистки диска от мусора. Размер в 130 Кбайт обусловлен языком программирования Delphi.

OneHalf

Это классика — семейство криптографических утилит, насчитывающее на сегодня 27 представителей. При каждой загрузке системы с жесткого диска последовательно, начиная с последних цилиндров, шифруются все сектора двух цилиндров на каждой головке диска. Алгоритм шифрования слабенький и без труда вскрывается деинсталляторами («Антивирус Касперского», DrWeb и т. д.). Для более серьезной защиты рекомендую воспользоваться иными утилитами — PGP Disk, Scramdisk.

Ment.1258, 1317

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

Back Orifice

Настоящий шедевр. Один админ в дружеской беседе признался мне, что за все годы своей работы не видел лучшего средства удаленного администрирования, к тому же — бесплатного. Эта программа была представлена в начале августа 1998 года группой CDC (Cult of Dead Cow) на конференции DefCon. Как водится, состоит из двух частей: клиентской и серверной. Работает как с консолью, так и в виде GUI-приложения. Распространяется в виде пакета из нескольких программ и документации, написана на C++ и скомпилирована в MS Visual C++. По меткому замечанию создателей, «предоставляет оператору полномочия по управлению удаленным компьютером — большие, чем имеет человек, сидящей за клавиатурой этого компьютера», а именно:
- создание диалоговых окон, запись последовательности нажатых клавиш, блокировка и перезагрузка компьютера;
- получение информации об удаленном компьютере: имя текущего пользователя, тип CPU, версия Windows, размер оперативной памяти, информация о дисковой подсистеме и сетевых дисках;
- пароль на отключение хранителя экрана, просмотр паролей системы из pwl-кэша;
- копирование, переименование, удаление, просмотр, поиск файлов и каталогов, архивация файлов;
- просмотр и завершение процессов, полный доступ к реестру, просмотр, создание и удаление сетевых соединений;
- проигрывание wav-файлов, снятие скриншотов, захват видео с любого устройства ввода видео;
- возможность переадресации TCP- или UDP-портов на любой другой порт или адрес, переадресация информации консольных приложений, управление приложениями с помощью сессии telnet;
- скачивание/закачивание файлов с использованием клиента WWW, встроенный мониторинг пакетов, запись и расшифровка вводимых паролей.

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

I-Worm.Nimda

Представитель программ, авторы которых выступают за равноправие. Вирус добавляет пользователя под именем Guest в группу пользователей «Администраторы» — таким образом, Guest получает те же привилегии, что и администратор. Кроме того, Nimda открывает все локальные диски для полного доступа. По-видимому, софтинка разрабатывалась в недрах коммунистической партии. Получает приз за компактность (57 Кбайт) и способность распространяться через Интернет (в виде аттачментов), по ресурсам локальных сетей и незащищенные IIS-серверы.

Macro.Word97.Zaraza

Разновидность простейшего календаря. Извещает о наступлении конца месяца, вызывая за-висание компьютера по 30-м и 31-м числам. Недвусмысленно просит почтить декабристов минутой молчания, подвешивая ПК 14 декабря. Окно с надписью: «Вставь 10 гривен в дисковод А:, иначе форматирую диск!!!» при вызове меню Tools/Macro или Tools/Templates явно указывает на украинское происхождение.

Trojan.WebMoney.
Wmpatch

Утилита контроля финансовых транзакций по системе WebMoney. Получает жирный минус за сложность установки: сначала присылается письмо, в котором имеется ссылка на WMpatch. После ее запуска докачивает два файла (DBOLE.EXE для модификации WMCLIENT.DLL и SICKBOY.EXE для пересылки получаемых данных по электронной почте).

Windows

Это семейство самых популярных сред для разработки, отладки и активной деятельности вирусов. Распространяется через сервис предустановки ПО при покупке компьютеров, но может быть инсталлирована пользователем самостоятельно. Для упрощения последней задачи снабжена пошаговым мастером установки. Число после слова «Windows» указывает на примерное количество таких попыток перед удачной. В создании этих вирусных сред обвиняют сотрудников известной компании Microsoft. Представляют собой базу данных системных сообщений об ошибках, вызываемых функцией Random и выводимых посредством MessageBoxA, способны эмулировать многозадачную ОС с оконным интерфейсом5. Получают приз за нетривиальную идею и длинный, как их собственный код, минус за реализацию.

В заключение отмечу, что сейчас уже стоит говорить об информационных вирусах, а о компьютерных — лишь как отдельном и первом классе. Ведь, строго говоря, вирус — это саморазмножающийся программный код. Уверен, что принципиально возможно их создание для любого класса устройств, обменивающихся данными с другими или себе подобными. Лишь бы передаваемые данные могли быть интерпретированы как команды, то есть выполнены.
С первым апреля! И помните, что в каждой шутке содержится только доля шутки.


1 (назад)См. также: Ф. Коэн. Компьютерные вирусы, теория и эксперименты. Университет Южной Калифорнии (F. Cohen. Computerviruses, Theory and Experiments. University of Southern California).
2 (назад) Если придираться к терминологии, то троянские программы стоят особняком от собственно вирусов, так как не способны к саморазмножению. Но удобства ради их можно объединить под общим термином «вирусы», дабы не создавать лишних сложностей.
3 (назад) Разумеется, из каждого правила есть исключения. Вирусы иногда создаются и для кражи данных, обладающих какой-то ценностью или напрямую связанных с платежами. Однако это в большей мере относится к троянским программам. Например, Trojan.WebMoney.Wmpatch был создан для перехвата финансовых транзакций по системе WebMoney.
4 (назад) См. статью «Проверка на вшивость» (www.computerra.ru/offline/2003/478/24186).
5 (назад) Существует и другое определение: «Windows is a 64 bit rewrite for a 32 bit extension to a 16 bit GUI on an 8 bit OS written for a 4 bit architecture by a 2 bit company who can’t stand 1 bit of competition».
 

.

 

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.