Министерство образования и науки Российской Федерации Санкт-Петербургский государственный политехнический университет — Институт информационных технологий и управления Кафедра «Информационная безопасность компьютерных систем» ОТЧЕТ по лабораторной работе № 2 «Исследование механизмов осуществления и обнаружения сетевых атак» по дисциплине «Модели безопасности компьютерных систем» Выполнил студент гр. 33508/4 А.С. Дремов Проверил доцент, к.т.н. Т.В. Степанова Санкт-Петербург 2015 Теоретические сведения Под уязвимостью понимается некая слабость, которую можно использовать для нарушения безопасности системы или содержащейся в ней информации Говоря об описании уязвимостей следует упомянуть список уязвимостей 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) Для этого необходимо составить описания атак и соответствующих им уязвимостей (согласно выданному индивидуальному заданию по правилам-сигнатурам СОА Snort). Также необходимо составить сигнатуру для программы-эксплойта, написанной в работе №1 и экспериментально проверить ее работоспособность Результаты работы Описание сигнатуры №1 Идентификаторы уязвимости 1.1. Список CVE: - CVE-1999-0264 (утвержден в списке, версия списка 20061101) 1.2. Bugtraq ID: 2001 (уязвимость опубликована 27 января 1998 г.) 1.3. Идентификатор сигнатуры в БД Snort: 1608. 1.3. Идентификатор сигнатуры в БД Nessus: 10106. 1.5. Идентификатор в списке уязвимостей X-Force Database (CVE Compatible): 1466 Тип ошибки: ошибка конфигурации сервера. Уязвимость в скриптовом языке «htmlscript» вендора Miva Corporation, на котором пишутся CGI скрипты на стороне сервера. Данная уязвимость позволяет злоумышленнику получить доступ к любым файлам на сервере. Чтобы проэксплуатировать уязвимость необходимо отправить запрос на сервер следующего вида(пример для файла passwd): http://www.vulnerable.server.com/cgi-bin/htmlscript?../../../../etc/passwd. Уязвимость может использоваться для удаленной атаки. Уязвимость не может использоваться для локальной атаки. Уязвимые для данной атаки версии ПО и операционных систем: Любые версии ОС Любые вендоры CGI Miva htmlscript CGI – 2.9932 и ниже версии Атака приводит к краже всех паролей, а также любых конфиденциальных данных, хранящихся на уязвимом сервере. Сигнатура Snort alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-CGI htmlscript attempt";flow:to_server,established; uricontent:"/htmlscript?../.."; nocase; reference:bugtraq,2001; reference:cve,CVE-1999-0264; classtype:web-application-attack; sid:1608; rev:3;) Тип действия: вывести сообщение об атаке (alert) Характеристики пакета: IP адреса – с любого внешнего адреса на адрес сервера Транспорт: протокол TCP Порты – с любого номера на любой порт Состояние соединения: соединение установлено Поиск по содержимому запроса(регистры игнорируются): строка символов "/htmlscript?../.."; При срабатывании правила Snort выводит сообщение об атаке: «WEB-CGI htmlscript attempt». Использованные при исследовании атаки ссылки http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-1999-0264 http://www.iss.net/security_center/reference/vuln/HTTP_HTMLScript.htm http://www.scip.ch/en/?vuldb.14066 http://english.securitylab.ru/nvd/246460.php http://insecure.org/sploits/htmlscript.fileaccess.html http://xforce.iss.net/CveSearch.do?p=CVE-YEAR-ID Описание сигнатуры №2 1. Идентификаторы уязвимости 1.1. Список CVE: - CVE-1999-0517 (уязвимость в списке кандидатов версии 20150225) - CVE-2002-0012 (уязвимость в списке кандидатов версии 20150225) - CVE-2002-0013 (уязвимость в списке кандидатов версии 20150225) 1.2. Bugtraq ID: 2112 (уязвимость опубликована 17 ноября 1998 г.) Bugtraq ID: 4088 (уязвимость опубликована 12 февраля 2002 г.) Bugtraq ID: 4089 (уязвимость опубликована 12 февраля 2002 г.) 1.3. Идентификатор сигнатуры в БД Snort: 1412. 1.4. Идентификаторы в списке уязвимостей US-CERT: VU#107186 VU#854306 1.5. Идентификаторы в списке уязвимостей X-Force Database (CVE Compatible): CVE-1999-0517: 21, 134, 1239, 1240, 1243, 1244 CVE-2002-0012: 8177, 14588 CVE-2002-0013: 8176, 14586 Тип ошибки: ошибка конфигурации, ошибка обработки исключительной ситуации. Уязвимости протокола SNMP. Аутентификация на сервис происходит с помощью community-строки. По умолчанию данная строка «public», что приводит к несанкционированному доступу(CVE-1999-0517). Множественные уязвимости в протоколе были найдены с помощью тестов PROTOS(набор для пентестинга) и разделены на две группы: ошибки в декодировании trap-сообщений(CVE-2002-0012), отправляемых с устройств на консоль администратора, а также в декодировании и выполнении исключений ANS.1 в запросах «GetRequest», «GetNextRequest», «SetRequest»(CVE-2002-0013). Уязвимость может использоваться для удаленной атаки(CVE-1999-0517). Уязвимость может использоваться для локальной атаки(CVE-2002-0012, CVE-2002-0013). Уязвимые для данной атаки версии ПО и операционных систем: Уязвимы(CVE-1999-0517): Microsoft Windows NT Workstation Microsoft Windows NT Terminal Server Microsoft Windows NT Server Microsoft Windows NT Enterprise Server Microsoft Windows NT 4.0 Уязвимы(CVE-2002-0012 и CVE-2002-0013): Sun Solaris Sun Enterprise SNMP Research Mid-Level Manager SGI Brocade 2.6 .0 RedBack Networks AOS Real Networks RealPlayer Intranet Process Software TCPWare Process Software Multinet Oracle Enterprise Manager Novell Netware Net-SNMP ucd-snmp Microsoft Windows XP Professional Microsoft Windows XP Home Microsoft Windows NT Workstation Microsoft Windows NT Terminal Server Microsoft Windows NT Server Microsoft Windows NT Enterprise Server Microsoft Windows 98SE Microsoft Windows 98 Microsoft Windows 95 Microsoft Windows 2000 Terminal Services Microsoft Windows 2000 Server Microsoft Windows 2000 Professional Microsoft Windows 2000 Datacenter Server Microsoft Windows 2000 Advanced Server Lotus Domino SNMP Agents Lantronix LRS Juniper Networks JUNOS 5.0 Innerdive Solutions Router IP Console IBM AIX HP Secure OS software for Linux HP Procurve Switch HP OV/SAM 3.0.1 HP OpenView Network Node Manager HP OpenView Extensible SNMP Agent HP OpenView Emanate SNMP Agent HP OpenView Distributed Management HP MPE/iX HP MC/ServiceGuard HP JetDirect HP HP-UX Comtek Services NMServer Computer Associates Unicenter Caldera UnixWare AdventNet SNMP Utilities 3Com WebCache 3Com Switch 3Com PS Hub Уязвимые версии протокола SNMP: v1, v2c, v3. Уязвимость(CVE-1999-0517) позволяет злоумышленнику собрать различную информацию об удаленном хосте или поменять конфигурации системы(если такая функции включена). Уязвимости(CVE-2002-0012 и CVE-2002-0013) приводят к DoS атаке, временным прерываниям работы сервиса и в некоторых случаях позволяю злоумышленнику получить права администратора. Сигнатура Snort alert tcp $EXTERNAL_NET any -> $HOME_NET 161 (msg:"SNMP public access tcp"; flow:to_server,established; content:"public"; reference:cve,CAN-1999-0517; reference:cve,CAN-2002-0012; reference:cve,CAN-2002-0013; sid:1412; classtype:attempted-recon; rev:5;) Тип действия: вывести сообщение об атаке (alert) Характеристики пакета: IP адреса – с любого внешнего адреса на адрес, отвечающий маске защищаемой подсети (определенной переменной HOME_NET) Транспорт: протокол TCP Порты – с любого номера на 161 порт Состояние соединения: соединение установлено Поиск по содержимому: строка символов "public" При срабатывании правила Snort выводит сообщение об атаке: «SNMP public access tcp» Использованные при исследовании атаки ссылки http://tools.cisco.com/security/center/viewAlert.x?alertId=3293 http://xforce.iss.net/CveSearch.do?p=CVE-YEAR-ID http://www.ists.dartmouth.edu/library/9.pdf http://www.iss.net/security_center/reference/vuln/SNMP_Lanman_Enum.htm http://www.securityfocus.com/bid/4089/info http://www.securityfocus.com/bid/4088/info http://www.securityfocus.com/bid/2112/info https://www.rapid7.com/db/vulnerabilities/SNMP-READ-0001 Собственная сигнатура Snort alert tcp any any -> any any (msg:"Error! Program buffer overflow"; content:"|68 63 6d 64|"; content"|90 90 90|"; nocase; classtype:shellcode-detect; sid: 1394; rev:9;) "|68 63 6d 64|" – проверка на «push cmd» "|90 90 90|" – проверка на содержание nop’ов, которые часто добавляют перед шеллкодом. 9