Frage:
Wie kann ich Daten aus einem privaten Netzwerk veröffentlichen, ohne einen bidirektionalen Link zu einem anderen Netzwerk hinzuzufügen?
Klamann
2016-12-18 18:19:00 UTC
view on stackexchange narkive permalink

Ich habe mich nur gefragt, wie ich ein privates Netzwerk aufbauen kann, in dem es physisch unmöglich ist, Zugriff von außen zu erhalten, aber dennoch die Möglichkeit hat, Daten auf einem Remote-Server zu veröffentlichen. Als Beispiel: Nehmen wir an, ich habe ein Netzwerk von Geräten, die eine kritische Infrastruktur steuern, und ich möchte nicht, dass jemand darauf zugreifen kann, außer den Personen vor Ort. Ich würde jedoch weiterhin Diagnoseinformationen ohne nennenswerte Verzögerung an einen Remote-Server senden, auf den über das Internet zugegriffen werden kann.

Annahmen über den Angreifer:

  • können fehlerhaft sein In jedem System, das mit dem Internet verbunden ist, hat
  • keinen physischen Zugriff auf das private Netzwerk.

Wir können also nicht einfach einen Server installieren, der als Firewall fungiert zwischen dem öffentlichen und dem privaten Netzwerk, da jede Software Fehler aufweist und der Angreifer Zugriff auf das private Netzwerk erhält, sobald die Firewall beschädigt wurde (außer wenn wir eine Firewall hatten, in der die Regeln in Hardware eingebettet sind oder aus einem anderen Grund unmöglich) Ohne physischen Zugriff geändert werden. Gibt es solche Geräte?)

Was das Problem lösen könnte, ist ein Gerät, das physisch nur unidirektionale Kommunikation zulässt (in unserem Fall vom privaten zum öffentlichen Netzwerk). Ich weiß nicht, ob es solche Geräte gibt, aber ich hatte einige Ideen:

  • Verwenden Sie alle Arten von Nur-Schreib-Medien wie CD-ROMs. Probleme: Hohe Latenz und spezielle Hardware zum automatischen Verschieben von CDs zwischen Computern.
  • Einrichtung des Papierdruckers / Scanners: Verfügen Sie über einen Drucker in Ihrem privaten Netzwerk, der direkt in einen Scanner eingespeist wird, der mit dem öffentlichen Netzwerk verbunden ist. Die Latenz wurde auf wenige Sekunden reduziert, ist jedoch aufgrund von OCR fehleranfällig.
  • Glasfaserkommunikation: Entfernen Sie auf der Seite des Empfängers den optischen Sender physisch (oder entfernen Sie den Empfänger auf der anderen Seite), daher ist nur eine unidirektionale Kommunikation möglich. Funktioniert wahrscheinlich nicht mit Ethernet (gibt es Netzwerkprotokolle, die die unidirektionale Kommunikation ordnungsgemäß verarbeiten?)

Bevor ich mich weiter zum Narren mache, weil ich die offensichtliche Lösung verpasst habe Ich würde gerne Ihre Kommentare dazu hören :)

[wikipedia: Unidirektionales Netzwerk] (https://en.wikipedia.org/wiki/Unidirectional_network), [Datendioden: Supersicherheit oder Superschmerz?] (http://www.securityweek.com/data-diodes-super-Sicherheit oder Superschmerz), ... - Schlüsselwörter sind unidirektionale Kommunikation, Datendioden und ähnliches.
Eine serielle Schnittstelle mit nur einer der Datenleitungen (plus Masse) würde einwandfrei funktionieren.
"In Hardware eingebettete Regeln" ist wahrscheinlich immer noch Software.
Geschlossene TCP-Ports scheinen die meisten Angriffe zu blockieren, aber Sie haben diese Option abgelehnt.
Die OCR-Sache wird nicht unbedingt benötigt.Sie können QR-Code oder eine andere solche Codierungsmethode zur Fehlererkennung verwenden, um Maschinen das Lesen anstelle von Buchstaben zu erleichtern.
Über "In Hardware eingebettete Regeln": Ich habe an PROMs gedacht, die nur geändert werden können, wenn Sie physischen Zugriff haben.Ich bin mir nicht sicher, ob das Sie ausreichend vor Eindringlingen schützen würde ... Und ich mag die Idee, QR-Codes zu verwenden, obwohl das Drucker- / Scanner-Setup irgendwie archaisch erscheint;)
Fragen Sie den Informationssicherheitsbeauftragten Ihres Kunden, was er akzeptiert.Einige zögern wirklich, Systeme zu akzeptieren, die nicht von anderen überprüft wurden.Es gibt Firmen, die sich darauf spezialisiert haben, unidirektionale und bidirektionale Wachen für genau diese Situationen herzustellen.
Sieben antworten:
#1
+37
André Borie
2016-12-18 23:02:55 UTC
view on stackexchange narkive permalink

Sie können eine serielle Schnittstelle verwenden. Standardmäßig gibt es zwei Datenleitungen, eine pro Richtung, plus ein Erdungskabel (was hier irrelevant ist). Durch Trennen der entsprechenden Leitung können Sie die Kommunikation in eine bestimmte Richtung verhindern.

Es ist wirklich einfach, sie zu verwenden. Ich denke, Sie können auf der sehr einfachen Ebene so etwas wie echo hello >> / dev / ttyS0 ausführen und erhalten Sie es mit cat / dev / ttyS0 auf der anderen Seite. Es gibt keinen komplizierten Netzwerkstapel, der umgangen werden könnte (was eine unidirektionale Kommunikation verhindern würde, da die fehlende Antwort als Paketverlust behandelt würde), und die meisten Sprachen haben einfach zu verwendende Bibliotheken, um über serielle Schnittstellen zu kommunizieren.

Hier ist eine Beispiel in Python zum Senden von JSON über Seriennummer:

  Seriennummer importieren, jsons = serial.Serial ('/ dev / ttyUSB0') data = json.dumps ({"status": " OK "," Betriebszeit ": 60}). Codieren (" utf-8 ") # UTF-8-codierte JSONs.write (Daten +" \ n ") # JSON über seriell mit einem Zeilenumbruch am Ende senden  
Kommentare sind nicht für eine ausführliche Diskussion gedacht.Diese Konversation wurde [in den Chat verschoben] (http://chat.stackexchange.com/rooms/50340/discussion-on-answer-by-andre-borie-how-can-i-publish-data-from-a-private-networ).
#2
+16
Klamann
2016-12-18 18:49:17 UTC
view on stackexchange narkive permalink

Ich finde es toll, wie sehr sich meine Suchleistung erhöht, sobald ich mit dem Posten meiner Frage fertig bin. D

Wikipedia zur Rettung:

  • " Sneakernet ist ein informeller Begriff, der die Übertragung elektronischer Informationen durch physisches Verschieben von Medien (...) von einem Computer zu einem anderen beschreibt, anstatt die Informationen über ein Computernetzwerk zu übertragen. "
  • " A unidirektionales Netzwerk (auch als unidirektionales Sicherheitsgateway oder Datendiode bezeichnet) ist ein Netzwerkgerät oder -gerät, mit dem Daten nur in eine Richtung übertragen werden können, um die Informationssicherheit zu gewährleisten. "
  • " Ein Luftspalt, eine Luftwand oder ein Luftspalt ist eine Netzwerksicherheitsmaßnahme, die auf einem oder mehreren Computern angewendet wird, um sicherzustellen, dass ein sicheres Computernetzwerk physisch von ungesicherten Netzwerken isoliert ist. "
  • siehe auch : Air Gap Malware

Und es gibt tatsächlich Unternehmen, die gehackte Glasfaser-Netzwerkverbindungen verkaufen. Sie mussten ihre eigenen Netzwerkprotokolle entwickeln, obwohl ich bisher keine Spezifikationen zu diesen finden konnte ...

["Es stellt sich heraus, dass es immer einen Idioten gibt, der nicht viel über den USB-Stick in der Hand nachdenkt"] (http://mashable.com/2012/06/01/stuxnet-thumb-drive/).Dies wurde angeblich in Bezug auf [diesen Angriff] (https://en.wikipedia.org/wiki/Stuxnet) auf eine "unerreichbare Installation" gesagt.
Ja, der Schutz Ihres Systems vor physischem Zugriff / Social Engineering ist ein ganz anderes Problem und so gut wie unmöglich.Aber Airgapping schützt Sie vor jeder Art von Infektion, die sich über das Internet ausbreitet.Während Sie also (mit erheblichem Aufwand) immer noch in einzelne Systeme eindringen können, ist es sehr schwierig, einen groß angelegten Angriff auf räumlich verteilte Infrastrukturen (z. B. Stromnetze, Rechenzentren usw.) zu starten.
Ich bin der Meinung, dass die Diskussion nur dadurch gewinnt, dass der Angriff der "weltweit ersten Cyberwaffe" auf eine Luftspaltanlage erwähnt wird.
#3
+6
Peteris
2016-12-18 20:39:45 UTC
view on stackexchange narkive permalink

Ethernet

Allgemeines 100-MBit-Ethernet kann durch Abschneiden einiger Drähte leicht physisch unidirektional gemacht werden. Die Standard-Netzwerkprotokolle erfordern eine bidirektionale Kommunikation und stellen sicher, dass in einem unidirektionalen Netzwerk keine Zustellung möglich ist (da der Absender keine Bestätigung erhalten kann, wenn eine Nachricht empfangen wurde oder verloren gegangen ist), aber Sie können auf jeden Fall selbst einen kleinen benutzerdefinierten Netzwerkstapel schreiben - eine App auf der einen Seite das Senden der Daten (möglicherweise Duplizieren jeder Nachricht und einschließlich Prüfsummen, die eine Fehlerbehebung ermöglichen) als rohe Ethernet-Frames; und eine App auf der anderen Seite, die einen Datenstrom daraus zusammenstellt. Es sind Bibliotheken auf relativ hoher Ebene verfügbar, um mit solchen Daten zu arbeiten, z. http://www.secdev.org/projects/scapy/.

Es wird nicht sofort funktionieren, aber es könnte auch nicht so schwer sein innerhalb der Grenzen eines College-Hausaufgabenprojekts.

Ich frage mich, ob das Abschneiden einiger Drähte eine echte unidirektionale Kommunikation ermöglichen würde (d. H. Es ist unmöglich, in die andere Richtung zu kommunizieren).Soweit ich mich erinnere, hat Ethernet nicht für jede Richtung separate Kanäle (deshalb benötigen wir CSMA), und selbst wenn wir separate Kanäle hätten, könnten wir theoretisch immer noch den "Lese" -Kanal verwenden, um Daten zu schreiben und Sicherheitsprobleme auf der anderen Seite auszunutzen.All dies ist bei optischen Fasern kein Problem.
@SDsolar ist nicht mit dem vollständigen Ethernet-Protokoll kompatibel, daher funktioniert es nicht sofort, aber ich meine, dass dies mit handelsüblicher Ethernet-Hardware möglich ist.Die Sender- und Empfängeranwendungen können ein Ethernet-ähnliches Protokoll verwenden, indem sie Ethernet-Frames über dieselben Ethernet-Geräte, -Anschlüsse und -Kabel senden, ohne jedoch Bestätigungen zu verwenden oder zu benötigen.
Wenn das Kabel keine Kabel für die Kommunikation in beide Richtungen hat, werden Sie wahrscheinlich nie in der Lage sein, Ethernet-Hardware an beiden Enden zu erhalten, um die hergestellte Verbindung zu berücksichtigen.Ich denke nicht, dass es möglich wäre, Daten durch ein solches Konstrukt zu erhalten.
@kasperd Sie können sicherlich Standard-Ethernet-Karten verwenden, um Ethernet-Kabel zu hören, bei denen die Hälfte der Drähte fehlt.https://greatscottgadgets.com/throwingstar/ und Überwachen der empfangenen Daten mit beispielsweise Wireshark.Ich habe nicht versucht zu senden, aber es sollte möglich sein - Ethernet hat keine zustandsbehafteten "hergestellten Verbindungen", Sie können beliebige Daten "ins Leere" übertragen, wenn Sie möchten.Sie können den OS-Netzwerkstapel nicht für eine korrekte OSI-Schicht-2/3-Verbindung verwenden, aber Sie können die Ethernet-Hardware verwenden, um die physische Schicht für Sie zu verwalten und die Rohrahmen in Ihrem Code zu übertragen oder zu erfassen.
@Peteris Es gibt sicher einen Verbindungsstatus.Wenn Sie ein Kabel zwischen zwei Ethernet-Geräten anschließen, geben diese eine Verbindungsgeschwindigkeit aus und leuchten auf, um anzuzeigen, welche Geschwindigkeit ausgehandelt wurde.(Wie detaillierte Informationen Sie von diesen LEDs erhalten, hängt von der genauen Hardware ab.)
@kasperd, soweit ich weiß, ist dies (Autonegotiation) eine "neue" (erst seit 1995) Ergänzung des Standards, die nur für Gigabit-Ethernet obligatorisch und für 10/100-Mbit-Verbindungen optional ist.Die gesamte Hardware sollte jedoch auch mit dem alten 10-BASET-Modus "dumm" funktionieren. Wenn auf diese Aushandlung keine Antwort eingeht, ist dies auch ein gültiger Betriebsmodus.Aber das ist schwierig und könnte sein, dass es nicht funktioniert, vielleicht muss ich es in der Praxis versuchen.
@Klamann, CSMA-CD wird nur mit Broadcast-Ethernet (Koaxial, WLAN und Twisted-Pair, wenn Hubs anstelle von Switches verwendet werden) benötigt. 10-Megabit- und 100-Megabit-Ethernet verwenden ein Paar zum Senden und das andere zum Empfangen, obwohl neuere Hardware diese austauschen kannrund, wodurch die Notwendigkeit von Crossover-Kabeln entfällt und die Einrichtung einer unidirektionalen Verbindung wahrscheinlich erschwert wird.
@kasperd Sie können Ethernet ohne automatische Verhandlung verwenden.Stellen Sie einfach auf beiden Seiten die gleiche Geschwindigkeit ein.
Das Knifflige ist, dass die meisten Ethernet-Schnittstellen auch im Vollduplex-Modus ohne Autonegotiation und ohne Auto-MDIX eine Überwachung des Verbindungsstatus durchführen.Sie müssten entweder einen Weg finden, um diese Überwachung zu deaktivieren, oder einen Weg finden, um zu glauben, dass der Link aktiv ist.
@Jasen: Twisted-Pair-Ethernet-Hardware unterstützt weiterhin diesen CSMA-CD-Modus mit bidirektionaler Halbduplex-Kommunikation über ein einzelnes Paar.Sie benötigen ein nicht standardmäßiges Kabel, um zu verhindern, dass Ihre Verbindung trivial neu konfiguriert wird, um Daten zurück in den Upstream zu übertragen.
-1 Da der erste Satz dieser Antwort falsch ist, beschränkt das Abschneiden dieser Drähte die Verbindung physisch auf Halbduplex, aber nicht unidirektional.
#4
+2
curious_cat
2016-12-19 18:15:20 UTC
view on stackexchange narkive permalink

Einige Ideen:

  • Was ist mit so etwas wie dem elektrischen Kobold?

https://electricimp.com/aboutus/faq /

Es scheint eine kleine Optodiode für die Kommunikation zu verwenden.

  • Oder was ist mit dieser Javascript-Bibliothek, die Ultraschallgeräusche verwendet, die von Ihrem Lautsprecher ausgehen. Stellen Sie einfach ein Mikrofon, aber keinen Lautsprecher auf das Empfangsgerät?

https://github.com/borismus/sonicnet.js

  • Hier ist eine Live-Implementierung der Off-Channel-Methode zur unidirektionalen Kommunikation:

https://youtu.be/w6lRq5spQmc

Anscheinend verwendet der Google Chromecast einen Teil davon. Das könnte also ein fruchtbarer Codestack zum Stöbern sein. Obwohl nicht für Sicherheitsanwendungen, aber dennoch relevant.

  • Sehen Sie sich die Technologie hinter der Infosound-Plattform von Yamaha an. Auch dies scheint eine unidirektionale Kommunikation über einen lauten Kanal zu sein:

https://play.google.com/store/apps/details?id=com.yamaha.android.infosoundbrowser&hl= de

Natürlich hängt alles davon ab, welche Bandbreite Sie benötigen.

Ich denke, Sie meinten "setzen Sie einen Lautsprecher, aber kein Mikrofon auf die Sendemaschine".Das Empfangsgerät kann immer Ton erzeugen.Dies ist auch viel langsamer als ein UART.
Es gibt keinen Grund, einen Lautsprecher und ein Mikrofon zu verwenden.Der Audioausgang sendet ein analoges Signal, das direkt mit dem Audioeingang eines anderen Geräts verbunden werden kann.Die Verwendung eines Lautsprechers zur Wiedergabe von Ultraschall kann einen Hund möglicherweise stören.
@LieRyan "potenziell einen Hund nerven" Bug oder Feature?!:) :)
#5
+2
Lie Ryan
2016-12-19 22:34:23 UTC
view on stackexchange narkive permalink

Alle Protokolle, die eine garantierte Zustellung erfordern, erfordern eine bidirektionale Kommunikation .

Ein unidirektionaler Kommunikationskanal muss entweder:

  1. eine zuverlässige Zustellung opfern oder
  2. einen Rückweg haben, um Bestätigungen zurückzugeben.
  3. ol>

    Mit der 3,5-mm-Audiobuchse kann eine einfache Implementierung der unidirektionalen Zustellung durchgeführt werden. Mit einem Softwaremodulator konvertieren Sie Oktettdaten in eine Audiodatei und spielen den Sound über einen Audioausgang ab. Sie würden diesen Audioausgang über eine TRS-Audiobuchse von Stecker zu Stecker mit dem Audioeingang eines anderen Computers verbinden. Auf dem anderen Computer verwenden Sie einen Software-Demodulator, um den Ton wieder in Oktettdaten zu interpretieren. Zu diesem Zeitpunkt verfügen Sie über ein grundlegendes Softwaremodem.

    Wenn Sie keine zuverlässige Zustellung benötigen, ist dies ausreichend.

    Wenn Sie eine zuverlässige Zustellung wünschen müssen Sie einen Rückweg hinzufügen, um Übermittlungsbelege (ACKs) in einem einfachen TCP-ähnlichen Stapel zu übertragen. Der Absender sollte das Datenpaket senden und dann auf eine ACK warten, bevor er das nächste Datenpaket sendet. Wenn nach einer festgelegten Zeit keine solche ACK empfangen wird, sollte der Absender die Daten erneut senden. Der Rückweg kann ein einfacher Piepton auf einer anderen Audio-Leitung sein.

    Wenn Sie keinen hohen Durchsatz benötigen, ist dies ausreichend.

    Wenn Sie einen hohen Durchsatz wünschen, benötigen Sie diesen um ein Sendefenster hinzuzufügen. An dieser Stelle möchten Sie wahrscheinlich eine Softwareimplementierung eines TCP-Stacks ändern.

Es gibt Möglichkeiten, Fehler ohne Rückmeldung zu mindern. Weitere Informationen finden Sie im gesamten Bereich der Elektrotechnik mit der Bezeichnung "Vorwärtsfehlerkorrektur".Sie haben Recht, dass dies immer noch keine Garantie für die Lieferung ist ... aber Feedback kann die Lieferung auch nicht innerhalb eines begrenzten Zeitraums garantieren, sondern informiert Sie nur über Fehler.
@BenVoigt: Die Vorwärtsfehlerkorrektur kann Übertragungsfehler (umgedrehte Bits) beheben, jedoch nicht die Situation, in der die Kabel vorübergehend getrennt werden.Ein Rückkopplungsmechanismus ist erforderlich, um eine vorübergehende Unterbrechung selbst zu beheben.Aber ja, ich stimme zu, dass nichts die Lieferung garantieren kann, wenn die Kabel dauerhaft getrennt sind.Ich stimme jedoch zu, dass FEC nützlich ist, sie sollten im Modulations- / Demodulationsschritt in meiner Antwort durchgeführt werden.
#6
+1
SDsolar
2016-12-18 22:06:01 UTC
view on stackexchange narkive permalink

Wenn Ihr Entwicklungs- (oder Produktions-) Netzwerk wirklich lückenhaft ist, besteht eine Option darin, einen Opfer-PC im Internet zu haben, über den Sie mit Ihrem Hosting-Service kommunizieren können.

Sie können Sneakernet verwenden, um Dateien, die hochgeladen werden müssen, und dann SSH mit FileZilla oder einem gleichwertigen Element auf Ihren Host zu verschieben.

Der Opfer-PC sollte vor der Verbindung mit dem Internet abgebildet werden (mit Macrium oder Acronis oder einem gleichwertigen Gerät), damit Sie ihn jederzeit in einen bekannten, guten Zustand zurückversetzen können.

Es gibt Geschichten von Computern, die innerhalb von Minuten nach der Verbindung mit dem Internet untersucht und / oder gehackt werden. Ein anständiger NAT-Router bietet Ihnen also mindestens eine Schutzstufe. Deaktivieren Sie natürlich uPnP.

Wenn Sie wirklich paranoid sind, können Sie das bekannte, gute Image dieses PCs jedes Mal wiederherstellen, wenn Sie Dateien darauf verschieben. Einige Malware kann über einen USB-Speicher wieder ins Innere gelangen. Wenn dieser PC kompromittiert wird, können Sie das nicht verbundene Netzwerk infizieren.

Eine Maxime lautet, dass die höchsten Bäume zuerst für ihr Holz gefällt werden. Wenn Sie also ein hochwertiges Ziel mit einem hoch entwickelten Angreifer sind, können Sie pwned werden.

Alles in allem ist E-Mail nach außen wahrscheinlich Ihre größte Gefahr, da Ihre PCs diesen Inhalt buchstäblich nach innen einladen. Es ist immer noch unidirektional in dem Sinne, dass Ihre Computer den Kontakt mit dem Mailserver initiieren. So können Würmer ferngehalten werden, aber keine Spear-Phishing-Angriffe.

- BEARBEITEN: @Gilsham schlägt vor, für die Übertragung eine Live-CD zu verwenden. Das ist eine großartige Idee.

Als ich Kali Sana (basierend auf Debian) verwendete, erlaubte es eine LiveCD im "persistenten" Modus, sodass Sie damit die Datei auf der CD speichern und dann auf dem Opfer-PC starten konnten. Führen Sie den Upload durch und zerstören Sie die CD.

Wenn Sie den permanenten Modus nicht verwenden, verwenden Sie nur eine LiveCD (schreibgeschützt) und lassen Sie die Datei (en) auf einer anderen CD-ROM einhängen.

Das wäre wirklich unidirektional.

Sie sagten "NAT-Router", aber ich denke, Sie meinen "Firewall".Dies ist nicht genau das Gleiche.
Wahr genug.Auch die Preise sind nicht ganz gleich.Als ich das letzte Mal eine echte Firewall gekauft habe, war es die Checkpoint Firewall-1 und kostete mehr als 20.000 US-Dollar.NAT-Router sind zwar nicht die gleichen, aber für einen Opfercomputer viel kostengünstiger.Ich wäre wahrscheinlich auf der paranoiden Seite und würde das bekanntermaßen gute Image wiederherstellen, bevor ich den Computer jedes Mal benutze.Oder lassen Sie es zwischen den Anwendungen ausgeschaltet.
Warum nicht beide eine Live-CD benutzen?
Das ist die bisher beste Idee, @Gilsham.Wenn Sie dies als vollständige Antwort ausarbeiten, werde ich meine Bearbeitung zurücksetzen (und diesen Kommentar löschen) und Sie positiv bewerten.Du verdienst es.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...