17.05 13:25Келли Брук купается в море обнаженной (Фото)[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
17.05 11:10Мэри-Кейт и Эшли Олсен обнажаться для Playboy?[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
17.05 10:58Влад Топалов признался, что был наркоманом[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
17.05 10:55Папарацци застукали Мэрайю Кэри топлесс (ФОТО)[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 20:01Пенсионеры разделись, требуя повышения пенсий[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 18:29ЭтноГламур уходит с молотка[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 18:21Мадонне разрешили усыновить мальчика из Малави[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 18:19Элтон Джон споет в гостинице на Рублевке за $5.000.000[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 18:00Хоакин Феникс записывает дебютный альбом с лидером The Charlatans[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 17:59Кейт Бланшетт не нравится ее прическа в новой серии "Индиана Джонс"[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
Самая лучшая халява - это:
Результат
Архив

Главная / Учебники / Учебники на русском языке / Компьютерные науки / Большой справочник по компьютерным вирусам


Компьютерные науки - Учебники на русском языке - Скачать бесплатно


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

7.11 Вирусы для защиты от копирования

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

- 124 -
законом. Защита от копирования позволяет в лучшем случае уничто-
жить копию собственной программы, но непозволительно оказывать
какого-либо влияния на чужие файлы. Следователь, пользователь
может не опасаться, что в приобретенном им у изготовителя пакете
программ скрывается вирус, который только и ждет подходящего
момента, чтобы начать действовать при изготовлении резервной
копии (некоторые говорят о пиратской копии).
И все же существует возможность легального применения виру-
сов. Многие разработчики программ и участники ярмарок опасаются,
что в подходящий момент может быть скопирована важная программная
новинка. Хотя с помощью вирусов нельзя предотвратить копирования,
но, несомненно, можно отбить у вора вкус к таким проделкам, если
предварительно заразить программу вирусом, который, например,
обращается по определенному адресу ПЗУ или к системной дате. Если
программное окружение не согласуется с предусмотренным для разра-
ботанной программы, вирус становится активным и поражает програм-
мные архивы вора. Кроме того, вирус может перенести определенную
метку в инфицированную программу, по которой можно без труда
идентифицировать злоумышленника, если одна из зараженных программ
где-то обнаружится. Но, оценивая эти возможности, не следует
упускать из виду, что подобная вирусная защита лежит на грани
правонарушения и что существуют другие эффективные методы защиты
от копирования и кражи программ, не связанные с кодами пораженных
вирусом программ.







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

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

8.1 Программное обеспечение

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

1. Собственные разработки

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

- 126 -

2. Разработки силами собственных служащих

Сравнительно немногие пользователи или предприятия могут
себе позволить разработку программного обеспечения собственными
силами. Хорошие программисты, как правило дорого стоят, либо вооб-
ще стараются не связывать себя постоянными трудовыми соглашени-
ями. Для плохих программистов, разумеется справедливо высказанное
в п 1. Дополнительная сложность - необходимость тщательного кон-
троля программного продукта или безусловное доверие к
исполнителю.

3. Свободные программисты

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

5. Поставщики программного обеспечения

Из-за высокого уровня зарплаты программистов продукция таких
фирм обычно сама дорогая. Эти фирмы, начиная с некоторого уровня,
уверены в своем твердом положении на рынке и поэтому менее распо-
ложены к уступкам, чем свободные программисты. Тем не менее поль-
зователь должен настаивать на совместной поставке исходного тек-
ста программ или на депонировании его у нотариуса.


- 127 -
6. Стандартное программное обеспечение

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

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

8.2 Массивы данных

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

1. Установка защитных программ

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

2. Контроль

Через произвольные промежутки времени производится проверка
массивов данных. Эту операцию можно реализовать различными спосо-
бами, которые, в частности, зависят от структуры данных. Известны
следующие возможности:

а) Применение программ проверки (см. гл.15).
б) При небольшом объеме данных - визуальный контроль с помо-
щью команд "TYPE" или "DEBUG".
в) Использование стандартных функций сравнения.


- 129 -
3. Наглядные структуры данных

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

4. Малонаглядные структуры данных

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

5. Криптография

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

- 130 -
убытков. Пустые файлы практически играют роль буфера.
Следующая рекомендация принадлежит А.Г. Бухмайеру, который
пришел к аналогичной идее - с помощью команды RENAME "внушить"
вирусам, что программы-жертвы отсутствуют. Программа-вирус, как и
операционная система, должна ориентироваться на идентификатор
файлов, чтобы различать программы и данные (в MS_DOS такими иден-
тификаторами являются расширения имени файла .СОМ или .ЕХЕ). Если
файл .СОМ переименовать в .DUM, для вируса он в качестве програм-
мы перестает существовать. Для запуска переименованной таким
образом программы пользователь вначале должен вновь переименовать
ее в .СОМ. Разумеется, этот метод работает лишь до тех пор, пока
не раскрыт секрет используемого решения.
Успешно использовавшиеся для такого применения BATCH файлы
представлены и описаны в гл. 14.
Выбор возможной защиты или сочетания таких средств защиты
для собственной ЭВМ остается за пользователем. Разумеется, нужно
помнить : гарантировать абсолютную безопасность невозможно.

8.3 Операционная система


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

- 131 -
от записи путем установки специального ключа. Этот ключ защиты о
записи должен блокировать на дисководе саму команду "Head-
Load"("установить головку"), а не только сигнал контроллеру WP
("Write Protect"-защита от записи"). Без прямой блокировки линии
"Head-Load" запись на такой носитель все же возможна. На этот
диск переписывают безупречно отлаженные программы. Затем путем
установки ключа защиты от записи (разумеется, кодового) среда
вновь блокируется для дальнейших попыток записи. Данные находятся
на втором, не защищенном от записи жестком диске. На этот диск
можно записывать для отладки и тестирования чужие программы.
Распространение вирусов при наличии защиты от записи программного
диска теперь невозможно.
Аналогичная проблема для пользователей больших вычислитель-
ных систем решается проще. Здесь жесткие диски большой емкости
обычно снабжены изготовителем легкодоступным ключом защиты от
записи. К сожалению, с недавнего времени изготовители отказывают-
ся от такого дополнения, которое может быть исключительно полез-
ным при тестировании программного обеспечения.
Другие способы защиты на системном уровне, хотя и затрудняют
распространение вирусов, но не в состоянии его полностью предо-
твратить. Специалисты не исключают даже возможности распростране-
ния вирусов через различные пакеты защиты от вирусов, например,
такие как RACF или TOPSECRET. Правда, для этого требуются специ-
альные знания системотехники, но с такими знаниями можно преодо-
леть любой способ защиты программного обеспечения.

8.4 Оператор

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

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

8.5 Страхование на случай неправомерного использования ЭВМ

Одним из процветающих разделов страхования является так
называемое страхование на случай неправомерного использования
ЭВМ. Цель этого раздела - разобраться, выгодно ли страхование
пользователю.
Насколько известно автору, в ФРГ существует всего два стра-
ховых общества, в перечне услуг которых имеется такой вид страхо-
вания. Общие условия таких договоров страхования распространяются
на:
1) преднамеренное и противоправное обогащение за счет имуще-
ства страхователя путем:
а) изготовления, изменения, повреждения, уничтожения или
стирания программ обработки данных, машиночитаемых носите-
лей данных или данных, хранящихся в памяти ЭВМ;
б) ввода данных, машиночитаемых носителей и программ в ЭВМ;
2) преднамеренное нанесение ущерба страхователю путем стира-
ния хранящихся в ЭВМ данных, повреждения, разрушения или уничто-
жения машиночитаемых носителей данных или программ;
3) повреждение, уничтожение или разрушение устройств обрабо-
тки данных или их частей, если они не защищены слаботочными пре-
дохранителями.
Но во всех случаях должен быть установлен виновник ущерба,

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

- 134 -
выдвижения претензии на возмещение ущерба, страхователи проявляют
интерес к заключению страхового договора без этой оговорки. По
сообщению "Хандельсблат", начиная с 1986 г. "некоторые страховые
компании ФРГ предлагают возможность страхования от всех случаев
неправомерного использования ЭВМ без установления конкретного
виновника ("Хандельсблат", 16,06,87)".
Так как такие договора означают для страховых компаний труд-
но предсказуемый риск, "можно наблюдать, что этот вид страховой
защиты предлагается только "первым лицам"" . Надбавка к страховой
премии по такому договору "составляет 30-40% от премии по страхо-
ванию на случай неправомерного использования ЭВМ"
("Хандельсблат",16,06.87).
В связи с этим сообщением обнаружилось:
Крупная страховая компания , наряду с отказом идентификации
виновника при страховании от злонамеренного использования компью-
теров, предлагает также страхование на случай неправомерного
использования данных.
Другая страховая компания в ответ на запрос сообщила, что по
настоятельной просьбе клиента в особых случаях при страховании на
случай неправомерного использования ЭВМ можно исключить оговорку
об идентификации виновника.
Что же дают эти изменения и нововведения?

Отказ от идентификации виновника

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

- 135 -
может доставить определенные неприятности застрахованным:
Если идентификация невозможна, страхователь должен:

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

Страхование на случай неправомерного использования данных

Эта форма страхования предлагает страховую защиту на тот
случай, если постороннее лицо (в отличие от доверенного лица)
преднамеренно создает для себя имущественную выгоду путем

а) изготовления, изменения, повреждения или уничтожения
программ ЭВМ, машиночитаемых носителей данных или данных,
хранящихся в памяти ЭВМ;
б) ввода данных, машиночитаемых носителей и программ в ЭВМ.

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

- 136 -

Несколько примеров:

- Годовой оборот?
- Общее число сотрудников?
- Бюджет ЭВМ?
- Надежно ли хранится системная документация ?
- Невыясненные потери за последние пять лет?
- Имеет ли кто из сотрудников судимость за имущественные
преступления?
- Имелись ли в прошлом случаи отказа от страхования?
Итак, риск можно уменьшить, но невозможно исключить любой
риск, прямо или косвенно связанный с ЭВМ. Вышеназванные страховые
договоры не представляют интереса для мелких пользователей из-за
низкой страховой премии. Они используются промышленными предприя-
тиями и крупными фирмами для "страхования от катастрофического
убытка", т.е. убытка, грозящего существованию предприятия. При
таких условиях страхуемый, безусловно может пойти на собственное
участие в возмещение убытков в размере от 10 тыс. до 1 мин марок
ФРГ, чтобы обеспечить низкие страховые премии.



Часть П

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

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

- 137 -
переносимость.
Каждый читатель, проводяший эксперименты с вирусами, должен
полностью отдавать себе отчет в том, чтобы не повредить себе и
другим. Это означает также, что все программы-вирусы должны быть
записаны на носителях данных таким образом, чтобы их нельзя было
запустить по ошибке.
Только работа с полным пониманием своей ответственности
может помешать распространению вирусов.

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

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

- 138 -
разработчик не имеет возможности управлять случайным доступом.

9.1 Перезаписывающие вирусы

Наиболее простым с точки зрения их программной реализации
являются перезаписывающие вирусы. Программы-вирусы такого вида
уже были кратко описаны в разделе 4. Характерным признаком этих
вирусов является их разрушающее действие. Вычислительные систе-
мы, программы которых заражены вирусом такого рода, выходят из
строя в самое короткое время ("острая инфекция").
Если за определение перезаписывающих вирусов принять
разрушение программных кодов основной программы, не позволяющее
их реконструировать, то с помощью перезаписывающих вирусов оказы-
вается невозможным распространение "инфекции" на все работающие в
"зараженной " системе программы: поскольку пользователь быстро
обнаружит, что "здесь что-то не так". Правда, чаще всего предпо-
лагают, что ошибка связана со сбоем в аппаратуре, поскольку посто-
янно выдаются все новые сообщения об ошибке.
Для отражения процесса распространения "инфекции" пригодна
та же схема, что и в разделе 4. Здесь добавлено лишь задание на
обработку "MAN", о форме которого Вы должны были прочитать в
разделе 7 и последующих разделах.

K Байт идентификатора вируса
VIR Ядро вируса
MAN Задание на обработку (манипуляции, выполняемые вирусом)

Программа-носитель вируса

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

- 139 -
-------------------------------------------¬
¦ K ¦ VIR ¦ MAN ¦ программа-носитель вируса¦
L-------------------------------------------
Вирус просматривает достижимую для исполняемых программ
массовую память. В этом случае вирус разрушает вторую прикладную
программу. Теперь в оперативной памяти сохраняется некая малая
часть второй прикладной программы. Затем можно проверить, есть ли
в начале этой программы байт идентификатора "К". Если этот байт
идентификатора будет найден, процесс поиска продолжается до тех
пор, пока не будет найдена программа без признака вируса "К".
------------------------------------------------¬
¦ вторая прикладная программа ¦
L------------------------------------------------
В этой найденной программе (в данном случае вторая
прикладная программа ) перезаписывается первая часть, т.е. вирус
уничтожает программные коды основной программы, заменяя их собст-
венными кодами.

-----------------------------------------------¬
¦ K ¦ VIR ¦ MAN ¦ вторая прикладная программа ¦
L-----------------------------------------------

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

- 140 -
инфекция будет продолжать распространяться, и пользователю будет
чрезвычайно сложно найти источник инфекции.
При запуске инфицированной программы только что описанным
способом отыскивается незараженная программа. Первая найденная
программа является второй прикладной программой. Но там есть
идентификатор "К", а потому вирус не заносится и процесс поиска
продолжается.
---------------------------------------------¬
¦ K ¦ VIR ¦ MAN ¦ вторая прикладная программа¦ Имеется байт
L--------------------------------------------- идентификатора К,
процесс поиска
продолжается
Найдена третья прикладная программа, не имеющая
идентификатора "К", т.е. вирус внедряется в эту программу.
Перед запуском второй инфицированной программы:
---------------------------------------------¬
¦ третья прикладная программа ¦
L---------------------------------------------
После запуска второй инфицированной прикладной программы:
---------------------------------------------¬
¦ K ¦ VIR ¦ MAN ¦ третья прикладная программа¦
L---------------------------------------------
После того, как собственно процесс внедрения вируса
завершен, выполняется задание на выполнение операций любого рода.
Лишь теперь непредусмотренные Вами сообщения об ошибках укажут
Вам на то, что здесь не все в порядке. Итак, инициатор внедрения
вирусов в любом случае достигает своей цели - внедрения задания
на проведение определенных манипуляций.
Здесь следует сказать и о том, что приведенные в качестве
примеров сегменты программы, а также позиция и структура
идентификатора "К" для всех вирусов могут, естественно, выглядеть
совершенно иначе.

9.2 Вирусы, не выполняющие функции перезаписи

Более опасным вариантом компьютерных вирусов, хотя на первый
взгляд они и не кажутся таковыми, являются неперезаписывающие
вирусы. Поскольку чаще всего разрушение программ не в интересах
составителей программ-вирусов, здесь предлагается тип вирусов,

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

K Байт идентификатора вируса
VIR Ядро вируса
MAN Задание на выполнение операции вируса
MOV Стандартная программа сдвига при регенерации программы

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

- 142 -
по тем же критериям, что и в разделе 9,1, просматривается массо-
вая память.
--------------------------------------------------¬
¦ K ¦ VIR ¦ MAN ¦ MOV ¦ программа-носитель вируса ¦
L--------------------------------------------------
В процессе поиска вирус найдет вторую прикладную программу.
Поскольку такая программа при соответствующей проверке не обнару-
живает байта идентификтора "К", программа считается неинфицирован-
ной и начинается процесс введения вируса. Но этот процесс внедре-
ния вируса существенно отличается от того, что был описан в раз-
деле 9.1.
--------------------------------------------------¬
¦ вторая прикладная программа ¦
L--------------------------------------------------
В качестве первого шага из выбранной вирусом программы выде-
ляется некоторая часть, длина которой точно равна длине програм-
мы-вируса без стандартной программы "MOV".
--------------------------------------------------¬
¦ 1-я часть ¦ 2-я прикладная программа ¦
L--------------------------------------------------
Для сравнения представим здесь вирус без стандартной
программы MOV:
----------------¬
¦ K ¦ VIR ¦ MAN ¦
L----------------
Теперь эта выделенная первая часть копируется в конец второй
прикладной программы и в результате существует в двух
экземплярах, увеличивая старую прикладную программу на собствен-
ную длину. Следует подчеркнуть также, что эта операция над второй
прикладной программой выполняется не в оперативной памяти, а в
соответствующей массовой памяти.
--------------------------------------------------¬
¦ 1-я часть ¦ 2-я прикладная программа ¦ 1-я часть¦
L--------------------------------------------------

Теперь к уже расширенной второй прикладной программе после
уже скопированной первой части добавляется еще и стандартная
программа MOV, в результате чего программа увеличивается еще на
несколько байтов.

- 143 -
-------------------------------------------------------¬
¦1-я часть ¦ 2-я прикладная программа ¦ 1-я часть¦ MOV ¦
L-------------------------------------------------------
Следующий за этим процесс копирования выполняется точно так
же, как и при перезаписывающем вирусе. Итак, стоящая в начале
программы первая часть второй прикладной программы перезаписыва-
ется программой-вирусом, причем стандартная программа MOV еще раз
копируется, поскольку она уже имеется в конце программы. После
завершения всех этих операций 2-я программа будет выглядеть
таким образом:
----------------------------------------------------------¬
¦ K ¦ VIR ¦ MAN ¦ 2-я прикладная программа ¦1-я часть¦ MOV¦
L----------------------------------------------------------
Итак, часть программы перезаписана (заменена). Это необходи-
мо, поскольку "злокачественные" коды этой демонстрационной
программы должны стоять в начале программы, чтобы при запуске
программы обеспечить ее обработку. Но содержимое первой части не
утрачено, поскольку она сохранена в конце программы.
Затем программа-носитель вируса выполняет манипуляции любого
рода, а потом продолжает обработку программы.
Теперь возникает та же ситуация, что была описана в разделе
9.1, когда вирус сначала не размножался и даже никаким образом не
проявлял своей активности. Это состояние сохраняется до тех пор,
пока не будет запущена вторая инфицированная прикладная
программа.
-----------------------------------------------------------¬
¦ K ¦ VIR ¦ MAN ¦2-я прикладная программа ¦ 1-я часть¦ MOV ¦
L-----------------------------------------------------------
После запуска инфицированной программы вначале осуществляет-
ся передача вируса в следующую еще неинфицированную программу
только что описанным образом. В этом случае атаке вируса подвер-
гается третья программа.
Перед запуском второй программы:
------------------------------------------------------------¬
¦ 3-я прикладная программа ¦
L------------------------------------------------------------
После запуска второй прикладной программы:
------------------------------------------------------------¬
¦ K ¦ вирус MAN ¦ 3-я прикладная программа ¦ 1-я часть ¦ MOV¦

- 144 -
L------------------------------------------------------------
После того, как собственно процесс внедрения вируса
закончен, а затем выполнено задание MAN, активизируется стандарт-
ная программа MOV.
В оперативной памяти ЭВМ находится инфицированная вторая
прикладная программа. Стандартная программа MOV выделяет из этой
программы сохраненную в конце программы первую часть и вновь
перемещает ее на прежнее место в начало программы.
Перед активацией стандартной программы MOV имеем такую кар-
тину:
-----------------------------------------------------------¬
¦ K ¦ VIR ¦ MAN ¦ 2-я прикладная программа ¦1-я часть¦ MOV ¦
L-----------------------------------------------------------
После активации стандартной программы MOV:
-----------------------------------------------------------¬
¦ 1-я часть ¦ 2-я прикладная программа ¦ 1-я часть ¦ MOV ¦
L-----------------------------------------------------------
В оперативной памяти теперь вновь записана исходная версия
второй прикладной программы. Теперь стандартная программа MOV
выполняет переход в начало программы, после чего программа выпол-
няется без ошибок. Теперь место в памяти, занятое "дубликатной "
первой частью и стандартной программой MOV , уже не требуется и
может быть занято другой информацией без возникновения ошибок.
Собственно, описанные два типа вирусов и их специальные
формы полностью исчерпывают все возможности распространения виру-
сов. Путем несложных логических рассуждений легко придти к выво-
ду, что распространяться путем "генерации некоторой более или
менее точной копии внутри другой программы" могут лишь эти два
типа вирусов.
Приведенные ниже пояснения касаются лишь стратегии, с
помощью которой достигается распространение вирусов. Потому сам
вирус может быть как перезаписывающим, так и неперезаписывающим.

9.3 ОЗУ - резидентные вирусы

Как уже пояснялось в разделе 1, ОЗУ-резидентные программы
компьютерных вирусов "паразитируют" на самой программе. Находящи-
еся в оперативной памяти программы не перезаписываются данными или
другими программами; эта область памяти специальным образом упра-

- 145 -
вляется и становится недоступной для других программ. Система
после загрузки ОЗУ-резидентной программой ведет себя так, как
если бы данной области памяти не существовало. В экстремальном
случае при использовании ОЗУ-резидентных программ оперативная
память может оказаться полностью занятой, после чего MS-DOS выда-
ет сообщение: "Programm passt nicht in den Speicher". ("Для прог-
раммы нет места в памяти").
Перед вызовом ОЗУ-резидентных программ оперативная память
выглядит таким образом:
------------------------------¬ Старший адрес системы
¦ Занято системой ¦
¦-----------------------------¦
¦ Свободная память ¦
¦-----------------------------¦
¦ Операционная система ¦ Младший адрес системы
L------------------------------
После загрузки ОЗУ-резидентных программ оперативная память
выглядит таким образом :
------------------------------¬ Старший адрес системы
¦ Занято системой ¦
¦-----------------------------¦
¦ Свободная память ¦
¦-----------------------------¦
¦ Резидентная часть программы ¦
¦-----------------------------¦
¦ Операционная система ¦ Младший адрес системы
L------------------------------
Размещенная в оперативной памяти резидентная часть программы
может быть активизирована в любой момент при возникновении опре-
деленных условий. Например, таким условием может быть прерывание
(см. п. 1.1) или обращение из некоторой другой программы.
Для того, чтобы уяснить себе, каким образом может при этом
внедряется вирус, нужно иметь определенное представление о струк-
туре прерываний процессора 8088 и их применении в MS-DOS.
Функции RIOS (Basic Input Output System - базовая система
ввода-вывода) находятся в ПЗУ в самой верхней области памяти ЭВМ.
Нижняя часть памяти занята под адреса прерываний. Эти адреса
управляются определенными стандартными программами, находящимися
в ПЗУ (а частично и в ЗУПВ как часть MS-DOS).

- 146 -
Таким способом достигается всемирно известная совместимость
работающих под управлением MS-DOS ЭВМ. Так как совершенно безра-
злично, какое аппаратное обеспечение используется, функции опера-
ционной системы реализуются путем генерации прерываний. Затем
процессор выбирает из нижней области адрес прерывания (вектор
прерываний) соответствующей процедуры прерывания, которые могут
быть различными в различных системах.
Если теперь вектор некоторого прерывания изменяется (преоб-
разуется), вызов операционной системы (например, вывод на печать)
может изменить свое направление, переключившись на любую другую
программу вывода, резидентную в памяти. Таким же способом можно
переключиться с набора символов, несогласующихся с кодами АSCII,
на стандартные коды АSCII.
Но и с использованием той же техники можно "перехватить " все
обращения к дискете и переключить их на программу-вирус, которая
вначале выполнит задачу своего внедрения в систему, затем предус-
мотренные программой-вирусом манипуляции и лишь после этого выпо-
лнит собственно обращение к дискете, создавая тем самым видимость
безупречной работы.
На схеме при нормальном выполнении функций это выглядит
примерно так (здесь решающие функции по сравнению с другими схе-
мами сильно расширены):
-------------------------------------¬ Старший байт системы
¦ Занято системой ¦
¦ Стандартная программа обращения ¦
¦ к дискете, завершающаяся командой ¦
¦ RETURN ¦
¦------------------------------------¦
¦ Свободная память ¦
¦------------------------------------¦
¦ Запущенная пользователем прикладная¦
¦ программа (вызов системной функции ¦
¦ обращение к дискете) ¦
¦------------------------------------¦
¦ Операционная система ¦
¦ Адресная ссылка (вектор) на ¦
¦ стандартную программу обращения ¦
¦ к дискете ¦ Младший адрес системы
L-------------------------------------

- 147 -
После установки ОЗУ-резидентной программы-вируса процесс
выполнения функций изменится следующим образом (здесь также реша-
ющие функции по сравнению с другими схемами сильно расширены):
-------------------------------------¬ Старший адрес системы
¦ Занято системой ¦
¦ Стандартная программа обращения к ¦
¦ дискете, завершающаяся командой ¦
¦ RETURN ¦
¦------------------------------------¦
¦ Свободная память ¦
¦------------------------------------¦
¦ Запущенная пользователем прикладная¦
¦ программа (вызов системной функции ¦
¦ обращение к дискете) ¦
¦------------------------------------¦
¦ ОЗУ-резидентная программа-вирус ¦
¦ (сохраняет регистры ЦП, копирует ¦
¦ вирус, передает управление ¦
¦ стандартной программе обращения к ¦
¦ дискете) ¦
¦------------------------------------¦
¦ Операционная система ¦
¦ Измененная адресная ссылка (вектор)¦
¦ указывающая теперь на программу- ¦
¦ вирус ¦ Младший адрес системы
L-------------------------------------
Такие вирусы, как правило, сохраняются в оперативной памяти
(если они не запрограммированы иначе) до тех пор, пока не будет
выключен компьютер. Если затем ЭВМ включить вновь, оперативная
память будет свободна от вирусов. Но это будет продолжаться лишь
дот тех пор, пока не будет запущена инфицированная программа. При
запуске такой программы вирус вновь становится резидентным. Поэ-
тому наиболее устойчивые вирусы программируются таким образом,




Назад
 


Новые поступления

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

281311062 (руководитель проекта)
401699789 (заказ работ)
© il.lusion,2007г.
Карта сайта
  
  
 
МЕТА - Украина. Рейтинг сайтов Союз образовательных сайтов