《卫星十大安全风险2023》首发

admin 2023年11月28日15:15:41评论24 views字数 2715阅读9分3秒阅读模式

拒绝服务攻击

拒绝服务攻击的方式有很多,例如这四种类型,一是通过向卫星的通信频段发送大量干扰信号以阻塞频段干扰地空通信。二是使用大功率发送伪造内容代替原信号以压制替换为其他视频信号内容。三是通过抓取正常通信的信号进行分析执行命令情况,然后进行信号重放让卫星重复执行相应命令。例如某观测卫星被恶意操纵转向太阳,图像观测元器件直接报废。四是基于试图通过在卫星系统中产生数据过载来中断系统的操作。

不加密通信

很多早些年发射的卫星通用安全问题是缺少对遥控指令TC的加密和身份验证,这导致通信模块COM上的访问控制被绕过,具有自定义地面站的攻击者可能会向卫星发出任意命令。而且还没有很好的解决方案,一些卫星所采用的ICP协议必须进行扩展才能进行加密。还有CSP协议虽然可以提供XTEA加密算法和基于哈希的消息验证码(HMAC)验证,但这些功能在编译时可能被禁用了。因此,COM不提供任何保护,攻击者可以通过执行任意TC来控制卫星。另外CCSDS、GRE、X.25及卫星网络中TCP协议都有一些不安全的设计。

缓冲区溢出

一些TC存在各种任意读取和写入内存的安全问题,攻击者通过命令控制传递的所有参数,任何拥有自定义地面站GS的人都可以利用它们来获得远程代码执行并控制卫星,攻击者还可能将固件更新写入闪存,从而使卫星的接管变得不可逆转。目前大部分卫星所使用的实时操作系统RTOS没有任何在Linux或Windows系统中已经成熟的内存保护功能,例如ASLR、Stack cookies等对抗栈溢出攻击的技术。

缺少身份验证

某些卫星所使用的COM中的CCSDS引擎实现了TC的解密,但它没有实现TC的认证,因此,攻击者可能使用重放攻击或伪造密文攻击来绕过解密,具体取决于支持的加密类型。由于很多卫星数据通信是不加密的,通过对卫星通信频谱进行分析,获取通信频段,然后对接收设备调频,能够接收到卫星的数据,窃取地空传输数据或重放控制指令。

控制数据泄露

一些卫星在接收到ICP数据包时,通过FreeRTOS数据队列传递到命令调度器,命令调度器使用自变量来执行相关联的命令,但解析命令结构的函数不会根据ICP数据包或payload的总长度验证参数长度字段。攻击者可指定恶意长度字段,该字段表示参数比实际长度更长。这导致命令处理程序函数从堆内存中使用的字节数超过预期,从而导致缓冲区溢出。因此,攻击者可以在TC中包含其他数据,导致控制数据泄漏。利用不受环境条件的影响,但提取特定的信息要取决于堆布局。该漏洞有些类似于之前知名的OpenSSL Heartbleed漏洞。

不安全的更新

很多卫星使用闪存文件系统来存储文件,包括固件镜像,如果TC允许创建新文件并对其进行写入,就能够将恶意固件镜像上传到卫星上。但要更改指向当前镜像的文件系统路径,可能要启用关键命令,这是一些卫星设置中的全局布尔标志,可以通过不需要额外验证的TC来更改此标志。类似的关键功能会隐藏在同一个标志后面。

遥控TC数据注入

虽然常见的单个CAN总线数据包每次传输限制为8个字节,但任意数量的数据包可以在发送传输结束标记之前发送。同时,这些数据包被复制到一个静态缓冲区中,使攻击者能够进行超出预期范围的写入。如果PDHS等数据处理系统对传输的数据具有完全控制权,就可以让破坏PDHS等数据处理系统的攻击者能够将数据注入Link TC Fetcher。

不安全的组件

软件供应链攻击一样存在于各类卫星系统之中,例如一些卫星的OBSW中的GomSpace NanoMind SDK利用了uffs库,该库实现了低成本的闪存文件系统,根据该库的作者不完全统计该库在大约75艘航天器上使用了,NASA也使用了该库。该库在文件重命名过程中发现了一个基于堆栈的缓冲区溢出漏洞,在该漏洞是由于新文件的名称在没有任何大小检查的情况下被复制到静态大小的缓冲区中,从而导致任意代码执行。
另一个比较受欢迎的库是libCSP,它也有类似的漏洞,该库的加密原语实现受到只使用一次的可预测数字(nonce)、MAC验证的定时侧信道和重放攻击的影响。这些问题可能会影响相当多的航天器。

不安全的字段大小

在CDHS中的SPP实现完全信任数据包的字段大小,该字段从未经过过滤,并导致缓冲区溢出漏洞。一些卫星完全信任SPP中包含的大小字段,即使在验证了CCSDS大小字段之后也是如此。攻击者可以在其攻击命令中包含以前TC的数据,从而导致TC更改,半特权操作员可以通过TC Fetcher利用TC更改来有效执行不同的命令,虽然只能执行操作员在GS上授权的TC。

另外在CCSDS解析器中有一种填充机制,它通过增加缓冲区指针而跳过前导填充,而不更新相应的大小字段。攻击者可以利用这一点,通过重写原始缓冲区,强制CCSDS解析器读取其他TC数据包数据,有效地将其他TC数据包括在攻击者的TC中,从而允许半特权操作员在上传后更改其TC。该漏洞也可通过TC Fetcher接口(如可信大小字段)进行攻击。

不安全的协议

一般来说越重的卫星需要更高的发射成本和可能更昂贵的组件,这自然会增加项目的复杂性,所以复杂的卫星更有可能使用标准协议,而小型卫星则更倾向于开发自定义协议。目前全球卫星标准协议的首选是CCSDS系列协议,该生态系统非常复杂,至少有14种不同的协议和使用互联网协议的选项(IPsec、TCP),所以为一颗卫星选择协议是不简单的,因为每个选择的协议,该协议要求对复杂标准文件中的潜在问题和优势进行单独调查。在空间领域尤其缺乏最佳安全实践。抛开行业在使用CCSDS方面的局限性不谈,在过去十年的顶级安全学术会议上,几乎找不到一个提到CCSDS的议题。这对于一个自1995年以来一直在开发的协议来说是非常可怕的!它与SSL2.0一样古老。

以上十大安全风险是围绕卫星本身的漏洞类型,不包括一些公开信息获取(如通过一些开放的数据和软件获得卫星的实时轨道位置)或恶意的硬件攻击(如出于敲诈勒索或恐怖主义等目的控制卫星,将其用作动能武器,使其与其他太空资产相撞)等,另外关于卫星互联网的安全关键科技挑战也可以从这十个安全问题去思考,可以看出基本上卫星安全问题和传统网络安全相差无几,从安全的启动到保持软件更新,以及做好身份管理和权限颗粒度管理都是我们日常常见的安全手段了。山石安研院也希望能与更多的卫星研发机构建立安全合作。随着卫星研发和发射成本的日益降低,将会有越来越多的各类卫星发射上天,但频率和轨道资源是人类不可或缺的有限自然资源,希望大家且用且珍惜,少制造太空垃圾。

原文始发于微信公众号(山石网科安全技术研究院):《卫星十大安全风险2023》首发

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年11月28日15:15:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   《卫星十大安全风险2023》首发https://cn-sec.com/archives/2243820.html

发表评论

匿名网友 填写信息