Применение автоматизированных инструментальных средств для тестирования на проникновение
· Современные автоматизированные инструментальные средства во время сканирования на самом деле не проникают в изучаемый хост. Они лишь проверяют хост на присутствие в нем возможных уязвимостей.
· Остерегайтесь ложных срабатываний и бойтесь упущений.
· Как правило, для получения наиболее достоверных результатов рекомендуется использовать комбинацию из нескольких инструментальных средств, как коммерческих, так и свободно распространяемых.
Случаи, когда инструментальных средств недостаточно
· Ни одно из автоматизированных инструментальных средств не является совершенным до такой степени, чтобы на него можно было полностью положиться.
· Твердое понимание уязвимостей и условий, при которых можно воспользоваться ими в злонамеренных целях, является обязательным.
· При наличии желания проникнуть в хост или внутреннюю сеть обязательно потребуются собственные скрипты и другой инструментарий.
Вопрос: Существует ли в Интернете ресурс, на котором были бы перечислены все коммерческие и свободно распространяемые инструментальные средства сканирования?
Ответ: Хорошим, но немного устаревшим, является подготовленная Талискером (Talisker) страница «Сетевые вторжения» (Network Intrusion), расположенная по адресу www.networkintrusion.co.uk. Дополнительным ресурсом может послужить сайт Security Focus (www.securityfocus.com), на котором можно найти большой список различных инструментальных средств.
Вопрос: Какой коммерческий сканер уязвимости является для автора любимым? Ответ: Все зависит от среды и обязательств, принятых автором. Автор использовал и все еще использует большинство коммерческих программ, но наиболее часто он применяет сканеры IIS Internet Scanner и eEye Retina.
Вопрос: Разве коммерческие сканеры уязвимости не являются опорой для специалистов в области защиты, у которых на самом деле нет достаточных навыков или знаний о реальных проблемах защиты? Ответ: К сожалению, в области безопасности в настоящее время наблюдается наплыв людей и организаций, которые думают, что все, что нужно для того, чтобы стать консультантом в области защиты, – это автоматизированный инструментарий. Перед приемом на работу любого консультанта в области защиты просмотрите все его дипломы и рекомендации и основательно изучите их.
Вопрос: Какие инструментальные средства удаленного доступа могут быть использованы во время теста на проникновение как средство получения дальнейшего доступа с помощью уже скомпрометированного хоста? Ответ: В настоящее время для реализации сказанного нет общедоступного инструментального средства, кроме разве что сканера eEye Retina. Разработчики сканера eEye Retina утверждают, что он использует полученную в результате сканирования информацию для компрометации других хостов, чьи IP-адреса были определены перед началом сканирования. Новые инструментальные средства, разрабатываемые компанией CORE-SDI, будут также обладать такой возможностью, которая, кажется, выглядит вполне многообещающей.
Глава 18 Сообщения о проблемах безопасности
В этой главе обсуждаются следующие темы:
• Почему необходимо сообщать о проблемах безопасности
• Когда и кому направить сообщение
• Какие подробности следует опубликовать
· Резюме
· Конспект
· Часто задаваемые вопросы
Если вы прочли предыдущие главы этой книги, вам, должно быть, сложно не замечать уязвимостей программных продуктов и служб. Однако их намного больше, чем может показаться на первый взгляд. Когда они обнаруживаются (не важно, какими средствами), нужно решить, как поступить с полученными сведениями.
Кому сообщить об уязвимости и насколько подробным должно быть это сообщение, зависит от многих обстоятельств. Прежде всего степень подробности сообщения зависит от того, как много времени вы потратили на изучение проблемы и насколько вы интересуетесь исследованиями такого рода. Если вы не имеете склонности к самостоятельным изысканиям, можете просто сообщить о найденной уязвимости исследователям, занимающимся проблемами безопасности, как будет описано далее в этой главе. Но вы можете зайти так далеко, что разработаете код, использующий уязвимость; в некоторых случаях проблема легко поддается изучению. Тогда придется принять решение – будете ли вы публиковать код, использующий уязвимость, и когда.
До сих пор не существует единого мнения о том, насколько детальным должно быть сообщение о проблемах безопасности и нужно ли включать в него код, использующий уязвимость. И не похоже, что согласие по данному вопросу будет достигнуто в ближайшее время. Достоинства и недостатки различных подходов к данной проблеме и будут обсуждаться в этой главе.
Почему необходимо сообщать о проблемах безопасности
Прежде всего: почему нужно сообщать о проблемах безопасности? В конце концов, разве сами производители не тестируют свою продукцию, перед тем как предложить ее потребителям? Они обязаны гарантировать отсутствие ошибок. Разумеется, большинство производителей стараются выпускать качественную продукцию. Но они тоже люди и тоже могут ошибаться. Поэтому в любом продукте можно обнаружить уязвимости, точно так же как и другие программные ошибки. Кроме того, при тестировании программного обеспечения невозможно воспроизвести все возможные условия его эксплуатации. Многие проблемы обычно возникают при нестандартном, не предусмотренном производителем использовании программ. Поэтому, несмотря на то что некоторые ошибки и уязвимости выявляются и устраняются самими производителями, в основном большая часть дефектов обнаруживается обычными пользователями и, конечно, специалистами по компьютерной безопасности. Если вы относитесь к числу последних, то, скорее всего, уже знаете, что делать при обнаружении уязвимости программного обеспечения. Однако если вы обычный пользователь, то можете и не подозревать, как и кому сообщить об обнаруженной вами возможной уязвимости. В таком случае, прочитав эту главу, вы узнаете, как принято делать подобные сообщения.
Вы, наверное, считаете, что у вас нет ни времени, ни желания искать уязвимые места в используемых программах. Но дело в том, что специальный поиск не требуется. Большинство дефектов было обнаружено совершенно случайно. Пытаясь понять, почему программа работает с ошибками, вы можете обнаружить, что причиной проблем является намного более сложный дефект, чем вы предполагали вначале.
При обнаружении уязвимости в программном обеспечении ваш долг – сообщить о ней производителю, специалистам по безопасности или как можно большему числу пользователей. Не стоит думать, что обнаруженный вами дефект недостаточно важен, или уповать на то, что кто-то другой сделает это вместо вас. Нет никакой гарантии, что другой пользователь, найдя уязвимость в программе, не воспользуется ею для своих целей. Время от времени обнаруживается, что сообщения об уязвимости не поступали годами и все это время ее использовали злоумышленники.
Например, в некоторых кругах уже давно все знали, что для прерывания модемного соединения с Интернетом достаточно послать запрос отклика, в который включена управляющая последовательность символов, заставляющая модем прервать соединение (+++ATH). Производители не беспокоились о решении этой проблемы до тех пор, пока этот вопрос не стал обсуждаться в открытых форумах, посвященных безопасности. Очевидно, что если вы не сообщаете об уязвимости программного обеспечения и ее исправлением никто не занимается, вы оставляете других открытыми для атаки.
Умолчав о найденной вами уязвимости, вы рискуете создать пропасть между теми, кто осведомлен о проблеме, и всеми прочими. Известно, что некоторые недобросовестные команды, проводящие испытания на проникновение, и консультанты по безопасности скрывают информацию о найденной ими уязвимости, чтобы обеспечить возможность успешного проникновения. Другие же могут утверждать, что они еще не закончили исследования масштабов уязвимости, в то время как на самом деле никакие исследования уже не проводятся.
В обоих случаях сокрытие информации должно вызывать обеспокоенность, так как большинство пользователей не осведомлены об уязвимости, известной только немногим. И пока кто-нибудь другой не обнаружит этот дефект или пока эти немногие не объявят о нем, производители не смогут начать работу по устранению проблемы. Следовательно, как только возникают достаточно серьезные основания предполагать существование уязвимости, тот, кто ее обнаружил, должен сообщить о ней (по крайней мере, производителю).
Полное раскрытие