针对字符串拼接行为的威胁检测方法、装置及存储介质与流程

文档序号:19635425发布日期:2020-01-07 11:57阅读:168来源:国知局
针对字符串拼接行为的威胁检测方法、装置及存储介质与流程

本发明涉及信息安全技术领域,尤其涉及一种针对字符串拼接行为的威胁检测方法、装置及存储介质。



背景技术:

通过大量的反病毒经验,我们发现,恶意样本想要执行恶意行为,需要调用自身所需dll和api。但为了防止被杀软检出,多采取拼接行为,这里所述的字符串拼接为字符的联系组合,是指内存地址上的连续。例如,加载dll需要loadlibrary函数,区别于传统的明文字符串(静态连续字符),采用拼接的行为(动态写入字符):

由于这种不连续的存储行为,导致现有的杀毒软件无法有效检出。



技术实现要素:

有鉴于此,本发明实施例提供了一种针对字符串拼接行为的威胁检测方法、装置及存储介质,通过分段提取可疑字符和记录各段字符存储地址,依据存储地址顺序将各段字符组合成为可疑拼接字符串,并与敏感字符串列表匹配,进而有效检测采取拼接行为躲避检测的威胁事件。

第一方面,本发明实施例提供一种针对字符串拼接行为的威胁检测方法,包括:

获取值得关注的敏感字符串并生成敏感字符串列表;

获取各段可疑字符及字符对应的存储地址,按照各存储地址顺序将各段字符组合成可疑拼接字符串;

将可疑拼接字符串及敏感字符串列表中的各敏感字符串映射到笛卡尔坐标系中,分别生成待匹配折线和敏感离散簇;

基于梯度判定方法判断所述待匹配折线与敏感离散簇是否匹配,若匹配则判定可疑拼接字符串在敏感字符串列表中。

根据本发明实施例的一种具体实现方式,所述获取值得关注的敏感字符串并生成敏感字符串列表,具体包括:

获取值得关注的敏感字符串;

为每个敏感字符串添加属性值,包括:主观能动值和客观能动值;

每个敏感字符串的敏感度会随着属性值而变化;

基于敏感度评估各敏感字符串是否加入敏感字符串列表。

根据本发明实施例的一种具体实现方式,所述将可疑拼接字符串及敏感字符串列表中的各敏感字符串映射到笛卡尔坐标系中,分别生成待匹配折线和敏感离散簇,具体包括:

将可疑拼接字符串的各段字符的存储地址作为x坐标值、各段字符的ascii值作为y坐标值,生成笛卡尔坐标系中的离散点,用平滑直线将相邻的离散点连接起来生成一条待匹配折线;

将敏感字符串列表中的各敏感字符串的各段字符的存储地址作为x坐标值、字符的ascii值作为y坐标值,生成笛卡尔坐标系中的离散点,用平滑直线将相邻的离散点连接起来生成敏感离散簇。

根据本发明实施例的一种具体实现方式,所述基于梯度判定方法判断所述待匹配折线与敏感离散簇是否匹配,若匹配则判定可疑拼接字符串在敏感字符串列表中,具体包括:

沿着存储地址递增方向,将待匹配折线与敏感离散簇的各段折线的倾斜度进行匹配,各段倾斜度相似则判定可疑拼接字符串在所述敏感字符串列表中。

根据本发明实施例的一种具体实现方式,还包括:更新威胁事件,并基于威胁事件生成可疑拼接字符串,若判定可疑拼接字符串不在敏感字符串列表中,则将该可疑拼接字符串作为敏感字符串加入敏感字符串列表中。

第二方面,本发明实施例提供一种针对字符串拼接行为的威胁检测装置,包括:

敏感字符串列表生成模块,用于获取值得关注的敏感字符串并生成敏感字符串列表;

可疑拼接字符串生成模块,用于获取各段可疑字符及字符对应的存储地址,按照各存储地址顺序将各段字符组合成可疑拼接字符串;

折线映射模块,用于将可疑拼接字符串及敏感字符串列表中的各敏感字符串映射到笛卡尔坐标系中,分别生成待匹配折线和敏感离散簇;

匹配判定模块,用于基于梯度判定方法判断所述待匹配折线与敏感离散簇是否匹配,若匹配则判定可疑拼接字符串在敏感字符串列表中。

根据本发明实施例的一种具体实现方式,所述敏感字符串列表生成模块,具体用于:

获取值得关注的敏感字符串;

为每个敏感字符串添加属性值,包括:主观能动值和客观能动值;

每个敏感字符串的敏感度会随着属性值而变化;

基于敏感度评估各敏感字符串是否加入敏感字符串列表。

根据本发明实施例的一种具体实现方式,所述折线映射模块,具体用于:

将可疑拼接字符串的各段字符的存储地址作为x坐标值、各段字符的ascii值作为y坐标值,生成笛卡尔坐标系中的离散点,用平滑直线将相邻的离散点连接起来生成一条待匹配折线;

将敏感字符串列表中的各敏感字符串的各段字符的存储地址作为x坐标值、字符的ascii值作为y坐标值,生成笛卡尔坐标系中的离散点,用平滑直线将相邻的离散点连接起来生成敏感离散簇。

根据本发明实施例的一种具体实现方式,所述匹配判定模块,具体用于:

沿着存储地址递增方向,将待匹配折线与敏感离散簇的各段折线的倾斜度进行匹配,各段倾斜度相似则判定可疑拼接字符串在所述敏感字符串列表中。

根据本发明实施例的一种具体实现方式,还包括:回归适应模块,用于更新威胁事件,并基于威胁事件生成可疑拼接字符串,若判定可疑拼接字符串不在敏感字符串列表中,则将该可疑拼接字符串作为敏感字符串加入敏感字符串列表中。

第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实现方式所述的方法。

第四方面,本发明的实施例还提供计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述任一实现方式所述的方法。

本发明实施例提供的一种针对字符串拼接行为的威胁检测方法、装置及存储介质,事先整理生成敏感字符串列表,并获取各段可疑字符及各段可疑字符对应的存储地址,按照存储地址顺序将各段可疑字符组合成可疑拼接字符串;将可疑拼接字符串及敏感字符串列表中的各敏感字符串基于同样的方法映射到笛卡尔坐标系中;在笛卡尔坐标系中,利用梯度判定方法判断所述可疑拼接字符串是否在敏感字符串列表中。本发明实施例能够有效检测加密样本,尤其是采用拼接手段躲避检测的威胁事件。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明的一种针对字符串拼接行为的威胁检测方法的一实施例流程图;

图2为本发明的一种针对字符串拼接行为的威胁检测方法的又一实施例流程图;

图3为本发明的一种针对字符串拼接行为的威胁检测装置的一实施例结构示意图;

图4为本发明电子设备一个实施例的结构示意图。

具体实施方式

下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。针对本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

第一方面,本发明实施例提供一种针对字符串拼接行为的威胁检测方法,能够有效检测采用字符串拼接行为躲避检测的威胁事件。

图1为本发明一种针对字符串拼接行为的威胁检测方法的一实施例流程图,包括:

s101:获取值得关注的敏感字符串并生成敏感字符串列表。其中,所述敏感字符串包括根据分析经验直接获得的相关字符串,包括但不限于:loadlibrary、winexec、deletefile等。

s102:获取各段可疑字符及字符对应的存储地址,按照各存储地址顺序将各段字符组合成可疑拼接字符串。

具体地,包括但不限于,利用反汇编mov指令获取各段可疑字符及各段可疑字符对应的存储地址。其中,所述可疑字符为可显字符,长短根据经验选择,可以为5个以上。

s103:将可疑拼接字符串及敏感字符串列表中的各敏感字符串映射到笛卡尔坐标系中,分别生成待匹配折线和敏感离散簇。

s104:基于梯度判定方法判断所述待匹配折线与敏感离散簇是否匹配,若匹配则判定可疑拼接字符串在敏感字符串列表中。

优选地,所述获取值得关注的敏感字符串并生成敏感字符串列表,具体包括:

获取值得关注的敏感字符串;其中,所述敏感字符串包括根据分析经验直接获得的相关字符串,包括但不限于:loadlibrary、winexec、deletefile等。

为每个敏感字符串添加属性值,包括:主观能动值和客观能动值。

具体地,主观能动值x、客观能动值y,其中x与y会随着威胁事件的产生、发展而变化。其中,映射到坐标系中可认为是两个相互垂直的矢量,此处为了表述简单认定x矢量为x轴方向、y矢量为y轴方向。以威胁事件的发生时刻为基准点,将该威胁事件的时间轴分为事件发生前与事件发生后两个区间,两个区间分别影响相关字符串的主观能动值与客观能动值。

例如:威胁事件a爆发,此事件a遍历用户电脑并删除固定格式的文档文件,那么a爆发后相应的文档后缀字符串.docx、删除文件函数字符串deletefile的客观能动值就会相应根据字符串在样本中出现的频率相应的增加、主观能动值也会相应的减少。

每个敏感字符串的敏感度会随着属性值而变化。

具体地,字符串的主观能动值与客观能动值会直接影响该字符串的敏感度z,即z=f(x,y)。

基于敏感度评估各敏感字符串是否加入敏感字符串列表。

具体地,还包括:根据z(x,y)在空间直角坐标系中图像的可导性来判断某个字符串的敏感度是否出现较大偏差(由于事件的发展是积累渐变而非突变的,表现在图像上即为光滑)。

优选地,所述将可疑拼接字符串及敏感字符串列表中的各敏感字符串映射到笛卡尔坐标系中,分别生成待匹配折线和敏感离散簇,具体包括:

将可疑拼接字符串的各段字符的存储地址作为x坐标值、各段字符的ascii值作为y坐标值,生成笛卡尔坐标系中的离散点,用平滑直线将相邻的离散点连接起来生成一条待匹配折线;

将敏感字符串列表中的各敏感字符串的各段字符的存储地址作为x坐标值、字符的ascii值作为y坐标值,生成笛卡尔坐标系中的离散点,用平滑直线将相邻的离散点连接起来生成敏感离散簇。

优选地,所述基于梯度判定方法判断所述待匹配折线与敏感离散簇是否匹配,若匹配则判定可疑拼接字符串在敏感字符串列表中,具体包括:

沿着存储地址递增方向,将待匹配折线与敏感离散簇的各段折线的倾斜度进行匹配,各段倾斜度相似则判定可疑拼接字符串在所述敏感字符串列表中。

优选地,还包括:更新威胁事件,并基于威胁事件生成可疑拼接字符串,若判定可疑拼接字符串不在敏感字符串列表中,则将该可疑拼接字符串作为敏感字符串加入敏感字符串列表中。

上述实施例所述的方法将可疑字符拼接成可疑拼接字符串,并利用梯度判定方法判断所述可疑拼接字符串是否在敏感字符串列表中,进而识别是否存在利用字符串拼接行为躲避检测的威胁事件。

同时,图2为本发明一种针对字符串拼接行为的检测方法又一实施例流程图,包括:

s201:获取值得关注的敏感字符串并生成敏感字符串列表。

s202:将敏感字符串列表中的各敏感字符串的各段字符的存储地址作为x坐标值、字符的ascii值作为y坐标值,生成笛卡尔坐标系中的离散点。

s203:用平滑直线将相邻的离散点连接起来生成敏感离散簇。

s204:获取各段可疑字符及字符对应的存储地址,按照各存储地址顺序将各段字符组合成可疑拼接字符串。

s205:将可疑拼接字符串的各段字符的存储地址作为x坐标值、各段字符的ascii值作为y坐标值,生成笛卡尔坐标系中的离散点。

s206:用平滑直线将相邻的离散点连接起来生成一条待匹配折线。

s207:沿着存储地址递增方向,将待匹配折线与敏感离散簇的各段折线的倾斜度进行匹配,各段倾斜度相似则判定可疑拼接字符串在所述敏感字符串列表中。其中,根据梯度判定可以更为容易判定可疑拼接字符串是否在敏感字符串列表中。

优选地,所述获取值得关注的敏感字符串并生成敏感字符串列表,具体包括:

获取值得关注的敏感字符串;

为每个敏感字符串添加属性值,包括:主观能动值和客观能动值;

每个敏感字符串的敏感度会随着属性值而变化;

基于敏感度评估各敏感字符串是否加入敏感字符串列表。

优选地,还包括:更新威胁事件,并基于威胁事件生成可疑拼接字符串,若判定可疑拼接字符串不在敏感字符串列表中,则将该可疑拼接字符串作为敏感字符串加入敏感字符串列表中。

上述实施例所述的方法将敏感字符串列表中的各敏感字符串映射到笛卡尔坐标系中生成敏感离散簇,同时基于同样的方法将可疑拼接字符串映射到笛卡尔坐标系中生成待匹配折线,利用梯度判定方法判断所述待匹配折线与离散敏感簇是否匹配,若匹配则判定存在利用字符串拼接行为躲避检测的威胁事件。

第二方面,本发明实施例提供一种针对字符串拼接行为的威胁检测装置,能够有效检测采用字符串拼接行为躲避检测的威胁事件。

图3为本发明一种针对字符串拼接行为的威胁检测装置的一实施例结构图,包括:

敏感字符串列表生成模块301,用于获取值得关注的敏感字符串并生成敏感字符串列表;

可疑拼接字符串生成模块302,用于获取各段可疑字符及字符对应的存储地址,按照各存储地址顺序将各段字符组合成可疑拼接字符串;

折线映射模块303,用于将可疑拼接字符串及敏感字符串列表中的各敏感字符串映射到笛卡尔坐标系中,分别生成待匹配折线和敏感离散簇;

匹配判定模块304,用于基于梯度判定方法判断所述待匹配折线与敏感离散簇是否匹配,若匹配则判定可疑拼接字符串在敏感字符串列表中。

优选地,所述敏感字符串列表生成模块,具体用于:

获取值得关注的敏感字符串;

为每个敏感字符串添加属性值,包括:主观能动值和客观能动值;

每个敏感字符串的敏感度会随着属性值而变化;

基于敏感度评估各敏感字符串是否加入敏感字符串列表。

优选地,所述折线映射模块,具体用于:

将可疑拼接字符串的各段字符的存储地址作为x坐标值、各段字符的ascii值作为y坐标值,生成笛卡尔坐标系中的离散点,用平滑直线将相邻的离散点连接起来生成一条待匹配折线;

将敏感字符串列表中的各敏感字符串的各段字符的存储地址作为x坐标值、字符的ascii值作为y坐标值,生成笛卡尔坐标系中的离散点,用平滑直线将相邻的离散点连接起来生成敏感离散簇。

优选地,所述匹配判定模块,具体用于:

沿着存储地址递增方向,将待匹配折线与敏感离散簇的各段折线的倾斜度进行匹配,各段倾斜度相似则判定可疑拼接字符串在所述敏感字符串列表中。

优选地,还包括:回归适应模块,用于更新威胁事件,并基于威胁事件生成可疑拼接字符串,若判定可疑拼接字符串不在敏感字符串列表中,则将该可疑拼接字符串作为敏感字符串加入敏感字符串列表中。

上述实施例所述的装置将可疑字符拼接成可疑拼接字符串,并利用梯度判定方法判断所述可疑拼接字符串是否在敏感字符串列表中,进而识别是否存在利用字符串拼接行为躲避检测的威胁事件。

第三方面,本发明实施例还提供一种电子设备,能够有效识别是否存在利用字符串拼接行为躲避检测的威胁事件。

图4为本发明电子设备一个实施例的结构示意图,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的方法。

处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明上述方法实施例的描述,在此不再赘述。

该电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子设备。

第四方面,本发明的实施例还提供计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述任一实现方式所述的方法。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。

尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1