Raketenwilli: Heise verrät, wie man den Schlüssel unter der Fußmatte findet, den man selbst hingelegt hat!

Beitrag lesen

Ob Browser-Extensions, die in C++ oder anderem geschrieben sind, auf diesen Speicher zugreifen können, wäre erstmal zu beweisen.

Im RAM? Das ist jedenfalls alles andere als einfach. Wenn ich verstehe, was ich in den letzten 36 Jahren so gelesen habe, verhindern moderne Betriebssysteme das (oder versuchen es). Jedem Prozess wird ein virtueller Speicherbereich mit logischen Adressen zugewiesen, der vom Betriebssystem verwaltet wird. Dieses „mappt“ dann auch die logischen Adressen (nach der Prüfung ob der Prozess oder Thread das auch darf) auf die physikalischen und „visa versa“.

Will man Programm B den Zugriff auf Daten von Programm A erlauben gibt es hingegen sehr explizites Zeug wie Shared Memory, Message Queues, Pipes und natürlich das Dateisystem. Letztes spielt hier eine wichtige Rolle. (siehe ganz unten)

Im vorigen Jahrtausend hingegen konnte Prozess A sich tatsächlich unter gewissen Umständen durch den Prozess B zugeordneten Speicher greppen. Das war, wenn ich mich richtig erinnere, ein Bug, weil in C (oder war es Assembler?) geschiebenene Programme auf Adressen jenseits des zugewiesenen Speichers zugreifen konnten. Hatte ein Programm meinetwegen 1MB erhalten hat es, dem Wille des pösen Programmierers folgend, einfach lesend auf Adressen jenseits von 1MB zugegriffen (die einem anderen Programm gehörten) und „Peng!“

Zum Video: Heise umgeht diesen Schutz, in dem es ein Speicherabbild wegschreibt. Das ist ein Dump genau des kompletten, dem Prozess zugewiesene Speichers. Dieses Risiko geht man aber ziemlich bewusst ein. Jedenfalls wenn man ausreichend intelligent (undoof) ist oder durch eine Schulung sensibilisiert wurde. Gunnar hat insoweit recht: Man kann mit Software nicht alles verhindern...