EGABTR Предназначена будто бы для улучшения дисплея
EGA. Гасит все и выдает сообщение "Arf! arf!
Got You" ("С нами Бог").
FILER Стирает данные.
SECRET Программа "секретная" в буквальном смысле
слова. Предотвращает любой несанкционирован-
ный доступ к диску путем форматирования пос-
леднего.
STRIPES Во время чтения пароля выводит на экран амери-
канский флаг, а затем загружает файл
STRPES.BQS.
VDIR Разрушитель дисков; подробного описание нет.
Разумеется, это список не полон и не актуален, поскольку
команда DOS RENAME уже известна многим пользователям.
При обнаружении одного или нескольких признаков, перечислен-
ных ниже,рекомендуется тщательно проверить программное обеспе-
чение:
1. Программы начинают работать медленнее обычного.
2. Программы выполняют такие обращения к дискам или диске-
там, которые прежде не выполнялись.
3. Возросло время загрузки.
4. Необъяснимые отказы системы.
5. Программы, которые прежде загружались без проблем, преры-
ваются с выдачей сообщения "Недостаточен объем памяти."
6. Увеличение, занимаемого программами объема памяти.
- 113 -
7. Неизвестные и /или необъяснимые сообщения об ошибках.
8. Уменьшение объема памяти на дискете или диске, хотя доба-
вление или расширение файлов не производилось.
9. Резидентные программы ( например, side kick) исполняются
неверно или вообще не исполняются.
Любой читатель может сказать, что некоторые из этих явлений
он уже многократно наблюдал на своей системе. Это неудивительно,
если вспомнить, насколько сложными стали за последнее время "ма-
лые" машины,работающие под МS-DOS.
Но этот же читатель подтвердит, что подобные ошибки встреча-
лись лишь при использовании новых или измененных программ (разу-
меется, при исправной аппаратуре). Если же Вы никогда не имели
дела с такими ошибками, попробуйте одновременно загрузить в ЭВМ
несколько резидентных программ. Вы с гарантией получите то или и
иное сообщение об ошибке.
Такие ошибки могут быть вызваны проблемой "переносимости",
если, например, "разнятся" адреса прерывания нескольких программ.
Естественно, аналогичная проблема "переносимости" существует и
для вирусов. Они должны работать тайком, чтобы пользователь этого
не заметил. Это не всегда легко выполнить. Даже крупным поставщи-
кам программного обеспечения приходится сталкиваться с проблемой
переносимости и жизнестойкости своих программ, а разработчик
имеет дело с аналогичными, если не с еще более сложными проблема-
ми. Обычно для исчерпываюшей проверки не хватает времени, а поэ-
тому вирусы часто несовершенны и содержат ошибки.
7.2 Вирусы, приводящие к фатальным ошибкам
Не все ошибки, вызываемые вирусами, являются ошибками прог-
раммиста. Некоторые разновидности вирусов предназначены для
генерации отказов системы. Самый распространенный из этих отказов -
фатальная ошибка системы. В момент, когда система не допускает
никакого внешнего вмешательства, установить причины отказа нево-
зможно.
Здесь очевидные преимущества по сравнению с VS-DOS имеют
другие операционные системы. Типичный пример этого - так называ-
емый SYSLOG, файл, в котором регистрируются все сообщения об ошиб-
ках. Даже при фатальной ошибке системы с его помощью при достато-
чно высоком профессионализме можно определить причину аварии.
- 114 -
Принцип действия "системного журнала" SYSLOG достаточно прост им
может быть реализован даже при поддержке VS-DOS.
По своему назначению SYSLOG аналогичен "кнопке бдительности"
машиниста тепловоза. Если он не нажимает кнопку или нажимает ее
нерегулярно, поезд останавливается.
В ЭВМ регулярно обслуживается определенная стандартная прог-
рамма. Если вдруг такого обслуживания не происходит, все содержи-
мое ОЗУ заносится в память. Из этого файла инженер-системотехник
может определить причину ошибки.
Вызываемые вирусом фатальные ошибки системы могут иметь
различные причины. Одна из них была уже описана в разделе 7.1,
это ошибка программирования в программе-вирусе. Вторая причина -
несовместимость с системой, т.е. непереносимость программы в
данную систему, или несовместимость с установленным ПО. Но третья
и наиболее существенная причина - преднамеренные аварийные ситу-
ации. То есть вирусы умышленно запрограммированы так, чтобы пара-
лизовать систему. Аварийные ситуации могут иметь различную форму,
начиная от набора меняющихся на экране картинок, сопровождающего-
ся на старых бытовых компьютерах пронзительным визгом динамиков
до "тихой аварии", которая проявляется в невозможности любого
ввода с клавиатура. В большинстве случаев невозможен и "горячий
запуск" (в VS-DOS клавиши Alt, Сtrl и Del) не срабатывают клавиши
сброса и помочь может только отключение питания. Так как некото-
рые ЭВМ снабжены термозащитой, блокирующей повторное включение
сразу после выключения, такая авария в некоторых случаях требует
вынужденной 15-минутной паузы перед повторным запуском. Нетрудно
представить, какой нервный шок может вызвать такая авария, проис-
шедшая спустя 30 минут после начала работы.
Как вести себя в подобном случае?
Разумеется, фатальная ошибка системы в описанной выше форме
не обязательно вызывается вирусами. Авария, повторяющаяся каждые
30 минут, может быть вызвана аппаратным сбоем. Невысокое качество
корпуса ИС, "холодная пайка" или дефект чипа являются источниками
сбоев, проявляющиеся только при нагреве оборудования. А посколь-
ку ЭВМ достигает своей "рабочей" температуры спустя некоторое
время после включения, ошибка появляется не сразу. Аварии такого
рода требуют тщательной проверки системы. Например, вначале нужно
отключить ЭВМ от сети , а затем повторно включить, так как при
"горячей загрузке" не всегда полностью очищается ОЗУ. Затем сле-
- 115 -
дует вновь загрузиться с новой дискеты, полученной от изготовите-
ля и снабженной защитой записи, и в течение достаточно длительно-
го времени поработать как будто на "холостом ходу".
Если при этом вновь обнаружатся ошибки, причину следует
искать в дефектах аппаратуры или в ее несогласованности с исполь-
зуемой операционной системой.
Следующий шаг в поиске ошибки - загрузка диагностической
дискеты, причем и здесь следует обязательно воспользоваться ори-
гиналом, защищенным от записи. Если при такой проверке аппаратура
окажется исправной, начинается последовательная и обстоятельная
проверка операционной системы и прикладных программ. Таким очень
трудоемким и отнимающим много времени способом можно локализовать
и затем удалить ошибочную, несовместимую или выполняющую приво-
дящие к ошибке манипуляции программу. Если, тем не менее, ошибка
повторяется, то есть основание полагать, что имеет место зараже-
ние вирусом, перенесенным на другие программы. Теперь следует
сравнить используемые программы с контрольными копиями (разумеет-
ся, защищенными от записи) с использованием функции СОМР операци-
онной системы MS-DOS. При наличии отклонений не обойтись без
помощи инженера-системотехника.
7.3 Вирусы, повреждающие аппаратуру
Принято считать, что повредить или даже разрушить аппаратуру
компьютера с помощью программных команд нельзя. Несомненно, изго-
товители постарались как можно защитить системы от ошибок прог-
раммирования. Тем не менее, в свое время одному из распространен-
ных бытовых компьютеров можно было причинить неисправимый ущерб с
помощью команды РОКЕ. Хотя пробел был со временем устранен, нес-
колько ПЭВМ стали жертвой этой команды.
К счастью, сегодня едва ли существуют такие простые способы
повреждения аппаратуры. Но создатели "программ-убийц" также очень
изобретательны. Хорошо, что описанные ниже разрушающие программы
до сих пор не встречались в форме вирусов. Например, существует
стандартная программа, управляющая контроллером дискеты, который
перемещает головку записи-чтения на несуществующую внутреннюю
дорожку. В некоторых дисководах это приводит к механическому
заклиниванию головки за один из внутренних держателей, причем
освободить головку можно только вручную, открыв дисковод.
- 116 -
Второй пример - воздействие на внешнее устройства. Так,
например, в наборе команд многих принтеров имеется команда обрат-
ной перемотки бумаги. Она используется при работе в графическом
режиме или при юстировке отключения подачи бумаги. Но если попы-
таться обработать большое количество листов с использованием
команды обратной перемотки, почти наверняка внутри принтера обра-
зуется бумажный затор, который устранить можно только путем раз-
борки и чистки принтера. Если одна из программ при отсутствии в
течение длительного времени команд с клавиатуры, т.е. в отстут-
ствие оператора вызовет такую команду обратной перемотки, то по
возвращении оператора на свое рабочее место он может встретиться
с неприятной неожиданностью.
Последний пример из этой серии - программа стирания контро-
льной дорожки на подключенном жестком диске. Она делает это нас-
только основательно, что диск уже нельзя спасти даже при повтор-
ном форматировании. Хотя до сих пор не удалось провести экспер-
тизу этой программы, но подтверждения ряда баварских хакеров не
вызывает никаких сомнений в достоверности описаний. Эта программа
упоминается в ноябрьском выпуске "РМ- компьютерхефт".
В какой-то степени "особое место" занимают программы, ущерб
от которых не поддается измерению, поскольку они не приводят к
непосредственному разрушению, а лишь увеличивают износ оборудова-
ния. Например, небольшое изменение в CONFIG.SYS приводит к значи-
тельному увеличению числа обращений к жесткому диску. По прежней
работе автору известна мини-ЭВМ с крайне неудачным выбором объема
основной памяти - всего 128 Кбайт. Поэтому операционная система,
даже не при пиковой загрузке, непрерывно занята загрузкой и выг-
рузкой сегментов программ. Подобные операции дают за сутки боль-
шую нагрузку на дисковод, чем за неделю работы в нормальных усло-
виях.
7.4 Вирусы, имитирующие ошибки
Еще одна проделка вирусов - демонстрация пользователю фоку-
сов с ошибками в его системе. Подобные "ложные ошибки" с некото-
рых пор используют производители программного обеспечения, прав-
да, не в связи с вирусами, чтобы разоблачить лиц, незаконно копи-
рующих программы. Такие ошибки выводят, например, следующие сооб-
щения:
- 117 -
"Номер внутренней ошибки : 084876 в позиции РС 5869. Запиши-
те и сообщите , пожалуйста, изготовителю".
Конечно, такой ошибки вообще не существует. Выдача сообщения
инициирована незаконным копированием; оно содержит ничто иное,
как серийный номер программы, с помощью которой изготовитель
может установить, кто первоначально ее получил.
Можно было ожидать, что такие методы будут использованы и
составителями вирусов. Безобидным примером вируса, имитирующего
ошибки, служит программа Б.Фикса "час пик", которая имитирует
неисправную клавиатуру и при каждом нажатии клавиши создает шум в
динамике системы. Это происходит спустя некоторое время после
включения, и поэтому пользователь легко приходит к выводу, что в
клавиатуре происходит тепловой отказ.
В принципе, нужно отличать программы, которые лишь выдают
сообщения об ошибке на экран или на печать , от программ, которые
действительно производят ошибки. В данном случае трудно найти
границу между имитационными и разрушительными вирусами. Вирус,