Datenschutzhinweis Impressum

Theorie und Praxis der asymmetrischen Kommunikationsendpunkte

Von Heinrich T. Feuerbach, ab Februar 2019
email: info@feuerbach.info



Copyright beim Autor. Frei für Wikipediaartikel. Achtung: Wichtiger Hinweis zur Lizensierung. Wie weiter unten beschrieben, habe ich sowohl die Hardware, als auch die Software für den AKE mit dem 1.8.2020 unter die GPL in Version 3.0 gestellt. Alle anderen Lizenzhinweise zum AKE sind damit ungueltig. Der Volltext der GPL v.3.0 findet sich unter https://www.gnu.org/licenses/gpl-3.0.html .

For English, press here

Erster Abschnitt.

Einführung

Dieser Artikel beschreibt zunächst den theoretischen Hintergrund asymmetrischer Kommunikation in Netzwerken wie dem Internet und deren Vorteile im Bereich der Datensicherheit. Darauf folgt in einem zweiten Abschnitt die Beschreibung einer der möglichen Umsetzungen eines asymmetrisch kommunizierenden Computersystems mit herkömmlichen Mitteln (Ethernet, PCs). Dies dient dem praktischen Nachweis der Richtigkeit der Theorie. Abgrenzung: mit "asymmetrischer Kommunikation in Netzwerken" ist nicht die unterschiedliche Bandbreite in Internetverbindungen für Upload und Download gemeint. Vielmehr geht es hier darum, Sende- und Empfangsfunktion eines Clientcomputers physikalisch getrennt aufzubauen, um bestimmte physische Sicherheitsvorteile zu erhalten. Auch geht es hierbei nicht um einfache Datendioden, welche, z.B. durch optische Verbindungen, die Einseitigkeit der Kommunikation sicherstellen, also die Kommunikation auf entweder das Senden oder das Empfangen reduzieren. Um beim elektrotechnischen Vergleich der Datendioden zu bleiben, müßte man beim AKE eher von einem Brückengleichrichter sprechen, denn der AKE unterstützt beide Kommunikationsrichtungen. Ich stelle hier ein Rahmenwerk oder "Framework" vor, welches im Prinzip beliebigen, bisher nur symmetrisch kommunizierenden Protokollen erlaubt, unter asymmetrischen Bedingungen eingesetzt zu werden. Dazu zeige ich am Beispiel eines wichtigen Layer-3-Protokolls, dem Ping-Programm und an Hand des am meisten eingesetzten Layer-7-Protokolls, HTTP, daß und wie Protokolle auch unter streng asymmetrischen Bedingungen funktionieren können. Zum Download am Ende dieser Seite biete ich dazu die Quellcodes, Installationsanleitungen und alles sonst Nötige an, um ein Demonstrationsmodell auf Basis von drei Laptop Computern zu erstellen.

Vernetzte Computersysteme werden immer mehr eingesetzt, Programme und Hardware werden immer leistungsfähiger, aber was nützt dies, wenn die Daten darauf nicht vor dem Mitlesen Fremder geschützt sind? Wenn sie auch unbemerkt manipuliert werden können oder das ganze System so sabotiert werden kann, daß es nicht mehr benutzt werden kann? Ein asymmetrischer Kommunikationsendpunkt oder "AKE" bietet die technischen Voraussetzungen, um diese drei Probleme auf systematische Weise zu lösen, ganz gleich für welche Anwendungsszenarien. Dabei bezieht sich dieser Artikel auf Endanwender-Computer, also den Massenmarkt, nicht auf industrielle Großsysteme der Automatisierung, wie z.B. IIoT Systeme.

Ein AKE ist ein Computersystem, welches nicht nur aus einem, sondern aus zwei Computern besteht, welche zusammen den Endpunkt eines Netzwerkes bilden.
Dabei dient dann eines der beiden Systeme ausschließlich zum Senden in das Internet oder andere vom Anwender gewollte Netze. Das andere System dient nur zum Empfangen aus demselben Netzwerk.
Die „Asymmetrie“ bezieht sich daher auf die Aufspaltung der Funktionen „Senden“ und „Empfangen“. Dem Anwender des AKE's stellt sich dieses System natürlich trotzdem transparent wie ein einzelner, in herkömmlicher Weise symmetrisch vernetzter Computer dar.

Ein solches System ist gegen jedwede Angriffe initiiert aus einem äußeren, bekannten Netz, wie dem Internet und über dieses auch durchgeführt, sicher und zwar auf physikalischem Wege. Daher ist dieser Schutz sogar von der verwendeten Anwendungssoftware unabhängig. Es werden keine Updates und dergleichen mehr benötigt, um dieses hohe Sicherheitsniveau aufrechtzuerhalten. Gegen einen AKE können keinerlei Angriffe mehr erfolgreich sein, welche über ein dem Benutzer bekanntes Netz wie das Internet initiiert und durchgeführt werden. Das betrifft Datenspionageangriffe, Datenmanipulationsangriffe und Sabotageangriffe. Voraussetzung ist nur, daß alle schützenswerten Daten mindestens auf dem Sender vorgehalten werden, oder besser noch synchron auf beiden Geräten, Sender und Empfänger, gleichzeitig. Zur Abgrenzung von bekannten und unbekannten Netzen und deren Bedeutung, siehe unten die Einführung zur Sicherheitsmatrix.

Sender- und Empfängergerät bilden dann zusammen im AKE eine „grüne Seite“, also die sichere Seite, was Angriffe jeder Art aus dem Internet betrifft. Die Farbe Grün setze ich im Sicherheitsniveau zwischen „Blau“ für isolierte Netzwerke, wie isolierten LANs, welche z.B. hochsensible Produktionsbereiche enthalten und „Rot“, also mit dem Internet symmetrisch (also sendend und empfangend) verbundene, herkömmliche Computer (Symmetrische Kommunikationsendpunkte, SKE's). In folgenden Darstellungen werde ich den sendenden Computer selbst mit der Farbe „Grün“, den empfangenden Computer mit der Farbe „Gelb“ kennzeichnen und auch im Text so benennen. Grün und Gelb bilden dann also zusammen die „grüne Seite“ des gesamten AKE-internen Netzwerkes.

Der AKE kann universell, sowohl für Netzwerkprogramme wie Web, email, Dateitransfer usw., als auch rein lokal für netzwerkunabhängige Programme genutzt werden. Die weiter unten dargestellte praktische Lösung zur Realisierung eines AKE's stellt ein Framework dar, auf welchem im Prinzip beliebige Anwendungsprotokolle asymmetrisch gefahren werden können. Im Folgenden zunächst ein Exkurs, um für die weitere Diskussion der Sicherheitsniveaus in einem AKE eine geeignete Grundlage zu haben.



Einführung einer Klassifizierung von Angriffen auf Computer

Um das Maß an Sicherheit eines Computersystems zu bestimmen und verschiedene Systeme miteinander vergleichen zu können (etwa: symmetrisch/asymmetrisch, vernetzt/unvernetzt), muß man zunächst in der Lage sein, alle Arten von Angriffen darauf zu klassifizieren.

Das heißt, daß in der Klassifizierung jeder beliebige, individuelle Angriff seinen Platz finden muß, also darauf abgebildet werden kann und in geeignete Zusammenhänge gestellt wird.

Daher habe ich zu diesem Zweck eine aus 9 Hauptfeldern bestehende „Angriffsmatrix“ entworfen, welche noch in weitere Teilfelder unterteilt ist. Jeder beliebige, bekannte und auch in Zukunft denkbare, mögliche Angriff auf ein Computersystem läßt sich darin zuordnen.

Ein Verteidiger wird bemüht sein, alle 9 Felder möglichst vollständig zu schützen bzw. zu decken. Ein Angreifer wird am ehesten dort angreifen, wo der Schutz am geringsten ist oder das Feld am schwierigsten zu decken ist und auch die Sichtbarkeit am geringsten ist.

Felder können sowohl absolut abgedeckt sein, als auch nur relativ (in Prozent ausgedrückt).
Eine absolute Deckung eines Feldes bedeutet, daß ein Angreifer niemals Erfolg haben kann. Dies ist nur möglich, wenn eine nachweisbare, etwa physikalische, Absicherung erfolgt. Alle anderen Maßnahmen können nur zu einem geschätzten Prozentwert absichern.

Der AKE kann absolut die Bereiche B3 (Sender) und (A3+C1) (Empfänger) für die bekannten Netzwerke abdecken.
Dabei wäre für den Empfänger der Bereich A3 der bekannten Netzwerke auf Grund einer vorgeschalteten Firewall („FW“) abgedeckt.





Abb.1, Angriffs- oder Sicherheitsmatrix der Computersysteme

Erläuterungen zu Abb.1:

Die Angriffsmatrix besteht aus 9 Hauptfeldern mit 2 Dimensionen, den Angriffswegen und den Angriffszielen. Die Felder sind nochmals unterteilt, hauptsächlich in bekannte und unbekannte Netze.

Die Farbgebung der Grafik hat nichts mit der Farbgebung der Netze weiter oben zu tun und ist davon unabhängig. Die Farbgebung der Grafik habe ich so gewählt, daß diese farblich dem Gefahrenpotential des jeweiligen Feldes entspricht: Grün weniger gefährlich, Rot am gefährlichsten und schwersten abzuwehren. Die Helligkeit der Farben, die nach oben hin im Diagramm zunimmt, soll die Sichtbarkeit eines Angriffs auf dem zugehörigen Feld anzeigen: Je heller die Farbe, desto eher ist ein Angriff für den Anwender sichtbar.

Der Fall eines bekannten Netzes liegt vor, wenn jemand einen Computer, egal ob symmetrisch oder asymmetrisch, mit dem Internet auf kontrollierte Weise verbindet. Diese Verbindung mit dem Internet ist dann erwünscht und kann vom Benutzer auch jederzeit wieder entfernt werden.

Der Fall eines unbekannten Netzes liegt vor, wenn jemand eine dem Eigentümer des Computers oder -Netzes nicht bekannte und von diesem daher auch nicht gewünschte, Verbindung z.B. in das Internet herstellt, etwa über ein Mobiltelefon mit Datenübertragungsmöglichkeit, welches an den Computer, das dazugehörige LAN, oder ein Netzwerkgerät anschließt und dadurch eine unbekannte Netzwerkverbindung eröffnet, über die Daten abfließen oder auch zufließen können.
Dieser Zufluß oder auch Abfluß von Daten ist dann außerhalb der Kontrolle des Anwenders bzw. Eigentümers des Computersystems oder -Netzes.

Auch der nicht abgeschirmte Computermonitor gehört dazu, wenn er die Bildschirmdaten elektromagnetisch in die nähere Umgebung aussendet, ebenso das Tastaturkabel, welches nicht abgeschirmt ist, Netzwerkkabel, die nicht abgeschirmt sind usw.

Eine weitere Unterteilung erfolgt in Spalte „C“ in Felder für HW, Betriebssystem und Anwendungprogrammen. Dies entspricht den verschiedenen Bereichen, in denen eine Schadsoftware, gleich für welches Ziel, im Computer bereits von Produktion her oder auch nach Auslieferung usw. eingebaut sein kann, also auch ohne jede Netzwerkverbindung bereits vorhanden sein kann.

Schließlich erfolgt noch eine weitere Unterteilung in Oberhalb und Unterhalb der Sichtbarkeitslinie, „SL“. Angriffe, die für den Anwender direkt sichtbar bzw. erfahrbar sind, liegen über der SL, alle nicht oder nicht sofort sichtbaren Angriffe unterhalb der SL. Die SL entspricht also einer „Wasserlinie“: je weiter unter der Wasserlinie, desto schwerer ist der Angriff zu erkennen. Leider sind nur Sabotageangriffe in vielen Fällen vom Anwender direkt und sofort erkennbar.

Mit den Bezeichnern aus römischen Ziffern (I und II), Buchstaben und Minuszeichen, kann jedes einzelne Feld eindeutig benannt und unterschieden werden. Zusätzlich kann das Merkmal „oberhalb“ oder „unterhalb“ der SL herangezogen werden.

Wenn man einen Bereich aus mehreren Hauptfeldern benennen möchte, benennt man das am weitesten rechts oben liegende Feld des Bereichs. Bei einzelnen Feldern benennt man diese als „Feld Xn“.

Es können auch mehrere Bereiche von Feldern durch ein Pluszeichen verbunden werden, etwa (A3+C1).

Der gemeinsame Bereich in der Angriffsmatrix, der sowohl vom Sender als auch vom Empfänger durch den AKE allein auf Grund von Asymmetrie abgedeckt werden kann, ist das „L“ aus A3 und B1. Alle anderen Felder kann entweder nur der Sender (bis B3) oder nur der Empfänger (bis C1) abdecken, folglich ergibt die Asymmetrie alleine als Maßnahme „nur“ eine Abdeckung A3 und B1, die A3 Sicherheit einer vorgeschalteten FW miteingerechnet- für die grüne Seite, also Grün und Gelb gemeinsam.

Die Trennlinien in den Feldern C2 und C3 sind gestrichelt, da hier die Bedeutung der Netzwerkverbindungen eingeschränkt ist: Ein Angriff auf C2 kann auch ganz ohne Netzwerk zur Wirkung kommen, da dies ja Datenmanipulation durch eingebaute Schadsoftware meint. Sofern diese bereits auf einem gegebenen Computersystem liegt, ist ein Netzwerk nicht mehr nötig, um zur Wirkung zu gelangen; liegt sie aber noch nicht auf einem gegebenen Computersystem vor, ist wiederum eine Netzwerkverbindung nötig, um sich auf andere Computer auszubreiten. Ansonsten kann sie nur lokal wirken. Dasselbe gilt für implementierte, bzw. eingebaute, Sabotagesoftware, Feld C3.

Nun kann jeder einzelne Angriff einem der Felder eindeutig zugeordnet werden.

Der Verteidiger sollte versuchen, alle Felder zu decken, besonders die weiter unten liegenden.

Je weiter rechts ein Feld liegt, desto schwieriger ist es zu decken. Je weiter unten, desto schwieriger ist ein Angriff zu erkennen und daher zu verhindern; daher ist das für den Verteidiger problematischste Feld C1.

Beispiele für Angriffe auf die einzelnen Felder:

Spalte A, direkte Angriffe über Netzwerke: diese sind bei bekannten Netzen nur dann auf einen Endpunkt möglich, wenn keine Firewall (FW) vorgeschaltet wurde. Bei unbekannten Netzen wird kaum eine FW vorgeschaltet sein, daher sind dies die wahrscheinlicheren Angriffswege.
Dies kann z.B. über einen unbekannte WLAN Zugriff, ein per USB-Kabel an einer der im LAN befindlichen Computer usw. erfolgen. Auch unbekannte Kommunikation über Ultraschall wie bei verschiedenen Handy-Apps oft als Trojaner vorhanden, kommen hier in Frage.

Es sind für unbekannte Netze sehr viele Möglichkeiten gegeben, jede Spionagewanze, die unter einem Konferenztisch befestigt wurde, stellt so ein unbekanntes Netz dar. Auch Infrarot, das Lichtnetz usw. können zum Angriff in Frage kommen. Durch verschiedene Abschirmmaßnahmen lassen sich diese verhindern, über z.B. Sensoren lassen sich diese erkennen.

In Spalte „B“ haben wir es schon mit deutlich schwerer zu bekämpfenden Angriffen zu tun, da diese von innen her, indirekt über das Netzwerk kommen. Beispiele sind die Trojaner, die man sich über email-Anhänge „einfängt“. Nachdem ein solcher Anhang vom Empfänger geöffnet wurde, sammelt der Trojaner (Feld B1) unbemerkt vom Angegriffenen, Daten wie Passwörter, emails etc. im Klartext ein. Dann sendet er diese im Falle symmetrischer Vernetzung in das Internet zum Angreifer. Ein anderes Beispiel ist die remote control: der Trojaner enthält einen Server, mit dem der Angreifer jederzeit den Bildschirminhalt live mitbeobachten kann, ohne das der Anwender etwas davon bemerkt. Feld B2 könnte bedeuten, daß der Trojaner ohne Wissen des Benutzers Dateien löscht oder verändert. Wenn dies keinen tieferen Zweck verfolgt als die Beschädigung, ist es bereits ein Angriff auf Feld B3, also Sabotage; werden aber Daten verändert, um dadurch einen Zweck wie z.B. die inhaltliche Manipulation, verfolgt, dann ist es ein Angriff auf Feld B2.

Die am schwierigsten zu verteidigenden Felder sind die der Spalte „C“, da hier der Angriff unabhängig von außen, also dem Netzwerk, erfolgt und daher im Netzwerk auch nicht zu erkennen ist.

Beispiele für „C“-Angriffe: Im BIOS der Hauptplatine des Computers eingebautes Programm, welches die Tastaturanschläge mitliest und direkt über das Netzwerk in das Internet an einen vorgegebenen Server sendet, wo die Daten abgeholt werden. Auch eine Neuinstallation des Betriebssystems kann hier nichts ausrichten, da das BIOS davon ja nicht berührt wird. Genauso kann in jedem Betriebssystem Schadsoftware zur Spionage, der Manipulation bzw. der Sabotage, eingebaut sein. Anwendungsprogramme enthalten oft ebensolche Schadsoftware oder Trojaner.

Zur Abwehr von Angriffen auf die Spalte „C“ hilft es, nur vertrauenswürdige, getestete HW und SW einzusetzen, mit Open HW und Open SW, aus den Quellen kompilierte Programme und testen der Computer, ob sie Daten auch ohne Benutzerzutun aussenden.

Zu unbekannten Netzen gehören auch unbekannte, also vom Anwender nicht gewünschte, Protokolle zur Kommunikation, auch wenn diese unbek. Protokolle auf einem phys. bekannten Netzwerk betrieben werden. So können auf Layer 1 Daten praktisch neben den üblichen Protokollen her übertragen werden, ohne daß z.B. eine FW etwas davon mitbekommt. Solche Layer-1 Angriffe entsprechen einem „Unterfliegen des Radars“ der FWs.

Die Dimensionen der IT Sicherheit und die physikalische Abwehrmöglichkeit


Die drei Spalten A,B und C, also direkte, indirekte und implementierte Angriffe, können als drei Dimensionen der IT-Sicherheit betrachtet werden. Gegen diese Angriffsdimensionen kann zur absoluten Abwehr zumindest der Felder jeweils für bekannte Netze, auch eine entsprechende Dimensionalität im AKE eingesetzt werden. Denn: zur Abwehr gegen direkte Angriffe reicht ein eindimensionaler Aufbau aus: Eine Firewall vor einen Computer geschaltet, wobei der Computer symmetrisch kommuniziert, also sendend und empfangend in einem. Wollen wir aber auch die zweite Dimension, Spalte B oder indirekte Angriffe, abwehren, so müssen wir auch den Computer zweidimensional aufbauen, was beim hier beschriebenen AKE-Computer der Fall ist, denn die drei "Punkte", Sender, Empfänger und Balun, ergeben eine Ebene, also zwei Dimensionen. Damit lassen sich aber die Angriffe von Spalte C, im System vorhandene, implementierte Angriffe, noch nicht abwehren. Hierfür müssen wir dementsprechend einen Computer mit drei Dimensionen aufbauen: Indem wir den Sender doppelt auslegen (bei sonst gleicher Vernetzung). Damit kommt die "Höhe" ins Spiel. Denn die doppelte Auslegung des Senders erlaubt uns nun den Vergleich zwischen zwei Sendern: C1-Sicherheit des Senders erlangen wir dabei, indem wir den Datenverkehr auf den Leitungen der beiden Sender in Richtung Balun vergleichen. Ist der Datenverkehr identisch, so ist das Senden vom Anwender erwünscht. Sendet aber einer der beiden Sender "eigenständig", so liegt ein eingebauter Spionageangriff vor. Um C2-Sicherheit beim Sender zu erhalten, können wir die Eigendaten/Dateien auf beiden Sendern vergleichen: sind diese unterschiedlich, so liegt ein eingebauter Manipulationsangriff auf diese Daten vor. Regelmaessiger, automatischer Vergleich auf Basis von Hashsummen, erlaubt, denjenigen unserer beiden Sender zu bestimmen, auf dem die Manipulation erfolgte. Zwei Sender erlauben auch eine nochmals sicherere Datenhaltung im Sinne eines weiteren, parallelen Backups, wie bei Sender/Empfaenger. Fuer einen C3 Schutz des Senders koennen zusaetzlich die Prozesse in beiden Sendern verglichen werden. Mit einem solchen dreidimensionalen Computersystem/AKE lassen sich also physikalisch alle drei Angriffsdimensionen absichern und Angriffe darauf sofort erkennen.

 

Der AKE

Ein AKE ermöglicht nun auf physikalischem Wege die völlige Absicherung von vernetzten Computern vor Spionage, Datenmanipulation und Sabotage, welche über das Internet initiiert und durchgeführt wird.
Durch die Asymmetrie alleine hätte man allerdings noch keinen Schutz vor bereits in HW und SW eingebauten Angriffen, also etwa im BIOS, dem Betriebssystem oder in den Anwendungen eingebaute Schadsoftware gleich welcher Art. Gegen diese sehr schwer zu bekämpfende Art der Angriffe auf Computersysteme, vernetzte wie isolierte, hilft auch heute schon die Überprüfung der Programmquellen, Open Source, Open Hardware, aus den Quellen kompilierte Programme und Tests der Systeme daraufhin, ob diese etwas aussenden, obwohl der Benutzer dies nicht veranlaßt hat und auch nicht wollte. Verträge mit den Herstellern, die besagen, daß es keine undokumentierten Funktionen in HW/SW geben darf (Vertragsstrafen), können hier auch helfen. Die Überwachung der Transport-und Logistikwege ist hier besonders wichtig, um Manipulationen an der HW und SW zu verhindern.

Die technische Sicherheit eines AKE's vor Angriffen über bekannte Netze ist dauerhaft. Dieser Schutz ist auch unabhängig von Virendefinitionen, Signaturen für Netzangriffe wie bei IDS/IPS Systemen üblich usw.

Voraussetzung ist nur, daß die Asymmetrie durch den Angreifer über das Netz weder zu umgehen noch zu brechen ist und dabei dauerhaft implementiert ist.

Zunächst die einfache Erklärung, warum ein AKE physikalisch gegen Spionage über das Netz und durch das Netz initiiert, sicher ist und dieser Schutz vom Angreifer, der sich irgendwo im Internet befindet, nicht umgangen werden kann: Der AKE hat wie gesagt einen eigenen Computer physikalisch nur für das Senden ins Internet und einen anderen, vom Ersteren phys. getrennt, nur für das Empfangen aus dem Internet.

Der Sender kann dann zwar ins Internet senden, aber nichts aus dem Internet empfangen; daher kann er auch keine Spionageangriffe (oder andere Angriffe) aus dem Internet mehr empfangen, die ihn zum Aussenden von auf dem Sender befindlichen Daten veranlassen können. Dasselbe gilt für Datenmanipulations- und Sabotageangriffe, welche über das Internet initiiert werden.

Der Empfänger hingegen kann nun zwar Spionagesoftware beim Surfen usw. aus dem Internet empfangen, aber er kann anschließend die zusammengesammelten Daten, wie Passwörter, Texte usw., nicht mehr zurück ins Internet senden.

Die physikalisch sichere Trennung des Senders vom Empfänger ist also die Methode für die völlige Spionagesicherheit, was solche Spionageangriffe betrifft, die über das Internet sowohl initiiert als auch durchgeführt werden, was wohl den Großteil der heutigen Internetspionage und Datenspionage betrifft (sog. Hacking), also Industriespionage, und auch das Ausspionieren von Einzelpersonen wie Entscheidungsträgern. So wie die Hardware eines AKE's aus einem Sender und einem Empfänger besteht, so muß auch die Software darauf entsprechend eine Sender- und eine Empfängervariante besitzen.

Ein herkömmlicher Kommunikationsendpunkt („Rot“) kommuniziert symmetrisch, was die Kommunikation im Netzwerk betrifft: Ein einzelner PC z.B. kann sowohl aus dem Internet empfangen als auch in das Internet senden. Damit findet der Schluß des Datenstromkreises (Sender zu Empfänger und auch wieder zurück zum Absender) bereits auf der Ebene der Anwendungen, Layer 7 im ISO/OSI Modell, statt. (Das ISO-OSI Modell wurde ab 1983 von der ITU begründet und ab 1984 von der ISO mitentwickelt.) Eine Anwendung kann daher ohne Benutzerinteraktion und damit ohne jedes Benutzerwissen, Daten senden und empfangen. Der Browser kann Daten über den Benutzer und vom Benutzer erstellte Daten z.B. über das HTTP Protokoll ins Internet verschicken (Passwörter usw.). Genauso können das im Prinzip alle anderen Programme auf demselben PC bzw. Endgerät auch. Der Anwender oder User, der nun die Anwendungen betreibt, kann dies gar nicht verhindern, Firewalls (FWs) stoppen nur, was von Außen eigenmächtig Zugriff nach Innen (PC) verlangt, aber nicht, was von Innen nach Außen geht. Woher sollte die FW auch wissen können, also entscheiden können, welche Aussendungen von Innen „Gut“ oder „Erwünscht“ sind und welche dies nicht sind?

Auch eine Abfrage beim Anwender, ob eine Anwendung gerade senden darf, die dies versucht, ist nicht praktikabel, denn wie oft muß der Benutzer dies dann tun? Und woher soll der Benutzer immer wissen, was die Anwendung xy gerade senden will und wohin? Und ob dies berechtigt ist oder nicht?

Auch kann dieser „Schutz“ sehr leicht umgangen werden, indem neben den erwünschten Daten auch noch andere ohne Benutzerwissen herausgeschmuggelt werden.

Die Ursache dieses Dilemmas liegt darin, daß der „Stromkreis der Datenströme“ (als Analogie zur Elektronik), schon unterhalb des Benutzerniveaus, nämlich auf Layer 7, geschlossen werden kann, wie bei einem Server, wo klar ist, daß die Antworten des Servers auf Anfragen automatisiert und unmittelbar erfolgen müssen, alleine schon aus Performancegründen und ohne Zutun eines Menschen.

Aber bei Clients? Die ja nur von Menschen bedient werden sollen? Hier kann und sollte man dem Benutzer die Kontrolle darüber überlassen, wann und ob der Datenstromkreis geschlossen wird und zu welchem Zweck.

Ein wichtiger Aspekt von AKE's ist deren Unsichtbarkeit im Netzwerk: Da der Empfänger nicht senden kann, kann ein Angreifer auch keine Rückmeldungen von diesem bekommen. Er wird also z.B. niemals auf einen „Ping“ von außen reagieren. Das betrifft nur die grüne Seite des AKE's; die rote Seite wird weiterhin auf einen Ping antworten können.

Der Sender ist dann selbst nicht mehr über das Netz erreichbar, daher auch nicht mehr von Außen dazu zu bewegen, etwas Unerwünschtes zu tun.

Ein AKE ist daher auch nicht aus der Ferne steuerbar, jedenfalls nicht ohne bewußtes Benutzerzutun.

Indirekter Schutz vor DDoS Angriffen
Da ein AKE nicht ferngesteuert werden kann, ist er auch das beste Mittel gegen DDoS Angriffe - also verteilte Sabotageangriffe, die gleichzeitig viele einmal übernommene Computer dazu bringen, massenhafte Anfragen an bestimmte Serveradressen zu senden, um die Server oder Clients zum Erliegen zu bringen - vorausgesetzt, alle Anwender würden nur noch AKE's als Geräte zur Internetnutzung verwenden.

Auf zwei Beinen stehend

Wie oben beschrieben, gibt es beim AKE eine klare Trennung zwischen selbst vom Anwender erzeugten und von anderen Personen außerhalb desselben AKE's erzeugten Daten. Die selbst erzeugten Daten werden auf Grün erstellt, um sie auch versenden zu können. Wenn alle Anwender nur noch AKE's verwendeten, befänden sich alle Daten zumindest auf einem Grüngerät (irgendwo im Netz) und wären damit global vor Angreifern geschützt, somit vor allen über ein Netzwerk initiierten Angriffen. Damit können diese Daten auch immer wiederhergestellt werden, nämlich von ihrem Original auf einem der Grüngeräte des Erstellers der Daten. Dies würde das Vermischen von selbst erstellten Daten (eigenes Copyright) und von anderen Anwendern erstellten Daten (fremdes Copyright) verhindern. Daher erlaubte der AKE auch einen besseren Schutz der Daten vor Copyright-Mißbrauch. Ein Beispiel dafür wäre die email-Nutzung mit AKE's, wobei das Weiterleiten von emails unterbunden wird und nur indirekt über den ursprünglichen Absender erfolgen kann (erzwingen einer Punkt zu Multipunkt-Verteilung von Daten, anstelle der bisher üblichen Punkt zu Multipunkt zu Multipunkt Verteilung).
Im Gegensatz zu symmetrischen „Endpunkten“ (SKE's) im Netz steht man mit dem AKE sozusagen auf zwei Beinen und nicht nur auf Einem. Diese Trennung zwischen Datenquelle und -Senke hat natürlich Konsequenzen für die Arbeitsweise mit Computern.

 

Weitere Konsequenzen aus der Asymmetrie für den Umgang mit Computern und Beispiele

Eine Konsequenz des Arbeitens mit AKE's ist, daß die Zusammenarbeit via email und mit serverseitigen Programmen etwas anders ablaufen muß, als bei SKE's. Emails können in einem AKE nicht weitergeleitet werden, da in einem AKE niemals Daten vom Empfänger auf den Sender gelangen dürfen, weder über das Netzwerk, noch manuell. Eine email, die man empfangen hat, darf daher nicht einfach auf den Sender übertragen und von dort an weitere Teilnehmer am email-Verkehr versendet werden. Es ist aber leicht, dem Versender eine email mit der Bitte um Versendung derselben email an weitere Empfänger zu senden, zukommen zu lassen. Das hat auch den Datenschutzvorteil, daß das Copyright beachtet werden muß, da der ursprüngliche Absender einer email die Kontrolle darüber behält, an wen seine email gesendet wird.

Durch den AKE wird das ISO/OSI-Schichtenmodell um Layer 8 erweitert

Das bekannte ISO/OSI-Schichtenmodell der Netzwerkkommunikation aus sieben Schichten wird mit dem AKE auf acht Schichten erweitert, da ein AKE ein Layer-8-Gerät darstellt, s. Abb.2.

Die Bezeichnung „Layer 7 Gerät“ oder „Layer 3 Gerät“ für ein Netzwerkgerät resultiert aus der untersten Ebene bzw. Layer nach ISO-OSI Modell, auf der der Datenstromkreis erstmals geschlossen wird. Betrachtet man das ISO-OSI-Modell von der Ebene 1 an aufwärts und schaut, auf welcher der Ebenen der Datenstromkreis zum ersten Mal geschlossen wird, so ist dies die Ebene, welche dem Gerät die „Layer x“- Bezeichnung gibt. Ein Router z.B. schließt den Datenstromkreis auf Ebene oder Layer 3, ist daher ein Layer-3-Gerät. Ein Repeater hingegen ist ein Layer-1-Gerät, da er Signalverstärkung durchführt, also auf rein physikalischer Ebene bleibt.

Der Anwender selbst behält beim AKE die Kontrolle über den Schluß des Datenstromkreises, damit bildet der Anwender den obersten Layer, auf dem der Datenstromkreis erstmals geschlossen werden kann.

Bei einem herkömmlichen „Client“- Computer, einem SKE, werden natürlich auch vom Anwender Maus, Tastatur usw. benutzt und die Abläufe im Protokollstapel wie oben beschrieben, sind gleich wie sie bei einem AKE sind, aber der SKE kann ohne weiteres den Datenstromkreis bereits auf Layer 7 schließen, also wie ein Server agieren. Überspitzt formuliert, ist ein SKE also nur ein von Anwendern auch als Client mitgenutzter Server.
Ein SKE ist also kein wirklicher „Endpunkt“ in einem Netzwerk, sondern lediglich ein Durchgangspunkt. Das macht ihn so unsicher. Da die hier geschilderte Erfindung im Layer 1 liegt, also dem physischen Layer, liegt hier auch eine wichtige Neuerung: Aus dem bisherigen Layer 1 wird ein foundational Layer, also ein Fundament. Bisher gab es ein solches Fundament nämlich nicht; Der bisherige physische Layer kann keinen Schutz und keine Stabilität für die Anwendungen bieten, welche darauf aufgebaut werden.

Der Layer 8 ist zur Beschreibung von AKE's bzw. zur Zuordnung von AKE's im ISO-OSI-Modell zwingend nötig, da nur über den Anwender der Datenstromkreis geschlossen werden kann.


Im Folgenden der Vorschlag für eine grafische Darstellung eines um Layer 8 erweiterten ISO-OSI-Schichtenmodells:








Abb.2, das um den Layer 8 für AKE's erweiterte Schichtenmodell



Der AKE bietet auch wirksamen Schutz vor Ransomware



Eine weitere, wichtige Konsequenz aus der Asymmetrie im AKE ist die der "doppelten Datenhaltung". Hierbei unterscheide ich zwischen Eigendaten und Fremddaten.
Eigendaten sind alle vom Anwender des AKE's selbst z.B. mit Hilfe einer Tastatur erstellten Daten. Fremddaten sind alle auf dem Empfänger über das Netz von anderen Urhebern empfangenen Daten.
Da im AKE nun alle Eigendaten synchron über eine spezielle Tastatur (siehe dazu weiter unten die Beschreibung eines Labormodells) gleichzeitig in Sender und Empfänger eingegeben werden, liegen die Eigendaten also stets auf beiden Seiten, Sender und Empfänger, vor.
Diese doppelte Datenhaltung erlaubt es, den Empfänger nach einem erfolgten Angriff mit Schadsoftware schnell wieder auf den vorigen Stand zurückzubringen.
Dazu wird der Empfänger mit einem Betriebssystem-Image neu aufgesetzt und nach Neustart werden die Eigendaten dann vom Sender über die Synchronverbindung auf den Empfänger kopiert, so daß beide, Sender und Empfänger, wieder denselben Stand der (Eigen-) Daten haben.
Dieses Wiederherstellungsverfahren hat auch große Vorteile gegenüber Backups: Da Backups von herkömmlich symmetrisch kommunizierenden Computern "in Reihe", also hintereinander geschaltet sind (Datenquelle zu Computer zu Backup), kann das Backup ebenfalls schon von derselben Schadsoftware infiziert und damit womöglich unbrauchbar sein.

Oft hat Schadsoftware eine "Zeitbombenwirkung", bei der absichtlich vor dem aktivieren der Schadsoftware eine Zeitverzögerung wirkt, damit alle Backupgenerationen infiziert sind, bevor der Anwender sich des Angriffs überhaupt bewußt wird.
Ein weiterer Nachteil von Backups ist, daß diese nie aktuell sind, sondern immer (Folge der seriellen Anordnung) ältere Daten enthalten, als die, an welchen der Anwender gerade arbeitet.
Ein AKE arbeitet hingegen parallel auf zwei Computern.
Die doppelt vorgehaltenen Daten im AKE sind daher immer aktuell. Sollte der Anwender nun feststellen, daß er Opfer eines "Ransomware"-Angriffs geworden ist, so muß er lediglich den Empfänger mit einem Image neu aufsetzen und danach die Eigendaten vom Sender auf den Empfänger kopieren (über die Synchronverbindung).
Nun gibt es auch Fremddaten, also solche, die von anderen Autoren stammen und die man über das Netzwerk wie dem Internet, erhalten hat und die sich auf dem Empfänger des AKE's im Laufe der Zeit "ansammeln".
Um diese nach Neuaufsetzen des Empfängers ebenfalls wieder herstellen zu können, werden die Fremddaten vom Proxy auf dem Rotgerät auf Rot lokal ebenfalls abgespeichert.
Von dort können sie dann über die Ringverbindung von Rot zum Empfänger ebenfalls wiederhergestellt werden.
Damit ist dann der Empfänger wieder im selben Zustand, wie er vor dem Angriff mit Ransomware war und auch wieder frei von Schadsoftware aus dem Netz.
Vorausgesetzt, daß man die Ransomware nicht ebenfalls wieder von Rot auf den Empfänger kopiert; hier muß also genau geschaut werden, welche Fremddaten wieder auf den Empfänger kopiert werden.
Um nun auch möglichst frühzeitig Dateimanipulationen (nicht erst Ransomware) feststellen zu können und manipulierte Dateien mit den Originalen ersetzen zu können,
empfehle ich die intensive Nutzung der asymmetrischen Kryptographie: Wenn alle Anwender ihre Dateien vor dem Verschicken elektronisch signieren,
können Anwendungsprogramme alle Dateien vor dem Öffnen mit der Signatur überprüfen und Manipulationen feststellen sowie Schäden von vornherein verhindern.
Auch Webseiten könnten im Prinzip vor dem Veröffentlichen vom Autor signiert werden, so daß Browser dann diese Signatur auf die Webseiten anwenden können
und bei Manipulationen (etwa das Ändern von Links auf der Seite) den Anwender warnen können oder die Seite dann gar nicht erst laden.
Leider wird zur Zeit nur in sehr geringem Maße von diesen Schutzmöglichkeiten Gebrauch gemacht.

Die Kombination von asymmetrischer Kryptographie (AKR) und asymmetrischen Endpunkten (AKE) hat auch den entscheidenden Vorteil, daß beide Verfahren gegenseitig ihre jeweiligen Schwachstellen beheben: Die Schwachstelle der AKR ist es, daß bei symmetrisch kommunizierenden Computern (SKEs) der Signier- und Verschlüsselungsprozess von Angreifern über das Netzwerk eingesehen oder manipuiert werden kann. Dies kann beim AKE nicht mehr passieren: der Signier- und Verschlüsselungsprozess ist auf dem Sender vor allen Fremdzugriffen geschützt.
Umgekehrt schützt die AKR die schwache Seite des AKE's: den Empfänger. Der Empfänger ist ja, wenn auch deutlich geringer als bei einem SKE, Schreib- und Sabotageangriffen ausgesetzt, also nur "halb-privat". Wenn, wie oben erwähnt, alle Dateien vor dem Versenden mit elektronischen Signaturen geschützt werden, sind solche Schreibangriffe nicht mehr, oder zumindest nicht mehr unbemerkt, möglich.
Die AKR schützt die bewegten Daten und macht die "Datenbewegungen" privat. Der AKE schützt dazu die ruhenden Daten und macht die Computer selbst auch privat.



Zweiter Abschnitt.

Das Labormodell als praktischer Nachweis der Richtigkeit der Theorie und als Beispiel für eine Umsetzung mit herkömmlichen (handelsüblichen) Mitteln.

Im folgenden Abschnitt beschreibe ich die praktische Umsetzung eines AKE's.

Wichtige Hinweise zur Nutzung der Dateien des Tarballs unten zum AKE V.0.1, Labormodell, davon abgeleiteten Programmen und Hardware, sowie allen hier auf dieser Seite vorhandenen Informationen (Diese Hinweise hier haben Vorrang vor denen im tarball):

 

Lizenz-und Nutzungsbestimmungen:

Die Dateien im Tarball am Ende der Seite zum Download dienen dem Verständnis und dem praktischen Nachbau eines "Proof of Concepts" (PoC) AKE's. Patent- und lizenzrechtlicher Hinweis: Diese Veröffentlichung eines Labormodells bewirkt, daß diese Erfindung in der hier beschriebenen Form von niemandem mehr patentiert werden kann. Damit ist der auf dieser Seite beschriebene technische Stand eine Ausgangsbasis global für alle interessierten Entwickler, um darauf aufbauend an einem in Zukunft für alle Internetnutzer brauchbaren AKE zu arbeiten.

Der Quellcode in C und Bashskripten ist mit in den Dateien des Tarballs enthalten.

Eine Veröffentlichung auf "Wikipedia" im Internet ist mit Autorennennung ohne Einschränkungen erlaubt.

Bei allen neuen Projekten zur Weiterentwicklung des AKE's bin ich für Hinweise darauf dankbar; ich werde diese dann auf dieser Webseite gerne auflisten.

Teilweise habe ich öffentlich vorhandenen Quellcode, welcher unter der GPL steht, verwendet, nämlich das Utility „Ping“, als Teil der Network Utilities der fsf. Das daraus von mir abgeleitete „aping“ steht daher auch unter der GPL.

Alle anderen Programme aber, wie der cproxy, der lproxy, die verschiedenen Skripte, die im Tarball enthalten sind, sind hingegen nicht auf GPL-lizensierten Programmen aufgebaut sondern nur mein eigenens Werk; für diese gelten nun, seit dem 1.8.2020, ebenfalls die Bestimmungen der GPL v.3.0 ( https://www.gnu.org/licenses/gpl-3.0.html ).

 

Einschränkungen:

Ich übernehme für den Einsatz des hier beschriebenen AKE's keinerlei Haftung und/oder Verantwortung. Er ist in dieser Form (V.0.1) auch noch nicht für produktiven Einsatz geeignet, sondern nur zum Nachweis der allgemeinen Richtigkeit der Theorie gedacht.

Es ist also vor allem ein Vorführgerät (Labormodell).

 

Diese Version 0.1 als PoC enthält insbesondere noch diese zu lösenden Probleme:

 

1. Bei Verwendung von ausschließlich 1000BaseT Ethernet-Schnittstellen und der Auto-Cross Over Funktion in allen vier Interfacen im Ring innerhalb des AKE's besteht eine 50%ige Wahrscheinlichkeit, daß sich der vierpolige, asymmetrische Ring falsch herum dreht (links drehend) und damit der Sender von Rot aus Daten empfangen und der Empfänger zu Rot (Balun) hin Daten senden kann, also deasymmetriert wird. Solch eine Deasymmetrierung hebt natürlich die auf der Asymmetrie basierende, hohe Sicherheit des AKE's vollständig auf. Manuell läßt sich dies dadurch korrigieren, daß nach Systemstart auf dem Sender der Ping gestartet wird (nur auf dem Sender) und beobachtet wird, ob nach Aufleuchten der Link-LED die Daten-LED auf dem Blau-Interface im Takt des Pings aufleuchtet. Wenn dies der Fall ist, bedeutet dies, daß der Ring links herum dreht. Es gelangen nämlich Ping-request-Pakete von Grün nach Blau, anstatt von Grün nach Rot. Durch Aus- und Wiedereinstecken des RJ45 am Blau Interface kann der Ring neu "ausgehandelt" werden, bis das Blau-Interface nicht mehr im Takt des Pings aufleuchtet. (Pakete gehen nun nach Rot, wie es sein sollte, der Ring dreht rechts herum.) Auch dauert es unter den o.g. Bedingungen bis zu 2 Minuten, bis ein Link im Ring zustandekommt.

Würde zumindest eines der vier Interface im Ring keine Auto-Crossover bzw. keine Auto-MDI/MDIX Funktion enthalten oder diese deaktiviert sein, etwa auf Grün, so würde das geschilderte Problem nicht bestehen und der Ring würde immer und sofort nach Einschalten des AKE's rechts herum drehen. Er kann auch nicht nachträglich umgedreht werden, etwa durch kurzzeitiges Abschalten eines der beteiligten vier Interfaces im Ring. Es gibt manchmal noch ältere Ethernetkarten für den Einbau in PC's, welche max. 100BaseT beherrschen und kein Auto Crossover eingebaut haben. Solche Karten sind ideal für den AKE.

Lösungsvorschlag: siehe unter Punkt 2 dortigen Lösungsvorschlag. Damit wird dann auch bei ausschließlicher Verwendung von 1000BaseT Interfaces und Auto MDIX ein hoher Schutz vor De-Asymmetrierung und Angriffen über die Synchronverbindung erreicht.

 

2. Empfangspakete auf Grün im Synchronisier-Interface. Normalerweise sollten die Interface des Senders, also Grün, auch nach längerem Betrieb keinerlei Pakete empfangen, also nur Pakete senden. Dies kann z.B. mit „ifconfig“ auf Grün leicht festgestellt werden: Nach längerem Einsatz vom asymmetrischen Ping („aping“) und dem asymmetrischen Browsereinsatz sollten beide RJ45 Ethernet Interface von Grün ein RX=0 aufweisen. Nur TX darf beliebig größer als Null aufweisen.

Bei Gelb, dem Empfänger, dürfen sowohl RX als auch TX größer Null sein, da Gelb ja immerhin „ins Blaue“, also das Abschlußinterface senden darf.

Da ganz am Anfang beim Hochfahren der beteiligten Rechner im AKE die Firewallregeln noch nicht sofort aktiv sind, gelangen dadurch einige (4 bis 15) Pakete von Gelb nach Grün über die Synchronisierstrecke. Dies kann leicht vermieden werden, indem man die Kabel der Synchronisiserstrecke erst nach dem Hochfahren einsteckt.

Lösungsvorschlag: Im Balun werden alle Adernpaare jeweils durch Zweifach-Relais geschleift, welche im Ruhezustand offen sind. Damit sind sechs kleine Printrelais für 5 Volt erforderlich, die einfach mit Batterie (6Volt) betrieben werden. Je nach Batterie sind Vorwiderstände erforderlich. Über einen einfachen Umschalter können dann gleichzeitig alle sechs Relais eingeschaltet werden, so daß alle sechs Datenverbindungen im Balun (Ring und Synchron) gleichzeitig eingeschaltet werden können (nachdem die Laptops/PCs bereits hochgefahren wurden). Dieses gleichzeitige Einschalten der Ring-Interface bewirkt, daß das Auto-MDIX gar nicht erst zum EInsatz kommt und sofort der Link entsteht und der RIng auch rechts herum, also im richtigen Drehsinn, dreht. Da damit auch die Synchronverbindung erst nach dem Rechnerstart eingeschaltet wird, können auch keine Pakete von Gelb nach Grün gelangen, bevor die Firewallregeln aktiv sind.

Zusätzlich werden über ein weiteres Skript zum Systemstart die Ausgaben von "ifconfig" häufig ( einmal pro Sekunde mindestens) auf Grün daraufhin überprüft, ob a) "RX-Bytes" beider Interface von Grün gleich Null sind und b) beide Interface stets den Status "running" jeweils der ifconfig-Ausgabe haben. Falls eines oder beides nicht mehr zutrifft, sollte das Skript Grün herunterfahren und zuvor noch einen Logeintrag hinterlassen, aus dem hervorgeht, welches Ereignis das Herunterfahren ausgelöst hat. Ein solches einfaches Skript kann dann sowohl Angriffe über die Synchronverbindung von Gelb nach Grün, als auch De-Asymmetrierungsangriffe wirksam verhindern. Angriffe dieser Arte können damit auch leicht erkannnt und beseitigt werden (mit anschließendem Neuaufsetzen von Gelb). Ein ähnliches Skript sollten auch Rot und Gelb mit dem System starten, nur daß es diese Rechner nur auf den Status "running" der am Ring beteiligten interface prüft. Falls "running" fehlt (in "ifconfig -a" Ausgabe), sollten Rot bzw. auch Gelb ebenfalls heruntergefahren werden. Damit wird verhindert, daß der Ring durch Neuverhandeln des Links nach z.B. Aus- und Wiedereinstecken eines der am Ring beteiligten Kabel, linksherum, also falsch herum dreht und damit der Ring deasymmetriert würde, was unbedingt vermieden werden muß.

Da der Ring überhaupt erst nach Hochfahren der Rechner vom Anwender eingeschaltet wird (siehe Relaisschaltung oben), ist direkt nach Systemstart natürlich noch kein "running"-Status der Interface gegeben, sondern erst nach Einschalten des Baluns. Daher müssen diese Skripte einen Anfangszustand ohne "running" erkennen und tolerieren können, etwa indem ein Flag gesetzt wird, sobald "running" nach Einschalten zum ersten Mal gegeben ist. Nur wenn das Flag gesetzt ist, aber der Status "running" nicht mehr gegeben ist, sollte das Herunterfahren beginnen.

Ein angenehmer Nebeneffekt hierbei ist, daß alle drei Rechner durch Abschalten des Baluns gleichzeitig heruntergefahren werden können, was auch einen Test der Schutzfunktionalität gegen De-Asymmetrierung darstellt. Ein weiterer Test der Ringabsicherung besteht darin, irgendeines der Kabel des Ringes auszustecken. Dann sollten ebenfalls alle drei Rechner automatisch heruntergefahren werden.

 

3. Der „aping“ wird zu Rot als anzupingendem Rechner ausgeführt, als Test der AKE-internen Verbindungen und als Nachweis der Asymmetrierbarkeit von Layer-3-Protokollen. Ein weiterreichender Test zu Rechnern außerhalb des AKE's kann auch durchgeführt werden, dazu muß aber erst das IP Forwarding auf Rot (Firewall iptables usw.) eingestellt werden (ein Häkchen in Yast2, Netzwerkeinstellungen).

 

4. Die Laufzeitanzeige, der sog. Roundtrip, des apings ist auf Grund der zeitlichen Synchronisierung des Empfängers mit dem Sender auf nur unter einer Sekunde genau. Für genaue Pingmessungen im äußeren Netzwerk empfehle ich daher den symmetrischen, also „normalen“ Ping von Rot aus einzusetzen.

 

5. Es ist zur Zeit nur passives Browsen asymmetrisch möglich (mit beliebigem Browser, muß nur auf Proxyverwendung eingestellt sein). Aktive Nutzung, wie Login/Paßworteingaben zu einem Host hin, Dateneingaben in Serverdatenbanken vom AKE aus u.dgl. sind noch nicht implementiert.

 

6. Automatisches Laden von Bildern, Skripten usw. einer Webseite sind noch nicht implementiert, das passive Browsen erfolgt also mit „Raw-HTML“.

 

7. Bilder auf Webseiten können manuell per Kurzlink nachgeladen werden, diese werden dann im Browser angezeigt und mit „Alt-Links Pfeil“ auf der Synchrontastatur kann man wieder zurück auf die Webseite navigieren. Das nicht automatische Laden von Dateien einer Webseite ist natürlich sicherer.

 

8. Um zu verhindern, daß eingebaute Spionagefunktionen im jeweiligen Betriebssystem, oder den Anwendungsprogrammen den „Weg nach draußen“ über Port 80 TCP nutzen können, werden auch Langlinks wie „www.feuerbach.info“ als „y.www.feuerbach.info“ eingegeben. Der Proxy auf Rot prüft die Anfragen, welche auf Port 80 hereinkommen, ob sie dieses „y.“ am Anfang haben. Wenn ja, wird die Anfrage weiter ins Internet geleitet. Wenn nicht, wird die Anfrage vom Proxy auf Rot verworfen und mitgeloggt.

Dies ist nur eine sehr einfache Form der Absicherung als C1-Schutz auf Grün. In Zukunft könnten Angreifer dies leicht umgehen, sollte also durch eine bessere Abwehr ersetzt werden, etwa auf Rot im Proxy. Damit entfiele auch das „y.“ vor jeder Langlink-Eingabe im Browser.

 

9. Bei einer Gigabitverbindung zwischen Grün und Gelb muß für die Dateiübertragungen mit dem „greenfiler“ die Geschwindigkeit auf 100 Mbits herabgesetzt werden, da der Server auf Gelb für die 1000 Mbits nicht ausgelegt ist. Dateien werden sonst in falscher Größe auf Gelb abgelegt, die von Grün dorthin gesendet wurden.


Im Folgenden die allgemeine Beschreibung des Labormodells, PoC :

Patentbeschreibung zum Patentanspruch *
„Asymmetrischer Kommunikationsendpunkt“,
kurz „AKE“

Autor: Heinrich Theodor Feuerbach

Ort: Warschau, Polen

Startdatum dieser Dokumentversion: 7.8.2019

Version 1.3

Achtung: seit dem 1.8.2020 steht das gesamte Softwarepaket und auch die Hardware unter der GPL v.3.

 

*) Aus wichtigen Gründen verzichte ich auf Patentansprüche zum AKE. Details siehe die README.odt in derselben tar.gz Datei. Die Lizenzbestimmungen auf dieser Webseite haben allerdings Vorrang.

Achtung: Am 1.8.2020 habe ich die Lizenzbestimmungen dahingehend geändert, daß nun alle Programmbestandteile unter der GPL v.3, stehen (GNU General Public License 3). Damit sind alle älteren Lizenzhinweise ungültig. Das betrifft auch die Hinweise zu Lizenz-und Nutzungsbestimmungen in den an dieser Seite zum Download stehenden Dateien.

Beschreibung des Patentgegenstandes allgemein:

 

Ein Computersystem als Endbenutzergerät auf Basis von drei Personal Computern oder Laptops,

allgemein drei Endanwendercomputern, zur besseren Absicherung der lokal vorgehaltenen Daten und Prozesse gegenüber Angriffen von Außerhalb über ein bekanntes Netzwerk wie lokalen Netzwerken (LAN) und auch entfernten Netzwerken, wie dem Internet. Ziel ist die nahezu völlige Sicherheit zumindest einer der drei Computer dieses Systems gegen alle direkten und indirekten Angriffe, welche über das Internet oder andere bekannte Netze initiiert und auch durchgeführt werden. Damit sollen insbesondere Angriffe über das Netzwerk wie dem Internet abgewehrt werden, welche der Datenspionage und auch der Datenmanipulation oder -Sabotage dienen. Zur Erreichung dieses Zieles werden die Sende-und Empfangsfunktion, welche Netzwerke den Computern bereitstellen, asymmetrisch aufgebaut und daher auf zwei Computer verteilt. Diese Asymmetrie oder Auftrennung führt dazu, daß der Datenstromkreis nur über den Anwender selbst geschlossen werden kann, also nicht mehr automatisch, wie bei herkömmlich symmetrisch vernetzten Computern. Damit wird erstmals ein Layer-8-Gerät vorgestellt. Der Layer 8 oder Anwenderlayer zur Datenflußkontrolle durch den Anwender als Erweiterung des ISO-OSI 7-Schichtenmodells stellt damit erstmals einen Endpunkt in Netzwerken dar. Unerwünschte Netzwerkkommunikation wird so auf physikalischem Wege sicher unterbunden. Dazu zählen Querverbindungen, welche von Webseiten ohne Wissen des Anwenders zu fremden Servern, die der Anwender nicht kennt, aufgebaut werden, wenn der Anwender Webseiten besucht. Solche Querverbindungen, welche auch die Performance des Browsers mindern, dienen zum Datensammeln über das Benutzerverhalten. Auch können „Trojaner“ nun keine Daten mehr ausspionieren, da diese nur in den Empfangscomputer gelangen können und von dort aus nichts mehr zurück ins Internet senden können. Auf einem solchen Layer-8 Gerät oder kurz AKE, können Datenmanipulationsprogramme die z.B. der Erpressung des Anwenders durch Verschlüsselung seiner Daten dienen, nur auf dem Empfängersystem Schaden anrichten. Auf dem Sendersystem nicht, da sie dort auf Grund der Asymmetrie nicht hingelangen können. Auf dem Sendersystem sind alle Daten und Prozesse physikalisch vor allen Angriffen aus dem Netzwerk geschützt. Daraus folgt bei Anwendung ausschließlich von AKE's, daß nur noch versendete Daten angegriffen werden und manipuliert werden können, nicht aber die Datenquellen auf den Sendesystemen selbst. Die Datenquellen sind also nicht mehr über das Netzwerk erreichbar, ihre Daten existieren also nach jeder Art Angriff immer noch im Original auf dem dazugehörigen Sendesystem. Damit kann ein Angreifer nur noch Kopien von Daten beschädigen, aber nicht mehr die Originale. Ausspioniert werden können die Daten gar nicht mehr, weder vom Original noch von der Kopie, aus den o.g. Gründen. Die Abläufe im AKE können über das Netzwerk initiiert nicht mehr beobachtet werden.

 

Patentanspruch:

 

Erfindungsgemäß ein mit dem Internet oder anderen dem Benutzer bekannten Netzen verbundenes und diese zu nutzen ermöglichendes Computersystem, welches den Schutz der Daten und Prozesse des Anwenders vor Angriffen, die über das Internet initiiert und durchgeführt werden, bietet.

„Computersysteme“ sind hierbei alle hauptsächlich für die Benutzung von einzelnen Personen erbauten Datenverarbeitungssysteme.

 (Entsprechend „B3-Sicherheit der bekannten Netze“, siehe Beschreibung unten zur „Angriffsmatrix“ sowie Dokument desselben Autors „Theorie der AKE's“ auf firewalls.feuerbach.info. Wenn im Folgenden auf diese Sicherheitsstufen Bezug genommen wird, ist immer nur der Bereich der bekannten und vom Anwender gewollten Netze gemeint. Die Gefährdung seiner Daten und Prozesse durch und der Schutz vor dem Anwender unbekannten Netzen ist nicht Gegenstand dieser Patentanmeldung. Ebenso ist die Gefährdung seiner Daten und Prozesse durch und der Schutz vor  Angriffen auf die Daten und Prozesse des Anwenders durch bereits in der Hardware oder dem Betriebssystem oder den Anwendungen von vornherein (von Herstellung) enthaltenen Schadprogrammen nicht Gegenstand dieser Patentanmeldung.)

 

Die erzielten Sicherheitsstufen bzw. das Schutzniveau sind :

 

1. (A1 und B1 Sicherheit) Alle direkten und indirekten Angriffe zur Datenspionage, die über das Internet initiiert und durchgeführt werden können, wie z.B. mittels „trojanischer Pferde“, Keyloggern, mit Malware verseuchten Webseiten, remote control Tools, Ausnutzung von Fehlern wie bei „Zero-day-exploits“ usw.

 

2. (A2 und B2 Sicherheit) Alle direkten und indirekten Angriffe, welche über das Internet initiiert und durchgeführt werden können und zur Manipulation der lokal auf dem Computersystem vorgehaltenen oder erzeugten Daten dienen, sowie

 

3. (A3 und B3 Sicherheit) Alle direkten und indirekten Angriffe zur Sabotage eines Computersystems, welche über das Internet initiiert und durchgeführt werden können und dazu dienen, das Computersystem oder seine Daten oder Prozesse vorübergehend oder dauerhaft unbenutzbar zu machen.

 

Da das erfindungsgemäße Computersystem hauptsächlich aus zwei Arbeits-Computern für den Anwender sowie einem Hilfscomputer aufgebaut ist, wird für die o.g. Sicherheitsniveaus vorausgesetzt, daß der Anwender eines solchen Computersystems seine Daten mindestens auf dem mit „Grün“ gekennzeichneten System aufbewahrt (Sender, S) und dort verarbeitet, nach Bedarf und Anwendungsfall auch auf dem mit „Gelb“ gekennzeichneten Gerät (Empfänger, E).

Indirekt erfolgt auch ein Schutz vor DDoS-Angriffen, bei denen sehr viele „gekaperte“, herkömmliche Computer im Internet zu Denial of Service Angriffen mißbraucht werden: Denn wenn alle Endbenutzer nur noch AKE's verwenden, können diese auch nicht mehr für DDoS- Angriffe mißbraucht werden.

 

Zusammenfassung und Nutzen für Anwender gegenüber heutigen Lösungen zur Absicherung des Internetzugangs:

 

Diese Erfindung erlaubt das im Patentanspruch genannte Schutzniveau für Endpunkte von Netzwerken bei gleichzeitiger Nutzung des Netzwerks, z.B. des Internets, für übliche Anwendungen wie das Browsen im Web („WWW“) durch den Anwender des Endpunktes. Es handelt sich also um eine technische Absicherungsmethode, welche zwischen den heute üblichen, technischen Methoden der mit dem Internet verbundenen einzelnen, höchstens durch Firewalls, IDS/IPS und Antivirus geschützten Computern, oder Netzen von solchen Computern, auf der einen Seite und solchen Einzelcomputern sowie Netzen von solchen Computern, welche zwecks Absicherung gar nicht mit dem Internet verbunden werden („isolierte Computer“, „isolierte Netze“), auf der anderen Seite, steht.

Während die genannten isolierten Computer (-netze) sehr sicher sind, erschweren diese aber den Betriebsablauf erheblich und machen separate, mit dem Internet verbundene, Computer erforderlich, nur um Dienste des Netzwerks bzw. des Internets, wie emails nutzen, oder browsen usw. zu können. Ein Austausch der Daten zwischen beiden Welten ist dabei kaum möglich und aus Sicherheitsgründen auch unerwünscht.

Die bisherigen, mit dem Internet symmetrisch, also gleichzeitig sendend und empfangend, verbundenen Computer wiederum sind den verschiedensten Angriffen aus dem Internet ausgesetzt. Auch die verschiedenen Schutzmaßnahmen, wie Antiviruslösungen, hinken den Angreifern oft hinterher und stellen vor allem keinen systematischen Schutz vor Netzwerk-Angriffen dar.

Damit ergibt sich als Nutzen aus der hier beschriebenen Erfindung, daß weiterhin das Internet genutzt werden kann, also eine Verbindung zum Internet besteht, wie für das Webbrowsen, Dateiübertragung, Teamarbeit usw., aber die Daten und Prozesse vor dem „ausspioniert werden“ sowie vor Manipulation und Sabotage aus dem Internet, also „Hackern“ systematisch geschützt sind.

Der Schutz vor technischen Netzwerkangriffen ist dabei erfindungsgemäß auf eine Art und Weise systematisch erreicht, daß dieser Schutz auch für zukünftige und allgemein noch unbekannte Netz-Angriffsformen gilt und nicht von der Aktualität von Signaturen usw. abhängig ist.

Die Tatsache, daß das Endgerät des Anwenders der Erfindung aus drei Computern besteht, wird bei Nutzung des Internets wie z.B. zum Webbrowsen, dem Benutzer verborgen; er kann das System als ein Einzelnes, bzw. als eine Einheit nutzen und bedienen (also wie ein Gerät mit einer Tastatur, einer Maus, einem Bildschirm). Die Erfindung kommt mit weitestgehend herkömmlicher Hardware bzw. der Kombination solcher, aus.

Natürlich kann der Erfinder bzw. Anmelder nicht für alle existierenden Protokolle und Anwendungen, die existieren, auch den praktischen Nachweis führen, daß diese auch unter asymmetrischen Bedingungen funktionieren und dafür Implementierungsbeispiele mitliefern. Aber der Anmelder hat für zwei Beispiele, welche zu den am häufigsten praktisch eingesetzten gehören, den praktischen Nachweis erbracht und implementiert. Der erste Nachweis betrifft ein Werkzeug auf ISO-OSI-Layer 3, das Ping utility. Der zweite Nachweis betrifft das HTTP(S)-Protokoll auf ISO-OSI-Layer 7, welches sehr universell eingesetzt werden kann und auch eingesetzt wird. Auf Grund sowohl theoretischer Überlegungen als auch auf Grund der nun schon jahrelangen Erfahrung im Umgang mit dem AKE ist der Erfinder zur Überzeugung gelangt, daß es nur eine Frage des Programmieraufwandes ist, um auch andere Protokolle und deren Anwendungen auf einem AKE erfolgreich einzusetzen.

Die theoretische Begründung dafür ist wie folgt: Da das technische Prinzip, um ein Netzwerkprogramm und dessen Protokolle auch unter asymmetrischen Bedingungen „zum Laufen“ zu bringen, immer gleich ist, besteht kein Grund, warum nicht auch andere als die ausgetesteten Netzwerkprogramme und -Protokolle auf einem AKE funktionsfähig gemacht werden können (vgl. hierzu auch die Bedeutung des Rot-Gerätes). Das Prinzip ist dabei, daß das Rotgerät die Abtrennung der Sendefunktion von der Empfangsfunktion ausgleicht, indem das Rotgerät Protokollfunktionen übernimmt. Die Mithilfe vom Rotgerät beschränkt sich dabei auf reine Protokolltätigkeit, so daß Anwenderdaten nicht auf dem Rotgerät vorgehalten oder verarbeitet werden müssen. Anwenderdaten und -Prozesse sind dem Grün- und dem Gelbgerät vorbehalten.

 

Zum Einsatz kommende technische Prinzipien der Erfindung und ihre Komponenten:

 

0. AKE. Der „asymmetrische Kommunikationsendpunkt“, kurz AKE, benennt das gesamte, hier beschriebene erfindungsgemäße System, welches nach den u.g. sechs Prinzipien arbeitet. „Asymmetrisch“ deshalb, weil im Gegensatz zu einem herkömmlichen „Internetrechner“ nicht ein einziger Computer für Senden und Empfangen zum Internet zuständig ist, sondern diese Funktionen hier nun auf zwei Computer verteilt werden. Unmittelbar aus der Asymmetrie heraus resultieren die prinzipiellen Vorteile des AKE: Da der Empfänger nichts ins Internet senden kann, kann eine dort empfangene Spionagesoftware auch keine Daten ins Internet zurücksenden; der Empfänger kann also auch nicht ferngesteuert werden; alle Angriffe sind nur mehr reine „fire and forget“-Angriffe auf den Empfänger, deren Auswirkungen der Angreifer nicht einmal sehen kann. Von der aus dem Internet geholten Spionagesoftware können lokal gesammelte Daten wie Passwörter, Texte, usw. nicht ins Internet zum Angreifer zurückgesendet werden. Der Sender des AKE hingegen kann gar nicht erst Schadsoftware usw. aus dem Internet empfangen, da er nur senden kann. Der AKE gibt dem Anwender die volle Kontrolle über das, was gesendet wird, wann es gesendet wird und wohin es gesendet wird. Es sind im AKE genau drei Kommunikationsrichtungen, als Simplexverbindungen, erlaubt: 1. Von Rot nach Gelb; 2. Von Grün nach Rot; 3. von Grün nach Gelb. Die Sicherheit des AKE steht und fällt mit der Einschränkung der Netzwerkkommunikation im AKE auf diese drei Verbindungen. 

 

1. Balun. Es wird im AKE neben einem als Sender ins Internet dienenden Computer (“Sender“,S), sowie einem als Empfänger aus dem Internet dienenden Computer („Empfänger“,E) ein dritter Computer eingesetzt, „Balun“ genannt, entsprechend der nachrichtentechnischen Bezeichnung für einen Wandler zwischen symmetrischer und asymmetrischer Welt (Balanciert/Unbalanciert), welcher eine zentrale Mittlerrolle einnimmt. Dabei geht es sowohl um die Wandlung zwischen verbindungsorientierten und verbindungslosen Protokollen, als auch um den Ausgleich der Asymmetrie, da sonst viele Anwendungs-Protokolle unter asymmetrischen Bedingungen nicht eingesetzt werden können.

 

2. Synchronisation. Da die Trennung von Sende-und Empfangsfunktion im AKE strikt ist, also der Sender niemals Daten empfangen darf und der Empfänger niemals Daten zu einem anderen Computer senden darf, müssen beide Geräte synchronisiert werden, um dadurch wieder eine Einheit zu bilden, die für Netzwerkprogramme verwendet werden kann, also insgesamt sowohl Sende- als auch Empfangsfunktionalität aufweist. Dazu besteht eine separate, vom Internet unabhängige Netzwerkverbindung vom Sender zum Empfänger, auf logischer Ebene nicht in Gegenrichtung.

Die Gegenrichtung wird durch Firewalls sowohl auf dem Sender als auch auf dem Empfänger verhindert. Auch benötigt der Benutzer des AKE synchrone Eingabegeräte, mindestens eine synchrone Tastatur, mit welcher er beide Seiten des AKE gleichzeitig und synchron bedienen kann.

Etwas unpraktisch, aber im Prinzip möglich, wäre die Verwendung je einer Sender- und Empfängertastatur, etwa bei Verwendung von Laptops, welche dann synchron mit linker und rechter Hand bedient werden können. Der Datenschluß zwischen zwei Kommunikationspartnern, welche AKE's einsetzen, erfolgt also oberhalb von Layer 7, nämlich dem Anwenderlayer. Daher erscheint es dem Anmelder gerechtfertigt, beim AKE von einem „Layer-8-Gerät“ zu sprechen.

 

3. Proxy-Programme. Proxies sind hier für den AKE sehr wichtig, da innerhalb der Vernetzung der drei beteiligten Computer nur mit verbindungslosen Protokollen wie UDP gearbeitet werden kann, da z.B. Handshakes der verbindungsorientierten Protokolle unter asymmetrischen Bedingungen nicht möglich sind. Im Internet wird aber für gewöhnlich aus gutem Grunde eher ein verbindungs-orientiertes Protokoll wie TCP eingesetzt.

Um die Arbeit mit verbindungsorientierten Protokollen zu ermöglichen, wandeln Proxies auf allen drei Geräten die Protokolle jeweils um, passen also an. Auch ermöglichen sie Layer-7-Protokolle auf dem AKE. Die Proxies sind daher die Software zum Balun-Gerät. Die Umwandlung stellt sicher, daß alle drei Kommunikationsrichtungen im AKE selbst Verbindungslos erfolgen, hier mit UDP implementiert.

 

4. Alle Synchronisierung geht vom Sender oder dem Anwender aus. Der Sender schickt regelmäßig Datenpakete zu Synchronisationszwecken sowohl an den Empfänger als auch an das dritte Gerät, den Balun, aus. Ein Beispiel ist die Zeitsynchronisierung. Der Sender synchronisiert seine Uhrzeit zu den beiden anderen Computern des AKE, Gelb und Rot bzw. zu Empfänger und Balun. Der Anwender kann mit seinen synchronen Eingabegeräten Sender und Empfänger synchron bedienen.

 

5. Um zu empfangen, muß ein Programm zuerst senden. Damit der Empfänger Datenpakete aus dem Internet überhaupt auswerten kann, muß er die Möglichkeit haben, auch erst eine ent-sprechende Anfrage zu senden. Diese Möglichkeit wird ihm dadurch gegeben, daß der Empfänger ein Abschlußinterface im AKE-Netzwerk erhält, welches Pakete nicht weiter auswertet, sondern nur empfängt und dann verwirft.

 

6. Im AKE gibt es nur Simplexverbindungen. Alle Verbindungen zwischen den drei Computern des AKE sind einseitig, also Simplex, um die Asymmetrie zu gewährleisten, welche ja (Punkt 0 oben) die Voraussetzung für die besonders hohe Sicherheit des AKE's ist.

 

Sicherheitsniveaus der am AKE beteiligten Computer:

Die drei beteiligten Computer (C's) des AKE's haben naturgemäß auf Grund ihrer jeweiligen Rolle im AKE sehr unterschiedliche Sicherheitsniveaus. Diese werden im folgenden aufgelistet und die praktischen Konsequenzen dazu erläutert, aus denen sich bestimmte „Arbeitsvorschriften“ für den Anwender ergeben, um das volle Sicherheitspontential nutzen zu können.

 

Rot, Balun: A3

 

Gelb, Empfänger: A3+C1

 

Grün, Sender: B3

 

Für die genaue Erklärung dieser Sicherheitskategorien s. meine Schrift „Theorie der AKE's“.

 

 

Aufbau des AKE's nach ISO-OSI-Layern

 

Layer 1 der Physical Layer, nun zusätzlich der „Foundational Layer“ :

Auch die Vernetzung der drei Computer („C“) des AKE ist asymmetrisch. Das bedeutet, jedes der vier hieran beteiligten Interfaces („IF“) des Ringes hat nicht nur einen Gegenpart als IF, sondern zwei verschiedene, einen zum Senden und einen zum Empfangen. Die Vernetzung für die interne Kommunikation bzw. zur Synchronisation von S und E hingegen erfolgt herkömmlich symmetrisch, also als P2P Verbindung zwischen S und E. Die erstere Vernetzung entspricht dabei einem Ring.

Die Vernetzung nach außen, z.B. zum Internet, erfolgt über einen herkömmlich symmetrischen Netzwerkanschluß, etwa 100 BaseT oder 1000BaseT, zum nächsten Routeranschluß und von dort zu einem beliebigen Internetknoten. Dazu erhält das Rotgerät einen symmetrischen 100BaseT oder 1000BaseT Anschluß. Das Rotgerät hat daher zwei Ethernet IFs, einen asymmetrischen nach Grün und Gelb und einen symmetrischen, ins Internet zeigenden Anschluß.

Zur besseren Darstellung und auch zur Benennung werden im AKE wie sonst im Netzwerkumfeld üblich, Farben eingesetzt. Der Balun-Computer erhält die Farbe „Rot“, da dieser als „heißes Ende“ mit dem Internet herkömmlich und symmetrisch (auf der einen Seite) verbunden ist, damit ist er allen Bedrohungen aus dem Internet ausgesetzt, hat also kein höheres Sicherheitsniveau, sein Sicherheitsniveau liegt auf Grund der üblichen Firewall nur bei „A3“, also Schutz höchstens vor direkten Angriffen aus dem Internet gegen Spionage, Manipulation und Sabotage von Daten und System durch bekannte Netzwerke. Daher soll Rot als der Balun-Computer (Balun-C), möglichst einfach, ohne unnötige Programme bzw. Services und lokale Anwender gehalten werden.

Der Sender S bekommt die Farbe „Grün“ zugeordnet, da er das sicherste der drei C im AKE ist, auf Grund der Asymmetrie hat er das Sicherheitsniveau „B3“. Der Empfänger E erhält die Farbe „Gelb“, da er zwar sicherer als Rot ist, aber weniger sicher als Grün. E hat die Sicherheitsstufe „C1“ auf Grund der Asymmetrie. Dazu kommt das Sicherheitsniveau A3 auf Grund der vorgeschalteten FW des Rotgerätes.

Das zusätzlich benötigte IF, um den Linklayer im Ring überhaupt schließen zu können und dem E die technische Möglichkeit des Sendens zu geben, erhält die Farbe „Blau“ („kaltes Ende“), da es einerseits das Gegenstück zu Rot ist und andererseits lediglich von Gelb empfängt, ohne selber zu senden und selbst mit keinem C verbunden ist, also nur bis Oberkante Layer 2 reicht und die von Gelb kommenden Pakete lediglich verwirft.

Das Blau-IF ist also, salopp gesagt, ein „Paket-Mülleimer“.

Zu diesem Zweck wird hier ein USB-zu-Ethernet-Adapter verwendet, welcher „on board“ alles hat, um den Link Layer elektronisch schließen zu können. Dazu wird er über seinen USB-Anschluß nur mit einer üblichen Stromversorgung verbunden. Um jede Kommunikation von Blau nach Außen ausschließen zu können, wird der Adapter dazu nur mit den beiden Drähten der Stromversorgung verbunden, um ihn zu betreiben.

Anmerkung: Die Erfahrung mit verschiedenen derartigen Adaptern zeigt, daß, ohne einen Hinweis darauf zu geben, manche Hersteller nicht alle nötige Firmware im Adapter unterbringen, so daß diese dann alleine nur mit der Stromversorgung aber ohne Betriebssystem eines angeschlossenen Computers, den Link Layer nicht zu schließen imstande sind und daher die den Link signalisiernde Leuchtdiode am Adapter dann, trotz Stromversorgung des Adapters, nicht aufleuchtet. Damit ist in solch einem Falle der Adapter ungeeignet, da die Vernetzung für die drei Cs nicht funktionieren würde. Wenn aber die Link Control LED stetig leuchtet, ist der Adapter für den AKE brauchbar. Hierbei ist zu beachten, daß es bis zu 30 Sekunden dauern kann, bis auch bei geeignetem Adapter die Link-LED aufleuchtet, was wohl an den besonderen asymmetrischen Bedingungen liegt.

Für die Layer 1 und 2 werden herkömmliche 100 BaseT oder auch 1000BaseT Netzwerkadapter eingesetzt. In jedem Falle werden nur die Adernpaare 1,2 und 3,6 für das Senden resp. Empfangen der Daten verwendet. Dies gilt auch für die bloß mit Strom versorgten Ethernet-zu-USB-Adapter, die als Abschluß-Interface verwendet werden. Damit wird die Unidirektionalität der Adernpaare sichergestellt, entsprechend dem IEEE Standard „100BaseT“.

Die Vernetzung von Rot mit Grün und Gelb sowie Blau erfolgt in einem einfachen, vierpoligen Ring. Dazu werden immer das Senderpaar des einen Interfaces („IF“) mit dem Empfängerpaar des benachbarten IF verbunden. Die Adernpaare 4,5 und 7,8 werden bei jedem IF offen gelassen.

Die Verbindung der Synchronisierstrecke Grün-Gelb als Direktverbindung ist symmetrisch.

Um einen Angriff von Gelb auf Grün zu verhindern, falls Gelb von einem Angreifer kontrolliert wird, werden Firewalls(„FWs“) auf Gelb und Grün verwendet, die Pakete von Gelb nach Grün verbieten. Diese FWs sind bereits auf Layer 2a und aufwärts aktiv.

Damit ist die Voraussetzung des AKE auf der Hardware („HW“) Seite erfüllt, daß es nur drei Kommunikationsmöglichkeiten im AKE geben darf: 1. Von Grün nach Rot; 2. von Grün nach Gelb; 3. Von Rot nach Gelb.

 

 

 

Abb.1: Vernetzung der Komponeneten des AKE's und externer Netzwerkzugang (Layer 1)

 

Erläuterungen zu Abb.1: Das Rotgerät (kurz „Rot“, rot hinterlegt, „Balun“) verfügt über zwei Interfaces (IFs) nach Ethernet IEEE 802.x, ein herkömmlich symmetrisch verschaltetes äußeres, bei dem durchaus auch alle vier Adernpaare verwendet werden können, etwa für den 1000BaseT Standard. Minimal wird hier 100BaseT verwendet, auf Kupferbasis (Punkte 5a und 5b). Sende- und Empfangsrichtung sind hier explizit dargestellt mit Punkt 5a und Punkt 5b, wie es beim 100BaseT Ethernet Standard so auch dediziert in Kupferleitungen mit den Adernpaaren 1,2 und 3,6 der Fall wäre (Punkt 5a Adernpaar 1,2 und Punkt 5b Adernpaar 3,6 von Rot).

Das andere, innere IF mit Adernpaaren 7a und 7b ist asymmetrisch verschaltet. Das „innere“ IF nutzt ausschließlich 100BaseT, auch wenn das IF selbst bereits 1000BaseT beherrscht. Die Verschaltung ist deshalb asymmetrisch, weil das sendende Adernpaar 1,2 aus Punkt 7b zu einem anderen IF verbunden ist, als das empfangende Adernpaar 3,6 aus Punkt 7a.

Es werden für das innere, asymmetrische IF von Rot in jedem Falle nur die 100BaseT Adernpaare 1,2 und 3,6 verwendet, um die Asymmetrie sicherzustellen, da bei 100BaseT noch dedizierte Leitungspaare (Adernpaare) für Senden und Empfangen vorliegen, während bei 1000BaseT bereits alle vier Adernpaare jeweils sowohl für das Senden wie das Empfangen (bidirektional) verwendet werden und daher für Asymmetrie ungeeignet sind.

Da das innere IF von Rot, Punkte 7a,7b, nur die Adernpaare 1,2 und 3,6 verwendet und die unbenutzten Adernpaare 4,5 und 7,8 offen gelassen werden, wird auch bei 1000BaseT automatisch der 100BaseT Standard verwendet, also max. 100 Mbit/s übertragen. Dies liegt an der Abwärtskompatibiltät des 1000BaseT Standards.

Die innere Vernetzung des AKE mit Adernpaaren Punkte 7a,7b und 6a,6b wird in einem mit vier Ethernet Buchsen RJ45 ausgestatteten Gehäuse ausgeführt. Dazu werden verdrillte Adernpaare verwendet, welche innerhalb des Gehäuses über Lötungen die zugehörigen Anschlüsse der Ethernet RJ45-Buchsen verbinden. Das Gehäuse wird zum verschließen mit einem Deckel verschraubt und damit mechanisch ausreichend vor Beschädigung der Drähte und Lötpunkte geschützt. Das Gehäuse ist der physische Teil des Baluntransformators, kurz „Balun“.

(Die genaue grafische Darstellung des Aufbaus des Baluns befindet sich in einem separaten Dokument.)

Das äußere IF Punkte 5a,5b stellt dem AKE die Netzwerkverbindung zum LAN und weiter zum Internet her.

Das innere IF Punkte 7a,7b stellt die Verbindung von Rot zum Sender (S) und Empfänger (E) her.

Rot entspricht einer „Schleuse“ für Daten, bei der das innere Schleusentor Punkte 7a,7b sind und deren äußeres Schleusentor Punkte 5a,5b sind. Rot filtert und prüft die Daten, welche von Grün bzw. S ins Internet gesendet werden oder vom Internet empfangen werden, bevor sie an Gelb bzw. ins äußere Netz weitergeleitet werden.

Daten, welche vom Internet auf Punkt 5b hereinkommen, werden zunächst im Balun geprüft und wenn für „Gut“ befunden, über Punkt 7b an den E bzw. Gelb weitergeleitet. Diese Daten sind normalerweise Antworten auf Anfragen von S bzw. Grün an einen Server im Internet oder LAN.

Diese Antworten, aber auch Anfragen, führen zu Sendeversuchen des E bzw. Gelb.

Datenpakete, welche E (gelb hinterlegter Kasten) sendet, gelangen über Punkt 6b in das Abschlußinterface (blau hinterlegter Kasten, „Blau“, Punkt 3). Dazu wird das sendende Adernpaar 1,2 von E bzw. Gelb mit dem empfangenden Adernpaar 3,6 von Blau verbunden (Punkt 6b).

Das sendende Adernpaar 1,2 von Blau wird mit dem empfangenden Adernpaar 3,6 von Grün bzw. S verbunden (Punkt 6a).

Die Verbindungslinie Punkt 6a ist unterbrochen bzw. gestrichelt, da diese keine Daten an Grün bzw. S überträgt, sondern nur zum elektronischen Schließen des Links dient. Daten sollen auch auf keinen Fall von Blau nach Grün übertragen werden, um die Asymmetrie zwischen Grün und Gelb bzw. zwischen Senden und Empfangen zu wahren (S darf nur Senden, E darf nur Empfangen- mit der einzigen Ausnahme, daß E „ins Blaue“ senden darf).

Blau wird lediglich mit Strom versorgt, über die beiden hierfür vorgesehenen Drähte im USB- Anschluß des Adapters. Das Adernpaar für die Datenübertragung im USB-Anschluß des Adapters wird offen gelassen. Dadurch wird sichergestellt, daß Blau keine Daten weiterleiten kann. Damit darf Blau dann sowohl über einen freien USB-Port eines Computers, als auch über ein handelsübliches USB-Ladegerät mit Strom versorgt werden.

Das Grüngerät sendet seine Daten als Anfragen an Webserver usw. über Punkt 7a, Adernpaar 1,2, nach Rot, an dessen Adernpaar 3,6. Damit ist der Datenstromkreis dieser vier IFs geschlossen. Grün kann nun Pakete nach Rot senden, Gelb nur nach Blau. Antworten von bzw. über Rot kommend können an Gelb gesendet werden, um dort dem Anwender auf dem Monitor dargestellt zu werden.

Da Grün und Gelb miteinander synchronisiert sein müssen, besteht noch eine vom eben beschriebenen vierpoligen Ringnetzwerk unabhängige direkte symmetrische Netzwerkverbindung zwischen Grün und Gelb. Diese dient nur zum Senden von Daten von Grün nach Gelb, aber nie in der Gegenrichtung (Simplex). Jede Kommunikation in Gegenrichtung muß unterbunden werden, um die Asymmetrie zu wahren und Angriffe von Gelb aus auf Grün zu verhindern.

Diese Verbindung kann außerhalb des Baluns über eine Kabelverbindung hergestellt werden, mit gekreuztem oder, bei entsprechenden IFs mit Auto-Crossover Funktion, auch mit ungekreuztem Patchkabel. Dabei werden die zugehörigen Interfaces von Grün und Gelb mit einem kurzen Patchkabel, z.B. UTP 5e, Punkte 1 und 2, verbunden. Die Abbildung 1 zeigt diese Verbindung für den Fall von 100BaseT, mit Punkt 1 als der sendenden und einzigen erlaubten Kommunikations-richtung auf dieser Strecke. Punkt 2 ist die nicht für Datenübertragung genutzte Verbindung, welche hier nur zum Schluß des elektrischen Stromkreises dient, damit überhaupt eine Datenübertragung auf dieser Strecke stattfinden kann.

Für diese Synchronverbindung kann auch Bluetooth verwendet werden, als drahtlose Variante, sofern von Grün nach Gelb über Funk nur Synchronisierdaten und keine „wichtigen“ Daten übertragen werden. Sonst sollte noch ein Layer 5 für die Verschlüsselung verwendet werden.

Bei Verwendung von 1000BaseT für diese Strecke aus Punkt 1 und Punkt 2, werden natürlich alle vier Adernpaare des RJ45 Anschlusses verwendet. Die Bidirektionalität wird hier logisch von Duplex auf Simplex reduziert, indem auf Gelb eine FW jedes Senden von Gelb nach Grün unterbindet und auf Grün eine FW jedes Empfangen von Daten von Gelb verhindert (ab Layer 2a).

Die Pfeile der Punkte 4a und 4b stellen die Tastaturanschlüsse sowie die Mausanschlüsse dar.

Für den asymmetrischen Betrieb ist eine spezielle Tastatur vonnöten, welche eine gleichzeitige Zeicheneingabe in Grün und Gelb erlaubt (Synchrontastatur). Der genaue Aufbau dieser Tastatur und ihre Herstellungsweise wird in einem separaten Detail-Dokument beschrieben.

Diese Tastatur hat nicht nur einen (USB-) Anschluß, sondern zwei, einen für Grün und einen für Gelb. Über Umschalter können die Tastatureingaben des Anwenders auch wahlweise nur an Grün oder nur an Gelb gesendet werden.

Die Maus kann wahlweise über dieselben Umschalter entweder mit Grün oder mit Gelb verbunden werden. Damit ist ein asynchroner Betrieb der Mauseingaben möglich. Wahlweise können auch zwei separate Mäuse verwendet werden, eine für Grün und eine für Gelb.

Im Falle von Laptops als Hardwareplattform kann auf Umschalter auch verzichtet werden, da die Laptops für den asynchronen Betrieb auch schon Maus und Tastatur eingebaut haben.

In der Detailbeschreibung zum Aufbau der Erfindung zu dieser Patentschrift wird von drei Laptops als Hardwareplattform für alle drei Geräte, Rot, Grün und Gelb, ausgegangen. Die Detailbeschreibung befindet sich in einem separaten Dokument. Ausnahmsweise können bei Verwendung von Laptops auch die eingebauten Tastaturen für den Synchronbetrieb verwendet werden, was dann mit beiden Händen erfolgt, aber natürlich umständlicher ist als mit der Synchrontastatur.

Das vorliegende Dokument beschreibt dabei die Erfindung unabhängig von der verwendeten Hardware, etwa Laptops, stationären PCs, usw. In weiteren Dokumenten wird der genaue Aufbau am Beispiel von Laptops mit je einem Dokument pro Gerät und Zusatzhardware sowie der nötigen Software, beschrieben, so daß ein Fachmann anhand dieser Beschreibungen die Erfindung erfolgreich nachbauen kann.

Wichtig ist bei allen Arten von synchronen Eingabegeräten, daß über diese keine „Brücke“ für Daten von Gelb nach Grün hergestellt werden kann, um Angriffen auf die Asymmetrie vorzu-beugen.

Die Punkte 8a und 8b stellen die Verbindungen von den sonstigen Ein-und Ausgabegeräten zu Grün und Gelb dar, also zu Monitoren, Druckern, Scannern, Kameras u.dgl.

Bei der Synchrontastatur wird von kabelgebundenen USB-Tastaturen ausgegangen. Die Synchrontastatur wird aus zwei herkömmlichen Tastaturen hergestellt, indem die Layoutfolien von zwei baugleichen, handelsüblichen USB Kabel-Tastaturen und deren Prozessorboards in einem Tastaturgehäuse untergebracht werden. Jeder Tastaturanschlag führt daher zur selben Zeit zu demselben Zeichen, welches sowohl an Grün, als auch an Gelb gesendet wird.

Um ein Übersprechen zwischen den Tastaturprozessoren und Angriffen auf die Asymmetrie vorzubeugen, wird ein geerdetes Abschirmblech zwischen beide Prozessorboards gelegt. Ein weiteres Abschirmblech umfaßt den Prozessorbereich der Tastatur, um Abstrahlung von Datensignalen nach Außen zu verhindern.

Zwei Umschalter, welche in die Tastatur eingebaut werden, ermöglichen es, die Synchrontastatur auch asynchron zu verwenden, so daß die Zeicheneingabe wahlweise nur auf Grün oder auch nur auf Gelb erfolgt.

Ebenso können über die Umschalter auch die Mauseingaben wahlweise an Grün oder Gelb, je nachdem, ob das Netz genutzt werden soll (Maus an Gelb) oder nur auf Grün gearbeitet wird (Maus an Grün). Bei Nutzung von Netzwerkprogrammen bzw. des Netzwerkes, wird die Tastatur synchron betrieben, so daß alle Tastaturanschläge gleichzeitig in Grün und Gelb verarbeitet werden können.

Ein ebenso synchroner Betrieb der Maus wäre auch denkbar, so daß alle Mausbewegungen gleichzeitig auf Grün und Gelb verarbeitet werden können; dies setzt aber auch eine Synchronisierung aller grafischen Darstellungselemente (Fenster, Menüs) von Gelb durch Grün voraus. Dies ist nicht Bestandteil dieser Erfindung; die asymmetrische Nutzung des Netzwerkes erfolgt erfindungsgemäß rein über die Tastatur gesteuert.

 

 

Layer 2:

Hier sind diese drei Punkte zu implementieren:

 

a) Sender („S“) und Empfänger („E“) müssen sowohl dieselbe IP- wie auch MAC-Adresse aufweisen. Dadurch wird gewährleistet, daß sich S und E unter asymm. Bedingungen wie ein einzelnes Netzwerkgerät gegenüber dem dritten Gerät, dem Balun, also Rot, verhalten. Um die MAC-Adressengleicheit zu erreichen, wird auf einem der beiden (also Grün oder Gelb) das Programm „macchanger“ eingesetzt.

 

b) Die Auflösung der MAC- zu IP- Adressen innerhalb der AKE-Vernetzung muß statisch über entsprechende, jeweils bei Systemstart auf Rot, Gelb und Grün durchgeführte, Zuordnungen via „arp“-Tool erfolgen, da unter den asym. Bedingungen keine dynamischen ARP-Anfragen der Art „Who has IP x.x.x.x? Tell y.y.y.y.y.y.“ möglich sind, da die Antwort auf die Anfrage nicht beim Anfragenden ankommen, sondern beim E.

Wenn der E eine solche Anfrage senden würde, gelänge diese nur zum Blau-IF und würde daher zu nichts führen.

 

c) Firewalls auf den Layern 2a und 2b: Um nur die nötigen und erwünschten Datenströme zuzulassen, werden die FW Programme „arptables“ und „ebtables“ eingesetzt. Damit wird auch der Layer 2 gegenüber Angriffsversuchen direkt auf dieser Ebene geblockt. Die beiden Programme werden zusätzlich zur FW „iptables“ eingesetzt.

 

Ansonsten wird für die Layer 1 und 2 Ethernet eingesetzt, welches dem IEEE Standard 802.x-100BaseT oder -1000BaseT entspricht.

 

Layer 3:

Der Netzwerklayer. Er ist für das Routing in Netzwerken, welche mehr als nur ein Netzwerksegment umfassen, zuständig. Ein Anwendungsbeispiel hier ist das asym. Ping Utility, welches das ICMP Protokoll nutzt, um einfache Überwachungs-und Funktionstests im Netzwerk (z.B. Erreichbarkeit von Computern im Netzwerk) zu erlauben.

Der AKE hat dazu auf S-Seite ein Pingprogramm, welches um die Möglichkeit, das E-Seitige Pingprogramm zu seinen Anfragen zu synchronisieren, erweitert worden ist. Beide Pingprogramme werden vom Anwender zeitgleich über die Synchrontastatur gestartet. Der S-Ping sendet dann die Anfrage über Rot ins Netzwerk zum Zielhost und seine zugehörigen Daten (ping-Struktur) zum E-Ping. Damit ist der E-Ping auf demselben Datenstand wie der S-Ping und sendet selbst dieselbe Anfrage nach Blau-IF („ins Blaue hinein“) und erwartet damit die Antwort des Zielhosts. Sobald diese über Rot eintrifft, wertet der E-Ping diese Antwort aus (round trip time) und stellt diese für den Anwender auf dem Bildschirm des Empfängers dar.

Das bloße synchrone Ausführen des Ping Programmes auf S und E reicht also nicht aus.

Damit der asymmetrische Ping („aping“) auch den asymmetrischen Bereich des AKE verlassen kann und z.B. einen Host im Internet oder LAN anpingen kann, muß auf Rot das IP forwarding eingestellt sein. Zum bloßen Test der Netzwerkfunktionalität innerhalb des AKE reicht natürlich ein aping auf Rot. Damit lassen sich alle Verbindungen innerhalb des AKE's testen.

Für die Erfindung reicht es aus, entsprechende Routen von Grün nach Rot, sowie von Rot nach Gelb und von Grün nach Gelb einzurichten. Rot ist dabei natürlich das Default-Gateway für Grün und Gelb. Grün und Gelb erhalten dieselben IP Adressen im selben Netzwerksegment wie das innere IF von Rot. Es müssen für manuelle Netzwerkkonfiguration die Datei /etc/hosts mit den IP Adressen der beteiligten Rechner befüllt werden. Die /etc/host.conf wird mit „order bind,hosts

multi on“ belegt. Die /etc/resolv.conv erhält die Netzwerkadresse des internen, vierpoligen Ringnetzwerks des AKE und die Adressen der Namensserver (DNS Server).

Die Datei /etc/HOSTNAME wird mit dem Namen des jeweiligen Geräts befüllt.

Alle Konfigurationen, die über diese Dateien hinausgehen, wie FW-Regeln, werden über ein Resource-Script bei Systemstart über die /etc/crontab eingestellt. Diese Scripts und sonstige Details der Installation der drei Computer werden in den entsprechenden Detaildokumenten beschrieben.

 

Layer 4:

Der Transportlayer. Hier ist zu beachten, daß unter asym. Bedingungen nur verbindungslose Protokolle, wie UDP, zum Einsatz kommen können, da Duplex voraussetzende Verfahren wie der „Handshake“ von TCP u.A. nicht im reinen Simplex-Netzwerk wie dem des AKE's möglich sind.

Auf Rot sind u.A. hierzu zwei Proxies implementiert: einer, als herkömmlicher, „squid“ genannter Proxy, welcher nach Außen, also zum Internet hin, für Web- Kommunikation, das Frontend darstellt und hauptsächlich das HTTPS-Protokoll ermöglichen soll. Auf der Innenseite von squid (also Kommunikation mit Gelb und Grün) wird nur HTTP „gesprochen“.

Dann als nächster Proxy weiter Innen von Rot, befindet sich der für den Zweck des AKE erstellte cproxy. Das „c“ in cproxy steht für Client, da dieser Proxy jeweils pro AKE und Protokoll benötigt wird.

In der Erfindung werden squid und cproxy auf derselben Hardware, demselben einen Rot-Gerät, implementiert bzw. installiert, könnten aber auch auf getrennter Hardware liegen, wenn diese symmetrisch miteinander vernetzt sind.

Während squid noch beidseitig symmetrisch kommuniziert, kommuniziert der cproxy nur mit dem squid, also Richtung Internet, symmetrisch. In Richtung zur grünen Seite, also zu Gelb und Grün, kommuniziert er asymmetrisch, sendend in Richtung Gelb, empfangend aus Richtung Grün.

Der cproxy übernimmt diese Funktionen, grob dargestellt:

 

a) Balun Software: der cproxy wandelt das bei HTTP im Internet verwendete verbindungsorientierte

TCP in verbindungsloses UDP für Gelb um, bzw. das von Grün verwendete UDP in TCP für den jeweiligen Webserver, mit dem gerade der Anwender mit seinem Browser kommuniziert.

 

b) der cproxy bildet eine Applicationlayer-Firewall, er filtert die empfangenen Webinhalte z.B. gegen Scripte, wenn dies erwünscht ist. Der Anwender des AKE kann über Kurzbefehle, die er in den Browser eingibt, das Filterverhalten des cproxy steuern, s. Layer 7.

 

c) als Hilfsprogramm für die Ausführung der symmetrischen Kommunikation mit dem Internet, welche die asymmetrische, grüne, Seite nicht leisten kann: DNS Namensauflösungen zu Webseiten u.dgl. werden vom cproxy ausgeführt. Wenn Bilder oder Scripte oder CSS einer Webseite auch dem Anwender im Browser dargestellt werden sollen, wird das „Nachladen“ dieser Inhalte vom cproxy initiiert und dann an den Browser auf Gelb gesendet. Das Nachladen von Inhalten einer Webseite ist bei Bedarf deshalb  nötig, weil die zunächst gesendete, bloße HTML-Seite nicht alle Inhalte wie Bilder, CSS, scripte usw. enthält, sondern nur Verweise darauf; da der empfangsseitige Browser aber nur ins Blaue senden kann, kann er diese Verweise nicht verfolgen bzw. deren Inhalte nicht nachladen. Daher übernimmt diese Aufgabe nach Bedarf der cproxy. Dazu lädt er die Resourcen nach und sendet diese zuerst an den E, welcher sie lokal abspeichert. Die Verweise auf die auf dem Server liegenden Resourcen werden in lokale Verweise umgewandelt und dann diese so veränderte HTML-Seite an den Empfangsbrowser geschickt; Dieser liest die nun lokalen Verweise und lädt die Resourcen wie Bilder und CSS oder auch Scripte dann lokal von seiner Platte nach, da sie ja zuvor dorthin kopiert wurden. Zum Vorausschicken und Ablegen der Resourcen befindet sich ein eigener Serverprozess auf dem E. Hinweis: das automatisierte „Nachladen“ von Seitenresourcen wie CSS und Bildern, Scripten usw. ist im gegenwärtigen Stand noch nicht implementiert. Das manuelle Nachladen einzelnder Bilder per Kurzlink ist aber möglich.

Ohne diese Hilfsarbeiten auf Protokollebene durch den cproxy wäre es kaum möglich, oder nur unter erheblichem Änderungsaufwand an den Netzwerkprogrammen, um die üblichen Protokolle in der üblichen Weise zu benutzen. Auch handelt der cproxy mit dem Webserver die Kommunikation aus: Standardmäßig werden Anfragen mit HTTPS vom cproxy an den jeweiligen Webserver gesendet. Nur wenn dies der Webserver nicht möchte und einfaches HTTP verlangt, sendet der cproxy die Anfrage des Anwenders nochmals, dann mit HTTP-Anforderung. Der cproxy stellt also einen HTTP-Proxy dar. Er könnte genauso aber im Prinzip auch andere Protokolle verarbeiten. Für jedes Protokoll, daß angeboten wird, wird auf Rot je ein cproxy benötigt, welcher die Anfragen des S am entsprechenden Port entgegennimmt.

 

Die Gegenstücke zum cproxy befinden sich jeweils auf Grün und Gelb, die „lproxies“, „l“ wie „lokal“.

Diese wandeln die mit TCP kommenden Anfragen des Browsers auf Grün bzw. S in UDP um und senden diese dann an den cproxy. Auf Gelb wandelt der lproxy hingegen die Antworten des Webservers von UDP wieder in TCP um, damit der dortige Browser diese auswerten kann, da Browser nur TCP kennen.

 

Zum Layer 4 gehören auch die Ports, also die Zuordnungsnummern der Netzwerk-Anwendungen zu den Datenpaketen, die ein Interface sendet oder empfängt.

Hier mußte für die Erfindung ein dem asym. Ping ähnliches Problem gelöst werden, damit die asym. Kommunikation auch auf höheren Layern als Layer 3 funktioniert: Die Portsynchronisation.

Da nämlich die Absenderports beim Absenden einer Anfrage an den Webserver Betriebssystem- intern ausgewählt werden und bei jeder Anfrage ein unvorhersehbar Anderer ist, würde die Antwort vom Webserver an den dynamischen Port des Absenders, also von Grün, geschickt werden, anstatt an den Port, den Gelb als Absenderport verwendet hat. Die Absenderports bei Grün und Gelb sind also nicht nur bei jeder Anfrage anders, sondern auch bei jeder Anfrage unterschiedlich. Problematisch ist der Unterschied der Absenderports auf Grün und Gelb. Denn so wird die Serverantwort an den falschen Port geschickt und damit vom Browser auf Gelb nicht verwertet. Daher müssen die Absenderports synchronisiert werden. Die einfachste und am wenigsten in das System und die bestehenden Programme eingreifende Lösung für dieses Problem ist, die dynamischen Absenderports von S und E bzw. Grün und Gelb per Firewallregel zu vereinheitlichen. Dazu wird den Firewalls auf Layer 4, hier iptables, jeweils eine Regel erteilt, welche den jeweiligen dynamischen Absenderport auf einen vorgegebenen Port ändert. Da auf S und E hier nun der dyn. Absenderport auf denselben statischen Absenderport abgebildet wird, verwenden schließlich S und E denselben Absenderport für ihre Anfragen; Die Antwort vom Webserver kommt also im E ans Ziel und die Seite wird im Browser von E, dem „Empfangs-Browser“, dargestellt. Der statische Absenderport der Antwortpakete wird dabei von der Firewall auf Gelb wieder in den jeweiligen, dynamischen Absenderport zurückverwandelt. Leider kann aber nicht derselbe statische Absenderport in den Firewallregeln ständig für alle Anfragen beibehalten werden, so daß dieser für jede Anfrage geändert werden muß. Dies liegt am iptables Programm. Daher wurde auf dem S ein Client erstellt, welcher die statischen Absenderports in bestimmten Zeitabständen zu einem dazu passenden Serverprogramm auf E überträgt und damit S und E immer dieselben stat. Absenderports verwenden, wenn der Anwender eine Anfrage an einen Webserver stellt. Dazu sendet das Clientprogramm seinen aktuellen, statischen Absenderport als Zahl an das entsprechende Serverprogramm auf E. Das Serverprogramm setzt damit dann denselben statischen Absenderport in seine Firewallregeln ein. Damit senden S und E ihre Anfragen auf UDP mit demselben Absenderport.

Auch auf Layer 4 sendet der E ins Blaue, also in das Abschluß-IF, um Empfangsbereit zu sein.

Da alle Daten im AKE von Grün ausgehen sollen, wird ein Client-Server-Paar von Programmen benötigt, mit dem sich auch ganze Dateien unter asymmetrischen Bedingungen von Grün nach Gelb und von Grün nach Rot sowie von Rot nach Gelb übertragen lassen. Dieses und weitere Werkzeuge werden im Detail in weiteren Dokumenten beschrieben und deren Quellcode aufgelistet.

 

Layer 5: siehe Layer 7.

 

Layer 6: siehe Layer 7.

 

Layer 7:

Der Anwendungslayer. Im AKE können Anwendungen auf diesem Layer nicht selbstständig mit der Außenwelt, dem Internet oder anderen Netzen kommunizieren, da der E nicht senden kann, der S aber keine Anfragen von Außen erhält, die er selbständig ohne den Anwender beantworten könnte.

Folge: Wenn der Anwender eine Webseite aufgerufen hat, welche nun ihrerseits einen Aufruf zu z.B. einem Werbeprovider enthält, oder einem Statistikserver, dann geht der dazugehörige Aufruf bzw. das zugehörige Paket nur ins Blau-IF, also ohne Konsequenzen. Auch kann eine über eine Webseite „eingefangene“ Schadsoftware so keine Programme mehr „nachladen“. (Layer 5 und 6 sind hier im Layer 7 gewöhnlich integriert.)

 

Der cproxy bildet eine Applicationlayer Firewall, er filtert die empfangenen Webinhalte z.B. gegen Scripte, wenn dies erwünscht ist. Der Anwender des AKE kann über Kurzbefehle, die er in den Browser eingibt, das Filterverhalten des cproxies steuern und dadurch bestimmen, ob Scripte geladen werden sollen oder nicht; ob Bilder geladen werden sollen (letzteres ist noch zu implementieren) usw. Je weniger geladen wird, desto schneller erscheint die Seite im Browser und desto sicherer ist das Browsen.

Die Anwendungen für das Netzwerk sind dieselben wie beim symmetrischen Fall. Allerdings werden die Anwendungen doppelt vorgehalten, einmal auf dem E und einmal auf dem S. Es gibt also immer eine sendende und eine empfangende Variante des Netzwerkprogramms.

Der cproxy ersetzt sowohl den HTTP-Header, als auch HTTP-Fehlermeldungen vom Webserver kommend, durch eigene Standardinhalte, um ein Angreifen des Browsers (dem sog. user agent) durch manipulierte Header oder HTTP-Fehlermeldungen zu verhindern.

 

 

Layer 8:

Der Kontrolllayer, zur Abbildung des AKE's im ISO/OSI Schichtenmodell.

Der Anwender eines AKE's mit seinen (synchronen) Ein-und Ausgabegeräten als Schnittstelle zum AKE stellt den Layer 8 dar. Erst auf diesem Layer wird im AKE der Datenstromkreis geschlossen, also z.B. Antworten auf Anfragen ausgelöst oder Anfragen selbst initiiert.

Alle o.g. erfindungsgemäßen Bestandteile werden, sofern diese in SW realisiert werden, beim Systemstart des AKE's durch ein jeweils eigenes Script initialisiert bzw. gestartet. Das Script enthält auch die FW Regeln für das jeweilige der drei Computer-Systeme und sonstige Netzwerkinitialisierungen für MAC- und IP Adressen. Als Betriebssystem wurde SuSE Linux 13.1 auf AMD bzw. auch intel Basis verwendet. Die Erfindung ist aber nicht an ein bestimmtes Betriebssystem oder eine bestimmte Plattform gebunden.

Als synchrones Eingabegerät ist die Tastatur implementiert. Um beide Rechner, Sender („S“) und Empfänger, gleichzeitig bedienen zu können, also auf beiden gleichzeitig eine Anfrage an einen Webserver zu stellen, werden die HW Bestandteile zweier herkömmlicher USB-Tastaturen zu einer gemeinsamen Tastatur mit zwei USB Anschlüssen zusammengebaut. In dieser liegen also unter den Tasten anstatt einer Tastaturfolie zwei solche Folien. Dieselben Tasten betätigen also gleich zwei Tastaturfolien mit je eigenem Prozessor.

Dies erlaubt nahezu gleichzeitiges Abschicken von Anfragen an z.B. Webserver oder auch asym. Ping.

 

(Synchron-Mäuse wären nach demselben Prinzip auch möglich. Dann werden aber auch weitere Synchronisierprogramme zwischen S und E benötigt, da die Fenster und Mauspositionen auf S und E und alle übrigen graphischen Darstellungen auf S und E immer an gleicher Position sein müssen. Dies ist hierbei noch nicht implementiert.)

 

In der hier beschriebenen  Erfindung reicht eine einzelne Maus, welche nach Bedarf zwischen S und E umgeschaltet werden kann, aus. Auch können zwei einzelne Mäuse eingesetzt werden, je eine für S und E.

Da beim asym. Browsen auf Webseiten die dort dargestellten weiterführenden Links nicht direkt mit der Maus durch Anklicken weiterverfolgt werden können, da auf Grund der Asymmetrie ja der Empfänger, auf dem der Link erscheint, nicht ins Internet zurücksenden kann, muß hierzu ein anderer Weg verfolgt werden. Dazu werden vom cproxy, der den Inhalt der Seite vollständig vorzuliegen hat, an den Anfang jeden Links sog. Kurzlinks („KL“) vorangestellt,

welche der Anwender als 5stellige Nummern sieht, z.B. 00546. Um einen solchen Link zu verfolgen, also aufzurufen, gibt der Anwender die vorangestellte KL-Nummer an, mit einem Präfix „x.“, also x.00546. Diesen gibt er in das URL Feld des Browsers ein, was ja wegen der Synchronizität der Tastatur auf S und E gleichermaßen erfolgt, auch wenn der Anwender nur den E auf dem Bildschirm sieht. Beim Betätigen der Enter-Taste wird dann der KL mit „x.00546“ vom E ins Blaue, vom S aber zu Rot gesendet. Auf Rot nimmt der cproxy den KL entgegen und wertet ihn dergestalt aus, daß er den KL in den dazugehörigen tatsächlichen Link, den Langlink („LL“), zurückverwandelt. Dazu pflegt der cproxy zu jeder Webseite eine Tabelle mit der Gegenüber-stellung von LL und KL.

Nach Umwandlung des KL zum LL sendet der cproxy eine entsprechende Anfrage an den zugehörigen Webserver, welcher die Antwort zurücksendet. Der cproxy filtert die Antwort und leitet sie dann wieder an den E auf Gelb per UDP weiter. Der lproxy wandelt auf Gelb UDP zurück in TCP und die FW wandelt den Zielport im Antwortpaket zurück auf den dyn. Port des Browsers um. Damit sind alle Bedingungen der Kommunikation erfüllt und der Browser auf E stellt die Serverantwort, also die Seite hinter dem Link, dar.

Die Synchrontastatur verfügt evtl. zusätzlich über zwei Schalter, mit denen die Tastatur für gleichzeitige Eingaben auf S und E, oder auch nur für S oder E- Eingaben verwendet werden kann. Bei Netzwerkprogrammbedienung wird die Synchronstellung der Schalter verwendet, der Monitor ist dann auf den E gestellt, ebenso die Maus. Bei reiner Bedienung nur eines Rechners, S oder E, werden die Schalter entsprechend umgestellt. Dies ist dann der Asynchronmodus.

 

Ablauf beim Webbrowsen:

Im Falle des Webbrowsens gibt der Anwender zunächst einen gewöhnlichen Link in das URL Feld des Browsers über die synchrone Tastatur ein. Dazu wird synchron die Control-L Tastenkom-bination eingegeben. Damit befindet sich der Texteingabecursor im URL-Feld bei beiden Browsern, also auf Grün und auf Gelb gleichermaßen. Nun gibt der Anwender synchron den gewünschten Link ein, mit einem vorangestellten „y.“ Dieser Präfix wird bei normalen Links (LL) verwendet und dient dem cproxy zur Erkennung einer Benutzeranfrage. Danach sendet der Anwender die Anfrage an Rot ab, in dem er die „Return“ bzw. Eingabetaste drückt. Da dies synchron erfolgt, sendet auch der empfangsseitige Browser diese Anfrage aus, aber nicht nach Rot, sondern nach Blau, also in das blaue IF. Damit ist der Empfangsbrowser nun empfangsbereit und wartet auf die Antwort des Webservers. Das Anfragepaket, welches von Grün nach Rot gesendet wurde, wird vom cproxy aufgenommen und der Inhalt ausgewertet. Diese Anfrage gelangt nun weiter an den squid Proxy auf Rot. Squid erfragt die IP Adresse hinter dem Namen des Webservers und sendet dann die Anfrage an den Webserver. Die Antwort vom Webserver gelangt wieder zum squid, welcher diese an den cproxy weiterleitet. Der cproxy filtert den Inhalt als Layer 7 Proxy gegen unerwünschte Inhalte und bildet eine Tabelle, in der zu allen Links, die nach dem Ausfiltern noch in der Webseite enthalten sind, Kurzlinks stehen (KLs). Diese KLs werden den Titeln der Links in der Webseite im HTML als Präfixe vorangestellt, so daß der Benutzer sie sieht. Die so veränderte Webseite wird nun vom cproxy im einheitlichen Format (Contentencoding, unkomprimiert) an Gelb gesendet und dort vom Browser dem Benutzer dargestellt. Der Benutzer sieht nun die angefragte Webseite. Allen Links der Seite sind die KLs vorangestellt. Will der Anwender nun einen der Links auf der Seite ansteuern, bzw. laden, drückt er wieder Control-L und gelangt damit synchron in das URL-Feld von Gelb und Grün. Dort gibt er den KL ein mit vorangestelltem „x.“. Beispiel: „x.00234“ . Die KLs sind fünfstellig mit Vornullen und werden fünfstellig in den Browser eingegeben. Nach dem Drücken der Eingabetaste wird eine Anfrage von Grün an Rot mit dem KL gesendet, zeitgleich wieder auch von Gelb nach Blau. Der cproxy löst nun  den KL in den dazugehörigen Langlink LL auf und versendet diesen wie vor als Anfrage an den squid, welcher die Verbindung zum Server aufnimmt. Dann ist der Verlauf derselbe wie zuvor, bis die Webseite dem Anwender auf Gelb dargestellt wird. Bilder, die eigentlich in die Webseite beim Nachladen vom Browser eingebettet werden, werden als KLs dargestellt. Sie können vom Benutzer verwendet werden, um Bilder einzeln zu laden und dann auch abzuspeichern. Über die Präfixe, die in das URL Feld eingegeben werden, läßt sich der cproxy zur Laufzeit konfigurieren, um ihn Scripte durchzulassen oder diese auszufiltern u.A.. Der cproxy braucht dazu nicht neu gestartet zu werden, er wertet den Inhalt wie eine Anfrage aus und ändert damit den Programmablauf entsprechend der Anweisung. Damit kann der Anwender das cproxy Verhalten jederzeit steuern. So kann der Befehl „s.tls“ Anfragen per HTTPS bewirken (Standard im cproxy nach Start). Mit dem Befehl „s.tls-“ kann erreicht werden, daß die folgenden Webanfragen mit HTTP gestellt werden. Alle Befehle lassen sich frei kombinieren.

In jetziger Version wird die Webseite ohne css und Bilder dargestellt, also so wie sie als Erstes vom Server geliefert wird, ohne Resourcen nachzuladen.

Damit ist die passive Nutzung des „WWW“ implementiert.

 

Anmerkung: Bevor ein neuer LL oder KL oder ein Steuerbefehl in das URL Feld synchron eingegeben wird, sollte der Anwender synchron die Escape Taste drücken, um den Browser zunächst in den Anfangszustand zu versetzen, da der Ladevorgang noch nicht zum Stillstand gekommen sein kann.

 

Ablauf der oben beschriebenen Kommunikation auf Layer 4:

Nachdem der Anwender ins URL Feld einen Link eingegeben und Return gedrückt hat, sendet der Browser eine DNS Anfrage aus, welche vom lokalen DNS immer mit der IP des Rotgeräts beantwortet wird. Damit sendet der Browser eine TCP-Anfrage an Port 8070 aus, welche zunächst vom lproxy auf Grün entgegengenommen wird, da der sendende Browser auf die Benutzung von einem lokalen Proxy eingestellt ist. Der lproxy wandelt diese Anfrage von TCP in UDP um, da nur ein verbindungsloses Protokoll unter asymmetrischen Bedingugnen verwendet werden kann. Diese UDP Anfrage wird von der FW iptables verändert: der dynamische Absenderport des lproxy wird durch einen statischen aus einem Bereich von 50000 bis 50999 ausgetauscht. Dieser statische Port wird der FW vom Portsynchronisierer vorgegeben. Der Portsynchronisierer sendet einen Port des o.g. Bereichs auch an den Empfänger, wo ein Service diesen auch der FW auf Gelb übergibt. Damit wird Gelb beim synchronen Senden denselben Absenderport verwenden wie Grün. Nur so ist sichergestellt, daß der Empfangsbrowser auf demselben Port auf eine Antwort wartet, wie der Senderbrowser abgeschickt hat. Ohne die Portsynchronisierung würde also keine Kommunikation Grün-Rot-Webserver-Rot-Gelb stattfinden können. Nachdem das Anfragepaket mit dem stat. Absenderport von Grün nach Rot via UDP gesendet wurde, wird es vom cproxy auf Port 80 aufgenommen. Nach einer Eingangsprüfung wird der Dateninhalt als TCP an den squid-Proxy mit Port 8080 auf Rot bzw. innerhalb von Rot, per TCP weitergesendet. Squid sendet dieses seinerseits zunächst per https Anfrage an den Webserver. Unterstützt der Webserver https, so wird die verschlüsselte Verbindung zwischen squid und dem Webserver hergestellt. Unterstützt er kein https, sondern nur http, so wird eine Fehlermeldung vom squid an den cproxy gesendet, woraufhin der cproxy dieselbe Anfrage mit http nochmals an den squid sendet. Danach steht eine TCP-Verbindung zum Webserver. Die Antwort des Webservers wird an den squid gesendet, woraufhin dieser die Antwort als http an den cproxy weiterleitet, auch wenn der squid eine https Verbindung zum Webserver unterhält. Daher kann der cproxy die Daten lesen und auch filtern. Danach sendet er die Antwort per UDP an den Absenderport (statischer Synchronport) auf Gelb weiter, wo der dortige lproxy das UDP intern in Gelb in TCP für den Browser umwandelt. Die FW auf Gelb wandelt den statischen Absenderport dabei in den vom lproxy verwendeten dynamischen Port um, der hier der Zielport ist. Der lproxy kommuniziert auf seiner TCP-Verbindung mit dem Browser, welcher schließlich die Webseite dem Anwender darstellt. Damit ist der Datenstromkreis für diese Anfrage des Anwenders geschlossen.

 

Angriffsmatrix zur Systematisierung aller Angriffswege und -Ziele:

Die Angriffsmatrix („A“) stellt eine Grafik zur Verdeutlichung der möglichen Angriffswege und der möglichen Angriffsziele dar, deren Autor der Anmelder ist. D.h., alle erdenklichen Angriffe (ausgenommen der lokalen Angriffe auf ein IT System vor Ort, also physisch durch Personenzugriff) auf ein vernetztes Computersystem finden in mindestens einem der Felder der A ihren Platz, lassen sich also eindeutig einem der Felder zuordnen.

Die neun Hauptfelder, resultierend aus den drei Spalten für die drei Angriffswege und den drei Zeilen für die drei Angriffsziele, sind noch einmal unterteilt, meist in solche für bekannte bzw. gewollte Netze, sowie in solche für unbekannte und demnach vom Anwender eher ungewollte Netze.

Ein Beispiel für ein gewolltes Netz ist das Internet, wenn es vom Anwender des Systems eingerichtet wurde. Ein Beispiel für ein ungewolltes Netz ist (aus Sicht des Systemadministrators) ein unkontrollierter Seiteneingang in das lokale Netzwerk einer Organisation, hergestellt z.B. durch ein Handy, welches einen Zugang zum Internet hat usw. Die Abdeckung aller Felder durch technische Maßnahmen ist das Ziel. Denn wenn alle Felder abgedeckt sind, dann sind keine erfolgreichen Angriffe auf das Gesamtsystem mehr möglich.

Hinweise: Fast alle Felder sind in bekannte und unbekannte Netze unterteilt. Wenn in diesem Dokument eine der Feldbezeichnungen verwendet wird, so sind damit alle anderen, weiter unten oder auch links in der A liegenden Felder inkludiert zu verstehen. Beispiel: „B3-Sicherheit“ schließt die Sicherung der Felder A1, B1, A2, B2 und A3, B3 mit ein, wenn nicht anders benannt.

Die Erfindung schützt nur Felder für bekannte Netze.

Beispiele für unbekannte oder unerwünschte Netze sind:

 

- „Luftschnittstellen“, also alle Arten von Funkmodems von Handys, Smartphones u.dgl.

- Nutzung von Ultraschall zur Kommunikation zwischen z.B. Smartphones untereinander und anderen Systemen wie Fernsehern, PCs etc.

- Lichtnetz zur Datenübertragung

- Infrarot, wie bei Fernbedienungen

- u.v.A.

 

 

Programmcode

 

Alle für den AKE benötigten Programme sind in der Programmiersprache „C“ geschrieben und in den Detaildokumenten aufgelistet. Dieser Programmstand erlaubt es dem Anwender dieses hier vorgestellten AKE's Webseiten zu „surfen“ bzw. zu „browsen“. Bilder können manuell ebenfalls per Aufruf durch den Anwender angezeigt und auch heruntergeladen werden. Bilder können lokal abgespeichert werden.

Das Programm „aping“ ist als Netzwerkwerkzeug vom bekannten „ping“ Programm abgeleitet und arbeitet unter asymmetrischen Bedingungen.

Zusätzlich zu den in C geschriebenen Programmen werden noch in Shellscript geschriebene Startscripte auf jedem der am AKE beteiligten Computer benötigt, welche z.B. die FW- Regeln implementieren. Diese Scripte werden mit dem System gestartet, über einen „reboot“ Eintrag in der Systemdatei /etc/crontab.

 


Im Folgenden in einem tarball gepackt die Installationsanleitung und Quellcodes
für das Labormodell ("Proof of Concept, PoC")
Anmerkung: Die Bezeichnungen der Dateien im tarball, wie "RR", "GG", "RG" benennen die einzelnen Geräte, Rot (RR), Grün (GG) und Gelb (RG), also Balun bzw. Proxy, Sender und Empfänger. Die Datei InstallLaptop_Balun_V.1.0 hingegen beschreibt den Aufbau der Box, in welcher die Ringvernetzung der vier Interface enthalten ist.


AKE_PoC.tar.gz

MD5: d66882d464d6a2c523d8c45c4b948343, SHA256: 3c2e1f9f30ed78f031976d1c8d2d2dd0a3d9dd2a104241ed812957ba929a0da1

Groesse: 7889043 Bytes

AKE_PoC.tar.gz.sig

Zertifikats-Fingerabdruck: 92FA6FA30EF95B03346F57D8F4E66A3232C81156

32C81156.asc

Zertifikat.


Autor: Heinrich T. Feuerbach, im Februar 2019