Доступ к специальным файлам / базам данных – еще одно средство получения доступа к системным ресурсам. Ранее обсуждалась возможность использования специальных файлов для получения важной информации, например паролей. База данных – хранилище важной информации о ресурсах системы. Доступ к базе данных может быть получен в результате использования ошибок в обслуживающем их программном обеспечении, например ошибок в Web-интерфейсе или программных ошибок типа переполнения буфера. Ну и конечно, от злоумышленника потребуются определенные усилия, чтобы разобраться с разграничением доступа в базах данных.
Удаленное выполнение программ – серьезная проблема, позволяющая злоумышленнику взять под свой контроль атакованную систему. Эта угроза легко реализуется в тех случаях, когда в системе не предусмотрена аутентификация. Удаленное выполнение программ осуществляется при помощи автоматизированного инструментария, накладывающего те или иные ограничения на используемые программы.
О расширении прав говорят в случае, когда неавторизованный пользователь получил доступ к ресурсу, хотя ранее он им не обладал. Были рассмотрены варианты удаленного получения доступа на правах как привилегированного, так и непривилегированного пользователя. В первом случае при помощи демонов HTTP на UNIX-системах, во втором – при помощи таких служб, как демоны SSH. В главе также обсуждались вопросы применения Троянских коней и методов социотехники для получения привилегированного пользовательского доступа к хосту. Отмечалось сходство методов удаленного и локального расширения прав.
Тестирование уязвимостей – необходимая и обязательная обязанность всякого, кто занимается администрированием систем или обеспечением их безопасности. Доказательство возможности нападения (proof of concept) – один из методов тестирования, который используется для доказательства существования уязвимостей. Другие методы заключаются в применении демонстрирующих проблему программ, автоматизированного инструментария безопасности и контроля версий (versioning) для обнаружения уязвимых версий программного обеспечения.
Опытный злоумышленник применяет различные методы подготовки атак. Базы данных Whois могут использоваться для сбора разносторонней информации о системе, доменах и сетях. Такие средства DNS, как утилита dig, могут использоваться для сбора информации о хостах и используемом ими программном обеспечении, а nslookup – для идентификации почтовых серверов доменов. В главе кратко освещены вопросы сканирования сети при помощи Nmap. Сканирование сети позволяет выудить сведения о сервисах операционных систем хостов. Наконец, обсуждался спайдеринг для сбора сведений о сайте: его расположении и наличии на нем потенциально важной информации.
Обзор классов атак
· По своему результату атаки разбиты на семь классов: отказ в обслуживании, утечка информации, нарушение прав доступа к файлу, дезинформация, получение доступа к специальным файлам / базам данных, удаленное выполнение программ и расширение прав.
· Отказ в обслуживании хоста может быть достигнут в результате локальной или DOS-атаки из сети.
· Атаке почти всегда предшествует анализ сведений, полученных в результате утечки информации.
· Незащищенная директория и неверные права доступа к файлу могут позволить локальному злоумышленнику получить доступ к информации, важной для других пользователей.
· Скомпрометированной системе нельзя доверять ни при каких обстоятельствах до тех пор, пока она не будет восстановлена с безопасного носителя (например, дистрибутива производителя).
· Атаки на базы данных могут использовать либо бреши программного интерфейса, например Web-интерфейса, либо ошибки программного обеспечения баз данных, например переполнение буфера.
· Большинство уязвимостей, используемых для удаленного выполнения программ, могут быть в значительной мере обезврежены при помощи ограничения прав доступа, замены корневой директории (change rooting) и недопущения помещения в стек программ (non-executable stack protection).
· При расширении прав доступа злоумышленник может получить удаленный непривилегированный и привилегированный доступы или локальный привилегированный доступ.
Методы тестирования уязвимостей
· Тестирование уязвимостей – необходимая часть обеспечения безопасности систем.
· Доказательство возможности нападения (proof of concept) – лучший метод определения любой уязвимости, поскольку он помогает определить суть уязвимости, место ее нахождения и способ защиты.
Читать дальше
Конец ознакомительного отрывка
Купить книгу