Az OpenBSD-ben egy olyan védelmi technika került bevezetésre, amely a sshd végrehajtható fájl véletlenszerű újrastrukturálásán alapul a rendszer minden indításakor. Korábban hasonló újrastrukturálási módszert alkalmaztak a kernel és a libc.so, libcrypto.so, valamint ld.so könyvtárak esetében, és most ezt néhány végrehajtható fájlra is kiterjesztik. A közeljövőben a módszert az ntpd és más szerveralkalmazások esetében is tervezzük alkalmazni. A módosítás már bekerült a CURRENT ágba, és az OpenBSD 7.3 kiadásában is elérhetővé válik.
Az újrastrukturálás lehetővé teszi a könyvtárakban található funkciók eltolódásának kiszámíthatatlanná tételét, ami megnehezíti a visszanyalásos programozási módszereket (ROP — Return-Oriented Programming) alkalmazó exploitok létrehozását. A ROP technika során a támadó nem próbálja meg a saját kódját elhelyezni a memóriában, hanem a már betöltött könyvtárakban található gépi utasítások darabjaival dolgozik, melyek visszaadási utasítással zárulnak (általában ez a könyvtári funkciók végpontja). Az exploit működése azon alapul, hogy egy ilyen blokkokból (úgynevezett „gadgetekből”) álló hívási láncot épít fel a szükséges funkcionalitás eléréséhez.
Forrás: opennet.ru
