|
清华大学
  • 252 高校采购信息
  • 629 科技成果项目
  • 10 创新创业项目
  • 0 高校项目需求

一种检测内核模块在原子上下文中休眠错误的方法

2022-05-20 13:50:23
云上高博会 https://heec.cahe.edu.cn
所属领域:
新一代信息技术
项目成果/简介:

1.痛点问题

原子上下文休眠是操作系统中一类非常危险并且难以发现的缺陷,可以导致偶发的系统死锁和崩溃。实践证明,现有的主流开源操作系统存在不少该类缺陷,会引起实际的安全问题。随着系统软件自主化和物联网技术的发展,越来越多的国产操作系统诞生并被广泛使用,而这些国产操作系统中也会存在原子上下文休眠的缺陷,严重影响系统可靠性和安全性。由于操作系统具有代码量大、逻辑复杂和并发程度高等特点,对其进行代码分析和缺陷检测是比较困难的。

2.解决方案

本技术提出了一种检测原子上下文休眠缺陷的方法,包含了两个创新点:

1)自适应流敏感分析算法,能够较为准确高效地找出在原子上下文中被调用的函数;

2)函数调用图的检查算法,能够较为准确地判断函数是否可以休眠。

本技术还综合采用了流敏感分析、过程间分析、基于约束求解的路径检查和别名分析等,能够有效降低误报和漏报,并提升分析效率。

本技术的工作流程是自动的,不需要开发者和测试者手动分析和修改被测操作系统的源代码。因此,本发明可以应用于原子上下文休眠缺陷的检测,提高操作系统的安全性和可靠性。

合作需求

寻求对系统软件缺陷检测有需求的科技企业和科研单位,开展成果落地转化,以及探索服务模式。

应用范围:

目前,国内各家大型科技公司纷纷加大力度研发自己的系统软件;在航空航天、电子信息、国防军工等关键领域上,国家科研单位也研发了自己的国产操作系统。这些操作系统在安全性和可靠性上有很高的要求,因此需要自动化工具对其进行准确高效的缺陷检测。原子上下文休眠作为操作系统常见的一类严重缺陷,对其进行检测是十分重要的。然而,主流商用静态分析工具均缺少对该类缺陷的检测功能。因此,本技术可提升静态分析工具对操作系统的缺陷检测效果,具有较好的实用意义和一定的盈利前景。

项目阶段:

本项目的技术原型较为成熟,经过方案适配和二次开发后,可用于专门检测操作系统中的原子上下文休眠缺陷。该技术可通过技术授权的形式,服务于对系统软件缺陷检测有需求的科技企业和科研单位。

效益分析:

主流的商用静态分析框架均来自国外科技公司,其中著名的代表包括Coverity、PC-Lint和Klocwork等。这些公司的分析框架已经广泛应用于航空航天、汽车电子、智能制造等多个领域,用户包括美国宇航局、丰田汽车、英特尔、华为等。近些年来国内成立了若干从事静态分析的公司,包括源伞科技、鉴释科技和中科天齐等。一般来讲,商用静态分析框架可以自动扫描C、C++、Java和C#等常见语言编写的程序代码,包括数十个检查器,能够检测上百种常见的缺陷类型(包括空指针解引用、释放后使用和内存泄漏等)。这些分析框架主要面向应用程序,在操作系统分析能力方面支持具有一定的局限性。例如,这些分析框架缺少检测原子上下文休眠缺陷的检查器。

面向操作系统的开源静态分析框架包括Smatch、Coccinelle和DR.Checker等。这些分析框架主要用于扫描C语言实现的Linux内核,具有较强的操作系统代码分析能力,尤其可以检测操作系统相关的多种缺陷,包括原子上下文休眠缺陷。这些分析框架在Linux内核中已经发现了上千个真实的内核缺陷,并成为Linux内核的标准测试工具。然而这些分析框架缺少有效的过程间分析和流敏感分析等技术,会存在较多的误报和漏报情况。

本技术专注于操作系统代码分析,并具备自适应流敏感分析算法和函数调用图的检查算法等创新技术,带有准确的流敏感分析和过程间分析等,因此在原子上下文休眠缺陷的检测方面,误报和漏洞较少,且分析速度较快。

会员登录可查看 合作方式、专利情况及联系方式

扫码关注,查看更多科技成果

取消