Исполнительный Щит
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2007 г. ) |
Exec Shield — это проект, начатый в Red Hat , Inc в конце 2002 года с целью снижения риска червей или других автоматических удаленных атак на системы Linux. Первым результатом проекта стал патч безопасности для ядра Linux , который эмулирует бит NX на x86 процессорах , у которых отсутствует встроенная аппаратная реализация NX. Хотя в проекте Exec Shield было много других компонентов, некоторые люди называют этот первый патч Exec Shield.
Первый патч Exec Shield пытается пометить память данных как неисполняемую, а память программ как недоступную для записи. Это подавляет многие уязвимости безопасности , например, связанные с переполнением буфера и другими методами, основанными на перезаписи данных и вставке кода в эти структуры. Exec Shield также обеспечивает некоторую рандомизацию макета адресного пространства для mmap () и базы кучи.
Патч дополнительно увеличивает сложность вставки и выполнения шеллкода , делая большинство эксплойтов неэффективными. Для полноценного использования exec-shield не требуется перекомпиляция приложения, хотя некоторые приложения ( Mono , Wine , XEmacs , Mplayer ) не полностью совместимы.
Другими функциями, появившимися в проекте Exec Shield, были исполняемые файлы, независимые от позиции (PIE), патч рандомизации адресного пространства для ядер Linux, широкий набор внутренних проверок безопасности glibc, которые делают практически невозможными эксплойты кучи и форматных строк, GCC Fortify Source. функция, а также перенос и объединение функции защиты стека GCC .
Выполнение
[ редактировать ]Exec Shield работает на всех процессорах x86, использующих ограничение на сегмент кода. Благодаря принципу работы Exec Shield он очень легкий; однако он не будет полностью защищать произвольные структуры виртуальной памяти . Если предел CS увеличивается, например, путем вызова mprotect(), чтобы сделать исполняемый файл с большим объемом памяти, то защита теряется ниже этого предела. Инго Молнар указывает на это в переписке по электронной почте. Большинство приложений вполне справляются с этим; стек (важная часть) по крайней мере оказывается выше любых сопоставленных библиотек, поэтому не становится исполняемым, кроме как при явных вызовах приложения.
По состоянию на август 2004 г. ничто из проектов Exec Shield не пытается обеспечить защиту памяти путем ограничения mprotect () на любой архитектуре; хотя изначально память может не быть исполняемой, она может стать исполняемой позже, поэтому ядро позволит приложению помечать страницы памяти как доступные для записи и как исполняемые одновременно. Однако в сотрудничестве с проектом Security-Enhanced Linux (SELinux) стандартная политика дистрибутива Fedora Core запрещает такое поведение для большинства исполняемых файлов, за некоторыми исключениями по соображениям совместимости.
История
[ редактировать ]Exec Shield был разработан разными людьми в Red Hat; первый патч был выпущен Инго Молнаром из Red Hat и впервые выпущен в мае 2003 года. Он является частью Fedora Core 1–6 и Red Hat Enterprise Linux, начиная с версии 3. [ 1 ] [ 2 ] Среди других вовлеченных людей - Якуб Елинек, Ульрих Дреппер , Ричард Хендерсон и Арьян ван де Вен.
В 2007 году Молнар прокомментировал на LWN.net, что «части [exec-shield] пошли вверх по течению, но значительная часть - нет». [ 3 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Примечания к выпуску Fedora Core 1» . Красная шляпа, Inc. Ноябрь 2003 г. Архивировано из оригинала 2 декабря 2003 г. Проверено 18 октября 2007 г.
- ^ ван де Вен, Арьян (август 2004 г.). «Новые улучшения безопасности в Red Hat Enterprise Linux v.3, обновление 3» (PDF) . Красная шляпа, Inc. Архивировано из оригинала (PDF) 12 мая 2005 г. Проверено 18 октября 2007 г.
- ^ «время, необходимое для включения проекта в исходное ядро [LWN.net]» . lwn.net .
Внешние ссылки
[ редактировать ]- Веб-страница патча Exec Shield Инго Молнара. Архивировано 4 марта 2016 г. на Wayback Machine , включает документацию в файле ANNOUNCE-exec-shield. Архивировано 5 августа 2004 г. на Wayback Machine.
- Тематическая статья Newsforge
- Статья в журнале Red Hat Magazine/проект
- Негативные проблемы безопасности с ExecShield