Едучи с очередной прочитанной лекции по защите информации, стал свидетелем интересной картины, когда у молодого человека в защитной форме, который попрошайничал в переходе метро, висела на шее табличка: "Денег нет, а кушать хочется". С похожей ситуацией мне постоянно приходится сталкиваться в своей работе. Сотрудники многих организаций, интересуясь предлагаемыми нашей компанией решениями по защите информации, заявляют, что "денег нет, а защищаться хочется". Наверное, эта ситуация знакома многим специалистам, которым приходится с боем выбивать финансы на приобретение различных защитных средств.
Это подвигло меня на написание статьи, основная цель которой показать, что даже при отсутствии или недостаточном финансировании можно построить достаточно надежную и эффективную систему информационной безопасности. Она будет уступать по своим характеристикам коммерческой системе, но зато на ее построение практически не потребуется тратить деньги. Рамки статьи не позволяют рассмотреть все аспекты создания "бесплатной" системы защиты и поэтому я рассмотрю только один из ее аспектов - обнаружение сетевых атак. Эта тема знакома мне ближе всего.
Как показывает анализ имеющихся сегодня систем обнаружения атак на уровне сети, все они используют в качестве источника данных сетевой трафик, который анализируется на наличие в нем признаков атак. Реже, но также возможно в качестве источника информации использовать журналы регистрации сетевого программно-аппаратного обеспечения (например, маршрутизатора, межсетевого экрана или анализатора протоколов), фиксирующего весь обрабатываемый им трафик.
Механизм функционирования системы обнаружения атак на уровне сети состоит из 4 основных этапов:
В зависимости от того, откуда берутся данные для анализа (с сетевой карты, с компонентов сетевого оборудования или из журнала регистрации), часть, отвечающая за захват пакетов, может быть реализована по-разному, но все остальные части (фильтрация, распознавание и реагирование) остаются без изменения.
Программное обеспечение системы обнаружения атак состоит из следующих частей:
Захват сетевого трафика
Т.к. областью рассмотрения данной статью является "самопальные" системы обнаружения атак, то я не буду рассматривать механизмы захвата сетевого трафика, реализованные в специальном программно-аппаратном обеспечении, например, в Cisco Catalyst 6000 IDS Module или Cisco Secure Integrated Software. Рассмотрим более приемлемый для самостоятельной реализации механизм, который заключается в обработке трафика, получаемого с сетевой карты, которая может работать в двух режимах:
Именно последний режим и используется для создания своей системы обнаружения атак. Чтобы не усложнять себе жизнь, можно воспользоваться механизмами, предлагаемыми операционной системой. Идеальной ОС в этом случае является семейство Unix, которое позволяет без особых проблем получить доступ к сетевому трафику. Мало того... Сообщество пользователей ОС Unix разработало большое число утилит и библиотек, которые берут на себя заботу о доступе к сетевой карте и захвату трафика. Например, прослушивание и захват сетевого трафика может быть осуществлен с помощью широко известной библиотеки libpcap (library for packet capture). Данная библиотека ( http://www.tcpdump.org) разработана для множества ОС семейства Unix, которая позволяет "захватывать" (capture) и "прослушивать" (sniffing) все пакеты, передаваемые в разделяемых средах передачи данных (shared media). Многие системы обнаружения атак для Unix используют эту библиотеку в своей работе (например, SHADOW, Snort, NFR и т.д.), а многие разработчики еще и оптимизировали ее для различных платформ, в том числе существует версия и для платформы Windows, называемая Winpcap ( http://netgroup-serv.polito.it/winpcap/). Вместо libpcap можно использовать библиотеку libnet ( http://www.packetfactory.net/Projects/libnet) или ее версию для Windows ( http://www.eeye.com/html/tools/libnetnt.html), выполняющую аналогичные функции.
В случае с обработкой журналов регистрации сетевого оборудования проблем меньше, т.к. сетевой трафик уже захвачен и даже записан в удобном для анализа формате.
Фрагмент журнала регистрации маршрутизатора Cisco (для IOS 12.0T)