Understanding Bounding Functions in Safety-Critical UAV Software
Introduction
无人机软件安全的经验视角
- 特点
- bottom-up:听取现场无人机软件开发人员的意见,并逆向工程他们认为最关键的安全软件组件是什么。
- Bounding Functions (BF) :BF是程序员插入的动态检查,以确保有界变量Bounded Variable (BV)保持在规定范围内。
- 假设:BFs的使用与无人机特有的安全问题保持一致。
- 双管齐下的呃呃方法验证猜想:
- 静态的:从源码中识别所有的BF,并提供基于数据类型的BF用途的详细分类
- 动态的:进行微分模拟,以说明BF使用对无人机行为的影响
A Datatype-based Taxonomy
- 发现
- 大量变量是int或float
- BV属于一小组众所周知的无人机参数,反映了它们的网络物理性质,称之为物理变量
- 具体分类
- Trajectory Management ( TM ):为无人机提供安全导航的BF实例,主要是position, distance, and heading等有界物理变量。
- Sensor Management (SM): 提供有效传感器读数的BF实例,与传感器值直接相关的边界物理变量。
- Speed and Acceleration Management (SAM): 确保发动机安全速度和加速的BF实例,将这两个物理变量限制在内。
- Engine Management (EM):BF实例通过边界2个物理变量为发动机提供安全:发动机的推力和油门。
- Pose Management (PM):保持无人机定向安全的BF实例。这些实例主要绑定无人机的3个物理变量:pitch, roll, yaw。
A Differential Simulation
- 为了交叉验证BF是否真的对无人机行为的正确性产生影响,对BF的影响进行了细粒度模拟
Summar
- identified 241 BF through analyzing Paparazzi’s 2049 source files in autopilot software modules
- 对109个物理变量进行了划分
- 开发了工具PBF-Detector (Paparazzi Bounding Function Detector)
Background
Engine and Pose
- Engine management:与无人机的速度和加速度直接相关
- Pose(attitude):由3个角度表示(欧拉角度)
- 固定翼飞机通过使用飞行控制表面来改变姿态
- 旋翼飞机通过改变向相反方向旋转的电机的转速来改变姿态
Navigation
- path planning:路径规划是承担飞行任务目标的步骤
- trajectory planning:轨道规划需要访问的下一个路点,并计划一个推力和姿势,以设置无人机到达该路点。
- heading:无人机指向的一个方向
- course:无人机前进的方向
Paparazzi Flight Controller Software
- Paparazzi UAV software suite是能够在各种无人机上飞行的模块集合
- 传感器值输入惯性导航系统(INS),该系统估计无人机的位置、速度和加速度