系统安全团队:做我们自己的安全处理器
近日,首届“逐梦杯”中国青年芯片科技创新大赛公布比赛结果。系统安全团队的常瑞、周亚金和申文博三位老师共同指导沈栩捷、孙志博、潘子曰、郭若容、苑子琦五名同学,凭借第2代ZJV安全芯获得大赛冠军。
“大脑”的安全谁来守护
电脑管家、安全卫士、杀毒软件…人们越来越注重电脑、手机的安全问题,常常使用一些安全软件来防止自己的通讯信息、密码隐私、浏览记录等被泄露。这种基于软件层面的保护往往默认电脑、手机中的底层“大脑”—— 操作系统和处理器是安全的。而实际上“大脑”也会存在安全漏洞,并且一旦“大脑”被攻击,整个系统都会暴露在安全风险中。
处理器只是一块小芯片,却是计算机系统运算和控制的最终执行单元,而操作系统负责管理系统的软硬件资源,只要是存储在计算机中的信息,都需要操作系统帮助管理。因此,操作系统和处理器就如我们的“大脑”,在保护系统安全方面的重要性也不言而喻。然而,在当下,流行的处理器、操作系统都来源于国外,我们的“大脑”被国外技术垄断。
系统安全方向的师生团队关注到了该痛点,在院长任奎的大力支持下,近年来深入开展开源芯片设计及安全领域的研究,并高度重视该方向的人才培养,立志于培养学生“做自己的安全处理器”。一路走来,他们硕果累累。
打造ZJV安全芯
“处理器的生态基本上被少数几个大公司垄断,我们要做自己的安全处理器很难。但为了培养学生掌握安全处理器设计的关键技术,再难,我们也要做,”系统安全团队老师常瑞介绍道,“我们带领学生从零开始设计自己的处理器核,每行代码都是我们自己写的。”
2020年,团队初次参加第四届“龙芯杯”系统能力大赛即崭露头角,浙大第一次踏入全国决赛圈。随后,团队关注软硬件协同安全,开始打造ZJV安全芯。他们基于开源的RISC-V架构,在硬件上实现安全原语,使之能被软件正确使用,从而保护软件安全和用户隐私。同年“一生一芯”项目中,团队成员就设计实现出能够启动Linux的RISC-V标量处理器原型ZJV。
从零到一,ZJV的背后是团队成员不遗余力的付出。苑子琦现在是系统安全团队的研究生,他回忆搭建初代ZJV的经历:“当时我们经常一起在实验室里对着大屏幕看波形调试到很晚,回寝室的路上已经几乎一个人都没有了。”他笑着说,“虽然很晚了,但思维往往还处于兴奋状态,回到寝室后还会‘复盘’一会儿,梳理一遍学会的新的调优方法。虽然累但收获很大。”
由点到面,不断完善
基于初代ZJV,团队继续探索其安全功能和性能增强,不断完善“自己的安全处理器”。常瑞说:“初代ZJV实现了处理器基本的功能,并加入安全的考量,我们以此‘点’为基础,不断向‘面’发展,包括研究从指令到cache不同层级的保护、性能的增强等。”
凭借严谨的工作方法和大量的辛勤付出,团队稳步前进,收获颇丰。2020年底,团队搭建了支持初代ZJV核心的SoC生成器Starship,并受邀在第一届RISC-V中国峰会上进行展示;2021年,第五届“龙芯杯”系统能力大赛中,着眼于超标量处理器架构和软硬件协同设计的Amipsel处理器初出茅庐,刷新了比赛性能分的历史记录,获得了全国一等奖;除此之外,还获得第四届全国大学生嵌入式芯片与系统设计竞赛东部赛区一等奖和全国二等奖、第五届系统能力大赛操作系统赛道全国三等奖等。
在第2代ZJV的诞生过程中,团队践行“具体问题具体分析”的理念。“比如在性能探索上,同学们会先做profiling,也就是对运行时间做监测,然后仔细分析性能瓶颈,再去针对性地进行优化。”谈及性能优化的过程,参赛同学还笑称他们在找寻优化方法上是“幸运”的,但这份幸运实则依靠平时大量的知识积累与实践经验,“看多了就想到了。”
除了比赛,在科学研究上他们也一直坚持前沿探索。团队敏锐地察觉到目前处理器对细粒度数据机密性和完整性保护的痛点,自主设计实现了RegVault,旨在以可忽略的性能开销保护寄存器粒度的运行时数据,弥补了ARM PA、Intel PKU等技术在机密性保护、粒度或性能上的短板。
目前,RegVault已被DAC 2022(CCF-A类会议)收录,并于“逐梦杯”赛前移植到了第2代ZJV安全芯。
课程知识与比赛实践相得益彰
团队能够在各大比赛中脱颖而出,离不开从课堂教学到课外实践中老师们对学生的潜心培养,同时也得益于近年来的教学改革。
在任奎院长的支持和鼓励下,系统安全方向的老师们在操作系统、体系结构等系统相关课程的本科生教学中开展教学改革。常瑞说:“以往教学中我们发现,同学们往往在学习操作系统的时候把cache当作黑盒,把系统相关的课程孤立地分成硬件和软件两部分来学习,但计算机系统其实是一个整体,如果要自己设计计算机系统,就必须看到系统真实的样子,从整体上理解系统的设计方法和工作原理。”
针对信息安全专业,团队通过课程体系改革,贯通数字逻辑设计、计算机组成原理、操作系统、体系结构四门课程,形成了连续三个学期共264学时的《计算机系统I、II、III》系列课程。“我们的目标是让每个学生能从零开始完成自己的简易版ZJV,即在自己设计的处理器核上运行自己的操作系统。”该教学改革成果也受邀在2021年于上海举办的第一届RISC-V中国峰会上进行展示,引起了同行的广泛关注。
一方面,教学体系改革助力了人才培养。正如常瑞所说:“只有先知道系统是什么、如何工作的,才能进一步了解什么是系统安全、哪些地方会存在漏洞。”通过课程学习,同学们掌握了系统最基本的原理,然后在实践类的比赛中展开拳脚做自己的设计,可以更好地把课程知识与真实的系统联系起来。潘子曰同学也提到,在进行复杂设计之前,他们都会先做理论论证,论证正确才会有下一步的行动,“ZJV项目的优势之一就在于理论和实践的充分结合。比如在‘逐梦杯’比赛中,经过理论计算后的L2 Cache可以大幅增加处理器的性能,这才使ZJV的性能能够超越其他一众选手的作品。”
另一方面,比赛的实践中沉淀出来的宝贵经验也指导着课程改革。参赛队员们也在多门课程中担任助教,潘子曰同学说:“我们在比赛中发现硬件设计的思路是有章可循的,这些经验很适用于课程实践的设计。”常瑞也总结道:“我们团队将从ZJV的开发历程中总结宝贵的经验,提取实用的工具,通过课程改革的方式回馈教学,力求为学生带来更精彩的课程。”
贯穿教学、竞赛、科研,系统安全团队的师生不断砥砺前行,致力于做属于他们的、属于浙大的、属于中国自己的处理器和操作系统。未来,他们会继续投身处理器安全与系统安全领域的创新实践,也愿更多的同学加入进来,共同担负起进军世界科技强国的时代使命。
内容来源:浙江大学人民号
图文排版及责任编辑:杜润凡