Расширение прав
Расширение прав присуще большинству нападений. Оно наблюдается после получения пользователем доступа к ранее недоступному ресурсу. Этим ресурсом может быть все, что угодно: от получения удаленного доступа к системе до получения прав администратора на хосте. Известны различные формы расширения прав.
Удаленное расширение прав
Классификация удаленного расширения прав предусматривает два варианта. Первый – удаленный непривилегированный доступ, позволяющий удаленному пользователю получить неавторизованный доступ законного пользователя к системе. Второй – мгновенный доступ с правами администратора.
Пользователь может получить удаленный доступ при помощи обработки специальных символов в Web-интерфейсах, программных ошибок переполнения буфера, ошибок форматирования строк или утечки информации. Это серьезная угроза для нормальной работы системы.
Удаленный непривилегированный пользовательский доступ
При атаках на систему с использованием непривилегированных процессов можно наблюдать удаленное расширение прав непривилегированного пользователя. Подобное квалифицируется как расширение прав из-за того, что злоумышленник, не имеющий доступа к локальной системе до атаки, в результате атаки получает его. Некоторые люди, как ранее и сам автор, только усмехнутся, прочитав это. Координатор Bugtraq Дэвид Ахмад (David Ahmad) переубедил автора.
Однажды ночью за чашечкой кофе автор совместно с Дэвидом обсуждали тему получения доступа к системе. Автор, основываясь на своем опыте обеспечения безопасности компьютерных систем, был совершенно убежден в их неприступности даже в том случае, если злоумышленнику удастся получить локальный доступ к системе. Автор был убежден, что защита, основанная на недопущении хранения в стеке выполнимого кода (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, и их варианты могут применяться для получения злоумышленником удаленного привилегированного пользовательского доступа к инфицированной системе. Эти программы широко используют методы социотехники, дезинформации или убеждения, для того чтобы заставить пользователя запустить программу с правами привилегированного пользователя. После их выполнения злоумышленнику потребуется связаться тем или иным способом с запущенной программной, чтобы наблюдать за инфицированной системой, управлять ее работой и работой ее пользователей.
Целью других атак может быть получение прав иных привилегированных пользователей, отличных от администратора. Злоумышленник, завладевший такими правами, сильно отличается по своим возможностям от обычного пользователя, поскольку теперь он может получить доступ к жизненно важным компонентам системы. К тому же пользователь, получивший доступ к системным учетным записям, отличным от записи администратора, вероятно, позднее сможет получить его права.
То же самое справедливо и для повышения прав на локальной системе. При помощи социотехники или вредной программы пользователь с локальными непривилегированными правами может добиться повышения своих прав на локальной системе.
Больше книг — больше знаний!
Заберите 30% скидку новым пользователям на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУДанный текст является ознакомительным фрагментом.