В данной статье рассматриваются проблемы обеспечения безопасности ресурсов глобальной сети Internet. Рассмотрение начинается с построения моделей безопасности информационных технологий и безопасности сетевого доступа, определяющих такие основополагающие термины, как: "защищаемый ресурс", "сетевая среда", "угроза", "уязвимость", "риск" и "средство защиты". Далее проводится классификация основных сетевых ресурсов по требованиям защиты. Для каждого класса сетевых ресурсов указывают специфичные угрозы и методы защиты от них.
В следующем разделе рассматриваются типичные уязвимые места сетевых ресурсов: "дыры" в сетевых ОС, слабая аутентификация, отсутствие проверки "активных" данных, неразвитые средства мониторинга и управления. Рассмотрение сопровождается указанием возможных атак с использованием конкретных уязвимостей, а так же способов ликвидации последних.
И, наконец, в заключительном разделе проводится анализ распространенных видов атак на сетевые ресурсы. Атаки разбиваются на 4 класса, исходя из вида той угрозы, которую они представляют: отказ в обслуживании, попытка несанкционированного доступа (НСД), предварительное зондирование, и "подозрительная" сетевая активность.
Модель информационной безопасности - это модель, поясняющая суть терминов "информационная безопасность", "безопасность информационных технологий (ИТ)", "защита информационных ресурсов" и "защита ресурсов ИТ". Данная модель должна быть компактной, недвусмысленной и интуитивно понятной. Модель должна, по крайней мере, связывать понятия, входящие в термины, которые она поясняет, а именно: ресурс ИТ и защита/безопасность. Кроме того, понятие "ресурс" должно быть центральным, поскольку ресурс ИТ (или их совокупность) как раз и является объектом защиты. Модель приведена на рисунке 1.
Кроме понятий "ресурс ИТ" и "безопасность", данная модель вводит (связывает) еще и понятия "уязвимость", "окружение" или "злоумышленник", "угроза", "риск", и, естественно, "средство защиты (СЗ)" и "остаточный риск". Все указанные понятия описывают очень абстрактные сущности, однако, с каждой такой сущностью связаны реальные объекты, и это соответствие вполне однозначно.
В общем, данная модель вполне адекватна рассматриваемой проблеме, и вполне достаточно перечисленных выше терминов и понятий. Однако, данная модель явно не обозначает специфику сетевого окружения. Этот недостаток ликвидирует следующая модель - модель сетевой безопасности ИТ, являющаяся частным случае рассмотренной выше модели и детализирующая понятие безопасности ИТ. Данная модель приведена на рисунке 2.
В следующем разделе подробно рассматриваются классы объектов сети, соответствующих терминам "ресурс", "достояние" и "ценности", а уязвимости и угрозы детально будут рассмотрены в двух заключительных разделах.
В общем случае, под информационными ресурсами организации понимается вся совокупность вычислительной техники и коммуникационного оборудования, которой владеет организация, а так же совокупность применяемых программ и обрабатываемых данных, и представляющих ценность для организации. К информационным ресурсам также относят носители информации, как электронные, так и бумажные.
Однако, в контексте сетевой безопасности целесообразно рассматривать защиту от вторжения на средства вычислительной техники (СВТ) организации извне через коммуникационное оборудование, объединив при этом вычислительную технику с функционирующем на ней ПО и обрабатываемыми на ней данными.
Как правило, в организации используются самые разнообразные средства вычислительной техники разных производителей, с разными функциональными возможностями и, наконец, на функционирование разных средств вычислительной техники накладываются разные требования, в т.ч. требования безопасности. Кроме того, обычно средства вычислительной техники физически распределены в пределах (а иногда и за пределами) организации. Можно выделить следующие классы СВТ: рабочая станция, сервер поддержки, информационный сервер и коммуникационное оборудование. В пределах каждого класса цели функционирования вычислительной системы и требования к ней практически совпадают, а значит, совпадают и средства защиты, которые могут применяться для эффективного снижения риска вторжения злоумышленника. Данная классификация введена для удобства рассмотрения проблем сетевой безопасности используемых СВТ.
Рассмотрим указанные классы СВТ более подробно, акцентируя внимание на угрозах безопасности и методах защиты, специфичных для каждого конкретного класса.
Рабочая станция (workstation) - средство вычислительной техники, предназначенное для непосредственной работы персонала организации. Конструктивно рабочая станция представляет собой персональный компьютер (ПК), обычно на базе процессора Intel и с операционной системой Windows 98, NT Workstation или Unix. Количество рабочих станций обычно пропорционально количеству персонала в организации и относительно велико. Администрирование рабочих станций производится не централизованно администратором, а локально - сами пользователями.
С точки зрения сетевого взаимодействия рабочая станция не предоставляет никаких сервисов, но она активно использует сервисы предоставляемые серверами поддержки и информационными серверами организации, а так же, возможно, предоставляемые серверами сети Интернет.
Уровень информационной безопасности рабочей станции - минимальный и не является приемлемым при подключении к глобальным сетям. Рабочая станция (а точнее установленная ОС и другое системное ПО) имеет большое количество уязвимых мест (ошибок в ПО), в том числе и в реализации стека TCP/IP. Существует большое число сетевых угроз или атак, направленных как на выведение рабочей станции из строя ("зависание"), так и на чтение и изменение конфиденциальной информации передаваемой по сети или хранимой и обрабатываемой на самом ПК. При этом основу этих угроз составляют непосредственная доступность для рабочей станции всей глобальной сети и, наоборот, доступность рабочей станции извне.
Значительно повысить уровень защиты рабочей станции можно путем установки межсетевого экрана (см. "Коммуникационное оборудование") между рабочей станцией (или сегментом рабочих станций) и внешней глобальной сетью. С его помощью можно отслеживать и различать направление соединений всех уровней модели OSI, проходящих через межсетевой экран, фильтровать и протоколировать все исходящие от рабочей станции соединения, отвергать все неразрешенные соединения. Все входящие соединения следует протоколировать и блокировать, определять попытки сетевого вторжения с уведомлением об этом администратора сети, а в случае вторжения - автоматически принимать действия по противодействию атаке. Кроме того, очень часто необходимо сокрытие (или маскировка) сетевых адресов рабочих станций как для обеспечения более качественной защиты, так и для повышения гибкости в доступе к ресурсам глобальной сети (случай нехватки официальных сетевых адресов, выделенных организации). Последняя проблема решается путем трансляции сетевых адресов (network address translation - NAT).
Сервер поддержки (supporting server) - специальное средство вычислительной техники, предназначенное для нормального функционирования рабочих станций и других средств, и решения повседневных задач организации. Конструктивно сервер поддержки может представлять собой как персональный компьютер, так и мощный многопроцессорный комплекс. Установленное программное обеспечение и ОС также могут быть самыми различными: Windows NT Server, Unix, Novell NetWare и т.д. Круг решаемых задач - это хранение больших массивов данных и программ (сетевые файловые системы (NFS) и базы данных), осуществление ресурсоемких вычислений с разделением времени, кэширование информационных объектов сети Интернет для ускорения доступа (proxy caching), осуществление доставки электронной почты (e-mail delivering), трансляция символьных адресов компьютеров в их цифровые эквиваленты (DNS), сбор статистики и прочие приложения типа клиент-сервер. Количество серверов поддержки в организации обычно соизмеримо с количеством решаемых задач, указанных выше. Серверы поддержки обычно имеют минимальные средства человеко-машинного интерфейса и администрируются удаленно с рабочей станции. Обычно в организации есть персонал, ответственный за администрирование серверов поддержки.
С точки зрения сетевого взаимодействия каждый сервер поддержки предоставляет услуги исходя из решаемых им задач, причем услуги могут предоставляться и внешней сети (например, доставка почты), хотя это, скорее всего, исключение. Аналогично, каждый сервер поддержки может пользоваться услугами других серверов поддержки, информационных серверов и серверов внешней сети (как, например, при трансляции символьных адресов компьютеров) исходя из решаемых им задач.
Уровень информационной безопасности серверов поддержки обычно значительно выше, чем рабочих станций. Однако, и требования к защите у серверов поддержки выше. Если не используется специальная защищенная версия ОС, то у сервера поддержки также имеется большое количество уязвимых мест, в т.ч. и в реализации стека TCP/IP. Существует большое число сетевых атак, направленных на замедление работы сервера, на выведение его из строя ("зависание" или перезагрузка), на получение несанкционированного доступа (НСД) к конфиденциальной информации, передаваемой по сети или хранимой/обрабатываемой на самом сервере. Возможны атаки подготовительного типа, целью которых является сбор информации о других информационных ресурсах организации. Особую опасность представляют атаки, в результате которых злоумышленник получает несанкционированный доступ к управлению СВТ с большими полномочиями (root-privileges unauthorized access). При этом основу всех этих угроз составляет непосредственная доступность сервера из глобальной сети.
Установка межсетевого экрана, отделяющего локальную сеть от внешней глобальной сети, позволила бы значительно усилить защиту серверов поддержки. Более хорошим является решение о выделении отдельного сегмента сети специально для всех серверов поддержки, и развязки данного сегмента от других сегментов сети организации и внешней сети с помощью межсетевого экрана, т.е. организация так называемой "демилитаризованной" зоны (demilitarized zone - DMZ). В такой конфигурации можно отслеживать и различать направление соединений всех уровней модели OSI, проходящих через межсетевой экран, фильтровать и протоколировать все исходящие от сервера поддержки и входящие в него соединения, отвергая все неразрешенные соединения, блокируя все известные сетевые атаки и извещая о них администратора. Особенно тщательно следует фильтровать команды прикладного протокола, семантика которых заключается в модификации конфиденциальной информации или получении пользователем больших привилегий. Те серверы, которые не предоставляют никаких сервисов внешней сети и не пользуются сервисами, предоставляемыми внешней сетью, возможно сделать недостижимыми и невидимыми извне, путем блокирования любого трафика между данным сервером и внешней сетью, и исключения записей об адресе данного сервера во внешнем DNS. Кроме того, очень часто возникает потребность в безопасном доступе к серверу поддержки от рабочей станции, находящейся во внешней сети. Последняя задача решается путем прозрачного туннелирования стандартного трафика между сервером и удаленной рабочей станцией с шифрование всех передаваемых данных и команд, с применением усиленных механизмов идентификации и аутентификации (подтверждения подлинности) рабочей станции, с которой осуществляется удаленный доступ.
Информационный сервер (public informational server) - средство вычислительной техники, предназначенное для предоставления организацией информационных услуг всем пользователям глобальной сети. Конструктивно он представляет собой достаточно мощный компьютер, способный обслуживать запросы пользователей в реальном масштабе времени, с установленной ОС либо Unix, либо Windows NT Server. По типу предоставляемых услуг все информационные серверы делятся на HTTP-, FTP-, DNS- и прочие серверы. Следует отметить, что услуги DNS-сервера - это предоставление информации (по запросам из внешней сети) о наличии тех или иных информационных ресурсов в сети организации и об их сетевых адресах, т.е. создание некоторой формы "присутствия" организации в сети Интернет. Обычно в организации существует только один информационный сервер, на котором одновременно исполняются приложения, предоставляющие все вышеуказанные услуги. Следует отметить, что в последнее время все чаще применяется техника зеркального отображения (mirroring) информационного сервера, т.е. использование нескольких одинаковых серверов, исполняющих роль одного "виртуального" информационного сервера, с целью увеличения суммарной скорости обслуживания клиентских запросов. Информационный сервер обычно имеет минимальные средства человеко-машинного интерфейса и администрируется удаленно с рабочей станции. Как правило, в организации есть персонал, ответственный за администрирование информационного сервера.
С точки зрения сетевого взаимодействия информационный сервер не пользуется услугами, предоставляемыми другими серверами, а только предоставляет вышеперечисленные информационные услуги, причем основные потребители данных услуг располагаются в глобальной сети, и, в принципе, потребителем услуг может стать любой пользователь сети Интернет.
Уровень информационной безопасности информационного сервера - не столь критичный параметр по сравнению с безопасностью серверов поддержки, тем не менее, от уровня безопасности непосредственно зависит качество предоставляемых информационных услуг, а, следовательно, зависит и престиж организации. Уровень безопасности, предоставляемый ОС и программами, установленными на информационном сервере, обычно является недостаточным. Если ОС специально не защищена, то в ней существует большое количество уязвимых мест. Аналогично, существует и большое число сетевых атак, направленных на замедление работы сервера, на выведение его из строя ("зависание" или перезагрузка), на получение прав на изменение (и компрометацию) информации, хранимой на сервере. Опасны также атаки подготовительного типа, целью которых является получение несанкционированного доступа к управлению информационным сервером для дальнейшего осуществления атак с данного сервера на другие ресурсы сети организации.
Наиболее эффективной защиты информационного сервера можно добиться с помощью межсетевого экрана. Есть несколько вариантов:
В любом случае, с помощью межсетевого экрана, защищающего информационный сервер, можно отслеживать и различать направление соединений всех уровней модели OSI, проходящих через межсетевой экран, фильтровать и протоколировать все входящие в сервер соединения, отвергая все неразрешенные соединения, блокируя все известные сетевые атаки и извещая о них администратора.
Коммуникационное оборудование (communication equipment) - специальное оборудование, предназначенное для физической связи различных средств вычислительной техники между собой и с глобальной сетью, для комплексной информационной защиты компонентов локальной сети, а также для управления и маршрутизации трафика между различными СВТ, и между СВТ и глобальной сетью. Класс коммуникационного оборудования содержит: кабели (cables), активные повторители (active repeaters), концентраторы (hubs) и коммутаторы (switches), маршрутизаторы (routers), модемы (modems), межсетевые экраны (firewalls) и т.п. С точки зрения сетевой безопасности и атак из внешней сети, следует обратить особое внимание на маршрутизаторы, модемы и межсетевые экраны.
Маршрутизатор - главный элемент при организации соединений на сетевом уровне модели OSI, направляющий пакеты данных, проходящие через него, в нужную сторону. Поскольку все пакеты из внешней сети обязательно проходят через маршрутизатор, то от возможностей по фильтрации и блокированию пакетов и соединений напрямую зависит защищенность внутренней сети организации от атак злоумышленников из глобальной сети. Поэтому, многие существующие маршрутизаторы выполняют те или иные функции межсетевых экранов, начиная от простой фильтрации пакетов по адресам их заголовков и кончая контекстной инспекцией информационных потоков. Следует отметить, что сами маршрутизаторы также могут стать объектом сетевой атаки.
Модем - основное средство для связи вычислительной техники посредством коммутируемых телефонных линий. Модем может присутствовать на самом компьютере или находиться в модемном пуле (modem pool), т.е. на специально предназначенном для этого защищенном сегменте сети. С точки зрения безопасности, вариант с модемным пулом гораздо лучше, т.к. в противном случае у злоумышленника появляется возможность легкой атаки компьютера с модемом посредством коммутируемой телефонной сети(в обход межсетевого экрана, если он присутствует в сети) и использование атакованного компьютера как базы для дальнейших атак на другие компьютеры внутренней сети организации.
Межсетевой экран - средство разделения (экранирования) компьютерных сетей в целях защиты. Следует отметить, что часто и сами межсетевые экраны содержат уязвимости и могут стать объектом сетевых атак злоумышленников. Поэтому, обычно используется комбинация межсетевых экранов разных типов, дающая максимальную комплексную защиту. Кроме того, в последнее время межсетевые экраны все чаще используются для организации так называемых виртуальных частных сетей (virtual private networks - VPN) - "прозрачного" и безопасного объединения нескольких физически удаленных сетей организации (филиалов организации) посредством глобальной сети. "Прозрачность" и безопасность такого объединения достигается путем туннелирования стандартного трафика сети организации с шифрованием всех данных предаваемых пакетов. Функции шифрования возлагаются на межсетевые экраны, расположенные на границах стыковки каждой из виртуально объединяемых сетей с глобальной сетью, а туннелированный трафик передается по глобальной сети между этими межсетевыми экранами. Таким образом, достигается защита от чтения и модификации злоумышленником во внешней сети конфиденциальной информации между двумя физически разрозненными локальными сетями одной организации.
Теперь рассмотрим уязвимые места, наиболее характерные для описанных выше сетевых ресурсов организации, подключенных к глобальной сети Интернет. Параллельно будут излагаться возможные способы "закрытия" (ликвидации) этих уязвимостей.
Самым главным уязвимым местом СВТ, существующим на сегодняшний день, является наличие так называемых "дыр" в сетевых ОС - недостатков и ошибок реализации примитивов безопасности, заложенных в стандартную поставку операционной системы и реализацию стека протоколов TCP/IP. В связи с наличием таких "дыр" существует огромное число сетевых атак, направленных на реализацию угроз, связанных с выведением системы из строя (отказ в обслуживании), получения неавторизованного доступа по управлению конкретным СВТ или доступа к чтению и модификации конфиденциальных данных злоумышленником.
Для ликвидации указанных "дыр" к каждой версии ОС через некоторое время после ее выпуска появляются программы-заплатки (patches), однако, как правило, они сильно запаздывают по времени, и к моменту выхода очередной "заплатки" для ОС уже существует большое число атак, использующие уязвимость, которая ликвидируется данной "заплаткой".
Слабая аутентификация (weak authentication) - недостаток системы, программы или протокола, реализующих идентификацию и аутентификацию (т.е. подтверждение подлинности) удаленной системы и/или пользователя, причем слабость означает возможность легкой фальсификации результатов идентификации и аутентификации (identification and authentication - I&A) злоумышленником и выдачи себя за легального пользователя системы с целью получения несанкционированного доступа. Слабой аутентификацией обладают почти все стандартные протоколы прикладного уровня: ftp, telnet, rsh, rexec и т.п. - в них аутентификация пользователя производится с помощью парольной фразы условно-постоянного действия, которая передается по сети в незашифрованном виде, а идентификация и аутентификация СВТ осуществляется с только (!) помощью IP-адреса.
Внутри организации вполне допускается использование программ и протоколов со слабой аутентификацией, поскольку основные сетевые атаки осуществляются извне. Если необходим доступ с удаленной рабочей станции из внешней сети к серверу организации, то можно использовать какой-нибудь протокол с сильной аутентификацией (strong authentication): SSH, SSL, S/MIME. В таком случае, необходимо, чтобы данный протокол поддерживался сервером, к которому производится обращение из глобальной сети.
При использовании межсетевого экрана, возможно возложение задачи надежной аутентификации и поддержки протоколов с сильной аутентификацией непосредственно на сам межсетевой экран. В этом случае отпадает необходимость в каком-либо усилении стандартных средств идентификации и аутентификации, входящих в состав программ, функционирующих на серверах, защищаемых данным межсетевым экраном, и отвечающих за поддержку соответствующих протоколов прикладного уровня.
Внутри данных, которые передаются по компьютерной сети, может содержаться исполняемый код, записанный в некотором формате: exe, JavaScript, ActiveX, shell script, MSWord document и т.п. Такие данные называются "активными". Указанный исполняемый код может быть "враждебным" (malicious software), т.е. содержать вирусы, программные "закладки" и т.п. В принципе, если не принимать специальных мер, злоумышленник, написав искусным образом указанный исполняемый код, может получить практически неограниченный удаленный доступ на том компьютере, на котором будут получены "активные" данные, содержащие написанный злоумышленником код.
В качестве упомянутых специальных мер могут использоваться регулярные проверки каждого компьютера антивирусным пакетом, отключение действия макросов в документах MSWord, отключение исполнения апплетов JavaScript и модулей ActiveX, исполнение Java-программ в безопасной среде.
Другой способ защиты (реализованный во многих межсетевых экранах экспертного типа) от такой угрозы - инспектирование получаемых из компьютерной сети "активных" данных в реальном масштабе времени, что дает гораздо более высокий уровень защиты от проникновения вирусов и установки программных "закладок" злоумышленником по сравнению с описанными выше мерами. Под инспектированием (inspection) данных в данном случае понимается контроль (например, антивирусный) получаемых/пересылаемых данных с целью блокирования "враждебного" кода, содержащегося в них.
Еще одним уязвимым местом используемых СВТ является неразвитость инструментов мониторинга и контроля безопасности (security monitoring and control). Обычно штатные средства ОС позволяют только просмотреть активные в данный момент задачи на конкретном компьютере, а также активные в данный момент соединения с данным компьютером. Конечно, существуют средства ОС протоколирующие все нештатные ситуации (unusual situations), происходящие на компьютере, однако набор контролируемых нештатных ситуаций обычно невелик. Практически полностью отсутствуют средства удаленной сигнализации (например, по электронной почте или на пейджер) администратору системы о происходящих нештатных ситуациях. Средства безопасного удаленного управления и мониторинга также обычно минимальны.
Как правило, отсутствует хороший интуитивно-понятный графический интерфейс с пользователем (GUI), позволяющий легко осуществлять наиболее часто выполняемые операции управления и мониторинга безопасности, существенно снижающий вероятность ошибки администратора.
Данный раздел содержит список всех наиболее известных и часто встречающихся сетевых атак различного уровня. Атаки разбиты на 4 класса, исходя из вида той угрозы, которую они представляют:
Каждая атака в списке сопровождается описанием условий и сути осуществления атаки, а так же оценкой ее серьезности и последствий.
Отказ в обслуживании (denial of service) - это любое действие или последовательность действий, которая приводит любую часть атакуемой системы к выходу из строя, при котором система перестает выполнять свои функции. Причиной может быть несанкционированный доступ, задержка в обслуживании и т.д.
Попытка НСД (unauthorized access attempt) представляет собой любое действие или последовательность действий, которая приводит к попытке чтения файлов или выполнения команд в обход установленной политики безопасности. Также включает попытки злоумышленника получить привилегии, большие, чем установлены администратором системы.
Предварительное зондирование (pre-attack probe) - любое действие или последовательность действий по получению информации из или о сети (например, имена и пароли пользователей), используемые в дальнейшем для осуществления неавторизованного доступа.
"Подозрительная" сетевая активность (suspicious activity) представляет класс атак, характерной особенностью которых является наличие сетевого трафика, выходящего за рамки определения "стандартного" трафика. Подобная активность может указывать на подозрительные действия, осуществляемые в сети.
Настоящая статья была посвящена проблеме информационной защиты вычислительных ресурсов, объединенных в глобальную сеть Интернет. Рассмотренная модель информационной безопасности наглядно объясняет суть самой проблемы защиты, а приведенные классификации сетевых ресурсов, их уязвимостей и угроз сетевой безопасности, а также их подробное описание в целом составляют основу комплексного систематического подхода при осуществлении выбора и оценки эффективности средств защиты информационных сетевых ресурсов.