Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
У. Столлингс ГЛАВА 15 Безопасность.doc
Скачиваний:
66
Добавлен:
11.05.2015
Размер:
795.14 Кб
Скачать

15.4. Зловредное программное обеспечение

Вероятно, наиболее изощренные угрозы для компьютерных систем пред­ставляют программы, исследующие их уязвимые места. Общее название угроз такого вида — зловредные программы (malicious software или malware). Зловредные программы — это программы, которые предназначены для того, чтобы причинить вред или использовать ресурсы компьютера, выбранного в качестве мишени. Они часто маскируются в легальных программах или выдаются за них. В некоторых случаях они распространяются сами по себе, переходя на другие компьютеры по электронной почте или через зараженные файлы или дискеты.

В начале этого раздела представлен обзор таких программных угроз; ос­тальная часть раздела посвящена вирусам. Сначала мы познакомимся с их при­родой, а затем — с возможными контрмерами.

Зловредные программы

На рис. 15.7 представлена общая систематизирующая схема зловредных программ. Угрозы этого вида можно разделить на две категории: те, которые используют программу-носитель, и те, которые являются независимыми. К пер­вой категории в основном относятся фрагменты программ, которые не могут су­ществовать независимо от программы-носителя, в роли которой может высту­пать приложение, утилита или системная программа. Ко второй категории отно­сятся отдельные независимые программы, которые могут планироваться и запускаться операционной системой.

Опасные программы разделяются на такие, которые не воспроизводят себя, и такие, которые делают это. К программному обеспечению первого вида отно­сятся фрагменты программ, которые должны активизироваться во время опре­деленных действий главной программы. В программное обеспечение второго ви­да входят либо фрагменты программ (вирусы), либо независимые программы (черви), способные при запуске создавать одну или несколько копий самих себя; эти копии позже активизируются в этой же или в какой-то другой системе.

Хотя представленная на рис. 15.7 систематика полезна для усвоения об­суждаемой информации, она не дает полной картины. В частности, логиче­ские бомбы или троянские кони также могут быть составной частью вирусов или червей.

Люки

Люк — это скрытая точка входа в программу, которая позволяет каждому, кто о ней знает, получать доступ к программе в обход обычных процедур, пред­назначенных для обеспечения безопасности. Многие годы люки использовались программистами для отладки и тестирования программ. Обычно это происходит тогда, когда программист разрабатывает приложение, в которое входит процеду­ра регистрации, или которое нужно долго настраивать, вводя при запуске много различных значений. Разработчик может захотеть предоставить программе, предназначенной для отладки, особые привилегии или иметь возможность избе­гать процесса настройки и аутентификации. Программисту также может понадо­биться иметь в своем распоряжении надежный метод, позволяющий активизиро­вать программу в случае возможных сбоев в работе встроенной в приложение процедуры регистрации. Люк — это код, распознающий некую особую последо­вательность входных данных или включающийся при запуске с определенным идентификатором пользователя, либо в результате маловероятной последова­тельности событий.

Если люки используются недобросовестными программистами для получе­ния несанкционированного доступа, они становятся угрозой. Именно ловушка послужила основной идеей уязвимости, изображенной в фильме "Военные игры" (War Games) [COOP89]. В качестве другого примера можно привести случай, произошедший при разработке системы Multics, испытание на проникновение в которую проводилось группой "tiger team" (команда тигров) военно-воздушных сил США, изображавшей противника. Один из тактических ходов заключался в том, чтобы отправить на узел, работающий под управлением Multics, подложную обновленную версию операционной системы. Версия содержала в себе троянского коня (эти программы описаны далее), которого можно было активизировать с помощью люка, и который позволил команде получить доступ к системе. Угроза была реализована так хорошо, что разработчики системы Multics не смогли най­ти ее даже тогда, когда их проинформировали об ее наличии [ENGE80].

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