Schadhafter Code im Hauptspeicher

Aber selbst wenn beides klappt, müsstest du in deinem NIDS immer noch ein gewisses Delta beim Messen erlauben oder du wirst dich vor False-Positives nicht retten können und dieses Delta kann ein Angreifer nutzen.

Das Delta ist ja in der EISN mit drin. Und natürlich erkennt man einen versteckten Kanal nicht bereits beim ersten Datenpaket. Aber die Gesamtheit der Pakete wird immer vom erwarteten Zufallszahlen-Generierungsmodell abweichen sobald ein anderer Algorithmus zur Erzeugung der ISN genutzt wird als der des Systems. Und das wiederum lässt sich nicht vermeiden, wenn man die ISN zum Kodieren von Daten nutzt. Irgendwie müssen diese Daten ja einfliessen und somit hast du mindestens einen Faktor mehr in der Formel zur Berechnung der ISN, wodurch bereits eine signifikante Verschiebung vom erwarteten Modell nicht zu vermeiden ist.
 
Klingt theoretisch natürlich machbar, würde ich aber gern mal in der Praxis erleben und mal ein paar Checks gegenlaufen lassen. In meinen bisherigen Versuchen hat jeder Versuch zur Manipulation von Zufallswerten in Paket-Headern dazu geführt, dass ein IDS, dem ein Generierungsmodell des entsprechenden Servers vorlag, diese erkennen konnte, indem es während der Übertragung ein weiteres Generierungsmodell erstellte und die Daten beider Modelle (saved vs. runtime) miteinander verglich. Dabei spielte es keine Rolle welchen Faktor ich in die Generierung einstreute. Üblicherweise erstellen die meisten modernen Systeme eine ISN mit folgenden Daten:
- Source IP
- Destination IP
- Source Port
- Destination Port
- Zufallszahl
Bis zu diesem Punkt ist es übrigens auch zumeist identisch zur IP ID, was die Erkennung einer manipulierten Zufälligkeit noch etwas vereinfacht. Vereinfacht wird's dann richtig bei Linux, da dort IP ID und ISN das gleiche Secret bei der Generierung verwenden.
Hinzu kommt bei der ISN noch:
- Rekey Counter
- Zeit (in Mikrosekunden)
Natürlich variiert das von System zu System etwas. OpenBSD z.B. nutzt die Verbindungsdaten für die ISN-Generierung gar nicht, was eine Verschleierung von Daten stark vereinfacht.

Die siehst also: Man hat noch jede Menge anderer (oftmals ziemlich statische) Faktoren, die in deine Steganographie mit einfliessen müssen. Das grenzt dich in der Informationsübermittlung ziemlich ein und macht Generierungsmodelle ziemlich eindeutig.
 
Zurück
Oben