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