{"id":1148,"date":"2010-04-03T13:04:08","date_gmt":"2010-04-03T12:04:08","guid":{"rendered":"http:\/\/www.mitternachtshacking.de\/blog\/1148-eh2010-security-enchancements-in-ld1"},"modified":"2018-05-22T18:18:51","modified_gmt":"2018-05-22T17:18:51","slug":"eh2010-security-enchancements-in-ld1","status":"publish","type":"post","link":"https:\/\/www.mitternachtshacking.de\/blog\/1148-eh2010-security-enchancements-in-ld1","title":{"rendered":"EH2010: security enchancements in ld(1)"},"content":{"rendered":"<p>W\u00e4hrend der Laufzeit eines Programms lassen sich noch einige Tricks umsetzen, um die Sicherheit von Programmen zu verbessern, indem beispielsweise Exploits f\u00fcr m\u00f6gliche Buffer Overflows erschwert oder verhindert werden. Daf\u00fcr kommen Techniken wie Stack Randomization (d.h. der Stackanfang wird bei jedem Programmstart zuf\u00e4llig auf eine etwas andere Adresse gesetzt, Einsprungadressen f\u00fcr Exploits ver\u00e4ndern sich dann bei jedem Programmaufruf, ein Exploit wird unzuverl\u00e4ssig), Shared Library Randomization (d.h. gemeinsam genutzte Bibliotheken wie die Libc werden in zuf\u00e4lliger Reihenfolge und zuf\u00e4llig an unterschiedliche Adressen gemappt, sogenannte Return-to-Libc-Exploits, die eine bestimmte Adresse der in der Libc anspringen m\u00fcssen werden dadurch unzuverl\u00e4ssig), etc. zum Einsatz.<\/p>\n<p>Aktuelle verbreitete Ma\u00dfnahmen sind:<\/p>\n<ul>\n<li>data\/code separation (siehe <a href=\"http:\/\/de.wikipedia.org\/wiki\/Harvard-Architektur\">Harvard Architektur<\/a>)<\/li>\n<li>randomized stack bottom<\/li>\n<li>shared libs randomization<\/li>\n<li>randomized malloc<\/li>\n<\/ul>\n<p>Viele dieser Ma\u00dfnahmen wurden als erstes in\u00c2\u00a0 OpenBSD implementiert. M\u00f6gliche Verbesserungen enthalten<\/p>\n<ul>\n<li>section starting address randomization (16 Bit Entropie)<\/li>\n<li>randomized loading order (abh\u00e4ngig von der Anzahl der Bibliotheken)<\/li>\n<\/ul>\n<p>Zu den obskureren Verfahren geh\u00f6rt dann wohl<\/p>\n<ul>\n<li>executable randomization (pie executables)<\/li>\n<li>gaps filled with bad stuff (keine NOP-Sleds mehr)<\/li>\n<li>morphing executables (ah &#8230; die Virenscanner freuen sich)<\/li>\n<\/ul>\n<p>Einige dieser Ma\u00dfnahmen w\u00fcrden bis zu 10% Performanceeinbu\u00dfen mitbringen, hier w\u00e4re eine Abw\u00e4gung zwischen Leistung und Sicherheit notwendig.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W\u00e4hrend der Laufzeit eines Programms lassen sich noch einige Tricks umsetzen, um die Sicherheit von Programmen zu verbessern, indem beispielsweise Exploits f\u00fcr m\u00f6gliche Buffer Overflows erschwert oder verhindert werden. Daf\u00fcr kommen Techniken wie Stack Randomization (d.h. der Stackanfang wird bei jedem Programmstart zuf\u00e4llig auf eine etwas andere Adresse gesetzt, Einsprungadressen f\u00fcr Exploits ver\u00e4ndern sich dann [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[13],"tags":[],"_links":{"self":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/1148"}],"collection":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/comments?post=1148"}],"version-history":[{"count":0,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/1148\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/media?parent=1148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/categories?post=1148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/tags?post=1148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}