Читаем Защита от хакеров корпоративных сетей полностью

Методы тестирования уязвимостей

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

До этого момента в главе были обсуждены различные типы уязвимостей, которые могли привести к проникновению злоумышленника в систему. В этой секции будет уделено внимание поиску и доказательству существования уязвимостей в системе, в том числе с использованием специальных программ. Также будут рассмотрены методы сбора информации о системе до начала атаки на нее, например применение программы Nmap.

Доказательство возможности нападения

Общепризнанный метод, используемый сообществом безопасности, получил название доказательство возможности нападения (proof of concep). Про доказательство возможности нападения можно сказать, не вдаваясь в излишние подробности, что это изученный со всех сторон надежный метод тестирования систем на уязвимости. Обычно он применяется разработчиком программы или аналитиком по безопасности в форме максимально гласной дискуссии.

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

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

Написание программ, демонстрирующих проблему

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

Написание программ, демонстрирующих проблему, может быть отнесено к доказательству возможности нападения, поскольку в результате на практике демонстрируется существование уязвимости и детали атаки на нее. Программа может быть написана на разных языках: например, C, Perl или ассемблер.

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

Зачастую производитель с удовольствием не торопился бы с выпуском заплаток, позволяя злоумышленнику, знающему об уязвимости и инструментарии работы с ней, воспользоваться ею. Поэтому написание демонстрирующих проблему программ позволяет акцентировать на ней внимание и подстегнуть производителей, перекладывая на их плечи всю ответственность после обнародования сведений об уязвимости.

Как уже говорилось, обсуждаемые программы – обоюдоострый меч. Предание гласности программ, демонстрирующих проблему, на практике означает появление работающих программ, которые могут служить источником личной выгоды. Большинство форумов, на которых разглашаются технические детали уязвимостей программного обеспечения и распространяются использующие их программы, многими участниками оцениваются по-разному. Обсуждение программ на форуме может позволить некоторым непорядочным членам форума воспользоваться свободно распространяемыми программами демонстрации проблем для личной или злонамеренной выгоды.

Автоматизированный инструментарий безопасности

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже