软件系统安全小组针对具有高复杂度和高可靠性要求的新型软件系统,设计建立面向领域知识的软件系统多层图模型,结合复杂网络分析、深度学习、NLP等技术,研究软件的结构优化与质量维护、安全监控、自动测试与生成、抄袭检测等方法,提升软件设计、开发、测试、维护的能力和智能化水平。
通过分析软件的源代码、缺陷、安全漏洞、维护等数据,从系统、代码、可执行程序和程序描述四个角度,设计建立面向软件的图模型体系,研究软件的结构优化与质量维护、软件测试与缺陷检测、安全监控、抄袭检测等方法,提升软件设计、开发、测试、维护的自动化程度。
刘烃,博士,教授,教育部青年长江学者,西安交通大学网络空间安全学院副院长。研究方向:包括信息物理融合系统安全。2003年和2010年分别获西安交通大学学士和博士学位;2016-2017年美国康奈尔大学访问教授。主持国家自然科学基金、重点研发计划等课题十余项。获得2017年国家科技进步二等奖,以及2022年教育部自然科学一等奖等省部级科技奖励6项。在IEEE TSE、IEEE TIFS、ICSE、ACL等CCF A类期刊和会议上发表论文60余篇,获得2021 QRS、2019 IEEE INFOCOM、2016 IEEE ISSRE等最佳论文奖6项。
范铭,博士,副教授,研究方向:移动软件安全, 隐私保护合规性, 可解释性AI技术,AI安全。2013年6月和2019年3月分别获得西安交通大学学士和博士学位;2019年6月获得香港理工大学博士学位(双学位)。并于2019年4月入职西安交通大学网络空间安全学院,任职讲师。主持和参与多项国家自然科学基金,在IEEE TSE、IEEE TIFS、IEEE TRel等国际权威期刊和ICSE、ISSRE、ICPC等国际会议上发表论文30余篇,获得QRS 2021, ISSRE 2016,NASAC 2018最佳论文奖。获得中国发明专利5项,美国专利1项。
晋武侠, 西安交通大学,副教授,硕导博导。研究方向:包括代码分析、软件架构治理、智能软件工程。2020年3月获得西安交通大学计算机专业博士学位,同年5月入职西安交通大学软件学院。主持国家自然科学青年基金、面上基金、企业合作研究等项目,相关成果发表在TSE、ASE、ICSE等软件工程领域的国际顶级会议和期刊。担任TSE、TOSEM、JSS等国际期刊审稿人,担任ASE、ISSRE、MSR等国际会议程序委员会委员。获得2022年陕西省百篇优博、2022年教育部自然科学一等奖。
王海军,博士,教授,研究方向:是区块链安全,软件安全,AI安全,二进制逆向,形式化验证技术等,相关成果在ICSE、FSE、ASE、IJCAI、TSE、TDSC等相关会议和期刊上发表论文20来篇,授权发明专利12项,作为主要参与者参与2项国家标准的制定。曾在蚂蚁集团担任高级技术专家,负责区块链技术安全团队,负责研制了系列智能合约安全分析验证工具。
老 师:刘烃、王海军、范铭、晋武侠
博 士:徐茜、金凯迪、贾昂、李姝玥、王寅、刘靖雯、魏佳利、王玉、严宋扬、吴殷、李希陶、
研 三:张炜煦、刘峻峰、陶俊杰、周朝晖、陈大为、丁紫凡、郑建国、戴铱彤
研 二:许烁、候怡、郭金池、王柄禾、商娇薇、焦文静、鄢子强、石吉飞、张婷婷、胡楠、胡宇睿、雷靖薏
研一:张鹏、王乾旭、樊子熙、吴昊、郭辉、孙梦洁、周俊辉、彭晨阳、李成峻、张园惠、赵文婷、刘石、倪佳星
研究成果1:移动应用隐私权声明内容合规性检验方法
移动应用是当前使用最广泛、涉及用户隐私数据最多的程序,是隐私保护的关键领域。近年来,移动应用隐私泄露事件频发,对国家安全、政治稳定和人民生命财产造成严重威胁。检测移动应用的数据收集和使用是否符合国家标准与法律规定,是隐私保护中的关键问题。隐私权声明是用于申明应用程序使用的数据类型和具体过程的一类文本,是用户了解程序行为的最直接途径。然而,在实际环境中,隐私权声明可能会面临多种违规问题。国家工信部自 2020 年起开展多次关于 APP 侵害用户权益行为的通报,通报多个主流应用商店均有上万个移动应用存在违规情况,如隐私权声明文档缺失、难以访问,和缺少信息采集处理的描述等。
课题组通过梳理归纳四部核心法律中对隐私权声明的要求,总结得到不同法律法规对隐私权声明的相同要求,以 100 篇规范应用程序的隐私权声明为参考,提出一种含 31 类标签的隐私权声明分类标准;通过人工标注隐私权声明文本,结合预训练语言模型,实现了一种多标签的隐私权声明文本分类模型;针对倍受关注的条目缺失、目的省略和表述模糊三类隐私权声明违规问题,基于前述分类模型,以及对信息采集类条目语句的句法分析和实体标注,提出了一种自上而下的隐私权声明合规检测方法。课题组构建了含 100 篇规范隐私政策、共 86 万字的中文隐私权声明分类语料库;在移动应用和小程序场景下开展合规检测和统计工作,发现 79%,63%和 94%的隐私权声明分别存在条目缺失、目的省略和表述模糊问题。协助支持了国家相关部门进行隐私权声明评估工作,部分违规检出结果通过提交平台运营方并得到了确认。
图2 2023年ACM CCS SaTS最佳论文奖
研究成果2:面向安卓移动操作系统生态的软件架构建模与优化
在操作系统基础版本上,第三方厂商进行基于原生版本进行定制扩展发布版本,以满足增强功能特性、兼容硬件设备、提升用户体验等深度定制化需求。在深度定制场景下,扩展版本独立开发维护时,必须适配原生架构,定期拉取合并原生新代码,随原生版本进行升级演化,使得原生和扩展版本之间的依赖面(即两者间依赖构成的结构)上不可避免发生代码 “冲突”,自动合入原生代码失败。尤其,移动操作系统定制需求场景多、升级迭代快、兼容硬件丰富,伴生适配原生软件架构的问题较为突出。
以安卓移动操作系统为例,移动设备供应商开发了基于谷歌安卓的定制安卓操作系统以增强安卓操作系统功能,支持新功能,并添加定制功能。这些定制的安卓系统例如LineageOS被称为下游,而由谷歌维护的AOSP被称为上游。下游还需要定期将合并来自上游的新版本的变化。由于要合并大量提交,如果自动合并操作失败,版本控制系统如Git 将报告大量的文本代码冲突。
图3 方法框架
课题组将研究问题解耦为移动操作系统依赖的“解析-表征-冲突检测” 三个子任务,即首先解析提取伴生与原生间的依赖面,再挖掘表征依赖面中的隐匿约束,最后检测依赖面中腐化边界、违反约束从而致使冲突频发的不良代码模式。我们提出了一种揭示下游和上游之间的耦合依赖切面识别工具DepFCD,包括下游对上游的侵入式修改、依赖使用和冲突情况以及上游对下游的non-SDK接口限制。我们收集了四个开源下游项目和一个工业项目作为实验对象,总共包括15个下游版本和15个相应的上游版本。研究揭示了下游代码是如何与上游代码交织在一起,以及合并冲突是如何与依赖切面特性相关联。研究结果表明,下游开发应该意识到其依赖切面的变化,并检测违反依赖约束的情况,以确保一个明确的设计边界,从而减少潜在的合并冲突。相关成果已在企业内部落地应用,相关的代码依赖解析等成果已发表在TSE 2023, ICSE 2023,以及ICSE 2024等软件工程领域国际顶级会议和期刊上。
研究成果3:开源软件供应链安全治理架构
随着开源生态的持续扩大、开源软件中漏洞数量的不断增长,以及软件间依赖关系的日益复杂化,由开源软件引发的安全问题日渐受到产业界和学术界的重视。在实际生产中,开发人员常常依赖开源的第三方库来构建软件,以提高生产效率和软件质量。然而,这些第三方库可能含有漏洞,黑客可以利用这些漏洞攻击依赖于相应库的软件。这类漏洞构成了对软件安全性的严重威胁,人们通常将此类攻击称为软件供应链攻击。
为了保障开源软件在整个生命周期内的安全性和可靠性,课题组提出了开源软件供应链安全治理架构,该架构通过整合各种高级技术和策略,形成了一个涵盖数据构建、成分分析、风险检测、安全治理的全过程系统。其中,成分分析、风险检测和安全治理这三个环节依赖于使能技术的支持,以实现更深入的数据处理和分析,确保开源软件的整体安全。
图4 开源软件供应链安全治理架构示意图
数据构建阶段:这个阶段是通过收集和整合来自开源社区、安全漏洞数据库等多个来源的数据,建立开源组件库、许可证库和安全漏洞库,确保信息全面且实时,为架构提供有效运行的基础。
成分分析阶段:通过深入剖析软件的各个组成部分,包括分析软件组成成分、第三方库、开源组件依赖关系图、软件质量和许可证,以精确识别、分析并处理复杂的软件成分和关系,确保软件的合规性和高质量。
风险检测阶段:应用先进技术如静态和动态检测、模糊测试以及漏洞到达性分析等,构建全方位风险检测体系,以识别、评估软件中的潜在安全风险,并通过恶意组件和漏洞迁移性分析,增强对软件安全风险的全面识别和评估。
安全治理阶段:在此阶段,将前面环节发现的风险转化为具体的漏洞解释、修复方案、安全预警和动态防御措施,帮助开发人员理解和解决安全问题,实时监测和响应系统等动态防御技术的应用,保障软件全生命周期的持续安全。
图5模糊测试技术框架
总的来说,通过这种分层次、多维度的方法,开源软件供应链安全治理架构能够有效地管理和降低安全风险,保障开源软件的安全和可靠性。这不仅是技术上的创新,也是对开源软件生态健康发展的重要贡献。