ZX Power
#02
24 мая 1997 |
|
Разное - Занимательная Вирусология.
Если вдруг открылся люк,- Не пугайся, это - глюк. Если горб у Диззи вырос,- Будь уверен, это - вирус. ЗАНИМАТЕЛЬНАЯ ВИРУСОЛОГИЯ. Александр Десятниченко г.Сумы 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, который первым взялся за освещение этого нового вопро- са. От редакции: К сожалению по техническим причинам мы не смогли выполнить обещание, данное в прошлый раз, но торжественно обещаем вернуть- ся к данному вопросу в следующих номерах нашего с Вами журнала. А Вы, дорогие читатели, помогите нам в этом: напишите о своих встречах с вирусами, как со ста- рыми, так и с новыми,и неколеба- ясь высылайте "зараженные" диски в адрес нашей редакции,указанный в разделе "Авторы", для более подробного изучения и возможно нахождения вакцины! Диски будут возвращены их владельцам. Будем ждать Ваших писем! ________________________________
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября