本发明专利技术涉及漏洞分析技术,揭露了一种基于云计算的软件安全漏洞分析方法,包括:获取软件漏洞类型以及目标软件,根据所述软件漏洞类型确定危险漏洞;对所述目标软件对应的软件程序进行切片,得到多个程序点,根据所述危险漏洞对所述程序点进行静态分析,得到目标指令;利用所述目标指令对所述危险漏洞执行动态符号分析,得到危险路径,并对所述危险路径进行求解,得到多个测试用例;根据多个所述测试用例对所述目标软件进行迭代测试,在迭代测试结果为异常时,判定所述目标软件存在所述软件漏洞类型对应的漏洞。本发明专利技术还提出一种基于云计算的软件安全漏洞分析装置、电子设备以及存储介质。本发明专利技术可以提高软件漏洞检测的效率。本发明专利技术可以提高软件漏洞检测的效率。本发明专利技术可以提高软件漏洞检测的效率。
【技术实现步骤摘要】
基于云计算的软件安全漏洞分析方法、装置、设备及介质
[0001]本专利技术涉及漏洞分析
,尤其涉及一种基于云计算的软件安全漏洞分析方法、装置、电子设备及计算机可读存储介质。
技术介绍
[0002]软件漏洞的普遍性及其后果的严重性是导致信息安全问题的根源之一。由于软件开发技术的缺陷、程序逻辑问题和结构漏洞等原因,需要通过代码重现、静态分析、软件扫描等方式对软件漏洞进行有效的风险调查、评估等管理过程。漏洞管理在保障安全配置和阻止攻击中发挥着重要作用,是当前信息系统安全研究的重要内容。现有技术进行软件漏洞检测时,为目标程序的不同执行路径自动生成测试用例,从而获得较高的测试代码覆盖率。然而,程序的执行路径很多,且大部分路径都是漏洞无关的,进而导致进行软件漏洞检测的效率降低。
技术实现思路
[0003]本专利技术提供一种基于云计算的软件安全漏洞分析方法、装置、电子设备及计算机可读存储介质,其主要目的在于解决进行软件漏洞检测的效率降低的问题。
[0004]为实现上述目的,本专利技术提供的一种基于云计算的软件安全漏洞分析方法,包括:
[0005]获取软件漏洞类型以及目标软件,根据所述软件漏洞类型确定危险漏洞;
[0006]对所述目标软件对应的软件程序进行切片,得到多个程序点,根据所述危险漏洞对所述程序点进行静态分析,得到目标指令;
[0007]利用所述目标指令对所述危险漏洞执行动态符号分析,得到危险路径,并对所述危险路径进行求解,得到多个测试用例;
[0008]根据多个所述测试用例对所述目标软件进行迭代测试,在迭代测试结果为异常时,判定所述目标软件存在所述软件漏洞类型对应的漏洞。
[0009]可选地,所述对所述目标软件对应的软件程序进行切片,得到多个程序点,包括:
[0010]获取预设的云计算服务接口,根据所述云计算服务接口提取服务接口信息;
[0011]将所述服务接口信息作为切片标准对所述软件程序的数据流进行划分,根据划分后的所述软件程序生成程序点。
[0012]可选地,所述根据所述危险漏洞对所述程序点进行静态分析,得到目标指令,包括:
[0013]根据所述危险漏洞初始化一个函数列表,逐个从所述函数列表选取目标函数;
[0014]从所述程序点中获取所述目标函数的调用地址,并判断所述调用地址返回是否为合法地址;
[0015]若所述调用地址不为合法地址,则从所述函数列表重新选取目标函数并返回获取所述目标函数的调用地址的步骤,直至所述函数列表中的函数遍历结束;
[0016]若所述调用地址为合法地址,则从所述程序点中提取所述调用地址的指令地址作
为目标指令。
[0017]可选地,所述利用所述目标指令对所述危险漏洞执行动态符号分析,得到危险路径,包括:
[0018]将所述危险漏洞初始化的函数列表进行符号化,得到函数符号;
[0019]获取执行的程序指令以及所述程序指令对所述函数符号的指令操作,并判断所述指令操作是否符合预设条件;
[0020]若所述指令操作不符合预设条件,则判断所述指令操作与所述目标指令是否相关;
[0021]若所述指令操作与所述目标指令相关,则根据所述目标指令及所述指令操作生成路径节点,并将所述路径节点记录至预设的危险路径中;
[0022]若所述指令条件符合预设条件或者所述指令操作与所述目标指令不相关,则将所述指令操作记录至所述危险路径中。
[0023]可选地,所述对所述危险路径进行求解,得到多个测试用例,包括:
[0024]将所述危险路径中的路径约束取反,得到反向危险路径;
[0025]利用预设的约束求解器对所述反向危险路径进行计算,得到测试用例。
[0026]可选地,所述根据多个所述测试用例对所述目标软件进行迭代测试,包括:
[0027]在所述软件程序中执行所述测试用例,并监控所述软件程序的执行状态;
[0028]在所述执行状态为异常时,结束测试并对所述测试用例及所述执行状态进行记录;
[0029]在所述执行状态为正常时,将所述测试用例作为初始输入,对所述初始输入符号化,并根据符号化的初始输入收集目标危险路径;
[0030]利用所述约束求解器对所述目标危险路径进行求解,得到更新的测试用例,并将所述更新的测试用例返回在所述软件程序中执行所述测试用例的步骤,直至更新的测试用例的数量达到预设的更新阈值。
[0031]可选地,所述根据所述软件漏洞类型确定危险漏洞,包括:
[0032]根据所述软件漏洞类型从预设的漏洞集合中选取对应的漏洞模式;
[0033]提取所述漏洞模式对应的危险因素,并将所述危险因素作为所述软件漏洞类型的危险漏洞。
[0034]为了解决上述问题,本专利技术还提供一种基于云计算的软件安全漏洞分析装置,所述装置包括:
[0035]危险漏洞获取模块,用于获取软件漏洞类型以及目标软件,根据所述软件漏洞类型确定危险漏洞;
[0036]静态分析模块,用于对所述目标软件对应的软件程序进行切片,得到多个程序点,根据所述危险漏洞对所述程序点进行静态分析,得到目标指令;
[0037]动态符号分析模块,用于利用所述目标指令对所述危险漏洞执行动态符号分析,得到危险路径,并对所述危险路径进行求解,得到多个测试用例;
[0038]漏洞分析模块,用于根据多个所述测试用例对所述目标软件进行迭代测试,在迭代测试结果为异常时,判定所述目标软件存在所述软件漏洞类型对应的漏洞。
[0039]为了解决上述问题,本专利技术还提供一种电子设备,所述电子设备包括:
Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0053]参照图1所示,为本专利技术一实施例提供的基于云计算的软件安全漏洞分析方法的流程示意图。在本实施例中,所述基于云计算的软件安全漏洞分析方法包括:
[0054]S1、获取软件漏洞类型以及目标软件,根据所述软件漏洞类型确定危险漏洞。
[0055]本专利技术实施例中,软件漏洞的类型不止一种,具有多种类型的漏洞,因此可以逐个获取不同类型的软件漏洞类型进行漏洞检测,所述软件漏洞类型包括但不限于缓冲区溢出、整数溢出等输入相关类漏洞。所述软件漏洞类型可以预存在云端存储区域中,本专利技术实施例可以通过计算机抓取语句、爬虫技术等从该云端存储区域中获取所述软件漏洞类型。
[0056]本专利技术实施例中,所述目标软件为云计算软件,基于云计算的性质,所述目标软件的存储与计算等不需要运行在本地计算机或者服务器中,而是在大量分布于网络上的计算机中实现,进而可以在共享的大型计算机中心实现对目标软件的软件漏洞分析,降低了本地服务器网络的局限性,提高了软件漏洞分析的效率。
[0057]本专利技术实施例中,所述根据所述软件漏洞类型确定危险漏洞,包括:
[0058]根据所述软件漏洞类型从预设的漏洞集合中选取对应的漏洞模式;
...
【技术保护点】
【技术特征摘要】
1.一种基于云计算的软件安全漏洞分析方法,其特征在于,所述方法包括:获取软件漏洞类型以及目标软件,根据所述软件漏洞类型确定危险漏洞;对所述目标软件对应的软件程序进行切片,得到多个程序点,根据所述危险漏洞对所述程序点进行静态分析,得到目标指令;利用所述目标指令对所述危险漏洞执行动态符号分析,得到危险路径,并对所述危险路径进行求解,得到多个测试用例;根据多个所述测试用例对所述目标软件进行迭代测试,在迭代测试结果为异常时,判定所述目标软件存在所述软件漏洞类型对应的漏洞。2.如权利要求1所述的基于云计算的软件安全漏洞分析方法,其特征在于,所述对所述目标软件对应的软件程序进行切片,得到多个程序点,包括:获取预设的云计算服务接口,根据所述云计算服务接口提取服务接口信息;将所述服务接口信息作为切片标准对所述软件程序的数据流进行划分,根据划分后的所述软件程序生成程序点。3.如权利要求1所述的基于云计算的软件安全漏洞分析方法,其特征在于,所述根据所述危险漏洞对所述程序点进行静态分析,得到目标指令,包括:根据所述危险漏洞初始化一个函数列表,逐个从所述函数列表选取目标函数;从所述程序点中获取所述目标函数的调用地址,并判断所述调用地址返回是否为合法地址;若所述调用地址不为合法地址,则从所述函数列表重新选取目标函数并返回获取所述目标函数的调用地址的步骤,直至所述函数列表中的函数遍历结束;若所述调用地址为合法地址,则从所述程序点中提取所述调用地址的指令地址作为目标指令。4.如权利要求1所述的基于云计算的软件安全漏洞分析方法,其特征在于,所述利用所述目标指令对所述危险漏洞执行动态符号分析,得到危险路径,包括:将所述危险漏洞初始化的函数列表进行符号化,得到函数符号;获取执行的程序指令以及所述程序指令对所述函数符号的指令操作,并判断所述指令操作是否符合预设条件;若所述指令操作不符合预设条件,则判断所述指令操作与所述目标指令是否相关;若所述指令操作与所述目标指令相关,则根据所述目标指令及所述指令操作生成路径节点,并将所述路径节点记录至预设的危险路径中;若所述指令条件符合预设条件或者所述指令操作与所述目标指令不相关,则将所述指令操作记录至所述危险路径中。5.如权利要求1所述的基于云计算的软件安全漏洞分析方法,其特征在于,所述对所述危险路径进行求解,得到多个测试用例,包括...
【专利技术属性】
技术研发人员:周江锋,
申请(专利权)人:周江锋,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。