一种基于程序逻辑识别同源攻击的方法、装置及存储设备制造方法及图纸

技术编号:23288365 阅读:15 留言:0更新日期:2020-02-08 18:21
本发明专利技术实施例公开一种基于程序逻辑识别同源攻击的方法、装置及存储设备,用以解决在无法通过IP或者域名等方式追溯恶意代码的来源时,难以对恶意代码编写者进行身份确认及攻击组织划分的问题。该方法包括:采集恶意代码;对恶意代码进行静态分析,构建恶意代码调用系统API的第一有向图;将恶意代码调用系统API的第一有向图转化成n维向量,并存储;与已知恶意代码样本的n维向量进行对比,计算相似度,判断恶意代码编写者身份。

A method, device and storage device for identifying homologous attacks based on program logic

【技术实现步骤摘要】
一种基于程序逻辑识别同源攻击的方法、装置及存储设备
本专利技术实施例涉及网络安全领域,尤其涉及一种基于程序逻辑识别同源攻击的方法、装置及存储设备。
技术介绍
目前,恶意代码伪装技术发展迅速,规模增长过快,在无法通过ip、域名等方式追溯恶意代码的来源时,人们难以确认该恶意代码的编写者身份,更无法对其进行攻击组织划分,推测其攻击手段和攻击目的。
技术实现思路
基于上述存在的问题,本专利技术实施例提供一种基于程序逻辑识别同源攻击的方法、装置及存储设备,用以解决在无法通过IP或者域名等方式追溯恶意代码的来源时,难以对恶意代码编写者进行身份确认及攻击组织划分的问题。本专利技术实施例公开一种基于程序逻辑识别同源攻击的方法,包括:采集恶意代码;对恶意代码进行静态分析,构建恶意代码调用系统API的第一有向图;将恶意代码调用系统API的第一有向图转化成n维向量,并存储;与已知恶意代码样本的n维向量进行对比,计算相似度,判断恶意代码编写者身份。进一步地,对恶意代码进行静态分析,构建恶意代码调用系统API的第一有向图,具体为:判断恶意代码编程语言,得到若干个单一编程语言的恶意代码块;构建若干个恶意代码块调用系统API的第二有向图;将若干个恶意代码块调用系统API的第二有向图拼接,得到完整的恶意代码调用系统API的第一有向图。进一步地,构建若干个恶意代码块调用系统API的第二有向图,具体为:提取恶意代码块中每个代码自定义函数的逻辑结构,并进行分析;构建每个代码自定义函数的第一数据流转图;将每个代码自定义函数的第一数据流转图拼接,得到完整的恶意代码块运行时的第二数据流转图;利用系统API替换第二数据流转图中的函数节点,将一条链路中相邻的变量节点合并,得到一个恶意代码块调用系统API的第二有向图;其中,数据流转图用以表述代码自定义函数对变量及函数的利用情况。进一步地,构建每个代码自定义函数的第一数据流转图,具体为:将分析出的语句中的变量及语句中的调用函数作为节点,以逻辑结构为边,构建每个代码自定义函数的第一数据流转图。进一步地,将每个代码自定义函数的第一数据流转图拼接,具体为:构建恶意代码块中的最外层自定义函数的第一数据流转图,根据最外层自定义函数对其他函数的调用关系,用其他函数的第一数据流转图替换最外层自定义函数的第一数据流转图中其他函数的节点。进一步地,利用系统API替换第二数据流转图中的函数节点之前,还包括:建立函数-系统API映射表。本专利技术实施例公开一种基于程序逻辑识别同源攻击的装置,包括存储器和处理器,所述存储器用于存储多条指令,所述处理器用于加载所述存储器中存储的指令以执行:采集恶意代码;对恶意代码进行静态分析,构建恶意代码调用系统API的第一有向图;将恶意代码调用系统API的第一有向图转化成n维向量,并存储;与已知恶意代码样本的n维向量进行对比,计算相似度,判断恶意代码编写者身份。进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:对恶意代码进行静态分析,构建恶意代码调用系统API的第一有向图,具体为:判断恶意代码编程语言,得到若干个单一编程语言的恶意代码块;构建若干个恶意代码块调用系统API的第二有向图;将若干个恶意代码块调用系统API的第二有向图拼接,得到完整的恶意代码调用系统API的第一有向图。进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:构建若干个恶意代码块调用系统API的第二有向图,具体为:提取恶意代码块中每个代码自定义函数的逻辑结构,并进行分析;构建每个代码自定义函数的第一数据流转图;将每个代码自定义函数的第一数据流转图拼接,得到完整的恶意代码块运行时的第二数据流转图;利用系统API替换第二数据流转图中的函数节点,将一条链路中相邻的变量节点合并,得到一个恶意代码块调用系统API的第二有向图;其中,数据流转图用以表述代码自定义函数对变量及函数的利用情况。进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:构建每个代码自定义函数的第一数据流转图,具体为:将分析出的语句中的变量及语句中的调用函数作为节点,以逻辑结构为边,构建每个代码自定义函数的第一数据流转图。进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:将每个代码自定义函数的第一数据流转图拼接,具体为:构建恶意代码块中的最外层自定义函数的第一数据流转图,根据最外层自定义函数对其他函数的调用关系,用其他函数的第一数据流转图替换最外层自定义函数的第一数据流转图中其他函数的节点。进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:利用系统API替换第二数据流转图中的函数节点之前,还包括:建立函数-系统API映射表。本专利技术实施例同时公开一种基于程序逻辑识别同源攻击的装置,包括:恶意代码采集模块:用于采集恶意代码;分析构建模块:用于对恶意代码进行静态分析,构建恶意代码调用系统API的第一有向图;转化存储模块:用于将恶意代码调用系统API的第一有向图转化成n维向量,并存储;判断模块:用于与已知恶意代码样本的n维向量进行对比,计算相似度,判断恶意代码编写者身份。本专利技术实施例提供了一种存储设备,所述存储设备中存储有多条指令,所述指令适于由处理器加载并执行本专利技术实施例提供的基于程序逻辑识别同源攻击的方法步骤。与现有技术相比,本专利技术提供的一种基于程序逻辑识别同源攻击的方法、装置及存储设备,至少实现了如下的有益效果:采集恶意代码;对恶意代码进行静态分析,构建恶意代码调用系统API的第一有向图;将恶意代码调用系统API的第一有向图转化成n维向量,并存储;与已知恶意代码样本的n维向量进行对比,计算相似度,判断恶意代码编写者身份。由于恶意代码执行时都是利用操作系统底层重要API进行攻击,所以相同的编写者编写的恶意代码对系统API的利用逻辑往往会具有一些相似性,因此将恶意代码的代码结构转化成恶意代码执行时对操作系统底层重要API调用的有向图,可以通过调用有向图分析代码编写者对操作系统底层API的调用逻辑,从而挖掘并进一步确定该恶意代码编写者的身份及其所属的攻击组织,有助于推测其攻击手段和攻击目的。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的基于程序逻辑识别同源攻击的方法流程图;图2为本专利技术实施例提供的恶意代码静态分析及构建恶意代码调用系统API的第一有向图的方法流程图;图3为本专利技术实施例提供的基于程序逻辑识别同源攻击的装置结构图;图4为本专利技术实施例提供的又一基于程序逻辑识别同源攻击的装置结构图。具体实施方式为了使本发本文档来自技高网...

【技术保护点】
1.一种基于程序逻辑识别同源攻击的方法,其特征在于:/n采集恶意代码;/n对恶意代码进行静态分析,构建恶意代码调用系统API的第一有向图;/n将恶意代码调用系统API的第一有向图转化成n维向量,并存储;/n与已知恶意代码样本的n维向量进行对比,计算相似度,判断恶意代码编写者身份。/n

【技术特征摘要】
1.一种基于程序逻辑识别同源攻击的方法,其特征在于:
采集恶意代码;
对恶意代码进行静态分析,构建恶意代码调用系统API的第一有向图;
将恶意代码调用系统API的第一有向图转化成n维向量,并存储;
与已知恶意代码样本的n维向量进行对比,计算相似度,判断恶意代码编写者身份。


2.如权利要求1所述的方法,其特征在于,对恶意代码进行静态分析,构建恶意代码调用系统API的第一有向图,具体为:
判断恶意代码编程语言,得到若干个单一编程语言的恶意代码块;
构建若干个恶意代码块调用系统API的第二有向图;
将若干个恶意代码块调用系统API的第二有向图拼接,得到完整的恶意代码调用系统API的第一有向图。


3.如权利要求2所述的方法,其特征在于,构建若干个恶意代码块调用系统API的第二有向图,具体为:
提取恶意代码块中每个代码自定义函数的逻辑结构,并进行分析;
构建每个代码自定义函数的第一数据流转图;
将每个代码自定义函数的第一数据流转图拼接,得到完整的恶意代码块运行时的第二数据流转图;
利用系统API替换第二数据流转图中的函数节点,将一条链路中相邻的变量节点合并,得到一个恶意代码块调用系统API的第二有向图;
其中,数据流转图用以表述代码自定义函数对变量及函数的利用情况。


4.如权利要求3所述的方法,其特征在于:构建每个代码自定义函数的第一数据流转图,具体为:
将分析出的语句中的变量及语句中的调用函数作为节点,以逻辑结构为边,构建每个代码自定义函数的第一数据流转图。


5.如权利要求3所述的方法,其特征在于,将每个代码自定义函数的第一数据流转图拼接,具体为:
构建恶意代码块中的最外层自定义函数的第一数据流转图,根据最外层自定义函数对其他函数的调用关系,用其他函数的第一数据流转图替换最外层自定义函数的第一数据流转图中其他函数的节点。


6.如权利要求3所述的方法,其特征在于,利用系统API替换第二数据流转图中的函数节点之前,还包括:
建立函数-系统API映射表。


7.一种基于程序逻辑识别同源攻击的装置,其特征在于:所述装置包括存储器和处理器,所述存储器用于存储多条指令,所述处理器用于加载所述存储器中存储的指令以执行:
采集恶意代码;
对恶意代码进行静态分析,构建恶意代码调用系统API的第一有向图;
将恶意代码调用系统API的第一有向图转化成n维向量,并存储;
与已知恶意代码样本的n维向量进行对比,计算相似度,判断恶意代码编写者身份。


8.如权利要求7所述的装置,其特征...

【专利技术属性】
技术研发人员:郭伟超徐翰隆肖新光王小丰
申请(专利权)人:哈尔滨安天科技集团股份有限公司
类型:发明
国别省市:黑龙;23

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

1