Warum ist es so schwierig Programme "ohne Sicherheitslücken" zu schreiben ?

Black_OC_Power

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.227
Hey,

alle bekannten Programme haben ja Sicherheitslücken, die werden regelmäßig auch von Hackern genutzt wird was für alle benachteiligten zum Nachteil ist.

Ich frage mich ehrlich gesagt warum es eigentlich so schwer ist eine Programm ohne Sicherheitslücken zu schreiben . Programmieren ist doch eine absolut logische Sache, warum ist es so schwierig zu vermeiden das sich Sicherheitslöcher ergeben ?
 
Komplexität.
 
Weil viele Idioten auf der Suche nach der Lücke sind um diese dann zu missbrauchen.
 
alle bekannten Programme haben ja Sicherheitslücken, die werden regelmäßig auch von Hackern genutzt wird was für alle benachteiligten zum Nachteil ist.

weil bekannte programme natürlich auch von vielen menschen genutzt werden, da liegt es nahe eben diese anzugreifen.

den rest deiner frage hat oSes klar beantwortet ;)
 
Du machst nicht mal eben ein "öffne Datei", sondern darunter liegen haufenweise Abstraktionsschichten. Befehl CPU, RAM, Frameworks, WinAPI, Treiber, HAL, Controller, Hardware und ähnlicher Schnickschnack und alles spielt irgendwie zusammen. Irgendwo muss eine Sache nicht überprüft werden (Bereiche u.ä.) und schwupp die wupp hast du deine Sicherheitslücke. Mal ganz banal gesagt. Ist ja nicht so, dass die Daten von der HDD mal eben so auf den Bildschirm kommen.

osEs hat es aber kurz und knapp "beschrieben".
 
Hey,
alle bekannten Programme haben ja Sicherheitslücken, die werden regelmäßig auch von Hackern genutzt wird was für alle benachteiligten zum Nachteil ist.

Ich frage mich ehrlich gesagt warum es eigentlich so schwer ist eine Programm ohne Sicherheitslücken zu schreiben . Programmieren ist doch eine absolut logische Sache, warum ist es so schwierig zu vermeiden das sich Sicherheitslöcher ergeben ?

Du hast schon mindestens fünf Rechtschreib- und Interpunktionsfehler in deinem kurzen Beitrag. Und da fragst du Dich ernsthaft, warum es so schwer ist, fehlerfreie Programme zu schreiben? :D
 
Für Hacker und Cheater sollte man die Todesstrafe oder 10 Jahre Knast einführen..
Werden eigentlich auch mal Hacker die nicht gerade irwelche Regierungs PCs angreifen real gesucht oder wurde schon einmal jemand erwischt/verhaftet?
 
Auf sowas achtet man gar nicht mehr... Ich hab zwölf gezählt (Ausdruck außer Acht gelassen). :D
Black_OC_Power schrieb:
Hey,

alle bekannten Programme haben ja Sicherheitslücken, die werden regelmäßig auch von Hackern genutzt wird, was für alle benachteiligten zum Nachteil ist.

Ich frage mich ehrlich gesagt, warum es eigentlich so schwer ist, eine Programm ohne Sicherheitslücken zu schreiben . Programmieren ist doch eine absolut logische Sache, warum ist es so schwierig zu vermeiden, dass sich Sicherheitslöcher ergeben ?
Deutsch ist auch absolut logisch. ;>
 
Für Hacker und Cheater sollte man die Todesstrafe oder 10 Jahre Knast einführen..
Werden eigentlich auch mal Hacker die nicht gerade irwelche Regierungs PCs angreifen real gesucht oder wurde schon einmal jemand erwischt/verhaftet?

Du musst bedenken, dass Hacker an sich nichts Negatives sind sondern nur jene, welche diese Lücken aufspüren und diese dann, ob gegen Entgelt oder nicht sei mal dahingestellt, dem Unternehmen melden, damit diese dann die Lücken schließen.

Worauf du dich beziehst sind Cracker
 
Wollte ja niemanden kritisieren, oder sagen das ichs besser kann. :D

Also liegts einfach daran das die Programme so komplex sind das die Programmierer nicht mehr an alle möglichen Sicherheitslücken denken.

Gibts eigentlich auch Gegenbeispiele, also Programme die so gut durchdacht sind das noch niemals ne sicherheitslücke gefunden wurde ?
 
Zuletzt bearbeitet:
Zu 99% nein! Wäre es so, wäre der Programmiere/wären die Programmierer perfekt und dass ist niemand!
 
-> wie oSes schon sagte: Zitat: "Komplexität"
Viele Funktionen die mehrere bestimmte api's benötigen, mit einer bestimmten Runtime der entsprechenden Programmier-Sprache laufen und / oder gepart sind...

Und das ganze bedienbar mit einer eh schon großen Benutzeroberfläche, die diese Funktionen am besten ohne großen Umweg auch zwecks Speed direkt ausführt.

Die Oberfläche, eh schon anfällig, bietet dann direkten Zugriff auf die Funktionen über die Platform.

Nichts ist fehlerfrei, nichts perfect. Nicht 100 prozentig, makelos.
Kein Hell ohne Dunkel...
 
Zuletzt bearbeitet:
evtl. alle programme die keine daten aus dem internet/netzwerk auswerten. ein 0815 programm hat in der Regel auch nicht mehr rechte / möglichkeiten als ein programm das eine lücke ausnutzen möchte und auf dem selben pc läuft. (es sei den das Programm macht / speichert z.B. etwas an das man dran möchte. aber da braucht man wohl keine sicherheitslücken, um an die daten zu kommen. aktuellen speicherinhalt / maschinencode auslesen und die gewünschten teile "einfach" umschreiben)
 
Zuletzt bearbeitet von einem Moderator:
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...
 
Zuletzt bearbeitet:
Viele Programme verlassen sich auch auf schon vorhandene Bibliotheken. Man schreibt ja nicht jedes Mal irgendwelche schon bekannten Dinge neu.
Diese Fremdbibliotheken etc können dann ebenso Schwachstellen beinhalten.
In der Theorie reicht es schon, eine Methode oder irgendwas, durch einen Angriff durch Dritte verändert zu haben, um ein Programm, auf das man es abgesehen hat, im ungünstigsten Fall zu "knacken".
Eventuell nur einen ungültigen Wert für irgend etwas zurück liefern, Pointer als Beispiel.

=> Sogar wenn dein Programm sicher ist, ist es nicht "sicher". Ein Programm ist halt immer nu maximal so sicher, wie die hostende Umgebung und die benötigten Bibliotheken, APIs etc.
 
Wenn man vor hat ein Haus zu bauen, baut man keinen Bunker.
Und gegen einen Bunker gibts auch bunkerbrechende Waffen.

Aber um beim Haus zu bleiben... man kann eine bessere Eingangstür verwenden und die Fenster vergittern.
Hilft aber nichts, wenn der Hausherr den Einbrecher hereinbittet(OK drückt) die Tür nicht zusperrt(Firewall/AV/Benutzerrechte), der Schlüssel unter der Fußmatte liegt(Unsicheres PW), oder der Einbrecher ungestört alle Zeit der Welt hat um reinzukommen.
 
Zuletzt bearbeitet:
Zurück
Oben