ZX Power #02
24 мая 1997

Разное - Занимательная Вирусология.

<b>Разное</b> - Занимательная Вирусология.

       Если вдруг открылся люк,-
       Не  пугайся,  это - глюк.
       Если горб у Диззи вырос,-
       Будь уверен, это - вирус.

    ЗАНИМАТЕЛЬНАЯ ВИРУСОЛОГИЯ.

          Александр Десятниченко
             г.Сумы 15.01.1997.
           Special for ZX POWER.
________________________________

   Прочитав  бред,  написанный в
эпиграфе,  кто-то  рассмеется  и
скажет, что на Speccy ни о каких
вирусах не может быть и речи,что
бактерии  ползают  только по мо-
демным проводам  и питаются вин-
честерами. Признаться, когда год
назад я впервые столкнулся с ви-
русом, то меня  это  тоже сильно
разсмешило. Наверное, я  бы даже
уже  успел  и  забыть вскоре  об
этой истории, если  бы не замет-
ка "ВОТ ТЕ РАЗ!" в первом номере
ZX Power, которая убедила меня в
том,что вирус мне не приснился и
не  "выглюковался" из музыкалки,
что это действительно не однора-
зовый  прикол из области "черно-
го"  юмора,  а специально ехидно
разработанное нечто,направленное
на развитие чувства бдительности
у каждого синклериста.
   Дело было  в  начале  1996-го
года. Я просматривал новые прог-
раммы на дискетах, которые приш-
ли с Винницы, - запускал по оче-
реди игрушки  и музыкалки, выби-
рая, что из них оставить, а  что
стереть. Когда же дошло до копи-
рования,то я, к   своему  ужасу,
увидел,  что  каталоги  на  двух
дискетах  несколько  видоизмени-
лись, а программы перестали  ко-
пироваться,  хотя  так  же  нор-
мально  стартовали  и  работали.
Все бейсик-файлы  стали одинако-
вой длины (что-то около 4кБт), а
кодовые  блоки   переименовались
под имя основного бейсик-загруз-
чика и поменяли свой тип на циф-
ру.  Лихорадочно загрузив  диск-
доктор, я начал вручную  восста-
навливать самые интересные прог-
раммы,  но потом, присмотревшись
повнимательнее к тому, что оста-
лось от каталога, я увидел,что в
нем остались  все старые  данные
как о бейсиках, так  и о кодовых
файлах, только они помечены, как
удаленные.Восстановив в каталоге
их и удалив все новообразования,
удалось вернуть диску его перво-
начальное  состояние. Можно ска-
зать,что вирус оказался безвред-
ным, так как ничего  не портил в
самих данных,- прогулялся только
по  каталогу.  Теперь   осталось
только выяснить,в какой же прог-
рамме он был встроен. Точно  уже
не  помню, но я обнаружил  его в
загрузчиках  какой-то  игрушки и
музыкалки FUCK to  MUDAK DEMO. К
сожалению, сам вирус я не сохра-
нил для  истории, так как не ду-
мал о том, что это  может  пред-
ставлять  определенный интерес и
что вообще  к вирусам  на Speccy
можно относиться  серьезно.  Мог
ли  я тогда  предположить,  что,
спустя год, этот  вопрос  станет
таким актуальным...
   Исходя из того,что вирус,опи-
санный мною, отличается от виру-
са, описанного  в прошлом номере
журнала,и из того, что было обе-
щано описать еще один вирус,мож-
но предположить, что с развитием
модемных сетей  на ZX-Spectrum и
подключением  IDE-винта колличе-
ство вирусов значительно возрас-
тет, так  как  для  их написания
достаточно минимальных познаний.
Такую  программку состряпает лю-
бой хакер,знающий, как нужно об-
ращаться с  CALL 15635, чтобы на
диск выгрузились нули или ругань
на  всех известных и неизвестных
языках. К тому же, вероятно, эта
экзотическая  отрасль  кодерства
будет  все  время  совершенство-
ваться и, учитывая то,что хакер-
кодер-синклерист  по  своей изо-
бретательности и профессионализ-
му стоит  на порядок выше любого
IBM-овского  сисопа,  это  может
привести к самым непредсказуемым
последствиям.Как и в обычной ме-
дицине, наиболее эффективным ме-
тодом борьбы  с бактериями явля-
ется  профилактика  заболеваний.
Давайте попытаемся вместе с Вами
представить  эволюцию   вирусных
технологий, чтобы   во всеоружии
встретить это наваждение.
   Итак, в первую очередь, я ду-
маю, что такого типа  вирусы бу-
дут встраиваться в boot'ы. Поче-
му? Потому, что любой boot нахо-
дится,как правило, в начале дис-
ка и  по-любому  читает  нулевую
дорожку. Таким образом,никому не
покажеться  странным  то, что он
обращается  к  нулевой  дорожке.
Сразу  же после чтения boot смо-
жет  незаметно  для пользователя
внести изменения в каталог,пере-
писав его. Конечно,если програм-
мы  после этого  перестанут гру-
зиться, пользователь  немедленно
выбросит этот boot.Поэтому такие
программы,  скорее  всего, будут
вносить изменения только в ката-
лог, делая диск некопируемым для
рядового пользователя. Разумеет-
ся, что  более опытный пользова-
тель сразу же  заметит изменения
в структуре  каталога и   примет
соответствующие меры.Значит,сле-
дующим  шагом  станут  не вирусы
немедленного  действия, а "выжи-
дающие"  вирусы.  Как  это будет
выглядеть?  Я  думаю, что так: в
вирусе организовывается  счетчик
чтений с диска и,каждый раз,ког-
да будет производится чтение ка-
талога, вирус будет читать неза-
действованный сектор нулевой до-
рожки, изменять проверочный байт
в нем (например, увеличивая  его
значение) и, когда  это значение
станет равным, например, 50 чит-
кам, вирус  запарывает несколько
дорожек  на диске или переимено-
вывает  имена  файлов на приветы
знакомым хакерам, снова обнуляет
счетчик...  Таким  образом,  сам
boot как бы выпадает из подозре-
ния, - грузились  себе программы
целую неделю,а потом испортились
(" ...наверное, дискета попалась
хреновая"),при перезаписи boot'а
на другой диск он, вроди бы, ни-
чего не портит... Разумеется,сам
вирус  будет  сидеть в программе
хорошенько спрятанным, например,
перексоренным,  в  виде таблички
движения  спрайтов или  символов
font'а... Как  же защититься  от
такой беды? Ну,очевидно, так же,
как  женщина защищается от неже-
лательной    беременности, - за-
клеиться! Другими словами, деви-
зом  дня должно стать:  "Записал
дискету - заклей окошко!"
   Ну что, предсказываем дальше?
Представьте себе, - вы играете в
подгружаемую игру, проходите  ее
до конца, она грузит FINAL CUT и
незамедлительно переписывает не-
сколько  дорожек после него. Или
вы  отгружаете  на  диск таблицу
рекордов и, если  ваше имя в ней
находится  выше, чем имена авто-
ров, то  каталог диска  подлежит
формату... Или вы отгружаете от-
ложенное   состояние,  копируете
файлы операционной оболочкой,вы-
полняете любые другие действия с
помощью  программы,  совершающей
запись на диск... Как не заклеи-
вайся, а, чтобы что-то записать,
придется  разклеиваться.  Я  уже
совсем  молчу о методах  прямого
программирования  ВэГэшки, с по-
мощью которых  вирус может орга-
низовать  счетчик  обращений   к
диску вообще где-то между секто-
рами, к тому же, не всякий  даже
очень опытный хакер сможет отыс-
кать такой  вирус  в   системной
программе, где все процедуры по-
строены на этом методе.А еще хо-
дят слухи, что идут эксперименты
по записи на заклеенный диск...
   Конечно, все  вышеперечислен-
ные примеры  вряд ли  можно счи-
тать настоящими вирусами,так как
они не  способны   размножаться.
Ведь для размножения вирусу нуж-
но, как на IBM, присоединиться к
файлу и снова записаться на диск
вместе с ним,а на Spеctrum'е это
сразу же станет заметным.Что мо-
гут придумать  в  этой  области?
Ну, например, вирус может присо-
единиться  только  к  последнему
файлу или же, если сам вирус ко-
роче 255 байт,он может записать-
ся в свободное  место на послед-
нем секторе файла.А теперь самое
крутое,от чего я хотел бы предо-
стеречь, - вы сами  можете стать
автором вирусоносной  программы,
даже  не подозревая этого! Пред-
ставьте себе, - вы  пишете прог-
рамму на  ассемблере со встроен-
ным автором ассемблера вирусом и
набиваете     такую     строчку:
CALL 15635.  Во время трансляции
же, незаметно для вас,CALL 15635
заменивается  на  CALL addr, где
addr - адрес подпрограммы,  под-
соединенной транслятором,в кото-
рой вирус "пушает" все регистры,
вытворяет с вашим диском все,что
ему  угодно, снова  "вспоминает"
значения  регистров, делает  ваш
CALL 15635 и RET. Таким образом,
если не просмотреть оттранслиро-
ванную  программу в дизассембле-
ре, а сразу  же выпустить ее, то
попробуйте тогда  доказать,  что
это не вы  написали  вирус.  Еще
кошмарнее будет работать  вирус,
подсоединяемый в дебуггере, - вы
отладили программу,  а  отладчик
внес в нее свои изменения и  за-
писал на диск.  Когда  вы  снова
загружаете в него эту же, но уже
зараженную программу, то он  сам
определяет  по  своей  метке,что
уже здесь побывал,  убирает  все
свои следы и замыливает вам гла-
за  неиспорченной  программой, а
перед записью снова творит  свое
дело...  Что же  делать  авторам
системных программ,- выводить на
экран табличку  с  надписью при-
мерно такого содержания:  "Автор
программы  гарантирует, что  его
продукт  абсолютно  свободен  от
вирусов и  готов  выплатить ком-
пенсацию в случае..."и т.д.? Да,
думаю, что этой  своей статьей я
многим кодерам  не  дам спокойно
спать, - одни будут по ночам та-
кие  вирусы  писать, другие - их
искать, а третьи - выпускать все
новые и новые антивирусы.Поисти-
не неисчерпаемы  возможности ге-
ниального изобретения  К.Синкле-
ра!  Хотя, признаться, мы сами в
этом виноваты,ведь этот лорд да-
же и представить себе не мог,что
кому-то взбредет  в  голову под-
ключить  к Spectrum'у винчестер,
модем и качать вирусы.
   Но не все так плохо,как я на-
фантазировал, ведь  Spectrum все
же не IBM и эпидемия даже самого
крутого  вируса,  думаю, нам  не
грозит. Вместо  итога я хочу об-
ратиться ко всем пользователям с
пожеланием,- если кто-нибудь об-
наружит  у себя  такой вирус, то
пусть он не разпостраняет его со
всем присущим злорадствием,а со-
общит своим собратьям о програм-
мах,  его  содержащим. Хочу  по-
желать  успеха  Вам   и  журналу
ZX Power, который  первым взялся
за освещение этого нового вопро-
са.

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

    Будем ждать Ваших писем!
________________________________




Другие статьи номера:

Железо - Микропроцессоры Zilog: Z80, 80,Z8000,Z80000.

Железо - Модем: мифы и реальность.

Железо - Об AY-mouse (вопросы и ответы).

Железо - Последовательный порт -VCOM- для Спектрума.

Железо - Расширенный экран.

Игромания - Описание игры Ghost Busters 2.

Игромания - Описание игры Satan 2.

Игромания - Описание игры Zombi.

Интервью - VIC (X-Project) - как я начинал?

Интервью - Интервью с Joker'ом (Mafia).

К нашим читателям - "Время перемен"

Ликбез - Борьба контроллеров или о том, как я ломал 800К дискеты.

Ликбез - Восстановление программ (О причинах восстановления, характе- ристика мультифейсного взлома, типы мультифейсных взломов, восстановление методом поиска старого загрузчика).

Ликбез - Структура MS-DOS диска.

Обозрение - Gateway выпускает остатки Amiga.

Обозрение - O компьютере "Silicon Graphics" (продолжение).

От авторов - описание оболочки, приветствия и благодарности, адреса и контакты.

Отдохнем - 60 американских анекдотов.

Отдохнем - Бессознанка в армии.

Отдохнем - Кремлевский трабл.

Отдохнем - Протокол заседания по выборам главврача в психбольнице N15.

Первый блин - Описание программы RAM-TEST v1.0.

Первый блин - Путь к известности...

Перспектива - Анонс STS v6.0.

Перспектива - Новелла к игре WORDS.

Перспектива - О игре 3D Killer (демо версия - Doommania).

Перспектива - Предисловие к игре СТАЛКЕР.

Рабочий стол - Как работать с программами: Cache File Manager 512k.

Рабочий стол - Как работать с программами: Corrector v2.0.

Рабочий стол - Как работать с программами: Melon Terminal.

Рабочий стол - Как работать с программами: Symed v1.1

Рабочий стол - Как работать с программами: ZX-Turbo Disassembler.

Разное - Занимательная Вирусология.

Разное - Новости от Progress, Dream Team, Rush, Phantasy, Copper Feet и т.д.

Разное - О ZX сетях и не только...

Разное - Письмоносец - обзор писем читателей.

Реклама - Реклама и объявления.

Фантастика - Винни Пух - 10 лет спустя.

Фантастика - Г.Гарисон (продолжение, часть 4-6).

Фантастика - Рассказ Е.Нестеренко "Корона и кольцо" (часть 1)

Фантастика - Фантастический рассказ Театр.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
BBS - График работы BBS'oк.
Мозаика - Размышления о IS-DOS'e. Небольшой хит-парад приколов. Идея о создании единой сети на Speccy.
Have a Fun - Орхидея.
Pro-обзор - обзор свежей прессы: RIP13, Buzz 19, Ворона 5, ZX Guide 3, Beccul 1, Cancer 2, KrNew 13, IzhNews 0B, Insanity 8, Scenergy 2, Adventurer 12.
Специальный выпуск - Международный Фестиваль компьютерного искусства Chaos Constructions '999 (часть 2).

В этот день...   26 апреля