Ansicht umschalten
Avatar von Rashim
  • Rashim

mehr als 1000 Beiträge seit 01.08.2001

Re: [OT]die von-Neumann-Architektur ist ein Designfehler

The Matrix has you schrieb am 1. April 2012 23:17

> Rashim schrieb am 1. April 2012 22:53

> > Aber für das OS sind das auch Daten. Die müssen mal verschoben
> > werden. Wenn Du das aber sowieso machen musst, dann hat auch die
> > Schadsoftware diesen Weg.

> Ein Programm hätte dann zwei Teile: einen Datenteil und den
> Programmtext. Das Betriebssystem würde dann von vornherein den
> Datenteil in den Datenspeicher schreiben und den Programmteil in den
> Programmspeicher. Aber selbst wenn der Umweg über den Datenspeicher
> gegangen wird, hat man trotzdem nicht mehr dieses Einfallstor für
> Schadsoftware: das Programm startet erst dann, wenn es im
> Programmspeicher ist. Vom Datenspeicher schwappt da nichts mehr
> rüber, eine Schadsoftware, die über Benutzereingabe (wie eben beim
> klassischen Pufferüberlauf) am Code manipulieren will, hat keinen
> Hebel mehr zum ansetzen.

Das geht auch jetzt mit dem Ausführschutz nicht. Und das ist auch
durchbrochen. Also das alleine nutzt gar nichts. Solange der Stack
nicht getrennt ist, nutzt das nichts.

> > Und was Du auch nicht vergessen darfst: Du
> > musst die Caches und die Tables dann bei jedem Transfer leeren, weil
> > sonst eventuell der Code inkonsistent ist. Da der Weg dann nicht
> > durch die CPU selbst ist, kann die CPU das nicht mitbekommen.

> Den Gedanken verstehe ich nicht.

Hm. Wenn Du ohne Wissen der CPU in den Programmspeicher schreibst,
dann musst Du alles flushen. Wobei das aber wahrscheinlich nicht via
Dualport Ram passieren wird und somit kann die CPU durch Bus-Sniffen
mitbekommen, welcher Speicher überschrieben wurde.

Aber wie gesagt, Du gewinnst nichts, bei massiv mehr Aufwand.

Rashim

Bewerten
- +
Ansicht umschalten