Рейтинговые книги
Читем онлайн Защита от хакеров корпоративных сетей - Коллектив авторов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 18 19 20 21 22 23 24 25 26 ... 188

Однажды ночью за чашечкой кофе автор совместно с Дэвидом обсуждали тему получения доступа к системе. Автор, основываясь на своем опыте обеспечения безопасности компьютерных систем, был совершенно убежден в их неприступности даже в том случае, если злоумышленнику удастся получить локальный доступ к системе. Автор был убежден, что защита, основанная на недопущении хранения в стеке выполнимого кода (non-executable stacks), ограниченный по своим возможностям пользовательский интерфейс, средства подмены корневой директории (chrooted environments) и небольшие setuid-программы не позволят злоумышленнику получить права администратора. Дэвид был настолько любезен, что доказал автору вопиющую неправоту его убеждений.

В распоряжении злоумышленника имеются различные способы получения доступа непривилегированного пользователя к локальной системе. Возможно использование непривилегированных сервисов, таких как HTTP-демоны, процессов, работающих в рамках подмененной корневой директории, или других сервисов, запущенных со стандартными правами пользователей. Имеются и иные способы получения доступа к системе. В некоторых случаях пароли, полученные из исходных текстов ASP (Active Server Pages – активные серверные страницы (протокол ASP – разработанная корпорацией Microsoft технология, с помощью которой Web-мастер может динамически формировать автоматически обновляемые Web-страницы)), позволяют злоумышленнику получить доступ обычного пользователя. Печально известная проблема заключается в ошибке фильтрования спецсимволов программами Web-интерфейсов. Если атакующий сможет добиться передачи спецсимволов из Web-интерфейса в систему, то он сможет связать порт системы с оболочкой. Вероятно, это и не позволит ему сейчас получить права администратора, но он получит права HTTP-процесса позднее. По словам Дэвида Ахмада: «Это – только вопрос времени».

Удаленный привилегированный пользовательский доступ

Приобретение злоумышленником удаленного привилегированного пользовательского доступа чревато более тяжкими последствиями. Если удаленный пользователь сможет получить доступ к системе с правами привилегированного пользователя, целостность системы будет нарушена. Можно говорить о получении злоумышленником удаленного привилегированного пользовательского доступа при условии приобретения им прав, предоставляемых учетными записями uucp, root, bin или sys в UNIX-системах, или же Administrator либо LocalSystem в Windows 2000.

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

Большинство сервисов UNIX все еще выполняются с правами привилегированных пользователей. В некоторых из них, как telnet и SSH, недавно были обнаружены серьезные уязвимости. Особенно серьезна ошибка в SSH, первоначально обнаруженная Михаилом Залевски (Michal Zalewski) и преданная огласке в феврале 2001 года. Не вникая в сложные детали, отметим только, что уязвимость позволяет удаленному пользователю инициировать злонамеренное сетевое соединение, защищенное криптографическими средствами, с демоном. После установления соединения злоумышленник может, воспользовавшись недостатками протокола, запустить произвольную программу с правами администратора, связав оболочку с портом, закрепленным за нулевым идентификатором пользователя.

Аналогичная уязвимость была недавно обнаружена в Windows 2000 IIS (Internet Information Server – информационный сервер Internet), что позволило успешно атаковать системы Windows NT. IIS 5.0 выполняется с правами, эквивалентными правам администратора. Проблема заключалась в переполнении буфера индексации инфраструктуры ISAPI IIS 5.0. Благодаря ей стали возможны различные вторжения, например червя Code Red и его модификаций.

Получение удаленного привилегированного пользовательского доступа является целью большинства Троянских коней и скрытых программ (backdoor programs). Такие программы, как SubSeven, Back Orifice, и их варианты могут применяться для получения злоумышленником удаленного привилегированного пользовательского доступа к инфицированной системе. Эти программы широко используют методы социотехники, дезинформации или убеждения, для того чтобы заставить пользователя запустить программу с правами привилегированного пользователя. После их выполнения злоумышленнику потребуется связаться тем или иным способом с запущенной программной, чтобы наблюдать за инфицированной системой, управлять ее работой и работой ее пользователей.

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

То же самое справедливо и для повышения прав на локальной системе. При помощи социотехники или вредной программы пользователь с локальными непривилегированными правами может добиться повышения своих прав на локальной системе.

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

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

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

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

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

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

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

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

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

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

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

1 ... 18 19 20 21 22 23 24 25 26 ... 188
На этой странице вы можете бесплатно читать книгу Защита от хакеров корпоративных сетей - Коллектив авторов бесплатно.
Похожие на Защита от хакеров корпоративных сетей - Коллектив авторов книги

Оставить комментарий