Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Исследование механизмов осуществления и обнаружения сетевых атак

Читайте также:
  1. VI. Акушерское исследование.
  2. XXIII. Экспериментальное исследование творческой интуиции. Бе интеллектуальная, аффективная и волевая стороны
  3. Алгоритм работы над мини - исследованием
  4. БАЗОВЫЕ НАПРАВЛЕНИЯ ОСУЩЕСТВЛЕНИЯ ПРОГРАММЫ
  5. Беседа кок исследование
  6. Билет № 1, вопрос № 1.Правила строповки, подъема, перемещения грузов, правила эксплуатации грузоподъемных средств и механизмов, управляемых с пола
  7. Билет № 10, вопрос № 1.Технологический процесс ремонта деталей и сборочных единиц, механизмов и машин, его элементы

 

Цель работы

Получить представление об атаках на сетевые сервисы: найти и исследовать описания предложенных атак и сформулировать принципы обнаружения этих атак по сигнатуре (с использованием СОА Snort)

 

Теоретические сведения

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

Говоря об описании уязвимостей следует упомянуть список уязвимостей CVE (Common Vulnerabilities and Exposures), разработанный организацией MITRE. Список уязвимостей CVE является словарем, используемым для определения общих имен известных уязвимостей. Данный список можно найти по адресу http://cve.mitre.org.

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

В настоящее время список уязвимостей CVE стал де-факто стандартом идентификации уязвимостей и поддерживается многими программными продуктами.

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

· Bugtraq (http://www.securityfocus.com/bid)

· консультативная служба компьютерных сбоев CIAC (http://www.ciac.org/cgi-bin/index/bulletins)

· Open Source Vulnerability Database (http://osvdb.org)

списки уязвимостей, предоставляемые производителями специализированного ПО

· http://www.nessus.org

· http://www.mcafee.com/us/threat_center/default.asp

Атака на компьютерную систему – это действие, предпринимаемое злоумышленником, которое заключается в поиске и использовании той или иной уязвимости. Системы обнаружения атак (СОА) предназначены для обнаружения атак в вычислительные системы со стороны внешних нарушителей или со стороны авторизованных пользователей, некорректно использующих систему.

Snort (http://www.snort.org) является классической свободно распространяемой СОВ, построенной на сигнатурном принципе обнаружения вторжений.

Архитектура СОВ Snort направлена главным образом на производительность, простоту и гибкость. Snort состоит из следующих подсистем: декодер пакетов, подсистема обнаружения атак, и подсистема аудита и предупреждений.

Декодер пакетов состоит из подпрограмм, отвечающих за реассемблирование пакета на каждом уровне модели ISO/OSI. Система позволяет наиболее эффективно собирать информацию, вызывая эти подпрограммы на каждом уровне – от канального уровня до уровня приложений. На данном этапе внимание акцентируется на скорость и поэтому главные функции декодера пакетов состоят в установке указателей на данные пакета для дальнейшего анализа подсистемой обнаружения вторжений. В данный момент декодер поддерживается для протоколов канального уровня Ethernet, SLIP, и поточных протоколов (PPP).

Snort содержит свои правила в двумерном списке. Список делится на две части, в первой из которых находятся - Chain Headers (Заголовки Цепочек), во второй – Chain Options (Опции Цепочки). Список сортируется следующим образом. Все сигнатуры, использующие одинаковый порт назначения или источника, помещаются под один заголовок цепочки. Цепочки правил рекурсивно проверяются для каждого пакета во всех направлениях. Подсистема обнаружения проверяет только те опции цепочек, которые были установлены при загрузке. Первое правило, которое удовлетворяет реассемблированному пакету, инициирует действие, описанное в правиле.

Правила Snort легки для понимания и написания, они являются достаточно сильным средством для обнаружения опасной сетевой активности. Существуют пять действий, которые может предпринять Snort, когда пакет удовлетворит правилу: pass (пропустить пакет), log (записать в журнал аудита), alert (сгенерировать предупреждение, а затем записать пакет, используя установленные опции аудита), activate (сгенерировать предупреждение, заем переключиться на другое динамическое правило), dynamic (оставаться в ждущем режиме, пока не будет вызвано с помощью действия activate, после этого действовать также как правило log).

В последних версиях Snort появилась новая возможность создавать свои типы правил и ассоциировать с какой-либо подсистемой аудита и предупреждений. Вот некоторые из опций правил Snort:

· content: поиск в данных пакета определённой последовательности символов;

· flags: поиск определённого набора флагов TCP-пакета;

· ttl: проверка поля ttl ip-пакета;

· tos: проверка поля tos ip-пакета;

· fragbits: проверка битов фрагментации в ip-пакете;

· ack: проверка tcp-пакета на определённое значение acknowledgement number;

· logto: запись пакета, удовлетворяющего правилу, в определённый файл;

· content-list: проверка на большое количество определённых строк в отдельном пакете с content опцией (например, поиск трафика с XXX сайтами);

· msg: посылка текстового сообщения при генерации предупреждения;

· resp: ответ на предполагаемое нарушение (например, обрыв соединения);

· react: ответ на предполагаемое нарушение (например, блокировка web сайта).

Общий метод для создания правил состоит в следующем:

· найти реализацию интересующей атаки. Например, какую-либо новую реализацию атаки, направленной на уязвимость переполнения буфера;

· запустить программу атаки внутри тестируемой сети и записывать с помощью Snort все пакеты, идущие на атакуемую машину;

· проанализировать данные, идентифицировать уникальную сигнатуру атаки и написать правило.

 

Постановка задачи

В рамках работы необходимо:

1) составить описания атак и соответствующих им уязвимостей (согласно выданному индивидуальному заданию по правилам-сигнатурам СОА Snort).

Описание каждой атаки должно включать:

1. Идентификаторы в различных списках уязвимостей, как минимум:

- CVE (кандидат или утвержденный)

- Bugtraq ID

- идентификатор сигнатуры в БД Snort

(включить дату публикации и дату последнего изменения информации об уязвимости в этом списке)

2. Тип ошибки, приведшей к уязвимости

3. Текстовое описание уязвимости и механизма ее эксплуатации

4. Допустимо ли использование для удаленной атаки

5. Допустимо ли использование для локальной атаки

6. Уязвимые для данной атаки версии ПО и операционных систем

7. Текстовое описание возможных последствий атаки

8. Текстовая расшифровка сигнатуры Snort (сигнатура атаки - характеристики сетевых пакетов, к которым применимо данное правило: ограничения на сетевые адреса, направление трафика, состояние TCP-соединения, номера портов, содержимое поля данных и т.п.; насколько возможна сигнатура в отсутствии атаки; насколько возможны мутации атаки с изменением сигнатуры).

9. Использованные при исследовании атаки ссылки

 

2) составить сигнатуру для программы-эксплойта, написанной в работе №3

 

Пример описания атаки по сигнатуре Snort

Сигнатура

alert tcp $EXTERNAL_NET any -> $HOME_NET 21 (msg:"FTP wu-ftp bad file completion attempt {"; flow:to_server,established; content:"~"; content:"{"; distance:1;reference:cve,CVE-2001-0550; reference:cve,CAN-2001-0886; reference:bugtraq,3581; classtype:misc-attack; sid:1377; rev:10;)

 

Описание:

  1. Идентификаторы уязвимости

1.1. Список CVE:

- CVE-2001-0550 (утвержден в списке, версия списка 20061101)

- CVE-2001-0886 (утвержден в списке, версия списка 20061101)

1.2. Bugtraq ID: 3581 (уязвимость опубликована 27 ноября 2001 г.)

1.3. Идентификатор сигнатуры в БД Snort: 1377.

1.4. Идентификатор в списке уязвимостей US-CERT: VU#886083

(http://www.kb.cert.org/vuls), опубликовано в рассылке в апреле 2001 г.

1.5. Идентификатор в списке уязвимостей X-Force Database (CVE Compatible):

7611 (http://xforce.iss.net/xforce/search.php)

 

  1. Тип ошибки: ошибка проверки условий – условие пропущено (ошибка обработки исключительной ситуации)

 

  1. Уязвимость функции glob библиотеки glibc (в функции glob возникает ситуация переполнения буфера) обусловлена отсутствием обработки исключительной ситуации, которая возникает при передаче этой функции аргумента, оканчивающегося символом “{“. Некоторые версии демонов FTP-сервера (WU-FTPD, BeroFTPD) под управлением многих версий ОС UNIX и Linux используют эту функцию для обработки специальных символов в именах файлов. Поэтом при передаче такому FTP-серверу команды типа “CWD” с аргументом вида “~{“, который не обрабатывается должным образом функцией, возникает переполнение буфера в куче, что может вызвать отказ в обслуживании, или, как в данном случае, выполнение нарушителем произвольных команд на сервере.

 

  1. Уязвимость может использоваться для удаленной атаки

 

  1. Уязвимость не может использоваться для локальной атаки

 

  1. Уязвимые версии FTP-сервера:

- Washington University wu-ftpd 2.6.1

- Washington University wu-ftpd 2.6.0

- Washington University wu-ftpd 2.5.0

- David Madore ftpd-BSD 0.3.3

- David Madore ftpd-BSD 0.3.2

Уязвимые для данной атаки версии ОС: все, включающие дистрибутив уязвимой версии FTP-сервера, а именно

- Caldera OpenLinux 2.3, 2.4, Caldera OpenLinux Server 3.1

- Cobalt Qube 1.0

- Conectiva Linux 4.0, 4.0 es, 4.1, 4.2, 5.0, 5.1, 6.0, 7.0, 8.0

- FreeBSD FreeBSD 5.0 alpha, 5.0, 4.4, 4.3 –STABLE, 4.3 –RELEASE, 4.3

- MandrakeSoft Corporate Server 1.0.1

- MandrakeSoft Linux Mandrake 6.0 6.1 7.0 7.1 7.2 8.0 8.0 ppc, 8.1

- RedHat Linux 5.2 i386, 5.2 alpha, 5.2 sparc, 6.0, 6.0 alpha, 6.0 sparc, 6.1 i386, 6.1 alpha, 6.1 sparc, 6.2 i386, 6.2 alpha, 6.2 sparc, 7.0 alpha, 7.0 i386, 7.0 sparc, 7.1 alpha, 7.1 i386, 7.1 i586, 7.1 i686, 7.1 ia64, 7.1 noarch, 7.2 alpha, 7.2 athlon, 7.2 i386, 7.2 i586, 7.2 i686, 7.2 ia64, 7.2 noarch

- S.u.S.E. Linux 6.1, 6.1 alpha, 6.2, 6.3, 6.3 alpha, 6.3 ppc, 6.4, 6.4 alpha, 6.4 ppc, 7.0, 7.0 alpha, 7.0 ppc, 7.0 sparc, 7.1, 7.1 alpha, 7.1 ppc, 7.1 sparc, 7.1 x86, 7.2, 7.3

- SCO eDesktop 2.4

- SCO eServer 2.3, 2.3.1

- SCO Open Server 5.0.6 a, 5.0.6, 5.0.5, 5.0.4, 5.0.3, 5.0.2, 5.0.1, 5.0

- Slackware Linux 8.0, 7.1, 7.0

- Turbolinux 4.0, 6.0.5, 6.0.4, 6.0.3, 6.0.2, 6.0.1, 6.0

- Turbolinux Workstation 6.1

- Wirex Immunix OS 6.2, 7.0 –Beta, 7.0, 7

- Debian Linux 2.2 sparc, 2.2 powerpc, 2.2 arm, 2.2 alpha, 2.2 68k, 2.2

- HP HP-UX 11.11, 11.0

Версия FTP-сервера, не являющаяся уязвимой: wu-ftpd 2.6.2,

Другие перечисленные FTP-серверы не имеют не уязвимых версий

 

  1. Атака на FTP-сервер wu-ftpd некоторых версий по управление некоторых версия ОС Linux позволяет нарушителю выполнять произвольные команды. Привилегии, с которыми нарушитель выполняет произвольный код – привилегии пользователя от имени которого выполняется демон wu-ftpd (обычно root).

 

  1. Сигнатура Snort

alert tcp $EXTERNAL_NET any -> $HOME_NET 21 (msg:"FTP wu-ftp bad file completion attempt {"; flow:to_server,established; content:"~"; content:"{"; distance:1;reference:cve,CVE-2001-0550; reference:cve,CAN-2001-0886; reference:bugtraq,3581; classtype:misc-attack; sid:1377; rev:10;)

 

Тип действия: вывести сообщение об атаке (alert)

Характеристики пакета:

При срабатывании правила Snort выводит сообщение об атаке:

"FTP wu-ftp bad file completion attempt {"

 

Правило не сработает, если FTP-сервер работает на порту с другим номером; замена же обычно используемого 21 порта на любой (значение any) может привести к большому количеству ложных срабатываний для сервисах, основанных на других протоколах, поскольку условия поиска по содержимому недостаточно жесткие.

 

  1. Использованные при исследовании атаки ссылки

http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2001-0550

http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2001-0886

http://www.securityfocus.com/bid/3581

http://www.kb.cert.org/vuls/id/886083

 

http://xforce.iss.net/xforce/xfdb/7611

http://xforce.iss.net/alerts/advise103.php

http://www.snort.org/docs/snort_htmanuals/htmanual_261


 


Дата добавления: 2015-10-02; просмотров: 86 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Амортизационные отчисления| Всякая всячина» и ее последователи

mybiblioteka.su - 2015-2024 год. (0.016 сек.)