Читайте также:
|
|
Цель работы
Получить представление об атаках на сетевые сервисы: найти и исследовать описания предложенных атак и сформулировать принципы обнаружения этих атак по сигнатуре (с использованием СОА 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. Список 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)
- 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-серверы не имеют не уязвимых версий
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) может привести к большому количеству ложных срабатываний для сервисах, основанных на других протоколах, поскольку условия поиска по содержимому недостаточно жесткие.
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 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Амортизационные отчисления | | | Всякая всячина» и ее последователи |