Securing MAVLINK?


I was unsure in which category to put this. As many know MAVLINK is not secure and hacking it is very simple. One could send false commands or use replay to make a Vehicle go mad, fly away or disarm during flight.

As to date a S-Mavlink Protocol is not yet available.

I have a proposal, in order to reduce the damage that may be caused when somebody tries to inject malicious commands to the own Vehicle.

Would it be possible to limit the accepted Commands on MAVLINK via Telemetry Level i.e. via a Bitmask:

  • Allow/Disallow Arm/Disarm via Mavlink
  • Allow/Disallow Flight Mode Change via Mavlink
  • Allow/Disallow Change of Flightplan for Mission
  • Allow/Disallow Change of Tuning Parameters
  • Allow/Disallow Change of Any Parameters of the Vehicle (This would limit access via USB only)

If for example only Flight Plan is allowed to be changed a simple Switch to any other Flight Mode would inhibit the foreign influence.

If such a feature already exists, I was not able to find it and you may delete this thread.


No interest in such a feature?

There is a way to secure your data connection, so why securing the MAV?? This will bring another set of problems to MAV.

How would I secure Mavlink over a 433MHz UMite Telemetry? I think limiting the mavlink Commandset over Serial Interfaces would be easy and effective.

Use secured serial link.

AFAIK this would only be possible by using additional/different (expensive!) Hardware.

EASA will most probably have a look at Command / Controll / Telemetry Links in future EU Rules for UAV. In my opinion limiting the harm that can be caused over the Telemetry Link would be an instant benefit for all PX4 Users without the need of additional Hardware. The above Proposal would be a simple but yet effective way for all Users to have Telemetry enabled without the risk that somebody may abuse the Link. In my Opinion the public reputation of UAV is still decreasing, as for this there are enough People out there who may actually want to cause havoc to a UAV. Which is pretty simple given most Telemetry HW in use (virtually anybody can do it).

There are different attack vectors towards MAVLINK so a simple Solution to secure the Protocol would consume Time and most probably CPU Power which not all FlightControllers might have.

I do hope there are some supporters to this Proposal…

Proposal from RPAS (Remote Pilotes Aircraft Systems) from ICAO (Internation Civil Aviation Organization) regarding C2 Link Requirements:

Other important aspects related to the C2 link and airworthiness include the security of the C2 link against
hacking, spoofing and other forms of interference or malicious hijack, as well as unintentional interference. Mitigations must be implemented to prevent the C2 link from connecting the RPS to an unintended RPA or vice versa.

1 Like