Что не так с предварительно скомпилированными заголовками и ASLR?
Я читал его на нескольких сайтах, в которых предварительно скомпилированные заголовки и рандомизация расположения адресного пространства несовместимы. Что делает их несовместимыми? Что нужно сделать, чтобы это исправить?
Мой вопрос не зависит от ОС, я слышал, что это проблема в Linux с grsecurity и в новых версиях Windows. (И я не знаю, что еще имеет ASLR.)
1 ответ
Предварительно скомпилированные заголовки не являются несовместимыми с ASLR.
Конкретный метод, использованный для реализации предварительно скомпилированных заголовков, который использовался в более старых версиях компилятора Visual C++, был нарушен ASLR. В блоге группы разработчиков Visual C++ есть статья с подробным описанием проблемы и объяснением того, как она была устранена. Для Visual C++ 2008 с пакетом обновления 1 (SP1) доступно исправление, а проблема отсутствует в Visual C++ 2010.
Возможно, в Linux была похожая проблема, я действительно не знаю. Я не эксперт по Linux, безопасности Linux или GCC.