Also Leute,
eine Sache verstehe ich noch nicht ganz. Es gibt ja ganz unterschiedliche Arten von Exploits: Es gibt z.B. Exploits, die bringen ein Programm zum Crashen (wie z.B. der hier) und dann gibt es da noch Exploits, bei denen kann man Kontrolle über ein Programm bekommen bzw. über ein Betriebssystem.
Soweit ich bisher verstanden habe, ist es üblicherweise das Ziel eines Exploits, den EIP / RIP (also die Addresse, auf die der Instruktionszeiger zeigt) zu kontrollieren und zu manipulieren, so dass dieser auf die Adresse zeigt, in der der Schadcode / Exploit liegt und somit dieser ausgeführt wird.
Nun ist es doch so, dass moderne Betriebssystem wie Linux oder Windows einen gewissen Schutz haben, wie z.B. die dass der ausführbare Teil eines Programms bei jedem Neustart in einem zufälligen Bereich geladen wird (sodass z.B. der Angreifer die Addresse zum Instruktionszeiger nicht festlegen kann) oder dass der Stack nicht ausführbar ist etc.
Ja wenn dem so ist, dann frage ich mich, warum es Leute gibt, die immer noch nach Fehlern wie einem Bufferoverflow suchen. Ich meine, kann man heutzutage mit Hilfe eines einfachen Buffer overflows in einem normalen Linux oder Windows Betriebssystem Kontrolle über einen Rechner erlangen, wo doch alles zufällig ist (ist ja standardmäßig aktiviert)?
Und wenn ja, worauf basieren moderne Exploits?
eine Sache verstehe ich noch nicht ganz. Es gibt ja ganz unterschiedliche Arten von Exploits: Es gibt z.B. Exploits, die bringen ein Programm zum Crashen (wie z.B. der hier) und dann gibt es da noch Exploits, bei denen kann man Kontrolle über ein Programm bekommen bzw. über ein Betriebssystem.
Soweit ich bisher verstanden habe, ist es üblicherweise das Ziel eines Exploits, den EIP / RIP (also die Addresse, auf die der Instruktionszeiger zeigt) zu kontrollieren und zu manipulieren, so dass dieser auf die Adresse zeigt, in der der Schadcode / Exploit liegt und somit dieser ausgeführt wird.
Nun ist es doch so, dass moderne Betriebssystem wie Linux oder Windows einen gewissen Schutz haben, wie z.B. die dass der ausführbare Teil eines Programms bei jedem Neustart in einem zufälligen Bereich geladen wird (sodass z.B. der Angreifer die Addresse zum Instruktionszeiger nicht festlegen kann) oder dass der Stack nicht ausführbar ist etc.
Ja wenn dem so ist, dann frage ich mich, warum es Leute gibt, die immer noch nach Fehlern wie einem Bufferoverflow suchen. Ich meine, kann man heutzutage mit Hilfe eines einfachen Buffer overflows in einem normalen Linux oder Windows Betriebssystem Kontrolle über einen Rechner erlangen, wo doch alles zufällig ist (ist ja standardmäßig aktiviert)?
Und wenn ja, worauf basieren moderne Exploits?