[сканер уязвимостей веб-сайта XSpider]материал подготовил: Александр Лозовюк 21.10.2004
Чем активнее разные государственные и коммерческие структуры обзаводятся собственными представительствами в интернете, тем больше различные злоумышленники пытаются использовать веб-сайт для давления на владельца или просто как средство проникновения в сеть компании и скачивания конфиденциальной информации. Сейчас веб-сайт — уже не просто статическая страница; многие сайты представляют собой полноценные бизнес-инструменты, предоставляющие услуги тысячам пользователей и приносящие прибыль владельцам. Поэтому простой сайта даже в течение часа (а для широко известных сайтов с посещаемостью в сотни тысяч человек в день это время измеряется уже в минутах) грозит не только потерей прибыли, но и потерей имиджа, «лица» компании — ведь если клиент придет что-то купить и не увидит вашего сайта — на расстоянии одного клика будет сайт конкурента, куда и пойдет разочарованный посетитель. Худшей ситуацией может быть взлом сайта и хищение конфиденциальной информации о пользователях, их персональных данных (пароли, номера счетов, файлы, номера кредитных карточек и так далее) — такая ситуация чревата не только прямыми потерями, но и исками от разгневанных пользователей.
Поэтому в стандартный инструментарий веб-разработчика или администратора веб-сервера обязательно должны входить средства не только для упрощения кодирования и разработки, администрирования, но и для анализа безопасности веб-сайта. К такому роду инструментов принадлежат так называемые «сканеры безопасности» — специальные программы, анализирующие (сканирующие) указанный веб-сайт (хост) и, имитируя действия злоумышленника, пытающиеся выявить возможные прорехи в безопасности анализируемого хоста. Сканеры безопасности имеют широкое применение для анализа уязвимостей в локальных и корпоративных сетях на предмет устойчивости всей сети и отдельных компьютеров к вирусам, троянским программам и сетевым червям, а также направленным атакам злоумышленников как извне (с компьютеров, не подключенных непосредственно к сети компании), так и изнутри — к примеру, с компьютера временно покинувшего свое место сотрудника. Одним из самых известных таких сканеров является NeWT от компании Tenable Network Security Inc. Но для анализа уязвимостей именно веб-сайта подобный инструмент не слишком хорош, поэтому существуют специализированные сканеры именно для анализа сайтов.
Для сканирования веб-сайтов нужны специальные сканеры
Одной из лучших программ подобного рода является XSpider, разработка российской компании Positive Technologies. Сама программа работает под Windows 2000/XP, но сайты, которые анализируются, могут работать под управлением любой ОС и на любой аппаратной платформе. Следует наперед отметить, что подобные средства являются пассивными — сканер указывает на брешь в веб-сайте (к примеру, установленная версия серверного ПО не содержит необходимого патча и подвержена атакам), но принимать меры по обеспечению безопасности должен администратор узла. Но это не всегда выполнимо в случае виртуального хостинга — вряд ли его хозяева будут ставить новую версию веб-сервера или базы данных только по желанию одного клиента. Ведь в случае виртуального хостинга на одном сервере работает множество сайтов, и изменения затронут всех. Поэтому идеальной будет ситуация, когда сами сотрудники хостинг-провайдера используют сканер для мониторинга своих серверов и своевременно устраняют уязвимости или информируют о них клиентов (к примеру, открытые для публичного доступа каталоги или ошибки в скриптах клиента). Прецедент подобной услуги есть — недавно хостниговая компания .masterhost объявила о сотрудничестве с Positive Technologies и использовании именно сканера XSpider для анализа безопасности сайтов своих клиентов. Подробнее
об этом можно прочитать в пресс-релизе компании.
Что же собой представляет сканер Xspider? Сейчас доступна версия 7.0.916 от 9.07.2004, которую можно свободно скачать с сайта. Это демо-версия, основанная на коммерческой, но с отключенными некоторыми функциями, в частности, проверками на DoS-уязвимости (не полностью, а только некоторые виды проверок), недоступна система онлайнового обновления базы уязвимостей, а также ограничена функциональность отчетов. Но даже демо-версию можно использовать для базовой проверки своего сайта. Если это обычный сайт, и проверки будут эпизодическими, то такой проверки будет достаточно, однако при серьезной работе необходимо приобрести коммерческую версию. Хотя можно ограничиться и предыдущей версией, XSpider 6.50 (выпуск 6.5.0.12 от 25.12.2002) — она распространяется совершенно бесплатно, и хоть ее разработка и поддержка давно прекращена, ее можно применять при сканировании простых сайтов, когда не идет речь о профессиональной защите и аудите безопасности коммерческого веб-сайта.
XSpider — один из наиболее мощных сканеров
Процесс сканирования достаточно прост — сперва водится доменное имя хоста, IP-адрес или диапазон адресов, которые будут сканироваться. дальше запускается сам процесс сканирования — для отдельного хоста или всех введенных. Сначала сканер выводит список всех доступных портов на сканируемом хосте, потом пробует распознать с помощью различных алгоритмов (в том числе и эвристических), какой сервис и какое программное обеспечение установлено на сервере. Применение различных, часто нетривиальных алгоритмов определения сервисов позволяет определить даже сервисы, использующие нестандартные порты. Еще одним немаловажным аспектом является точное определение программного обеспечения и точного номера версии и сборки, что необходимо для корректного поиска по базе данных уязвимостей и формирования отчета.
Сканирование хоста — очень простая процедура
дальше сканер начинает анализировать протоколы (FTP, HTTP, DNS, SMTP и другие), пытаясь выявить возможные места атаки. В демо-версии отключены некоторые виды анализа на потенциальную возможность проведения DoS-атак, но базовые проверки все же присутствуют. Сканирование на предмет DoS-атак сопряжено с опасностью для сайта, поскольку для анализа программа сама «прикидывается» злоумышленником, и в процессе анализа сайт может быть перегружен или «упасть». Но все же лучше, чтобы это произошло во время контролируемого сканирования, а не под натиском взломщиков.
Потом сканер проверяет на доступность ряд стандартных каталогов — к примеру, /test, /images, /download и другие (список довольно большой) — и выдает рекомендации по ограничению доступа к ним — некоторые скрипты после установки могут оставлять открытыми для записи служебные каталоги, через которые впоследствии злоумышленник может атаковать систему.
Кроме стандартных каталогов, проверяется также доступность файлов по умолчанию (к примеру, index.html, default.phtml и других), а также анализируется их содержимое, которое также может служить источником уязвимостей.
На предмет уязвимостей тестируются также и сервер баз данных, и другое серверное ПО — серверы Apache, Tomcat, SSH, BIND и все другие программы, отвечающие за реализацию сетевых сервисов на стороне сервера.
Сканер анализирует порты и протоколы
Все обнаруженные уязвимости собираются в один отчет, в котором присутствует описание найденной потенциальной дыры, указываются конкретные версии ПО, подверженные той или иной атаке. В разделе «решение» отчета можно прочитать о том, как наиболее эффективно и быстро закрыть уязвимость, а в разделе «Ссылки» даются ссылки на материалы специализированных сайтов, описывающие указанную проблему, ссылки на страницы разработчиков ПО с описанием решения проблемы и другие материалы по теме.
Сам процесс сканирования довольно продолжительный, особенно если задать несколько хостов, но все найденные уязвимости немедленно выводятся на экран по мере обнаружения, так что можно, не дожидаясь окончания сканирования, загрузить страницы с описаниями пробл
ем и изучить их.
Напоследок скажем, что интерфейс сканера XSpider довольно функционален и удобен, так что им может пользоваться как опытный администратор, так и обычный веб-мастер, решивший проверить свой сайт. В заключение сканирования все результаты можно просмотреть в виде удобного красочного структурированного отчета, который легко экспортируется в любой формат (в демо-версии эта функция ограничена). Безусловно, в продукте такого класса есть много возможностей по тонкой настройке, и его профессиональное применение требует определенных навыков — но однозначно можно сказать, что сканер безопасности должен быть у каждого разработчика и администратора сети.