V OpenBSD je implementovaná technika ochrany proti zneužívaniu zraniteľností, ktorá je založená na náhodnej prekombinácii spustiteľného súboru sshd pri každom spustení systému. Predtým sa podobná technika prekombinácie používala na jadro a knižnice libc.so, libcrypto.so a ld.so, a teraz bude aplikovaná aj na niektoré spustiteľné súbory. V blízkej budúcnosti sa plánuje táto metóda implementovať aj pre ntpd a ďalšie serverové aplikácie. Zmena už bola zahrnutá do vetvy CURRENT a bude navrhnutá v vydaní OpenBSD 7.3.
Prekombinácia umožňuje znížiť predvídateľnosť posunov funkcií v knižniciach, čo sťaží vytváranie exploitov, ktoré používajú metódy návratovo orientovaného programovania (ROP - Return-Oriented Programming). Pri používaní techniky ROP sa útočník nepokúša umiestniť svoj kód do pamäte, ale pracuje so segmentmi strojových inštrukcií, ktoré už existujú v načítaných knižniciach a končia inštrukciou na vrátenie riadenia (zvyčajne sú to konce funkcií knižníc). Práca exploitov spočíva v vytváraní reťazca volaní podobných blokov („gadgets“) na získanie požadovanej funkčnosti.
Zdroj: opennet.ru
