Hack-A-Sat太空信息安全挑战赛深度题解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 太空信息安全挑战赛情况分析

1.2.1 挑战赛题目分析

HAS是结合了航天与信息安全两个领域的比赛,在其题目设置上也体现了这一点,有别于传统的信息安全夺旗赛。一般的卫星运行都包括3部分:地面站、星地链路、卫星。HAS的挑战题也是围绕这3部分进行的。在题目中除了传统的密码破解、逆向工程、信号截获分析等信息安全知识,还结合了天体物理学、天文学的相关知识,体现了太空信息安全的特殊性。涉及的技术也是相当广泛的,既有与嵌入式操作系统相关的技术,也有与处理器相关的技术,还有与信号处理、软件无线电相关的技术,因此对参赛者的能力和知识面提出了极高的要求。

以HAS2020资格赛为例,HAS2020资格赛共有34道题目,其中有3道题目(位于Space Cadets类别下)用于熟悉比赛环境,所以实际上有31道题目。这31道题目按照卫星运行涉及的领域分为6类,每类平均有5道题目,且每类的5道题目均区分了难度,从易到难,相应的分值也是从低到高,如表1-1所示。

表1-1 HAS2020的题目

续表

这6类题目的具体情况分析如下。

1)AAAA

AAAA是天文学(Astronomy)、天体物理学(Astrophysics)、天体测量学(Astrometry)和天体动力学(Astrodynamics)的简称,从类别名称就可知道这一类挑战题主要是航天专有的,涉及卫星运行轨道分析、星追踪器使用、确定卫星在空间位置等。例如,其中的“beckley”这道题目,给出了一颗卫星的两行轨道根数(Two-Line Element,TLE)、卫星所带相机拍摄的一张照片及拍摄时间,要求先推测出这颗卫星拍摄这张照片时的坐标、拍摄角度,然后通过Google Earth模拟卫星的位置、角度,最后找到flag。为了解答这道题目,需要理解掌握空间坐标系转换等知识,并学会使用Google Earth采用的地理数据的交换方式KML(Keyhole Markup Language)、Python的天文学包Skyfield等专用工具。

2)卫星平台(Satellite Bus)

本类别主要针对卫星平台设置题目,除了需要掌握传统的信息安全方法,如逆向分析,还需要对遥测遥控等航天知识有所了解。例如,其中的“patch”这道题目,模拟的卫星平台使用的是NASA公布的一个独立于平台和项目的可重用软件框架cFS(core Flight Software),提供了cFS的部分固件文件,需要对该固件文件进行逆向分析,找到系统维护的缺陷,然后需要使用遥测遥控软件COSMOS对卫星平台,按照CCSDS(Consultative Committee for Space Data Systems,国际空间数据系统咨询委员会)的标准格式,发送MM(Memory Management,内存管理)指令,将指定内存地址的数据读取出来,就是flag信息。

3)地面段(Ground Segment)

本类别主要从卫星地面站的角度设置题目,涉及跟踪卫星、遥测遥控卫星等。例如,“rbs_m2”这道题目,模拟背景是有3个非法地面站正在跟踪我们的卫星,并发出干扰信号,但是不知道跟踪的是哪些卫星,现在获取了这3个非法地面站控制天线马达的电缆发出的电辐射信号记录。要求使用这些记录来推断这3个非法地面站正在跟踪哪些卫星。本题目需要使用的知识除了TLE、Skyfield,还涉及电磁场、天线伺服基本原理等。

4)通信系统(Communication System)

本类别主要针对地面站与卫星之间的星地链路设置题目,题目相对传统,涉及软件无线电、调制解调等。例如,“phasor2”这道题目,给出了截获的星地链路之间的一段信号记录,要求恢复基本的信息,并从中取出flag。本题目需要分析该信号记录的调制解调方式、编码方式,并使用软件无线电工具GNURadio进行解调。

5)载荷模块(Payload Modules)

本类别主要针对卫星载荷设置题目,涉及卫星遥测遥控、密码算法破解、逆向工程等。例如,“spacedb”这道题目,模拟某颗卫星因为一次更新,导致其内部的软件出现问题,需要参赛者纠正该问题,否则卫星将永久失去作用,并给出卫星使用的是一个定制的嵌入式Linux系统KubOS。KubOS是一系列微服务的集合,这些微服务组成了高度容错和可恢复的操作系统,用来运行要求很高的飞行软件FSW(Flight SoftWare)。解答本题目需要掌握KubOS中任务调度服务、遥测数据库服务等的使用方法。

6)杂项(Space and Things)

这一类中的题目不好归类到上面5类的太空信息安全挑战题,它既有推测卫星位置的题目,也有卫星载荷任务规划的题目。例如,“mission”这道题目,这是一道关于侦察卫星的题目,在给定的背景下,要求给出该卫星的任务规划,实现拍摄特定目标并下传拍摄图像的目的。侦察卫星对应的是USA 224,题目给出了当前时刻、侦察卫星的TLE、卫星要侦察的目标的经纬度(伊朗航天港),要求参赛者设计一个卫星拍照计划,从指定时间开始,在48h内取得目标的图像信息,并回传到地面站(坐标位于美国阿拉斯加州费尔班克斯)。

HAS2020决赛的题目是一个多任务组成的题目。每支进入决赛的队伍都会有一颗训练用模拟卫星“FlatSat”,FlatSat基于Artix 7 FPGA,其中运行欧洲航天局的Leon开源处理器,不仅配备模拟的制导导航与控制系统,还包含有效载荷系统。决赛的环境与训练用FlatSat相似,但是主办方做了一些修改,添加了一些bug。此外,主办方还提供了一个与之交互的树莓派。决赛的背景是假设卫星已遭攻击者入侵并破坏,目前处于失控状态。参赛队需要重新夺回对卫星的控制权。为此,各参赛队需要完成6项具体任务,这6项任务环环相扣。

任务0:获得对卫星地面站的控制权。

任务1:尝试与失控并处于自旋状态的卫星建立链路。

任务2:尽快修复卫星,阻止其继续不受控制地旋转。

任务3:建立与卫星上有效载荷模块及成像设备的正常通信。

任务4:先恢复有效载荷的正常运行,然后控制成像设备。

任务5:利用卫星成像设备拍摄实验室月球图像以证明成功恢复对卫星的控制。主办方将选择一支参赛队的解决方案并将其上传至太空中的真实卫星,验证能否成功拍下月球实际图像。

1.2.2 挑战赛人员分析

HAS2020与HAS2021资格赛的前3名均为Poland Can Into Space、PPP、FluxRepeatRocket(顺序有所不同),HAS2020决赛冠军是PFS,HAS2021决赛冠军是Solar Wine。下面对这几支队伍进行介绍。

Poland Can Into Space:这支参赛队的名字取自“波兰上不了太空(Poland cannot into space)”,而“波兰上不了太空”来自一幅漫画,内容是陨石来了,有航天技术的各国都跑了,只有波兰留在地上,来嘲讽波兰上不了太空。本支参赛队将队名命名为Poland Can Into Space,就是对这个嘲讽的回击。这支队伍实际上是由来自波兰的两支队伍组成的,分别是Dragon Sector、P4。其中,Dragon Sector成立于2013年,现有17名成员,自成立以来,其在世界CTFTIME上的排名一直很靠前,如表1-2所示,其Logo如图1-1所示。P4现有18名成员,其在世界CTFTIME上的排名最好成绩是2018年第3名,其Logo如图1-2所示。在HAS2020决赛中,虽然Poland Can Into Space没有获得冠军,但是他们的解决方案被最终选中上传至实际卫星,并成功拍下了月球图像,如图1-3所示。

图1-1 Dragon Sector队伍的Logo

图1-2 P4队伍的Logo

图1-3 Poland Can Into Space参赛队的方案被上传至真实卫星所拍摄的月球照片

PPP:全称是Plaid Parliament of Pwning,是一支起源于美国卡内基梅隆大学的参赛队,成立于2009年,现有47名成员,其历年在世界CTFTIME上的排名如表1-2所示,可以发现其水平是非常高的,排名长期保持在前10名,甚至大部分时间都是前5名,其Logo如图1-4所示。

图1-4 PPP队伍的Logo

FluxRepeatRocket:这支队伍实际上是由来自德国的3支队伍组成的,分别是FluxFingers、EatSleepPwnRepeat和RedRocket。其中,FluxFingers是波鸿鲁尔大学的CTF团队,所有的成员都是这所大学的学生,该队伍成立于2007年,现有32名成员,自成立以来,其在世界CTFTIME上的排名如表1-2所示,其Logo如图1-5所示。EatSleepPwnRepeat实际上是由3支名为Stratum0、CCCAC和KITCTF的CTF队伍组成的,现有15名成员,其在世界CTFTIME上的排名最好成绩是2017年第1名。RedRocket成立于2017年,现有11名成员,其在世界CTFTIME上的排名一直在进步,最好成绩是2021年第27名。

PFS:全称是Pwn First Search,成立于2019年,现有12名成员,其在世界CTFTIME上的排名如表1-2所示。虽然其成立时间短,但是进步很快,最好成绩是2020年第55名,其Logo如图1-6所示。

图1-5 FluxFingers队伍的Logo

图1-6 PFS队伍的Logo

Solar Wine:这支队伍来自法国,现有21名成员,与其他参赛队不同的是,Solar Wine 并不是一支职业CTF队伍。

从上述分析可知,参加HAS最后取得优异成绩的参赛队都是世界上顶尖的黑客团队,也从侧面说明了HAS比赛水平很高,太空与信息安全相结合很吸引黑客关注。

表1-2 资格赛前3名及决赛第1名的参赛队的世界CTFTIME排名

1.2.3 挑战赛成绩分析

1)题目难度大

HAS2020与HAS2021虽然参赛人数、参赛队伍都比较多,但是由于题目难度比较大,只有个别水平极高的专业CTF队伍能够获得较高的成绩,表1-3所示为HAS2020、HAS2021资格赛中参赛队的积分分布情况。从1-3表中可知:

● HAS2020资格赛中88%、HAS2021资格赛中77%的参赛队积分都在100分以下。

● HAS2020资格赛中只有9支、HAS2021资格赛中只有7支参赛队的积分在2000分以上。

表1-3 HAS2020、HAS2021资格赛中参赛队的积分分布情况

2)HAS2021解题情况好于HAS2020

HAS2020资格赛的每道题目解答成功率、平均解答时间如表1-4所示。HAS2021资格赛的每道题目解答成功率、平均解答时间如表1-5所示。HAS2020资格赛与HAS2021资格赛的每道题目解答成功率、平均解答时间的对比分别如图1-7、图1-8所示。从中可以发现:

● HAS2020资格赛的31道题目中,有3道题目没有参赛队解答成功。

● HAS2021资格赛的21道题目均有参赛队解答成功。

● HAS2020资格赛的整体解答成功率低于HAS2021资格赛的整体解答成功率。

● HAS2020资格赛的平均解答时间长于HAS2021资格赛的平均解答时间,HAS2020中很多题目的平均解答时间在10h以上,HAS2021的平均解答时间均在10h以内。

因此,整体而言,HAS2021解题情况好于HAS2020,原因可能有以下两方面:一方面是HAS2021资格赛参赛队数量少,很多参加过HAS2020的实力偏弱的队伍没有参加HAS2021;另一方面是经过HAS2020的锻炼,很多参赛队对太空与信息安全的结合有了一定认识,对太空相关的知识也有了一定了解,因此在解题上熟练一些。

表1-4 HAS2020资格赛的每道题目解答成功率、平均解答时间

续表

表1-5 HAS2021资格赛的每道题目解答成功率、平均解答时间

续表

图1-7 HAS2020资格赛与HAS2021资格赛的每道题目解答成功率对比

图1-8 HAS2020资格赛与HAS2021资格赛的每道题目平均解答时间对比