Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Olifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
Скачиваний:
2396
Добавлен:
21.03.2016
Размер:
23.36 Mб
Скачать

ГЛАВА 24 Сетевая безопасность

Обеспечение безопасности названо первой из пяти главных проблем Интернета в программе, ствий новой международной инициативы построения Интернета будущего (Future Internet Dei FIND). Инициатива FIND направлена на разработку принципов организации того Интернета, кото будетслужитьнамчерез 15лет, поэтомуучастники этой инициативы стараются взглянуть на Инте^ свежим взглядом и, возможно, найти новые подходы к его организации.

Сегодняже Интернет представляет собой эффективную, но вместе с тем и непредсказуемую ср< полную разнообразных угроз и опасностей.

Большая группа угроз связана с несовершенством протоколов, в частности протоколов стека Т IP. Известно, что эти протоколы разрабатывались в то время, когда проблема обеспечения инф мационной безопасности еще не стояла на повестке дня. Сообщество пользователей Интерн представляло собой ограниченный круг заинтересованных в эффективной работе Сети специа стов, и уж, конечно, никто не покушался на ее работоспособность. Создаваемые в такой «тепл ной» атмосфере протоколы не содержали механизмов, позволяющих противостоять возможн (тогда только теоретически) атакам злоумышленников. Например, хотя в протоколах FTP и tel

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

иучебный характер.

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

Основные понятия информационной безопасности

829

Основные понятия информационной безопасности

Определение безопасной системы

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

Конфиденциальность (confidentiality) —это гарантия того, что секретные данные будут доступны только тем пользователям, которым этот доступ разрешен; такие пользователи называются легальными, или авторизованными.

Доступность (availability) —это гарантия того, что авторизованные пользователи всегда получат доступ к данным.

Целостность (integrity) —это гарантия сохранности данными правильных значений, которая обеспечивается запретом неавторизованным пользователям каким-либо образом изменять, модифицировать, разрушать или создавать данные.

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

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

Не менее важным в данном примере является и обеспечение доступности данных. За­ тратив немалые средства на создание и поддержание сервера в Интернете, предприятие вправе рассчитывать на отдачу: увеличение числа клиентов, количества продаж и т. д. Однако существует вероятность того, что злоумышленник предпримет атаку, в результате которой помещенные на сервер данные станут недоступными для тех, кому они предна­ значались. Примером таких злонамеренных действий может служить «бомбардировка» сервера пакетами, каждый из которых в соответствии с логикой работы соответствующего протокола вызывает тайм-аут сервера, что, в конечном счете, делает его недоступным для всех остальных запросов.

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

830

Глава 24. Сетевая безопасное

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

Легальность использования сетевых устройств важна не только постольку-поскольку oi влияет на безопасность данных. Устройства могут предоставлять различные услуги (ра печатка текстов, отправка факсов, доступ в Интернет, электронная почта и т. п.), незако ное потребление которых, наносящее материальный ущерб предприятию, также являете нарушением безопасности системы.

Угроза, атака, риск

Угроза - любое

.бвзогаснск;т>і

Атака — реализованнаяугроза.

.•Риск— qepcwfHOC инфоріійционйого

Угрозы могут исходить как от легальных пользователей сети, так и от внешних злоумьп ленников. В последние два года в статистике нарушений безопасности зафиксировг резкий сдвиг от внешних к внутренним угрозам. Примерно 2/3 от общего числа вс( наиболее серьезных инцидентов, связанных с безопасностью, составляют нарушения < стороны легальных пользователей сетей: сотрудников и клиентов предприятий, студенте имеющих доступ к сети учебного заведения и др. Вместе с тем внутренние атаки обычр наносят меньший ущерб, чем внешние.

Угрозы со стороны легальных пользователей делятся на:

умышленные;

неумышленные.

К умышленным угрозам относятся, например, мониторинг системы с целью получен* персональных данных других сотрудников (идентификаторов, паролей) или конфигураці онных параметров оборудования. Это может быть также злонамеренное получение достуї

кконфиденциальным данным, хранящимся на серверах и рабочих станциях сети «родногс предприятия с целью их похищения, искажения или уничтожения; прямое «вредител ство» —вывод из строя сетевого программного обеспечения и оборудования. Кроме тог

кумышленным угрозам относится нарушение персоналом правил, регламентируюіщ работу пользователей в сети предприятия: посещение запрещенных веб-сайтов, вынос; пределы предприятия съемных носителей, небрежное хранение паролей и другие подобнь нарушения режима. Однако не меньший материальный ущерб предприятию может бьп нанесен в результате Неумышленных нарушений персонала —ошибок, приводящих к т вреждению сетевых устройств, данных, программного обеспечения.

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

Типы и примеры атак

8 3 1

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

Как правило, атака предваряется сбором информации о системе (mapping), которая по могает не только эффективно спланировать атаку, но и скрыть все следы проникновение в систему. К полезной для хакера информации относятся типы операционных систем и при ложений*развернутых в сети, IP-адреса, номера портов клиентских частей приложений имена и пароли пользователей. Часть информации такого рода может быть получена путел простого общения с персоналом (это называют социальным инжинирингом), а часть - с помощью тех или иных программ. Например, определить IP-адреса можно с помощьи утилиты ping, задавая в качестве цели адреса из некоторого множества возможных адресов Если при очередном запуске программы ping пришел ответ, значит, произошло совпадени< заданного адреса с адресом узла в атакуемой сети.

Для подготовки и проведения атак могут использоваться либо специально разработанньи для этих целей программные средства, либо легальные программы «мирного» назначения Так, последний пример показывает, как легальная программа ping, которая создаваласі в качестве инструмента диагностики сети, может быть применена для подготовки атаки

При проведении атак злоумышленнику важно не только добиться своей цели, заклю чающейся в причинении ущерба атакуемому объекту, но и уничтожить все следы своеп участия в этом. Одним из основных приемов, используемых злоумышленниками длі «заметания следов», является подмена содержимого пакетов (spoofing). В частности, длз сокрытия места нахождения источника вредительских пакетов (например, при атаке отказ; в обслуживании) злоумышленник изменяет значение поля адреса отправителя в заголовка: пакетов. Поскольку адрес отправителя генерируется автоматически системным программ ным обеспечением, злоумышленник вносит изменения в соответствующие программны! модули так, чтобы они давали ему возможность отправлять со своего компьютера пакеть с любыми 1Р-адресами.

Типы и примеры атак

Атаки отказа в обслуживании

Атаки отказа в обслуживании (Denial of Service, DoS) направляются обычно на информа ционные серверы предприятия, функционирование которых является критически важныл условием для работоспособности всего предприятия. Чаще всего объектами DOS-атаі становятся основные веб-серверы, файловые и почтовые серверы предприятия, а такжі корневые серверы системы DNS.

Для проведения DoS-ajaK злоумышленники часто координируют «работу» нескольки: компьютеров (как правило, без ведома пользователей этих компьютеров). Говорят, чт< в таких случаях имеет место распределенная атака отказа в обслуживании (Distributee Denial of Service, DDoS). Злоумышленник, захватив управление над группой удаленны: компьютеров, «заставляет» их посылать пакеты в адрес узла-жертвы (рис. 24.1). Полу чившийся в результате мощный суммарный поток «затопляет» атакуемый компьютер

832

Глава 24. Сетевая безопасность

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

А теперь рассмотрим более конкретный пример проведения DoS-атаки, в которой исполь­ зуются особенности протокола TCP. Как мы уже обсуждали в главе 17, для установления логического соединения по протоколу TCP узлы должны обменяться тремя пакетами (рис. 24.2, а): сначала инициатор соединения посылает пакет с флагом SYN, на который сервер отвечает пакетом с установленными флагами ASK и SYN. Завершает процедуру пакет от узла-инициатора с флагом SYN.

Для выполнения атаки злоумышленник организует передачу на сервер массированного потока пакетов с флагом SYN, каждый из которых инициирует создание нового ТСРсоединения (рис. 24.2, б). Получив пакет с флагом SYN, сервер выделяет для нового соединения необходимые ресурсы и в полном соответствии с протоколом отвечает клиенту пакетом с флагами ASK и SYN. После этого, установив тайм-аут, он начинает ждать от кли­ ента завершающий пакет с флагом ASK, который, увы, так и не приходит. Аналогичным образом создается множество других «недоустановленных» соединений. В результате воз­ никает перегрузка сервера, все его ресурсы идут на поддержание множества соединений, процедуры установления которых остались незавершенными. В таком состоянии сервер уже не способен отвечать на запросы, посылаемые приложениями легальных пользовате­ лей, в результате злоумышленник достигает своей цели.

Типы и примеры атак

833

Компьютеры

 

Атакуемый

злоумышленника

 

компьютер

- N >

ASK, SYN

 

Тайм-аут

 

ASK, SYN

-

 

Тайм-аут

 

ASK, SYN

 

 

 

 

Тайм-аут

Рис. 24.2. Проведение DoS-атаки, в которой используются особенности протокола TCP: а — нормальный порядок установления TCP-соединения; б — DDoS-атака

за счет создания множества незакрытых ТСР-соединений

Подобный подход носит универсальный характер. Например, атака может быть осущест­ влена путем передачи уязвимому приложению потока запросов, синтаксически правиль­ ных, но специально сконструированных, так, чтобы вызвать перегрузку. Так, для некоторых версий веб-сервера Apache губительным оказывается поток запросов, каждый из которых содержит большое количество заголовков HTTP или символов «/».

Перехват и перенаправление трафика

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

Рассмотрим некоторые приемы, используемые сейчас (или в недалеком прошлом) при проведении атак данного типа. Для большинства из них уже разработаны средства противо­ действия, и приводимые здесь описания атак носят в основном учебный характер.

834

Глава 24. Сетевая безопасность

Простейший вариант перенаправления трафика в локальной сети может быть осущест­ влен путем отправки в сеть ложного ARP-omeema. (Оставим в стороне вопрос, насколько часто может возникнуть такая ситуация, когда злоумышленник заинтересован в пере­ хвате трафика собственной локальной сети.) В данном случае схема очевидна: получив широковещательный ARP-запрос относительно некоторого IP-адреса, злоумышленник посылает ложный ARP-ответ, в котором сообщается, что данному IP-адресу соответствует его собственный МАС-адрес.

Для перехвата и перенаправления трафика в локальной сети теоретически может также ис­ пользоваться протокол ICMP. В соответствии с данным протоколом ІСМР-сообщение о пе­ ренаправлении маршрута маршрутизатор по умолчанию посылает хосту непосредственно присоединенной локальной сети при отказе этого маршрута или в тех случаях, когда обна­ руживает, что для некоторого адреса назначения хост использует нерациональный маршрут. На рис. 24.3, а применяемый по умолчанию маршрутизатор R1, получив от хоста Н1 пакет, адресованный хосту Н2, определяет, что наилучший маршрут к хосту Н2 пролегает через другой маршрутизатор данной локальной сети, а именно через маршрутизатор R2. Марш­ рутизатор R1 отбрасывает полученный пакет и помещает его заголовок в ІСМР-сообщение о перенаправлении маршрута, которое посылает хосту Н1. В сообщении содержится IP-адрес альтернативного маршрутизатора R2, который хост теперь должен использовать, посылая данные хосту Н2. Хост Н1 вносит изменения в свою таблицу маршрутизации и с этого момента отправляет пакеты хосту Н2 по новому скорректированному маршруту. Для перехвата трафика, направляемого хостом Н1 хосту Н2, злоумышленник должен сформировать и послать хосту Н1 пакет, маскирующийся под ІСМР-сообщение о перена­ правлении маршрута (рис. 24.3, б). В этом сообщении содержится запрос о корректировке таблицы маршрутизации хоста Н1, так чтобы во всех пакетах с адресом 1Рн2 адресом сле­ дующего маршрутизатора стал адрес ІРна» я в л я ю щ и й с я адресом хоста-злоумышленника НА. Для того чтобы хост «поверил» этому сообщению, в поле IP-адреса отправителя должен быть помещен адрес маршрутизатора R1, являющегося маршрутизатором по умол­ чанию. Когда пакеты, передаваемые введенным в заблуждение хостом, начнут поступать на узел злоумышленника, он может либо захватывать и не передавать эти пакеты дальше, имитируя для поддержания диалога приложение, которому эти пакеты предназначались, либо организовать транзитную передачу данных по указанному адресу назначения 1Рн2Читая весь трафик между узлами Н ій Н2, злоумышленник получает все необходимую информацию для несанкционированного доступа к серверу Н2.

Еще одним способом перехвата трафика является использование ложных DNS-omeemoe (рис. 24.4). Задача злоумышленника состоит в получении доступа к корпоративному серверу. Для этого ему нужно завладеть именем и паролем авторизованного пользователя корпоративной сети. Эту информацию он решает получить путем ответвления потока данных, которые корпоративный клиент посылает корпоративному серверу. Злоумыш­ ленник знает, что клиент обращается к серверу, указывая его символьное DNS-имя www. example.com. Известно ему также, что перед тем как отослать пакет серверу, программное обеспечение клиентской машины направляет запрос DNS-серверу, чтобы узнать, какой IP-адрес соответствует этому имени.

Цель злоумышленника —опередить ответ DNS-сервера и навязать клиенту свой вариант ответа, в котором вместо IP-адреса корпоративного сервера (в примере 193.25.34.125) злоумышленник указывает IP-адрес атакующего хоста (203.13.1.123). На пути реализации этого плана имеется несколько серьезных препятствий.

Типы и примеры атак

835

Исходная таблица

ЮМР-сообщение

маршрутизации хоста Н1

маршрутизатора R1

Измененная таблица

Лож ое ЮМР-сообщение

маршрутизации хоста Н1

атакующего хоста НА

Default

R1

Type

Code

ChSum

IP*

IP*

Адрес атакующего хоста НА

 

 

Заголовок пакета

t

 

с адресом назначения Н2

Исходный

JПеренаправленный

 

 

//'маршрут

 

 

 

маршрут /

 

 

 

 

Рис. 24.3. Перенаправление маршрута с помощью протокола ICMP:а—сообщение о более рациональном маршруте хосту Н2 посылает маршрутизатор R1, применяемый по умолчанию; б сообщение о перенаправлении маршрута на себя направляетатакующий хост НА

836

Глава 24. Сетевая безопасность

Рис. 24.4. Схема перенаправления трафика путем использования ложных DNS-ответов

Прежде всего необходимо задержать ответ DNS-сервера, для этого сервер, например, мо­ жет быть подвергнут DoS-атаке. Другая проблема связана с определением номера порта клиента DNS, который необходимо указать в заголовке пакета, чтобы данные дошли до приложения. И если серверная часть DNS имеет постоянно закрепленный за ней так на­ зываемый «хорошо известный» номер 53, то клиентская часть протокола DNS получает номер порта динамически при запуске, причем операционная система выбирает его из достаточно широкого диапазона.

Заметим, что протокол DNS может использовать для передачи своих сообщений как про­ токол UDP, так и протокол TCP, в зависимости от того, как он будет сконфигурирован администратором. Поскольку протокол TCP устанавливает логическое соединение с от­ слеживанием номеров посланных и принятых байтов, «вклиниться» в диалог клиента и сервера в этом случае гораздо сложнее, чем в случае, когда используется дейтаграммный протокол UDP.

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

Типы и примеры атак

837

получает в свое распоряжение имя и пароль легального пользователя, а с ними и доступ к корпоративному серверу.

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

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

Эти программы могут проникать на атакуемые компьютеры разными путями. Самый про­ стой из них —«самодоставка», когда пользователь загружает файлы из непроверенных ис­ точников (съемных носителей или веб-сайтов) либо беспечно открывает подозрительный файл, пришедший к нему по электронной почте. Существуют и более сложные предста­ вители вредоносных программ, обладающие собственными механизмами «размножения», копии таких программ распространяются по компьютерам сети без участия пользователей.

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

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

Троянские программы

Троянские программы, или трояны (trojan), — это разновидность вредоносных программ, ко­ торые наносят ущерб системе, маскируясь под какие-либо полезные приложения.

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

Однако суть троянской программы и в том и в другом случаях остается вредительской: она может уничтожать или искажать информацию на диске, передавать данные (напри­ мер, пароли) с «зараженного» компьютера на удаленный компьютер хакера, приводить

838

Глава 24. Сетевая безопасность

внеработоспособноесостояние установленное на атакованном компьютере программное обеспечение, участвовать в проведении DoS-атак на другие удаленные компьютеры. Так, одна из известных троянских программ AIDS TROJAN DISK7, разосланная нескольким тысячам исследовательских организаций на дискете, при запуске перемешивала символы

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

Троянские программы могут быть отнесены к самому простому по реализации виду вре­ доносных программ.

Сетевые черви

 

чедои(удат) — это программы, способные к самостоятельномураспространению

’ї щ

yltfo©|ія£едалахлокальнойдоти,атакжепоглобальнымсвязям, перемещаясь

'отбдобгв

КІ^Рбму безвсякого участия вэтомпроцессе пользователейсети.

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

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

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

Червь состоит из двух основных функциональных компонентов: атакующего блока и блока поиска целей.

Атакующий блок состоит из нескольких модулей (векторов атаки), каждый из которых рассчитан на поражение конкретного типа уязвимости. Этот блок открывает «входную дверь» атакуемого хоста и передает через нее свою копию.

Типы и примеры атак

839

□ Б л о к п о и с к а ц е л е й ( л о ксобираетт о р )

информацию об узлах сети, а затем на осно­

вании этой информации определяет, какие из исследованных узлов обладают теми уязвимостями, для которых хакер имеет средства атаки.

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

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

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

Рис. 24.5. Экспансия червя в сети

840

Глава 24. Сетевая безопасность

Локатор идентифицирует цели по адресам электронной почты, IP-адресам, характеристи­ кам установленных на хостах операционных систем, номерам портов, типам и версиям приложений.

Для сбора информации локатор может предпринимать действия, связанные как с поисками интересующих данных на захваченном им в данный момент хосте, так и путем зондиро­ вания сетевого окружения. Простейший способ получить данные локально —прочитать файл, содержащий адресную книгу клиента электронной почты1. Помимо почтовых адре­ сов, локатор может найти на узле базирования другие источники информации, такие как таблицы конфигурационных параметров сетевых интерфейсов, ARP-таблицы и таблицы маршрутизации. Зная IP-адреса хоста базирования и шлюзов, локатор достаточно просто может определить IP-адреса других узлов этой сети. Для идентификации узлов локатор может также использовать ІСМР-сообщения или запросы ping, указывая в качестве адресов назначения все возможные IP-адреса. Для определения того, какие приложения работают на том или ином хосте, локатор сканирует различные хорошо известные номера TCP- и UDP-портов. Определив тип приложения, локатор пытается получить более де­ тальные характеристики этого приложения.

Например, пусть некоторая программа-червь имеет в своем арсенале средства для атаки на некоторые версии веб-сервера Apache. Для поиска потенциальных жертв локатор этого червя зондирует узлы сети, посылая умышленно ошибочные запросы к веб-серверу:

GET / HTTP/ 1 . l \ r \ n \ r \ n

Узел, на котором установлен сервер Apache, отвечает на такой запрос так, как и рассчиты­ вал разработчик червя, то есть сообщением об ошибке, например, это может быть сообще­ ние такого вида:

НТТР/1.1 400 Bad Request

 

Date: Mon,

23

Feb

2004

23: 43:4 2 GMT

S e rv e r : A pa c h e /1 . 3 . 1 9

(UNIX) ( RedHat/Linux) m o d _ s s l / 2 . 8 . 1

0penSSL/0. 9 . 6

DAV/1. 0 . 2

P H P / 4 . 0 . 4 p l l mod _ per l/ 1 . 24_01

C onnection:

c l o s e

 

 

 

T r a n s f e r - E n c o d i n g :

chunked

C ontent - Type:

t e x t / h t m l ;

c h a r s e t = i s o - 8 8 5 9 - 1

Из этого ответа локатор узнает о том, что на узле установлен веб-сервер Apache версии

1.3.19.Для червя этой информации может быть достаточно, чтобы внести данный узел

вчисло целей.

Собрав данные об узлах сети, локатор анализирует их подобно тому, как это делает хакер при поиске уязвимых узлов. Для атаки выбираются узлы, удовлетворяющие некоторым условиям, которые говорят о том, что данный узел возможно обладает уязвимостями нуж­ ного типа (для них еI атакующем блоке есть средства нападения). Понятно, что при таком «предположительном» способе отбора целей не всякая предпринятая атака обязательно приводит к успеху. Неудача рассматривается атакующим блоком червя как штатная си­ туация, он просто сворачивает все свои действия, направленные на не поддавшийся атаке узел, и переходит к атаке следующей цели из списка, подготовленного локатором.

Рассмотрим более подробно, как работает атакующий блок червя. Среди механизмов, по­ зволяющих червю передать свою копию на удаленный узел, наиболее длинную историю имеет уязвимость о ш и б к ипереполнения б у ф е р а Этот. достаточно распространенный

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

Типы и примеры атак

841

вид уязвимости связан с неправильной работой некоторых программ, когда у них пере­ полняется буфер.

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

Для правильной работы программы очень важно, чтобы вводимые данные (в нашем при­ мере —запрос клиента) всегда укладывались в границы отведенного для них буфера. В противном случае эти данные записываются поверх команды возврата из процедуры. Аэто, в свою очередь, означает, что процедура не сможет завершиться корректно: при пере­ даче управления на адрес команды возврата процессор будет интерпретировать в качестве команды то значение из запроса, которое записано поверх команды возврата. Если такого рода переполнение возникло в результате случайной ошибки, то маловероятно, что зна­ чение, записанное поверх команды возврата, окажется каким-либо осмысленным кодом. Иное дело, если это переполнение было специально инициировано злоумышленником.

Код приложения

Код приложения

JMP <адрес возврата из процедуры>

JMP <адрес кода червя>

I..W

W

Код червя

Буфер

а

б

Рис. 24.6. Схема атаки на уязвимость ошибки переполнения буфера:а—структура адресного пространства программы до поступления злонамеренного запроса;б после поступления злонамеренного запроса

Злоумышленник конструирует запрос так, чтобы сервер прореагировал на него предска­ зуемым и желательным для хакера образом. Для этого хакер посылает нестандартный запрос, размер которого превышает размер буфера (рис. 24.6,6). При этом среди данных запроса в том месте, которое приходится как раз на команду возврата, злоумышленник помещает команду перехода на вредоносный код червя. В простейшем случае таким вредоносным кодом может быть совсем небольшая программа, переданная в том же запросе.

842

Глава 24. Сетевая безопасность

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

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

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

Помимо локатора и атакующего блока червь может включать некоторые дополнительные функциональные компоненты.

□ Б л о к у д а л е н нуправленияо г о и к о м м у н и к а ц служитй для передачи сетевым червям команд от их создателя, а также для взаимодействия червей между собой. Такая воз­ можность позволяет хакеру координировать работу червей для организации распреде­ ленных атак отказа в обслуживании. Сетевые черви могут быть также использованы для организации параллельных вычислений при решении таких требующих большого объема вычислений задач, как, например, подбор секретного ключа шифрования или пароля.

Блок управления жизненным циклом может ограничивать работу червя определенным периодом времени.

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

Вирусы

программный фрагмент, который может внедряться в другие

Стремление злоумышленника сделать код вируса как можно более коротким часто огра­ ничивает логику работы вируса очень простыми решениями, которые, однако, иногда при­ водят к весьма разрушительным последствиям. Так, например, один из реально существо­ вавших вирусов, состоящий всего из 15 (!) байтов, записывал свою копию поверх других файлов в начало каждого сектора диска, в результате система очень быстро терпела крах. Некоторым утешением в таком и подобных ему случаях является то, ч^го одновременно с крахом компьютера прекращает свое существование и вирус.

Вирус может внедрять свои фрагменты в разные типы файлов, в том числе в файлы ис­ полняемых программ (рис. 24.7). При этом возможны самые разные варианты: замещение кода, когда размер инфицированного файла не меняется, вставка вирусного кода целиком в начало или конец исходной программы, замена фрагментов программного кода фраг-

Типы и примеры атак

843

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

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

Замещение с изменением

Наложение с сохранением

Добавление в конец

размера инфицированного

размера инфицированного

программы

файла

файла

 

Добавление в начало

Добавление с перестановкой

Фрагментарное добавление

программы

частей кода программы

вируса в Тело программы

Рис. 24.7. Различные варианты расположения кода вируса в зараженных файлах

844

Глава 24. Сетевая безопасность

Шпионские программы

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

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

Заметим, что в качестве шпионских программ могут использоваться не только созданные специально для этих целей вредоносные программы, но и программы легального назначе­ ния. Так, опасным средством шпионажа могут стать легальные системы мониторинга сети1, такие, например, как популярные сетевые мониторы Wireshark или Microsoft Network Monitor. Исходное назначение этих программ состоит в том, чтобы дать администратору сети возможность следить за сетевым трафиком, в частности захватывать пакеты, ис­ пользуя механизм фильтрации, просматривать их содержимое, собирать статистику по загрузке устройств. В руках же злоумышленника такая программа превращается в мощный инструмент «взлома» сети, который позволяет перехватывать пакеты с паролями и другой секретной информацией. Они также позволяют путем сканирования TCP- и UDP-портов определять типы приложений, работающих в сети, что является очень важной информа­ цией для подготовки атаки.

ПРИМЕЧАНИЕ---------------------------------------------------------------------------------------------------

Практически все сетевые мониторы построены в архитектуре клиент-сервер. Клиенты, обычно называемые агентами, захватывают и, если необходимо, фильтруют трафик, а затем передают его серверной части монитора для дальнейшей обработки. Серверная часть монитора может работать как в локальной сети, так и на удаленном компьютере, однако клиентские части всегда устанавли­ ваются на компьютерах в тех сегментах сети, в которых протекает интересующий администратора (или злоумышленника) трафик. Необходимым условием для работы агентов монитора является установка сетевого адаптера компьютера, на котором запущен этот агент, в неразборчивый режим приема (см. раздел «МАС-адреса» в главе 12). Поэтому одним из способов, пресекающих несанк­ ционированный захват и анализ сетевого трафика, является отслеживание всех интерфейсов сети, работающих в неразборчивом режиме приема.

Спам

Спам2 —этоатака,выполненная путем злоупотребления возможностями электронной почты.

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

1 Программные системы, предназначенные для анализа сетевого трафика, называют также сниффе­ рами (sniffers от английского sniff — нюхать).

2 Спам получил свое название по имени реально существующих консервов Spam, которые стали темой одного из эпизодов популярного английского сериала. В этом эпизоде посетители кафе страдают оттого, что им постоянно навязывают блюда, в которых присутствуют эти консервы.

Методы обеспечения информационной безопасности

845

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

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

Методы обеспечения информационной безопасности

- этф

wostb, тгїр&вїіентя надости-

 

**д^стуйности)информа-

 

жсмягчениепоследствийлюбых

і

явиться нанесение

Классификация методов защиты

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

Однако помимо технических средств, не меньшее, а иногда и большее влияние на безопас­ ность системы оказывают средства, построенные на качественно другой основе. К таким «не техническим» мерам защиты относятся соответствующие сфера законодательства,

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

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

1 См. далее раздел «Сетевые экраны».

846

Глава 24. Сетевая безопасность

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

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

Политика безопасности

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

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

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

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

Используя многоуровневую систему защиты, важно обеспечивать баланс надежности за­ щиты всех уровней. Если в сети все сообщения шифруются, но ключи легкодоступны, то эффект от шифрования нулевой. Если внешний трафик сети, подключенной к Интернету, проходит через мощный сетевой экран, но пользователи имеют возможность связываться с узлами Интернета по коммутируемым линиям через локально установленные модемы, то деньги (как правило, немалые), потраченные на сетевой экран, можно считать выбро­ шенными на ветер.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]