T
Tuxgamer42
Gast
Madman1209 schrieb:selbstverständlich funktioniert das, das lernt jeder Softwareentwickler in den ersten zwei Wochen!Das war der Sinn der Übung. Dir zu zeigen, dass deine Unterscheidung zwischen "Logikfehler" und "Programmierfehler" hinten und vorne nicht funktioniert.
Ich verbessere: Deine Unterscheidung funktioniert aus der Perspektive "Sicherheit" hinten und vorne nicht.
Was du schon allein daran hättest merken sollen, dass du Thema Sicherheit völlig unbedenktliche Fehler wie "ein Tippfehler oder ein fehlender Strichpunk" (da das Programm nicht einmal startet) mit potentiell extrem kritischen Fehlern "Zugriffsfehler" in einem Schwung nennst.
Nun zum eigentlich wichtigen:
Löse dich doch bitte mal von dieser völlig falschen Vorstellung, "Virus" oder allgemein "Hacking" beschränkt sich nur auf die Ausnützung der paar üblichen Verdächtigen, die du bei C++-Programmierung gerne hast (wie verschiedene Overflows, Null Pointer etc).
Um mal einen wichtigen Satz aus dem Buch "Hacking: The Art of Exploitation" zu zitieren (übrigens sehr zu empfehlen):
The essence of hacking is finding unintended or overlooked uses for the
laws and properties of a given situation and then applying them in new and
about that.
Es gibt nun einmal das, was der Programmierer will. Und die Regeln, denen das Programm folgt. Beispiel:
ja - und? Wenn ich eine solche Lücke ausnutze umgehe ich weder irgendwelche Rechte noch sonst etwas.
Nein, selbstverständlich ist es nicht so gewollt, dass du wortwörtlich zu einem fremden PC (zu dem du keinen Zugang hast!) gehen kannst, 70 Sekunden Enter hällst und allen ernstes root-Rechte hast.
Steht aber eben trotzdem so im Programm. So lächerlich der Fehler auch klingt; hat halt niemand dran gedacht. Aber ist häufig bei Sicherheitslücken, dass man im Nachhinein deckt: "Wie doof?"
Ebenso wie es schlicht und einfach nicht gewollt ist, dass ein Programm an den Nutzerstandort gelangt ohne die entsprechende Permission zu besitzen.
Das Programm hällt sich an alle Regeln - macht aber trotzdem etwas, was einfach nicht gewollt ist.
Oder um vielleicht deine Begriffe zu verwenden:
Alle Logikfehler sind grundsätzlich Programmierfehler. Manche Programmierfehler sind Sicherheitslücken.
Und ja: Selbstverständlich nutzen Viren sowohl Fehler wie Speicherzugriffsfehler - als auch Logikfehler (als auch den Nutzer selber) aus.
Und jetzt wird mir die Diskussion wirklich zu blöd . Vielleicht verstehst (irgendwann), was ich meine. Wenn nicht ist auch egal.
Gruß
Tuxgamer