Computer mit Harvard-Architektur haben getrennte Code- und Datenspeicher. Macht sie das immun gegen Code-Injection-Angriffe (da Daten nicht als Code ausgeführt werden können)?
Das ist eine nette Antwort, aber nicht wirklich auf diese Frage
Computer mit Harvard-Architektur haben getrennte Code- und Datenspeicher. Macht sie das immun gegen Code-Injection-Angriffe (da Daten nicht als Code ausgeführt werden können)?
X86 verfügt über eine Segmentierungsarchitektur, die dies ermöglicht, und sie wurde von einigen Projekten verwendet, um zu verhindern, dass Daten als Code ausgeführt werden (ein Aufwand, der angesichts des NX-Bits größtenteils umsonst ist), und sie konnte den Strom neuer Exploits nie annähernd eindämmen. Denken Sie nur an die erstaunliche Anzahl von Remote-Dateieinschlüssen, die immer noch in freier Wildbahn ausgenutzt werden können.
Hardware NX (mit vollständigen W^X-Zuordnungsoptionen) hält an Code-Injektion Angriffe. Deshalb müssen Angriffe auf moderne Software in der Regel ROP-Angriffe sein, die den Kontrollfluss übernehmen, um Codesequenzen (Gadgets) zu erhalten bereits in der Binärdatei in einer bestimmten Reihenfolge ausgeführt werden. Selbst ein reiner Harvard-Rechner, der nur Code aus wirklich schreibgeschütztem ROM ausführen kann, könnte dafür anfällig sein. Aber es wäre kein Code-Injektionsangriff.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.