Top25 der sicherheitsrelevanten Programmierfehler

Unter Federführung des SANS Institute wurde die aktuelle Liste der 25 gefährlichsten Software-Fehler des Jahres veröffentlicht. Ganz oben im Ranking wird dabei die ungenügende Prüfung von Anfragen an Webserver hinsichtlich SQL-Elementen aufgeführt, ... mehr... Sicherheitslücke, Fehler, Bug Bildquelle: Windell Oskay / Flickr Sicherheitslücke, Fehler, Bug Sicherheitslücke, Fehler, Bug Windell Oskay / Flickr

Diese Nachricht vollständig anzeigen.

Jetzt einen Kommentar schreiben
 
Dabei sind gerade die oberen Plätze so leicht zu vermeiden. Lediglich vll Buffer-Overflows, wenn man nicht gerade systemnah programmiert oder einen Teil der Verantwortung an Frameworks abgegeben hat
 
@zwutz: Vollkommen richtig. Es ist eine schande über was für einfache SQL Injections und co die alle der Reihe nach gehackt werden.
 
@zwutz: Und auch BO´s sind bei sauberer Programmierung "leicht" zu vermeiden. Es erhöht lediglich den Prüfaufwand den eine Software durchlaufen muß. Und leider wird heutzutage viel zuoft auf fertige Routinen zurück gegriffen anstatt eigene zu programmieren, da dies leider die Kostengünstigste Lösung darstellt.
 
So, die Liste sollte man jetzt Ausdrucken und den Verantwortlichen bei Sony an den Kopf kleben ;)
 
@Ebukadneza: Am besten hinten noch ein Zettel mit 'Hau mir 3x auf den Kopf damit ich die Fehler erkenne'.
 
Lustig, dass Platz 3 eigentlich nur auf die Idiotie der C-Grüdungsväter zurückzuführen sind.
 
@Kirill: Hm, echt? Nur so aus Interesse, kannst du kurz n Link dazu posten? Danke :)
 
@Mshr: So ausm Stehgreif fällt mir das Unix Haters Handbook ein. http://simson.net/ref/ugh.pdf Es handelt im wesentlichen von Unix und seinem Umfeld und dazu gehört auch C.
 
@Kirill: Idiotie ist nun wirklich nicht das passende Wort. Wir reden hier von einer Programmiersprache, die vor 40 Jahren entstanden. Der Erfinder des Rades ist auch kein Idiot, weil er nicht gleich einen Airbag in den Karren eingebaut hat. ;)
 
@EddieErpel: Da hast du recht, "Idiotie" ist arg übertrieben. Nur gab es doch damals schon Sprachen, die die Probleme von C nicht hatten, etwas Blödheit ist also schon dabei.
 
@Kirill: Najaaa. Es ging darum eine Sprache zu entwickeln, die sehr schnell ist und mit der sie dann ein Betriebsystem schreiben wollten. Diese Überlauf-Prüfung braucht nur Zeit und ist in den meisten Fällen auch nicht nötig. Der Programmierer sollte schon wissen, was er tut und kann das sehr wohl auch unter C ohne Probleme verhindern. Bequemlichkeit vs. Geschwindigkeit. :) Beim Autofahren muss man auch aufpassen, dass man auf der Straße fährt und nicht blind einen Abhang runterfährt. Mit dem Bus hat man es einfacher, aber man braucht auch länger. (so.. genug mit blöden Vergleichen)
 
Ich kann mir (jetzt mal speziell bezogen auf Webseiten) immer noch nicht vorstellen warum gerade SQL-Injections und XSS so häufig vorliegen. XSRF ist im Vergleich ja schon etwas komplexer mit irgendwelchen hidden inputs, Referrer-Checks und so weiter, aber einfach mal Nutzerinput zu validieren ist eigentlich eines der trivialsten Dinge. Heutzutage werden soviele gute Technologien angeboten, prepared Statements, tolle Funktionen für Autoescaping in PHP und Co., und trotzdem scheint es gerade den größten Unternehmen mit kritischen Kundendaten bzw. ihren Entwicklern oder ausgelagerten Entwicklungsfirmem scheinbar egal zu sein.
Das liegt dann gerade bei so etwas nicht an der Laufzeitumgebung, Programmiersprache oder sonst etwas - sondern einfach, weil sich die Entwickler nicht genug Gedanken machen oder irgendeine kleine Lücke übersehen - und das kann man sich im Internet heutzutage einfach nicht erlauben.
 
@B_E: Vielleicht liegts auch daran, dass die Programmierer zu schlecht ausgebildet sind oder zu wenig Zeit haben. Bei meinem ehemaligen Arbeitgeber war das ein graus. Der Fachbereich (BWLler) wollte immer sofort alles haben. Die ITler hingegen argumentierten anders. Letztendlich wurde das gemacht, was die Geschäftsleitung vorgab -> quick and dirty....
 
@B_E: jup, verstehe ich auch nicht, SQL Injection, solch einen trivialen Fehler hab ich noch nie gemacht, einfach den Code wieder durchforsten, wo ein mysql_real_escape_string fehlt und finito. Mir war SQL Injection sogar schon bekannt, nach wenigen Stunden des lernens von php. Daher kann ich erstrecht nicht nachvollziehen, wieso diese Fehlerchen immer noch Leute machen. Kanns mir nur damit erklären, dass alte Opis oder richtige Anfänger, evt. Auszubildende/Praktikanten ohne Lerngier für solch Konzerne proggen..
 
@B_E: Ich denke das ein großes Problem einfach darin besteht, dass gewisse Angebote (von Sony's PSN z.B. jetzt einmal abgesehen), vor längerer Zeit entwickelt wurden, als z.B. SQL-Injections noch keine wirkliche, übliche Gefahr darstellten(auch wenn das nun schon wirklich SEHR lange her sein müsste wie mir gerade auffällt...) und dies eben später nie ausgebessert wurde(in der Regel wohl, weil die meisten ITler es schlichtweg nicht schaffen ihren DAU-Chefs so etwas zu erklären bzw. die es nicht verstehen wollen.) Ich hatte z.B. mal das Problem, dass ich nem Kunden ungelogen 2 Tage immer wieder erzählen musste, dass ne DMZ nunmal nur mit min. 2 FWs funktioniert (ansonsten ist eben keine DMZ da...) - "ja aber eine FW reicht doch oder nicht!?" - "Naja es ist aber sicherer..(..)und es könnte eben in zukunft..." - "jaja, nene das is mir zu teuer als das ich das vielleicht nie brauche..." - traurig aber wahr..
 
@kazesama: eine dmz kann man auch mit einer firewall betreiben...
 
@0711: Und durch welche beiden Teile wird dann der demilitarisierte Bereich abgeschirmt? €dit: Habe gerade nochmal nachgeschaut und unter anderem ein Bild mit einem einstufigem Firewallkonzept gesehen: Wieso nennt man das denn noch demilitarisiert?Ich mein es ist an sich dann ja... ein Netzwerk mit einer Firewall vor dem nächsten Netz o.O
 
@kazesama: weil auch bei diesem konzept die dmz ein eigenes abgeschirmtes netz vom lan/wan darstellt...die logik dahinter ist genau dieselbe wie bei einem zweistufigen firewallkonzept, die isolation zum lan/wan findet halt nur über eine box statt aber (normalerweise) mit unterschiedlichen regeln in/von den abgeschirmten netzen. Eine dmz ist ja nichts anderes als ein netzwerk das von anderen netzwerken durch eine firewall geschützt ist. Was mir eher zu denken gibt ist dass du die konzepte nicht kennst aber scheinbar kunden bezüglich firewall berätst....
 
@0711: Für mich war ein durch eine Firewall geschützes Netz eben keine DMZ. Nicht nur, dass es in der Ausbildung lediglich so vermittelt wurde, auch bei allen Kunden bei denen ich bisher mitgearbeitet hab wurde lediglich eine DMZ erwähnt sobald 2+ Firewalls zum Einsatz kommen sollten. Klar, es scheint zwar auch das Konzept mit einer Firewall zu geben - aber irgendwie sehe ich das einfach als Netz und ne Firewall davor. Die DMZ aus z.B. zwei Firewalls hat ja(wie du weißt) den Sinn eine eigens isolierten Bereich zu erschaffen(ZWISCHEN den beiden Netzen).
 
@kazesama: Mir ist auch nicht klar warum man unbedingt da 2 FW's zu brauchen sollte. In der FISI Ausbildung damals haben sie uns allerdings auch beide Konzepte vorgestellt. Gibts halt zu das du dem Kunden nur etwas teureres verkaufen wolltest :) Ist doch normal ^^
 
@Falcon: Ne, ich muss ganz ehrlich sagen, ich war nie davon ausgegangen, dass man auch eine sog. "DMZ" mit einer Firewall aufbauen könnte - ist für mich eben auch keine echte. Und das Konzept sah eben eig. vor, 2 FWs zu installieren. Er wollte es eben möglichst sicher haben, aber gleichzeitig nix ausgeben wollen. Klar, ich freu mich natürlich wenn der Kunde das teurere nimmt - wäre ja auch doof wenn nicht :P
 
@Ninos: Ja, ne, is klar ... :)
 
Dabei lernt doch jeder Programmierer als erstes: "All user input is evil!"...tztz
Kommentar abgeben Netiquette beachten!

Video-Empfehlungen

WinFuture Mobil

WinFuture.mbo QR-Code Auch Unterwegs bestens informiert!
Nachrichten und Kommentare auf
dem Smartphone lesen.