Купить
 
 
Жанр: Учеба

страница №1

Большой справочник по компьютерным вирусам



РАЛЬФ БУРГЕР

БОЛЬШОЙ СПРАВОЧНИК
ПО КОМПЬЮТЕРНЫМ ВИРУСАМ

Издание второе, переработанное
1988 и дополненное

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


- 2 -


Предисловие
-----------
С момента выхода первого издания пршло уже полгода. Все
это время ситуация продолжала развиваться, и теперь, перейдя
в область политики, проблема программ-вирусов перешла в новое
качество.
Так как эта книга носит характер спавочника, во втором
издании - насколько это возможно - сделана попытка показать
новые разработки и учесть замечания читателей.
Как и прежде, результат моей работы по этой тематике в
течение двух с половиной лет содержит также выдержки из наиболее
известных работ других авторов и их критику.
Мне хотелось бы поблагодарить тех, без чьей поддержки
эта книга не получилась бы такой, какова она есть. Особенно
достойны уоминания ССС, С.Вернери, баварские хакеры, Др.Венцель,
Х.Егер, Г.Майеринг, С.Каипинг, С.Акерман, Б.Фикс,
М.Валлен, Др.Шпербер, Г.Суельман, О.Джастер и, конечно,
Хельга.
При сборе сведений об ущербе, нанесенном вирусами, чаще
всего используется информация третьих лиц. Всем - професионалам
и непрофесионалам -, располагающим такой мнформацией и
желающим оказать влияние на содержание этой книги, следует
иметь это в виду.

Харен, март 1988 Ральф Бургер1. Что такое компьютерные вирусы? ...................
1.1 Программы в устройсвах обработки данных...........
1.2 Обработанные программы............................
1.3 Обрабатывающие программы..........................
1.4 Свойства программ-вирусов.........................
1.5 Попытка определения...............................


- 3 -


2. Исторический обзор................................

2.1 Гластность? Исследования Фреда Коэна..............
2.2 Другие исследования...............................
2.3 Отклики печати....................................

3. Чем опасны компьютерные вирусы?...................

3.1 Предание о положительных вирусах..................
3.2 Установление виновника врядли возможно............
3.3 От программного обеспечения к программной войне...
3.4 Неосведомленность готовит почву...................

4. Современное состояние исследований в области
программ-вирусов..................................


4.1 Chaos Communication Congress, декабрь 1986 .......
4.2 Хакеры в 1987 году................................
4.3 Попытки установления контактов: официальный
собеседник........................................
4.4 Секретные исследования?...........................

5. Смириться с опасностью?...........................

5.1 Высказывания на тему вирусов......................
5.2 Большая степная птица.............................
5.3 Поучительный совет................................
5.4 Наш клиент принадлежит нам........................

6. Правовой статус...................................

6.1 Общий обзор.......................................
6.2 Уголовно-правовые последствия.....................
6.3 Гражданско-правовые последствия...................
6.4 Отдельные случаи..................................
6.5 Вирусы в комерческих программах...................
6.6 Манипулирующие вирусы.............................
6.7 Вирусы "протеста".................................
6.8 Разработка, публикация и распространение..........

- 4 -


7. Примеры манипуляций..............................
7.1 Диагноз: поражение вирусом?......................
7.2 Вирусы, приводящие к фатальным ошибкам...........
7.3 Вирусы, повреждающие аппаратуру..................
7.4 Вирусы, имитирующие ошибки.......................
7.5 Цель - архивы данных.............................
7.6 Кража машинного времени..........................
7.7 Получение выгоды.................................
7.8 Шантаж...........................................
7.9 Промышленный и прочий шпионаж....................
7.10 Преймущества и недостатки паролей................
7.11 Вирусы для защиты от копирования.................

8. Возможности защиты пользователя..................

8.1 Программное обеспечение..........................
8.2 Массивы данных...................................
8.3 Операционная система.............................
8.4 Оператор.........................................
8.5 Страхование на случай неправомероного
использования ЭВМ................................

Часть II. Компьютерные вирусы в прикладных программах...

9. Формы проявления компьютерных вирусов............

9.1 Перезаписывающие вирусы..........................
9.2 Вирусы, не выполняющие функций перезаписи........
9.3 ОЗУ - резидентные вирусы.........................
9.4 Вызов программы-вируса...........................
9.5 Прочие вирусы....................................
9.6 Демонстрационные программы.......................
9.7 VIRDEM.COM.......................................

10. Различные языки программирования, применяемые

- 5 -


при составлении программ-вирусов.................

10.1 Вирусы на Ассемблере.............................
10.2 Вирусы на Паскале................................
10.3 Вирусы на Бейсике................................
10.4 Вирусы в виде командного файла...................
10.5 Вирусы в исходных кодах..........................

11. Различные операционные системы...................

11.1 MS-DOS...........................................
11.2 Вирусы в среде СР/М .............................

11.3 Сети.............................................

12. Пути паспространения вирусов.....................

12.1 Вирусы в пограмме-носителе.......................
12.2 Вирусы в системах передачи данных................
12.3 Средства изоляции................................
12.4 Программисты.....................................

13. Степень обеспечения безопастности................

13.1 Защита данных и обслуживание.....................
13.2 VIR-DOS?.........................................
13.3 Случайно-возникающие вирусы......................

14. Задания на выполнение манипуляций................

14.1 Сломать проще всего..............................
14.2 Программное обеспечение против аппаратного.......
14.3 Имитация ошибки..................................
14.4 Манипуляция данными..............................
14.5 До сих пор и не далее............................

15. Стратегия защиты.................................

15.1 Операционные системы, защищенные от вирусов......
15.2 Защита путем "Самоотсечения".....................

- 6 -


15.3 Программы поиска вирусов.........................
15.4 Защитные вирусы..................................
15.5 Аппаратная защита................................
15.6 Программа обнаружения изменений..................
15.7 Что делать, если ЭТО все же произошло?...........
15.8 Что делать со стандартами?.......................

16. Перспективы развития.............................

16.1 Каким видится программное обеспечение будущего?..
16.2 Надежно защищенный путь доступа к ЭВМ............
16.3 Контролируемы ли вирусы?.........................
16.4 Путь к искуственному интелекту?..................

Часть I ОСНОВНЫЕ СВЕДЕНИЯ О КОМПЬЮТЕРНЫХ ВИРУСАХ

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

главах прояснить этот случай, рассмотрим кратко 1987


год.
В сентябре 1987 года Хаос Компьютер Клаб (ССС) - известный
вскрытием систем защиты в устройствах обработки

- 7 -


данных - опять обратил на себя внимание: телевизионный журнал
Панорама сообщил, что клубу якобы представлены результаты
проникновения в исследовательскую ЭВМ, которые говорят
о том, что немецким хакерам удалось проникнуть во всемирную
вычислительную сеть. Наиболее известными жертвами сбоев
операционной системы, на которые способны хакеры, являются
институты, такие как Немецкий исследовательский и экспериментальный
институт авиации и космонавтики, Европейский
космический центр ЕСА и даже НАСА. По данным хакеров это не
распространяется пока на перехват данных. В ЭВМ "Всемирной
физической аналитической сети" введен, так называемый,
"троянский конь", задача которого заключается в том, чтобы
сохранить на будущее полученный однажды доступ к ЭВМ. Эти
институты могут считать, что они легко отделались, так как
речь идет "лишь" о хакерах,которые не заинтересованы в противозаконном
корыстном использовании полученной информации.

В то время как описанная деятельность хакеров подтверждена
многими институтами, "Франкфуртер Рундшау" от 16
сентября 1987 года сообщила, что федеральное министерство
внутренних дел и федеральная уголовная полиция ничего не
знают об этих происшествиях...
Актуальное примечание: очевидно, что в высказываниях
Федеральной уголовной полиции, опубликованных "Франкфуртер
Рундшау", речь идет о преднамеренной дезинформации. Незадолго
перед изданием этой книги в Гамбурге конфисковали
имущество ССС.Обыск был произведен как в помещениях клуба,
так и в квартирах его членов. При этом конфисковывалось
"все, что похоже на ЭВМ".Среди прочего конфисковано также
программное обеспечение автора, которое было передано члену
ССС Штефану Вернери для проверки.
Действия против Ш.Вернери были прекращены без какойлибо
реакции прокуратуры на запрос автора и его адвоката.
Отчет Панорамы вызвал появление многочисленных откликов
в печати и возобновление ожесточенных дискуссий по поводу
защиты данных.Ежедневная левая газета TAZ в статье под заголовком
"Троянский конь и дремлющие вирусы" связала проблему
с компьютерными вирусами.Именно эти компьютерные вирусы нанесли
вред прессе, о чем впервые сообщил Шпигель в 1984 году.


- 8 -


Ясность все эти публикации не внесли. Среди пользователей
распространяются странные слухи о таинственных вирусах
в ЭВМ. Часто полагают,что речь идет об органических вирусах,
и уже боятся трогать чужие дискеты без перчаток и
предпочитают пользоваться почтовыми ящиками из боязни заражения.По-видимому,
среди пользователей ЭВМ распространилась
истерия, аналогичная страху перед эпидемией СПИДа.
Эта книга должна помочь как читателям, которые хотят
ознакомиться с этой темой, так и читателям, которые интересуются
прежде всего программированием вирусов, предоставив
им исчерпывающую информацию по всем разделам проблемы вирусов.

Эта книга все же не очень удобна. Она ставит вопрос о
поиске новых путей в программировании.Компьютерные вирусы
поставили проблему, которая ждет решения силами молодых заинтересованных
программистов. Эта книга предоставляет таким
программистам всю необходимую информацию. Почти во всех общеупотребительных
языках программирования имеются программы
-вирусы, разработку которых следует продолжить.
Однако работа с компьютерными вирусами требует осознания
высокой ответственности за возможный ущерб.Как и все
технические новшества, компьютерные вирусы имеют две стороны.
Неверное использование вирусов может нанести невообразимый
ущерб; правильное их использование может породить новое
поколение ЭВМ.Эта книга позволит любому читателю
принять участие в этих разработках и внести свой вклад в
развитие систем обработки данных.
Тот, кто хочет практически и экспериментально разобраться
с компьютерными вирусами, очень быстро обнаружит, какие
фантастически привлекательные возможности открывают
программы-вирусы.
При этом возникает вопрос:
Как, собственно говоря, оценить тот факт, что хороший
программист отправляет в путешествие свой закодированный в
двоичном коде интеллект с заданием размножаться и меряться
силой с "внешним миром"?
На этот вопрос каждый должен ответить сам. Книга ответа
на этот вопрос не дает.


- 9 -


1. Что такое компьютерные вирусы?

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

Конечно это не так.Компьютерные вирусы - это такие же
программы, как FIBU или программа обработки текста. Однако,
такое искаженное представление о компьютерных вирусах обусловило
широкий спектр мнений по этому поводу - от уже упоминавшейся
сострадательной улыбки и понимающей ухмылки до
панического страха поражения вирусами. Профессиональное обсуждение
этой темы до сих пор не проводилось. Речь шла о
"чужих дискетах", о червяках, проедающих ЭВМ, и об "аппаратных
вирусах, повреждающих ПЗУ".
Эта книга должна внести некоторую ясность в проблему и
послужить проводником в мир компьютерных вирусов.Книга содержит
практические указания и много фактических материалов,
связанных с этими программами. Прежде всего, поясняется
возникновение самого термина "компьютерные вирусы",
основанного на аналогии между биологическими и компьютерными
вирусами.
-----------------------------T-----------------------------
Биологические вирусы ¦ Компьютерные вирусы
-----------------------------+-----------------------------
Нападают на специальные ¦ Вмешиваются в определенные
соматические клетки ¦ программы (все *.COM, все
¦ *.ЕХЕ...)
-----------------------------+-----------------------------
Изменяется наследственная ¦ Программа обрабатывается:
информация клетки ¦ Выполняются не те задания,
¦ которые были предусмотрены
-----------------------------+-----------------------------
В пораженной клетке ¦ В пораженной программе

- 10 -


созревают новые ¦ самовоспроизводится
вирусы ¦ программа-вирус
-----------------------------+-----------------------------
Инфицированная клетка не ¦ Одна и та же программа поража-
поражается одним и тем же ¦ ется большинством вирусов
вирусом многократно ¦ лишь однажды
-----------------------------+-----------------------------
Пораженный организм обычно в¦ Пораженная программа может в
течение длительного времени ¦ течение длительного времени
не проявляет признаков ¦ работать без ошибок
заболевания ¦
-----------------------------+-----------------------------
Не все клетки, контактиру- ¦ Программу можно сделать не-
ющие с вирусом,инфициру- ¦ восприимчивой к определенным
ются ¦ вирусам
-----------------------------+-----------------------------
Вирусы могут мутировать, ¦ Программы-вирусы могут изме-
благодаря чему они не всегда¦ няться, отчего процедуры по-
однозначно распознаются ¦ иска могут их не замечать
-----------------------------+-----------------------------
Этот перечень можно было бы еще продолжить.

Теперь читатель спросит: "Как это возможно, что программа
в ЭВМ ведет себя так же, как вирус в организме?".
Чтобы ответить на этот вопрос, необходимо ознакомиться со
структурой вычислительной системы. Так как целью этой книги
является также ознакомление любителей с вирусными программами,
на последующих страницах кратко поясняется структура
вычислительной системы. Это пояснение сильно ориентировано
на операционную систему MS-DOS,однако все сказанное можно
отнести также к большей части других операционных систем.
(Читателям, знакомым с ЭВМ, следует запастись терпением на
несколько следующих страниц. Более подробные пояснения необходимы
также,чтобы сделать понятными специальные термины,
неизвестные широкому кругу пользователей ).

1.1 Программы в устройствах обработки данных
-----------------------------------------------------
Аппаратное обеспечение Проще говоря,речь идет обо всех

- 11 -


----------------------- частях ЭВМ, до которых можно до-
тронуться.

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

Аппаратное обеспечение ЭВМ включает в себя следующие
компоненты:

Процессор (микропроцессор/центральный процессор)
---------
Это "мозг" ЭВМ.Он обрабатывает команды программы и может
выполнять логические операции.

Оперативная память (память прямого доступа)
------------------
"Кратковременная память" ЭВМ. В рабочей памяти располагается
информация, к которой процессор должен иметь быстрый
доступ. При выключении напряжения питания информация в
ОЗУ теряется.

Постоянная память (постоянное запоминающее устройство/
----------------- ПЗУ/ЭППЗУ )
"Инстинктивные" функции ЭВМ записаны в постоянной памяти.Пользователь
обычно не может изменить содержимое постоянной
памяти. Здесь обычно записаны важные стандартные
программы, такие как вывод на экран дисплея, управление
принтером и т.д.

Массовая память (гибкий диск/жесткий диск/стриммер)
---------------
"Долговременная память" ЭВМ. Информация, записанная в
массовой памяти, не теряется и при выключении напряжения
питания.

Внешние устройства (принтер/плоттер/монитор)

- 12 -


------------------
Все устройства, подключенные к ЭВМ.

Эти аппаратные средства можно эксплуатировать при помощи
программного обеспечения:

Операционная система
--------------------
Уровень пользователя. операционная система создает
программное окружение. Благодаря этому на ЭВМ с одинаковыми
операционными системами можно использовать одни и те же
программы, даже если эти ЭВМ изготовлены разными производителями.
Эта переносимость программ обозначается как "совместимость".
Операционная система использует множество
функций или программ, хранящихся в постоянной памяти, и
предоставляет в распоряжение стандартные операции:
ввод,вывод и дисковые операции (ДОС = дисковая операционная
система).

Прикладное программное обеспечение
----------------------------------
Программы, превращающие ЭВМ в средство труда. В качестве
примеров могут быть названы редактирование текста,
ведение финансового учета и сбор измеренных данных.
Программа состоит из последовательности команд процессора.
Во время работы процессор постоянно обращается к памяти,так
как оттуда он получает свои инструкции.

Исходный код или исходный текст
-------------------------------
Программа,написанная на языке программирования, операторы
которого могут быть напечатаны, например, на Паскале,
Фортране, Бейсике. Этот исходный код должен быть либо
приведен к виду, понятному для процессора, при помощи компилятора
(см. ниже), либо обработан при помощи интерпретатора
(см. ниже).

Объектный код
-------------

- 13 -


Исходный текст, странслированный компилятором (см. ниже).
Объектный код может обрабатываться процессором.


Компилятор
----------
Компилятор транслирует непонятный процессору исходный
текст в исполняемую программу (объектный код).

Интерпретатор
-------------
Во время обработки программы интерпретатор для каждого
оператора программы, представленной в исходном тексте, обращается
к таблице трансляции, а затем выполняет найденные
команды процессора.

Управление рабочей памятью осуществляет операционная
система или прикладное программное обеспечение. Распределение
рабочей памяти в общем случае выглядит следующим образом:


--------------------------------¬
¦ Занято системой ¦ Старшие адреса системы
+-------------------------------+
¦ Третья прикладная программа ¦
+-------------------------------+
¦ Вторая прикладная программа ¦
¦ ¦
¦ Первая прикладная программа ¦
¦ ¦
¦ Операционная система, включая ¦
¦ функции, содержащиеся в ПЗУ. ¦ Младшие адреса системы
L--------------------------------

Как видно из таблицы, в рабочей памяти одновременно с
операционной системой могут находиться несколько прикладных
программ.
Процессор, разумеется, не может обрабатывать одновременно
несколько программ.
Хотя иногда кажется, что в ЭВМ одновременно выполняет-

- 14 -


ся несколько процессов (читателю наверняка знакомы часы,
которые всегда показывают время в углу экрана дисплея), на
самом деле эти процессы сдвинуты во времени, причем сдвиг
настолько мал, что незаметен пользователю. Программы, которые
постоянно находятся в рабочей памяти, не будучи постоянно
активными, называются программами, резидентными в памяти.

Богатые возможности, которые предоставляют резидентные
в памяти программы,так как они являются основой для специальной
формы компьютерных вирусов. Очень полезным свойством
резидентных программ является отсутствие затрат времени на
их загрузку при повторном запуске. Обычная программа перед
каждым повторным запуском должна быть передана (загружена)
из массовой памяти в рабочую, на что каждый раз требуется
определенное время - время загрузки,- программа же, резидентная
в памяти,после однократной загрузки всегда доступна
и может быть активизирована в кратчайшее время. Активизация
таких программ осуществляется чаще всего при помощи так называемого
прерывания. Одно такое прерывание (Interrupt) будет
описано в следующем примере.
Вы пишете письмо. В середине предложения звонят в
дверь. Вы откладываете ручку в сторону, идете к двери и
приглашаете пришедшего войти. Неожиданно звонит телефон. Вы
просите посетителя немного подождать, идете к телефону, отвечаете
и беседуете с абонентом. Затем Вы завершаете телефонный
разговор и можете посвятить себя посетителю. После
того, как посетитель уйдет, Вы вернетесь к письму и закончите
его. Это пример двойного вложенного прерывания поясняет
проблемы, возникающие при обработке прерываний, в частности,
задание различных приоритетов (если одновременно
звонят дверной звонок и телефон, на что реагировать в первую
очередь?) и сохранение определенного состояния прерывания
(что Вы делали в то время, когда зазвонил дверной звонок
- писали или говорили по телефону?). С этими основными
проблемами сталкивается процессор при обработке прерывания.
При возникновении прерывания обычная обработка программы
прерывается, и управление передается другой программе.

Затем программа обработки прерывания определяет, вернуться
ли в вызывающую программу или продолжить выполнение

- 15 -


задачи.

1.2 Обработанные программы
------------------------------
Обычно каждый программист старается обеспечить работоспособность
программного обеспечения. Например он стремится
избежать пресловутого "зависания" ЭВМ (постоянного
повторения программного цикла без возможности из него выйти).
Он старается также сделать так, чтобы неверный ввод
пользователя не мог повредить массивы данных и программ.
Программирование такой защиты осуществляется особенно тщательно
и является одной из важнейших проблем, возникающих
при создании программного обеспечения.
Если необходимо внести изменения в программу,представленную
в виде объектного кода, следует учитывать серьезные
трудности, сопровождающие этот процесс, хотя бы уже потому,
что фирмы-создатели программного обеспечения обычно не поставляют
вместе с программой ее исходного текста. Эта мера
предусмотрена для защиты от несанкционированного копирования
и является несостоятельной. Еще ни одна программа, ни
одна защита от копирования не устояла от "разрушения".
Несмотря на серьезные трудности, связанные с этим занятием,
одним из наиболее распространенных увлечений компьютерных
чудаков является изменение записей о защите авторских
прав в нелегально скопированных или официально купленных
программах. Так как смотреть на это не очень приятно, программисты
жертвуют (или фирмы-изготовители программного обеспечения
заставляют жертвовать) свое рабочее время на то,
чтобы сделать запись об авторских правах неизменяемой. Это
осуществляется либо путем последующего опроса во время выполнения
программы, либо путем декодирования закодиро

Список страниц

Закладка в соц.сетях

Купить

☏ Заказ рекламы: +380504468872

© Ассоциация электронных библиотек Украины

☝ Все материалы сайта (включая статьи, изображения, рекламные объявления и пр.) предназначены только для предварительного ознакомления. Все права на публикации, представленные на сайте принадлежат их законным владельцам. Просим Вас не сохранять копии информации.