высокого уровня, напротив, не могут читать собственные ма-
шинные коды в рабочей памяти, а следовательно, не могут их
копировать. Программы на языках высокого уровня могут само-
воспроизводиться, лишь записывая собственный исходный текст
на устройстве внешней памяти. Этот процесс, однако, требует
трансляции копии в машинные коды, что не требуется при ко-
пировании ассемблерных программ".
В настоящее время такое разделение, наверное, уже не-
действительно, что показано в разделах главы 10. Современ-
ные языки высокого уровня позволяют читать и копировать
области памяти, а также компилировать копии программ на
языке высокого уровня.
Так как Краус видит существенное различие между само-
- 41 -
воспроизведением программ в машинных кодах и программ на
языке высокого уровня, он вводит также различные определе-
ния:
"Пусть П есть (синтаксически корректная) программа из
S.
(1) Если П не требует ввода и выводит ( точно) свой текст
программы П,то П называется (строго) самовоспроизводя-
щейся.
(2) Если П требует ввода и при каждом допустимом вводе вы-
водит (точно) свой текст программы Р, то П назы-
вается (строго) самовоспроизводящейся."
"Пусть П является действительной программой на Ас-
семблере М.
(1) Если П не требует ввода и выводит или воспроизводит в
рабочей памяти ( точно ) свои машинные коды, то П
называтся (строго) самовоспроизводящейся.
(2) Если П требует ввода и при каждом вводе выводит или
воспроизводит в рабочей памяти (точно) свои машиные
коды, то П называется (строго) самовоспроизводящейся".
Он пришел к выводу, что в отличие от самовоспроизводя-
щихся ассемблерных программ существование самовоспроизводя-
щихся программ на языке высокого уровня не очевидно.
При программировании Краус - как в последствии и Коэн
- воспользовался псевдоязыком программирования (ПЛ(А)), ко-
торый он очень тщательно определил. Распечатки программ
здесь не приводятся, так как только определение ПЛ(А)-ко-
манд потребовало бы несколько страниц.
Приведены, однако, программы на реально существующих
языках, которые без доработок не работоспособны. Краус ссы-
лается здесь на свою работу 1980 года, в которой описаны
соответствующие доработки. Эта работа, однако, недоступна
широкой публике. Краус формулирует постановку задачи разра-
ботки самовоспроизводящейся программы следующим образом:
"Множество D печатных символов, необходимых для сос-
тавления текста программы П на языке программирования S
объединяют в массив символов С [0: maxchar] . Благодаря
этому печатные символы упорядочены, а слова из D могут быть
отображены натуральными числами при помощи стандартной ге-
- 42 -
делизации. Так как может быть определена обратная функция
этого отображения, каждое натуральное число представляет
слово из D*. Следовательно, самовоспроизводящуюся программу
из D* можно представить натуральным числом q и, наоборот,
реконструировать из q."
Если перевести эту научную формулировку на общеприня-
тый язык, получится: Самовоспроизводящаяся программа должна
хранить свой собственный исходный текст в переменой (в це-
почке символов). Затем программа может быть реконструирова-
на из этой переменной. Кроме многократно самовоспроизводя-
щихся программ и иерархии воспроизведения, Краус говорит
также о самовоспроизводящихся программах с дополнительными
свойствами. Он признает:
"Можно не только примерами доказать, что такие прог-
раммы существуют, напротив, любой алгоритм можно выполнить
в форме самовоспроизводящейся программы."
В конце своей работы Краус еще раз приходит к паралле-
лям с биологической жизнью и ставит вопрос:
"Следуя биологии, можно, наверное, говорить даже о жи-
вых программах?"
Краус, конечно, не имеет в виду обмен веществ. Однако
воспроизводство и мутации позволяют провести явные аналогии
с биологической жизнью.
Таким образом Краус добрался, наконец, до вирусов и
определил:
"Ключевыми процессами жизни (биологических) вирусов
являются лишь воспроизводство и мутация, и притом лишь в
том случае, если чужой механизм обмена веществ предоставля-
ет строительный материал и энергию. Эти взаимосвязи в той
же форме следует установить и для самовоспроизводящихся
программ."
Очень известной работой является работа Р. Дирштайна
"Компьютерные вирусы". Так в этой работе в основном речь
идет о переводе/переработке работы Коэна "Компьютерные ви-
русы", мы не будем подробно на ней останавливаться. Следует
лишь предупредить о заведомо неверном утверждении. Дирштайн
пишет в первой редакции:
"Если известна дата занесения вируса, удаляют все фай-
лы, которые были созданы в ЭВМ после этой даты."
- 43 -
То, что эти действия не приведут к успеху, станет яс-
ным, если представлять себе, что, разумеется, поражаются и
все старые программные компоненты. Практическое доказатель-
ство бессмысленности этого мероприятия приведено в разделах
главы 10. Впоследствии эта ошибка была устранена.
Здесь следует еще кратко упомянуть Восьмой отчет о де-
ятельности Уполномоченных по защите данных Баварии. Этот
отчет подтверждает выводы автора, когда он рекомендует:
"[...] перед выполнением защищенной таким образом программы
выполните сравнение с записанной в памяти версией. Если
есть разница, она является признаком того, что данные и
программы, записанные в системе, подвергнуты обработке."
Следующей едва известной работой является "Угроза бе-
зопасности от компьютерных вирусов - первые подходы к реше-
нию". В этой работе, выполненной Ф. Хофмайстером в 1987 го-
ду в Дортмундском университете, явно ощущается влияние
публикаций Крауса, появившихся до 4/87. Работа начинается с
расплывчатого определения понятия вируса. Затем описываются
несколько форм вирусов и пути их распространения, чтобы за-
тем обосновать опасность, исходящую от компьютерных виру-
сов. Хофмайстер повторяет также ошибочное утверждение о
том, что можно достичь положительного действия вирусов на
обычные вычислительные системы. Он пишет:
"Компьютерные вирусы не являются зловредными в принци-
пе, они опасны лишь в том случае, если зловредность являет-
ся их функциональным признаком."
Напротив, следует придерживаться мнения:
"Любое неконтролируемое изменение данных и программ в
обычных системах следует считать нежелательным".
Затем Хофмайстер возвращается к "логическому колеба-
тельному контору" Коэна и поясняет читателям то, что Коэн
недостаточно полно описал при помощи своего "contradictory_
virus" (вирус противоречивости).
Следующие затем подходы к решению известны, по меньшей
мере, с момента появления публикаций Дирштейна.
1) Принцип четырех глаз
2) Регулярная проверка программных компонентов
3) Изоляция отдельных групп пользователей друг от друга
- 44 -
Далее Хофмайстер дошел до того, что отклонил, как не-
достаточно надежный, единственный надежный способ защиты
(запись программы в ПЗУ - постоянное запоминающее устройс-
тво). Вместо этого он предлагает трудоемкую технику кодиро-
вания.
Подходы к решению, предложенные Хофмайстером (предло-
женные Б. Фиксом уже в декабре 1986 и находящиеся в
настоящее время в стадии отладки), ограничиваются, как и
все названные до сих пор возможности защиты, функциональны-
ми возможностями системы.
2.3 Отклики печати
ДДДДДДДДДДДДДДДДДДД
Если в предыдущих разделах мы говорили о научных публи-
кациях, обратимся теперь к публикациям в прессе. Здесь будет
показано по возможности полно - но без претензий на абсолют-
ную полноту,- каковы были мнения и поведение немецких орга-
нов печати в отношении публикаций на тему вирусов. (Все ци-
таты относятся к пункту 2 перечня источников).
Если следовать хронологии, прежде всего, конечно, сле-
дует упомянуть Шпигель, которому, как это уже бывало,
удалось пробить стену молчания публикацией "Скрытая коман-
да". Споры были уже тогда. "Джером Лобель, консультант по
безопасности ЭФМ фирмы Honeywell Informations Systems, пре-
дупреждал: То, что придумал Коэн, не должны публично обсуж-
дать "ни Коэн, ни сознающие ответственность эксперты". Коэн
возражал: "Все дело в том, что если до этого додумался я,
то может додуматься и любой другой", и возможно, он окажет-
ся "Bad guy" ("плохим парнем").
После статьи в "Шпигеле" в прессе появилась серия па-
нических сообщений. Временами тому или иному пользователю
казалось, что его ЭВМ заражена. Однако не находился "сумас-
шедший, который это проверит", и интерес публики к проблеме
постоянно угасал.
Весной 1985 года появился третий выпуск журнала Бава-
рише Хакерпост" (ВНР) с переводом важнейших текстов из ра-
боты Коэна.
Весной же 1985 года появился очередной отчет по этой
- 45 -
теме в журнале KES. Там в предисловии указывается, что уже
имеются публикации на тему вирусов на немецком языке, та-
кие, как в "Баварише Хакерпост", поэтому авторов можно было
не подозревать в содействии распространению вирусной инфек-
ции. Статья, состоящая из двух частей, появилась сначала
без указания автора - вероятно, не ясна была реакция на по-
добную публикацию, и автор решил немного повременить с ука-
занием своей фамилии. Во второй части стало ясно, что авто-
ром является Р. Дирштайн, причем это стало ясно уже из
содержания публикации, так как именно в работах Дирштайна
идет речь о комментированном переводе работы Коэна.
Весной 1986 года журнал "Шпигель" опять привлек к себе
внимание автора, опубликовав небольшую заметку. Там сообща-
лось, что в США на различных персональных ЭВМ появились ви-
русы, которые портили данные и программы на подключенных к
ЭВМ дисководах. Эта заметка, которая едва обратила на себя
внимание, побудила автора более интенсивно заняться своими
исследованиями в области компьютерных вирусов.
В ноябре 1986 года в "Компьютер перзенлих"- уже в ко-
торый раз - появился комментированный перевод работы Коэна
под названием "Программы-вирусы - серьезная угроза или нео-
сознанная опасность". В этой статье также не отказались от
интерпретации в качестве доказательства "интеллектуального
короткого замыкания" Коэна и сообщили еще об одном подходе
к использованию вирусов (шпионаж). В качестве сюрприза в
статье приведена распечатка программы-вируса для ЭВМ Apple
II.
В декабре журнал ССС "Датеншлейдер" поместил небольшую
статью Б. Фикса. В этой статье описан MS-DOS - вирус "час
пик", который, конечно, никакой угрозы не представляет.
Подробнее он описан в разделе 10.1.
В феврале 1987 года Экономическая неделя преподнесла
"цифровые картины ужасов" - о маленьких червячках, пожираю-
щих дискеты. Так как этот журнал не является специальным
журналом в области вычислительной техники, ожидать от него
обсуждения узко-специальных вопросов не приходится. Однако
в статье высказано несколько интересных моментов. Так, нап-
ример, упомянуто и одновременно подвергнуто сомнению выска-
зывание специалиста фирмы IBM по защите данных - "нет необ-
- 46 -
ходимости заново разрабатывать опробованные на практике
операционные системы". Конечно, со ссылкой на спорный слу-
чай, произошедший в 1986 году в Берлинском университете.
В феврале появилось издание Конгресса Датеншлейдер с
добавлениями Хаос Комьюникейшн Конгресса с опубликованной
там информацией автора. Подробная информация об издании
Конгресса Датеншлейдер приведена в 4.1.
В то же время как в KES, так и в "Датеншутц бератер"
появился отчет о декабрьском Хаос Комьюникейшн Конгрессе.