一种基于符号化执行的物联网终端漏洞利用脚本生成方法技术

技术编号:35760237 阅读:19 留言:0更新日期:2022-11-26 19:09
本发明专利技术公开了一种基于符号化执行的物联网终端漏洞利用脚本生成方法,涉及物联网终端漏洞生成领域,解决了现有国内基于符号化执行的物联网终端漏洞利用脚本生成研究少,且需要遍历所有输入变量的数值组合以保证程序,导致发现效率较低的问题,现提出如下方案,其包括选择合适的攻击向量作为攻击种子;获得了一个符号化公式;构造一个通用工作流图;通过k

【技术实现步骤摘要】
一种基于符号化执行的物联网终端漏洞利用脚本生成方法


[0001]本专利技术涉及物联网终端漏洞生成领域,尤其涉及一种基于符号化执行的物联网终端漏洞利用脚本生成方法。

技术介绍

[0002]现今是一个信息化,智能化的时代,智慧医疗,移动支付,智慧家居,无人售货便利店,智慧城市等高度信息化的技术和产品逐渐走进人们的视野,物联网设备的数量也呈现出一种爆炸性的增长。然而,在物联网蓬勃发展的过程中,现有的安全机制难以应对日益增长的安全需求,导致各类应用场景中的安全问题层出不穷,大量设备容易遭受恶意代码威胁或非法控制,甚至引发大规模安全事故。
[0003]及时检测发现安全威胁或提前采取防御是对抗威胁的重要手段,但是物联网系统的特性决定了对其实施完善的安全防护面临诸多挑战。例如,物联网平台在设计开发、通信交互、访问控制等方面缺乏统一的标准,设备的内部和外部运行环境缺乏有效保护,已有的解决方案中存在应用面窄、自动化不足等缺点。因此,面对不断出现的安全威胁,仍需要更深入研究更全面可靠的检测和防御方案。
[0004]物联网安全事件频发主要有以下几个方面的原因:第一,物联网设备异构繁多,各品牌的固件通常由设备厂商提供,设备厂商为了争夺市场份额,不断加快产品的研发生产,缩短产品的迭代周期,没有在安全问题上进行严格管控且缺少完善的软件测试,导致设备固件漏洞多;第二,物联网设备计算能力薄弱,不能支持通用防护软件的运行,安全防御措施欠缺;第三,物联网设备多数与实际生产过程直接关联,停产检修升级代价高。一旦部署到生产环境中就很少进行固件更新和替换,且设备生产厂商和使用厂家的固件安全处理能力不对等,导致设备固件更新困难。
[0005]符号执行技术包括静态符号执行技术和动态符号执行技术,符号执行最先在上世纪70年代提出,最初是对源代码进行静态分析,利用符号值代替变量,经过一段时间的发展,又提出动态符号执行技术,以符号执行作为技术基础,微软的高级工程师在相关论文中对动态符号执行技术进行定义,在他的论文中对工具DART进行描述,其中包括三种方法:第一是对源码进行静态分析,实现了环境交互。第二是随机生成模拟数据,目的是为了与外部环境交互。第三,通过不同的测试数据进入不同路径。总体就是包括:代码插桩、符号化模拟执行、路径求解。
[0006]在国内这方面的研究还相对较少,主要集中在高校当中,有针对符号化插桩的符号执行工具,一些对于解决符号执行中执行效率问题和增加分支覆盖概率方面有一定作用的工具。因此提出一种基于符号化执行的物联网终端漏洞利用脚本生成方法。

技术实现思路

[0007]本专利技术的目的在于提供一种基于符号化执行的物联网终端漏洞利用脚本生成方法,解决了现有国内基于符号化执行的物联网终端漏洞利用脚本生成研究较少,且需要遍
历所有输入变量的数值组合以保证程序,导致发现效率较低的问题。
[0008]为实现上述目的,本专利技术提供如下技术方案:一种基于符号化执行的物联网终端漏洞利用脚本生成方法,包括以下步骤:
[0009]S1:攻击种子生成
[0010](1)首先识别当前输入点的上下文语义,选择合适的攻击向量作为攻击种子;
[0011](2)然后在各个模块中把从输入点到漏洞点的所有执行路径全部符号化,并分析输入的变量类型与传递路径,这样就获得了一个符号化公式;
[0012](3)这个公式符号化的表示了路径状态、输入在不同模块之间的转移以及来自漏洞出发点的上下文约束;
[0013]S2:攻击路径选择
[0014](1)构造一个通用工作流图,通用工作流图是一个加权图G=(V,E),路径权重是全局执行路径的增加量;
[0015](2)通过k

最短路径算法(KSP)按照两个节点之间的距离大小进行排序,并对数据进行归一化处理,通过识别有关跳转的行为来构建通用数据流表,这个表代表了所有可能的程序运行流程;
[0016](3)将所有可能的程序运行流程按照全局执行路径的所有可能性数量进行排名,并找到能触发漏洞点的全局执行路径;
[0017]S3:漏洞利用脚本生成
[0018](1)对于上一步中找到的每一个可以触发漏洞点的全局执行路径,构造了一个符号化公式,来表示这个全局路径上的估值计算与状态;
[0019](2)然后通过第一步识别的当前输入点的上下文语义,向符号化公式添加攻击特征的约束,通过约束求解自动化获取漏洞利用脚本。
[0020]优选的,所述S2的(1)中V表示顶点,是不同的模块,E表示路径是从一个模块转移到另一个模块的过程。
[0021]优选的,所述S2的(3)中,构造了前序

概要状态表格,将每个节点中需要的前序状态和该模块中对全局变量进行的赋值列到表中。
[0022]优选的,如果所述前一个节点的概要不能满足当前节点的前序状态,则这两个节点之间不会有联系,可以删除该状态转移路径。
[0023]与相关技术相比较,本专利技术提供的一种基于符号化执行的物联网终端漏洞利用脚本生成方法具有如下有益效果:
[0024]本专利技术提供一种基于符号化执行的物联网终端漏洞利用脚本生成方法,通过首先基于文本语义分析的构造攻击字符串语法,进一步利用k

最短路径算法得到能触发漏洞点的最优执行路径,对该攻击路径添加攻击特征约束,利用符号化公式对输入变量进行约束求解得到输入变量数值的最优组合,保证漏洞验证程序可以执行有效程序路径触发漏洞。
[0025]与现有技术相比,该方法可以在有限时间内计算得到有效触发漏洞利用执行点的程序路径及输入变量的输入数值,保证了漏洞验证的顺利实施。
附图说明
[0026]图1为本专利技术的一种基于符号化执行的物联网终端漏洞利用脚本生成方法的流程
图。
具体实施方式
[0027]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例;基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0028]实施例一:
[0029]请参阅图1,本专利技术提供一种技术方案:一种基于符号化执行的物联网终端漏洞利用脚本生成方法,包括以下步骤:
[0030]S1:攻击种子生成
[0031](1)首先识别当前输入点的上下文语义,选择合适的攻击向量作为攻击种子;
[0032](2)然后在各个模块中把从输入点到漏洞点的所有执行路径全部符号化,并分析输入的变量类型与传递路径,这样就获得了一个符号化公式;
[0033](3)这个公式符号化的表示了路径状态、输入在不同模块之间的转移以及来自漏洞出发点的上下文约束;
[0034]S2:攻击路径选择
[0035](1)构造一个通用工作流图,通用工作流图是一个加权图G=(V,E),路径权重是全局执行路径的增加量本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于符号化执行的物联网终端漏洞利用脚本生成方法,其特征在于,包括以下步骤:S1:攻击种子生成(1)首先识别当前输入点的上下文语义,选择合适的攻击向量作为攻击种子;(2)然后在各个模块中把从输入点到漏洞点的所有执行路径全部符号化,并分析输入的变量类型与传递路径,这样就获得了一个符号化公式;(3)这个公式符号化的表示了路径状态、输入在不同模块之间的转移以及来自漏洞出发点的上下文约束;S2:攻击路径选择(1)构造一个通用工作流图,通用工作流图是一个加权图G=(V,E),路径权重是全局执行路径的增加量;(2)通过k

最短路径算法(KSP)按照两个节点之间的距离大小进行排序,并对数据进行归一化处理,通过识别有关跳转的行为来构建通用数据流表,这个表代表了所有可能的程序运行流程;(3)将所有可能的程序运行流程按照全局执行路径的所有可能性数量进行排名,并找到能触发漏洞点的全局执行路径;S3:漏洞利用脚本生成(1)...

【专利技术属性】
技术研发人员:熊烨宋宇波王骕王凯胡荣
申请(专利权)人:南京治煜信息科技有限公司南京千凝科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1