0 引 言
关键基础设施等嵌入式系统设备是维护国计民生的重要资源,也是战争中的重点打击目标[1-3],如俄乌冲突中最先遭受打击的就是电力、水利等关键基础设施[4]。嵌入式系统安全类课程是网安专业的核心专业实践类课程,培养学生综合分析各类军用、民用设备安全性的能力,对提升学生综合实践和实战化水平起到非常重要的作用。
实践类课程是对理论知识的应用,是打通学生从学校到工作岗位“最后一公里”的“桥梁”,实践课程的质量直接决定了学生对知识掌握的程度以及能否胜任相关工作,甚至关系到培养学生的质量。传统的嵌入式系统安全课程实践环节的教学方法以教师演示为引导,学生按照实验指导书完成既定实验项目,完全没有自我发挥的空间。这种方法简单易操作,复用性强,确定好实验项目后可以适用多届学生,但完全丧失了课程的高阶性和创新性,降低了课程的难度和挑战度。2019 年 10 月,教育部印发了《关于一流本科课程建设的实施意见》[5],对一流本科课程建设明确了总体要求、建设内容和认定办法,提出课程要提升高阶性、突出创新性和增加挑战度。传统的嵌入式系统安全课程实践环节授课方法不符合一流本科课程的建设要求。
1 嵌入式系统安全课程教学现状
嵌入式系统安全类课程是面向网络空间安全专业学生开设的,以嵌入式设备安全分析实践训练为主,是培养学生知识综合运用能力和创新能力的高阶实践类课程。网络空间安全专业主要培养系统掌握网安基础理论和关键技术,能够在国家的关键部门从事网安相关软硬件开发、安全检测等工作,维护国家网络安全的行业高级人才。军队的网络空间安全专业,还需要学生熟练网络渗透、漏洞分析等技术,培养能够获取对方情报和关键数据,具备控制对方网络的能力,同时具备保护我方网络不受对方攻击影响的能力。
目前,网络空间安全课程体系中单一的正向和逆向课程建设很好[6],但是缺乏正向加逆向的综合类课程,如正向课程有 C 语言、Python 编程、嵌入式系统设计等,逆向课程有漏洞分析、汇编与反汇编等。单一正向或逆向学习可以使学生迅速掌握相关专业知识,但是没有综合应用场景,网安实践基地 CTF 竞赛也只考查逆向分析能力[7]。综合来说,当前网安课程体系“重理论、轻实践”,缺乏综合实战类课程[8-9],表现在这几个方面。
1)正向为主,逆向为辅。
嵌入式系统安全类课程以嵌入式系统设计等正向课程为基础,并引入信息安全等相关知识。正向设计内容多、课时量大,包括指令集架构、操作系统、外设接口等知识,留给设备逆向的课时量很少,造成课程与逆向割裂,无法有效培养正向加逆向的综合能力。
2)软件为主,硬件为辅。
嵌入式系统安全分析需要大量的实体设备解剖与硬件逆向来发现设备脆弱点,或通过硬件接口提取设备固件在进行软件分析,因此,硬件是软件的基础。然而,硬件安全分析工具属于易耗品且种类繁多易丢失,难以实现人手一套的班级化授课,因此目前授课以软件及理论授课为主,硬件为辅助工具。
3)课程繁多,缺针对性。
在疫情的影响下,在线课程迅速发展, MOOC、军职在线、微课等线上课程数量大、增长快[10],通过名师授课、远程答疑等方式,极大提升了学生学习的积极性,而且每节课 10 分钟左右,使学生的零星时间得到利用。然而,线上课程面向所有人开放,针对性弱,而且嵌入式系统安全线上课不能实践操作,所学知识无法实践检验,容易出现“听得好,忘得快”的现象。
4)联合培养,受众面小。
到一线单位或企业实习、交流是一种非常有效的学习方式,一线单位和企业有大量的目标设备,同时也会有相应的软硬件分析工具,使学生既能了解一线所需,又能利用所学知识解决实际问题。然而,这种方法受众面很小,不能大规模实施。
2 “对抗式”实战化教学模式
针对当前嵌入式系统安全课程授课模式单一、学生思维受限、难以接触一线,特别是网络空间安全专业学生缺乏“正向设计 + 逆向破解”培养综合能力的课程,构建了一种“对抗式”的实战化探索模式。该模式的整体框架如图 1 所示,实现了将一线的实战化环境搬入课堂的目的,不仅适用于网络空间安全专业,还可用于其他专业的实践课程设计。
“对抗式”实战化教学模式可以分为正向开发模块、逆向分析模块两大模块:正向开发分为 5 个步骤,分别是“定—写—搭—做—设”,通过正向开发学生利用所学知识设计,并完成 1 个具有实用功能的设备,除了课程实验外还可参加嵌入式芯片与系统设计竞赛等全国赛;逆向分析分为 5 个步骤,分别是“剖—看—提—解—挖”,通过逆向分析对目标设备进行深度安全分析,完成从设备解剖到漏洞发现的全过程,并组织学生参加大学生信息安全等网络攻防全国赛,提升学生的“实战化”水平。
2.1 嵌入式设备正向开发
利用前导知识,分组完成一个嵌入式设备从设计、开发到最后实体可用的全流程生产过程,不局限于限定题目式的实验操作,通过自主命题、一线单位需求、竞赛命题等方式,将知识从课本搬到实际场景。正向设计过程可以分为 5 步,分别是定创意、写方案、搭环境、做设备和设 Flag。
定创意。创意表的确定是正向设计的第一步,也是产品从无到有的关键一步。受课程课时限制,创意难度不能太高,否则无法在课内完成;创意难度也不能太低,否则无法体现课程的高阶性与创新性。创意内容必须能覆盖前导课程知识,让学生通过组队合作,共同努力在一定时限内完成特定任务,因此创意表内容及难度设置需要教师参与讨论并把控。基于创客工作坊的定创意方案,通过工作坊模式激活课堂氛围,激发学生创新性。
写方案。创意表是一个想法,创意方案是对创意的具体实施步骤,涉及很多技术细节、元器件选择以及组内人员分工。方案的合理性决定了创意是否能实现,因此方案需要足够细致,特别是采用技术是否可行、选择元器件是否存在等;创意方案需要与教师全程讨论。
搭环境。前面两步还处于论证阶段,完成论证后进入设备开发阶段。搭环境是设备开发的第一步,包括软硬件环境的选择:软件环境包括编译器选择、编程语言选择等,由于设备的处理器架构一般不是 X86,因此需要搭建交叉编译环境;硬件环境包括设备配件选择、传感器选择等。
做设备。准备好开发环境后就进入设备开发的第二阶段,也是正向设计最重要的一步,做设备。做设备包括代码开发、硬件开发以及最后的联调联试。为了提升开发效率,需要进行组内成员的分组开发,按照嵌入式设备的分层可以分为云、管、端、APP 等 4 层,云端开发需要选择相应的云平台,例如天翼云、华为云等;“管”是设备、APP 以及云之间的通信;“端”指的是具体设备硬件开发,包括开发板、配件、传感器等的连接,保证正确连接并配置成功;APP 指的是手机应用程序开发,能够实现对设备的控制以及与云的通信。
设 Flag。正向开发的最后一步,是体现创新性、高阶性以及挑战度的重要一步,是网络空间安全专业“对抗式”实践课程的核心,也是课程的创新点。在开发过程中预置后门 / 漏洞,并加入一些混淆机制。预置的后门 / 漏洞可以是已知漏洞,也可以是在代码里加入的脆弱性代码。
2.2 嵌入式设备安全分析
分组完成正向开发后,随机将带有预置后门 / 漏洞的设备互换,进行实战化安全分析。通过这种“对抗式”的实践模式,学生掌握网络空间安全中逆向分析相关知识,提升设备安全分析水平。逆向分析过程分为 5 步,分别是剖设备、看板子、提固件、解固件和挖漏洞。
剖设备。通过正向设计开发的设备形态多样,进行逆向分析的第一步需要把设备打开,因此需要进行设备解剖,利用螺丝刀等工具将设备外壳打开,注意不要破坏到设备线路等元器件。
看板子。打开设备后可以看到内部细节,最重要的就是电路板,因为实现设备具体功能的固件程序就在电路板上的 Flash 芯片上,需要从电路板上找到处理器、Flash 芯片、内存等核心器件。
提固件。固件中存储了操作系统内核、文件系统、特殊功能程序等重要资源,对设备的分析重点在于固件分析,因此固件提取非常重要。固件位于Flash芯片中,需要通过一定的软硬件工具从中提取出来。
解固件。固件解析是逆向分析的核心,是进行安全分析的前提。从设备中提取出来的固件是一段二进制文件,这段二进制文件可能是加密的,也可能是通过特定的压缩算法压缩的,无法直接进行安全分析。需要对这段二进制文件进行切割,从中提取出操作系统内核、文件系统等信息,特别是文件系统。
挖漏洞。通过解固件得到文件系统,在此基础上进行安全分析,发现预置的后门 / 漏洞。安全分析的方法很多,包括静态分析、动态分析等,其中静态分析有 IDA 反汇编反编译、污点分析等,动态分析有仿真调试跟踪、符号执行等。
3 “对抗式”综合实践及效果分析
以嵌入式系统安全类课程中的嵌入式系统综合演练为例,分析如何进行“对抗式”综合实践。该课程是一门综合性专业实践课程,在第 7 学期面向网安、计科等本科生开放,是对学生前 6 个学期知识的综合运用,同时也是学生进入工作前的一次重要实践,因此该课程是学生从学校到工作岗位最后一公里的桥梁,具有十分重要的地位。具体的组织过程可以分为 4 步,如图 2 所示,分别是基于创客工作坊的创意设定;嵌入式设备开发、预置 Flag 及交叉分组;设备分析与对抗;实战化展示和考核。
3.1 创客工作坊定创意
按照 4 人一组的模式将学生分成若干组,以“创客 + 工作坊”的模式组织学生讨论,最大限度地给予学生主动权,真正实现以学生为中心,激发学生的创新意识。创意范围不限,但重点在一线实际设备、全国赛命题及军用民用智能设备等几个主题,创造的作品既可以在军事和生活中应用,也可以参加“互联网 +”等全国性学科竞赛,激发学生的创造热情。组内成员围绕主题大胆创新、积极讨论,教师要做好配合、鼓励分享。创意既要天马行空也要脚踏实地,师生合作梳理已学知识和未学知识,把控好创意难度。基于创客工作坊的创意设定,实现了实践课程的翻转课堂。
3.2 嵌入式设备开发、预置 Flag 及交叉分组
目标创意设备开发包括设备正向开发与预设 Flag 2 个模块,其中设备正向开发包括写方案、搭环境、做设备 3 步,所需要的前导课程及相关知识如图 3 所示。在真实设备开发中,可以深层次掌握并灵活运行所学知识,并促使学生学习新知识,实现知识从被动灌输到主动学习的转变。设备开发完之后,在其中预置后门或漏洞,通过后门或漏洞可以夺取设备控制权。通过该方式引入分组对抗,还原真实世界的设备攻防环境。
3.3 设备分析与对抗
设备安全分析与对抗主要包括看板子、提固件、解固件和挖漏洞 4 步,目的是发现目标设备中预置的漏洞及未知的 0day 漏洞,进而实现对设备的控制。设备安全分析及对抗所需要的前导课程及相关知识如图 4 所示,其中“看板子”从开发板上找到 SPI、JTAG 等有用的外设接口;“提固件”利用上一步找到的外设接口从 Flash 中提取设备固件;“解固件”利用 Binwalk 等固件解析工具从固件中提取出文件系统、内核等程序;“挖漏洞”从解析出的固件中发现预置和 0day 漏洞,并对漏洞进行利用实现设备控制。
3.4 实战化展示和考核
传统基础类课程以考卷形式考核,但该方式不适用于实践类课程。为了真实考查学生对知识掌握和综合运用的能力,可以采用全流程实战化考核模式,具体考核依据见表 1。考核按照课程实施的全流程划分为正向设计、逆向分析、课程答辩、学科竞赛四大模块,考核范围跨度从创意设计到最终答辩汇报。除了 80% 的课堂成绩,还有 20% 的学科竞赛成绩,通过与全国其他高校学生进行比赛,更加全面地考查学生的综合素质。通过学科竞赛鼓励学生走出课堂,在更大的平台上展示自己。
4 结 语
当前国际形势日益严峻,没有硝烟的网络战一直在发生,西北工业大学遭到美国网络攻击是被发现的攻击,还有很多未被发现的网络攻击,为了捍卫我国的网络安全,需要把网络战场搬到课堂,在“实战对抗”中提升学生的网络攻防能力。
“对抗式”综合实践探索方法将嵌入式设备的“正向设计”与“逆向分析”有机的融合在一起,通过全流程的考核方式检验学生的学习效果。该方法以学生为中心,激发了学生的兴趣,培养了逆向思维并提升了实战化水平。然而,目前一线的战例与案例较少,缺乏配套教材指导。下一步,将加深与一线及单位的交流合作,充实案例战例库,并编写“对抗式”教材,以更好地培养网安人才。
参考文献:
[1] 孔勇, 范佳雪. 美国关键基础设施保护时代开启:第13010号行政令《关键基础设施保护》解读[J]. 中国信息化, 2022(3): 39-40.
[2] 应欢, 周劼英, 邱意民, 等. 美国电力关键基础设施网络安全防护政策和标准研究[J]. 电力信息与通信技术, 2022, 20(6): 35-43.
[3] 薛竹君, 李杰, 林涛, 等.《关键信息基础设施安全保护条例》解读及进展分析[C]//2022年西湖论剑·网络安全大会——数字城市安全治理论坛论文集. 杭州: 杭州市数据资源管理局, 2022: 43-46.
[4] 网易新闻. 俄乌冲突对我跨国油气管道等关键基础设施安全保护的若干启示[EB/OL]. (2020-07-25)[2022-09-18]. https://c.m.163.com/news/a/HD4KT7460525O28K.html.
[5] 中华人民共和国教育部. 教育部关于一流本科课程建设的实施意见[EB/OL]. (2019-10-30)[2022-09-18]. http://www.moe.gov.cn/srcsite/A08/s7056/201910/t20191031_406269.html?from=timeline&isappinstalled=0.
[6] 彭国军, 张沪寅, 傅建明, 等. 软件安全精品课程的攻防实践探索[J]. 计算机教育, 2020(8): 79-83.
[7] 宋晓锋, 倪林, 韩鹍, 等. CTF竞赛融入网络安全人才培养过程的探索与实践[J]. 计算机教育, 2021(11): 1-5.
[8] 李攀攀, 朱蓉, 翟建宏. 网络安全等级保护2.0视域下网络空间安全人才的培养探索[J]. 实验室研究与探索, 2021, 40(8): 163-167, 172.
[9] 曹鹏飞, 杨望, 叶传标, 等. 新工科背景下应用型大学网络空间安全专业课程体系构建研究[J]. 计算机教育, 2019(11): 54-57, 63.
[10] 李琼, 孔娅娴. 国内高校近20年混合式教学研究热点及趋势分析: 基于CiteSpace的知识图谱分析[J]. 赣南师范大学学报, 2022, 43(5): 99-103.
基金项目:河南省高等教育教学改革研究与实践项目“硬件在环的嵌入式系统实践教学平台开放与共享机制构建及应用”( 2021SJGLX303 );国家重点研发计划项目“固件漏洞挖掘与利用技术”( 2019QY502 )。
第一作者简介:王奕森,男,战略支援部队信息工程大学副教授,研究方向为嵌入式系统安全、软件供应链安全,851067568@qq.com。
引文格式: 王奕森, 井靖, 魏强, 等. 嵌入式系统安全中的“对抗式”综合实践探索 [J] 计算机教育, 2023(7): 133-137, 144.
转自:“计算机教育”微信公众号
如有侵权,请联系本站删除!