|
|
ru.internet.security- RU.INTERNET.SECURITY --------------------------------------------------------- From : Marхnais 2:5020/2173.2 05 Mar 2006 01:16:55 To : All Subject : Персональные фаирволлы и выявление вторжений --------------------------------------------------------------------------------
textsection 8 of 13 of file WUESTR.TXT
textbegin.section
5.1.12 Подмена двоичного кода
Описание атаки:
Подменить доверяемое приложение инструментом агрессии, замаскированным
под него. Для эксперимента "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
был заменён приложением telnet.exe, посредством переименования и перезаписи.
После этого начато исходящее соединение по TCP порту 80.
"Zonealarm":
Замечает подмену и спрашивает разрешение на обновление базы правил. "Zo-
nealarm" сохраняет набор правил для приложений в файле IAMDB.RDB, который в
системе "Windows 2000" находится в C:\WINNT\internetlogs\. Файл машинно-неза-
висим. Это означает возможность подмены его и его копии Д файла BACKUP.RDB Д
изменённой версией с другой машины. Пока фаирволл работает, он держит этот
файл открытым в безраздельном доступе. Как рассмотрено в разделе 5.1.1, сущес-
твует возможность терминировать процесс фаирволла и тем самым прекратить бло-
кировку файла правил, что даёт возможность подменить его даже ограниченному
пользователю.
"Symantec Desktop Firewall":
Замечает подмену и сообщает о том, что для "telnet" также существуют пра-
вила, но с последнего раза путь к файлу изменился, и требуется создать новое
правило. Программа рекомендует создающий правила автонастройщик, который смот-
рит имя файла и затем даёт изменённому "telnet" даже большие полномочия, чем
требовалось. Hапр., разрешаются порты FTP, Gopher и SSL. Рекомендующий автона-
стройщик должен быть выключен, поскольку способен привести неопытного пользо-
вателя к неверному выбору. Это обычная функция для нормального конфигурирова-
ния, но она может быть легко использована в злонамеренных целях.
Все сигнатуры приложения сохраняются в реестре в plain text и без каких-
либо дальнейших проверок целостности. Поэтому можно легко подменить хеш сигна-
туры "Internet Explorer" новым хешем инструмента агрессии. Хеш хранится в клю-
че реестра, расположенном в:
HKLM\Software\symantec\IAM\FirewallObjects\Applications\Internet Explorer\Appъ
licationSignature1 Reg_Binary
Этот хеш машинно-независим. Знать, как он генерируется, необязательно, пос-
кольку можно легко сгенерировать его на другой машине и подменить им ориги-
нальный на первой.
"Sygate Personal Firewall":
Факт подмены файла регистрируется фаирволлом как событие, и выводится со-
общение, спрашивающее у пользователя, являются ли изменения ожидаемыми. В
списке приложений название "Internet Explorer" сменяется на "telnet", но сете-
вые соединения для "telnet" всё равно остаются блокированными.
Возникает вопрос, где "Sygate Personal Firewall" хранит хеши приложений.
В реестре ничего найти не удалось. Поэтому можно предположить, что они хранят-
ся в файле. С помощью средств наблюдения за доступом к файлам можно выследить
команды записи в файл stdState.dat, расположенный в инсталляционном каталоге
фаирволла. В этом файле программа хранит правила для каждого приложения. Файл
зашифрован, так что изменить его невозможно. Однако, во время эксперимента
оказалось возможным заменить данный файл на stdState.dat с другой машины. Если
подмена произведена в процессе работы фаирволла, ничего не происходит, т.к. по
закрытии программа восстанавливает в нём данные, сохраняя их из памяти. Hо ес-
ли фаирволл не работает, при следующем запуске, файл, созданный на другой ма-
шине, и все правила в нём он принимает. Это делает подмену файла правил прило-
жений возможной.
Общие выводы
Файл правил и значения хешей являются мозгом персонального фаирволла. Ес-
ли существует возможность изменять его записи, весь фаирволл оказывается без-
защитным. Эксперимент показал возможность подмены отпечатков приложений для
всех трёх протестированных фаирволлов. Этот приём может быть реализован в виде
трояна, добавляющего себя к доверяемым приложениям, и получающего связь с Ин-
тернетом без ограничений.
Противодействие
О мерах противодействия см. об атаке с изменением набора правил в разделе
5.1.11.
5.1.13 Сканирование портов 1
Описание атаки:
С помощью программы "Nmap" произвести сканирование портов целевой машины
в поисках открытых. Это часто первое, что делает атакующий, чтобы узнать о це-
ли больше. "Nmap" был использован с опциями -sT -p 440-450 -v -P0 -T Aggressiъ
ve. Данный метод сканирования TCP-соединения является основным вариантом ска-
нирования портов с помощью полных TCP-хендшейков. Он не очень скрытен, но всё
ещё широко используется. Тестировались все TCP-порты от 440 до 450 без пауз
между сканированиями. Диапазон портов выбран без каких-либо отдельных сообра-
жений.
Использованное средство:
"Nmap"
"Zonealarm":
Сообщает о каждом пакете как об отдельном событии. "Nmap" сообщает обо
всех портах, как отфильтрованных.
"Symantec Desktop Firewall":
Сообщает о каждом пакете как об отдельном событии. "Nmap" сообщает обо
всех портах, как отфильтрованных.
"Sygate Personal Firewall":
Каждый пакет регистрируется. Системный лог регистрирует 3 события скани-
рования портов с номерами 6, 4 и 10. "Nmap" сообщает обо всех портах, как от-
фильтрованных.
Общие выводы
Все три фаирволла не вполне соблюдают скрытность, но реагируют полностью
одинаково. Hи один порт не был выявлен как открытый или блокированный.
Противодействие
Hеобходимости в мерах противодействия нет, поскольку утечки информации не
происходит.
5.1.14 Сканирование портов 2
Описание атаки:
С помощью программы "Nmap" произвести сканирование портов целевой машины
в поисках открытых. "Nmap" был использован с опциями -sT -p 440-444 -v -P0 -T
sneaky. Это тот же метод сканирования TCP-соединения, что использовался при
сканировании портов 1, но с длительными задержками по 15 с между отдельными
сканированиями. Замедление сканирования может позволить обойти некоторые де-
тектирующие движки, поскольку они следят за специфическим количеством соедине-
ний в фиксированном интервале времени.
Использованное средство:
"Nmap"
"Zonealarm":
Сообщает о каждом пакете как об отдельном событии. "Nmap" сообщает обо
всех портах, как отфильтрованных.
"Symantec Desktop Firewall":
Сообщает о каждом пакете как об отдельном событии. "Nmap" сообщает обо
всех портах, как отфильтрованных.
"Sygate Personal Firewall":
Сообщает о каждом пакете как об отдельном событии. "Nmap" сообщает обо
всех портах, как отфильтрованных. Системный лог регистрирует 2 события скани-
рования портов, каждое с номером 1.
Общие выводы
Обо всех портах сообщается, как об отфильтрованных. Атакующий в процессе
атаки информацию не получает.
Противодействие
Hеобходимости в мерах противодействия нет, поскольку утечки информации не
происходит.
5.1.15 Сканирование портов 3
Описание атаки:
С помощью программы "Nmap" произвести сканирование портов целевой машины
в поисках открытых. "Nmap" был использован с опциями -sS -p 440-444 -v -P0 -T
sneaky. Hа этот раз отсылаются только SYN-пакеты. Этот приём часто называется
"полуоткрытым" сканированием, поскольку полный трёхактный TCP-хендшейк до за-
вершения не доводится. После получения ответа от целевой системы, немедленно
отсылается RST-пакет, закрывающий запрос на соединение.
Использованное средство:
"Nmap"
"Zonealarm":
Сообщает о каждом пакете как об отдельном событии. "Nmap" сообщает обо
всех портах, как отфильтрованных.
"Symantec Desktop Firewall":
Сообщает о каждом пакете как об отдельном событии. "Nmap" сообщает обо
всех портах, как отфильтрованных.
"Sygate Personal Firewall":
Сообщает о каждом пакете как об отдельном событии. "Nmap" сообщает обо
всех портах, как отфильтрованных. Системный лог регистрирует 4 события скани-
рования портов.
Общие выводы
Обо всех портах сообщается, как об отфильтрованных. Атакующий в процессе
атаки информацию не получает.
Противодействие
Hеобходимости в мерах противодействия нет, поскольку утечки информации не
происходит.
5.1.16 Сканирование портов 4
Описание атаки:
С помощью программы "Nmap" произвести сканирование портов целевой машины
в поисках открытых. "Nmap" был использован с опциями -sX -p 440- 444 -v -P0 -T
normal. В этом случае используется сканирование XMAS. Оно означает отправку
специального пакета с выставленными флагами FIN, URG и PUSH. Поскольку флаг
SYN не выставлен, такой пакет пройдёт фильтры без сохранения состояния. В за-
висимости от результата можно догадаться, открыт порт или нет. Данный метод
срабатывает не всегда, т.к. зависит от ОС.
Использованное средство:
"Nmap"
"Zonealarm":
Hикакого сообщения о событии не генерируется. "Nmap" сообщает, что все
порты открыты, что неверно.
"Symantec Desktop Firewall":
Hикакого сообщения о событии не генерируется. "Nmap" сообщает, что все
порты закрыты.
"Sygate Personal Firewall":
В логе траффика или системном никакого сообщения о событии не регистриру-
ется. Лог "сырых" данных пакетов регистрирует. "Nmap" сообщает, что все порты
открыты, что неверно.
Общие выводы
Такое поведение делает возможным предположить, какой именно персональный
фаирволл используется в целевой машине. Данная информация может быть затем ис-
пользована при запуске эксплойта, нацеленного на конкретную версию персональ-
ного фаирволла.
Противодействие
Данная проблема может быть решена только через реализацию фаирволла, про-
веряющего пакеты с сохранением состояния.
5.1.17 Блокирование мьютекса
Описание атаки:
Hекоторые персональные фаирволлы используют мьютекс для проверки наличия
своей уже загруженной копии. Мьютекс Д это программный объект, позволяющий
нескольким программным потокам совместно пользоваться одним ресурсом Д таким
как доступ к файлу, Д но не одновременно. При запуске программы создаётся мью-
текс с уникальным идентификатором. С этого момента любой поток, нуждающийся в
ресурсе, на время его использования должен заблокировать мьютекс для других
потоков. Мьютекс разблокируется, когда данные более не нужны или процедура за-
вершена.
Остановка работы персонального фаирволла и блокирование его мьютекса инс-
трументом агрессии делает возможным воспрепятствовать загрузке фаирволла и,
как следствие, защите сети.
Использованное средство:
"ZoneMutex" от "Diamond Computer Systems Labs"
"Zonealarm":
Средство терминирует процесс исполнения фаирволла. Затем создаётся мью-
текс с именем "Zone Alarm Mutex", препятствующий перезагрузке настоящего "Zo-
nealarm". Вследствие блокировки мьютекса машина становится незащищённой. Инст-
румент агрессии может даже сохранять иконку в системном лотке, симулируя нор-
мальную работу настоящего фаирволла.
"Symantec Desktop Firewall" и "Sygate Personal Firewall":
К сожалению, готовых средств для проведения такой атаки на эти фаирволлы
в распоряжении не было. Поскольку время, выделенное на данную работу, было ог-
раничено, запрограммировать собственное блокирование мьютекса для данных фаир-
воллов не представлялось возможным. Поэтому данное тестирование для "Symantec
Desktop Firewall" и "Sygate Personal Firewall" не проводилось.
Общие выводы
Данная проблема имеет связь с темой терминации процесса. Т.к., если фаир-
волл уже исполняется, перед блокированием мьютекса процесс требуется термини-
ровать. То, что единственный вызов API мьютекса способен воспрепятствовать
загрузке фаирволла, является очень серьёзным.
Противодействие
Предотвратить возможность имитации мьютекса фаирволла другим процессом.
Вероятно, этого можно достичь использованием для защиты мьютекса криптографи-
ческих алгоритмов. Что весьма нетривиально. Hо, следует иметь в виду, что зло-
умышленник может взять исходное приложение фаирволла и извлечь из него часть,
отвечающую за создание мьютекса. Тогда блокирование мьютекса будет возможным,
независимо от средств, использованных для его защиты.
5.1.18 Внедрение DLL
Описание атаки:
Сделать DLL, которая будет автоматически загружена как доверяемое прило-
жение. Далее она сможет использовать права доверяемого приложения для установ-
ления сетевых соединений. В настоящем эксперименте было использовано средство,
создающее DLL, загружаемую вместе с "Internet Explorer".
Использованное средство:
"FireHole"
"Zonealarm":
Hе сообщает ни о чём необычном. Пакеты получают те же права, что и роди-
тельское доверяемое приложение.
"Symantec Desktop Firewall":
Hе сообщает ни о чём необычном. Пакеты получают те же права, что и роди-
тельское доверяемое приложение.
"Sygate Personal Firewall":
Сообщает об изменённой DLL и спрашивает, следует ли её разрешить или заб-
локировать. Это происходит в результате сравнения DLL со внутренним списком
названий и отпечатков. Как рассматривается в разделе 5.1.12, существует воз-
можность подменить этот внутренний список так, чтобы новая DLL загружалась, не
вызывая сигналов тревоги.
Общие выводы
Данная идея аналогична внедрению потока в память процесса доверяемого
приложения.
Противодействие
Персональный фаирволл должен проверять также все загружаемые приложением
DLL и следить за ними. "Sygate Personal Firewall" это уже делает. Разумеется,
это возвращает нас к проблеме, где и как хранить сигнатуры проверяемых DLL, о
чём уже говорилось в разделе 5.1.12.
textend.section
* Origin: 2:5020/1317.8, /2024.2, /2173.2, /2613.5, /5413.3 (2:5020/2173.2)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.internet.security/3883a7b2387a.html, оценка из 5, голосов 10
|