-
公开(公告)号:CN117556431A
公开(公告)日:2024-02-13
申请号:CN202410047057.0
申请日:2024-01-12
申请人: 北京北大软件工程股份有限公司
IPC分类号: G06F21/57
摘要: 本发明涉及静态代码分析技术,具体涉及一种混合软件漏洞分析方法。本发明提供的方法包括:基于混合软件确定统一中间表示IR;基于统一中间表示IR构造数据流表示模型VFG;基于数据流表示模型VFG定位潜在漏洞的植入点和触发点;通过流追踪的方式对漏洞进行分析;混合软件至少包含两种以上的编程语言或者两种以上的代码形式。本发明通过建立统一的中间表示模型,实现对多种编程语言、多种形式代码混合的复杂软件的检测,尤其对于多模块交互的场景,能够弥补传统检测方式的不足,提升漏洞检测的能力,发现软件系统中的深层次问题。
-
公开(公告)号:CN115017059B
公开(公告)日:2022-11-11
申请号:CN202210941028.X
申请日:2022-08-08
申请人: 北京北大软件工程股份有限公司
IPC分类号: G06F11/36
摘要: 本发明涉及软件自动化测试领域,公开了一种图形用户界面程序的模糊测试方法及系统,包括:根据被测试程序的类型和运行系统平台选择图形用户界面测试工具,录制使用所述图形用户界面测试工具打开所述被测试程序的过程,生成图形用户界面程序的自动化操作脚本,通过使用动态插桩工具获得拦截函数的调用过程,从而获得调用序列和调用时的上下文环境,筛选所述调用序列,得到候选目标函数集合,监控所述候选目标函数集合的运行状态,获得代码覆盖率,选择所述候选目标函数集合内所述代码覆盖率最大的为目标函数,选择模糊测试器,生成种子文件,配置所述模糊测试器参数,插桩拦截所述被测试程序,执行模糊测试,监控运行结果。
-
公开(公告)号:CN115017059A
公开(公告)日:2022-09-06
申请号:CN202210941028.X
申请日:2022-08-08
申请人: 北京北大软件工程股份有限公司
IPC分类号: G06F11/36
摘要: 本发明涉及软件自动化测试领域,公开了一种图形用户界面程序的模糊测试方法及系统,包括:根据被测试程序的类型和运行系统平台选择图形用户界面测试工具,录制使用所述图形用户界面测试工具打开所述被测试程序的过程,生成图形用户界面程序的自动化操作脚本,通过使用动态插桩工具获得拦截函数的调用过程,从而获得调用序列和调用时的上下文环境,筛选所述调用序列,得到候选目标函数集合,监控所述候选目标函数集合的运行状态,获得代码覆盖率,选择所述候选目标函数集合内所述代码覆盖率最大的为目标函数,选择模糊测试器,生成种子文件,配置所述模糊测试器参数,插桩拦截所述被测试程序,执行模糊测试,监控运行结果。
-
公开(公告)号:CN113641586B
公开(公告)日:2022-04-15
申请号:CN202110958006.X
申请日:2021-08-20
申请人: 北京北大软件工程股份有限公司
IPC分类号: G06F11/36 , G06N3/04 , G06N3/08 , G06K9/62 , G06V10/764
摘要: 发明实施例涉及软件测试领域,公开了一种软件源代码缺陷检测方法、系统、电子设备及计算机可读存储介质,其中方法包括步骤:构建源代码缺陷数据集,基于开源项目缺陷信息构建用于训练的大规模数据集,包括对开源项目存在的缺陷条目进行自动对齐与抽取以及对所述开源项目源代码缺陷进行上下文增广;构建基于代码切片的深度学习源代码缺陷检测模型,包括使用多模态的语义表示对代码片段进行表示与分类;对基于人工智能的源代码缺陷检测结果集成显示;开发者可以使用本发明所述的方法自动构建来源于真实项目的缺陷数据集并借助模型进行自动判断,而不必花费大量的时间与精力人工遍历代码。
-
公开(公告)号:CN112597063B
公开(公告)日:2021-06-08
申请号:CN202110213091.7
申请日:2021-02-26
申请人: 北京北大软件工程股份有限公司
摘要: 本发明实施例涉及软件维护领域,公开了一种缺陷代码定位的方法、装置以及存储介质,包括:S101:缺陷报告及对应源文件抽取;S102:计算代码源文件的表示;S103:计算缺陷报告的描述文本的表示,S104:计算缺陷报告和代码文件的相似度,得到缺陷报告可能对应的代码源文件;软件维护人员可以使用本发明所描述的方法辅助定位缺陷报告所描述的缺陷对应的代码源文件,提高效率。
-
公开(公告)号:CN108958739B
公开(公告)日:2020-11-10
申请号:CN201810573717.3
申请日:2018-06-06
申请人: 北京大学 , 北京北大软件工程股份有限公司
IPC分类号: G06F8/53
摘要: 本发明提供一种二进制反编译中数组数据结构恢复方法及系统,所述方法包括:S11,对于目标反编译结果中任一非指针变量,若该非指针变量的实际占位大小与该非指针变量的类型对应的占位大小之间的差值大于第一预设阈值,则将该非指针变量作为目标变量;S12,获取目标变量在目标反编译结果中各使用位置对应的第一使用模式,若根据第一使用模式对应的第一权重确定目标变量为数组变量,则对数组变量的数据结构进行恢复。本发明实现了对反编译结果中数组数据结构的自动恢复,且提高了数组数据结构恢复的正确率。
-
公开(公告)号:CN113641586A
公开(公告)日:2021-11-12
申请号:CN202110958006.X
申请日:2021-08-20
申请人: 北京北大软件工程股份有限公司
摘要: 发明实施例涉及软件测试领域,公开了一种软件源代码缺陷检测方法、系统、电子设备及计算机可读存储介质,其中方法包括步骤:构建源代码缺陷数据集,基于开源项目缺陷信息构建用于训练的大规模数据集,包括对开源项目存在的缺陷条目进行自动对齐与抽取以及对所述开源项目源代码缺陷进行上下文增广;构建基于代码切片的深度学习源代码缺陷检测模型,包括使用多模态的语义表示对代码片段进行表示与分类;对基于人工智能的源代码缺陷检测结果集成显示;开发者可以使用本发明所述的方法自动构建来源于真实项目的缺陷数据集并借助模型进行自动判断,而不必花费大量的时间与精力人工遍历代码。
-
公开(公告)号:CN112579477A
公开(公告)日:2021-03-30
申请号:CN202110213108.9
申请日:2021-02-26
申请人: 北京北大软件工程股份有限公司
摘要: 本发明实施例涉及软件测试领域,公开了一种缺陷检测方法,包括:S101,构建源代码缺陷数据集,基于开源项目缺陷信息和源代码缺陷报告构建用于训练的大规模数据集,包括对开源项目存在的缺陷条目的抽取以及对所述开源项目源代码缺陷使用静态分析工具进行检测;S102,构建基于缺陷报告的深度学习源代码缺陷检测模型,包括使用多模态的语义表示对代码片段进行表示与分类;S103,对基于人工智能的源代码缺陷检测结果集成显示;开发者可以使用本发明所述的方法对传统源代码分析工具的检测结果进行自动判断,而不必花费大量的时间与经历人工遍历代码。
-
公开(公告)号:CN112579155A
公开(公告)日:2021-03-30
申请号:CN202110198641.2
申请日:2021-02-23
申请人: 北京北大软件工程股份有限公司
IPC分类号: G06F8/75
摘要: 本发明实施例涉及软件检测领域,公开了一种代码相似性检测方法,主要分为三个阶段,预处理阶段对海量源代码文件进行预处理和特征提取工作,输出相似哈希指纹值;指纹索引阶段则根据上一阶段的结果,采用分段索引策略将指纹切分并重组后存入相似哈希指纹库,建立分段索引便于快速匹配;相似匹配阶段则在对待测工程文件进行处理后生成相似哈希值,根据所述待测工程文件的相似哈希值从所述相似哈希指纹库中分段检索出溯源检测的结果;本发明能够从不同语言常见行的消除这一角度出发来降低行覆盖问题对结果的影响。
-
公开(公告)号:CN108549535B
公开(公告)日:2021-02-05
申请号:CN201810218332.5
申请日:2018-03-16
申请人: 北京大学 , 北京北大软件工程股份有限公司
IPC分类号: G06F8/41
摘要: 本发明提供了一种基于文件依赖关系的高效程序解析方法和系统,该方法包括:S1,对源文件进行分割处理,获取对应的预处理单元集合;S2,对预处理单元集合中的每个预处理单元执行以下处理:若确认预处理单元的类型为预处理指令中的文件包含指令,则提取预处理单元中的头文件;若确认存在通过预先解析头文件获取到的抽象语法树,则将头文件的抽象语法树链接至源文件的抽象语法树;若确认不存在通过预先解析头文件获取到的抽象语法树,则将头文件作为源文件执行步骤S1和S2以对头文件进行解析。本发明判断头文件是否被预先解析,将预先解析得到的抽象语法树链接至源文件的抽象语法树,避免相同头文件的重复解析,减少了程序解析时间。
-
-
-
-
-
-
-
-
-