OpenBSD bruker relinking ved oppstartstid for sshd

OpenBSD implementerer en anti-utnyttelsesteknikk som er avhengig av tilfeldig relinking av den kjørbare sshd-filen hver gang systemet starter opp. Denne gjenkoblingsteknikken ble tidligere brukt for kjernen og bibliotekene libc.so, libcrypto.so og ld.so, og vil nå bli brukt for noen kjørbare filer. I nær fremtid planlegges metoden også implementert for ntpd og andre serverapplikasjoner. Endringen er allerede inkludert i CURRENT-grenen og vil bli tilbudt i OpenBSD 7.3-utgivelsen.

Relinking gjør det mulig å gjøre funksjonsforskyvninger i biblioteker mindre forutsigbare, noe som gjør det vanskelig å lage utnyttelser ved hjelp av returorientert programmering (ROP) metoder. Når du bruker ROP-teknikken, prøver ikke angriperen å plassere koden sin i minnet, men opererer på deler av maskininstruksjoner som allerede er tilgjengelige i lastede biblioteker, og slutter med en kontrollreturinstruksjon (som regel er dette slutten av bibliotekfunksjoner) . Arbeidet med utnyttelsen kommer ned til å bygge en kjede av samtaler til lignende blokker («gadgets») for å oppnå ønsket funksjonalitet.

Kilde: opennet.ru

Legg til en kommentar