В OpenBSD реализована техника защиты от эксплуатации уязвимостей, основанная на случайной перекомпоновке исполняемого файла sshd при каждой загрузке системы.
Ранее подобная техника перекомпоновки применялась в отношении ядра и библиотек libc.so, libcrypto.so и ld.so, а теперь будет применена и для некоторых исполняемых файлов. В ближайшее время метод также планируется реализовать для ntpd и других серверных приложений. Изменение уже включено в состав ветки CURRENT и будет предложено в выпуске OpenBSD 7.3.
Перекомпоновка позволяет сделать малопредсказуемым смещения функций в библиотеках, что затруднит создание эксплоитов, использующие методы возвратно-ориентированного программирования (ROP - Return-Oriented Programming). При использовании техники ROP атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися в загруженных библиотеках кусками машинных инструкций, завершающихся инструкцией возврата управления (как правило, это окончания библиотечных функций). Работа эксплоита сводится к построению цепочки вызовов подобных блоков ("гаджетов") для получения нужной функциональности.
// cc-by opennet.ru
// converted with crypt’s opennet autoreposter
<<<
пока мир переходил на раст, openbsd все еще пытались обезопасть 500 строк кода от переполнения буфера.
при всей моей любви к надежным системам, они так забили на все остальное, что это теряет смысл.
«пока мир переходил на раст, openbsd все еще пытались обезопасть 500 строк кода от переполнения буфера.» Атаки через ROP - это про другое.
в смысле про другое?! сам посмотри сначала.
«пока мир переходил на раст» Как будто что-то хорошее.
Не просто хорошее - замечательное =)
баги адресации, которые находят даже в опенбзд, спустя 20 лет, - это хорошо для хакеров и плохо для админов.
Полагаю всякие ошибки переполнения приводящие к перезаписи того что перезаписываться не должно, это следствие того что когда то очень сильно экономили байты. Что отразилось на процессорах, ABI и компиляторах.
при всей моей любви к надежным системам, они так забили на все остальное, что это теряет смысл.
они не забили на остальное, там активных разрабов около 100 человек. Они пилят что успевают, и что им интересно.




