Realistische „Hacks“, die Programmierer in einem brandneuen FTL-Kommunikationssystem ausnutzen können, das nicht sicher geschrieben wurde?

In meiner Welt hatte eine Firma ein Monopol auf FTL-Kommunikation und stellte in jedem bewohnten System große Leuchtfeuer her. Dieses Unternehmen hat daran gearbeitet, zu verhindern, dass kleinere FTL-Kommunikationen möglich waren, um sein Monopol zu sichern.

Die Ansibles des Systems funktionieren, indem sie einen fest codierten Standort und eine Kennung für jede Kommunikation haben, die verwendet wurden, um sie zu sichern. Sie akzeptieren nur Nachrichten von bekannten Ansibles und sind im Allgemeinen sicher, da das Unternehmen jeden Knoten reguliert.

Kleinere Ansibles an Bord wurden zu einem bestimmten Zeitpunkt als Proof-of-Concepts innerhalb des Unternehmens gebaut, nur um begraben zu werden, als entschieden wurde, dass die Technologie eine Bedrohung für ihr Monopol darstellt. Als unvollständiger Proof of Concept wurden diese Schiffskommunikationen ohne jeden Gedanken an die Sicherheit gebaut. Zum Beispiel wurden diese Comms im Gegensatz zu den größeren System-Comms so gebaut, dass sie ein Ad-hoc-Registrierungssystem verwenden, bei dem sich jedes Ansible spontan bei anderen lokalen Ansiblen registrieren kann, aber registrierte Ansibles nicht richtig authentifiziert werden! Diese Ansibles an Bord konnten auch nur Nachrichten innerhalb eines Systems senden; es fehlt ihnen an Energie, um Ansibles in anderen Systemen zu erreichen.

Einer bestimmten Gruppe – stellen Sie sich das als so etwas wie eine große organisierte Piratenflotte mit einigen politisch extremistischen Ansichten vor – wurden kürzlich Schaltpläne für die Schiffskommunikation zugespielt. Die Piraten behandeln die Ansibles als Black Boxes und verstehen die Physik oder den Code dahinter nicht, sind aber dennoch in der Lage, Ansibles zu bauen und auf ihren Schiffen einzusetzen, was ihnen einen großen taktischen Vorteil in Kämpfen verschafft, in denen die Verzögerung der Lichtgeschwindigkeit normalerweise die Taktik schwer zu organisieren macht. Unsere Protagonisten haben eine kleine Anzahl dieser Ansibles gefangen genommen und versuchen, ihre eigene Mini-Flotte aufzubauen, um der Aggression der Piraten/Fanatiker-Gruppe zu widerstehen, die sie benutzt. Dazu gehört das Reverse-Engineering des Blackbox-Codes der Ansibles, um Exploits zu erstellen, die ihrer Seite taktische Vorteile in Kämpfen verschaffen.

All diese Kämpfe finden schnell statt, wobei beide Seiten versuchen, ihre Ansibles schnell genug zurückzuentwickeln, zu hacken und zu patchen, um entdeckte Exploits auszunutzen oder sich davor zu schützen, aber es bleibt nicht genug Zeit, um dies vollständig zu lernen Code oder schreiben Sie sichereren Code von Grund auf neu.

Die zugrunde liegende Physik hinter den FTL-Systemen ist von beiden Seiten nicht vollständig bekannt, und ich beabsichtige, absichtlich etwas undefiniert zu bleiben, um mir mehr Spielraum für "Hacks" zu geben. Während ich also etwas Spielraum habe, um die Physik an jeden Exploit anzupassen, den ich mag, ziehe ich im Allgemeinen Parallelen zu frühen Wi-Fi-Routern, was die Funktionsweise der Ansibles betrifft.

Ich suche nach weiteren potenziellen Exploits, die sowohl Hacker als auch Piraten nutzen können, um sich einen taktischen Vorteil zu verschaffen. Ein taktischer Vorteil kann bedeuten, die Kommunikation des Feindes zu hören, die FTL-Kommunikation des Feindes zu „blockieren“, die Kommunikation beider Seiten auf Wunsch auszuschalten, Angriffe zu wiederholen, was auch immer.

Ich suche vor allem nach Exploits, die sowohl mit teilweise verstandenem Code schnell zu schreiben sind als auch im Idealfall relativ schnell zu patchen sind, sodass sich beide Seiten alle paar Monate immer wieder neue Tricks einfallen lassen müssen, anstatt sich auf das Gleiche zu verlassen Ausbeuten. Um glaubhaft zu machen, dass so viele Exploits so schnell entdeckt werden können, versuche ich, ein System analog zum ursprünglichen ARPANET und der drahtlosen Kommunikation beizubehalten, wobei Exploits hauptsächlich Exploits wiederverwenden, die im alten Internet funktionierten, bevor sicherere Protokolle erstellt wurden Standard.

Der erste Exploit wird höchstwahrscheinlich feindliche Kommunikation abhören, schließlich ist keine Verschlüsselung eingebaut. Der Feind wird dies jedoch schnell herausfinden und beginnt, seine Nachrichten zu verschlüsseln, bevor er sie durch das Ansible sendet, sodass das schnell gepatcht wird. Ich interessiere mich mehr für Exploits, die danach auftreten werden.

Ich habe bereits eine Handvoll Exploits, die ich mag, einschließlich der ständigen Übertragung von Kauderwelsch, um die FTL-Kommunikation beider Seiten zu blockieren, und später, dass eine Seite die Blockierung in kurzen festgelegten Zeiträumen stoppt, um die Übertragung von Kommunikationen während dieser kurzen offenen Stellen zu ermöglichen usw. Ich möchte helfen, mehr Exploits zu entwickeln, um mir mehr Optionen für die Tricks zu geben, die ich von beiden Seiten ausführen lassen kann.

Kommentare sind nicht für längere Diskussionen gedacht; Diese Konversation wurde in den Chat verschoben .
Verwenden Sie die FTL-Kommunikationstechnologie, um taktische Informationen in die Vergangenheit zu senden und in jedem Gefecht und jeder versuchten Mission erfolgreich zu sein. Das ist möglich, weil jede FTL-Kommunikation ein potenzielles Zeitkommunikationsmittel ist, wenn es den Helden gelingt, die Bezugsrahmen richtig zu jonglieren.
Wenn Sie eine überlichtschnelle Kommunikation benötigen, ist der Verschlüsselungsschritt immer zu langsam, es sei denn, Sie haben auch eine FTL-Verschlüsselung (deren kryptografische Auswirkungen ich nicht übersehe, aber zumindest (nahezu) sofortige Verschlüsselung erleichtert Brute -zwingen fast alles zu knacken).
Fragen Sie Elizabeth Moon! Sie hat über genau dieses Setup in ihrer Serie „Trading in Danger“ geschrieben.
@ 11684 es hängt ganz davon ab, wie weit Sie die Nachricht senden. Die Verschlüsselung wird immer noch weniger Zeit in Anspruch nehmen, als die Nachricht tatsächlich zu lesen.
@OrangeDog Gute Punkte. Danke, sehr interessant.
Zur Verdeutlichung: Ansibles verbinden sich mit 2,3,4 usw. lokalen Ansibles und verhalten sich dann wie ein IP-Netzwerk im Stil der 1980er Jahre mit ähnlichen Netzwerk-/Sicherheitsfehlern? Klingt lustig.
@11684 "FTL-Verschlüsselung" ist bedeutungslos, da die Verschlüsselung keine Entfernungen beinhaltet.
Hier gibt es einige großartige Antworten; Sie können auch etwas lernen, indem Sie security.stackexchange.com lesen

Antworten (10)

Ich werde einen Blick aus der Softwareperspektive werfen, anstatt die Physik zu missbrauchen.

Denial-of-Service/The Killer Poke

Es kann ein fehlerhaftes Paket gesendet werden, das die Hardware so verwirrt, dass sie abstürzt oder im schlimmsten Fall Schaden anrichtet. Dies geschah tatsächlich bei frühen CPUs, bei denen bestimmte Anweisungen es einem ermöglichen würden, den magischen Rauch freizusetzen , der ihnen den Betrieb ermöglicht. (Was tatsächlich passierte, war, dass, wenn Sie eine schlechte Anweisung an die CPU sendeten, diese eine Leitung direkt von der Quelle zur Masse öffnete, was zu einem Kurzschluss führte, der die CPU durchbrennen würde.) Dies wurde als " Killer Poke " bezeichnet.

Konfiguration ändern

Wenn bestimmte fehlerhafte Anweisungen externen Paketen den Zugriff auf die Konfiguration des Ansibles ermöglichen, können Sie sie beliebig ändern. Dies kann ein Pufferüberlauf sein, der die Ausführung willkürlichen Codes ermöglicht , oder in wirklich schlecht gesicherten Systemen eine Anfrage zum Hochladen einer temporären Datei an einen bestimmten Speicherort, der zufällig der Speicherort der Konfigurationsdatei ist. Wieder passiert tatsächlich.

Lauschen

Wenn Sie den obigen Angriff verwenden, um die Konfiguration des Ansible zu ändern, könnten Sie die gesamte Kommunikation an ein bestimmtes Ansible umleiten, das dann die Kommunikation an den beabsichtigten Empfänger weiterleitet, während die Nachricht für die spätere Verwendung aufgezeichnet wird. Dies wäre ein Man-in-the-Middle -Angriff und für sie wahrscheinlich schwer zu bemerken.

Missbrauch der Entwicklertools und Aktualisierungsfunktionen

Da dies ein Prototyp war, hätten die Entwickler mehrere Haken für das Debugging und die Softwarebereitstellung gehabt. Zumindest gäbe es eine Möglichkeit, die Firmware / das Betriebssystem zu aktualisieren. Wenn es nicht gesichert ist, können Sie die Firmware einfach löschen/aktualisieren. Möglicherweise aus der Ferne, oder vielleicht wäre ein Maulwurf für den physischen Zugriff erforderlich (wäre ein sehr spannender Teil der Geschichte). Wenn Debugging-Befehle vorhanden sind, ermöglichen sie dem Angreifer, Speicher und Live-Kommunikation anzuzeigen oder sogar zu ändern.

Ich mag den Punkt Entwicklertools, daran hatte ich noch nicht gedacht. Ich schätze auch, dass Sie sich auf Hacks konzentrieren, die funktionieren, selbst wenn sie mit der Verschlüsselung beginnen. Es scheint, dass sich die Kommentare in den Kommentaren zu sehr auf das Hacken der Verschlüsselung konzentriert haben und nicht auf die anderen Probleme, die ausnutzbar sind.
Kombinieren der letzten 3 -> Geben Sie Menschen Chatroulette anstelle ihres beabsichtigten Empfängers
Ein sofortiger MITM-Angriff über die Kommunikation ... Das wäre ziemlich schwer zu bemerken!
@Izkata, dies mag ein Krieg sein, in dem beide Seiten versuchen, sich gegenseitig umzubringen, aber es ist einfach falsch, jemanden zu zwingen, mit der Art von Leuten auf Chatroulette zu interagieren !! :P
@dsollen Ich dachte eher an TVTropes's Distracted by the Sexy

Das Offensichtliche zum Ausprobieren, ohne etwas über die Software wissen zu müssen: Back-Time-Signalisierung.

Spielen Sie einfach herum und sehen Sie, was passiert, wenn Sie versuchen, zwischen einer Reihe verschiedener Schiffe zu kommunizieren, die sich mit unterschiedlichen relativen Geschwindigkeiten bewegen. Erleben beide Seiten eines Gesprächs den anderen als ausgebremst, wenn die Schiffe in Bewegung sind? Dann können Sie eine zyklische Übertragung einrichten, die Informationen zeitlich rückwärts verschiebt und Daten zwischen zwei Schiffen hin und her überträgt. Ist das Signal an die richtige Zeit des Anrufers oder des Empfängers gebunden? Dann kann die Zeit, mit der Sie mit dem anderen Schiff kommunizieren, langsam von der Gegenwart wegdriften, sodass wiederum die eine oder andere Seite Informationen in der Zeit zurücksenden kann.

Wenn die Kommunikation zwischen jedem Ansible-Paar wirklich augenblicklich in beide Richtungen geht, dann gibt es eine Möglichkeit, eine Rückwärts-in-Zeit-Signalisierung zu arrangieren. Möglicherweise wurde Software geschrieben, um dies anzupassen. In diesem Fall würde ich erwarten, dass die Hacker versuchen, einen Weg zu finden, die Anpassungen auszuschalten, weil es ein riesiger taktischer Vorteil wäre, eine Signalisierung in die Vergangenheit zu bekommen. Wenn die grundlegende Physik eine Rückwärtssignalisierung nicht zulässt, kann sie nicht für alle Kommunikationskanäle sofort erfolgen, was bedeutet, dass Schiffe, die sich auf bestimmte Weise bewegen, Nachteile bei der taktischen Kommunikation haben und die Hacker in der Lage sein werden, Experimente durchzuführen, um festzustellen, ob es Einschränkungen gibt Back-Time-Signalisierung sind in der Tat lediglich Softwareschutzmaßnahmen oder grundlegend für die Physik des Geräts.

Kommentare sind nicht für längere Diskussionen gedacht; Diese Konversation wurde in den Chat verschoben .

Ohne Gedanken an die Sicherheit ? Oh Junge.

Die wichtigsten Sicherheitsmerkmale, die fehlen werden, sind:

  • Verschlüsselung
  • Authentifizierung
  • Datenbereinigung

Damit können Sie fast alles tun.

Fehlende Verschlüsselung

Je nachdem, wie Ihre FTL-Signale gesendet werden, können Sie dadurch möglicherweise Übertragungen abfangen. Es gibt drei grundlegende Kategorien, in die ich FTL-Signale unterteilen würde:

  • Broadcasting in alle Richtungen.
    Dies würde die meiste Energie erfordern (konventionelle Skalierung mit m * r^2dem rRadius der Sphäre, in der Sie senden möchten, und mder Nachrichtenlänge), aber auch den geringsten Konfigurationsaufwand. Du schickst einfach alles überall hin. Da es unverschlüsselt ist, kann jeder mithören.
  • Richtantenne.
    Sie berechnen die relative Position Ihres Empfängers und senden in diese Richtung. Um mit Schiffen mit hoher Geschwindigkeit fertig zu werden, müsste dieses System sehr ausgeklügelt sein, aber es würde viel weniger Energie benötigen (nur mstatt m * r^2) und es wäre nur von jemandem direkt auf dem Weg zwischen Sender und Empfänger abhörbar.
  • Quantenverschränkung.
    Dies würde keinerlei Abhören (zumindest auf Signalebene) ermöglichen, aber einen wahnsinnigen Aufwand für die Einrichtung erfordern. Ehrlich gesagt habe ich keine Ahnung, wie viel Energie es kosten würde, sie zu betreiben.

Sie nennen auch das Jamming (Ihre "ständige Übertragung von Kauderwelsch") als ein Element, das Sie mögen. In dieser Form würde es nur mit den ersten beiden funktionieren, aber Sie könnten immer noch auf einen Denial-of-Service-Angriff für alle zurückgreifen. An sich würde ein DoS nur die Opferseite beeinträchtigen, aber Sie könnten leicht erklären, dass beide Seiten deaktiviert sind durch:

  • die andere Seite „zurückschießen“ lassen, sobald sie einen DoS erkennen
  • Das DoS'ing ist so intensiv, dass es alle Ansibles bei voller Leistung erfordert, sodass Sie mit dem DoS'ing zu beschäftigt sind, um noch Kapazität zum "Sprechen" zu haben.

Fehlende Verschlüsselung ist ziemlich schwer ein für alle Mal für ein Team zu beheben, das nicht wirklich versteht, womit es herumspielt, aber kurzlebige Abschwächungen wären einfach genug. Grundsätzlich würde jede Änderung an der Codierung (denken Sie an Cesar Cipher) dazu führen, dass die andere Seite die abgefangenen Informationen nicht verstehen kann. Sie werden wahrscheinlich nicht lange brauchen, um die Verschlüsselung zu knacken, aber vielleicht lange genug, damit die Nachricht wertlos wird (z. B. weil der Angriff bereits stattgefunden hat). Und es würde meiner Meinung nach gut in Ihr Katz-und-Maus-Spiel passen. :P

Fehlende Authentifizierung

Wenn Sie nicht wissen, mit wem Sie sprechen, können Sie ihnen vertrauen?

Angriffe auf menschlicher Ebene:

Eingehende Übertragung:

Hier ist Captain Borg Zerk, wir haben ein primäres Rebellenversteck auf Planet 753-KV44 ausfindig gemacht. Angriff in 3 Stunden geplant, um Hilfe gebeten. Koordinaten des vorgeschlagenen Rendevouz-Punktes beigefügt.

Abgesehen davon, dass diese Nachricht von Protagonist Herp Derp gesendet wurde und die Koordinaten in einem Neutronenstern liegen.

Für Textübertragungen ist dies kinderleicht, und für Video/Audio können Sie einfach einige Übertragungen abfangen, Ihre epischen Photoshop-Fähigkeiten herausnehmen und eine solche Nachricht fabrizieren. Live-Gespräche sind vielleicht möglich, aber nur mit wirklich viel Technik .

Angriffe auf technischer Ebene:

Eine lustige Sache, die Sie tun könnten, wäre ein Deauthentifizierungsangriff . Grundsätzlich senden Sie ein Signal, das das Ende der Übertragung eines anderen markiert. Wenn diese Person gerade spricht, wird sie unterbrochen und muss erneut wählen. Wenn Sie das alle 5 Sekunden tun, können sie keine Übertragung herstellen.

Eine andere lustige Sache wäre ein langsamer Loris-Angriff . Angenommen, Ihr Gerät kann gleichzeitig 100 offene Übertragungen haben. Du öffnest 100 Kanäle für jemand anderen und bam, sie können keine weiteren Übertragungen haben. Und da es keine Authentifizierung gibt, können sie Sie nicht einfach „blockieren“, ohne auch alle anderen zu blockieren.

Eine fehlende Authentifizierung würde einige Anstrengungen erfordern, um sie zu beheben, aber ich würde argumentieren, dass dies machbar wäre.
Wenn Sie Details zur Implementierung wünschen: Weisen Sie jedem Knoten ein anderes Geheimnis zu, das alle anderen Knoten kennen. Wenn Sie dann eine eingehende Übertragung haben, senden Sie einige zufällige Daten an den Sender zurück, die sie dann an ihr Geheimnis anhängen, hashen (sha512 oder so) und zurücksenden. Sie führen die gleichen Berechnungen lokal durch und können überprüfen, mit wem Sie sprechen. Ein solcher Hash kann nicht hergestellt werden, ohne das Geheimnis zu kennen, und die zufälligen Daten verhindern, dass Hashes erfasst und wiederverwendet werden.

Fehlende Plausibilitätsprüfungen

Das ist der eigentliche Deal, aber hier wird es sehr technisch.
Wenn Sie den nächsten Absatz nicht lesen möchten oder ihn nicht verstehen, springen Sie einfach zum "TL; DR", ich werde Ihnen keinen Vorwurf machen. ;)

Okay, hier geht's:
In Ihrem Übertragungsprotokoll möchten Sie Ihre Daten in Frames aufteilen (damit Sie nicht Metadaten auf jedes Byte schlagen müssen und die Daten in Teilen verarbeiten können). In Software, die ohne Berücksichtigung der Sicherheit entwickelt wurde, hätte eine Funktion höchstwahrscheinlich einen Puffer fester Größe, in den sie die Daten liest, und nach diesem Puffer wäre die Adresse des Codes, wo nach Abschluss der Funktion fortgesetzt werden soll. Wenn die Funktion nun nicht prüft, ob mehr Daten in einem Frame gespeichert werden können, beginnt sie mit dem Überschreiben der Rücksprungadresse. Dadurch kann ein Angreifer den Programmablauf verändern und dadurch beliebigen Code ausführen.
Dies ist nur eine Art von Schwachstelle, die auftreten kann und wahrscheinlich am einfachsten auszunutzen ist; Es wird komplexere geben, aber insgesamt wird es jede Menge davon geben.

TL;DR: Durch fehlende Plausibilitätsprüfungen können Sie beliebigen Code auf Empfangsgeräten ausführen.

Da keine Seite das Ansible wirklich versteht, scheint es unwahrscheinlich, dass sie es mit dem Bordcomputer verbinden können, also sollte der Rest des Schiffes sicher sein.

Aber für die Ansibles selbst ist dies fatal, da es einem Angreifer die vollständige Kontrolle über das Gerät gibt. Sie könnten Spyware installieren, ihr System sperren (was dazu führt, dass sie kein SOS senden können) oder versuchen, einige Hardwareteile zu übertakten und zu braten, möglicherweise sogar ein Feuer zu entfachen oder die Menschen in unmittelbarer Nähe durch Stromschlag zu töten.

Solche Angriffe würden ziemlich viel Zeit und Wissen für die Entwicklung und Ausführung erfordern (was bedeuten würde, dass sie erst später in der Geschichte durchführbar sind, wenn ein Team einige Male an den Geräten arbeiten musste und zumindest intime Kenntnisse darüber erlangt hat Teile davon), aber das ist gut, da sie dir auch immense Kraft verleihen.
Spyware kann sehr lange unentdeckt bleiben, und selbst wenn das Opfer weiß, dass es eine gibt, kann es einige Zeit dauern, sie zu finden, und noch länger, um sie zu entfernen.

Die einzige Möglichkeit, solche Schwachstellen zu beheben, ohne das gesamte System von Grund auf neu zu entwerfen, besteht darin, jede einzelne von ihnen separat zu patchen, sobald Sie davon erfahren. Dadurch erhalten Sie genügend Fehler, die über Jahrzehnte, möglicherweise sogar Jahrhunderte ausgenutzt werden können.

Meinten Sie r 2 statt r 3 , oder gehen Sie davon aus, dass sich FTL-Signale sowohl zeitlich als auch räumlich in alle Richtungen ausbreiten? Wenn das der Fall ist, erwarte ich, dass Störungen durch Sender in der Vergangenheit und Zukunft ein großes Problem darstellen werden!
@LoganR.Kearsley Ich wollte eigentlich, dass die dritte Dimension die Nachrichtenlänge ist, habe es aber beim Aufschreiben der Formel nicht durchdacht. Danke für den Hinweis. :)

Das erste, was mir einfällt, ist das Äquivalent zu ARP-Spoofing . Sie sagten, es würde "ein Ad-Hock-Registrierungssystem verwenden, bei dem sich jedes Ansible spontan bei anderen lokalen Ansiblen registrieren kann" - also lassen Sie sich ein Ansible unter der ID eines Ansibles eines Gegners registrieren. Wenn es ein Signal erhält, leitet es es an das eigentliche Ziel weiter (nachdem es aufgezeichnet und möglicherweise den Inhalt geändert hat). Wenn möglich, würde es sich auch beim Ziel unter der ID der Quelle registrieren und dies für einen vollständigen Man-in-the-Middle-Angriff in beide Richtungen der Konversation tun .

Beachten Sie, dass dies auch nützlich ist, wenn die Gegner eine sichere Verschlüsselung über den Kanal verwenden, da Sie eine Verkehrsanalyse durchführen können (wer mit wem spricht, ist oft informativ). Je nachdem, wie Sie sie zum Laufen bringen, ist dies sogar ohne MITM möglich. Wenn dies der Fall ist, gibt es mögliche Gegenmaßnahmen wie das Senden von Dummy-Traffic und das Senden von Traffic über indirekte Routen.

Verwenden der FTL-Kommunikation, um Informationen von anderen Computern zu stehlen

Zunächst einige Artikel:

https://www.wired.com/2016/06/clever-attack-uses-sound-computers-fan-steal-data/
https://www.wired.com/2014/11/airhopper-hack/
https: //www.wired.com/2015/07/researchers-hack-air-gapped-computer-simple-cell-phone/
https://www.wired.com/2015/03/stealing-data-computers-using- Hitze/
https://www.wired.com/2017/02/malware-sends-stolen-data-drone-just-pcs-blinking-led/

Aus den obigen Artikeln sollte ersichtlich sein, dass es durchaus möglich ist, ein System zu verwenden, das überhaupt nicht verbunden ist, um Verschlusssachen auf einem anderen System zu lesen. Als Sicherheitsbastler wäre ich überhaupt nicht überrascht, wenn Sie winzige Schwankungen in der FTL-Kommunikation hören könnten, um herauszufinden, was in anderen Systemen passiert.

Kommunikationsmanipulation verwenden, um in andere Systeme einzugreifen

Es wird wahrscheinlich eine Art automatisierte Interaktion zwischen der FTL-Kommunikation und dem Rest des Schiffes geben, selbst wenn es nur bestimmte Signale auf einem versteckten Kanal gesendet hat. Dinge wie die Übertragung von Schiffsstandorten an Radargeräte, koordinierte Sprungroutinen, Waffensynchronisation, ... Neben dem Senden gefälschter Nachrichten an diese Systeme können Sie auch Nachrichten senden, die Systeme zerstören können. Sie können Waffen anweisen, zu überhitzen, Radarsysteme zum Absturz zu bringen, die Motoren abzuschalten, ... Dies hängt vom Grad der Automatisierung ab, die über diese Systeme erfolgt.

Das Abrufen unverschlüsselter Daten aus dem Ansible ist als allererster Angriff und allererster Patch sinnvoll. Aber auch verschlüsselte Daten können aufschlussreich sein.

Injektion

Ein Angreifer kann möglicherweise Daten in Ihren Stream einschleusen, die ihn auf verschiedene Weise durcheinander bringen könnten:

  • Nutzen Sie bekannte Analysefehler aus, um das empfangende System zum Absturz zu bringen, oder nutzen Sie einen anderen Teil des empfangenden Systems aus (ein Schutz gegen diese Art von Angriff besteht darin, den Absender zu authentifizieren und eine zeitkritische Kennung oder Sequenznummer zu verwenden, damit die Authentifizierung nicht einfach abgefangen werden kann und gefälscht)
  • Bestimmen Sie Informationen über die Nachricht anhand ihrer Länge oder Häufigkeit
    • Das bloße Vorhandensein oder Fehlen von Nachrichten kann viel aussagen: dass es etwas zu kommunizieren gibt oder nicht. Um sich vor diesem Angriff zu schützen, senden Sie immer Informationen
    • Die Länge einer Nachricht kann Informationen offenlegen. Eine lange Nachricht könnte vermitteln, dass es viel zu sagen gibt. Ein langer Informationsabschnitt in den als "to"-Feld bezeichneten Bits könnte anzeigen, dass die Nachricht für die Flotte und nicht für einen einzelnen Empfänger bestimmt ist. Bei besonders schlecht implementierter Verschlüsselung können Sie den Absender oder Empfänger möglicherweise anhand der Länge ihres verschlüsselten Rufzeichens identifizieren. Um sich vor diesem Angriff zu schützen, sollten alle Pakete die gleiche Länge haben, aber das schützt nicht vor:
    • Die Häufigkeit von Nachrichten kann Informationen preisgeben. Das gleichzeitige Senden vieler verschiedener Pakete kann ähnliche Informationen wie die Paketlänge offenlegen. In einigen Fällen, wie z. B. Sprachdaten, kann ein Gespräch manchmal basierend auf der Häufigkeit der gesendeten Nachrichten rekonstruiert werden. Da Audio normalerweise in Echtzeit gesendet wird (insbesondere im Fall einer Technologie, die sich auf die Aktualität von Informationen konzentriert), ist Audio besonders anfällig für diese Angriffe. Um sich vor diesem Angriff zu schützen, müssen Sie der Kommunikation möglicherweise eine Latenz hinzufügen und immer Nachrichten mit fester Länge senden, auch wenn nichts gesagt wird. Eine weitere interessante Verteidigung könnte darin bestehen, ein echtes Gespräch in ein falsches einzubetten: Der Rhythmus eines vorab aufgezeichneten und harmlosen (oder irreführenden) Gesprächs wird verwendet, um die eigentlichen verschlüsselten Sprachdaten zu übertragen. Dies wäre eine ausgezeichnete Verteidigung, nicht nur, weil es falsch informiert, sondern auch, weil es die Tatsache, dass Sie sich des Exploits bewusst sind, vor Ihrem Feind verbirgt. Wenn die Protagonisten zum Beispiel Gespräche auf diese Weise seit langem rekonstruieren, dann könnte der Schutz vor einem solchen Angriff durch das Senden von Signalen fester Länge ihren Feinden einen Anhaltspunkt dafür gebenwann die Protagonisten diesen Exploit aufgedeckt haben und welche Informationen dabei kompromittiert wurden. Wird jedoch der Rhythmus einer gefälschten Konversation verwendet, dann verschleiert dies, dass die Protagonisten über dieses Wissen verfügen. Dies könnte von den Protagonisten auch als „Kanarienvogel in einer Kohlengrube“ genutzt werden: Die Protagonisten verbreiten relevante und zeitnahe Fehlinformationen und sobald die Protagonisten miterleben, wie der Feind auf diese Fehlinformationen reagiert , wissen sie, zu welchem ​​Zeitpunkt der Feind Kenntnis davon erlangt hat der Exploit, und daher wissen die Protagonisten, an welcher Stelle sie misstrauisch gegenüber den Gesprächen werden müssen, die sie selbst rekonstruieren.
  • Signale blockieren. Wenn ein Angreifer Zugriff auf das von Ihnen verwendete Netzwerk hat (oder dies "über die Luft" erfolgt), können Sie nur wenig tun, um Ihr Netzwerk vor einer vollständigen Störung zu schützen. Einige interessante Aspekte dieses Problems sind, dass der Angreifer in der Lage sein müsste, das Störsignal entweder nahe genug am Ziel oder von einer Stelle zwischen dem Ziel und dem Empfänger/Sender auszusenden. Auch wenn mehrere Ansible-Frequenzen vorhanden sind, kann das Stören je nach Technologie mehr als ein Ansible erfordern. Es würde auch mehr Energie erfordern, um mehr Frequenzen zu stören, was entweder die Zeit, die zum Stören eines Signals vom Beginn der Sendung des Ziels an benötigt wird, oder den Platz, den Sie mit Ihrem Störsignal abdecken könnten, oder die Anzahl der Frequenzen, die Sie begrenzen, begrenzen würde könnte sofort klemmen.

Triangulation

Die Position eines Senders kann entdeckt werden, indem die Stärke des gesendeten Signals erfasst wird und dadurch seine Position trianguliert wird. Es gibt viele Möglichkeiten, wie ein Angreifer diesen Exploit ausführen kann. Hier sind ein paar:

  • Ein einzelnes Schiff könnte die Quelle eines Senders triangulieren, indem es sich einfach im Raum bewegt, während Signale gesendet werden. Dies würde erfordern, dass das Ziel relativ ruhig bleibt, und es würde auch erfordern, dass es mehrere Signale sendet. Die Anzahl und Frequenz der benötigten Signale würde wirklich von der Genauigkeit der Signalstärkeinformationen abhängen (wenn beispielsweise eine bestimmte Stärke sehr zuverlässig einer bestimmten Entfernung entspricht, ist es einfacher zu triangulieren. Wenn es Variablen gibt, die Interferenzen verursachen könnten, dann es wird schwieriger), und es würde auch davon abhängen, wo sich das Schiff des Angreifers in Bezug auf das Ziel befindet.
  • Viele Schiffe, die sich koordinieren, könnten den Standort eines Ziels bestimmen, indem sie eine einzelne Übertragung abfangen. Ein Nachteil dieser Methode besteht darin, dass alle angreifenden Schiffe gleichermaßen exponiert wären, da sie auch über das Ansible kommunizieren müssten, um diese Informationen untereinander zu übermitteln.
  • Ein einzelnes Schiff konnte Sonden einsetzen, die die ganze Arbeit für sie erledigten. Als zusätzlichen Vorteil können die Sonden dann die empfangenen Informationen senden, was bedeutet, dass das Schiff eines Angreifers diese Informationen sofort empfangen kann, ohne seinen eigenen Standort zu senden (da es keine Signale senden muss, um eine Position darin sofort zu triangulieren Fall). Natürlich könnte diese Lösung sehr teuer und gefährlich sein, wenn Ansible selten sind: Es wäre ein erhebliches Risiko, Ihr Ansible auf einer wehrlosen Sonde nach draußen zu schweben, insbesondere wenn Ihre Feinde auch die Fähigkeit haben, Positionen zu triangulieren.
  • Eine mögliche Verteidigung gegen diesen Angriff wäre, dass der Verteidiger Ansible-Signale von einem sicheren Ort aus sendet, von dem es ihm nichts ausmacht, dass seine Feinde ihn kennen, wie eine geschützte Festung. Von diesem Standort aus kann das Ansible nur in eine Richtung verwendet werden, ohne den Standort der Empfänger preiszugeben. Wenn die Direktionalität des ansiblen Signals so manipuliert werden kann, dass es in einer einzigen Linie oder einem Kegel statt in den gesamten umgebenden Raum ausgestrahlt wird, könnten verteidigende Schiffe auch Signale an diesen sicheren Ort mit einem gewissen Grad an Schutz gegen Triangulation zurückleiten: Sie würden viel näher sein müssen, um ein Richtungssignal zu triangulieren, oder zufällig zwischen dem Empfänger und dem Sender positioniert sein (in diesem Fall müssen Sie wahrscheinlich nur eine einzige solche Nachricht empfangen, um den Standort des Ziels zu bestimmen,
  • Ein Verteidiger könnte auch Ködersignalsender einsetzen, wenn er es sich leisten könnte.

Wettrüsten in echter Sicherheit

Eine wichtige Sache, an die man sich bei all dem erinnern sollte, ist, dass technologische Wettrüsten nicht stattfinden, wenn Feinde die Fähigkeiten des anderen nicht kennen . Ein gutes Beispiel dafür ist die Ultra-Maschine, die Enigma im Zweiten Weltkrieg knackte: Das kryptografische Wettrüsten wurde auf deutscher Seite nach Enigma nicht fortgesetzt, weil die Deutschen nicht wussten, dass ihre Signale geknackt worden waren.

Wenn es um moderne Computersicherheit geht, gehen die Wettrüsten, von denen wir wissen, wegen der sehr öffentlichen Natur dieser Abwehrmaßnahmen und Exploits weiter. Verteidigungen (wie Hashing-Algorithmen) werden oft veröffentlicht, weil angenommen wird, dass die durch die Veröffentlichung von Quellcode verlorenen Verteidigungen (hauptsächlich die Vorteile der "Obskurität", die fragwürdig sind) die gewonnenen Vorteile nicht aufwiegen. Andere Personen, die an Ihrer Technologie interessiert sind, können dann den Quellcode lesen, um ihn für Sie zu überprüfen. Wenn viele Leute versuchen, die Sicherheit einer Verteidigung zu überprüfen, wird diese als viel stärker angesehen, als wenn sich nur wenige Leute auf ihr eigenes begrenztes Fachwissen und die Unklarheit ihres Codes verlassen würden.

Ebenso neigen Angreifer dazu, ihre Tools zu verkaufen oder zu teilen. Oft machen sich Angreifer nicht einmal die Mühe, ihre Tools zu verstecken, weil sie wissen, dass das durchschnittliche Ziel entweder nicht computerkundig genug ist, um nach solchen Exploits zu suchen und sich davor zu schützen, oder weil sie es selbst dann tun, wenn das durchschnittliche Ziel von dem Exploit weiß werden wahrscheinlich nichts dagegen tun. Ein gutes Beispiel dafür ist, dass Menschen ihr Passwort oft wiederverwenden. Benutzer wissen , dass dies eine schlechte Praxis ist und bedeutet, dass ihr Passwort nur so sicher ist wie der am wenigsten sichere Dienst, für den sie dieses Passwort verwenden , aber sie tun es trotzdem.

Im Fall einer unglaublich seltenen und wertvollen Technologie wie dem Ansible würden jedoch viele dieser Exploits völlig unentdeckt bleiben, insbesondere „leise“ Exploits wie die Triangulation.

Die Tatsache zu verbergen , dass Sie über bestimmte Informationen verfügen, kann eine eigene Sicherheitsherausforderung darstellen. Obwohl Ihr Feind beispielsweise nicht über das Ansible erkennen kann, dass Sie seine Position triangulieren, wird er es ziemlich schnell erkennen, wenn Sie immer direkt auf seine Position zugehen, wenn er Nachrichten sendet. Um also zu verbergen, dass Sie diese Informationen haben, müssen Sie so tun, als hätten Sie sie meistens nicht.

Mein Rat ist, die Feinde/Helden nicht zu schlau für die Fortschritte des anderen zu machen, insbesondere in Fällen von Exploits, die nicht leicht zu erkennen sind, wie Triangulation oder Rekonstruktion von Sprache basierend auf den Rhythmen von Stimmdaten.

Ich mag deinen Punkt sehr, dass du versteckst, was du weißt. Alles andere ist auch gut, danke.

Da Sie vielleicht nach weniger ausgefeilten Techniken suchen, die sich ein Haufen Piraten-Hacker ausdenken könnten, schlage ich vor, ihrem Arsenal einen Distributed-Denial-of-Service- Angriff hinzuzufügen.

In Hinterhaltssituationen könnten alle Piratenschiffe gleichzeitig die Kommunikationssysteme des feindlichen Schiffes mit Nachrichten überfluten, um die feindlichen Schiffe davon abzuhalten, sofort nach Hause zu telefonieren. In einem naiven Kommunikationsprotokoll könnte das Schiff versuchen, ACKs (Bestätigungen) an jeden Absender zu senden, was zu einer Überlastung der Bandbreite (falls Ihr FTL-System eine solche Vorstellung hat) oder einer Überlastung der Bordcomputersysteme und Speicherpuffer führt.

Es braucht nicht viel Code, um es zu manipulieren, und die Piratenschiffe könnten die Flut sogar manuell koordinieren.

Wenn mehr als ein Ansible-Rig auf einem Schiff platziert werden kann, könnten sie sogar eines von ihnen in ein spezialisiertes Schiff für elektronische Kriegsführung umrüsten.

Dies kombiniert mehrere Konzepte, die in den bereits gegebenen Antworten enthalten sind, aber ich denke, es ist eine Idee, die eine eigene Antwort wert ist, da sie sich stark auf den FTL-Teil stützt.

Mit ausreichend Handbewegungen könnte ein FTL-Kommunikationssystem verwendet werden, um einen selbstverstärkenden Angriff durchzuführen .

Im Zusammenhang mit DoS-Angriffen ist ein Verstärker eine Maschine eines Drittanbieters, die als Relais verwendet werden kann, um die Anzahl der Pakete zu erhöhen, die das Ziel erreichen: wenn es eine Konfiguration gibt, in der Sie ein Paket an einen Drittanbieter senden können Maschine und lassen Sie sie drei Pakete an das Ziel senden, dann können Sie dreimal so viele Pakete an das Ziel senden, wie Sie es alleine könnten. Dies wird als Verstärkungsangriff bezeichnet .

Mit der Rückwärts-in-Zeit-Kommunikation könnte ein System so eingerichtet werden, dass es als sein eigener Verstärker fungiert, mit einem Schneeballeffekt: Sie senden ein Signal in der Zeit zurück an Ihre Maschine, und dies hat den Effekt, dass drei Pakete von den Maschinen entlockt werden. Dann sendet jeder von ihnen wieder ein Signal in der Zeit zurück, und zusammen produzieren sie 9 Pakete. Diese 9 Signale werden in der nächsten Schleife zu 27, dann zu 81 und so weiter.

Ich denke, es gibt hier einige Faktoren, die den Leuten fehlen.

Wenn Sie mit FTL schneller als Licht meinen, dann schlagen Sie ein System vor, das Übertragungen nicht so sendet oder empfängt, wie wir es jetzt haben.

Sie können keine Nachricht senden, indem Sie eine Welle oder ein Teilchen dazu bringen, sich schneller als Licht fortzubewegen, Sie brechen auf diese Weise die Gesetze der Physik.

Das soll nicht heißen, dass eine Kommunikation mit dem effektiven Äquivalent von FTL nicht möglich ist.

Also .... in wirklich, wirklich handgewellten Begriffen .... Theoretisch könnten Sie mit der Quantenverschränkung oder so etwas wie einer "direkten kontrafaktischen Quantenkommunikationslösung" theoretisch eine sofortige Kommunikation zwischen zwei verbundenen Quantenteilchen erhalten.

Mit einer Quantenverschränkung Der Nebeneffekt davon ist, dass es buchstäblich nichts abzufangen gibt, es sei denn, Sie hätten die Nachricht an einem Gerät abgefangen, bevor die Nachricht gesendet wurde oder nachdem die Nachricht empfangen wurde, wären Sie überhaupt nicht in der Lage, sie abzufangen. Sie können kein Rauschen oder Interferenzen einführen ... Sie können möglicherweise die Verschränkungsbindung brechen. Vorausgesetzt, die Endpunkte sind absolut sicher ...

Sie könnten möglicherweise einen Man-in-the-Middle-Angriff aufbauen, wenn Sie Zugriff auf beide Enden des Pfads hätten, ohne dass der Besitzer es weiß, Sie könnten eine Art Relais einrichten ... aber nicht möglich, ohne Zugriff auf beide Enden zu haben, ohne die wirklicher Besitzer wissen.

Wenn Sie ein System verwenden, das eine Quantenverschränkung aus der Ferne ermöglicht, könnten Sie möglicherweise während der Bildung einer "Verbindung" eine Art Man-in-the-Middle-Angriff stören oder abfangen und ausführen.

Ich denke, eine andere SciFi-artige Lösung wäre, irgendwie ein Signal außerhalb unseres speziellen Universums zu senden und in ein anderes Universum zu reisen, das andere physikalische Gesetze hat, und daher in der Lage zu sein, das effektive Äquivalent von schneller als Licht zu gehen (ohne tatsächlich zu gehen). FTL). Theoretisch könnte da vielleicht etwas abzufangen sein?

ODER schreiben Sie Ihre eigenen Gesetze der Physik ... es ist Ihre Welt. Vielleicht ermöglicht eine bestimmte Art von Energiefluktuation die Erkennung eines Kommunikationskanals, wenn er sich in und aus einer interräumlichen Tasche bewegt.

OK, also behandeln wir das Ansible-Netzwerk wie ein IP-Netzwerk aus den 1980er oder frühen 90er Jahren.

Jedes Ansible leitet Pakete ähnlich wie ein IP-Netzwerk mit ähnlichen Schwächen wie das historische Internet weiter.

Die Geschichte hat einige lustige Beispiele.

https://en.wikipedia.org/wiki/AS_7007_incident

Manchmal will man einfach das System der anderen Jungs brechen. Stellen Sie also eine Verbindung zum Netzwerk her und verwenden Sie so etwas wie BGP, um anzukündigen, dass Sie die beste Route zu absolut allem und jedem haben. Plötzlich ist Ihr Knoten ein schwarzes Loch im Netzwerk und die Kommunikation bricht für die meisten anderen Knoten zusammen.

Gut, wenn Sie ihr Netzwerk mitten im Kampf vermasseln möchten.

Als Variante 2:

Sie können etwas Ähnliches tun, um nur ihr Kommandoschiff mitten im Kampf abzuschneiden. Geben Sie an, dass Sie die beste Route zu einem bestimmten Knoten haben. ähnlich dieser Veranstaltung:

http://web.mit.edu/6.02/www/s2012/handouts/youtube-pt.pdf

Version 3: Ähnlich, aber kombiniert mit Spoofing, um gefälschte Befehle wie „Feuerrakete auf diese Koordinaten“ zu senden, die tatsächlich der Standort des Kommandoschiffs sind.

Version 4: Fälschen Sie die Adresse eines Schiffes, das nicht das Kommandoschiff ist, und senden Sie dann gefälschte Waffendaten, die darauf hindeuten, dass es gehackt wurde und damit begonnen hat, Stealth-Raketen auf das Kommandoschiff abzufeuern, damit das Kommandoschiff sie angreift.