В OpenBSD е реализирана техника за защита от експлоатация на уязвимости, основаваща се на произволна преработка на изпълнимия файл sshd при всяко стартиране на системата. Преди подобна техника за преработка се прилагаше за ядрото и библиотеките libc.so, libcrypto.so и ld.so, а сега ще бъде приложена и за някои изпълними файлове. В обозримо бъдеще методът също така се планира да бъде реализиран за ntpd и други сървърни приложения. Изменението вече е включено в клон CURRENT и ще бъде предложено в изданията на OpenBSD 7.3.
Производството на произволни смещения на функции в библиотеките позволява да се затрудни създаването на експлойти, използващи методи на връщащото се ориентирано програмиране (ROP — Return-Oriented Programming). При използването на техниката ROP атакуващият не се опитва да разположи своя код в паметта, а работи със вече съществуващите парчета машинни инструкции в заредените библиотеки, завършващи с инструкция за връщане на управлението (обикновено това са краищата на библиотечни функции). Работата на експлойдите се свежда до изграждане на верига от повиквания на подобни блокове („гаджети“) за получаване на необходимата функционалност.
Източник: opennet.ru
