0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

第二届大会回顾第21期 | 开源操作系统中API误用缺陷自动化检测方法

OpenHarmony TSC 来源:OpenHarmony TSC 作者:OpenHarmony TSC 2024-06-23 15:44 次阅读

演讲嘉宾 | 凌 祥

回顾整理 | 廖 涛

排版校对 | 宋夕明

d60d356a-2f66-11ef-82a0-92fbcf53809c.jpg

嘉宾介绍

OS安全分论坛

凌祥,中国科学院软件研究所助理研究员,主要研究领域为基础软件与系统安全,主持及骨干参与多项省部级科研项目,在IEEE S&P、USENIX Security、INFOCOM、ASE、Black Hat Asia、TIFS、软件学报等国内外重要会议和期刊上发表论文20余篇,担任开放原子基金会开源漏洞共享平台漏洞初筛工作组组长,以及《Cybersecurity》和《信息安全学报》学术期刊的青年编委。

视频回顾

打开哔哩哔哩APP,观看更清晰视频

正文内容

API是实现开源操作系统等大型软件系统功能模块解耦以及开发效率最大化的基础,而不规范的API使用会在一定条件下引发运行错误,产生异常的结果或行为,严重危害软件安全。如何实现API误用缺陷自动化检测?中国科学院软件研究所特别研究助理凌祥博士在第二届OpenHarmony技术大会上进行了精彩分享。

d66d37da-2f66-11ef-82a0-92fbcf53809c.png

API,即应用程序接口,具体指操作系统或者标准软件库对外开放的编程接口函数。在现代软件开发过程中,软件开发人员在不需要了解API内部具体实现细节的情况下,广泛地通过调用各类API来复用现有软件框架或者标准函数,从而达到节省软件开发时间、提高软件开发效率的目的。然而,当前API误用已经成为对开源操作系统安全性造成严重威胁的关键因素。

d689bc2a-2f66-11ef-82a0-92fbcf53809c.png     d6a0021e-2f66-11ef-82a0-92fbcf53809c.png

由于API数量庞大、更新频繁、自身的复杂性、文档资料缺失等原因,软件开发人员经常会误用API,例如多余的API调用、遗漏的API调用、错误的API调用参数、缺少前置条件判断、忽略异常处理等。API的误用不仅会导致软件系统出现功能性错误或者性能问题,也极易引发安全漏洞等代码缺陷。以Linux内核代码为例,研究团队实际审计了2021年公开的92个CVE安全漏洞,发现其中有27个CVE安全漏洞都是由API误用导致的,约占30%。因此,如何检测出大型软件系统中存在的API误用缺陷,特别是实现开源操作系统中API误用缺陷的大规模自动化检测,对开源操作系统的安全至关重要。

基于在同一软件中,相同的API通常会遵循相似的使用模式;且API的使用模式通常由与该API相关的数据操作所构成的启发,作者本人及其所在团队提出了一种基于API路径模式挖掘的API误用缺陷自动化检测方法“APP-Miner”。该方法能够从源代码中自动挖掘API使用模式,无需安全专家手工定义API模版,且理论上可以适用于任何具备源代码的大型软件系统。

d6cbe550-2f66-11ef-82a0-92fbcf53809c.png

APP-Miner的整个系统架构主要包含API路径生成、API路径模式挖掘以及API误用缺陷检测三个模块,其中:

API路径是一种基于控制流图的特殊图结构数据,其中节点代表与该API具有数据关联的操作,边代表节点之间的执行顺序流关系。API路径生成主要利用Clang和LLVM编译工具,将源代码中每个函数都编译成相应的控制流图,然后利用数据流分析技术生成相应的API路径。

d7dd8098-2f66-11ef-82a0-92fbcf53809c.png

API路径模式挖掘利用频繁子图挖掘算法,从大规模的API路径中挖掘出频率高于预定义阈值的最大频繁子图,作为相应的API路径模式。针对现有方案中频繁子图挖掘算法可能生成非连通图问题,利用拓扑化和完全化技术,将API路径从一般有向图转化为完全拓扑图,从而保证频繁子图挖掘算法生成的是连通图;针对频繁子图挖掘方法复杂度过高而难以适用于大型软件系统问题,可建立面向API路径的索引矩阵,并采用面向索引矩阵的Apriori关联规则挖掘算法以有效地降低挖掘出最终API路径模式的复杂度。

d813f61e-2f66-11ef-82a0-92fbcf53809c.pngd83afe3a-2f66-11ef-82a0-92fbcf53809c.png

API误用检测利用构建的索引矩阵G,将一组API路径图与最大频繁子图之间的子图匹配任务 转换成索引矩阵G和API路径模式P之间的二进制判别操作”&”,从而极大地提高大规模软件系统中API误用缺陷检测的效率。

d862f87c-2f66-11ef-82a0-92fbcf53809c.png

针对提出的基于API路径模式挖掘的API误用缺陷自动化检测方法APP-Miner,作者本人及其所在团队基于Linux kernel 5.15-rc7、OpenSSL 3.0.0、FFmpeg 5.0以及Apache httpd 2.4.52等大型开源软件系统进行了实验验证。在实验中,APP-Miner均成功检测出了数量不等的潜在API误用安全风险,验证了方法的有效性。

目前,APP-Miner已经集成在中国科学院软件研究所建设的开源软件供应链重大基础设施“源图”中,希望能够为OpenHarmony社区安全治理贡献力量,共同推动开源软件社区安全发展。

E N D

关注我们,获取更多精彩。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1483

    浏览量

    61797
  • 自动化检测
    +关注

    关注

    0

    文章

    19

    浏览量

    8901
  • 开源操作系统

    关注

    0

    文章

    7

    浏览量

    1521
收藏 人收藏

    评论

    相关推荐

    报名开启!第二届开放原子开源基金会OpenHarmony技术峰会来啦~

    第二届开放原子开源基金会OpenHarmony技术峰会将于2023年11月4日在北京举办。峰会以“技术筑生态,智联赢未来”为主题,特邀全球开源操作系统技术领袖、前沿实践专家及高校技术
    发表于 10-20 12:06

    报名开启!第二届OpenHarmony开发者大会2024重磅来袭!

    /jishu_2429449_1_1.html 预约直播: 第二届OpenHarmony开发者大会主论坛 第二届OpenHarmony开发者大会:设备开发分论坛
    发表于 05-14 15:23

    【PCB设计】电子发烧友第二届PCB Layout大赛

    和设计问题。温馨提示:除SB13保留为复位按键,其它SBx位号元件请全部替换为跳线插针或双排2.54mm跳线座PCB Layout设计大赛交流群:332161732作品收集:【PCB设计】电子发烧友第二届
    发表于 10-31 16:50

    2017 第二届IEEE先进信息技术,电子与自动化控制会议 (IAEAC 2017)

    会议简介2017 第二届IEEE先进信息技术,电子与自动化控制会议(IAEAC 2017)将于2017年3月25~26号在重庆举行,本届会议由IEEE和重庆环球联合科学技术研究院共同举办,所有提交
    发表于 06-22 16:58

    2017 第二届IEEE先进信息技术,电子与自动化控制会议 (IAEAC 2017)

    会议简介2017 第二届IEEE先进信息技术,电子与自动化控制会议(IAEAC 2017)将于2017年3月25~26号在重庆举行,本届会议由IEEE和重庆环球联合科学技术研究院共同举办,所有提交
    发表于 10-08 17:27

    技术筑生态,智联赢未来 第二届OpenHarmony技术大会即将在京启幕

    OpenHarmony技术大会后,国内智能终端操作系统技术与开源生态布局也实现了进一步发展。为此,第二届OpenHarmony技术大会升级规
    发表于 10-31 11:27

    高能有料 | 第二届OpenHarmony技术大会议程速递

    第二届开放原子开源基金会OpenHarmony技术大会如约而至 让我们一起 开封无限惊喜的技术成果 开放无限前沿的议题干货 开启无限可能的未来之门 点击此处报名参会!
    发表于 11-02 17:07

    亮点剧透 | 第二届开放原子开源基金会 OpenHarmony技术大会精彩来袭

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 探讨开源创新实践,共筑开源技术未来 第二届开放原子开源
    的头像 发表于 10-27 19:50 543次阅读

    高能有料 | 第二届OpenHarmony技术大会议程速递

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 第二届开放原子开源基金会OpenHarmony技术大会如约而至 让我们一起 开封无限惊喜的
    的头像 发表于 11-01 09:25 375次阅读
    高能有料 | <b class='flag-5'>第二届</b>OpenHarmony技术<b class='flag-5'>大会</b>议程速递

    诚邀参加 | 第二届开放原子开源基金会OpenHarmony技术大会重磅开启!

    11月4日, 第二届开放原子开源基金会OpenHarmony技术大会将在北京举办。大会以“技术筑生态,智联赢未来”为主题,特邀全球开源
    的头像 发表于 11-03 19:15 1112次阅读
    诚邀参加 | <b class='flag-5'>第二届</b>开放原子<b class='flag-5'>开源</b>基金会OpenHarmony技术<b class='flag-5'>大会</b>重磅开启!

    亮点速递 | 一图看懂第二届OpenHarmony技术大会

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 原文标题:亮点速递 | 一图看懂第二届OpenHarmony技术大会 文章出处:【微信公众号:OpenAtom OpenHarmony
    的头像 发表于 11-06 19:40 411次阅读

    大咖金句 | 第二届OpenHarmony技术大会演讲集锦

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 第二届OpenHarmony技术大会圆满结束 行业大咖与开源生态伙伴们齐聚北京 共同见证思
    的头像 发表于 11-06 19:40 461次阅读

    第二届大会回顾22 软件缺陷漏洞分析

    哩哔哩APP,观看更清晰视频 正文内容 软件缺陷是影响软件质量的关键因素,软件缺陷分析能够帮助开发和测试团队及时识别和分析软件缺陷问题,从而制定相应的解决方案,并持续改进软件质量和
    的头像 发表于 06-27 08:42 286次阅读
    <b class='flag-5'>第二届</b><b class='flag-5'>大会</b><b class='flag-5'>回顾</b><b class='flag-5'>第</b>22<b class='flag-5'>期</b>  软件<b class='flag-5'>缺陷</b>漏洞分析

    第二届大会回顾24 | 面向OpenHarmony的软件工程研究:机遇与挑战

    随着万物智联时代的到来,OpenHarmony作为一个开源的智能终端设备操作系统的框架和平台,将会遇到哪些机遇和挑战?北京航空航天大学教授、OpenHarmony技术俱乐部主任黎立在第二届OpenHarmony技术
    的头像 发表于 08-07 18:14 932次阅读
    <b class='flag-5'>第二届</b><b class='flag-5'>大会</b><b class='flag-5'>回顾</b><b class='flag-5'>第</b>24<b class='flag-5'>期</b> | 面向OpenHarmony的软件工程研究:机遇与挑战

    第二届openEuler生态大会圆满结束

    近日,第二届openEuler生态大会(中国·湖南)成功举办。大会以“根植openEuler共建开源生态”为主题,旨在响应国家开源产业发展战
    的头像 发表于 10-31 16:02 207次阅读