Black_OC_Power schrieb:
Also liegts einfach daran das die Programme so komplex sind das die Programmierer nicht mehr an alle möglichen Sicherheitslücken denken.
Komplexität ist nur eine Teilprägung auf nur einer Seite der Medalie.
Die größere bei kommerziellen Projekten ist Zeitdruck. Sprich, KOSTEN. Und Unachtsamkeit samt Überarbeitung. Nicht selten ist es aber auch nur schlichte Unfähigkeit.
Wobei, bei Programmen bei welchen man als Programmierer annehmen sollte, daß über sie ein Angriff stattfinden könnte, sollte man schon Richtung Unfähigkeit tendieren.
Es Fehlen aber auch größtenteils vernünftige Methoden um die Sicherheit des Kodes zu prüfen. Vom Kompiler bis zur Testumgebung.
Dazu kommen noch "Optimierungsarbeiten" der Compiler die einige Vorkehrungen im Kode wegrationalisieren können. Das muß man auch erstmal wissen.
Wissen ist eigentlich essentiell. Jemand der noch nie ein Programm gehackt hat, weiß nicht wie er sich gegen Hacks wehren sollte.
Andererseits kommen entsprechende Lernprogramme an den Unis nur sehr langsam vorran. Da hat man wohl eher Angst mit sehr gutem Lernmaterial nur noch Hacker auszubilden, die dann jede mögliche Institution abgraben... (??)
Im Gründe ist die Softwareindustrie diesbezüglich ein Sumpf, der sich mit "Komplexität" aus der Affäre ziehen will, damit der Benutzer Patches bzw. Patchdays nicht für das hält was sie sind. Beweise für fehlendes KnowHow.
Deswegen gibt es Firmen die sich drauf spezialisieren die Sources auf sowas zu durchsuchen. Nennt sich auditieren (code audit).
Komplexität kann jedenfalls nicht die universelle Ausrede dafür sein. Wie kompliziert ist ein Flugzeug und wie kompliziert ist ein Auto? Wieviele Autos bleiben leigen, weil die Benzinpumpe nicht mehr will? Wieviele Flugzeuge stürzen wegen Versagen der Kerosinpumpen ab?

So gesehen...