{"id":441,"date":"2007-12-29T23:09:35","date_gmt":"2007-12-29T21:09:35","guid":{"rendered":"http:\/\/www.mitternachtshacking.de\/blog\/441-24c3-grundlagen-der-sicheren-programmierung"},"modified":"2018-05-31T22:36:17","modified_gmt":"2018-05-31T21:36:17","slug":"24c3-grundlagen-der-sicheren-programmierung","status":"publish","type":"post","link":"https:\/\/www.mitternachtshacking.de\/blog\/441-24c3-grundlagen-der-sicheren-programmierung","title":{"rendered":"24C3: Grundlagen der sicheren Programmierung"},"content":{"rendered":"<p>Tonnere Lombard ist einer der NetBSD-Entwickler und u.a. Maintainer des FVWM, eines X11 Windowmanagers, der zu meiner Unix-Anfangszeit State-of-the-Art war.<\/p>\n<p><a href=\"http:\/\/events.ccc.de\/congress\/2007\/Fahrplan\/events\/2344.en.html\">Die Pr\u00e4sentation<\/a> von ihm behandelte typische Programmierfehler die zu Sicherheitsl\u00fccken und diversen Problemen f\u00fchren k\u00f6nnen. Insgesamt eher ein Vortrag f\u00fcr Leute die sich neu mit sicherer Programmierung besch\u00e4ftigen, unabh\u00e4ngig davon aber zwar etwas chaotisch aber sehr kompetent pr\u00e4sentiert.<\/p>\n<p>Wichtige Fehler:<\/p>\n<ul>\n<li>Buffer Overflows (Stack, Heap)<\/li>\n<li>Integer Overflows (z.B. 32-bit Code auf 64-bit Systemen)<\/li>\n<li>Synchronisierungsprobleme (Race Conditions, Signalbehandlungsfehler)<\/li>\n<li>Format String Bugs<\/li>\n<li>Injectionsangriffe (XSS, XSFR, SQL-Injection)<\/li>\n<li>Authentisierungsfehler<\/li>\n<\/ul>\n<p>Das spannende war, die meisten Fehler wurden anschaulich direkt live vorgef\u00fchrt.<\/p>\n<p>Ein Beispiel: Integer Overflow (Fehler auf 64-bit Systemen)<\/p>\n<ul>\n<li>Falsch: unsigned long fl = (_flags &#038; 0xffff0000) &gt; 16;<\/li>\n<li>Richtig: unsigned long fl = (_flags &#038; 0xffff0000L) &gt; 16;<\/li>\n<\/ul>\n<p>Der Source Code seiner fehlerhaften Programme ist bereits auf <a href=\"http:\/\/vulns.bsdprojects.net\/\">vulns.bsdprojects.net<\/a> ver\u00f6ffentlicht.<\/p>\n<p>Sehr am\u00fcsant fand ich seinen Kommentar beim \u00d6ffnen des Webbrowsers: &#8222;<em>Hoffentlich kommt nicht der Sch\u00e4uble angerollt, beim \u00d6ffnen dieses Terrortools<\/em>&#8220; und sein Fazit: &#8222;<em>Es gibt keine Programmiersprache welche es erlaubt, das Gehirn abzuschalten<\/em>&#8222;.<\/p>\n<p><strong>Nachtrag:<\/strong><\/p>\n<p>Ebenfalls eine lustige Idee ist die Gr\u00fcndung eines &#8222;Vereins&#8220; mit dem Namen &#8222;<a href=\"http:\/\/www.apostropheor1equals1dashdash.com\/\">&#8218; or 1=1 &#8212;<\/a>&#8220; um den Vereinsnamen als Login in Webformularen verwenden zu k\u00f6nnen. Das muss doch sogar f\u00fcr den Gr\u00f6IaZ legal sein.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tonnere Lombard ist einer der NetBSD-Entwickler und u.a. Maintainer des FVWM, eines X11 Windowmanagers, der zu meiner Unix-Anfangszeit State-of-the-Art war. Die Pr\u00e4sentation von ihm behandelte typische Programmierfehler die zu Sicherheitsl\u00fccken und diversen Problemen f\u00fchren k\u00f6nnen. Insgesamt eher ein Vortrag f\u00fcr Leute die sich neu mit sicherer Programmierung besch\u00e4ftigen, unabh\u00e4ngig davon aber zwar etwas chaotisch aber [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[13,8],"tags":[],"_links":{"self":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/441"}],"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=441"}],"version-history":[{"count":0,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/441\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/media?parent=441"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/categories?post=441"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/tags?post=441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}