[linux-l] Slightly off topic: Jagd auf Spam

Jan Krueger jk at microgalaxy.net
Fr Okt 24 19:25:39 CEST 2003


On Friday 24 October 2003 17:05, Steffen Schulz wrote:
> http://web.lemuria.org/security/WormPropagation.pdf

Mein, in meiner Unwissenheit, nicht ganz ernst gemeinter Globaler Neustart mit 
folgendem Stromausfall ist also durchaus realistisch. Ohjehminee, ich glaub 
die Verantwortung dafür kann MS nicht mehr tragen und MS ist somit durch 
seine eigene Größe und Marktmacht dem Untergang geweiht.

Daraus ergibt sich eine interessante Herausforderung für Programmiersprachen, 
Betriebssysteme und die Turing-Maschine mit ihrem Grundunsicherheitsdings dem 
linear addressierbaren Band.

Folglich melde ich hiermit zum Patent an folgende Verfahren:
(Das wäre dann BeLUG Patentverhinderungs-Patent 00022003)

Lokale Intrusions Detektion samt Desinfektion auf Rechnersystemen

Man nehme einen kleinen Micro- oder Nanokernel- (zB. L4, MIT Exokernel o.ä.) 
Prozeß aus einem Execute in Place ROM-Bereich und/oder spezielle Hardware 
welche folgendes tut:
-Im Anfangzustand des Rechnersystems checksummen von allen [geladenen, zu 
ladenden] Code-Segmenten zu generieren und diese gesondert abzuspeichern. 
Code Segmente dürfen sich zur Laufzeit nicht verändern.
-Zur Laufzeit wird von gesonderten Einheiten (des Micro-, Nanokernels oder der 
spezielle Hardware) regelmäßig eine Checksumme der CodeBereiche erstellt und 
mit der Checksumme des Urzustands verglichen.
-Es werden regelmäßig Prozess-schnappschüsse der verifizierten und für ok 
befundenen Prozesse der zugehörigen Codebereiche angelegt und gesichert.
-Falls beim obigen Vergleichen der Checksummen die Checksummen übereinstimmen 
-> alles ok
-Falls diese unterschiedlich sind so hat sich der Code durch, zb. einen wurm, 
verändert. in diesem Fall wird der Prozess samt codebereich verworfen und 
durch einen vorherigen, geprüften Schnappschuß ersetzt. -> alles ok.
-Code im Datenbereich kann nicht ausgeführt werden

Intrusionsverhinderung

-besondere Hardwareunterstützung kann zb. durch physikalische Auftrennung der 
Daten- und Code-Speicher erreicht werden mit entsprechender Unterstützung 
durch den/die Prozessor(en), wobei Code nur vom Code-Bereich heraus 
ausgeführt werden kann. Die besondere Eigenschaft des Code-Speichers ist, daß 
er sich nur einmal durch das initiale Laden des Codes nach dem Starten des 
Rechners beschreiben läßt und danach während der Laufzeit schreibgeschützt 
ist. Es bedarf einer besonderen Behandlung dieses Speicherbereiches (durch 
zb. Anforderung eines Passworts oder explizite Freigabe durch einen 
physikalischen Schalter oder Anwendung eine SmartCard oder ähnliches) um ihn 
erneut beschreiben zu können. In diesem Fall ließe sich auf das Checksumming 
der Codebereiche verzichten. 

Oder anders ausgedrückt: Diese Turingmaschine hat 2 Bänder, eines für Code, zu 
Laufzeit read only, eines für Daten, wie gehabt.

-alternativ befindet sich Code grundsätzlich in einem (Flash-)ROM und ist 
daher zur Laufzeit nicht manipulierbar und darf/kann auch nur in diesem 
Bereich via Execute in Place ausgeführt werden.
-Wenn man also dem System auszuführenden Code hinzufügen möchte, muß das 
System in einen besonderen Installationsmodus versetzt werden, welcher den 
Transfer von Code aus dem Datenbereich ind den (Flash-)ROM Bereich erlaubt 
und nichts anderes.
-Code aus dem Datenbereich kann nicht ausgeführt werden

Daraus wird ersichtlich:
-Solange der Code noch nicht geladen ist, ist er wie Daten zu betrachten und 
weiterhin manipulierbar.
-Code laden bedeuted: Transfer vom datenbereich in den Codebereich (daher hat 
Turing wohl auf das 2te Band verzichtet) und ist daher gesondert abzusichern
-Wir brauchen alle mehr Speicher und/oder Flash-Speicher.
-existierende Sicherheitsprobleme lassen sich ohne eine änderung der 
architektur ( Software und/oder HW ) nicht lösen
-TCPAbla könnte obiges Checksumming Verfahren unterstützen? Keine Ahnung. 
womöglich nicht. TCPAbla ist sinnlos?
-Softwareinstallation verdient eine gesonderte Behandlung und sollte nicht so 
leichtfertig nebenbei (womöglich noch unbemerkt im Hintergrund) durchführbar 
sein.

Call for Investors:
Wenn jemand das nötige Geld sponsort implementier ich gerne einen derart 
sicheren Rechner :)

Gruß
Jan





Mehr Informationen über die Mailingliste linux-l