基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法

    公开(公告)号:CN104732152A

    公开(公告)日:2015-06-24

    申请号:CN201510161507.X

    申请日:2015-04-07

    Applicant: 南京大学

    Abstract: 本发明涉及一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,首先使用漏洞特征匹配方法得到大量含有误报的漏洞疑似路径,其次利用基于状态空间缩减和路径剪枝的符号执行技术验证设定的漏洞疑似静态分析路径,在检测点处通过构建溢出模型以及约束求解判断该漏洞是否有测试用例能够触发。本发明使用动静态结合的方法自动加测缓冲区溢出漏洞,能够运用于漏洞检测以及安全审计,代替人工自动验证静态分析缓冲区溢出漏洞的结果等方向,能够快速进行自动检测并生成溢出漏洞触发测试用例,有效节省时间和人力成本。

    基于路径片段频谱的符号执行搜索方法

    公开(公告)号:CN103870391A

    公开(公告)日:2014-06-18

    申请号:CN201410055286.3

    申请日:2014-02-18

    Applicant: 南京大学

    Abstract: 本发明提出一种基于路径片段频谱的符号执行搜索方法,该方法引入路径片段频谱的概念,不同的路径片段频谱从各个角度分析程序执行的行为,以获得不同层次的程序行为分析,构成程序行为的框架。该方法通过对符号执行过程中的程序路径频谱数据进行分析,指导符号执行探索当前状态下程序中探索较少的部分,以获得更高的程序覆盖度和更好的查错能力。本发明可以集成在各种符号执行工具中,通过调整路径片段的长度来指导符号执行以不同精度探索程序的状态空间。

    一种基于模型检验的无线传感器网络安全协议验证方法

    公开(公告)号:CN103476033A

    公开(公告)日:2013-12-25

    申请号:CN201310456973.1

    申请日:2013-09-25

    Applicant: 南京大学

    Abstract: 本发明给出一种基于模型检验的无线传感器网络安全协议验证方法,用时间自动机所组成的状态迁移系统表示无线传感器网络安全协议,用模态/时序逻辑公式表示无线传感器网络中安全协议所需满足的条件,将对无线传感器网络安全协议验证转化为验证状态迁移系统是否为公式的一个模型。本发明在安全协议验证过程中充分考虑了无线传感器网络的特性,在模态/时序逻辑公式中加入时钟约束条件,能够对无线传感器网络安全协议进行全面的验证。

    一种性能缺陷自动检测的方法

    公开(公告)号:CN114490369B

    公开(公告)日:2025-04-22

    申请号:CN202210060556.4

    申请日:2022-01-19

    Applicant: 南京大学

    Abstract: 软件系统在运行时出现性能问题,可能是由于代码中存在性能缺陷,如冗余的操作、变量重复赋值等。本发明提出一种方法,用来自动检测C/C++代码中潜在的性能缺陷,该方法首先基于性能缺陷的代码特征,定义用于表示该性能缺陷的标签,基于性能缺陷发生的语句序列,构建表示性能缺陷行为特征的标签约束集合;第二步,对源代码进行程序分析的构建过程间控制流图,在此基础上引入性能标签,构建带标签的过程间控制流图;第三步,在带标签的过程间控制流图上,通过深度优先遍历,同时收集路径上的标签序列,根据标签序列与标签约束集合的一致性,判定待检测系统是否存在性能缺陷,从而报告相应的性能缺陷。

    一种基于图神经网络的阶段式错误定位方法

    公开(公告)号:CN114741304B

    公开(公告)日:2025-01-07

    申请号:CN202210418068.6

    申请日:2022-04-20

    Applicant: 南京大学

    Abstract: 本发明提出了一种基于图神经网络的阶段式错误定位方法,包括以下步骤:使用至少包含一个失败用例的测试用例集测试包含缺陷的目标程序,并统计目标程序的频谱信息;使用Tarantula计算各函数的怀疑度分数并排序;对排名前50的函数使用全连接神经网络进行进一步排序;为排名前10的函数构建函数特征图并将特征图两两输入到基于图神经网络的排序模型进行更精确的排序;当开发者排查任意函数时,将该函数特征图输入到节点预测图神经网络获取该函数内语句的怀疑度列表。本发明通过将传统SBFL技术与图神经网络结合,提高了错误定位的准确率。

    基于仿真环境的车载蓝牙软件协议栈模糊测试方法

    公开(公告)号:CN118233947A

    公开(公告)日:2024-06-21

    申请号:CN202410103288.9

    申请日:2024-01-25

    Applicant: 南京大学

    Abstract: 本发明公开一种基于仿真环境的车载蓝牙软件协议栈模糊测试方法,该方法包括:获取蓝牙协议规范文档,从中自动提取出蓝牙协议数据包格式信息,构建蓝牙协议数据规约模型;获取被测蓝牙软件协议栈二进制代码,构建运行所需的仿真环境,基于仿真环境,通过动态污点分析,得到被测蓝牙协议栈所接收的数据包类型;结合上述步骤构建的蓝牙协议数据规约模型与提取的被测蓝牙协议栈特征信息,以数据包的“请求‑应答对”作为反馈信息,同时利用动态污点追踪发掘其中的数据包关联信息,制导生成符合条件的数据包序列并执行。本发明通过动态污点追踪提取被测试蓝牙软件协议栈特征信息提升测试效率,同时通过构建仿真测试环境实现摆脱硬件依赖的模糊测试。

    基于反例训练的图神经网络程序缺陷预测方法

    公开(公告)号:CN117669658A

    公开(公告)日:2024-03-08

    申请号:CN202311703610.3

    申请日:2023-12-13

    Applicant: 南京大学

    Abstract: 本发明公开一种基于反例训练的图神经网络程序缺陷预测方法,该方法针对一个程序性质预测任务,首先收集与程序性质相关的原始数据集,将其中的程序源代码转换成图抽象表示,得到实验数据集,然后基于所述实验数据集训练图神经网络模型,随后根据模型无法预测正确的数据样本生成反例样本进一步训练图神经网络模型,最后借助训练出的模型进行程序缺陷预测;其中,本发明所提出的图神经网络模型采用的是门控图神经网络(GGNN),它的输入是程序源代码转换后的图抽象表示,转换方式是首先构造程序的语句级控制流图,此时每个基本块就是一条语句,再将每条语句通过抽象语法树表示。

    机器学习制导的自动驾驶车载激光雷达固件模糊测试方法

    公开(公告)号:CN116451242A

    公开(公告)日:2023-07-18

    申请号:CN202310462445.0

    申请日:2023-04-26

    Applicant: 南京大学

    Abstract: 本发明公开一种机器学习制导的自动驾驶车载激光雷达固件模糊测试方法,该方法步骤包括:基于静态分析和人工调整得到最终的雷达固件接口数据规约模型;基于已构建的雷达固件输入接口数据规约模型,生成有效的测试用例,利用测试用例训练神经网络模型;结合上述步骤构建的神经网络模型和雷达固件接口数据规约模型,制导生成符合条件的测试用例并执行。本发明针对自动驾驶车载激光雷达固件接口协议特殊、内部状态空间复杂的特点,提出自动驾驶车载激光雷达固件模糊测试方法,通过结合雷达固件交互接口规约,利用机器学习技术制导模糊测试,高效生成符合雷达固件接口规约的测试输入以及高效探索雷达固件状态空间以检测漏洞。

    中断驱动嵌入式系统数据竞争的自动检测方法

    公开(公告)号:CN112817787B

    公开(公告)日:2023-03-10

    申请号:CN202110119762.3

    申请日:2021-01-28

    Applicant: 南京大学

    Abstract: 本发明提出中断嵌入式系统数据竞争的自动检测方法,该方法第一步对被检测代码进行静态分析,基于程序值流以及潜在并发关系分析,识别针对共享资源的潜在并发访问关系,并据此报告潜在数据竞争警报;第二步,针对第一步静态分析报告的数据竞争警报,基于制导符号执行探索数据竞争相关程序路径,排除约束矛盾的路径,基于可解约束生成能触发数据竞争的测试用例,报告可行的数据竞争;最后,针对第二步报告的可行数据竞争及其测试用例,基于仿真平台构建被检测代码所需的硬软件运行时支撑,根据执行测试用例触发的数据竞争,从而报告确认的数据竞争。上述方法也可以检测多线程程序的数据竞争缺陷。

    一种基于图区间神经网络的程序语义表示学习和预测方法

    公开(公告)号:CN115700492A

    公开(公告)日:2023-02-07

    申请号:CN202211298824.2

    申请日:2022-10-24

    Applicant: 南京大学

    Abstract: 本发明公开一种基于图区间神经网络的程序语义表示学习和预测方法,该方法针对一个程序性质预测任务,首先收集对应的数据集,将其中的程序转换成图,然后基于转换后的数据集训练基于区间的图神经网络模型,最后借助训练出的模型进行程序性质的预测;其中,本发明所提出的基于区间的神经网络模型,称为图区间神经网络,它的输入是程序转换后的图表示,转换方式是首先构造程序的语句级控制流图,此时每个基本块就是一条语句,再将每条语句通过抽象语法树表示,然后依据转换后的图所划分的区间逐步学习程序的表示;本发明可增强神经网络模型学习程序语义的能力,提高正确性、安全性、实时性、相似性、并发性等程序性质预测任务的预测效果。

Patent Agency Ranking