информационная безопасность
без паники и всерьез
 подробно о проекте
Rambler's Top100Spanning Tree Protocol: недокументированное применениеПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Шестой Perl превратится в Raku,... 
 Kik закрывается, все ушли на криптофронт 
 Sophos открывает Sandboxie 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / библиотека / безопасность
БИБЛИОТЕКА
вход в библиотеку
книги
безопасность
программирование
криптография
internals
www
телефония
underground
беллетристика
разное
обзор: избранное
конкурс
рейтинг статей
обсуждение




Подписка:
BuqTraq: Обзор
RSN
БСК
Закон есть закон



The Bat!

Обман - прерогатива не только хакеров
А.В.Лукацкий
Опубликовано: dl, 05.04.02 18:36

Обычно, когда речь заходит об обмане в области информационной безопасности, сразу вспоминаются попытки злоумышленников использовать те или иные скрытые лазейки для обхода используемых средств защиты. Будь то кража паролей и работа от имени авторизованного пользователя или несанкционированное использование модемов. Однако обман может сослужить хорошую службу не только для злоумышленников, но и для защитников корпоративных ресурсов. Сразу необходимо отметить, что обман очень редко используется в качестве защитного механизма. Обычно, когда речь заходит о средствах защиты, на ум сразу приходят современнейшие межсетевые экраны, блокирующие любые попытки проникновения хакеров. Или, если обратиться к фантастической литературе, то для защиты от проникновения используются системы с искусственным интеллектом, которые "адаптируются" к нападениям злоумышленников и противопоставляют им адекватные защитные меры. Такие системы описаны в "Лабиринте отражений" Сергея Лукьяненко или "Neuromancer" Уильяма Гибсона. Но "не межсетевым экраном единым". Приходится обращать свое внимание и на другие "нестандартные" защитные механизмы. Это частично собьет с толку злоумышленников и нарушителей, привыкших к широко известным средствам обеспечения информационной безопасности.

Атаки. Какие они бывают?

Обман - это некая абстрактная категория атак. В реальности используется иная классификация атак. Точнее таких классификаций известно несколько. Компания Internet Security Systems делит все атаки на следующие типы [4]:

  • Предварительные действия перед атакой (Pre-attack probe). Любое действие или последовательность действий по получению информации ИЗ или О сети (например, имена и пароли пользователей), используемые в дальнейшем для осуществления неавторизованного доступа. Примером может служить сканирование портов или сканирование при помощи программы SATAN и т.п.
  • "Отказ в обслуживании" (Denial of service). Любое действие или последовательность действий, которая приводит любую часть атакуемой системы к выходу из строя, при котором та перестают выполнять свои функции. Причиной может быть несанкционированный доступ, задержка в обслуживании и т.д. Примером могут служить широко нашумевшие атаки SYN Flood, Ping Flood, Windows Out-of-Band (WinNuke) и т.п.
  • Неавторизованный доступ (Unauthorized access attempt). Любое действие или последовательность действий, которая приводит к попытке чтения файлов или выполнения команд в обход установленной политики безопасности. Также включает попытки злоумышленника получить привилегии, большие, чем установлены администратором системы. Примером атаки может служить получение полного доступа к корневому каталогу FTP-сервера и т.п.
  • Подозрительная активность (Suspicious activity). Сетевой трафик, выходящий за рамки определения "стандартного" трафика. Может указывать на подозрительные действия, осуществляемые в сети. Примером могут служить события дублирование IP-адреса или обнаружение неизвстного протокола в сети и т.п.
  • Системные атаки (System attack). Атаки, осуществляемые не на уровне сети, а на уровне операционной системы и направленные на конкретный компьютер. Примером такой атаки может служить изменение политики безопасности или регистрация на компьютере пользователя с устаревшей учетной записью.

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

Существует множество различных вариантов использования обмана в благих целях [1]. Вкратце перечислю некоторые механизмы обмана, основываясь на классификации Даннигана (Dunnigan) и Ноуфи (Nofi):

  1. Сокрытие
  2. Камуфляж
  3. Дезинформация

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

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

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

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

Рассмотрим только 2 и 3 классы обманных методов, как менее известные и наиболее интересные. Работа систем их реализующих заключается в том, что эти системы эмулируют те или иные известные уязвимости, которых в реальности не существует. Использование средств (deception systems), реализующих камуфляж и дезинформацию, приводит к следующему:

  1. Увеличение числа выполняемых нарушителем операций и действий. Так как заранее определить является ли обнаруженная нарушителем уязвимость истинной или нет, злоумышленнику приходится выполнять много дополнительных действий, чтобы выяснить это. И даже дополнительные действия не всегда помогают в этом. Например, попытка запустить программу подбора паролей (например, Crack для Unix или аналогичную программу для Windows) на сфальсифицированный и несуществующий в реальности файл, приведет к бесполезной трате времени без какого-либо видимого результата. Нападающий будет думать, что он не смог подобрать пароли, в то время как на самом деле программа "взлома" была просто обманута.
  2. Получение возможности отследить нападающих. За тот период времени, когда нападающие пытаются проверить все обнаруженные уязвимости, в т.ч. и фиктивные, администраторы безопасности могут проследить весь путь до нарушителя или нарушителей и предпринять соответствующие меры, например, сообщить об атаке в соответствующие "силовые" структуры.

Обычно в информационной системе используются от 5 до 10 зарезервированных портов (с номерами от 1 до 1024). К ним можно отнести порты, отвечающие за функционирование сервисов HTTP, FTP, SMTP, NNTP, NetBIOS, Echo, Telnet и т.д. Если обманные системы эмулируют использование еще 100 и более портов, то работа нападающего увеличивается во стократ. Теперь злоумышленник обнаружит не 5-10, а 100 открытых портов. При этом мало обнаружить открытый порт, надо еще попытаться использовать уязвимости, связанные с этим портом. И даже если нападающий автоматизирует эту работу путем использования соответствующих программных средств (Nmap, SATAN и т.д.), то число выполняемых им операций все равно существенно увеличивается, что приводит к быстрому снижению производительности его работы. И при этом злоумышленник все время находится под дамокловым мечом, опасаясь своего обнаружения.

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

В настоящий момент широко известны две обманные системы, в той или иной степени, реализующие описанные выше методы. Первая из них - The Deception Toolkit (DTK) предназначена для работы под управлением различных Unix. Вторая - CyberCop Sting компании Network Associates, функционирует под управлением ОС Windows NT.

The Deception Toolkit

Набор инструментальных обманных средств (The Deception Toolkit, DTK) является первым средством, предназначенным для реализации механизма обмана злоумышленников, пытающихся проникнуть в сеть организации. Данное средство разработано Фредом Коэном (Fred Cohen), чтобы ввести в заблуждение автоматизированные средства анализа защищенности путем создания ложных уязвимостей. Создаваемые сканерами безопасности отчеты не смогут помочь злоумышленнику определить какие из обнаруженных уязвимостей являются реальными, а какие нет. Тем самым злоумышленнику придется тратить время и ресурсы на проверку всех обнаруженных уязвимостей, что позволит своевременно обнаружить такие попытки и противопоставить им эффективные средства защиты и, возможно, обнаружить злоумышленника.

DTK может быть легко настроен под различные требования пользователей, но обычно это программирование ограничивается созданием ответных реакций на действия нападающих. Например, можно создать заголовок (banner) программы sendmail, возвращаемый на попытку установления соединения с соответствующим портом. В данном заголовке может быть стандартная информация о версии программы, которая используется многими средствами анализа защищенности для принятия решения о наличии уязвимости [2].

DTK представляет собой набор программ на языке C и Perl, реализующих описанные выше механизмы обмана злоумышленников. Эти программы могут быть модифицированы под конкретные нужды пользователей. Как замечает автор, DTK может функционировать под управлением любой ОС, поддерживающей стек протоколов TCP/IP и имеющей реализацию транслятора с языка Perl. В частности под управлением большого числа различных Unix'ов. Теоретически, после небольшой доработки исходных текстов, DTK сможет функционировать и под управлением Windows NT с Resource Kit, однако пока таких опытов не проводилось. Настройка DTK осуществляется из командной строки путем редактирования конфигурационных файлов из текстового редактора. Пакет The Deception Toolkit распространяется бесплатно и может быть получен по следующему адресу: http://all.net/contents/dtk.html.

Развивая пакет DTK автор разработал улучшенную версию - DTK-Pro, которая, реализуя все возможности DTK, дополняет его новыми механизмами:

  • Управление несколькими DTK, установленными на разных хостах сети;
  • Графический интерфейс администратора DTK-Pro (см. рис.1);
  • Проверка согласованности задаваемых правил обмана;
  • И ряд других функций.


Рис.1. Графический интерфейс пакета DTK-Pro

CyberCop Sting

Система CyberCop Sting разработана в компании Network Associates (http://www.nai.com) и предназначена для эмуляции Ethernet-сети, состоящей из маршрутизаторов Cisco с IOS 11.2 и серверов под управлением операционных систем Windows NT 4.0 и Solaris 2.6. Все посланные на смоделированные виртуальные хосты пакеты отслеживаются, что позволяет обнаруживать и отслеживать злоумышленников, в то время как они пытаются атаковать несуществующие узлы [3].

CyberCop Sting "создает" виртуальную сеть на выделенном узле, работающем под управлением Windows NT. Каждый из виртуальных узлов имеет один или несколько IP-адресов, на которые можно посылать сетевой трафик и получать вполне "реальный" ответ. В более сложных случаях виртуально созданных узел может выступать в роли ретранслятора пакетов на невидимый, но реальный компьютер, который и отвечает на все запросы злоумышленника.

Главное достоинство системы CyberCop Sting в том, что для моделирования "приманки" для нарушителя вам не требуется большого количества компьютеров и маршрутизаторов, - все реализуется на единственном компьютере (рис.2.).


Рис.2. Применение системы CyberCop Sting для создания виртуального сегмента корпоративной сети

Однако в CyberCop Sting отсутствует та гибкость, которая имеется в DTK. Вы не можете задать эмулируемые уязвимости и даже для стандартных сетевых сервисов, моделируемых Sting'ом вы не можете задать специфичные варианты ответов на запросы. Кроме того, также как и в DTK, CyberCop Sting не обладает качественным механизмом анализа журнала регистрации. Вам придется просматривать сотни, а иногда и тысячи записей текста прежде чем вы найдете интересующую вас информацию. И хотя для этой цели можно использовать продукты третьих фирм, например, WebTrends Log Analyzer, неплохо было бы иметь и встроенные средства анализа журналов регистрации.

Выводы

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

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

Используемые термины

Межсетевой экран
средство защиты информации, разграничивающее доступ между двумя сетями в различными требованиями по обеспечению безопасности. Как правило, в качестве этих сетей выступает внешняя сеть (Internet) и внутренняя сеть компании. Однако, межсетевой экран может выступать в качестве средства разграничения доступа между различными сегментами внутренней сети.
Подбор паролей
атака, заключающаяся в поиске пароля из множества всех возможных значений путем его полного перебора или перебора по словарю широко распространенных слов и словосочетаний.
Порт
номер, идентифицирующий тип соединения (например, HTTP, FTP и т.д.), запрашиваемого удаленным компьютером в TCP/IP-сети.
Уязвимость
любая характеристика вычислительной системы, использование которой приводит к реализации угрозы.
Атака
это любое действие нарушителя, которое приводит к реализации угрозы путем использования уязвимостей вычислительной системы.
Сканирование
процесс обнаружения уязвимостей ресурсов вычислительной системы.
Система обнаружения атак
система, реализующая процесс идентификации и реагирования на подозрительную деятельность (атаки), направленную на вычислительные или сетевые ресурсы.
Сервер аутентификации
средство защиты информации, осуществляющее проверку идентификации пользователя, процесса, устройства или другого компонента системы (обычно осуществляется перед выдачей разрешения на доступ).
Идентификация
процесс присвоения идентификаторов (например, имя и пароль пользователя) субъектам и объектам системы. Также под идентификацией часто понимают процесс распознавания определенных компонентов системы, обычно с помощью уникальных имен (идентификаторов), воспринимаемых системой.

Список литературы

[1] Fred Cohen. A Note on the Role of Deception in Information Protection. 1998
[2] Лукацкий А.В. Как работает сканер безопасности? HackZone, 1999
[3] CyberCop Sting. Getting Started Guide. Version 1.0.
[4] RealSecure. Attack Signatures Glossary. Version 3.2.

Об авторе:
Алексей Викторович Лукацкий, руководитель отдела Internet-решений, Научно-инженерное предприятие "Информзащита", Москва, (095) 289-8998, luka@infosec.ru

25 октября 1999 г.


обсудить  |  все отзывы (0)  

[20569; 8; 8.25]




Rambler's Top100
Рейтинг@Mail.ru





  Copyright © 2001-2019 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach