Методология теста персональных IDS/IPS на защиту от атак на уязвимые приложения (июнь 2012)

 

Введение

Данная методология теста является результатом совместной работы и интеллектуальной собственностью экспертного сообщества Anti-Malware.ru.

В тестировании приняли участие 21 популярная программа комплексной защиты (класса Internet Security) и персональные фаерволы (с функциями IDS/IPS) от различных производителей (таблица 1). Представленные ниже продукты актуальны на момент начала теста – 20.04.2012.


Таблица 1. Тестируемые продукты и их версии

Продукт Версия
Avast! Internet Security 7 7.0.1426
AVG Internet Security 2012 2012.0.2127
Avira Internet Security 2012 12.0.0.860
BitDefender Internet Security 2012 15.0.38.1605
Comodo Internet Security 2012 5.10.228257.2253
Dr.Web Security Space 7 7.0.0.10140
Eset Smart Security 5 5.0.95.0
F-Secure Internet Security 2012 1.49 build 439
G DATA Internet Security 2012 22.0.9.1
Jetico Personal Firewall 2.1.0.10.2458
Kaspersky Internet Security 2012 12.0.0.374 (h)
McAfee Internet Security 2012 11.0.669
Microsoft Security Essentials + Windows Firewall 2.1.1116.0
Norton Internet Security 2012 19.1.0.28
Online Armor Premium Firewall 5.5.0.1557
Online Solutions Security Suite 1.5.15307.0
Outpost Security Suite Pro 7.52 (3939.602.1809)
Panda Internet Security 2012 17.01.00
PC Tools Internet Security 2012 2012 (9.0.0.1218)
Trend Micro Titanium Internet Security 2012 5.2.1035
ZoneAlarm Internet Security Suite 10.1.079.000

 

Описание среды тестирования

Перед проведением тестирования собирался тестовый стенд. Он включал в себя три персональных компьютера, объединенных в локальную сеть. Функции компьютеров распределялись следующим образом:

  1. Компьютер №1. Атакуемый ПК.
  2. Компьютер №2. Атакующий ПК №1.
  3. Компьютер №3. Атакующий ПК №2.


Таблица 2: Платформа атакуемого компьютера

Процессор AMD Athlon (tm) 64 X2 Dual Core Processor 3800 + 2.0 ГГц
Материнская плата WINFAST MCP61M2MA
Видеокарта NVIDIA GeForсe 7100 GS
Оперативная память 1024 MB
Жесткие диски WDC WD2500JS-22NCB1
Сеть 100 Мбит/сек Ethernet
Принтер HP Laser Jet 1018

 

На атакуемый компьютер устанавливалась операционная система Microsoft Windows XP Professional SP3 x86 и дополнительное программное обеспечение, необходимое для теста (см. таблицу 3).


Таблица 3: Список установленных программ

Программа Версия
Battlefield 2 1.5.3153-802.0
Battlefield 1942 1.6
Doom 3 1.3
Windows Media Player 11.0.5721.5262
TFTP Single Port Server 1.41 Built 1.410
Putty 0.6
3CTftpSvc.exe 2.0.1

 

На атакующем компьютере №1 устанавливалась операционная система OS Linux Back Track 5 R1, на атакующем компьютере №2 устанавливалась операционная система Microsoft Windows XP Professional SP3 x86.

Тестирование IDS/IPS производилось на двух типах настроек: рекомендуемых производителем стандартных (настройки по умолчания) и максимальных.

В первом случае использовались рекомендуемые производителем настройки по умолчанию и выполнялись все предлагаемые программой действия.

Во втором случае все настройки, которые могли повлиять на результат работы IDS/IPS включались или устанавливались в максимальное значение (наиболее строгие настройки).

Другими словами – под выставлением максимальных настроек понимается перевод всех доступных из графического интерфейса пользователя значений модулей программы, связанных с детектированием вредоносной файловой или сетевой активности,  к наиболее строгому варианту.

Все скриншоты окон настроек тестируемых программ вы можете скачать в едином архиве.


Используемые сетевые атаки

Основная задача IDS/IPS является обнаружение и отражение сетевых атак. Под сетевой атакой понимается атака компьютера пользователя, совершаемая хакером или вредоносной программой (вирусом). Атака может производиться из Интернета или локальной сети с целью вредоносного воздействия и\или несанкционированного доступа к данным. Большинство внешних сетевых атак базируются на уязвимостях операционных систем, установленных прикладных программ, протоколов или их реализаций.

Уязвимость в программном обеспечении подразумевает брешь в системе, используя которую можно нарушить целостность непосредственно самой системы и\или вызвать её неправильную работу. Уязвимость может быть результатом ошибок программирования, недостатков, допущенных при проектировании системы, использования ненадежных паролей, действия вирусов и других вредоносных программ, выполнения скриптов. Уязвимость может позволить атакующему «обмануть» приложение — заставить его совершить действие, на которое у того не должно быть прав.

Это делается путем внедрения каким-либо образом в программу данных или кода в такие места, что программа воспримет их как «свои». Некоторые уязвимости появляются из-за недостаточной проверки данных, вводимых пользователем, и позволяют вставить в интерпретируемый код произвольные команды. Другие уязвимости появляются из-за более сложных проблем, таких как запись данных в буфер без проверки его границ (переполнение буфера).

Все внешние сетевые атаки на уязвимые приложения условно можно разделить на два типа:

  1. DoS-атака (атака типа «отказ в обслуживании», от англ. Denial of Service) — атака на вычислительную систему с целью доведения её до отказа. Её результатом является то, что пользователи системы не могут получить доступ к предоставляемым системой ресурсам, либо этот доступ затруднён. Критерий выполнения данного вида атаки – выход из строя атакуемой системы или затруднение доступа к ней.
  2. Remote Code Execution (Удалённое выполнение кода) данный вид атаки заключается в использовании уязвимости целевой машины для выполнения на ней произвольного кода. Атака позволяет получить доступ к удалённой машине (возможность устанавливать программы, просматривать, изменять и удалять данные, а также создавать новые учетные записи). Критерий успешности – возможность выполнения произвольного кода на удалённой машине.

Для проведения теста были отобраны 16 эксплойтов, позволяющих организовывать различные типы атак. Критерием отбора служили оценки экспертов и присутствие в топ листах различных компаний в качестве наиболее распространенных сетевых атак. Например, FGTOP и QUALYSTOP.

Также, дополнительно, проводилось сканирование портов атакуемого компьютера и проверка того, что тестируемые программы обнаруживают это сканирование.

Эксплойты для DoS-атак

  1. Doom 3 engine format-string vulnerability

Уязвимость форматной строки обнаружена в ядре Doom 3 при отображении определенных PunkBuster пакетов в игровой консоли. Удаленный пользователь может отправить серверу специально сформированные "PB_Y" или "PB_U" пакеты и выполнить произвольный код на целевой системе. Для успешной эксплуатации уязвимости PunkBuster должен быть активным на сервере.

Максимальная угроза: завершение сервера игры с ошибкой.

Наличие исправления: есть.

  1. Putty 0.60 Denial Of Service

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

Максимальная угроза: завершение работы программы с ошибкой.

Наличие исправления:  использование более новой версии.

  1. Windows Media Player v11.0.5721.5262 Remote Denial Of Service

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

Максимальная угроза: завершение работы программы с ошибкой.

Наличие исправления: использование более новой версии.

  1. Battlefield (BFCC/BFVCC/BF2CC) Login Bypass/Pass Stealer/DoS Exploit

Battlefield 1942 1.6.19 и Battlefield Vietnam 1.2, а также их более ранние версии подвержены атакам с master-сервера. Ответ сервера большому количеству игроков приводит к ошибке разыменования нулевого указателя.

Максимальная угроза: «зависание» игры на атакуемой машине.

Наличие исправления: да.

  1. Microsoft Windows EOT Font Table Directory Integer Overflow

Бюллетень по безопасности (Майкрософт) MS09-065.

Уровень опасности: Критический

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

Максимальная угроза: BSOD и перезагрузка атакуемой машины.

Наличие исправления: есть.

  1. SRV.SYS SrvSmbQueryFsInformation Pool Overflow

Уязвимость существует из-за ошибки при проверке определенных блоков сообщений сервера (SMB). Данные поля могут быть использованы для того, чтобы вызвать переполнение пула SMB с помощью специально созданного SMB_COM_TRANSACTION2 запроса на атакуемую машину с запущенной службой.

Максимальная угроза: BSOD и перезагрузка атакуемой машины

Наличие исправления: есть.

Эксплойты для атак типа Remote Code Execution

  1. 3Com Tftpd Svc transport mode name buffer-overflow vulnerability

3Com TFTP содержит уязвимость переполнения буфера. Уязвимость возникает из-за некорректной проверки посылаемых пользователем данных перед помещением их в ограниченный по размерам буфер.

Максимальная угроза: получение контроля над скомпрометированной системой.

Наличие исправления: использование более новой версии.

  1. Kido/Conficker/Downadup* NETAPI *

Бюллетень по безопасности (Майкрософт) MS08-067.

Уровень опасности: критический.

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

Максимальная угроза: получение контроля над скомпрометированной системой.

Наличие исправления: есть.

  1. Stuxnet * Print Spooler * 

Бюллетень по безопасности (Майкрософт) MS10-061.

Уровень опасности: критический.

Уязвимость в службе очереди печати принтера делает возможным удаленное выполнение кода (2347290). Эта уязвимость делает возможным удаленное выполнение кода, если злоумышленник отправит особым образом созданный запрос печати на уязвимую систему, в которой очередь печати принтера открыта через RPC. Уязвимость вызвана тем, что очередь печати принтера Windows недостаточно ограничивает разрешения доступа пользователей.

Максимальная угроза: получение полного контроля над системой.

Наличие исправления: есть.

  1. Microsoft Windows Shell LNK Code Execution

Бюллетень по безопасности (Майкрософт) MS10-046.

Уровень опасности: критический.

Уязвимость оболочки Windows делает возможным удаленное выполнение кода (2286198). Эта уязвимость вызвана тем, что ОС Windows неправильно анализирует ярлыки, что делает возможным выполнение вредоносного кода, когда операционная система отображает значок ярлыка особым образом созданного файла. Воспользовавшись ею, злоумышленник может выполнить произвольный код в контексте вошедшего в систему пользователя.

Максимальная угроза: получение полного контроля над системой.

Наличие исправления: есть.

  1. Microsoft Windows SMB Relay Code Execution

Бюллетень по безопасности (Майкрософт) MS08-068.

В способе обработки протоколом SMB учетных данных NTLM при подключении пользователя к SMB-серверу злоумышленника существует уязвимость, делающая возможным удаленное выполнение кода. Данная уязвимость позволяет злоумышленнику вернуться к учетным данным пользователя и выполнить код в контексте вошедшего в систему пользователя.

Максимальная угроза: получение полного контроля над системой.

Наличие исправления: есть.

  1. TFTP Server 1.4 ST (RRQ) Buffer Overflow Exploit

Переполнение стека в TFTP Server SP 1.4 дает возможность злоумышленнику удаленно  выполнить произвольный код, используя длинное имя файла в запросах чтения\записи.

Максимальная угроза: получение полного контроля над системой.

Наличие исправления: использование более новой версии.

  1. EA Battlefield 2 and Battlefield 2142 Multiple Arbitrary File Upload Vulnerabilities

Множественные уязвимости обхода каталога в движке Refractor 2, используемом в Battlefield 2 1.50 (1.5.3153-802.0), Battlefield 2142 (1.10.48.0) и их более ранних версиях. Уязвимость дает возможность серверу перезаписать произвольные файлы на клиентских машинах, используя последовательность "..\" в ссылках для sponsor или community logos, и ссылках связанных с DemoDownloadURL, DemoIndexURL и CustomMapsURL.

Максимальная угроза: загрузка произвольного файла в папку автозагрузки на атакуемой машине.

Наличие исправления: использование более новой версии.

  1. Internet Explorer "Aurora" Memory Corruption

Бюллетень по безопасности (Майкрософт) MS10-002

Уровень опасности: критический.

В способе получения браузером Internet Explorer доступа к неправильно инициализированному или удаленному объекту существует уязвимость, делающая возможным удаленное выполнение кода. Злоумышленник может воспользоваться данной уязвимостью с помощью специально созданной веб-страницы. Злоумышленник, воспользовавшийся этой уязвимостью, может получить те же права, что и вошедший в систему пользователь.

Максимальная угроза: получение полного контроля над системой.

Наличие исправления: есть.

  1. Internet Explorer DHTML Behaviors Use After Free

Бюллетень по безопасности (Майкрософт) MS09-001.

Уровень опасности: критический.

В способе получения браузером Internet Explorer доступа к неправильно инициализированному или удаленному объекту существует уязвимость, делающая возможным удаленное выполнение кода. Злоумышленник может воспользоваться данной уязвимостью с помощью специально созданной веб-страницы. Просмотр этой страницы пользователем может привести к удаленному выполнению кода. Злоумышленник, воспользовавшийся этой уязвимостью, может получить те же права, что и вошедший в систему пользователь.

Максимальная угроза: получение полного контроля над системой.

Наличие исправления: есть.

  1. Microsoft DirectShow (msvidctl.dll) MPEG-2 Memory Corruption

Бюллетень по безопасности (Майкрософт) MS09-032.

Уровень опасности: критический.

В элементе управления Microsoft Video ActiveX (msvidctl.dll) существует уязвимость, позволяющая удаленно выполнить произвольный код. Злоумышленник может воспользоваться этой уязвимостью путем создания особой веб-страницы. Происходит переполнение стека в функции CComVariant::ReadFromStream из Библиотеки ATL, которая используется в  MPEG2TuneRequest ActiveX control из msvidctl.dll в DirectShow.

Максимальная угроза: получение полного контроля над системой.

Наличие исправления: есть.

 

Сканирование портов

Для сканирования портов использовалась программа Nmap с обычными параметрами сканирования (Regular Scan). Пример команды сканирования: Nmap 10.10.148.112

Последовательность тестирования

  1. Установка операционной системы (создание образа чистой системы) на атакуемом компьютере и её настройка.
  2. Установка ПО и внесение необходимых настроек. Выключался встроенный брандмауэр (во всех случаях, кроме тестирования Microsoft Security Essentials), автоматические обновления, оповещения системы безопасности. Также устанавливался Directx 9.0c, который необходим для работы компьютерных игр, используемых в процессе тестирования.
  3. Установка тестируемой программы на атакуемый компьютер со стандартными настройками, рекомендованными производителем, обновление модулей и антивирусных баз продукта, принудительная перезагрузка системы.
  4. Выбор настройки IDS/IPS для работы с «домашней сетью».
  5. Запуск установленных программ. Установка способа реагирования, предлагаемого по умолчанию по отношению к запускаемому приложению в ответ на запросы фаервола. Проверка приложений на предмет корректной работы по сети.
  6. Проверка успешной установки тестируемой программы.
  7. Создание образа системы с установленным продуктом.
  8. Запуск эксплойтов на атакующих компьютерах и фиксация результатов их работы. После выполнения каждого эксплойта производился откат системы к сохраненному образу со стандартными настройками.
  9. Фиксация реакции продукта в ответ на действие эксплойта. Для атаки типа RCE удалённо запускался shellcode на атакуемой системе. Для DoS-атак фиксировалось работоспособность атакуемой операционной системы или приложения.
  10. Изменения настроек продукта на «максимальные», создание нового образа системы.
  11. Повторный запуск эксплойтов на атакующих компьютерах и фиксация результатов их работы. После выполнения каждого эксплойта производился откат системы к сохраненному образу со стандартными настройками.
Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.
Если вы являетесь производителем и хотели бы видеть свой продукт в списке протестированных по данной методологии или обновить его результаты, не дожидаясь нового планового теста, вы можете воспользоваться услугой индивидуального тестирования.