近日,软件工程领域旗舰级会议、软件工程大会ICSE 2023在澳大利亚墨尔本市召开,上海交通大学电子信息与电气工程学院计算机科学与工程系数据驱动软件技术实验室博士生缪新元(第一作者)、硕士生王梓涵、博士生聂鹏博、陈雨亭副教授(通讯作者),软件学院沈备军副教授等作者凭借Java-SGX机密计算研究获得ACM SigSoft杰出论文奖。大会主席提到,本项研究工作是该会议今年798篇投稿中唯一的审稿全满分(All Fives)。这是上海交通大学首次获得ICSE杰出论文奖。
获奖的论文题目为“Lejacon: A Lightweight and Efficient Approach to Java Confidential Computing on SGX”(Lejacon:一种适用于SGX的轻量高效Java机密计算方法),提出了一种轻量级Java-SGX机密计算框架。该框架支持基于开发者的轻量标注实现自动代码分区,利用Java静态编译技术部署机密任务于SGX安全飞地中,提升机密任务执行效率的同时保持了较小体积的可信计算基,提高了安全性。
研究背景
随着越来越多企业部署云服务来加速推进数字化转型,云应用的安全性也变得愈发重要。机密计算作为云安全领域的关键技术,通过构建基于硬件的可信执行环境,保障应用数据在运行时的机密性与完整性。在Intel机密计算模型SGX中,应用程序根据安全性需求被划分为受信任与不受信任两部分。SGX通过构建加密保护的飞地(Enclave)执行受信任代码,以保障该部分代码与数据的安全。
现有大量云应用由Java语言编写,在Java工作流上应用SGX技术存在需求。然而,SGX技术本身并不对Java友好:一方面,SGX的安全飞地仅支持通过C/C++ API创建并管理,Java应用无法直接对其调用进而安全地执行敏感代码。另一方面,Java程序的执行依赖Java虚拟机(JVM)提供的托管运行时环境。这种模式使得运行在飞地中的代码(包含应用本身与JVM)过于庞大,违背了机密计算对较小TCB的要求,降低了安全性。
创新成果
该研究提出了Java机密计算框架Lejacon。该框架创新地采用了适用于SGX计算模型的Java分离编译技术,并提供了跨执行环境的运行时支持,兼顾非安全性敏感代码的平台无关性同时将SGX适配于Java工作流。
方法概述
Lejacon支持开发者根据需求对机密代码进行类级别的标注。以标注代码为起点,该框架提出并基于安全封闭世界假设,利用指向分析技术对机密代码的可达性范围进行分析;随后,对所有可达代码进行静态编译,实现代码分区,得到可部署并运行于安全飞地中的本地机密计算服务(native confidential computing service)。运行时阶段,Lejacon采用代理的模式管理不同运行环境的上下文信息,定位每一次机密调用所对应的飞地中的具体函数,利用Java本地接口(JNI)实现机密函数调用。
通过Lejacon构建的Java机密应用,其机密代码执行效率较传统方法,最高可得16.2倍提升,并可平均减少超过90%的TCB大小,极大提升了机密应用的安全性。
作者信息
上海交通大学为该项研究的第一完成单位,研究合作单位包括阿里云、大连理工大学。博士研究生缪新元为第一作者,计算机系陈雨亭副教授为通讯作者。
IEEE/ACM ICSE全称International Conference on Software Engineering,致力于为软件工程领域的研究者、教育者和从业者们提供最新最重要的研究成果、经验及方向,是软件工程领域排名第一的学术会议。ACM SIGSOFT杰出论文奖为ICSE会议最重要的论文奖项。本年度ICSE国际会议接收的207篇高水平论文中,获得杰出论文奖的论文共计10篇。
地址:上海市闵行区东川路800号上海交通大学电信群楼东313
Email: ddst@sjtu.edu.cn