В OpenBSD для sshd применена перекомпоновка во время загрузки

В OpenBSD реализована техника защиты от эксплуатации уязвимостей, основанная на перекомпоновке исполняемого файла sshd со случайной перегруппировкой библиотек (libc.so, libcrypto.so, ld.so и т.п.) при каждой загрузке системы. В ближайшее время подобную защиту также планируется реализовать для ntpd и других серверных приложений. Изменение уже включено в состав ветки CURRENT и будет предложено в выпуске OpenBSD 7.3.

Перекомпоновка позволяет сделать малопредсказуемым смещения функций в библиотеках, что затруднит создание эксплоитов, использующие методы возвратно-ориентированного программирования (ROP — Return-Oriented Programming). При использовании техники ROP атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися в загруженных библиотеках кусками машинных инструкций, завершающихся инструкцией возврата управления (как правило, это окончания библиотечных функций). Работа эксплоита сводится к построению цепочки вызовов подобных блоков («гаджетов») для получения нужной функциональности.

Источник: http://www.opennet.ru/opennews/art.shtml?num=58520