tag_error <txp:output_form form="piwik_code" /> ->  Textpattern Notice: Baustein nicht gefunden: piwik_code  on line 1598
Stateful Inspection - Was ist das?

Stateful Inspection - Was ist das?


Jetzt habe ich in einem Beitrag das Wort stateful inspection verwendet ohne dass ich eine Erklärung dafür gegeben habe. Prompt werde ich mit Nachfragen konfrontiert. Ich war ein wenig überrascht, dass man nachfragt aber dann habe ich gegoogelt und war überrascht, wie kompliziert man es doch erklären kann.

Stateful Inspection – Erklärung aus den englischen Begriffen

Es gibt zunächst einmal einen State und das ist im deutschen der Zustand. Der Begriff stammt aus der Automatentheorie und hier gibt es den Automatenzustand oder unglücklich gewählt aber häufiger gebraucht den Zustandsautomaten.

Das ist ein theoretisches Modell nach dem ein Automat während einer solchen Kommunikation verschiedene Zustände durchläuft.

Ein Zustandsautomat ist zum Beispiel ein Drehkreuz an einem Eingang eines Schwimmbades. Im Normalfall hat der Automat den Zustand “gesperrt” man kann solch ein Drehkreuz nicht passieren. Dann wirft man eine Münze ein und der Automat schaltet auf den Zustand “passierbar”. Wenn sie eine weitere Münze einwerfen, dann bleibt der Zustand “passierbar” und ihr Zustand ist dann wahrscheinlich “problematisch”. Wenn dann eine Person durchgeht, dann ändert sich der Zustand wieder auf “gesperrt”.

Neben dem “defekt” – dann fällt hoffentlich die Münze durch und man kann einen anderen Automat nehmen – kennt dieser Automat zwei Zustände eben “gesperrt” und “passierbar”.

Und eine Kommunikation zwischen zwei Rechner kann man darstellen als ein ineinander wirken von zwei solcher Zustandsautomaten. Jeder der Beteiligten Rechner ist ein Automat.

Stateful ist dann eine Wortkreation, die ich einordnen würde unter “vollständige Übersicht über die Zustände eines Automaten”.

Und “Inspection “ ist schließlich nach Babylon-Translator “Aufsicht; Kontrolle; Aufsicht; Kritik; Besichtigung”

Ein System, dass für sich beansprucht Stateful Inspection zu sein, das ist also eines dass die Zustände eines Automaten vollständig kontrolliert.

Warum ist Stateful Inspection kompliziert?

Stateful Inspection ist nicht kompliziert. Es gibt eine US-Firma mit dem Namen “Check Point Software Technologies Ltd.” und diese beansprucht die Erfinder zu sein von dieser Stateful Inspection Technik (U.S. Patent # 5,606,668.).

Wenn man also Stateful Inspection Produkte sucht, dann sucht man solche mit einem konkreten in einer Patentschrift verifizierten Verfahren, mit dem man eben die Zustände eines Automaten nachbilden und nachführen kann.

Es kann auch andere Verfahren geben und das ist sogar sehr wahrscheinlich, die gleiches leisten, nur dürfen diese eben nicht unter dem Namen Stateful Inspection Paketfilter oder Stateful Inspection Firewall verkauft werden.

Was meint der Fachmann mit Stateful Inspection?

Ein Paketfilter, der mit dem im Stateful Inspection Patent beschriebenen oder einem ähnlichen Verfahren eine Kommunikation in allen Zuständen überwacht, der kann auch Bestandteile der Kommunikation filtern, die nicht zur eigentlichen Kommunikation gehören. Dazu ein Beispiel:

Ich hatte einen Beitrag geschrieben darüber wie man die eigene IP ermittelt und dort ein einfaches Verfahren eingerichtet und demonstriert: Der folgende Link zeigt mir heute an, dass ich eine IP habe mit dem Wert 84.160.8.124 und das ich über den Remote-Port 57407 auf den Serverport 80 zugreife.

Die IP ist dabei nicht so sehr das Problem, der Remote-Port ist wichtiger. Das ist die Portnummer unter der sich mein Browser an diesen Server gewendet hat. Wir wissen aus der Beschreibung des Paketfilters im NAT-Router dass der Serverport der Port 80 ist.

Das bedeutet: Mein Webbrowser hat eine Verbindung eröffnet von meinem Heimrechner aus mit dem Port 57407 und hat angefragt an Port 80 dieses Webservers" hier. Der Webserver sagt aber unter dieser Adresse nur “Hallo hier bin ich und alles weitere mit dir verhandle ich von Port 46305 aus mit dir”. Würde der Server das nicht tun, dann wäre er blockiert für die Dauer der Kommunikation mit einem Client.

Der Browser bekommt diesen neuen Port und alles was nun zwischen 57407 auf der Browserseite und 46305 auf der Serverseite ausgetauscht wird, das ist eben genau das, was zum Aufbau des Teils einer Webseite wie dieser hier führt.

Wenn Sie zwei oder drei mal den Link auf get-my-ip anklicken und dabei jedes Mal ein neues Browsertab öffnen, dann kommunizieren Sie in jedem Tab über den gleichen Port. Der Grund ist recht einfach. Diese Kleinseite, die unter dem Link angezeigt wird, die enthält keine Unterdateien wie zum Bespiel Bilder oder CSS-Dateien. Die Verbindung wird geöffnet, die Daten werden übertragen und dann wird die Verbindung wieder geschlossen. Es kommt hinzu, dass die Indexdatei in dem Verzeichnis statisch ist und allerhöchstens beim ersten Mal überhaupt heruntergeladen wird. Danach ist sie im Cache. Bei der Wiederholung steht damit die gleiche Verbindung noch einmal zur Verfügung.

Wenn Sie aber zwischendurch eine andere Webseite laden oder eine geladene Seite neu laden, dann müssen Sie dort mehrere Verbindungen gleichzeitig öffnen eben für mehrere Dateien. Und dann ändert sich die Portnummer.

Jede Datei, die zu einer Seite gehört, die html-Datei, die css-Dateien oder die Bilder, die werden immer über einen solchen Port-Port-Kanal übertragen. Und das Kennzeichen ist immer eine Eröffnungsanfrage auf Port 80.

Der Stateful Inspection Paketfilter muss als bei einem beliebigen ausehenden Paket erst mal feststellen, dass dies an die Portadresse 80 eines Servers gerichtet ist. Dann weiß er, dass es eine http-Verbindung ist und dann kennt er die Struktur der weiteren Kommunikation und kann diese auch weiter prüfen.

Wozu ist nun ein Stateful Inspection Filter gut?

Gehen wir noch mal von unserer kleinen Schaltung aus:

Ein kleines Netzwerk: 3 Rechner und ein Drucker sind über einen Nat-Router an das Internet angebunden.

Der Rechner 1 hat nun Verbindung aufgenommen hier zu diesem Server mit dieser Webeseite.

Auf dem gleichen Server gibt es noch eine andere Webseite und zwar meine Bewerbungsseite. Es gibt sogar noch weit mehr Webseiten auf diesem Server und die sind keineswegs alle von mir.

Aber: Sie haben eine Verbindung aufgebaut von ihrem Browser zu dieser Webseite. Nun könnte ich mir möglicherweise eine Sniffersoftware installieren, diese Verbindung mitbekommen. Wenn nun eine Verbindung aufgebaut wurde von innen nach außen und dies einfach dazu führt, dass alle Pakete von außen nun an diesen einen Rechner innen weitergeleitet werden, dann habe ich freies Feld für einen Angriff auf die geöffneten Ports Ihres Rechners.

Zusammenfassung

Es ist ganz gleich, ob Sie das patentierte Stateful Inspection Verfahren verwenden oder ein anderes nichtpatentiertes. Wichtig ist: Der Filter muss die Zustände der Kommunikation vollständig überwachen und verfolgen können und muss die weitergeleiteten Pakete auf diejenigen beschränken, die zur eigentlichen Kommunikation gehören.