Unidirektionale Datenverbindungen zwischen virtualisierten ...

76
Hochschule Wismar University of Applied Sciences Technology, Business and Design Fakultät für Ingenieurwissenschaften, Bereich EuI Master-Thesis Unidirektionale Datenverbindungen zwischen virtualisierten Gastsystemen Eingereicht am: 25. September 2013 von: Jan Klemkow geboren am 09.01.1988 in Crivitz Betreuer: Prof. Dr.-Ing. Ernst Jonas Hochschule Wismar Dr. Christian Ehrhardt genua mbh

Transcript of Unidirektionale Datenverbindungen zwischen virtualisierten ...

Page 1: Unidirektionale Datenverbindungen zwischen virtualisierten ...

Hochschule WismarUniversity of Applied SciencesTechnology, Business and DesignFakultät für Ingenieurwissenschaften, Bereich EuI

Master-Thesis

Unidirektionale Datenverbindungen zwischenvirtualisierten Gastsystemen

Eingereicht am: 25. September 2013

von: Jan Klemkowgeboren am 09.01.1988in Crivitz

Betreuer: Prof. Dr.-Ing. Ernst JonasHochschule Wismar

Dr. Christian Ehrhardtgenua mbh

Page 2: Unidirektionale Datenverbindungen zwischen virtualisierten ...

i

Inhaltsverzeichnis

1 Einleitung 1

2 Problemstellung und Anforderungen 32.1 Anwendungsfälle von Datendioden . . . . . . . . . . . . . . 32.2 Rot-Schwarz-Terminologie . . . . . . . . . . . . . . . . . . . 52.3 Anforderungen an Datendioden . . . . . . . . . . . . . . . . 5

3 Grundlagen 73.1 Physische und Logische Datendioden . . . . . . . . . . . . . 73.2 Unidirektionale Protokoll-Relays . . . . . . . . . . . . . . . . 93.3 Analyse bekannter Angriffsvektoren auf unidirektionale Kom-

munikationskanäle . . . . . . . . . . . . . . . . . . . . . . . . 103.3.1 Implementierungsfehler . . . . . . . . . . . . . . . . . 103.3.2 Außen-Szenario . . . . . . . . . . . . . . . . . . . . . . 113.3.3 Innen-Szenario . . . . . . . . . . . . . . . . . . . . . . . 11

3.4 Bestehenden Datendioden . . . . . . . . . . . . . . . . . . . 123.4.1 NRL-Network-Pump . . . . . . . . . . . . . . . . . . . 123.4.2 genugate-Datendiode . . . . . . . . . . . . . . . . . . . 143.4.3 genuscreen-Paketdiode . . . . . . . . . . . . . . . . . 153.4.4 SINA-One-Way-Gateway . . . . . . . . . . . . . . . . . 163.4.5 Fort Fox Data Diode . . . . . . . . . . . . . . . . . . . 173.4.6 Waterfall-Diode . . . . . . . . . . . . . . . . . . . . . . 17

3.5 Mechanismus zur Integritätssicherung in Datendioden . . 173.5.1 Gehashte Rückmeldung . . . . . . . . . . . . . . . . . 173.5.2 Einseitiges TCP . . . . . . . . . . . . . . . . . . . . . . 193.5.3 Redundanz und automatische Fehlerkorrektur . . . 203.5.4 Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.6 L4-Mikrokernel . . . . . . . . . . . . . . . . . . . . . . . . . . 213.7 L4OpenBSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.8 L4-Interprozesskommunikation . . . . . . . . . . . . . . . . 22

3.8.1 Messages . . . . . . . . . . . . . . . . . . . . . . . . . . 233.8.2 Shared-Memory . . . . . . . . . . . . . . . . . . . . . . 23

Page 3: Unidirektionale Datenverbindungen zwischen virtualisierten ...

ii

3.8.3 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . 233.8.4 Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.9 Unidirektionale Kommunikation auf einem Host-System . 243.9.1 Speicherzugriffsrechte . . . . . . . . . . . . . . . . . . 243.9.2 Dioden-Prozess . . . . . . . . . . . . . . . . . . . . . . 25

4 Analyse bestehender unidirektionaler Kommunikationsme-chanismen 274.1 Protokoll der NRL-Pump . . . . . . . . . . . . . . . . . . . . . 274.2 Protokoll der genugate-Datendioden . . . . . . . . . . . . . 284.3 Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5 L4-Pipe-Kommunikation 315.1 L4-Pipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.2 Paket-Protokoll der L4-Pipe . . . . . . . . . . . . . . . . . . . 325.3 TCP-Multiplexer . . . . . . . . . . . . . . . . . . . . . . . . . . 335.4 L4-Pipe-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.5 Schwächen im Unidirektionalen-Einsatz . . . . . . . . . . . 35

6 Analyse bekannter Rückkanalmöglichkeiten 376.1 Impliziter Rückkanal . . . . . . . . . . . . . . . . . . . . . . . 376.2 Answer-Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406.3 Multi-Bit-Choosing . . . . . . . . . . . . . . . . . . . . . . . . 416.4 ACK-Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . 426.5 ACK-Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.6 Full-Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

7 Design eines unidirektionalen Kommunikationsmechanis-mus 457.1 Behandlung von Fehlern während der Übertragung . . . . 45

7.1.1 Direkte Rückmeldung . . . . . . . . . . . . . . . . . . 457.1.2 Black-Hole-Strategie . . . . . . . . . . . . . . . . . . . 467.1.3 Response-Polling . . . . . . . . . . . . . . . . . . . . . 46

7.2 NAK-Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477.3 EOF-Sperre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497.4 Paketprotokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . 507.5 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . 52

Page 4: Unidirektionale Datenverbindungen zwischen virtualisierten ...

iii

8 Analyse des verbleibenden Rückkanals 568.1 Impliziter Rückkanal . . . . . . . . . . . . . . . . . . . . . . . 568.2 Vergleich zur genugate-Datendiode . . . . . . . . . . . . . . 58

8.2.1 Paketebene . . . . . . . . . . . . . . . . . . . . . . . . . 588.2.2 Zeitebene . . . . . . . . . . . . . . . . . . . . . . . . . . 60

9 Fazit und Ausblick 639.1 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

10Thesen 65

11Literatur 6611.1Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

12Glossar 68

Page 5: Unidirektionale Datenverbindungen zwischen virtualisierten ...

Abstract

This work describes the development of a secure data-diode protocol.In this case secure means a strictly reduced feedback channel. A re-duced feedback channel leads to a reduced covert channel thus incre-asing the security of a data-diode. An attacker can effectively not usesuch reduced feedback channel for data transfer. This aim was reachedby reducing the red side's degree of freedom of communication withthe black side. A proxy process enforces the protocol described in thispaper. All communication components are on the same host system toensure reliability. The L4 microkernel is used to separate these com-ponents from each other. The techniques have been developed in thisthesis can be used to design a data diode with a very limited feedbackchannel. Thus, data throughput and the number of parallel connectionsare not reduced in any way.

Diese Arbeit beschreibt die Entwicklung eines sicheren Datendioden-Protokolls. Sicher bedeutet in diesem Fall, dass der Rückkanal enormreduziert wird. Dadurch wird ebenfalls der Covert-Channel reduziertund führt damit zur Erhöhung der Sicherheit einer Datendiode. Angrei-fer können dadurch den Rückkanal nicht mehr effektiv für die Über-mittlung von Daten verwenden. Erreicht wurde dieses Ziel durch eineReduktion der Freiheitsgrade, die der roten Seite in ihrer Kommuni-kation mit der schwarzen Seite zur Verfügung stehen. Die Durchset-zung des entwickelten Protokolls erfolgt durch einen sicheren Proxy-Prozess, welcher die Kommunikation zwischen schwarzer und roterSeite kontrolliert. Um nicht nur Sicherheit sondern auch Zuverlässig-keit zu gewährleisten, befinden sich alle Kommunikationskomponen-ten auf dem selben Host-System und werden durch einen L4-Mikro-kernel voneinander separiert. Durch den Einsatz der in dieser Arbeitbeschriebenen Techniken lässt sich eine Datendiode mit einem zu ver-nachlässigendem Rückkanal betreiben, ohne dabei den Durchsatz oderdie Anzahl der parallelen Verbindungen in irgendeinerWeise einschrän-ken zu müssen.

Page 6: Unidirektionale Datenverbindungen zwischen virtualisierten ...

I dedicate this thesis to Private First Class Bradley Edward Manningto remind the reader of this thesis and the user of this technology ofthe necessity of such deeds. Security technology should not be usedto suppress information in ways which compromise our freedom anddemocracy. I make this claim in the full knowledge that my work mayhinder or prevent future attempts to expose such suppression.

Page 7: Unidirektionale Datenverbindungen zwischen virtualisierten ...

1

1 Einleitung

Das Geheimhalten sensibler Informationen stellt sich dieser Tage alseine besondere Herausforderung dar. Privatpersonen und Unterneh-men stehen seit Jahren immer professioneller werdenden Kriminellengegenüber, die es auf persönliche Geheimnisse wie PIN-Nummern undKennwörter abgesehen haben, um an Geld oder moderne Technologiezu gelangen.

Neben einfacher oder auch organisierter Kriminalität gibt es auch Staa-ten, die sich mit einem wesentlich höheren Einsatz von Ressourcen ander Beschaffung von vertraulichen Informationen beteiligen. Staatensind dabei aber auch oft das Ziel. Durch den hohen Einsatz von Res-sourcen auf Seiten der Angreifer haben es Staaten ebenfalls immerschwerer ihre Geheimnisse und sensiblen Informationen zu sichern.Seien es Positionen und Verhandlungspunkte beim Aushandeln von bi-lateralen Abkommen oder um taktische und militärische Informatio-nen, die es als Staat zu wahren gilt. In jedem Fall müssen diese Infor-mationen durch Computer verwaltet und verarbeitet werden um diesehandhaben zu können. Dieser Umstand macht es für einen Angreifer,dem viele Ressourcen zur Verfügung stehen, sehr attraktiv diese Infor-mationen durch Computer-Spionage zu erlangen.

Um solche sensible Informationen vor Angreifern zu schützen, denenviele Ressourcen zur Verfügung stehen, bedarf es eines besonderen Si-cherheitsniveaus. Datendioden bieten hier eine Möglichkeit, um einesichere Abschottung von Informationen unter solchen Bedingungen zugewähren. Datendioden schotten Computernetze derart von einanderab, dass Ihr Einsatz mit hohen Einschränkungen in der Benutzbarkeiteinhergeht. Sie sind dafür gebaut, um Daten zwischen zwei Netzen nurin eine Richtung zu übertragen. Diese Trennung ist teilweise so ele-mentar, dass selbst Informationen wie Empfangsbestätigungen oderSteuerdaten zur Flusskontrolle nicht auf die entgegengesetzte Seitegelangen. Diese Eigenschaft macht den Einsatz von Datendioden zu ei-nem sehr wirkungsvollem Mittel, um die Vertraulichkeit von sensiblenInformationen in separaten Computernetzen zu wahren, aber gefähr-det dabei auch andere Ziele. Informationen die von außen über Da-tendioden in diese abgeschotteten Netze übertragen werden könnenohne Empfangsbestätigung oder Flusskontrolle durch Übertragungs-

Page 8: Unidirektionale Datenverbindungen zwischen virtualisierten ...

2

fehler ihre Integrität verlieren.

Diese Arbeit geht der Fragestellung nach, wie man eine hohe Abschot-tung und gleichzeitig einen adäquaten Rückkanal für Empfangsbestäti-gungen und Steuerdaten miteinander vereinen kann. Rückkanäle sindbei Datendioden ein großes Problem. Auch ein sehr streng kontrollier-ter Rückkanal kann von einem Angreifer, welcher auch ein Innentätersein kann, potentiell immer als Covert-Channel missbraucht werden.Covert-Channel sind verdeckte Kanäle, die entgegen ihrer ursprüngli-chen Aufgabe von Angreifern zweckentfremdet werden, um Informa-tionen an Sicherungsmaßnahmen vorbei zu schleusen. Bei Datendio-den müssen diese Rückkanäle daher so gering wie möglich sein. Esgilt daher der Grundsatz: je kleiner ein Rückkanal einer Datendiodeist, desto größer deren Abschottung und Sicherheit.

Im Speziellen versucht diese Arbeit ein Kommunikationsprotokoll zuentwickeln, welches diese verschieden Eigenschaften miteinander ver-bindet. Dabei steht die Untersuchung und Reduktion des Rückkanalsim Zentrum der Betrachtung. Eingebettet ist diese Arbeit in ein Projektder Firma genua mbh1, welches sich mit der Separierung von mehre-ren Software-Systemen auf einer Hardware auseinander setzt.

1http://www.genua.de/

Page 9: Unidirektionale Datenverbindungen zwischen virtualisierten ...

3

2 Problemstellung und Anforderungen

Dieses Kapitel beschreibt die Einsatzbereiche und Aufgaben von Da-tendioden um von diesen auf die grundlegende Problemstellung unddie daraus resultierenden Anforderungen zu schließen. Dabei werdender Einstatzzweck sowie die Bedingungen, unter denen Datendiodenverwendet werden, näher erläutert.

2.1 Anwendungsfälle von Datendioden

Datendioden sind spezielle Netzwerkverbindungspunkte, an denen derNetzwerkverkehr ausschließlich in eine Richtung übertragenwird. Die-se unidirektionale Übertragungseigenschaft wird benötigt, wenn zweiNetzwerke mit unterschiedlichen Sicherheitsniveaus verbunden wer-den. Im wesentlichen gibt es zwei Szenarien für die der Einsatz vonDatendioden benötigt wird: Zum einen für den Schutz von geheimenInformationen im militärischen oder geheimdienstlichen Umfeld, zumanderen für den Schutz von Infrastrukturen im Bereich der Industrie.

geheimesNetzwerk

DatendiodeInformationsquellennicht geheimes

Netzwerk

Abbildung 1: Anwendung von Datendioden zum Geheimnisschutz

Im Umfeld von Geheimdiensten und militärischer Aufklärung werdenInformationen gesammelt und an höhere Stellen weitergeleitet. Diesefassen gesammelten Informationen zusammen und leiten diese Zusam-menfassungen ebenfalls an höhere Stellen weiter. Jede dieser Hier-archiestufen versucht aus den gesammelten Informationen Wissen zugenerieren. Dieses Wissen darf unter keinen Umständen an die un-teren Hierarchiestufen zurückfließen. Durch dieses Vorgehen soll si-chergestellt werden, dass die gewonnen Erkenntnisse nur einem be-stimmen Personenkreis bekannt sind. Abteilungen mit niedrigeren Si-cherheitseinstufungen kennen so nur einen Teil der unverarbeiteten

Page 10: Unidirektionale Datenverbindungen zwischen virtualisierten ...

4

Informationen. Allerdings müssen die unteren Abteilungen in der Lagesein, automatisiert Informationen an höhere Abteilungen zu übermit-teln. Bei diesem Übergang von Netzwerken mit niedriger und hoherEinstufung kommen Datendioden zum Einsatz. Sie sorgen dafür, dassInformationen jederzeit automatisiert und zuverlässig in nur eine Rich-tung übertragen werden und stellen gleichzeitig sicher, dass keine In-formationen in die Gegenrichtung abfließen. In diesem Szenario ist dieVertraulichkeit von Informationen das wichtigste Schutzziel. Integritätund Verfügbarkeit werden diesem meist untergeordnet.

IndustrieanlageDatendiodeOperation Center Internet

Abbildung 2: Anwendung von Datendioden zum Infrastrukturschutz

Im Gegensatz dazu ist der Anwendungsfall im Industrieumfeld ein voll-kommen anderer. Hier werden große Industrieanlagen, wie etwa Fer-tigungsstraßen oder Kraftwerke, für jahrzehntelangen Betrieb gebaut.Die dabei verwendete IT-Technik ist daher in den meisten Fällen nichtauf dem aktuellstemStand. Sicherheits-Updates werden oft wegenmög-licher Ausfälle nicht eingespielt oder stehen nicht mehr zur Verfügung,da die verwendete Software vom Hersteller nicht mehr unterstütztwird. Dennoch müssen diese Anlagen weiter laufen und gewartet wer-den. Viele Automatisierungssysteme solcher Anlagen erstellen Log-Da-ten, welche in zentralen Leitstellen ausgewertet werden. Aus diesenDaten können dann Rückschlüsse auf den Zustand der Anlage sowieauf notwendige Wartungen gezogen werden. Um diese Anlagen nunsicher über ein eventuell auch unsicheres Netzwerk mit der Leitstelleverbinden zu können, kommen hier ebenfalls Datendioden zum Ein-satz. Eine Datendiode stellt sicher, dass die Anlage ihre Daten an dieLeitstelle übertragen kann ohne von außen kompromittiert zu werden.Die Integrität der Anlage ist für den Betreiber das oberste Schutzziel.Die Vertraulichkeit oder Verfügbarkeit der übermittelten Daten wirddem in der Regel untergeordnet.

Page 11: Unidirektionale Datenverbindungen zwischen virtualisierten ...

5

2.2 Rot-Schwarz-Terminologie

Im Kontext von Datendioden wird oft von rot und schwarz gesprochen.Dieser Abschnitt soll die Herkunft und die Bedeutung dieser Begriffefür diese Arbeit erklären.

In dem Dokument „RED/BLACK Installation Guidance“ [McCo95] derNSA, welches sich mit der Abstrahlsicherheit von Elektronik auseinan-dersetzt, werden die Begriffe rot und schwarz mit dem Rot-Schwarz-Konzept wie folgt beschrieben:

RED/BLACK Concept. Separation of … systems that handlenational security information (RED), in electrical form, fromthose that handle non-national security information (BLACK)in the same form. …

--- Section 2[McCo95]

Im selben Dokument [McCo95] werden die Begriffe rot und schwarznicht nur für die Einstufung von Informationen verwendet, sondernauch für deren Zustand. So spricht man in diesem Dokument ebenfallsvon verschlüsselten (schwarzen) und unverschlüsselten (roten) Infor-mationen oder Signalen.

In dieser Arbeit werden die Begriffe ausschließlich für die Kennzeich-nung einer unterschiedlichen Einstufung der zu verbindenden Netz-werke verwendet. Dabei wird nicht auf die Höhe der Einstufung selbsteingegangen, sondern auf den Umstand, dass sich diese unterschei-den. Die schwarze Seite ist dabei immer das Netz mit der niedrigerenEinstufung und rot das mit der höheren Einstufung. Gleichzeitig lässtsich an den Begriffen immer die Ausrichtung der Datendiode und damitdie Flussrichtung der Informationen erkennen. Informationen werdenausschließlich von schwarz nach rot übertragen.

2.3 Anforderungen an Datendioden

An eine Datendiode werden verschiedene Anforderungen gestellt. DieEigenschaft der Unidirektionalität ist dabei die wichtigste Anforde-rung. Eine Datendiode muss unter allen Umständen sicherstellen, dasskeine Daten von rot nach schwarz übertragen werden.

Page 12: Unidirektionale Datenverbindungen zwischen virtualisierten ...

6

Die Zuverlässigkeit einer Datendiode ist ein weiteres Ziel, welches ge-nerell für jede Datenübertragung gelten sollte. Bei der Übertragungsollte für den Sender ersichtlich sein, dass die gesendeten Informa-tionen auf der roten Seite auch angekommen sind und korrekt inter-pretiert werden konnten. Wird diese Anforderung nicht erfüllt, kannes zu Datenverlusten kommen. Um sie umzusetzen, muss die Datendi-ode einen Rückkanal für eine Empfangsbestätigung bereitstellen. Andieser Stelle widersprechen sich die Anforderungen der Unidirektio-nalität mit der Zuverlässigkeit, denn die Zuverlässigkeit fordert einenRückkanal, welchen die Unidirektionalität verbietet.

Um beide Anforderungen erfüllen zu können, muss beim Design desDatendioden-Protokolls auf einen sehr reglementierten Rückkanal ge-achtet werden. Dieser darf nicht von einem Angreifer für das Übermit-teln von Informationen von rot nach schwarz missbraucht werden.

Die letzte Anforderung betrifft die Nachvollziehbarkeit der Implemen-tierung. Weil Datendioden in den meisten Fällen in einem Umfeld ein-gesetzt werden, in denen solche sicherheitskritischen Kommunikati-onskomponenten zertifiziert oder zugelassen2 werden müssen, solltesich die Implementierung von Dritten einfach überprüfen lassen. Dafürsollte die Programmlogik sowie der Quelltext einen geringen Umfangsowie eine geringe Komplexität aufweisen. Diese Anforderung solltebei der Implementierung bedacht werden.

2Zertifizierungen sowie Zulassungen im IT-Bereich werden in Deutschland meistvom Bundesamt für Sicherheit in der Informationstechnik durchgeführt. [BSIZ13]

Page 13: Unidirektionale Datenverbindungen zwischen virtualisierten ...

7

3 Grundlagen

In diesem Kapitel werden dieser Arbeit zugrundeliegende Technikenund verwendete Fachbegriffe eingeführt. Zudem werden ähnliche Pro-jekte und deren Unterschiede zu dieser Arbeit erläutert.

3.1 Physische und Logische Datendioden

Wenn man von Datendioden spricht, sollte man grundsätzlich zwei ver-schiedene Arten unterschieden. Im Folgendenwerden die Begriffe phy-sische sowie logische Datendiode zur Unterscheidung verwendet.

Tx

Empfänger

RxTx

Sender

Rx

Abbildung 3: Aufbau einer physischen Datendiode

Bei physischenDatendiodenwird die Unidirektionalität durch die Hard-ware sichergestellt, daher wird diese Art von Datendioden auch alsHardware-Dioden bezeichnet. Das bedeutet, dass zwei unabhängigeComputer-Systeme mit einer Datenleitung verbunden werden, bei derausschließlich Transmitter und Receiver einer Richtung miteinanderverbunden sind. Der Transmitter und Receiver der Rückrichtung wer-den nicht miteinander verbunden.

Eine einfache Art einer unidirektionalen Datenverbindung auf physi-scher Ebene wird in [CaSi09] beschrieben. Eine Netzwerkverbindungüber den AUI3-Standard lässt sich in eine unidirektional Verbindungumbauen, indem man die Pins 3 und 10 auf der roten Seite isoliertoder physisch durchtrennt. Dadurch wird die rote Seite gehindert, Da-ten gemäß des Standards zu übertragen. Diese Methode stellt nichtsicher, dass nicht über eine modifizierte Software dennoch Daten über

3AUI (Attachment Unit Interface) ist eine Netzwerkschnittstelle welche im IEEE802.3 Standard definiert wird.

Page 14: Unidirektionale Datenverbindungen zwischen virtualisierten ...

8

die Steuer- und Kontrollpins übertragen werden können und ist da-her nicht als absolut sicher einzustufen. Sie ist aber ein Ansatz, wel-cher versucht das Problem der unidirektionalen Kommunikation aufHardware-Ebene zu lösen.

Im Jahr 2006 wurde an der University of Iowa eine physische Daten-diode für die RS-232-Schnittstelle entwickelt [Jone06]. Bei dieser Da-tendiode wurden Transmitter und Receiver auch elektrisch entkoppeltund über eine optische Datenverbindung mittels einer LED und einesPhototransistor, verbunden. Dieses Beispiel zeigt sehr deutlich, dassbei solch einer Datendiode die Unidirektionalität und damit die Sicher-heit, auf physischer Ebene sichergestellt wird. Einem Angreifer ist esohne Zugriff auf die Hardware nicht möglich, diese Übertragungsstre-cke umzudrehen oder in eine bidirektionale zu überführen, um Datenin die Gegenrichtung zu übertragen.

Bei logischen Datendioden hingegen sind grundsätzlich alle Kompo-nenten bidirektional miteinander verbunden. Die Unidirektionalität wirdausschließlich durch die implementierte Software-Logik erreicht. Da-durch sind logische Datendioden potentiell immer anfällig für Fehlerin der Konfiguration sowie Angriffe auf Schwachstellen in der Imple-mentierung.

Diese Diodenart bietet den Vorteil, durch die Übertragung von Emp-fangsbestätigungen dem Sender mitteilen zu können, dass seine Nach-richt auf der roten Seite angekommen ist. Dieser sehr limitierte Rück-kanal ermöglicht eine zuverlässigere Kommunikation als bei physisch-en Datendioden. Nachteile dieser Diodenart sind zum einen, dass einSoftware-Fehler es einem Angreifer ermöglichen könnte bidirektionalzu kommunizieren. Zum anderen kann auch ein stark limitierter Rück-kanal potentiell immer zum Übertragen von Informationen als Covert-Channel ausgenutzt werden.

Aus den Eigenschaften der physischen und logischen Datendioden er-geben sich verschiedene Vor- und Nachteile, welche vor einer Auswahlund dem Einsatz bedacht werden sollten. Physische Datendioden sindimmer auf mindestens zwei getrennte Hardware-Einheiten angewie-sen. Dem gegenüber bieten logische Datendioden die Möglichkeit sichauf einer Hardware zu beschränken. Dieses kann in einer Einsatzum-gebung mit beschränkten Raum ein entscheidendes Kriterium sein. Dasich bei physische Datendioden keinerlei Möglichkeit zur Flusskontrol-

Page 15: Unidirektionale Datenverbindungen zwischen virtualisierten ...

9

le bietet, müssen diese ihre Übertragungsgeschwindigkeit soweit ein-schränken, dass die Empfängerseite die Daten in jedem fall verarbeitenkann. Das führt zu dem Umstand, dass physische Diodenart abhängigvon der eingesetzten Übertragungstechnik meist unterhalb der Mög-lichkeiten der eingesetzten Hardware bleiben. Logische Datendiodenhaben diese Einschränkung nicht und erlauben es, prinzipiell ohne ei-ne künstliche Drosselung der Geschwindigkeit, Daten zu übertragen.Die Tabelle 1 fasst den Vergleich von physischen und logischen Daten-dioden noch einmal zusammen.

Tabelle 1: Vergleich von phys. und log. Datendi-oden

Eigenschaft phy. Datendiode log. DatendiodeSicherheit Hardware-Ebene Software-EbeneZuverlässigkeit nicht sicher sicherRückkanal keiner Flusskontrolle und

Empfangsbestäti-gungen

OSI-Ebene Layer 1 (Hardware) Layer 2 bis 7(Software)

Geschwindigkeit begrenzt unbegrenztHardware-Einheiten mindestens 2 mindestens 1

3.2 Unidirektionale Protokoll-Relays

Um über eine Datendiode Informationen verschicken zu können, be-darf es eines Anwendungsprotokolls. In der Regel werden dafür regulä-re Anwendungsprotokolle wie etwa SMTP, FTP oder ähnliche verwen-det. Die meisten dieser Protokolle setzen einen bidirektionalen Kom-munikationskanal voraus. Der Anwendungsfall einer unidirektionalenKommunikationsgrundlage mit einem stark reduziertem oder gar kei-nem Rückkanal ist in den meisten Anwendungsprotokollen nicht be-dacht. Daher bedarf es spezieller Application-Level-Gateways, auch Pro-xys oder Relays genannt, welche die Umsetzung eines Anwendungs-

Page 16: Unidirektionale Datenverbindungen zwischen virtualisierten ...

10

protokolls auf einen unidirektionalen Kommunikationskanal vorneh-men.

SMTP-ServerSMTP-Client

Datendiode

SMTPRelay

SMTPRelay

SMTP SMTP

Abbildung 4: Einsatz von SMTP-Relays mit einer Datendiode

Diese Relays vermitteln zwischen einem Client oder Server auf der ei-nen Seite und der Datendiode auf der anderen. Nach außen müssensie dabei mit dem jeweils verwendeten Anwendungsprotokoll kommu-nizieren. Auf der Innenseite kann dann ohne weitere Kompatibilitäts-probleme mit einem beliebigen Protokoll kommuniziert werden.

3.3 Analyse bekannter Angriffsvektoren auf unidi-rektionale Kommunikationskanäle

Dieser Abschnitt erläutert verschiedene Angriffsszenarien auf logischeDatendioden. Diese Angriffe werden dem Datendioden-System dieserArbeit entgegen gestellt, um zu verdeutlichen, gegen welche Arten vonAngriffen man sich beim Design eines Datendioden-Protokoll schützenmuss.

3.3.1 Implementierungsfehler

Beim Angriff auf die Software einer logischen Datendiode geht man da-von aus, dass der Angreifer aus dem schwarzen oder roten Netz herausversucht, die Datendiode als ganzes zu kompromittieren, um dann un-gehindert Daten in beide Richtungen übertragen zu können.

(bidirektinal) Hardware

Angreifer

(kompromittiert) Software-Datendiode

Abbildung 5: Angriff über Kompromittierung der Software

Page 17: Unidirektionale Datenverbindungen zwischen virtualisierten ...

11

Implementierungsschwachstellen in Software lassen sich leider nie aus-schließen. Durch die Methoden der defensiven Software-Entwicklung[Davi05] und dem externen Verifizieren von Software in einem Zertifi-zierungsprozess [BSIZ13] lässt sich die Gefahr dieses Angriffsvektorsaber reduzieren.

3.3.2 Außen-Szenario

BeimAußen-Szenario wird angenommen, dass der Angreifer im schwar-zen und roten Netz sitzt, um Daten aus dem roten Netz ins schwarzezu übertragen. In diesem Szenario kommuniziert der Angreifer mit denSchnittstellen, welche die Datendiode nach außen zur Verfügung stelltum über diese Daten ins schwarze Netz zu übertragen. Diese Schnitt-stellen sind meist die im Abschnitt 3.2 beschriebenen unidirektionalenProtokoll-Relays.

Betriebssystem

Hardware

Angreifer Relay Relay Angreifer

Abbildung 6: Außen-Angriff

Konkret lässt sich das an einem praktischem Szenario verdeutlichen,bei dem über die Datendiode E-Mails unter Verwendung des SMTP-Protokolls verschickt werden. Erhält der Angreifer Kontrolle über denroten sowie schwarzen SMTP-Server kann er deren Kommunikation zuseinen Gunsten beeinflussen. Die Datendiode selbst leitet die E-Mailsvon der schwarzen an die rote Seite weiter und übertragt dabei aus-schließlich die Rückmeldung, ob der Transfer fehlerfrei abgelaufen istoder nicht. Der Angreifer kann nun beliebige E-Mails von schwarz nachrot übertragen und auf der roten Seite die E-Mails je nach Bedarf an-nehmen oder mit einem Fehler ablehnen. Der Angreifer kann über die-se Methode beliebige Nachrichten in das schwarze Netz übermitteln.

3.3.3 Innen-Szenario

Im Innen-Szenario wird dem Angreifer Kontrolle über Teile der Daten-diode unterstellt. Bei einer physischenDatendioden (siehe Abschnitt 3.1)

Page 18: Unidirektionale Datenverbindungen zwischen virtualisierten ...

12

ist dieses Szenario ungefährlich, da die Software-Logik oder die Kon-trolle über die Software keine Auswirkung auf die Unidirektionalitäthaben. Bei einer logischen Datendiode, ist dieses grundsätzlich anders.Hat ein Angreifer Kontrolle über die Software kann er die unidirektio-nale Kommunikation in eine bidirektionale verändern und somit Datenaus dem roten in das schwarze Netz übertragen.

Betriebssystem

Hardware

Angreifer AngreiferRelay Relay

Abbildung 7: Innenangriff

Wird beim Außen-Szenario noch die Sicherheit der Relays betrachtet,so brachtet man hier den unidirektionalen Kommunikationsweg zwi-schen den Relays. Dieses Angriffsszenario wird im weiteren Verlaufdieser Arbeit sowie beim Design des unidirektionalen Protkolls als vor-handen angenommen. Es wird also davon ausgegangen, dass der An-greifer direkten Zugriff auf diesen interen Kommunikationsweg hat.

3.4 Bestehenden Datendioden

Dieser Abschnitt beschäftigt sich mit bereits entwickelten Datendio-den, deren Funktionsweise, sowie deren Stärken und Schwächen. Eswurden dafür einige exemplarisch herausgesucht, da die meisten Da-tendioden reine physische Datendioden auf Basis von einseitigen Glas-faserverbindungen sind. Sie unterscheiden sich zumeist nur in der An-zahl der Anwendungsprotokolle die sie unterstützen.

3.4.1 NRL-Network-Pump

Die NRL-Pump ist eine logische Datendiode, welche in einer Reihe vonForschungsprojekten am „Naval Research Laboratory“ entwickelt wur-de. Die Forschungsprojekte liefen in der Zeit von 1993 bis 2003. In derVeröffentlichung „The Pump: A Decade of Covert Fun“ [Kang05] wirddie gesamte Entwicklung dieser Datendiode zusammenfassend erläu-tert. Im Gegensatz zu anderen Datendioden wurde im Pump-Projekt

Page 19: Unidirektionale Datenverbindungen zwischen virtualisierten ...

13

nicht nur die Software entwickelt, sonder auch eine spezielle Hard-ware.

Abbildung 8: NRL-Pump-Produkt [Kang05]

Im Dokument [Kang05] wird nicht von rot und schwarz gesprochen,sonder von „Low“ und „High“. „Low“ meint dabei die schwarze und„High“ die rote Seite. In der Abbildung 9 ist der Kommunikationskanaldurch die Pump dargestellt. Die Boxen „Low/High Enclave“ stellen da-bei Hosts im schwarzen sowie roten Netz dar, welche über die Pumpkommunizieren.

Admin

wrapperLow

applicationwrapper

Highapplication

buffer

data data

PumpLow Enclave High Enclave

ACKStatisticallyModulated

ACK

LowLAN

HighLAN

Abbildung 9: The Pump, wrappers, and applications, (nachgezeichnetund eingefärbt) [Kang05]

Die Pump selbst stellt keine Schnittstelle für reguläre Anwendungspro-tokolle bereit. Das Design der Pump sieht vor, dass auf dem Host imschwarzen sowie roten Netz einen Anwendung direkt gegen einen Bi-bliothek programmiert wird, welche eine Kommunikationsschnittstelle

Page 20: Unidirektionale Datenverbindungen zwischen virtualisierten ...

14

zur Pump bietet. In Abbildung 9 wird diese Schnittstelle als „Wrapper“bezeichnet. „Low application“ und „High application“ sind die Anwen-dungen, die den „Wrapper“ benutzen um über die Pump zu kommuni-zieren.

3.4.2 genugate-Datendiode

Die genugate-Datendiode ist eine logische Datendiode, welche auf demTCP/IP-Protokoll basiert. Sie wurde von genua entwickelt, um mit re-gulären Anwendungsprotokollen unidirektional von schwarz nach rotkommunizieren zu können. Diese Datendiode besteht aus drei von ein-ander unabhängigenHardware-Einheiten: Zwei Application-Level-Gate-ways (ALG) sowie einem Paketfilter. Diese getrennten Rechner sindausschließlich über von einandere separierte Netzwerk miteinanderverbunden.

ApplicationLayer-Gateway

Schwarz Rot

Packet-Filter

genugate-datendiode

Anwendung

Transport

Vermittlung

Netzzugriff

Anwendung

Transport

Vermittlung

Netzzugriff

ALG aktivität PFL aktivität

ApplicationLayer-Gateway

Abbildung 10: DoD-Schichtenmodell der genugate-Datendiode

Anwendungsprotokolle werden an den ALGs terminiert. Die beidenALGs untereinander kommunizieren über einseitige TCP-Verbindungen,welche vomPaketfilter überprüft werden. Der Paketfilter erzwingt, dassausschließlich die schwarze Seite TCP-Verbindungen aufbauen kann.Von der roten Seite werden nur Acknowledgement-Pakete zugelassen,welche den Datenfluss regulieren und gleichzeitig der schwarzen Seitesignalisieren, dass die übertragenen Daten angekommen sind.

Page 21: Unidirektionale Datenverbindungen zwischen virtualisierten ...

15

Abbildung 11: Hardware der genugate-Datendiode

Der größte Vorteil dieser Datendiode besteht in der Zuverlässigkeit.Die schwarze Seite bekommt eine Rückmeldung, ob die Daten ange-kommen sind oder nicht und kann im Fehlerfall entsprechend reagie-ren. Zudem kann man zur Kommunikation von schwarz nach rot mitregulären Anwendungsprotokollen arbeiten, ohne spezielle Program-me dafür entwickeln zu müssen.

Nachteil dieser Variante ist, dass die Unidirektionalität von der Soft-ware-Logik des Paketfilters abhängt. Ist ein Angreifer in der Lage dieKontrolle über die Software zu erlangen, kann er ebenfalls bidirektio-nal über die Datendiode kommunizieren und somit Daten von rot nachschwarz übertragen.

3.4.3 genuscreen-Paketdiode

Die genuscreen-Paketdiode ist eine physische Datendiode, welche vongenua entwickelt wurde. Sie ist dafür entwickelt worden, UDP-Pakete[RFC768] unidirektional zwischen zwei Netzen zu übertragen. Im Ge-gensatz zur genugate-Datendiode gibt es hier keinen Proxy, welcherAnwendungsprotokolle transparent über die unidirektionale Verbindungüberträgt. Die unidirektionale Übertragungsstrecke zwischen den bei-denHardware-Einheitenwird über eine einseitigeNetzwerkverbindungauf Glasfaserbasis realisiert. Dabei wird nur der Transmitter der schwar-zen Seite mit dem Receiver der roten Seite verbunden.

Page 22: Unidirektionale Datenverbindungen zwischen virtualisierten ...

16

Paket-Filter

Schwarz Rot

Glasfaser

genuscreen-Paketdiode

Anwendung

Transport

Vermittlung

Netzzugriff

Anwendung

Transport

Vermittlung

Netzzugriff

aktivität

Paket-Filter

Abbildung 12: DoD-Schichtenmodell der genuscreen-Paketdiode

Daher stehen den Anwendungen im schwarzen und roten Netz nurdie Möglichkeit von UDP-Paketen zur Kommunikation bereit. Für die-se Datendiode müssen daher spezielle Netzwerkprotokolle entwickeltwerden. Die Anwendung auf der schwarzen Seite kann beliebige UDP-Pakete an eine Anwendung auf der roten Seite verschicken. Die roteSeite kann allerdings nicht auf diese antworten. Der schwarzen Sei-te kann auch keine Empfangsbestätigung — weder von der rote An-wendung noch von der Datendiode selbst — mitgeteilt werden. DieserUmstand macht die Kommunikation über die genuscreen-Datendiodeunzuverlässig. Sie ist daher eher für die Übertragung von nicht zu-sammenhängenden Informationen geeignet, wie etwa kontinuierlicheZeitstempel, Audio- oder Video-Informationen. Bei diesen Informatio-nen ist der Verlust von einzelnen Paketen nicht relevant, solange dienachfolgenden Pakete korrekt empfangen werden.

Vorteil dieser Datendiode ist, dass die Unidirektionalität, wie im Ab-schnitt 3.1 beschrieben, auf Hardware-Ebene gegeben ist. Somit kannein Software-Fehler oder das erfolgreiche Eindringen eines Angreifersnie zum Abfliessen von Informationen aus dem roten Netz führen.

3.4.4 SINA-One-Way-Gateway

Das „SINA-One-Way-Gateway“ ist eine vom Hersteller Secunet4 entwi-ckelte physische Datendiode. Sie biete unidirektionale Protokoll-Relaysfür die Protokolle SMTP, SMB und FTP.

4http://www.secunet.com/

Page 23: Unidirektionale Datenverbindungen zwischen virtualisierten ...

17

3.4.5 Fort Fox Data Diode

Die „Fort Fox Data Diode“ [Fox07] ist eine physische Datendiode, wel-che von Fox-IT5 hergestellt wird. Die Unidirektionalität dieser Daten-diode beruht auf einer einseitigen Glasfaser-Verbindung. Sie bestehtaus zwei unabhängigen Hardware-Komponenten und bietet unidirek-tionale Protokoll-Relays für die Protokoll SMTP sowie FTP.

3.4.6 Waterfall-Diode

Von Waterfall® Security Solutions 6 wird eine ganze Reihe von Daten-dioden entwickelt. Alle Produkte basieren dabei auf einer physischenDatendiode, welche die Unidirektionalität wie bei anderen physischenDatendioden auch durch eine einseitige Glasfaser-Verbindung sicher-stellt. DieWaterfall-Datendioden unterscheiden sich in der Vielzahl vonunidirektionalen Protokoll-Relays, die es ermöglichen eine große An-zahl von Anwendungsprotokollen von schwarz nach rot zu übertragen.

3.5 Mechanismus zur Integritätssicherung in Daten-dioden

Ein Problem von Datendioden ist die Konsistenz der übertragenen Da-ten. Logische Datendioden haben an dieser Stelle den Vorteil über ei-nen Rückkanal einen positiven oder negativen Status an den Senderübermitteln zu können. Diese Statusmeldung kann zur Integritätssi-cherung verwendet werden. Im folgenden werden bekannte Möglich-keiten zur Integritätssicherung von Datendioden erläutert und derenVor- und Nachteile diskutiert.

3.5.1 Gehashte Rückmeldung

Im US-Patent „one-way data transfer system with built-in data verifica-tion mechanism“ [Hope10] wird ein Mechanismus beschrieben, der dieDatenintegrität bei Einwegübertragungen sicherstellt. Benutzt wirddiese Verfahrensweise bei der Owl-Datendiode7.

5http://www.fox-it.com/en/6http://www.waterfall-security.com/7http://www.owlcti.com/

Page 24: Unidirektionale Datenverbindungen zwischen virtualisierten ...

18

data

Hash FeedbackNode

Send Node

Single Hash

Double Hash

data

Receiving Node

Status informationDouble Hash

Hash compairson Verification response

Status report

Single Hash

Status information

Verification response

Status report

Single Hash

Double Hash

Abbildung 13: Datenverifikation in Datendioden mittels Hash-Übertragung, nachgezeichnet aus [Hope10]

Die Unidirektionalität wird dabei durch die Feedback-Node sicher ge-stellt. Diese als sicher angenommene Node empfängt einen Hash dervom Receiver empfangenden Daten, erzeugt einen neuen Hash ausdem empfangenden Hash und sendet den entstandenen Hash an denSender weiter. Der Sender erzeugt nun von den zuvor gesendeten Da-ten einen Hash, von welchem wiederum erneut ein Hash erzeugt wird.Der sogenannte double-hash kann dann mit dem von der Feedback-Node empfangenen double-hash verglichen werden. So kann überprüftwerden ob die Daten korrekt übertragen wurden.

Dadurch, dass die Feedback-Node alle Daten einer Hash-Operation un-terzieht, bevor diese weiter versandt werden, ist sichergestellt, dassder Receiver direkt keine beliebigen Daten an den Sender übermittelnkann.

Page 25: Unidirektionale Datenverbindungen zwischen virtualisierten ...

19

Hash FeedbackNode

Send Node

Byte

Hash of Byte

data

Receiving Node

Byte per Byte

Hash of Byte

Hash lookup LookupTable

Data

Abbildung 14: Rückkanal mit Hash-Lookup-Table

Der Sender kann aus den empfangenen Hash-Werten die Urdaten nichtdirekt ermitteln, aber bei einem mit dem Receiver abgesprochenen Al-phabet, den Wertebereich der Urdaten kennen. Mit demWissen diesesWertebereichs, lässt sich eine Lookup-Table mit allen möglichen Hash-Werten zu ihren Urdaten erstellen.

Eine kleine Optimierung der Feedback-Node, wäre denkbar, indem die-se einen sogenannten Salted-Hash-Wert aus dem vom Receiver emp-fangenden Daten erstellen würde. In diesem Fall müsste, die Send-Node für jeden empfangenden Hash-Wert erneut alle 256 Möglichkei-ten eines Hashes in Verbindung mit dem Salt-Wert berechnen, um dieUrdaten zu ermitteln. Da die Berechnung von 256 Hash-Werten proByte, mit aktueller Rechenleistung keinen großen Aufwand darstellt,ist auch diese kleine Optimierung kein ausreichendes Hindernis, wel-ches die Ausnutzung des Rückkanals verhindern würde.

3.5.2 Einseitiges TCP

Das im Abschnitt 4.2 beschrieben Protokoll der genugate-Datendiodesetzt zur Integritätssicherung der Übertragung auf Mechanismen desTCP-Protokolls [RFC793]. Im TCP-Header ist ein Checksum-Feld defi-niert, welches eine Prüfsumme über Paket-Header und -Daten enthält.Der Empfänger kann anhand dieser Prüfsumme Veränderungen des Pa-

Page 26: Unidirektionale Datenverbindungen zwischen virtualisierten ...

20

kets durch den Übertragungsweg im Netzwerk erkennen. Zudem stelltdie Sequence-Number im TCP-Header sicher, dass keinen Pakete un-bemerkt verlorengehen können. Erkennt der Empfänger anhand dieserMechanismen Fehler in der Übertragung, bestätigt er die fehlerhaftenTeile nicht und bekommt diese Daten erneut übertragen.

Vorteil dieser Methode ist die Nutzung eines erprobten Verfahrens,welches zuverlässig im täglichen Einsatz funktioniert. Der Nachteil,insbesondere bei der Verwendung von TCP, sind die Freiheitsgrade,welche der roten Seite geboten werden. Im Dokument [Meis07] wirddie Analyse des Rückkanal der genugate-Datendiode detailierter dar-gestellt. Die Freiheitsgrade in der Kommunikation der roten Seite sinddie Grundlage für Angriffe auf den Rückkanal. Die Bedeutung der Frei-heitsgrade für den Rückkanal wird im Abschnitt 6.1 genauer erläutert.

3.5.3 Redundanz und automatische Fehlerkorrektur

Bei physischen-Datendioden werden meist Fehlerkorrekturverfahreneingesetzt. So zum Beispiel auch bei der Fox-IT Datendiode. Die ge-nauen Verfahren die zur Fehlerkorrektur eingesetzt werden, sind nichtbekannt. Es wird im Allgemeinen nur von Verfahren zur Fehlerkorrek-tur gesprochen. Dabei ist die Verwendung von sogenannten Vorwärts-fehlerkorrekturverfahren[FEC], wie zum Beispiel der Reed-Solomon-Algorithmus, denkbar. Bei diesen Verfahren werden Daten vom Sen-der so mit Redundanz kodiert, dass der Empfänger nach erkennen ei-nes Übertragungsfehlers selbstständig die fehlerhaften Teile aus denrestlichen Daten rekonstruieren kann.

Der Vorteil dieser Verfahren liegt auf dem Rückkanal, da auf diesenverzichtet wird. Diesem Vorteil stehen aber einige schwere Nachteileentgegen. Die künstliche Redundanz der übertragenen Informationenverlangsamt den Datenverkehr. Zudem sind diese Fehlerkorrekturver-fahren nicht unfehlbar. Voraussetzung für die Wiederherstellung vonkorrupten Informationen ist, dass ein bestimmter Anteil der Informa-tionen korrekt übertragen wurde. Wie groß dieser Anteil ist, kann überdie Größe der zuvor gewählt Redundanz festgelegt werden. Dabei gilt:je größer die Redundanz, desto kleiner der Anteil an Daten, welchezur Rekonstruktion korrekt empfangen werden muss. Dabei gilt auch,je größer die Redundanz, desto kleiner der Durchsatz der Nutzdaten.

Page 27: Unidirektionale Datenverbindungen zwischen virtualisierten ...

21

3.5.4 Bewertung

Alle zuvor beschriebenen Lösungen haben eines gemeinsam. Sie be-stehen aus mehreren Hardware-Systemen und versuchen über ein un-zuverlässiges Medium unidirektional zu kommunizieren. Dabei setzeneinige Systeme, wie die genugate-Datendiode, auf einen Rückkanal umdas Problem der Flusssteuerung sowie die Unzuverlässigkeit des Über-tragungsmediums zu lösen. Andere Lösungen, wie etwa die meistenphysischen Datendioden, versuchen mit geringer Bandbreite und vielRedundanz ohne Rückkanal diesem Problem entgegen zu treten.

Diese Arbeit löst dieses Problem, indem auf ein unzuverlässiges Kom-munikationsmedium zwischen den Instanzen verzichtet wird. Die uni-direktionale Verbindung zwischen der schwarze und roten Seite sollinnerhalb eines Hosts-Systems stattfinden. Es muss dazu geklärt wer-den, wie eine sichere unidirektionale Kommunikation zwischen zweivon einer separierten Instanzen auf einem Host-System realisiert wer-den kann. Zur Separierung und Virtualisierung der schwarzen und ro-ten Instanzen wird die Technik des L4-Mikrokernel genutzt. Die ent-wickelten Verfahren sind aber prinzipiell auch auf andere Virtualisie-rungstechniken anwendbar. Um die hier entwickelte Datendiode zurAußenwelt zugänglich zu machen, werden die unidirektionalen Relaysder genugate-Datendiode verwendet. In den folgenden Abschnittenwer-den diese grundlegenden Techniken erläutert.

3.6 L4-Mikrokernel

L4 ist eine Mikrokernel-Familie, benannte nach dem Entwickler JochenLiedtke. Diese Mikrokernel-Plattform ist in der Lage mehrere mittelsParavirtualisierung speziell angepasste Betriebssysteme isoliert voneinander auf einer gemeinsamen Hardware zu betreiben. Zudem las-sen sich auch native Anwendungen direkt auf der L4-Plattform ausfüh-ren. Diese Arbeit setzt auf einer L4-Implementierung names Fiasco.OCauf. Fiasco.OC ist eine in C++ implementierte Variante des L4-Mikro-kernels. Die L4-Plattform entspricht nicht einem POSIX-artigen Designund ist daher nicht mit einem klassischem UNIX-Betriebssystem ver-gleichbar. Interprozesskommunikation und Programmierschnittstellenfür native L4-Anwendungen (im weiteren L4-Tasks) haben daher starkeAbweichungen zu POSIX-artigen Systemen.

Page 28: Unidirektionale Datenverbindungen zwischen virtualisierten ...

22

3.7 L4OpenBSD

Die Portierung des OpenBSD-Betriebssystems auf die L4-Platformwirdals L4-OpenBSD bezeichnet. Christian Ludwig portierte OpenBSD aufdie L4-Plattform und beschrieb dieses in seiner Bachelor-Arbeit [Ludw11].Diese Portierung wird von der Firma genua mbh weiterentwickelt undgepflegt. Sie wird benötigt um die, auf OpenBSD basierenden, Firewall-und VPN-Lösungen von genua virtualisiert betreiben zu können. Die indieser Arbeit entwickelte Datendiode, soll später zwei L4-OpenBSD-Instanzen mit einander verbinden, um zwischen diesen beiden Instan-zen einen sicheren unidirektionalen Datenverkehr zu ermöglichen. Diebeiden L4-OpenBSD-Instanzen selbst sind mit der Außenwelt über re-guläre Netzwerkschnittstellen verbunden.

3.8 L4-Interprozesskommunikation

Um basierend auf der L4-Plattform eine Datendioden zu implementie-ren, braucht man Möglichkeiten um Prozesse miteinander kommuni-zieren zu lassen. Dieser Abschnitt gibt eine Einführung in die verschie-denen Kommunikationsmittel der L4-Plattform sowie deren Vor- undNachteile im Kontext der Entwicklung einer Datendiode.

Die L4-Platform stellt drei verschiedene Möglichkeiten zur Interpro-zesskommunikation (im weitern IPC abgekürzt) bereit. Jeder L4-Taskhat eine Grundausstattung von sogenannten Capabilities, welche mitTeilen des L4-Kernels verbunden sind. Über diese kann ein Prozess mitdem Betriebssystem kommunizieren oder Ressourcen wie etwa Spei-cher oder weitere IPC-Medien anfordern. Diese Capabilities könnenebenfalls zum direkten Austausch von Ressourcen zwischen verschie-denen L4-Tasks verwendet werden. Ob ein L4-Task mit einem ande-ren über ein IPC-Medium kommunizieren kann, wird vor dem Bootendes Systems durch dessen Konfiguration festgelegt. Prozessen ist eszur Laufzeit nicht möglich, die in diesem Abschnitt beschrieben IPC-Medien zu nutzen, wenn diese vorher nicht explizit konfiguriert wur-den.

Page 29: Unidirektionale Datenverbindungen zwischen virtualisierten ...

23

3.8.1 Messages

Ein IPC-Mechanismus sind sogenannte Messages. Diese ermöglichenes Nachrichten zwischen zwei Prozessen per System-Call über denL4-Kernel auszutauschen. Größter Nachteil dieser Form der Kommu-nikation sind die blockierenden System-Calls. Der sendende Prozesswird solange blockiert, bis der empfangende Prozess die Nachrichtkomplett gelesen hat. Diese Eigenschaft sowie der Kontextwechsel inden Kernel-Kontext und zurück machen diese IPC-Art sehr langsam fürgrößere Datenmengen. Dieses würde sich negativ auf den Durchsatzeiner Datendiode auf Basis von Messages auswirken.

3.8.2 Shared-Memory

Mehrere L4-Tasks können auch ohne Interaktion des Kernels mittelsShared-Memory miteinander kommunizieren. Hierbei bekommen bei-de Prozesse einen gemeinsamen Speicherbereich zugewiesen. Die Syn-chronisation des Zugriffs übernehmen in diesem Fall die Prozesse sel-bst. Im Gegensatz zu den zuvor beschriebenen Messages ist diese Artder Kommunikation sehr schnell und kann ohne Kontextwechsel in denKernel-Kontext ablaufen.

3.8.3 Interrupts

Software-Interrupts ist die letzte Art der Interprozesskommunikationzwischen L4-Tasks. Dabei wird für mehre L4-Tasks ein gemeinsamerIPC-Kanal definiert. Jeder beteiligte Prozess kann über diesen IPC-Kanal einen Interrupt bekommen. Anders als bei POSIX-artigen Syste-men, muss ein L4-Prozess passiv mit einem blockierenden System-Callauf den Interrupt warten. Daher wird diese Art der Kommunikationmeist in einen Thread ausgelagert.

3.8.4 Bewertung

Prinzipiell wäre alle IPC-Medien zur Kommunikation geeignet. Aller-dings lassen sichmitMessages und Interrupts nur sehr langsam größe-re Datenmengen austauschen. Um eine praktisch benutzbare Datendi-ode zu entwickeln bedarf es einer schnellen Kommunikationsgrundla-

Page 30: Unidirektionale Datenverbindungen zwischen virtualisierten ...

24

ge. Dafür ist das IPC-Medium Shared-Memory ideal geeignet. Im Be-zug auf die Sicherheit einer Datendiode hat keines der benannten IPC-Medien einen entscheidenden Vorteil. In jedem Fall müsste zumindestdie rückläufige Kommunikationsverbindung separat von den Kommu-nikationsparteien kontrolliert werden.

3.9 Unidirektionale Kommunikation auf einem Host-System

Dieses Kapitel beleuchtet die Möglichkeiten, mit denen eine unidirek-tionale Kommunikation auf einem Host-System realisiert werden kann.Dabei werden die Vor- und Nachteile der verschiedenen Aufbauten ab-gewogen, um eine sichere und gleichzeitig performante Lösung zu fin-den. Die vorgestellten Varianten sind dabei nicht exklusiv auf die L4-Plattform beschränkt. Alle Varianten sind auch auf andere Plattformenanwendbar.

3.9.1 Speicherzugriffsrechte

Eine Variante zwei Prozesse auf einem System unidirektional zu verbin-den, könnte wie folgt über eine Shared-Memory-Seite realisiert wer-den. Dabei wird dem schwarzen Prozess der Speichermit Lese-Schreib-Berechtigung in seinen virtuellen Speicher gemappt, dem roten Pro-zess hingegen ausschließlich mit Lese-Berechtigung.

virtuellerroter Speicher

virtuellerschwarzer Speicher

physischer Speicher

...

...

R/W R

Betriebssystem

roter Prozessschwarzer Prozess

NutzdatenRückkanal

mapping mapping

Abbildung 15: Schwarz-SHM-Rot

Vorteil dieser Methode ist die Übertragungsgeschwindigkeit. Da beim

Page 31: Unidirektionale Datenverbindungen zwischen virtualisierten ...

25

Transfer der Informationen von einer zum anderen Instanz nur eineKopier-Operation ausgeführt werden muss.

Diese Methode hat den Nachteil, dass die Synchronisation der Kommu-nikation nicht über das Shared-Memory erfolgen kann. Hierfür müssteein weiter IPC-Kanal benutzt werden. Etwa Interrupts oderMessages,die einander über den Lese- oder Schreib-Status informieren.

Ein weiterer und schwerwiegenderer Nachteil ist der Umstand, dassnicht kontrolliert werden kann, ob die Statusberichte der roten Sei-te nicht zur ungewollten Kommunikation missbraucht werden. Da eineKontrollinstanz seitens des Betriebssystems keinen Einblick in den Ab-lauf der Shared-Memory-Kommunikation hat.

3.9.2 Dioden-Prozess

Um die Gesamtkommunikation besser kontrollieren zu können, bietetsich eine Variante an, in der der Kopiervorgang durch einen Prozessauf Betriebssystemseite geschieht.

virtuellerroter Speicher

virtuellerschwarzer Speicher

virtuellerDioden-Prozess-Speicher

R/W

R/W

Betriebssystem

roter Prozessschwarzer Prozess

mapping mapping

Dioden-Prozess

Abbildung 16: Kommunikation über einen Dioden-Prozess

In dieser Variante gibt es zur Kommunikation zwischen schwarz undrot zwei getrennte Speicherbereiche. Diese beiden Speicherbereichewerden mit Lese-Scheib-Berechtigung in den virtuellen Speicher ei-nes neutralen Dioden-Prozesses gemappt. Dieser Dioden-Prozess kannnun die gesamte Kommunikation zwischen schwarz und rot kontrol-lieren und die zu übertragenen Informationen zwischen den beidenSpeicherbereichen kopieren. Somit lässt sich der Rückkanal bessermit den übertragenen Nutzdaten koordinieren. Zudem muss die Fluss-steuerung der Datenübertragung nicht mehr zwischen der schwarzen

Page 32: Unidirektionale Datenverbindungen zwischen virtualisierten ...

26

und roten Seite direkt geschehen, sondern nur noch mit dem Dioden-Prozess. Damit kann dieser Teil des Rückkanals ebenfalls vom Dioden-Prozess kontrolliert werden.

Page 33: Unidirektionale Datenverbindungen zwischen virtualisierten ...

27

4 Analyse bestehender unidirektionaler Kom-munikationsmechanismen

Dieses Kapitel vergleicht die Kommunikationsmechanismen der NRL-Pump mit denen der genugate-Datendiode. Diese beiden bestehendenLösungen sind zum Zeitpunkt dieser Arbeit die einzigen logischen Da-tendioden, zu denen Unterlagen über deren Funktionsweise zugäng-lich sind. Die Protokolle der Dioden werden im Hinblick auf die Rück-meldungen und deren Vor- und Nachteile beleuchtet.

4.1 Protokoll der NRL-Pump

Dieser Abschnitt erläutert die interen Funktionsweise der NRL-Pump.Der Protokollablauf ist hauptsächlich dem Dokument „A Data Pump forCommunication“ [KM95] entnommen.

buffer

Pump

LowTrusted High

ProcessTrusted Low

Process High

Abbildung 17: Interner Kommunikationsablauf der NRL-Pump

Innerhalb der NRL-Pump gibt es zwei Prozesse, welche als sicher an-genommen werden, die den Zugriff auf den interen Puffer haben. Die-se Prozesse sind Vermittler zwischen den externen Hosts im schwar-zen sowie roten Netz und dem Puffer. Wie in Abbildung 17 dargestellt,kommuniziert der Trusted-Low-Process (TLP)mit denHosts im schwar-zen Netz und der Trusted-High-Process (THP) mit den Hosts im rotenNetz.

Um nun Daten von Low nach High zu übertragen, verschickt Low ein-zelne Pakete an den TLP. Nach dem Verschicken eines jeden Paketswartet Low auf eine positive Empfangsbestätigung bevor es das nächs-te Paket an den TLP verschickt. Bekommt Low eine negative Empfangs-bestätigung, oder kommt bis zum Timeout gar keine Empfangsbestäti-gung, versucht es das entsprechende Paket erneut zu senden.

Page 34: Unidirektionale Datenverbindungen zwischen virtualisierten ...

28

Der TLP nimmt Pakete von Low entgegen und versucht diese in deninternen Puffer zu schreiben. Sobald der TLP das Paket in den Pufferschreiben konnte, sendet es eine positive Empfangsbestätigung an Lowzurück. Ist es dem TLP nicht möglich das Paket in dem internen Pufferabzulegen, versendet er eine negative Empfangsbestätigung an Low,um zu signalisieren, dass dieses Paket High nicht erreichen wird.

Der THP entnimmt die Pakete, welche zuvor vom TLP hinterlegt wor-den sind, aus dem internen Puffer und sendet diese zu High. Ebensowie Low, wartet er nun auf eine positive Empfangsbestätigung für dasversendete Paket. Wird der Empfang von High positiv bestätigt, ver-sendet der THP das nächste Paket aus dem internen Puffer. Bekommtder THP eine native Bestätigung von High oder läuft der Timeout ab,wird der THP versuchen, das Paket erneut zu versenden.

High empfängt ausschließlich Pakete vom THP und bestätigt derenEmpfang.

Dieses Verfahren hat den Vorteil, dass die rote Seite keinen Einflussauf die Empfangsbestätigungen nehmen kann, welche an die schwarzeSeite verschickt werden, da die Empfangsbestätigungen nicht direktan den Empfang der roten Seite gebunden sind, sondern nur an denEmpfang an der Diode selbst. Die Empfangsbestätigungen von Highan die NRL-Pump sind somit von denen, welche die NRL-Pump an Lowsendet entkoppelt.

4.2 Protokoll der genugate-Datendioden

ImGegensatz zur NRL-Pump sind die unidirektionalen Protokoll-Relaysbei der genugate-Datendiode Teil der Diode selbst und nicht auf denHosts des schwarzen und roten Netzes.

Diese Relays verhalten sich nach außen wie ein normaler Client oderServer, kommunizieren aber untereinander mit einer einseitigen TCP-Verbindung. Für die beiden Anwendungsprotokolle gibt es jeweils einRelay, welches als Server agiert und Protokolldaten in eine TCP-Ver-bindung einpackt. Zudem gibt es eine Gegenseite, welche die Proto-kolldaten aus der TCP-Verbindung entnimmt und zum Ziel-Server alsClient agiert. Für SMTP sind es das SMTP2TCP- und TCP2SMTP-Relay,für FTP dementsprechend das FTP2TCP- und TCP2FTP-Relay.

Page 35: Unidirektionale Datenverbindungen zwischen virtualisierten ...

29

SMTP-Server Paket-Filter TCP-2-SMTP

HELO

TCP (rot)SMTP (server) TCP (schwarz)

SMTP-Server

MAIL FROM

RCPT TO

DATA

SMTP-2-TCP

text...

.

QUIT

250 OK

250 OK

250 OK

250 OK

221 close

354 start

SYN

ACK

SYN ACK

HELO

MAIL FROM

RCPT TO

DATA

text...

.

QUIT

250 OK

250 OK

250 OK

250 OK

221 close

354 start

PUSH

...

PUSH

FIN

FIN ACK

PUSH

SMTP (client)

PUSH

ACK

ACK

ACK

ACK

Abbildung 18: SMTP-Dioden-Relay

Abbildung 18 zeigt in einem Sequenzdiagramm den gesamten Proto-kollablauf beim der Übertragung einer E-Mail von schwarz nach rot.

Die Unidirektionalität wird bei diesem Konzept vom Paketfilter sicher-gestellt. Der Paketfilter ist eine speziell angepasste OpenBSD-Firewall.Dieser hat eine Konfiguration, welche von der roten Seite ausschließ-lich Acknowledgment-Pakte weiterleitet. Andere Pakete von der rotenSeite werden verworfen. Zudem werden die Felder des TCP-Headergeprüft und bei Unregelmäßigkeiten die Pakete verworfen. Dadurchwerden die Freiheitsgrade der roten Seite in ihrer Kommunikation undder daraus resultierende Rückkanal soweit wie möglich eingeschränkt.Die genaue Funktionsweise des Paketfilters kann dem Manual pf_-oneway(9) [Bluhm07] entnommen werden.

Page 36: Unidirektionale Datenverbindungen zwischen virtualisierten ...

30

4.3 Bewertung

Die NRL-Pump hat den Vorteil der Entkopplung der Empfangsbestäti-gung von schwarzer und roter Seite. Daher hat die rote Seite keinenEinfluss auf die Empfangsbestätigungen, welche an die schwarze Sei-te verschickt werden. Da die NRL-Pump der schwarzen Seite nur denEmpfang der Daten auf der Datendiode selbst bestätigt, ist die Daten-diode selbst auch dafür verantwortlich das diese Daten in jedem Fallbei roten Seite ankommen. Die NRL-Pump stellt somit nur sicher, dassdie Übertragenen Daten auf der anderen roten Seite ankommen.

Die genugate-Datendiode verfolgt an dieser Stelle einen anderen An-satz. Bei dieser Diode bedeuten die Empfangsbestätigungen nicht nur,dass Daten angekommen sind, sonder auch, dass diese Verstandenwurden. Die unidirektionalen Protokoll-Relays der genugate-Datendio-de geben nur dann eine positive Rückmeldung, wenn beispielsweise dieversendete E-Mail auch zugestellt werden konnte. Sollte die Authen-tifizierung im SMTP-Protokoll fehlschlagen oder der Zielserver nichterreichbar sein, wird dieses mit einer negativen Rückmeldung quit-tiert.

Dadurch entsteht der Nachteil, dass die rote Seite einen zeitlichen Ein-fluss auf die Empfangsbestätigungen nehmen kann. Auf der anderenSeite ist der gesamte Ablauf der Kommunikation zuverlässiger im Ver-gleich zur NRL-Pump, da die schwarze Seite nicht nur erfährt ob ihreNachricht angekommen ist, sonder auch, ob diese auf Anwendungs-ebene verstanden wurde.

Page 37: Unidirektionale Datenverbindungen zwischen virtualisierten ...

31

5 L4-Pipe-Kommunikation

Im Abschnitt 3.9 wurden zuvor mehre Möglichkeiten erläutert unidi-rektional auf einem Host-System zu kommunizieren. Nach Abwägungder Vor- und Nachteile ist beste Variante eine Shared-Memory-Kommu-nikation über einen sicheren Dioden-Task, welche die Kommunikationüberwachen kann. Dieser Abschnitt beschreibt einen von genua ent-wickelten Kommunikationskanal für die L4-Plattform welcher das Sha-red-Memory-Medium nutzt. Aufbauend auf dieser Vorarbeit wird dannder Dioden-Task entwickelt.

5.1 L4-Pipe

Für eine einfache Kommunikation zwischen verschiedenen L4Open-BSD-Instanzen wurde von genua ein bidirektionaler Datenkanal na-mens L4-Pipe geschaffen. Dieser verbindet die L4OpenBSD-Instanzenüber Shared-Memory miteinander.

L4OpenBSDL4OpenBSD

shared memoryL4-Prozess L4-Prozess

Abbildung 19: Kommunikation über Ringpuffer innerhalb der L4-Pipe

Kernstück dieses Kommunikationskanals sind zwei Ringpuffer, überdie jeweils die Hin- sowie Rückrichtung ablaufen. Der gemeinsameShared-Memory-Bereich wird dafür zwischen den beiden Ringpuffernaufgeteilt. Verwaltet wird der Shared-Memory-Bereich innerhalb desL4OpenBSD-Kernels. Dieser Kernel-Treiber stellt dem Userland eineSchnittstelle in Form einer /dev/l4pipe0Gerätedatei bereit. Über die-se Gerätedatei können Prozesse zwischen zwei L4OpenBSD-Instanzenüber die L4-Pipe miteinander kommunizieren. Dafür stehen ihnen dieSystem-Calls open(2), read(2), write(2) und close(2) zur Verfügung.

Page 38: Unidirektionale Datenverbindungen zwischen virtualisierten ...

32

5.2 Paket-Protokoll der L4-Pipe

Um über die L4-Pipe strukturiert kommunizieren zu können, wurde einpaketbasiertes Protokoll von genua entwickelt. Dieses erlaubt es Da-tenströme strukturiert, mit einem definierten Beginn und Ende, sowieeiner Empfangsbestätigung ablaufen zu lassen. Damit ist es den Pro-zessen im Userland des L4OpenBSD ebenfalls möglich mehrere Daten-ströme parallel zu übertragen. Die Struktur der Pakete sowie der Ab-lauf der Kommunikation soll in diesem Abschnitt verdeutlicht werden,um das Protokoll später auf seine Tauglichkeit für den unidirektionalenEinsatz untersuchen zu können.

Connection ID Length Type

Payload

0 Bit 32 Bit 64 Bit 88 Bit

Abbildung 20: Paketaufbau der L4-Pipe

Jedes Paket beginnt mit einem 88 Bit langen Header. Dieser beinhaltetdie drei Felder ID, Length und Type.

Mit dem 64 Bit langen ID-Feld, werden verschiedener parallele Verbin-dungen unterschieden. Da das Protokoll vorsieht, das ID-Feld für jedeneue Verbindung zu inkrementieren und keine ID wiederzuverwendenwurde das Feld auf die Länge von 64 Bit festgelegt. Es wird dabei da-von ausgegangen, dass die Obergrenze von 264 Verbindungen im realenEinsatz nie erreicht wird.

Das Length-Feld gibt die Länge der Payload in Bytes an. Da dieses Feldauf 16 Bit begrenzt ist, ist auch die Payload auf maximal 64 KiB be-grenzt.

Mit dem Type-Feld werden verschiedene Arten von Paketen unterschie-den. Es wurden insgesamt fünf Pakettypen definiert: SYN (synchro-nization), DATA, EOF (end of file), FIN (finish) und RST (reset).

Page 39: Unidirektionale Datenverbindungen zwischen virtualisierten ...

33

Sender Empfänger

SYN

FIN

DATA

...

DATA

EOF

Abbildung 21: Sequenzdiagramm zum Protokoll

Der Sender beginnt eine Übertragung mit einem Syn-Paket. Dieses Pa-ket legt die ID für diese Verbindung fest, welche in allen weiteren Pa-keten verwendet wird. Auf das Syn-Paket folgend, verschickt der Sen-der beliebig viele DATA-Pakete mit den zu versendenden Daten. DieseDATA-Pakete sind die einzigen Pakete die eine Payload enthalten. Inallen anderen Pakettypen ist die Payload leer und das Length-Feld aufNull gesetzt. Um eine Übertragung abzuschließen, verschickt der Sen-der ein EOF-Paket und wartet auf die Bestätigung des Empfängers inForm eines FIN- oder RST-Paketes. Mit dem FIN-Paket signalisiert derEmpfänger, dass alle Daten empfangen wurden. Tritt ein Fehler wäh-rend der Übertragung auf, kann der Sender sowie der Empfänger dieVerbindung jederzeit mit einem RST-Paket abbrechen.

5.3 TCP-Multiplexer

Um diesen Kommunikationskanal für bestehende Anwendungen nutz-bar zu machen, wurde das Programm l4pipemux von genua entwi-ckelt. Dieses Programm multiplext verschiedene parallele TCP-Verbin-dungen über die L4-Pipe. Die Schnittstelle zum Userland findet dabeiüber einen TCP/IP- oder UNIX-Domain-Socket statt.

Page 40: Unidirektionale Datenverbindungen zwischen virtualisierten ...

34

/dev/l4pipe0/dev/l4pipe0

shared memoryL4OpenBSD-Kernel L4OpenBSD-Kernel

l4pipemux l4pipemux

Prozess Prozess

L4OpenBSD-Userland L4OpenBSD-Userland

Abbildung 22: Kommunikation über l4pipemux

5.4 L4-Pipe-Filter

Um den Datenverkehr zwischen zwei L4OpenBSD-Instanzen kontrol-lieren zu können, wurde von genua ein Filterprogramm namens SHM-Proxy entwickelt. Dieser Filter ist ein nativer L4-Task und läuft direktauf der L4-Plattform ohne eine weitere Umgebung wie etwa ein L4-OpenBSD oder ein L4Linux. Der SHM-Proxy bietet die Möglichkeit denAblauf dem im Abschnitt 5.2 beschriebenen L4-Pipe-Protokolls zu kon-trollieren und durchzusetzen. Dabei kann er einzelne Pakete gezieltaus dem Paketstrom herausfiltern oder auch ganze Verbindungen ter-minieren.

Page 41: Unidirektionale Datenverbindungen zwischen virtualisierten ...

35

/dev/l4pipe0

L4pipemux

Prozess

/dev/l4pipe0

L4pipemux

Prozess

SHMProxy

TCP/IP

read(2)write(2)

TCP/IP

read(2)write(2)

shared memory shared memory

write

read read

Abbildung 23: Kommunikationskanal mit SHM-Proxy

Damit der SHM-Proxy den Datenverkehr kontrollieren kann, wird erüber Shared-Memory mit den beiden L4-OpenBSD-Instanzen verbun-den.

5.5 Schwächen im Unidirektionalen-Einsatz

Will man diese bidirektionale Kommunikationsstrecke in eine eine uni-direktionale umformen, scheint dies zunächst recht einfach. Der SHM-Proxy filtert einseitig alle Pakete zum Aufbau sowie zur Übertragungvon Daten heraus und lässt ausschließlich FIN- und RST-Pakete zurBestätigung zu.

Bei genauerer Betrachtung fällt auf, dass dieses Verhalten nicht aus-reicht. Im Abschnitt 6 werden Möglichkeiten beschrieben, diese einfa-che Filterung zu umgehen, um dennoch Daten von rot nach schwarzzu übertragen.

Konzeptionell hat das Protokoll dabei eine weitere Schwäche. Da derPaket-Header aus Abschnitt 5.2 keine Adressinformation enthält, kannüber eine L4-Pipe nur ein TCP-Service erreicht werden. Will man meh-rere Services über eine L4-Pipe erreiche, müsste man mit diesem An-satz mehre L4-Pipes parallel betreiben.

Page 42: Unidirektionale Datenverbindungen zwischen virtualisierten ...

36

genugate

L4 Mikrokernel

genugate

l4pipemux l4pipemux

L4-Multi-Service-Diode (multi Proxy)

/dev/l4pipe0

SHMProxy

/dev/l4pipe0

l4pipemux l4pipemux/dev/l4pipe1

SHMProxy

/dev/l4pipe1

smtp2tcp

ftp2tcp

tcp2smtp

tcp2ftp

Hardware

Abbildung 24: Multi-Service Kommunikationskanal mit mehrerenSHM-Proxy

Für jeden Service, der von schwarz aus auf der roten Seite erreichtwerden soll, müsste eine eigene Pipe, sowie ein eigener Dioden-Taskgestartet werden. Der Rückkanal, den eine einzelne Verbindung mitsich bringt, würde sich in diesem Szenario mit der Anzahl der Verbin-dungen mindestens multiplizieren. Daher muss das Protokoll vor derVerwendung in einer Datendiode um eine Möglichkeit zur Adressie-rung erweitert werden. Damit ein einzelner Proxy die Verbindungenmehrerer Dienste parallel verwalten und kontrollieren kann.

Page 43: Unidirektionale Datenverbindungen zwischen virtualisierten ...

37

6 Analyse bekannter Rückkanalmöglichkei-ten

In diesemKapitel werden die verschiedenenMöglichkeiten eines Rück-kanals und ihre Größe analysiert. Zunächst soll dabei eine theoretischeAnalyse Aufschluss über das maximale Ausmaß des Rückkanals geben.Dabei wird davon ausgegangen, dass der Angreifer die absolute Kon-trolle über die L4OpenBSD-Instanzen der Datendiode hat (siehe Ab-schnitt 3.3.3). Die Sicherheit des in dieser Arbeit entwickelten Datendi-oden-Protokolls stützt sich auf die Annahme, dass die L4-Plattform so-wie der Dioden-Prozess nicht kompromittiert werden. Daran anschlie-ßend werden Verfahren erläutert, welche die theoretischen Möglich-keiten praktisch umsetzten. Diese Demonstration soll verdeutlichen,welche Ausmaße die theoretischenMöglichkeiten praktisch haben. Diepraktischen Kodierungsmöglichkeiten werden nur einzeln und nichtkombiniert erläutert. Eine Analyse der Kombinationsmöglichkeiten fin-den nur im theoretischen Teil statt, da eine praktische Umsetzung denzeitlichen Rahmen dieser Arbeit überschreiten würde.

6.1 Impliziter Rückkanal

Will man eine grobe obere Abschätzung der Rückkanalmöglichkeitentreffen, müssen zunächst die verschiedenen Freiheitsgrade der Kom-munikation analysiert werden.

Der erste und offensichtlichste Freiheitsgrad ist die Empfangsbestäti-gung einer Verbindung, die rot an schwarz zurücksendet. Direkt kanndie rote Seite auf eine Verbindung mit einer positiven oder negativenRückmeldung reagieren. Indirekt besteht die Möglichkeit gar nicht zureagieren und die Verbindung in einen Timeout laufen zu lassen. Somitbleiben der roten Seite drei Arten auf eine Verbindung mittels Emp-fangsbestätigungen zu reagieren, welche von der schwarzen Seite er-kannt werden kann. Die Reaktion der rote Seite mittels Timeout klingtzunächst zwar nur theoretisch, da ein Timeout im Verhältnis zur Über-tragung einer Nachricht wesentlichmehr Zeit benötigt und dessen Ein-satz als ineffizient erscheinen lässt. Bei genauer Betrachtung stellt sichheraus, dass sobald die schwarze Seite die übliche Reaktionszeit von

Page 44: Unidirektionale Datenverbindungen zwischen virtualisierten ...

38

rot kennt, kann die schwarze Seite bereits auf einen Timeout schlie-ßen, sobald der Zeitraum einer direkten Reaktion überschritten wur-de. Somit lässt sich ein Timeout effizient nutzen, ohne an dieser Stelleineffizient zu werden.

Um die Rate von Bits pro Verbindung für einen Freiheitsgrad zu be-rechnen, bildet man den Logarithmus zur Basis zwei von den zur Verfü-gung stehenden Reaktionsmöglichkeiten. Somit erhält man beispiels-weise für 256 Möglichkeiten 8 Bit, denn log2(256) = 8Bit.

Für den Freiheitsgrad der Empfangsbestätigung ergibt sich somit eineÜbertragungsrate von log2(3) = 1.58Bit/V erbindung die der roten Seitezur Verfügung steht, um Daten an die schwarze Seite zu übertragen.

Ein anderer Freiheitsgrad ist die Zeit zwischen demBeenden einer Ver-bindung der schwarzen Seite und der Reaktion darauf. Der roten Sei-te steht es frei zu einem beliebigen Zeitpunkt innerhalb der Timeout-Zeitspanne eine Empfangsbestätigung zu verschicken. Die Variable T

sei an dieser Stelle die Zeitspanne des Timeout einer Verbindung unddie Variable t das kleinste Zeitintervall, welches von der schwarzenSeite noch sicher unterschieden werden kann. Dann ergibt sich ausT/t die Anzahl der Reaktionsmöglichkeiten und aus log2(T/t) die Über-tragungsrate von Bits pro Verbindung, welche durch den Freiheitsgradder Reaktionszeit entsteht.

Durch dem Umstand der parallelen Kommunikation kommt ein Frei-heitsgrad hinzu, welcher es der roten Seite gestattet, die Reihenfolgein der sie auf die Verbindungen reagiert selbst zu bestimmen. Die Re-aktionsmöglichkeiten der roten Seite bildet sich aus der Fakultät derparallel möglichen Verbindungen. Aus der Kombinatorik ist bekannt,dass die Fakultät einer Anzahl von Dingen, die Möglichkeiten der An-ordnung dieser Menge von Dingen angibt. Somit ergibt sich die For-mel log2(v!), mit der sich die Übertragungsrate dieses Freiheitsgradesberechnen lässt. Die Variable v entspricht dabei der Anzahl der Verbin-dungen.

Durch eine Kombination der verschiedenen Freiheitsgrade lässt sichdie Bitrate um ein vielfaches steigern. Praktisch lassen sich nicht al-le Freiheitsgrade direkt miteinander kombinieren und gleichzeitig dieÜbertragungsrate steigern, da sie sich gegenseitig beeinflussen. Solässt sich beispielsweise der Status einer Empfangsbestätigung in Formeines Timeouts nicht mit dem Zeitpunkt der Reaktionszeit vereinbaren.

Page 45: Unidirektionale Datenverbindungen zwischen virtualisierten ...

39

Somit lassen sich in diesem Beispiel nur zwei der drei Zustände derEmpfangsbestätigung mit einer beliebigen Reaktionszeit kombinieren.

log2(3) ∗ v + log2(T/t) ∗ v + log2(v!) = log2((3T/t)v ∗ v!)

Der folgende Graph zeichnet die Bitrate über die Anzahl der Verbin-dungen einzeln und in Summe ab.

0

500

1000

1500

2000

2500

3000

3500

4000

0 50 100 150 200 250

Bit/

Ver

bind

ung

Anzahl der Verbindung

EmpfangsbestaetigungReihenfolge

ReaktionszeitSumme

Abbildung 25: Theoretischer Rückkanal im Verhältnis zu ParallelenVerbindungen

Um die theoretischen Möglichkeiten aus dem Abschnitt 6.1 auch prak-tisch nachvollziehen zu können, sollen in den folgenden Abschnittenkonkrete Angriffe auf die Freiheitsgrade aufgezeigt werden. Die ge-zeigten Verfahren sind dabei nicht auf möglichst hohe Übertragungs-raten optimiert, sondern prinzipieller Natur.

Page 46: Unidirektionale Datenverbindungen zwischen virtualisierten ...

40

6.2 Answer-Bit

Das Answer-Bit-Verfahren nutzt den Freiheitsgrad der Empfangsbestä-tigung aus. Dieses ist ein sehr prinzipielles Verfahren, welches sich beilogischen Datendioden mit einem Rückkanal für Empfangsbestätigun-gen immer anwenden lässt. Eine Ausnahme stellt hier die NRL-Pumpdar, da diese einen entkoppelten Rückkanal hat. Daher lässt sich diesesVerfahren bei dieser nicht anwenden.

Schwarz SHMProxy

SYN

FIN

EOF

Rot

SYN

EOF

FIN

SYN

SYN

EOF

EOF

RST

RST

transmit 1

transmit 0

Abbildung 26: Sequenzdiagramm der Answer-Bit-Methode

Bei diesem Verfahren sendet die rote Seite immer wieder ein SYN- undein FIN-Paket und wartet auf das Antwortpaket. Die rote Seite beant-wortet diese Verbindungen nun mit einem ACK- oder NAC-Paket, ab-hängig davon ob es eine Eins oder eine Null übertragen möchte. Aufder schwarzen Seite werden die Antwortpakete wieder zu einer Nach-richt zusammengesetzt. Um dieses Verfahren auch praktisch zu de-monstrieren wurde das Programm rpipe_ab im Rahmen dieser Arbeitentwickelt. Dieses Programm implementiert das Answer-Bit-Verfahrenund wurde erfolgreich eingesetzt.

Page 47: Unidirektionale Datenverbindungen zwischen virtualisierten ...

41

6.3 Multi-Bit-Choosing

Beim Multi-Bit-Choosing-Verfahren nutzt die rote Seite den Freiheits-grad der Parallelität aus. Das bedeute im Allgemeinen, dass die schwar-ze Seite eine Wahlmöglichkeit für die rote Seite schaft. Immer wenndieser Zustand eintritt, kann die rote Seite über ihr Auswahl der schwar-zen Seite eine Information mitteilen.

Schwarz SHMProxy Rot

SYN 0

FIN 97

EOF 0

SYN 97

EOF 97

SYN ...

EOF ...

SYN 255

EOF 255

SYN 0

EOF 0

SYN ...

EOF ...

SYN 255

EOF 255

FIN 97

SYN 97

EOF 97

transmit 'a'

Abbildung 27: Sequenzdiagramm der Multi-Bit-Choosing-Methode

Abbildung 27 demonstriert dieses Verfahren an einem konkreten Bei-spiel. Die schwarze Seite öffnet und schließt mehrere Verbindungenparallel. Bestätigt die rote Seite nun eine Verbindung wird diese sofortwieder geöffnet und geschlossen, sodass der roten Seite immer einefeste Anzahl von Verbindungen zur Verfügung steht. Die rote Seite be-stätigt nun die Verbindungen, die eine bestimmte Bit-Folge repräsen-tieren.

Im Beispiel hält die schwarze Seite immer 256 parallele Verbindungenoffen. Die Connection-ID repräsentiert dabei ein Byte, welches die ro-te Seite wählen kann. Die rote Seite bestätigt nun die Verbindungen,

Page 48: Unidirektionale Datenverbindungen zwischen virtualisierten ...

42

welche den Bytes entspricht, die zu übertragen sind. Auch dieses Ver-fahren wurde im Rahmen dieser Arbeit in dem Programm rpipe_mbcimplementiert und erfolgreich getestet.

6.4 ACK-Ordering

Beim ACK-Ordering nutzt der Angreifer den Freiheitsgrad aus, dasser aus verschiedenen parallel Verbindungen wählen kann, in welcherReihenfolge er die Verbindungen bestätigt.

Schwarz SHMProxy Rot

SYN 0

FIN 1

EOF 0

SYN 1

EOF 1

SYN 0

EOF 0

SYN 1

EOF 1

FIN 1 FIN 0

FIN 0

SYN 0

EOF 0

SYN 1

EOF 1

SYN 0

EOF 0

SYN 1

EOF 1

FIN 0

FIN 1FIN 0

FIN 1

transmit 1

transmit 0

Abbildung 28: Sequenzdiagramm des Acknowledgement-Ordering

Im einfachsten Fall, öffnet die schwarze Seite zwei Kanäle und war-tet auf deren Bestätigung durch die rote Seite. Behält die rote Seitebeim Bestätigen der Verbindung die Reihenfolge des Öffnens bei, kann

Page 49: Unidirektionale Datenverbindungen zwischen virtualisierten ...

43

sie damit der schwarzen Seite beispielsweise ein Bit in Form einer logi-schen Eins signalisieren. Kehrt die rote Seite die Reihenfolge um, kanndie damit eine logische Null übertragen.

6.5 ACK-Timing

Das ACK-Timing nutzt den Freiheitsgrad der Reaktionszeit auf einerVerbindung aus. Die rote Seite kann zu einem beliebigen Zeitpunktvom Empfang eines EOF-Pakets bis zum Timeout der entsprechendenVerbindung, die Empfangsbestätigung verschicken. Mit den Zeitinter-vallen, die zwischen dem Empfang des EOF-Pakets und dem Versendeneiner Empfangsbestätigung liegen, kann die rote Seite Informationenkodieren, welche von der schwarzen Seite interpretiert werden.

Schwarz SHMProxy Rot

SYN

FIN

EOF SYN

EOF

FINtransmit 0

SYN

FIN

EOF SYN

EOF

FIN

transmit 1

Zeitinterval des Empfängers Zeitinterval des Senders

Abbildung 29: Sequenzdiagramm des Acknowledgement-Timing

Page 50: Unidirektionale Datenverbindungen zwischen virtualisierten ...

44

Die Größe der Zeitintervalle, welche von der schwarzen Seite sicherunterschieden werden können, hängt stark von der Leistungsfähigkeitder eingesetzten Hardware sowie von der Belastung durch die laufen-de Software ab. Ebenso spielt der Umstand eine große Rolle, ob derAngreifer den Kommunikationskanal der Diode exklusiv oder parallelzum regulärem Datenverkehr nutzt.

6.6 Full-Buffer

Der letzte Freiheitsgrad in der Kommunikation ist die Entscheidungder roten Seite, Daten aus der Diode zu lesen oder nicht zu lesen.Dieser Freiheitsgrad ermöglicht einen weiteren Timing-Channel zurKommunikation von rot nach schwarz. Bei dieser Methode sendet dieschwarze Seite in kurzer Zeit viele Daten. Die rote Seite liest dieseDaten nur sehr langsam von der Diode, sodass der intere Puffer vollläuft. Die schwarze Seite kommt dann durch die Flusskontrolle in ei-nen blockierenden Zustand, da sie keine weiteren Datenmehr übermit-teln kann. Die rote Seite liest nun in kleine Mengen Daten und kodiertmit den unterschiedlichen Zeitintervallen die zwischen den Zyklen desLesens liege die zu Übermittelnden Informationen. Die schwarze Sei-te kann aufgrund der Dauer der blockierenden Zustände diese Zyklenwiedererkennen und damit auch die darin kodierten Informationen.

Page 51: Unidirektionale Datenverbindungen zwischen virtualisierten ...

45

7 Design eines unidirektionalen Kommuni-kationsmechanismus

In diesem Kapitel wird das Protokoll beschrieben, mit dem die schwar-ze mit der roten Seite kommuniziert. Dabei werden zunächst einigeProblemstellungen erläutert und dessen Lösungsvarianten diskutiert.Danach werden die in dieser Arbeit entwickelten Mechanismen desDioden-Prozesses erklärt, welche die Angriffe auf den Rückkanal ausAbschnitt 6 verhindern oder abschwächen.

7.1 Behandlung von Fehlern während der Übertra-gung

Das fehlerfreie Übertragen großer Datenmengen ist ein generelles Pro-blem in jeder Form eines Datentransfers. Bei einer komplexen Übertra-gungsstrecke wie etwa einer Datendiode mit vielen beteiligen Kompo-nenten, muss mit dem Auftreten eines Fehlers zu jeder Zeit gerechnetwerden. Um mit diesem Problem umzugehen, gibt es mehre Strategi-en.

7.1.1 Direkte Rückmeldung

In regulären Netzwerkprotokollen wie TCP [RFC793] werden bei derÜbertragung regelmäßig Zwischenbestätigungen in Form von soge-nannten ACK-Paketen versandt. Diese signalisieren dem Sender, dassalle Daten, welche bisher versandt wurden, korrekt empfangen wor-den sind. Gehen Daten verloren oder bleibt eine Bestätigung mittelsACK-Paket aus, müssen die Daten vom Sender erneut übertragen wer-den. Sollte bei einem der beiden Kommunikationspartner ein größeresProblem auftreten, kann jeder die gesamte Kommunikation zu jederZeit beenden.

Bei einer Datendiode ist eine solche Fehlerbehandlung nicht denkbar,da diese für einen Angreifer als Rückkanal genutzt werden kann. Denk-bar wäre hier ein Angriff ähnlich dem im Abschnitt 6.3 beschriebe-nen Multi-Bit-Choosing, bei dem die Fehlermeldungen gezielt auf denKanälen verschickt werden, welche man auswählen möchte, um eine

Page 52: Unidirektionale Datenverbindungen zwischen virtualisierten ...

46

bestimmte Information damit zu kodieren. Bei einem Diodenprotokollwelches auf einen geringen Rückkanal angewiesen ist, ist dieses Ver-halten daher nicht direkt anwendbar.

7.1.2 Black-Hole-Strategie

Zum anderen gibt es ein, in diesem Dokument als Black-Hole-Strategiebezeichnetes, Verfahren, bei dem die Daten von der schwarzen Seiteaus solange ohne jede Rückmeldung an die rote Seite verschickt wer-den, bis die Übertragung von der schwarzen Seite beendet wurde. Erstdann übermittelt die rote Seite ihre Antwort und signalisiert einen po-sitiven oder negativen Empfang.

Dieses Verfahren hat den Vorteil eines minimalen Rückkanals. Bei grö-ßeren Übertragungen, wird es allerdings zum Problem. Wenn bei einerÜbertragung von etwa einem GByte während der ersten Bits bereitsein Fehler auftritt, muss die rote Seite zunächst die restliche Über-tragung abwarten, bis sie den Fehler signalisieren kann. Im Fehlerfallkostet dieBlack-Hole-Strategie also Zeit sowie Übertragungskapazität,welche bei einem frühzeitigem Abbruch gespart werden könnten.

7.1.3 Response-Polling

Für die Lösung dieses Konflikts bietet sich an dieser Stelle ein Kom-promiss zwischen einer direkten Rückmeldung sowie dem Vermeidenzusätzlicher Freiheitsgrade in der Kommunikation an. Der Kompromisssieht vor, dass die rote Seite den Kanal — zudem es eine Statusberichtsignalisieren will — nicht frei wählen kann. Beim in dieser Arbeit alsResponse-Polling beschriebenen Verfahren erfragt die schwarze Sei-te in regelmäßigen Abständen den Status einer Verbindung mittelsspezieller Request-Pakete. Die rote Seite darf auf diese Pakete aus-schließlich mittel Response- oder Reset-Paketen antworten, um einenpositiven oder negativen Status der Verbindung zu übermitteln. Dieschwarze Seite muss nach Erhalt des Reset-Paketes die Übertragungmit einem Fehler abbrechen.

Damit dieses Verfahren nicht als weitere Multi-Bit-Choosing-Methodeausgenutzt werden kann, muss der kontrollierende Dioden-Task, dafürsorgen, dass die Request-Pakete der schwarzen Seite nur einzeln an

Page 53: Unidirektionale Datenverbindungen zwischen virtualisierten ...

47

die rote Seite weitergeleitet werden. Somit müssen die Request-Paketeebenso behandelt werden, wie EOF-Paket mit der im Abschnitt 7.3 be-schrieben EOF-Sperre. Damit kann die rote Seite ausschließlich aufeine Verbindung zur Zeit reagieren und verfügt über keinerlei Wahl-freiheit in ihrer Kommunikation.

7.2 NAK-Delay

Für eine gesicherte Kommunikation ist das Übertragen von Empfangs-bestätigungen unumgänglich. Das im Abschnitt 6.2 beschriebene An-swer-Bit-Verfahren, ermöglicht es somit grundsätzlich immer Datenvon rot nach schwarz zu übertragen. Eine Möglichkeit darauf zu re-agieren ist es, die gesamte Kommunikation auf eine vorbestimmte An-zahl von Verbindungen pro Zeit einschränken. Damit würde man auchden Rückkanal auf eine bestimmte Größe einschränken. Leider führtdiese Vorgehensweise auch dazu, dass die reguläre Kommunikationenorm eingeschränkt wird. Dabei bietet sich hier ein Alternative an.

Page 54: Unidirektionale Datenverbindungen zwischen virtualisierten ...

48

Schwarz SHMProxy Rot

SYN 0

FIN 0

FIN 0

EOF 0

RST-Delay

SYN 0

EOF 0

SYN 0

RST 0

EOF 0

RST 0

SYN 0

EOF 0

Abbildung 30: Sequenzdiagramm des NAK-Delay

Im regulären Fall einer Kommunikation von schwarz nach rot, werdenüberwiegend positive Empfangsbestätigungen (Acknowledgements) über-tragen. Nur im Fehlerfall müsste die rote Seite eine negative Emp-fangsbestätigung (No Acknowledgement) übertragen. Für eine versteck-te Kommunikation von rot nach schwarz würden aber gleichermaßenACK- und NAK-Pakete verwendet. Anstatt nun die gesamte Kommuni-kation zu drosseln, reicht es aus ausschließlich die NAK-Pakte künst-lich zu verlangsamen. BeimEmpfang einesNAK-Paketes kann der Dioden-Prozess diese Pakete für eine vordefinierte Zeitspanne zwischenspei-chern und danach weiterleiten. Wichtig ist dabei, dass sich die Delay-Zeiten von mehreren NAK-Paketen addieren und nicht parallel ablau-fen. Da es sonst nicht zu einer Drosselung des Rückkanals kommt, son-dern nur zu einer höheren Latenz.

Page 55: Unidirektionale Datenverbindungen zwischen virtualisierten ...

49

7.3 EOF-Sperre

Die Parallelität von Verbindungen und der daraus resultierende Frei-heitsgrad der roten Seite führt zu einem sehr großen Rückkanal. EineEinschränkung auf eine rein serielle Kommunikation würde die Kom-munikationsmöglichkeiten dabei aber enorm einschränken.

Schwarz SHMProxy Rot

SYN 0

FIN 0

SYN 1

DATA 0

FIN 0

EOF 1

DATA 1

EOF 0

DATA 1

EOF 1

SYN 0

SYN 1

DATA 0

DATA 1

EOF 0

DATA 1

FIN 1

FIN 1

EOF-Sperre Kanal 0 Kanal 1

Abbildung 31: Sequenzdiagramm der EOF-Sperre

Ein möglicher Kompromiss ist, nur die Empfangsbestätigung der rotenSeite zu serialisieren. Bei der EOF-Sperre, wird immer nur ein EOF-Paket an die rote Seite verschickt. Kommen weitere EOF-Pakete hin-zu, während die rote Seite das erste noch bearbeitet, werden diese imSHMProxy zwischengespeichert. Erst wenn eine positive oder nega-tive Bestätigung für das EOF empfangen wurde, überträgt der SHM-Proxy das nächste EOF-Paket zur roten Seite. SYN- sowie Datenpake-

Page 56: Unidirektionale Datenverbindungen zwischen virtualisierten ...

50

te können hingegen die gesamte Zeit über ungehindert von schwarznach rot übertragen werden. Diese Verfahren muss ebenfalls mit demAbschnitt 7.1.3 beschrieben Response-Polling kombiniert werden. Dasbedeutet, dass die Requests und Responses genauso behandelt werdenmüssen wie EOF-Pakete und Empfangsbestätigungen.

7.4 Paketprotokoll

Angelehnt an das zuvor beschriebene L4-Pipe-Paketprotokoll (sieheAbschnitt 5.2) wurde ein neues Paketprotokoll entworfen, welches denAnforderungen für den Einsatz in einer Datendiode gerecht wird.

Connection ID

Service ID LengthType

Payload

0 Bit 32 Bit 64 Bit

Abbildung 32: Paket-Header des L4-Pipe-Protokoll

Der Paket-Header wurde um das Feld Service-ID erweitert. Dieses Felddient zur Adressierung von verschiedenen Diensten, welche auf der ro-ten Seite erreicht werden sollen. Somit können nun mehre Dienste wiein Abbildung 33 über einen einzelnen Dioden-Prozess erreicht werdenund die Erweiterung des Rückkanals aus Abschnitt 5.5 wird verhin-dert. Die Längen der Felder Service-ID sowie Type wurde so gewählt,dass der gesamte Header eine korrekte Speicherausrichtung [Rent05]erhält.

Page 57: Unidirektionale Datenverbindungen zwischen virtualisierten ...

51

genugate

L4 Mikrokernel

genugate

l4pipemux l4pipemux

L4-Multi-Service-Diode (single Proxy)

/dev/l4pipe0

SHMProxy

/dev/l4pipe0

smtp2tcp

ftp2tcp

tcp2smtp

tcp2ftp

Hardware

Abbildung 33: Multi-Service Kommunikationskanal mit einem SHM-Proxy

Die Pakettypen wurden um die Typen REQ und RSP erweitert. DieserErweiterung ermöglicht das im Abschnitt 7.1.3 beschriebene Response-Polling-Verfahren und erlaubt es bei großen Datenübertragungen denStatus einer Verbindung zu erfragen.

Tabelle 2: Beschreibung der Pakettypen

Type BeschreibungSYN Öffnet eine VerbindungDAT (data) Verschickt Daten über eine offene VerbindungREQ (request) Erfragt Statusbericht über VerbindungEOF (end of file) Beendet eine VerbindungRST (reset) Terminiert eine Verbindung im FehlerfallFIN (finish) Positive EmpfangsbestätigungRSP (response) Positive Reaktion auf einen Request von

schwarz

Ein kompletter Protokollablauf sieht wie folgt aus.

Page 58: Unidirektionale Datenverbindungen zwischen virtualisierten ...

52

Sender Empfänger

SYN

FIN

DATA

REQ

DATA

EOF

RSP

DATA

Abbildung 34: Sequenzdiagramm zum Protokoll

Der Sender öffnet einen Kanal mit einem SYN-Paket. Dazu wählt ereine eindeutige Connection-ID sowie die Service-ID des Dienstes, wel-chen er beim Empfänger erreichen möchte. Darauf folgen Datenpa-kete mit den zu übertragenen Informationen. Bei großen Übertragun-gen kann der Sender optional REQ-Pakete verschicken, um den Sta-tus der Verbindung zu erfragen. Sollte in der Zwischenzeit bei derÜbertragung oder auf der Empfängerseite ein Fehler aufgetreten sein,kann diese die Verbindung mit einem RST-Paket abbrechen. Anderen-falls wird die Verbindung mit einem FIN-Paket weiter fortgesetzt. DasEnde der Übertragung signalisiert der Sender mit einem EOF-Paket.Erst wenn dieses durch den Empfänger mit einem FIN-Paket quittiertwurde, hat der Sender die Bestätigung, dass die Übertragung beimEmpfänger komplett angekommen ist und positiv interpretiert werdenkonnte. Im Falle eines RST-Paket ist ein Fehler aufgetreten und dieÜbertragung damit fehlgeschlagen.

7.5 Implementierung

In diesem Abschnitt wird die Implementierung des Dioden-Prozesseserläutert. Es wird zunächst der grundlegende Mechanismus der unidi-rektionalen paketbasierten Kommunikation erläutert, um dann später

Page 59: Unidirektionale Datenverbindungen zwischen virtualisierten ...

53

auf die Implementierung des EOF-Blockings sowie des NAK-Delays ein-zugehen.

Paket verwerfen

Paket weiterleiten

Start

Nein

Ja

Direction== black

Type == EOF Type == REQ

Type == RSP Type == RST

Nein Nein

Nein Nein

EOF-Blocking

NAK-Delay Stop

Ja Ja

Ja Ja

Type == FIN Nein

Ja

Abbildung 35: Programmablaufplan(PAP) des Dioden-Prozess

Abbildung 35 zeigt den grundlegenden Programmablaufplan des Dioden-Prozesses. Dabei werden zunächst die Richtung und der Typ der ein-gehenden Pakete geprüft. Von schwarz nach rot sind grundsätzlich allePakettypen erlaubt. Die Typen EOF und RSPwerden allerdings speziellin der Routine EOF-Blocking behandelt.

Bei der Übertragungsrichtung von rot nach schwarz werden alle Pake-te verworfen, welche nicht vom Typ FIN, RSP oder RST sind. Die er-laubten Pakete werden aber nicht direkt weitergeleitet sondern durchlaufen zunächst noch das Unterprogramm NAK-Delay.

Paket verwerfen

Paket weiterleitenpush Packet to QueueLength ofQueue > 1

Start

Nein

Ja

Stop

EOFQueue

Abbildung 36: PAP des EOF-Blocking-Unterprogramms

Page 60: Unidirektionale Datenverbindungen zwischen virtualisierten ...

54

In der Unterprogramm EOF-Blocking (siehe Abbildung 36) wird einTeil des EOF-Blocking-Verfahrens implementiert. Vorausgesetzt ist hierder Umstand, dass das aktuelle Paket von schwarz nach rot übertragenwird und dem Typ EOF oder REQ entspricht. Der zentrale Bestand-teil dieses Verfahrens ist die EOF-Queue. Dieses ist eine FIFO-Liste,welche alle unbeantworteten EOF-Pakete zwischenspeichert. Ist eineintreffendes EOF- oder REQ-Paket das erste in der Liste, wird es di-rekt weitergeleitet. Sind vor diesem allerdings noch anderen Pakete inder EOF-Queue wird es in der Queue gespeichert und verworfen. ImUnterprogramm NAK-Delay werden die Antwortpakete der roten Seiteverarbeitet. Dort befindet sich auch der zweite Teil des EOF-Blocking-Verfahrens.

Paket verwerfen Paket weiterleiten

F = first element of queue

ID == F.ID

Start

Ja

Nein

Stop

Service ==F.Service

pop from queueJa

Nein

EOFQueue

Type == RST

send F to red

F = first element of queue

wait time of delayJa

NeinType

entsprichtF.Type

Nein

Ja

Abbildung 37: PAP des NAK-Delay-Unterprogramms

Das Unterprogramm NAK-Delay (siehe Abbildung 37) implementiertdas NAK-Delay-Verfahren und den zweiten Teil des EOF-Blocking. Zu-nächst wird hier die Connection-ID und die Service-ID sowie das Type-Feld des aktuellen Pakets mit dem ersten Element in der EOF-Queueverglichen. Damit soll sichergestellt werden, dass die rote Seite auchnur auf das EOF- oder REQ-Paket antwortet, welches es zuvor bekom-men hat. Handelt es sich um ein RST-Paket, also eine negative Emp-fangsbestätigung, wird nur eine vordefinierte Zeit gewartet, bevor mitder restlichen Verarbeitung fortgefahren wird. Dieses ist das eigent-lich NAK-Delay, wie es bereits im Abschnitt 7.2 beschrieben wurde.Im Falle einer positiven Empfangsbestätigung mittels eines FIN- oderRSP-Pakets, wird unmittelbar mit Weiterverarbeitung fortgefahren.

Page 61: Unidirektionale Datenverbindungen zwischen virtualisierten ...

55

Der nachfolgende Teils ist der Rest des EOF-Blocking. Nachdem vonder roten Seite eine Antwort auf ein zuvor versendetes EOF-Paket emp-fangen wurde, muss das aktuelle, und nun bestätigte Paket aus derEOF-Queue entnommen und verworfen werden. Das darauffolgendePaket in der EOF-Queue muss dann an die rote Seite versandt wer-den. Somit wird sichergestellt, dass die rote Seite ausschließlich aufein EOF-Paket zur Zeit reagieren kann. Das vorhalten der anderenEOF-Pakete in der EOF-Queue nimmt der roten Seite den Freiheits-grad der Wahlmöglichkeit auf einen beliebige Verbindung zu reagierenund schränkt somit ebenfalls den potentiellen Rückkanal ein.

Page 62: Unidirektionale Datenverbindungen zwischen virtualisierten ...

56

8 Analyse des verbleibenden Rückkanals

In den vorherigen Kapiteln wurde Mechanismen und Verfahren erläu-tert und entwickelt, welche zu einer sicherere logische Datendiode füh-ren. Um diese Sicherheit auch zu prüfen, wird in diesem Kapitel derverbleibende Rückkanal untersucht und mit vorhergehenden Lösun-gen verglichen.

8.1 Impliziter Rückkanal

Dieser Abschnitt leitet den Rückkanal von den verbleibenden Freiheits-graden her. Im Abschnitt 6.1 wurden vier Freiheitsgrade ermittelt, wel-cher der roten Seite in ihrer Kommunikation mit der schwarzen Seitezur Verfügung stehen.

Die Art der Empfangsbestätigung, die Reaktionszeit auf eine Verbin-dung, die Reihenfolge der Bestätigung von parallelen Verbindungensowie Entscheidung Daten zu lesen oder nicht zu lesen.

Durch die in dieser Arbeit entwickelten Verfahren des EOF-Blocking so-wie das NAK-Delay konnten die Freiheitsgrade der Art der Empfangs-bestätigung sowie der Reihenfolge der Reaktion enorm eingeschränktwerden. Die die Entscheidung in welcher Reihenfolge die rote Seiteauf parallele Verbindungen reagiert, konnte durch das EOF-Blockingauf die schwarze Seite verlagert werden. Mit diesem Verfahren stelltder in dieser Arbeit entwickelte Dioden-Prozess sicher, dass die Emp-fangsbestätigungen in der selber Reihenfolge an die schwarze Seiteversendet werden, wie diese zuvor die Verbindungen geschlossen hat.Somit kann der Freiheitsgrad der Reihenfolge von der rote Seite nichtmehr genutzt werden.

Die Entwicklung des NAK-Delay, konnte den Freiheitsgrad der Emp-fangsbestätigung zwar nicht verhindern, aber deren Ausnutzung enormerschweren. Die im Abschnitt 6.1 ermittelten Reaktionsmöglichkeiteneiner positiven, negativen oder keiner Empfangsbestätigung auf eineVerbindung sind geblieben. Der Durchsatz, der durch die Nutzung derEmpfangsbestätigungen zur Kommunikation einem potentiellen Angrei-fer zur Verfügung steht, konnte jedoch stark reduziert werden. DasNicht-Reagieren auf eine Verbindung, also ein Timeout, ist für den

Page 63: Unidirektionale Datenverbindungen zwischen virtualisierten ...

57

Durchsatz belastend, da die schwarze Seite zum Erkennen eines Time-outs zumindest eine überdurchschnittlich lange Zeit abwarten muss.Da mit dem in dieser Arbeit entwickelten NAK-Delay auch alle nega-tiven Empfangsbestätigungen vom Dioden-Prozess mit einer Zwangs-wartezeit versehen werden, kann die schwarze Seite noch schlech-ter zwischen negativen oder ausbleibenden Empfangsbestätigungenunterscheiden. Die schwarze Seite muss zumindest eine überdurch-schnittliche Zeit des NAK-Delay abwarten um zwischen Timeout undnegativer Empfangsbestätigung zu unterscheiden. In Verbindung mitder EOF-Sperre und der damit einhergehenden Serialisierung der Emp-fangsbestätigungen, muss die schwarze Seite zum Empfangen der ne-gativen und der darauffolgenden eventuell positiven Empfangsbestä-tigungen die gesamten vom Dioden-Prozess erzwungenen Wartezeitenverstreichen lassen. Bei zu vielen negativen Empfangsbestätigungen,die hintereinander in zu kurzer Zeit kommen, können diese Zeiten dannauch einen Timeout erreichen und die zuvor von der roten Seite kodier-ten positiven und negativen Bestätigungen als Timeout verschwinden.Durch die Wahl der Wartezeiten für negative Empfangsbestätigungensowie der Wahl des Timeout, kann der Durchsatz dieses Kommunika-tionsverfahrens beliebig gedrosselt werden, ohne dabei die reguläreund fehlerfreie Kommunikation beeinträchtigt wird.

Die restlichen Freiheitsgrade konnten nicht weiter eingeschränkt wer-den. Die Reaktionszeit auf Verbindungen der schwarzen Seite lässt sichweiterhin von einem potentiellen Angreifer ausnutzen. Ebenso bleibtdie Möglichkeit bestehen, über die Entscheidung der roten Seite Datenzu lesen oder nichts zu lesen mit der schwarzen Seite zu kommunizie-ren. Da diese beiden Verfahrensweisen nicht miteinander kombinier-bar sind, können sie jeweils nur einzeln betrachtet werden.

Page 64: Unidirektionale Datenverbindungen zwischen virtualisierten ...

58

0

500

1000

1500

2000

2500

3000

3500

4000

0 50 100 150 200 250

Bit/

Ver

bind

ung

Anzahl der Verbindung

EmpfangsbestaetigungReihenfolge

ReaktionszeitSumme

vorh. Summe

Abbildung 38: Verbleibender theoretischer Rückkanal im Verhältnis zuParallelen Verbindungen

8.2 Vergleich zur genugate-Datendiode

Da die in dieser Arbeit entwickelte logische Datendiode mit Teilen dergenugate-Datendiode kombiniert werden kann, werden die Rückkanä-le beider Dioden in diesem Kapitel miteinander vergleichen. Der Ver-gleich bezieht sich auf den Paketfilter der genugate-Datendiode sowieden in dieser Arbeit entwickelten Dioden-Prozess, ohne die unidirek-tionalen Relays.

8.2.1 Paketebene

Im Dokument [Meis07] werden die Rückkanalmöglichkeiten der genu-gate-Datendiode analysiert. In der Analyse wird die genugate-Daten-diode als ganzes mit den Relays betrachtet sowie auch nur der Paket-

Page 65: Unidirektionale Datenverbindungen zwischen virtualisierten ...

59

filter. Dabei wurde eine Bitrate von 14 Bit pro Paket für den Rückka-nal ermittelt. Diese Rate bezieht sich auf Pakete welche von rot nachschwarz als Antwort übertragen werden.

Source Port Destination Port

sequence number

acknowledgment number

data offset reserved U A P R S F window

checksum urgent pointer

options

Von der schwarzen Seite festgelegt und vom PFL kontolliert von der roten Seite beeinflussbar vom PFL vorbestimmt

0 Bit 16 Bit 32 Bit

Abbildung 39: Einfluss auf den TCP-Header

Die in [Meis07] ermittelte Bitrate der Antwortpakete ist in den Frei-heitsgraden des TCP-Protokolls begründet. Der roten Seite stehen ei-nige Felder im TCP-Header zur Verfügung in denen sie Informationenkodieren kann. Diese Felder sind in Abbildung 39 rot gekennzeichnet.Die schwarzen Felder wurden initial beim Verbindungsaufbau von derschwarzen Seite festgelegt, werden durch den Paketfilter überprüftund sind somit unveränderlich. Die blauen Felder werden vom Paket-filter durch die Erweiterung pf_oneway(9) [Bluhm07] auf vordefinier-te Werte festgelegt oder normalisiert. Einige der roten Felder werdenebenfalls vom Paketfilter soweit wie möglich normalisiert. Sie bietenaber weiterhin die Freiheitsgrade zur beliebigen Kodierung von Infor-mationen die zur Summe von 14 Bit pro Paket führen.

Connection ID

Service ID LengthType

0 Bit 32 Bit 64 Bit

Von der schwarzen Seite festgelegt und vom Dioden-Prozess kontolliert

Von der roten Seite beeinflussbar Vom Dioden-Prozess vorbestimmt

Abbildung 40: Einfluss auf den L4-Pipe-Header

Im direkten Vergleich dazu zeigt Abbildung 40 die gleichen Einfluss-möglichkeit auf den L4-Pipe-Header. Durch die Reduktion der Kom-plexität des Protokolls im Vergleich zu TCP, ergeben sich hier wesent-lich weniger Angriffsmöglichkeiten auf den Rückkanal. Der roten Seite

Page 66: Unidirektionale Datenverbindungen zwischen virtualisierten ...

60

bleibt auf Paketebene nur das Type-Feld, welches sie auf die Werte FINoder RST beziehungsweise RSP oder RST setzen kann. Je nach Kontextder Verbindung bleiben also nur zwei Antwortmöglichkeiten zwischendenen die rote Seite wählen kann. Somit ergibt sich auf Paketebeneein Rückkanal von einem Bit pro Paket.

8.2.2 Zeitebene

Im Dokument [Meis07] wird ebenfalls eine Abschätzung für einen Tim-ing-Channel der genugate-Datendiode gegeben. Bei einemTiming-Chan-nel werden Informationen wie im Abschnitt 6.5 erläutert mittelt Zeit-verzögerungen kodiert. Für die genugate-Datendiode wurde ein Wertvon 219,72 KiB pro Sekunde ermittelt.

Die Berechnung des Timing-Channels aus [Meis07] geht aus folgenderFormel hervor.

K = 1BitPaket

· Paket69Byte

· Byte8Bit

· 109Bits

≈ 1.8 · 106Bits

Diese Formel geht von zwei Symbolen auf dem Timing-Channel aus.Dieses bedeutet ein Symbol in Form eines schnellen Paketes sowie einSymbol in Form eines Paketes welches mit einer zeitlichen Verzöge-rung verschickt wurde. Somit ist der Empfänger in der Lage die beidenSymbole von einer zu unterscheiden. Für die beiden Symbole die einPaket repräsentieren kann, ergibt sich der Faktor 1Bit

Paket.

Da für diese Abschätzung das kleinste Zeitintervall, welches der Emp-fänger noch sicher unterscheiden kann, nicht sicher ermittelbar ist,wird dieses vernachlässigt. In der Formel aus [Meis07] wird zur Be-rechnung des Timing-Channels die durchschnittlichen Paketrate daherauf den Wert der maximal möglichen Paketrate gesetzt. Die maximalePaketrate berechnet sich aus der Größe des TCP-Pakets (TCP-Header+ IP-Header + Ethernet-Frame) und der größtmöglichen Geschwindig-keit des Übertragungskanals. Somit ergibt sich für ein TCP-Paket vonmindestens 69 Byte und einem Netzwerkverbindung von einem GBitpro Sekunde der Faktor Paket

69Byte· Byte8Bit

· 109Bits

. In einem realen Szenario wirddieser Wert nie erreicht, da ein Teil der Pakete mit einer künstlichenVerzögerung verschickt wird und damit die durchschnittliche Paketra-te immer unter der Maximalrate liegt.

Für eine vergleichende Abschätzung des Timing-Channels für das indieser Arbeit entwickelte Datendioden-Protokoll kann diese Formel eben-

Page 67: Unidirektionale Datenverbindungen zwischen virtualisierten ...

61

falls verwendet werden. Dafür müssen die Werte der Paketgröße sowieder Geschwindigkeit des Übertragungskanals angepasst werden.

Der Paket-Header des Dioden-Protokolls (siehe Abschnitt 7.4) hat eineGröße von 16 Bytes.

Die Benennung einer maximalen Übertragungskapazität gestaltet sichan dieser Stelle etwas schwieriger. Im Gegensatz zu eine standardi-sierten GBit-Ethernet-Verbindung kann man für Shared-Memory kei-nen definierten Übertragungsraten angeben. Diese sind immer abhän-gig von der verwendeten Hardware sowie Software. Eine veränder-te neuere Hardware mit schnelleren Bus-Takten oder ein verbesserterScheduling-Algorithmus der Betriebssystems kann die Geschwindig-keit einer Shared-Memory-Kommunikation beeinflussen. Daher wirdan dieser Stelle mit einem Messwert der L4-Pipe weiter gerechnet.

/dev/l4pipe0dd(1) /dev/l4pipe0 dd(1)

shared memoryL4OpenBSDUserland UserlandL4OpenBSD

Abbildung 41: Messstrecke zur L4-Pipe

Ermittelt wurde dieser Messwert mir einer einfachen L4-Pipe-Verbin-dung zwischen zwei L4OpenBSD-Instanzen (siehe Abbildung 41). DasUNIX-Programm dd(1)wird dazu benutzt die Daten vom virtuellen Ge-rät /dev/zero über die L4-Gerätedatei /dev/l4pipe0 in die L4-Pipezu kopieren. Auf der anderen Seite werden die empfangenden Datenebenfalls mit dem Programm dd(1) aus der L4-Pipe herauskopiert undüber das virtuelle Device /dev/null verworfen. Nach dem manuellenAbbruch des sendenden dd(1)-Programms, zeigt dieses eine durch-schnittliche Übertragungsrate von 83.294.347 Bytes pro Sekunde an.Durchgeführt wurde diese Messung auf einer genugate-800 Standard-Hardware8.

Setzt man die Paketgröße sowie die gemessenenÜbertragungsgeschwin-digkeit in die Formel ein, ergbit sich für die in dieser Arbeit entwickelte

8Die Hardware mit der Bezeichnung genugate-800 Rev. 6 ist die leistungsfähigsteHardware mit der Produkte von genua ausgeliefert werden. Diese Hardware-Klasseentspricht folgender Leistungsdaten: 2x Intel Xeon X5672, 4 Cores, 3.2GHz per core,6*4GB DDR3-RAM

Page 68: Unidirektionale Datenverbindungen zwischen virtualisierten ...

62

Datendioden ein Timing-Channel von ca. 622 KiB pro Sekunde.

K = 1BitPaket

· Paket16Byte

· Byte8Bit

· 6.6 · 108Bits

≈ 5.1 · 106Bits

Durch den kleineren Header ist der Wert an dieser Stelle um den Fak-tor 2,8 größer. Dieser Wert lässt sich durch eine künstliche Reduktionder Übertragungsgeschwindigkeit ebenfalls auf einen beliebigen Wertreduzieren. Der Anwender der Datendiode muss hier ein für ihn akzep-tables Verhältnis zwischen Durchsatz und Rückkanal finden.

0

1

2

3

4

5

6

7

8

1 10 100 1000

MB

it/s

Übertragungsgeschwindigkeit in MBit/s

Timing-Channel

Abbildung 42: Verhältnis von Übertragungskanal und Timing-Channel

Page 69: Unidirektionale Datenverbindungen zwischen virtualisierten ...

63

9 Fazit und Ausblick

Dieses Kapitel fasst die Ergebnisse dieser Arbeit noch einmal zusam-men und gibt einen Ausblick auf noch offene Fragen, welche in zukünf-tigen Arbeiten geklärt werden sollten.

9.1 Ergebnisse

Durch die Entwicklung der Mechanismen EOF-Blocking sowie NAK-Delay wurde ein Dioden-Protokoll geschaffen, welches diesen Bereichder Rückkanäle für einen Angreifer unbenutzbar macht. Diese Verfah-ren erhöhen die Sicherheit des Datendioden-Protokolls ohne dabei di-rekt auf den Datendurchsatz des Übertragungskanals negative einzu-wirken. Mit dem entwickelten Response-Polling-Verfahren konnte eineschnelle Rückmeldung von Übertragungsproblemen an die schwarzeSeite erreicht werden, ohne dadurch einen großeren Rückkanal fürden Angreifer zu schaffen. Zudem hat die Erweiterung des L4-Pipe-Protokolls um das Service-ID-Feld dazu geführt, dass mehre Diensteparallel über das Dioden-Protokoll angesprochen werden können. Die-ses verhinderte eine unnötige Vergrößerung des Rückkanals, welcherdurch den Einsatz von mehren parallelen Datendioden entstanden wä-re.

Das in dieser Arbeit entwickelte Datendioden-Protokoll führt zu ei-ner logischen Datendiode, welche die genugate-Datendioden hervor-ragend ergänzt. Das im Umfeld dieser entstehende Produkt, die soge-nannte L4-Diode, erlaubt eine Kombination mit der genugate-Datendi-ode, indem es den Paketfilter zwischen den unidirektionalen Relays er-setzt. Dadurch werden die TCP-Verbindungen zwischen den Relays ander L4-Diode terminiert und der in [Meis07] ermittelte Rückkanal aufden verbleibenden Rückkanal des in dieser Arbeit entwickelten Proto-kolls reduziert (siehe Abschnitt 8).

9.2 Ausblick

Auch wenn diese Arbeit Antworten auf einige Rückkanalprobleme fin-den konnte, bleiben andere Problemstellungen weiter unbeantwortet.Zum einen konnte die Analyse des Timing-Channel aus Abschnitt 8.2.2

Page 70: Unidirektionale Datenverbindungen zwischen virtualisierten ...

64

zeigen, dass das hier noch ein großes Potential für einen Covert-Channelverbleibt. Momentan kann man darauf nur mit einer Drosslung der ge-samten Übertragungsgeschwindigkeit reagieren. Zukünftige Arbeitenin diesem Feld könnten diese Art des Rückkanals genauer betrachtenum eventuell Alternativen zur Drosselung der gesamt Geschwindigkeitzu finden. So wäre es denkbar vor dem Versenden von Empfangsbestä-tigungen eine zusätzliche und zufällige Wartezeit zerstreichen zu las-sen um den Timing-Channel zu stören. Diese würde zu einer Vergröße-rung der kleinsten sicher zu erkennenden Zeitintervalle führen unddamit zu einer Einschränkung des Rückkanal. Alternativ würden festeZeitintervalle, zu denen Empfangsbestätigungen versendt werden, da-zu führen, dass eine künstliche Untergrenze für die kleinsten sicher zuunterscheidenen Zeitintervalle festlegt wird. Diese und andere Mass-nahmen müssten zukünftigen Arbeiten weiter untersucht werden.

Ein anderer Bereich, welcher in dieser Arbeit unbetrachtet blieb, sindsogenannte Seitenkanäle. Da sich die beiden voneinander separiertenL4OpenBSD-Instanzen auf einer physischen Hardware befinden mussuntersucht werden, in wieweit dieses ohne direkte Interaktion via IPCskommunizieren könnten.

Page 71: Unidirektionale Datenverbindungen zwischen virtualisierten ...

65

10 Thesen

• Die Reduktion der Freiheitsgrade in der Kommunikation der rotenSeite einer Datendiode, ist eine wirksame Vorgehensweise, um denRückkanal für Angreifer zu reduzieren.

• Ohne einen Rückkanal kann es keine zuverlässige Kommunikationgeben.

• Sobald die rote Seite keinen Einfluss auf die Empfangsbestätigungender schwarzen Seite hat, kann einen zuverlässige Kommunikationnicht gewährleistet werden.

• Forward-Error-Correction bietet keine ausreichende Zuverlässigkeitin einer unidirektionalen Kommunikation.

Page 72: Unidirektionale Datenverbindungen zwischen virtualisierten ...

66

11 Literatur

11.1 Literatur

[1] [Bluhm07] Alexander Bluhm, „One Way TCP State inpf“, Interne Entwicklungsdokumentation, genua mbh,24. August 2007

[2] [BSIZ13] Zertifizierung des Bundesam-tes für Sicherheit in der Informati-onstechnik, https://www.bsi.bund.de/DE/-Themen/ZertifizierungundAnerkennung/-zertifizierungundanerkennung_node.html, Abgerufen:25. Juli 2013

[3] [CaSi09] Ludovic Piètre-Cambacédès und Pascal Sit-bon, „An Analysis of TwoNewDirections in Control Sys-tem Perimeter Security“, Electricité de France, Tele-com ParisTech – LTCI CNRS France, 10. Juni 2009

[4] [Davi05] Noopur Davis, „Secure Software DevelopmentLife Cycle Processes“, Carnegie Mellon University, 5.Juli 2006, https://buildsecurityin.us-cert.gov/articles/-knowledge/sdlc-process/secure-software-development-life-cycle-processes, Abgerufen: 31. Juli 2013

[5] [FEC] Wikipedia, „Vorwärtsfehlerkorrektur“, 3.April 2013 20:08 Uhr, http://de.wikipedia.org/wiki/-Vorwärtsfehlerkorrektur, Abgerufen: 22. August 2013

[6] [Fox07] Fox-IT, „Fort Fox Data Diode: A Preferred Solu-tion For High-Security Real-time Electronic Data Trans-fer Between Networks“, 25. Juni 2007

[7] [Hope10] James Hope, Jeffrey Menoher, Dennis P. Mi-rante und Ronald Mraz, „one-way data transfer systemwith built-in data verification mechanism“, US-Patent-Nr.: 7675867 B1, 9. März 2010

[8] [Jone06] D.W. Jones, „RS-232 - Data Diode Tutorialand Reference Manual“ - Draft, Univ. of Iowa, 28. Ju-

Page 73: Unidirektionale Datenverbindungen zwischen virtualisierten ...

67

li 2006 http://www.cs.uiowa.edu/~jones/voting/diode/-RS232tech.pdf, Abgerufen: 09. August 2013

[9] [Kang05] Myong H. Kang, Ira S. Moskowitz und StanleyChincheck, „The Pump: A Decade of Covert Fun“, 21stAnnual Computer Security Applications Conference,Dezember 2005

[10] [KM95] M.H. Kang and I.S. Moskowitz, „A Data Pumpfor Communication“ NRL Memo Report 5540-95-7771,29. September 1995

[11] [Ludw11] Christian Ludwig, Bachelorarbeit, „PortingOpenBSD to Fiasco“, 22. März 2011

[12] [McCo95] John Michael McConnell, „RED/BLACKInstallation Guidance“, 12 December 1995,http://cryptome.org/tempest-2-95.htm, Abgerufen:25. Juli 2013

[13] [Meis07] Roland Meister, „GeNUGate APA One WayGateway Covert Channel Analysis“, internes Doku-ment, genua mbh, CC−Revision: 1.3, 27. November2007

[14] [Rent05] Jonathan Rentzsch, „Data alignment:Straighten up and fly right“ 8. Februar 2005,http://www.ibm.com/developerworks/library/pa-dalign/, Abgerufen: 20. August 2013

[15] [RFC768] Jonathan Bruce Postel, „User Datagram Pro-tocol“, USC/Information Sciences Institute, 28. August1980

[16] [RFC793] „Transmission Control Protocol“, DARPAInternet Program, Protocol Specification, September1981

Page 74: Unidirektionale Datenverbindungen zwischen virtualisierten ...

68

12 Glossar

DoD

Das Department of Defense ist das Verteidigungsministerium derVereinigten Staaten.

Fiasco.OC

Implementation eines L4-Mikrokernels welcher an der UniversitätDresden entwickelt wird.

FIFO

Als First-In-First-Out werden Speicherkonstruktionen bezeichnetbei denen immer das älteste Element zuerst aus einer Liste ent-nommen wird. Die neusten Elemente werden dem entsprechendzuletzt entnommen.

FTP

Das File-Transfer-Protocol ist ein Netzwerkprotokoll für den Aus-tausch von Dateien zwischen Hosts.

genua

Die Gesellschaft für Netzwerk- und UNIX-Administration mbH istein Unternehmen in der nähe vonMünchen, welches Firewall- undVPN-Lösungen erstellt.

Hash

Ein Hash (auch Hash-Wert genannt) ist das Ergebnis einer Hash-oder Streuwertfunktion. Dieses sind Einwegfunktionen, die leichtzu berechnen aber nur schwer umzukehren sind.

IPC

Als Inter-Process-Communication werden alle Kommunikations-medien bezeichnet, welche den Austausch von Informationen zwi-schen zwei Prozessen ermöglicht.

KiB

IEC-Symbol für Kibibyte (entspricht 1024 Byte)

Page 75: Unidirektionale Datenverbindungen zwischen virtualisierten ...

69

NRL

Das Naval-Research-Laboratory ist eine Forschungseinrichtungder U.S.-Marine.

NSA

Die National-Security-Agency ist eine Nachrichtendienst der Ver-einigten Staten, welcher sich vorrangig mit elektronischer Kom-munikation beschäftigt.

PAP

Ein Programmablaufplan (auch Flussdiagramm genannt) ist einGraph, welcher den Ablauf einen Computer-Programms darstellt.Diese Darstellungsform wird zur Visualisierung von Algorithmenverwendet und ist im Standard DIN 66001 definiert.

Paravirtualisierung

Die Paravirtualisierung simuliert kein Komplettes Rechnersystem,sondern bietet den Gastsystemen Schnittstellen bereit. Dahermüs-sen Gastsysteme immer speziell für das Hosts-System angepasstwerden.

PF

Der Packet-Filter ist die OpenBSD Standard-Firewall. Sie ist Teildes OpenBSD-Kernels und filtert Netzwerkverkehr auf den OSI-Schichten drei bis vier.

POSIX

Das Portable-Operating-System-Interface ist ein Standard der dieBetriebssystemschnittstelle von Anwendungen vereinheitlicht.

Salted-Hash

Ein Salted-Hash ist ein Hash, bei dem vor der Hash-Operation demKlartext ein Zufallswert angehängt wird. Dem darauf Entstehen-den Hash wird dieser Zufallswert ebenfalls angehängt, damit erspäter mit dem selben Klartext wieder verglichen werden kann.Dieses Verfahren wird angewandt um das Vorberechnen von Klar-texten in Hash-Tabellen zu verhindern.

Page 76: Unidirektionale Datenverbindungen zwischen virtualisierten ...

70

SMB

Das Server-Message-Block-Protokoll ist ein Netzwerkprotokoll wel-ches unter anderem für die Übertragung von Dateien verwendetwird.

SMTP

Das Simple Mail Transfer Protocol ist ein Netzwerkprotokoll fürdas Versenden von Nachrichten zwischen verschiedenen Hosts.

TCP

Das Transmission-Control-Protocol ist ein verbindungsorientier-tes Netzwerkprotokoll der OSI-Schicht vier.

THP

Der Trusted-High-Process ist ein Prozess welcher zwischen derroten Seite und dem internen Puffer in der NRL-Pump vermittelt.Dieser Prozess liest ausschließlich Daten aus dem Puffen sendetsie ein Ziel im roten Netz.

TLP

Der Trusted-Low-Process ist ein Prozess welcher zwischen derschwarze Seite und dem internen Puffer in der NRL-Pimp vermit-telt. Dieser Prozess schreibt nur in den internen Puffer.

UDP

Das User-Datagram-Protocol ist ein verbindungsloses Netzwerk-protokoll der OSI-Schicht vier.

VPN

Virtual-Private-Networks sind geschlossene Netzwerkverbindun-gen welche durch öffentliche oder unsichere Netzwerkverbindun-gen verschlüsselt übertragen werden.