Secure Mavlink?

tops4u

Neuer Benutzer
#1
Hallo zusammen,

mal eine Frage. Es gab mal einen Vorstoss das Mavlink Protokol abzusichern. Aktuell kann wohl jeder mit entsprechender HW einfach einen Kopter mit Mavlink übernehmen. Entsprechende Versuche wurden durchgeführt.

Entsprechend gibt es ein RFC zu sMAVLINK. Hat jemand informationen dazu wie der Stand ist? Gibt es andere Möglichkeiten einen die MAVLINK Kommunikation abzusichern? Ich würde meinen Kopter ungern einfach davonfliegen sehen nur weil jemand einen 433MHz Sender hat mit einer Groundstation.
 

Rangarid

Erfahrener Benutzer
#2
Nimm einfach eine andere Übertragungsart. Da würde mir auf die schnelle z.B. ESP8266 einfallen, da gibt es einige verschiedene Module. Das ist quasi ein WLAN-Modul inkl. Verschlüsselung. Reichweite ist etwas geringer als bei 433Mhz, sollte aber trotzdem in der Regel ausreichen.
 

gervais

Ich brauche mehr Details
#3
Aktuell kann wohl jeder mit entsprechender HW einfach einen Kopter mit Mavlink übernehmen. Entsprechende Versuche wurden durchgeführt.
Ich habe schon zweimal den Copter aus Versehen mit der Notebook GS "übernommen", das endete jedes Mal mit im Chaos, da das Airmodul bzw. Arducopter bestimmte Befehle (hier: Flugmodi Umschaltung) nicht gleichzeitig interpretieren kann bzw. selbstständig generierte.

Eine echte Übernahme ist daher aus meiner Sicht nur dann denkbar, wenn Du mit angestöpseltem Air Modul ohne eigene GCS fliegst. Aber wer macht das schon ?
 

tops4u

Neuer Benutzer
#4
Naja bei einiger Entfernung reicht eine Feldstärkenüberlegenheit wohl aus oder der 'gegnerische' Sender ist einfach stärker oder hat ne deutlich bessere Antenne. Auch einen Absturz möchte ich wegen sowas nicht hinnehmen. Es gibt immer ein paar kranke Typen die das dann auch tun.
 

gervais

Ich brauche mehr Details
#5
Da passiert aber keine Übernahme. Das würde ich als Jamming bezeichen. Davor bist Du ohnehin nicht gefeit. Auch nicht mit secure mavlink oder gar mit einem WLAN Modul, (das ich schon mit der Hott platt drücke) Jamming geht immer. Manchmal ohne, dass es jemand will. Richtfunkstrecken z.B. Stell einfach die im Netz beschriebenen Versuche nach. Wenn jemand fit ist, z.B. weil er sich schützen will bzw. muß, legt er jede Deiner Verbindungen still.
 

tops4u

Neuer Benutzer
#6
Nun wenn es so ist wie Du schreibst, dann reicht ja ein 2. Mavlink welcher den ersten soweit stört, dass der FC widersprüchliche Kommandos erhält, was ja zu einem Absturz führen kann. Bei reinem Jamming würde halt der Link zusammenbrechen, der FC könnte das feststellen und entsprechend z.B. eine Landung machen (je nach Einstellung der Failsafes).
 

Rolf_

Erfahrener Benutzer
#7
Das erste sollte sein, die Standard-ID zu ändern, damit nicht unabsichtlich 2 Kopter mit 2 GS auf der gleichen ID sich gegenseitig Probleme machen.
 

Jace25

Erfahrener Benutzer
#8
...
Eine echte Übernahme ist daher aus meiner Sicht nur dann denkbar, wenn Du mit angestöpseltem Air Modul ohne eigene GCS fliegst. Aber wer macht das schon ?
Kommt schonmal vor, wenn ich nur mal eben schnell was testen will und das Tablet nicht angeschlossen habe... Mir wäre es am liebsten, wenn man die Mavlink Funktionen einschränken würde. Der MissionPlanner warnt ja beispielsweise wenn man alle Parameter Refreshed (Dont do that in flight (oder so ähnlich)). Idealerweise müsste man Einstellen können, dass Gewisse Funktionen über Mavlink nur solange funktionieren, wie nicht gearmed ist.

Wer dann verbotenerweise Autonom fliegen will, hat muss dieses Sicherheitsfeature dann halt deaktivieren, um seinen Copter per GCS zu steuern.

Edit:
https://github.com/diydrones/ardupilot/issues/3275
 
Zuletzt bearbeitet:

gervais

Ich brauche mehr Details
#9
Das erste sollte sein, die Standard-ID zu ändern, damit nicht unabsichtlich 2 Kopter mit 2 GS auf der gleichen ID sich gegenseitig Probleme machen.
Na klar, sicher eins der Hauptprobleme. Eine Zeitlang haben meine chin. Freunde mit einer best. Net ID ausgeliefert (die ich hier nicht nenne) und das bleibt dann einfach so....

Bei mir ist die "unified Net ID" reine Faulheit, aber ich fliege ohnehin entweder im extremen Nahbereich...oder in der Pampa, und da habe ich ganz andere Sorgen..

@Jace: Das ist sicher ein guter Gedanke, aber ich sage mal das Gegenteil voraus. Als die IRIS kam, wollten ein paar meiner Freunde aus den USA eigentlich gar keine "Fernbedienung" mitbestelllen, da man doch ein Tablet hätte.
 
Zuletzt bearbeitet:

DerCamperHB

Erfahrener Benutzer
#10
die Standard dürfte ja die 25 sein, bei uns hatten wir das Problem das bei anderer ID die Verbindung nicht stabil war, und bei dem Set von flyduino lässt sich im Airmodul nicht mal die ID wechseln, zumindest in der Verbindung RX/TX hat man kein Zugriff auf Änderungen, auch über die Funkverbindung
Kann immer noch nicht verstehen das die Module kein Passwort besitzen, wenn das jedes billiges BT das schon hat
 

Jace25

Erfahrener Benutzer
#11
@Jace: Das ist sicher ein guter Gedanke, aber ich sage mal das Gegenteil voraus. Als die IRIS kam, wollten ein paar meiner Freunde aus den USA eigentlich gar keine "Fernbedienung" mitbestelllen, da man doch ein Tablet hätte.
Dann gibts als nächstes ein Issue, damit man den Copter nicht per Fernsteuerung Hijacken kann... :D (mir ist klar, dass das nicht ohne weiteres geht ;-) )

Naja, mal schauen, was die Devs zu meinem Vorschlag sagen. Sinn macht so ein Feature denke ich schon. Und es gibt Parameter für sinnlosere Dinge, von daher wäre das doch wenigstens ein Nachvollziehbares Setting. :)
 
Zuletzt bearbeitet:

Rolf_

Erfahrener Benutzer
#12
Ein böswilliger Script-Freak übernimmt mit ein paar automatisierten MAV-Link-Befehlen den Kopter am Boden, bevor man ans "manuelle" Armen per RC kommt und hat mit wenigen weiteren Befehlen die RC-Anlage ausgeschlossen. Sicher wird man da mE erst, wenn man einen sicheren Übertragungsweg wie BT oder zB Mobilfunk-Netzwerk nimmt. Vor zufälligen Störungen durch Flieger mit gleicher ID würde ein Abschalten der "Empfangsfunktion" von MAV-Link-Daten nach dem Armen sicher helfen, aber GUIDED-Modes für Fellow-me Funtionen etc. gingen auch nicht mehr.
 

Jace25

Erfahrener Benutzer
#13
Ich Rede ja auch nur von einem optionalen feature, welches beispielsweise aktiviert werden kann, wenn man mit vielen anderen fliegt, o.ä.

So KANN man mehr Sicherheit bekommen, kann sie aber gleichzeitig deaktivieren um alle features zu nutzen. Mich selber würde das schon reizen. Und die Diskussion über secure mavlink geht mindestens bis 2013 zurück. Wer weiss wann das fertig ist und was das dann für Anforderungen mit sich bringt. Das was ich meine ist etwas, was sich jetzt mit Bordmitteln umsetzen lässt. Ich kann einfach im Mission planer einen safe mode oder so aktivieren und ab diesem Zeitpunkt kann, sobald der copter gearmt wird, nichtmehr geschrieben sondern nur noch gelesen werden (oder so in der Art).
 

Rolf_

Erfahrener Benutzer
#14
Ich bin da ganz Deiner Meinung und finde es klasse, dass Du gleich die Anregung gestartet hast. Ich fliege auch oft mit anderen zusammen. Die Pix-User sind dabei noch überschaubar und wir sprechen uns mit der ID ab. Aber wer weiß, da braucht nur mal einer hinter der nächsten Hecke mit gleicher ID zu stören und da ist Dein Vorschlag ein gutes Sicherheitsfeature. Als "Workaround" bis dahin fliege ich oft auch ohne 433 MHZ Telemetrie und lass mir die relevanten Werte über die Frsky Telemetrie runterschicken. Wäre eigentlich ideal, wenn die bidirektional einzusetzen wäre.
 

Jace25

Erfahrener Benutzer
#15
Als "Workaround" bis dahin fliege ich oft auch ohne 433 MHZ Telemetrie und lass mir die relevanten Werte über die Frsky Telemetrie runterschicken. Wäre eigentlich ideal, wenn die bidirektional einzusetzen wäre.
Ja, absolut. Vor allem weil hier die Übertragung sicherer ist. Wäre ein klasse Feature, wenn man nur noch das USB Kabel an der Funke anschließen müsste, um Parameter oder ähnliches zu ändern.
 

kofferfisch

Erfahrener Benutzer
#16
Als Anfänger in der Ardu-Materie interessiert mich diese Diskussion ebenfalls, zumal die Umstellung auf Pixhawk u.. mit dem Hintegedanken, Photogrammetry-, Vermessungs- und SAR-Missionen zu fliegen.

Gibt es keine Prioritätenliste des Typs: RC > Failsafe > MavLink Telemetry? Welcher Befehl hat Vorrang, wenn RC und GCS widersprüchliche Befehle (z.B. FlightMode) senden?

Könnte man (ganz naiv), der 433 Telemetry einfach per RC-Schalter den "Saft abdrehen" und bei nur bei Bedarf zuschalten? Koppeln sich Air- und Groundmodul wieder selbsständig, wenn wieder Reichweite oder Strom anliegt?
 

kinderkram

Erfahrener Benutzer
#17
Die Möglichkeit, den Copter über MAVlink zu kapern bieten nur die APM und Pixhawk FCs, weil die Steuerbefehle über MAVlink akzeptieren.

Der AutoQuad z.B. lässt keine Steuerbefehle zu außer dem Mission Mode, der vom Piloten aber jederzeit über die Funke ausgeschaltet werden kann. Da bleibt Angreifern nur, das Signal zu jammen - hat aber nur zur Folge, dass keine Telemetriedaten mehr ankommen, echtes Hijacking ist damit nicht möglich.

Abschalten (Stecker ziehen) wär eine Möglichkeit, das Problem zu umgehen - oder eben auf eine andere Übertragungsart umzusteigen. 3DR sollte jedenfalls schnellstens ne FW rausbringen, wo man die Steuerbefehle von vorn herein abschalten kann...
 

gervais

Ich brauche mehr Details
#18
.......
Könnte man (ganz naiv), der 433 Telemetry einfach per RC-Schalter den "Saft abdrehen" und bei nur bei Bedarf zuschalten? Koppeln sich Air- und Groundmodul wieder selbsständig, wenn wieder Reichweite oder Strom anliegt?
Ja, das Airmodul kann man nach Belieben via Vcc Ab- und Anschalten. Kannst Du am Boden Testen.
 

DerCamperHB

Erfahrener Benutzer
#19
Vorrang hat immer der letzte Befehl, ausser RC Simulator in der GS, die steht über der RC Verbindung, das hatten wir mal getestet
kinderkram Autoquad nutzt ja die gleichen Module, sind die wirklich ohne PW in der Firmware, oder nutzt das bloß keiner?
 

kinderkram

Erfahrener Benutzer
#20
Nee, PW kann man leider nich festlegen - daher ja die Misere.
Mit ner PIN o.ä. wie bei BT wäre das nich so angreifbar...

Das Thema hatten wir vor geraumer Zeit schonmal: MAVlink zu verschlüssen, wäre zu aufwändig.
Am einfachsten wäre, die FW so zu ändern, dass sie eine PIN vorraussetzt, die beim Verbinden ausgetauscht wird.
Damit wären auch Zufallsverbindungen wg. identischer IDs ausgeschlossen.
Da bei uns aber ohnehin keine Gefahr des Hijackings besteht, haben wir uns damit nicht weiter beschäftigt.
Wem das trotzdem zu unsicher ist, sollte auf XBees umsteigen...
 
FPV1

Banggood

Oben Unten