Жанр: Учеба
Большой справочник по компьютерным вирусам
..., вызванных компьютерными вирусами. К
числу наиболее известных "жертв" относятся ЭВМ высших учебных
заведений Гамбурга и Берлина и ЭВМ Федерального министерства по
охране окружающей среды. Однако получить подробную информацию об
этих событиях чрезвычайно трудно, и поэтому можно предположить,
что недостаточно компетентные журналисты превратно истолковали
некоторые высказывания ответственных лиц за эти системы, что и
привело к появлению подобных сообщений. Верно установлено, что во
всех расследованных автором случаях ссылка на компьютерные вирусы
становилась сомнительной, как только выяснили, что случилось с
зараженными программами. А именно, по утверждению занятых этими
вопросами сотрудников, такие программы всегда уничтожались. Поэтому
до сих пор не удалось получить определенных доказательств
наличия вирусной атаки. Некоторые случаи, которые тем не менее
удалось задокументировать, рассмотрены ниже.
1. Рождественский вирус
Эта программа (VM/CMS), вероятно, известна большинству читателей,
хотя бы по названию. Она достаточно быстро распространилась
(по-видимому из Клаусталя) через сеть FARN/Bitnet (научная сеть)
и вскоре обнаружилась даже в Токио. Распечатка программы приведе-
- 109 -
на в разделе 11,.3.
2. Венский вирус
Чрезвычайно искусно запрограммирован компьютерный вирус(VSDOS),
действие которого более подробно описано в 11.3. Эффект
манипуляции с данными здесь едва ли можно просчитать. В самом
безобидном случае происходит крах системы. Распространенность
вируса очень трудно оценить, так как задание на выполнение манипуляций
вирусом активируется только при определенных условиях
(деление без остатка системного времени в секундах на восемь).
3. Израильские вирусы для ПВМ
Конечно, все было не так плохо, как описано в одной из бульварных
газет в начале 1988 г. : "программа-убийца: первый компьютер
при смерти". Вирус в центральной ЭВМ Иерусалимского университета
оказался "уткой". То что в этой статье понятие "хакер"
стало синонимом "саботажник" вполне соответствует стилю и уровню
данной газеты, но одновременно служит подтверждением того, что
посредники в передаче данных все чаще получают ярлык уголовных
преступников.
Расследование по данному газетному сообщению показало, что в
этом университете действительно появились вирусы, но не на большой
ЭВМ, а в ПЭВМ, работающей под VS-DOS.
За очень короткий срок был разработан антивирус. Но так как
слабые места этой программы были известны (небольшая модификация
вируса делала ее бесполезной), программа не была опубликована.
4. Программный вандализм
В разных университетах США был обнаружен вирус, поражающий
процессор команд. При каждом обращении к дискете или диску с
помощью команд TYPE , COPY, DIR и т.д. происходило заражение
файла COMMANDS.COM на соответствующем дисководе, причем файл
перезаписывался собственными методами. При четвертом поражении
все имевшиеся носители данных были стерты полностью, т.к. были
перезаписаны дорожки начальной загрузки и FAT (таблица размещения
файлов).
Четыре сгенерированные дочерние программы обладали теми же
свойствами...
Этот вирус можно обнаружить по измененной записи даты и
времени создания файла.
5. Набор для конструирования
Между тем появилась разработанная в ФРГ для ПЭВМ "Атари"
программа конструирования вирусов VCS ("набор для конструирования
вирусов"). Программа предоставляет пользователю широкие
возможности создания вирусов по собственному вкусу. Например, с
помощью меню можно выбирать расширение поражаемых файлов, поражаемый
вирусом дисковод и задание на выполнение манипуляций.
Кроме поставляемых вместе с программой заданий на выполнение
манипуляций над данными (стирание диска, сброс системы и т.д.)
можно включать в конструируемые вирусы и разработанные самим
пользователем задания на выполнение манипуляций.
Поскольку изготовитель вполне понимает опасность такого
"конструктора", одновременно поставляется антивирус, который
находит разбежавшиеся" вирусы и стирает соответствующие программы.
Подчеркивается, что эта программа сможет быть дана напрокат
другим пользователям.
Один из текстов показал, что созданные вирусы могут быть
заблокированы как с помощью защиты записи, так и путем
установки атрибута файла "только чтение". Совместно поставляемый
антивирус обнаруживает только зараженные программы, а не
собственно вирусы. Цена программы, по данным изготовителя, около
100 марок ФРГ.
6. Вирусы для системы "Амига"
Концепция системы "Амига" является идеальной для применения
вирусов. Здесь кратко рассматриваются два ранее обнаруженные
вируса.
Вирус
Эта резидентная программа-вирус распространяется только при
сбросе системы и при каждой смене дискеты копируется в блок
начальной загрузки дискеты. Она сообщает о себе после успешного
размножения (после 16-го сброса) текстом:
Something wonderfull has happend, Your Amiga is alive
(""Произошло чудо, Ваша "Амига" ожила...)
По-видимому, работоспособность системы существенно не
нарушается.
"Разбойничий " вирус
Этот вирус кропирует себя при каждой смене дискеты в блок
загрузки и заносить свой номер поколения в "дочернюю" программу.
Вирус содержит еще один внутренний счетчик с шестнадцатеричным
смещением 3D4, который примерно через 5 минут вызывает фатальный
сбой системы и после каждого 20-го сбороса перезаписывает
дорожку 880. Этот вирус нельзя удалить с помощью команды
установки, а только путем перезаписи блоков 0 и 1 нулевыми
байтами.
Обе эти программы-вирусы несовместимы друг с другом; их
комбинации вызывают "медитации гуру" ПЭВМ "Амига" (фатальный сбой
системы). Обе программы устойчивы к сбросу (они удаляются из
памяти только после выключения питания не менее чем на 5 с) и
содержат текстовый вирус, благодаря чему их относительно легко
локализовать.
Вполне уместен вопрос пользователя: "Как можно обнаружить
заражение вирусами?"
Ответить на этот вопрос практически невозможно.
Разумеется, существуют определенные признаки вирусного заражения,
но окончательное доказательство может дать только системный
программист, если ему удается расшифровать структуру вируса. Не
нужно много фантазии, чтобы прийти к заключению, что проверка
составных частей программы, которая даже требует для ПЭВМ
значительных затрат, едва ли реализуема на мини- или больших ЭВМ.
Поэтому в сложных системах отказываются от такой сплошной
проверки и целиком генерируют систему заново.
Поскольку в центре внимания данной главы оказалась
операционная система VS-DOS, приведено несколько рекомендаций по
распознаванию вирусов. "Байрише хакерпост" опубликовала в декабре
1986 г. список программ, которые, очевидно, следует признать
вредными. Хотя тот список, взятый из английского оригинала,
авторы воспринимают не вполне серьезно,- назовем здесь еще раз
наиболее опасных "вредителей". Все перечисленные ниже программы
относятся к числу "троянских коней", т.е. наряду с нормальными
функциями они выполняют и другие задания.
ARC513.EXE При запуске разрушает дорожку дискеты или
диска.
BALKTALK Все версии этого манипулирующего вируса
разрушают сектора диска.
DISKCAN Существует под разными именами. Первоначаль-
ное назначение - отыскание дефектных
секторов. Создает дефектные сектора.
DOSKNOWS Разрушает таблицу размещения файлов, т.е.
делает диск или дискету непригодными для
применения. Длина оригинальной версии точно
5376 байт. Другая длина программы свидетель-
ствует об ее изменении.
EGABTR Предназначена будто бы для улучшения дисплея
EGA. Гасит все и выдает сообщение "Arf! arf!
Got You" ("С нами Бог").
FILER Стирает данные.
SECRET Программа "секретная" в буквальном смысле
слова. Предотвращает любой несанкционирован-
ный доступ к диску путем форматирования пос-
леднего.
STRIPES Во время чтения пароля выводит на экран амери-
канский флаг, а затем загружает файл
STRPES.BQS.
VDIR Разрушитель дисков; подробного описание нет.
Разумеется, это список не полон и не актуален, поскольку
команда DOS RENAME уже известна многим пользователям.
При обнаружении одного или нескольких признаков, перечисленных
ниже,рекомендуется тщательно проверить программное обеспечение:
1. Программы начинают работать медленнее обычного.
2. Программы выполняют такие обращения к дискам или диске-
там, которые прежде не выполнялись.
3. Возросло время загрузки.
4. Необъяснимые отказы системы.
5. Программы, которые прежде загружались без проблем, преры-
ваются с выдачей сообщения "Недостаточен объем памяти."
6. Увеличение, занимаемого программами объема памяти.
7. Неизвестные и /или необъяснимые сообщения об ошибках.
8. Уменьшение объема памяти на дискете или диске, хотя доба-
вление или расширение файлов не производилось.
9. Резидентные программы ( например, side kick) исполняются
неверно или вообще не исполняются.
Любой читатель может сказать, что некоторые из этих явлений
он уже многократно наблюдал на своей системе. Это неудивительно,
если вспомнить, насколько сложными стали за последнее время "малые"
машины,работающие под МS-DOS.
Но этот же читатель подтвердит, что подобные ошибки встречались
лишь при использовании новых или измененных программ (разумеется,
при исправной аппаратуре). Если же Вы никогда не имели
дела с такими ошибками, попробуйте одновременно загрузить в ЭВМ
несколько резидентных программ. Вы с гарантией получите то или и
иное сообщение об ошибке.
Такие ошибки могут быть вызваны проблемой "переносимости",
если, например, "разнятся" адреса прерывания нескольких программ.
Естественно, аналогичная проблема "переносимости" существует и
для вирусов. Они должны работать тайком, чтобы пользователь этого
не заметил. Это не всегда легко выполнить. Даже крупным поставщикам
программного обеспечения приходится сталкиваться с проблемой
переносимости и жизнестойкости своих программ, а разработчик
имеет дело с аналогичными, если не с еще более сложными проблемами.
Обычно для исчерпываюшей проверки не хватает времени, а поэтому
вирусы часто несовершенны и содержат ошибки.
7.2 Вирусы, приводящие к фатальным ошибкам
Не все ошибки, вызываемые вирусами, являются ошибками программиста.
Некоторые разновидности вирусов предназначены для
генерации отказов системы. Самый распространенный из этих отказов -
фатальная ошибка системы. В момент, когда система не допускает
никакого внешнего вмешательства, установить причины отказа невозможно.
Здесь очевидные преимущества по сравнению с VS-DOS имеют
другие операционные системы. Типичный пример этого - так называемый
SYSLOG, файл, в котором регистрируются все сообщения об ошибках.
Даже при фатальной ошибке системы с его помощью при достаточно
высоком профессионализме можно определить причину аварии.
Принцип действия "системного журнала" SYSLOG достаточно прост им
может быть реализован даже при поддержке VS-DOS.
По своему назначению SYSLOG аналогичен "кнопке бдительности"
машиниста тепловоза. Если он не нажимает кнопку или нажимает ее
нерегулярно, поезд останавливается.
В ЭВМ регулярно обслуживается определенная стандартная программа.
Если вдруг такого обслуживания не происходит, все содержимое
ОЗУ заносится в память. Из этого файла инженер-системотехник
может определить причину ошибки.
Вызываемые вирусом фатальные ошибки системы могут иметь
различные причины. Одна из них была уже описана в разделе 7.1,
это ошибка программирования в программе-вирусе. Вторая причина -
несовместимость с системой, т.е. непереносимость программы в
данную систему, или несовместимость с установленным ПО. Но третья
и наиболее существенная причина - преднамеренные аварийные ситуации.
То есть вирусы умышленно запрограммированы так, чтобы парализовать
систему. Аварийные ситуации могут иметь различную форму,
начиная от набора меняющихся на экране картинок, сопровождающегося
на старых бытовых компьютерах пронзительным визгом динамиков
до "тихой аварии", которая проявляется в невозможности любого
ввода с клавиатура. В большинстве случаев невозможен и "горячий
запуск" (в VS-DOS клавиши Alt, Сtrl и Del) не срабатывают клавиши
сброса и помочь может только отключение питания. Так как некоторые
ЭВМ снабжены термозащитой, блокирующей повторное включение
сразу после выключения, такая авария в некоторых случаях требует
вынужденной 15-минутной паузы перед повторным запуском. Нетрудно
представить, какой нервный шок может вызвать такая авария, происшедшая
спустя 30 минут после начала работы.
Как вести себя в подобном случае?
Разумеется, фатальная ошибка системы в описанной выше форме
не обязательно вызывается вирусами. Авария, повторяющаяся каждые
30 минут, может быть вызвана аппаратным сбоем. Невысокое качество
корпуса ИС, "холодная пайка" или дефект чипа являются источниками
сбоев, проявляющиеся только при нагреве оборудования. А поскольку
ЭВМ достигает своей "рабочей" температуры спустя некоторое
время после включения, ошибка появляется не сразу. Аварии такого
рода требуют тщательной проверки системы. Например, вначале нужно
отключить ЭВМ от сети , а затем повторно включить, так как при
"горячей загрузке" не всегда полностью очищается ОЗУ. Затем сле-
дует вновь загрузиться с новой дискеты, полученной от изготовителя
и снабженной защитой записи, и в течение достаточно длительного
времени поработать как будто на "холостом ходу".
Если при этом вновь обнаружатся ошибки, причину следует
искать в дефектах аппаратуры или в ее несогласованности с используемой
операционной системой.
Следующий шаг в поиске ошибки - загрузка диагностической
дискеты, причем и здесь следует обязательно воспользоваться оригиналом,
защищенным от записи. Если при такой проверке аппаратура
окажется исправной, начинается последовательная и обстоятельная
проверка операционной системы и прикладных программ. Таким очень
трудоемким и отнимающим много времени способом можно локализовать
и затем удалить ошибочную, несовместимую или выполняющую приводящие
к ошибке манипуляции программу. Если, тем не менее, ошибка
повторяется, то есть основание полагать, что имеет место заражение
вирусом, перенесенным на другие программы. Теперь следует
сравнить используемые программы с контрольными копиями (разумеется,
защищенными от записи) с использованием функции СОМР операционной
системы MS-DOS. При наличии отклонений не обойтись без
помощи инженера-системотехника.
7.3 Вирусы, повреждающие аппаратуру
Принято считать, что повредить или даже разрушить аппаратуру
компьютера с помощью программных команд нельзя. Несомненно, изготовители
постарались как можно защитить системы от ошибок программирования.
Тем не менее, в свое время одному из распространенных
бытовых компьютеров можно было причинить неисправимый ущерб с
помощью команды РОКЕ. Хотя пробел был со временем устранен, несколько
ПЭВМ стали жертвой этой команды.
К счастью, сегодня едва ли существуют такие простые способы
повреждения аппаратуры. Но создатели "программ-убийц" также очень
изобретательны. Хорошо, что описанные ниже разрушающие программы
до сих пор не встречались в форме вирусов. Например, существует
стандартная программа, управляющая контроллером дискеты, который
перемещает головку записи-чтения на несуществующую внутреннюю
дорожку. В некоторых дисководах это приводит к механическому
заклиниванию головки за один из внутренних держателей, причем
освободить головку можно только вручную, открыв дисковод.
Второй пример - воздействие на внешнее устройства. Так,
например, в наборе команд многих принтеров имеется команда обратной
перемотки бумаги. Она используется при работе в графическом
режиме или при юстировке отключения подачи бумаги. Но если попытаться
обработать большое количество листов с использованием
команды обратной перемотки, почти наверняка внутри принтера образуется
бумажный затор, который устранить можно только путем разборки
и чистки принтера. Если одна из программ при отсутствии в
течение длительного времени команд с клавиатуры, т.е. в отстутствие
оператора вызовет такую команду обратной перемотки, то по
возвращении оператора на свое рабочее место он может встретиться
с неприятной неожиданностью.
Последний пример из этой серии - программа стирания контрольной
дорожки на подключенном жестком диске. Она делает это настолько
основательно, что диск уже нельзя спасти даже при повторном
форматировании. Хотя до сих пор не удалось провести экспертизу
этой программы, но подтверждения ряда баварских хакеров не
вызывает никаких сомнений в достоверности описаний. Эта программа
упоминается в ноябрьском выпуске "РМ- компьютерхефт".
В какой-то степени "особое место" занимают программы, ущерб
от которых не поддается измерению, поскольку они не приводят к
непосредственному разрушению, а лишь увеличивают износ оборудования.
Например, небольшое изменение в CONFIG.SYS приводит к значительному
увеличению числа обращений к жесткому диску. По прежней
работе автору известна мини-ЭВМ с крайне неудачным выбором объема
основной памяти - всего 128 Кбайт. Поэтому операционная система,
даже не при пиковой загрузке, непрерывно занята загрузкой и выгрузкой
сегментов программ. Подобные операции дают за сутки большую
нагрузку на дисковод, чем за неделю работы в нормальных условиях.
7.4 Вирусы, имитирующие ошибки
Еще одна проделка вирусов - демонстрация пользователю фокусов
с ошибками в его системе. Подобные "ложные ошибки" с некоторых
пор используют производители программного обеспечения, правда,
не в связи с вирусами, чтобы разоблачить лиц, незаконно копирующих
программы. Такие ошибки выводят, например, следующие сообщения:
"Номер внутренней ошибки : 084876 в позиции РС 5869. Запишите
и сообщите , пожалуйста, изготовителю".
Конечно, такой ошибки вообще не существует. Выдача сообщения
инициирована незаконным копированием; оно содержит ничто иное,
как серийный номер программы, с помощью которой изготовитель
может установить, кто первоначально ее получил.
Можно было ожидать, что такие методы будут использованы и
составителями вирусов. Безобидным примером вируса, имитирующего
ошибки, служит программа Б.Фикса "час пик", которая имитирует
неисправную клавиатуру и при каждом нажатии клавиши создает шум в
динамике системы. Это происходит спустя некоторое время после
включения, и поэтому пользователь легко приходит к выводу, что в
клавиатуре происходит тепловой отказ.
В принципе, нужно отличать программы, которые лишь выдают
сообщения об ошибке на экран или на печать , от программ, которые
действительно производят ошибки. В данном случае трудно найти
границу между имитационными и разрушительными вирусами. Вирус,
который раз за разом помечает все большее число секторов на жестком
диске как дефектные и тем самым уменьшает емкость памяти,
нельзя однозначно отнести к одной из этих групп. В самом деле,
хотя здесь имитируется сообщение об ошибке, в действительности
аппаратные средства исправны: диск можно привести в порядок путем
повторного форматирования. И все же, отдельных пользователей
можно таким образом вынудить к приобретению нового диска, если
они увидят, число дефектных секторов непрерывно возрастает.
В принципе, фантазия составителей вирусов в части моделирования
неисправностей ЭВМ беспредельна. Чтобы привести пользователя
в отчаяние, достаточно через неравные интервалы времени выдавать
сообщение об ошибке PARITY CHECK 1. Уже приведенный выше
пример с жестким диском показал, что подобные программы могут
значительно повысить объем продаж оборудования и поэтому вполне
вероятно, что постоянное сокращение рынка ЭВМ может побудить
некоторых коммерсантов к использованию вирусов, способствующих
увеличению сбыта.
7.5 Цель - архивы данных
Самый большой ущерб, с более тяжкими последствиями чем при
использовании вирусов, повреждающих аппаратуру, могут причинить
программы, действующие на архивы данных. Здесь наиболее безобидный
вариант - уничтожение архивов данных. В подобном случае можно
чаще всего выйти из положения с помощью резервных копий. Более
стойкий эффект дают изменения в массивах данных, которые не так
просто обнаружить,. Правда, такие действия часто требуют детального
знания структур данных, но даже и при отсутствии таких сведений
могут нанести значительный ущерб.
Пример:
Найти ASCLL символ "9" (39H)
найден
нет да
изменить "9" на "8"
Запомнить измененный символ
конец программы
Очевидно, не требуется уточнять последствия такой манипуляции,
если представить, что она выполнена на ЭВМ предпринимателя в
массивах списков на выплату зарплаты.
Другая форма манипулирования данными - "разбухание" архивов.
Если файл клиентов заполнить вымышленными именами, то не только
увеличивается время обращения. Даже при чисто почтовых операциях
затраты резко увеличиаются, если получателей рекламных сообщений
просто не существует. Это приводит не только к бессмысленным
почтовым расходам и потерям рекламных материалов. Если раздутый
таким образом файл передать в резервный архив, то почти невозможно
осовободить его от нежелательных клиентов. Именно манипуляции
такого рода в значительной степени затрудняют определение действительного
объема убытков, поскольку за счет увеличения записей в
файле возрастает продолжительность поиска и распечатки. А можно
ли вообще выразить в деньгах дополнительный износ системы, время
ожидания оператора, потери памяти т.д.?
7.6 Кража машинного времени
Чем больше занимаешься манипуляциями, выполняемыми вирусами,
тем более неопределенными становятся границы дозволенного. Это
особо относится к краже машинного времени. Поскольку любая из
находящихся в ЭВМ программ занимает определенную часть машинного
времени - пусть даже только время загрузки, то, следовательно,
вирусы всегда приносят ущерб пользователю, потребляя машинное
время. Так как время работы программ-вирусов относительно мало,
пользователь вначале это не ощущает. Но по мере снижения производительности
ЭВМ обнаруживается ущерб, который теоретически можно
выразить в деньгах. На практике точное определение величины ущерба
представляет почти неразрешимую проблему, так как едва ли
можно установить действительные потери машинного времени с момента
внедрения вируса.
Сказанное выше относится не только собственно к вирусам,
потребляющим машинное время. Это справедливо и для программ-вирусов,
замедляющих работу системы, т.е. целенаправленно разработанных
вирусов-саботажников. Опасность обнаружения такого вируса на
ранней стадии сравнительно невелика, если временные задержки
малы. Быстродействие системы снижается, причем причину этого ищут
в незаметно вызываемых системных заданиях. Если такой поиск оказывается
безуспешным, приходится идти на расширение существующей
или на введение новой вычислительной системы, поскольку, по-видимому,
перестала удовлетворять существующим требованиям.
Описанные до сих пор варианты кражи машинного времени имели
чисто деструктивный характер. Разумеется, вирусы позволяют обойти
право доступа, т.е. дают возможность постороннему лицу работать с
системой. Это может выглядеть , например, так:
На одной из ЭВМ, оснащенных наборным модемом (коммерческий
почтовый ящик, вычислительный центр), с помощью "забытой" оператором
дискеты внедряется вирус, который в течение дня ведет себя
совершенно незаметно и, кроме самораспространения, не проявляет
никакой активности. Только когда системное время достигает
03:00:00, вирус становится активным, набивая вызывной номер своего
создателя и открывая ему доступ к системе. В данном случае
составитель вируса не только добрался бы до данных владельца, но
тому пришлось бы заплатить за использование телефонной линии при
этом несанкционированном доступе. Подобным образом хакеры не так
дано получили доступ к большой ЭBМ:
На одной из систем удалось поставить задание "разрешить
доступ". Это задание под разными именами было многократно внедрено
в систему. Даже если ответственные за систему обнаруживали
одну из этих программ, оставалось еще достатоно копий под другими
именами, чтобы продолжать "игру" еще некоторое время.
7.7 Получение выгоды
Разумеется, программист внедряющий вирус, не всегда причиняет
ущерб другим лицам или организациям. Значительно более эффективным
для разработчика может стать получение собственной выгоды.
Конечно, это можно достичь и за счет других лиц. Но более
заманчивой представляется, например, возможность повысить собственный
оклад. Правда, это рискованное предприятие, что понимает
не всякий. По словам одного из страховых экспертов, во всех ставших
известными манипуляциях такого рода можно было проследить
путь денег. Самая крупная из известных махинаций -случай в большом
торговом предприятии, когда удало
...Закладка в соц.сетях