Если злоумышленник получает доступ к системе, но его прав недостаточно для осуществления своих замыслов, то, вероятнее всего, он попытается расширить свои права.
Расширение прав
Расширение прав присуще большинству нападений. Оно наблюдается после получения пользователем доступа к ранее недоступному ресурсу. Этим ресурсом может быть все, что угодно: от получения удаленного доступа к системе до получения прав администратора на хосте. Известны различные формы расширения прав.
Классификация удаленного расширения прав предусматривает два варианта. Первый – удаленный непривилегированный доступ, позволяющий удаленному пользователю получить неавторизованный доступ законного пользователя к системе. Второй – мгновенный доступ с правами администратора.
Пользователь может получить удаленный доступ при помощи обработки специальных символов в Web-интерфейсах, программных ошибок переполнения буфера, ошибок форматирования строк или утечки информации. Это серьезная угроза для нормальной работы системы.
Удаленный непривилегированный пользовательский доступ
При атаках на систему с использованием непривилегированных процессов можно наблюдать удаленное расширение прав непривилегированного пользователя. Подобное квалифицируется как расширение прав из-за того, что злоумышленник, не имеющий доступа к локальной системе до атаки, в результате атаки получает его. Некоторые люди, как ранее и сам автор, только усмехнутся, прочитав это. Координатор Bugtraq Дэвид Ахмад (David Ahmad) переубедил автора.
Однажды ночью за чашечкой кофе автор совместно с Дэвидом обсуждали тему получения доступа к системе. Автор, основываясь на своем опыте обеспечения безопасности компьютерных систем, был совершенно убежден в их неприступности даже в том случае, если злоумышленнику удастся получить локальный доступ к системе. Автор был убежден, что защита, основанная на недопущении хранения в стеке выполнимого кода (non-executable stacks), ограниченный по своим возможностям пользовательский интерфейс, средства подмены корневой директории (chrooted environments) и небольшие setuid-программы не позволят злоумышленнику получить права администратора. Дэвид был настолько любезен, что доказал автору вопиющую неправоту его убеждений.
В распоряжении злоумышленника имеются различные способы получения доступа непривилегированного пользователя к локальной системе. Возможно использование непривилегированных сервисов, таких как HTTP-демоны, процессов, работающих в рамках подмененной корневой директории, или других сервисов,