поддержки клавиатуры поможет овладеть паролем. Проблема состоит
лишь в том, чтобы поставить эту программу на ЭВМ. Часто практику-
ется внедрение, например, с помощью "троянского коня" (см. 7.1).
Здесь вирусы дают хакеру новые возможности проникновения. Сказан-
ное относится не столько к отдельным ПЭВМ, сколько к ЭВМ коллек-
тивного пользования, так как здесь существует множество приорите-
тных уровней. В то время как в ПЭВМ однажды введенная программа
может контролировать ОЗУ целиком, в больших ЭВМ и вычислительных
сетях существуют программные и/или аппаратные барьеры, разделяю-
щие отдельных пользователей друг от друга. Так как вирус распрос-
траняется легально, не пытаясь прорвать эти барьеры, риск его
обнаружения невелик.
Если вирус с целью выполнения каких-либо манипуляций проник в
область высшего приоритета, единственная для него проблема - не
быть обнаруженным. Этого достаточно легко достичь в ЭВМ с большим
объемом памяти. В то время, как пользователь уверен, что работает
- 123 -
в защищенной системе, что все его секретные данные в полной сох-
ранности, вирус прилежно старается записать все вводимые команды
в файл, недоступный пользователям, но в любой момент открытый для
инициатора вирусного нападения.
Полагаясь на надежную защиту системы, пользователь доверят
ей данные и сведения, которые он хранил бы в бронированном сейфе.
Даже если где-то однажды обнаружится, что пароли ЭВМ стали досту-
пными благодаря применению вируса, едва ли можно установить, с
каких пор вирусы находятся в системе. Соответственно нельзя про-
извести оценку утечки информации и причиненного ущерба. Иногда
достаточно лишь подозрения в возможности доступа к данным, чтобы
обесценить весь архив. Например, достаточно подозрения, что по-
тенциальный противник расшифровал структуру криптографических
программ, чтобы полностью обесценить работу программистов трудо-
емкостью несколько сотен человеко-лет.
Отсюда можно сделать вывод, что защита с паролями не обеспе-
чивает эффективной изоляции данных. Вполне возможно, что более
надежный способ защиты - разрешение доступа после проверки неиз-
менных признаков пользователя, например отпечатков пальцев. Можно
представить себе систему, для входа в которую требуется снятие
отпечатка на пульте обслуживания. В качестве признака могут также
служить определенные, практически невоспроизводимые характеристи-
ки пользователя, например ритм ввода с клавиатуры. Но все эти
проверки должны выполняться отдельными защитными устройствами на
аппаратном уровне. Только таким путем можно было бы защититься от
манипуляций с помощью программ-вирусов.
7.11 Вирусы для защиты от копирования
В заключение данной главы, после рассмотрения всех нелегаль-
ных возможностей внедрения вирусов, опишем один легальный и,
может быть даже, полезный вариант.
Почти каждый разработчик программ задумывался, как эффектив-
но и незаметно защитить свои программы от пиратского копирования.
Вполне естественно подумать об использовании вирусов в качестве
средства защиты от копирования. Программист, несомненно, испытал
бы удовлетворение, если внедренный в его программу вирус начал бы
действовать сразу же после запуска полученной незаконно копии.
Но как ни привлекательна такая возможность, она запрещена
- 124 -
законом. Защита от копирования позволяет в лучшем случае уничто-
жить копию собственной программы, но непозволительно оказывать
какого-либо влияния на чужие файлы. Следователь, пользователь
может не опасаться, что в приобретенном им у изготовителя пакете
программ скрывается вирус, который только и ждет подходящего
момента, чтобы начать действовать при изготовлении резервной
копии (некоторые говорят о пиратской копии).
И все же существует возможность легального применения виру-
сов. Многие разработчики программ и участники ярмарок опасаются,
что в подходящий момент может быть скопирована важная программная
новинка. Хотя с помощью вирусов нельзя предотвратить копирования,
но, несомненно, можно отбить у вора вкус к таким проделкам, если
предварительно заразить программу вирусом, который, например,
обращается по определенному адресу ПЗУ или к системной дате. Если
программное окружение не согласуется с предусмотренным для разра-
ботанной программы, вирус становится активным и поражает програм-
мные архивы вора. Кроме того, вирус может перенести определенную
метку в инфицированную программу, по которой можно без труда
идентифицировать злоумышленника, если одна из зараженных программ
где-то обнаружится. Но, оценивая эти возможности, не следует
упускать из виду, что подобная вирусная защита лежит на грани
правонарушения и что существуют другие эффективные методы защиты
от копирования и кражи программ, не связанные с кодами пораженных
вирусом программ.
8. Возможности защиты пользователя
Теперь, получив первое представление об опасности вирусов,
рассмотрим в данной главе стратегии защиты, которые могут исполь-
зоваться любым пользователем, не обязательно обладающим специаль-
ными знаниями по аппаратным и программным средствам. Следователь-
но, нужно обсудить, как с помощью целенаправленного преобразова-
ния ЭВМ по возможности предотвратить распространение вирусов,
либо свести к минимуму причиняемый ими ущерб.
Для реализации этих мер не требуется особая техническая
подготовка. Описанные средства защиты касаются программного обес-
печения, архивов данных, операционных систем, обслуживающего
персонала и (для снижения ущерба) - страхования.
8.1 Программное обеспечение
Каждый пользователь при приобретении ЭВМ стремится за прием-
лемую цену получить программное обеспечение с наилучшими характе-
ристиками. При этом недостаточное внимание уделяют проблемам
техники безопасности.
С точки зрения "риска вирусного заражения" существует, соб-
ственно говоря, единственная альтернатива максимальной безопасно-
сти - разрабатывать программное обеспечение самому!
Хотя этот способ защиты и эффективен, его вряд ли можно
применять на практике, а потому каждый пользователь должен попы-
таться по возможности надежно защитить свои программы соответ-
ствующим способом. Существует несколько альтернатив приобретения
программного продукта на свободном рынке, которые можно разбить
на следующие группы:
1. Собственные разработки
Они обеспечивают оптимальную защиту, но требуют хорошей
подготовки в области программирования, так как в противном случае
преимущества в отношении безопасности программ могут быть сведены
на нет ошибками в них. При самостоятельной разработке следует
вводить механизмы защиты различного рода, как описано в разделе
15 и далее. Наличие и принцип действия этих механизмов защиты
должны охраняться как важнейшие производственные секреты.
- 126 -
2. Разработки силами собственных служащих
Сравнительно немногие пользователи или предприятия могут
себе позволить разработку программного обеспечения собственными
силами. Хорошие программисты, как правило дорого стоят, либо вооб-
ще стараются не связывать себя постоянными трудовыми соглашени-
ями. Для плохих программистов, разумеется справедливо высказанное
в п 1. Дополнительная сложность - необходимость тщательного кон-
троля программного продукта или безусловное доверие к
исполнителю.
3. Свободные программисты
В области индивидуальных решений значительную роль играют
свободные программисты, которых можно найти почти в любом городе.
Такие поставщики программного обеспечения, действующие чаще всего
как единоличники, предлагают свои услуги на довольно приемлемых
условиях. Правда пользователю приходится считаться с тем, что он
не становится владельцем исходного кода программы, даже если он
готов за это хорошо заплатить. Надежной гарантией для пользовате-
ля может оказаться хранение исходного текста программы, у дове-
ренного лица, лучше всего у нотариуса. Таким образом пользователь
и программист будут застрахованы на случай манипуляции, так как
при любом правовом споре можно обратиться к депонированным прогр-
аммам для верификации или выявления фальсификации. Кроме того, в
случае конкурса или смерти поставщика ПО пользователь меньше
рискует попасть в неприятное положение, когда приходится заново
разрабатывать все программное обеспечение целиком.
5. Поставщики программного обеспечения
Из-за высокого уровня зарплаты программистов продукция таких
фирм обычно сама дорогая. Эти фирмы, начиная с некоторого уровня,
уверены в своем твердом положении на рынке и поэтому менее распо-
ложены к уступкам, чем свободные программисты. Тем не менее поль-
зователь должен настаивать на совместной поставке исходного тек-
ста программ или на депонировании его у нотариуса.
- 127 -
6. Стандартное программное обеспечение
При поверхностном рассмотрении приобретения стандартного
программное обеспечение вначале кажется наиболее выгодным. Одна-
ко, покупка комплексных программ малоперспективна для пользовате-
ля. Это напоминает покупку автомобиля, когда базовая модель прив-
лекает низкой ценой, но даже за прикуриватель нужно доплачивать.
Точно также стоимость комплексного пакета быстро выходит за пер-
воначально предусмотренный диапазон. При приобретении стандартно-
го программное обеспечения возникают еще две проблемы. Во-первых,
пользователь не может требовать детальной адаптации таких прог-
рамм по индивидуальному запросу, во-вторых, ни при каких условиях,
даже в случае правового спора, он не может стать владельцем исхо-
дного кода. Дополнительное неудобство для пользователя состоит в
том, что большая часть стандартных пакетов программ была разрабо-
тана за границей и лишь переводится в немецко-язычную форму. Это
служит причиной дополнительных, типично переводческих ошибок.
На что еще нужно обращать внимание при приобретении програм-
много обеспечения?
Обязательно предусмотреть возможность введения защиты от
записи на всех приобретаемых носителях данных. Программы, работа-
ющие с защитой от копирования, для которых требуется записывать
исходный код, следует решительно отвергать, так как носитель
оригинальных данных не защищен от манипуляций. Кроме того, сразу
же после приобретения программного обеспечения, лучше всего в
присутствии свидетелей, нужно изготовить копию программы и депон-
ировать ее у нотариуса. Благодаря этому, при разрушении программы
можно выйти на источник манипуляции.
Далее, необходимо ввести дополнительные программы защиты,
которые затрудняют несанкционированый доступ в ЭВМ.
Здесь может оказаться полезным ведение файла ориентации,
который протоколирует все события в системе, правда, уже только
после нанесения ущерба. Но это справедливо лишь в том случае,
если файл регистрации непрерывно записывается на устройство WORM
(нестираемый носитель данных), поскольку стертый или измененный
файл регистрации бесполезен.
Еще одна возможность - применение контрольных программ,
которые обнаруживаю изменение однажды зафиксированного состояния
программного обеспечения. Достоинство этой системы в том, что она
- 128 -
обеспечивает соответствие системы промышленному стандарту и не
накладывает на пользователя никаких ограничений.
В заключение следует отметить, что программам любого изгото-
вителя следует доверять лишь в той мере, в какой вообще можно
доверять программисту.
8.2 Массивы данных
Описанные здесь меры служат скорее средством защиты не от