Neue Chip-Technologie soll Viren stoppen

Diese Nachricht vollständig anzeigen.
Kommentar abgeben
Netiquette beachten!
Beliebte Downloads
Video-Empfehlungen
Beliebt im Preisvergleich
- Hardware:
Neue Nachrichten
Beliebte Nachrichten
Videos
❤ WinFuture unterstützen
Sie wollen online einkaufen?
Dann nutzen Sie bitte einen der folgenden Affiliate-Links,
um WinFuture zu unterstützen:
Vielen Dank!
P.S. Da hier scheinbar selbst unser Oberguru Rika nicht weis was ein Bufferoverflow ist hier ne kurze Erklärung, auf dem Stack eines jeweiligen Programmes befinden sich z.B. Rücksprungadressen, die auf die Adresse des als nächsten einzulesenden Befehls zeigen. Der Prozessor holt sich nach abarbeiten eines Befehls den nächsten Befehl, bei einem Bufferoverflow versucht man nun den Speicherbereich eines Programmes zu überschreiben um die dortige Rücksprungadresse auf eine Adresse zeigen zu lassen, in der der eigene böse Code liegt. Warum ist das so gefährlich, normalerweise wird ja während des Betriebs eines OS geprüft was darf ein Programm etc, hat es nicht die nötigen Rechte, würde es nie ausgeführt werden und somit auch keinen Schaden anrichten können, sozusagen dessen Befehle würden nie abgearbeitet werden, ersetzt man aber die Adresse eines Befehls von einem Programm, das schon das ganze PipaPo durchlaufen hat und kurz vor der Ausführung steht, darf man alles machen, denn dann wird der eigene Code ausgeführt :-) Ziel ist es also, zu verhindern, dass ein Programm die Rückspungadressen von anderen Prozessen überschreibt und diese Strategie verfolgt AMD mit dem Execution Protection Schutz, aber das hat auch zur Folge, das bestimmte Programme Probleme bekommen werden, solche nämlich, die notwendigerweise bestimmte Operationen ausführen z.B. JIT Compiler.
MOV CX, AX: LOOP CX: PUSH EBX: LOOPNZ: NOP: CALL FUNCTION irgendwas.: MOV CX,DX: LOOP CX, MOV SS:SP, DS:DI+CX, LOOPNZ. irgendwas: RET. - ein typischer ungeprüfter Buffer. Zuerst werden alle alle gepushten EBX überschrieben, und anschließend die Rücksprungadresse. Wird die jetzt so gesetzt, dass sie auf den Beginn des Buffer verweist, dann wird beim RET die geänderte Adresse zurückgelesen und in CS:IP gepackt. Die Ausführung setzt genau dort fort - am Beginn des Buffers, das Code-Segment liegt jetzt so, dass der Buffer darin enhalten ist. Herrje, ich habe schon Buffer Overflow's für Linux gecodet, da war ich noch nicht mal am Gymmi!