首页> 中国专利> 一种基于内存指令控制流检测技术的0day漏洞攻击检测方法

一种基于内存指令控制流检测技术的0day漏洞攻击检测方法

摘要

公开了一种基于内存指令控制流检测技术的0day漏洞攻击检测方法。其首先提取待运行内存指令,接着,对所述待运行内存指令进行数据预处理以得到内存指令描述词的序列,然后,对所述内存指令描述词的序列进行语义编码以得到内存指令描述词语义特征向量的序列,接着,基于所述内存指令描述词语义特征向量的序列得到生成指令控制流图,最后,将所述生成指令控制流图与正常程序的指令控制流图进行比对,确定所述待运行内存指令是否存在漏洞。这样,可以发现异常的控制流转移,进而识别攻击行为。

著录项

  • 公开/公告号CN117540387A

    专利类型发明专利

  • 公开/公告日2024-02-09

    原文格式PDF

  • 申请/专利号CN202311496630.8

  • 发明设计人

    申请日2023-11-10

  • 分类号G06F21/57;

  • 代理机构郑州知己知识产权代理有限公司;

  • 代理人季发军

  • 地址 450052 河南省郑州市二七区嵩山南路87号院办公区C楼

  • 入库时间 2024-04-18 20:01:23

说明书

技术领域

本申请涉及计算机安全领域,且更为具体地,涉及一种基于内存指令控制流检测技术的0day漏洞攻击检测方法。

背景技术

0day漏洞是指已经被发现但尚未公开或修复的计算机安全漏洞。黑客可以利用这些漏洞来绕过安全措施,执行未经授权的操作。漏洞通常由软件开发者或独立的安全研究人员发现,并向相关厂商或组织报告以进行修复。

然而,如果黑客在漏洞被公开之前就已经利用它,那么这个漏洞就被称为0day漏洞,因为厂商还没有0天(zero-day)的时间来解决这个问题。这使得黑客能够在其他人都不知道漏洞存在的情况下攻击系统,从而使得被攻击的系统处于高风险状态。

0day漏洞一般被黑客或攻击者用于进行有目的性的攻击,例如入侵系统、窃取敏感信息、传播恶意软件等。因此,及时发现和修复0day漏洞对于保护计算机系统的安全至关重要。传统的检测方法主要是基于签名或行为,其依赖于已知的攻击特征或规则,对未知的0day漏洞攻击的检测并不准确。

因此,期待一种优化的0day漏洞攻击检测方法。

发明内容

为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种基于内存指令控制流检测技术的0day漏洞攻击检测方法,其可以结合基于深度学习的人工智能技术,对内存中的指令进行动态分析,构建指令控制流图,并与正常程序的指令控制流图进行比较,从而发现异常的控制流转移,进而识别攻击行为。

根据本申请的一个方面,提供了一种基于内存指令控制流检测技术的0day漏洞攻击检测方法,其包括:

提取待运行内存指令;

对所述待运行内存指令进行数据预处理以得到内存指令描述词的序列;

对所述内存指令描述词的序列进行语义编码以得到内存指令描述词语义特征向量的序列;

基于所述内存指令描述词语义特征向量的序列得到生成指令控制流图;以及

将所述生成指令控制流图与正常程序的指令控制流图进行比对,确定所述待运行内存指令是否存在漏洞。

与现有技术相比,本申请提供的基于内存指令控制流检测技术的0day漏洞攻击检测方法,其首先提取待运行内存指令,接着,对所述待运行内存指令进行数据预处理以得到内存指令描述词的序列,然后,对所述内存指令描述词的序列进行语义编码以得到内存指令描述词语义特征向量的序列,接着,基于所述内存指令描述词语义特征向量的序列得到生成指令控制流图,最后,将所述生成指令控制流图与正常程序的指令控制流图进行比对,确定所述待运行内存指令是否存在漏洞。这样,可以发现异常的控制流转移,进而识别攻击行为。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,以下附图并未刻意按实际尺寸等比例缩放绘制,重点在于示出本申请的主旨。

图1为根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测方法的流程图。

图2为根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测方法的架构示意图。

图3为根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测方法的子步骤S130的流程图。

图4为根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测方法的子步骤S140的流程图。

图5为根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测系统的框图。

图6为根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测方法的应用场景图。

具体实施方式

下面将结合附图对本申请实施例中的技术方案进行清楚、完整地描述,显而易见地,所描述的实施例仅仅是本申请的部分实施例,而不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,也属于本申请保护的范围。

如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。

虽然本申请对根据本申请的实施例的系统中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在用户终端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。

本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。

针对上述技术问题,本申请的技术构思为结合基于深度学习的人工智能技术,对内存中的指令进行动态分析,构建指令控制流图(ICFG),并与正常程序的ICFG进行比较,从而发现异常的控制流转移,进而识别攻击行为。这里,内存指令控制流图是指由内存中待运行的指令构成的控制流图。

基于此,图1为根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测方法的流程图。图2为根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测方法的架构示意图。如图1和图2所示,根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测方法,包括步骤:S110,提取待运行内存指令;S120,对所述待运行内存指令进行数据预处理以得到内存指令描述词的序列;S130,对所述内存指令描述词的序列进行语义编码以得到内存指令描述词语义特征向量的序列;S140,基于所述内存指令描述词语义特征向量的序列得到生成指令控制流图;以及,S150,将所述生成指令控制流图与正常程序的指令控制流图进行比对,确定所述待运行内存指令是否存在漏洞。

应可以理解,在步骤S110中,从目标程序的内存中提取待运行的内存指令,这些内存指令是待检测的对象,需要被进一步处理和分析。在步骤S120中,对待运行的内存指令进行数据预处理,这可以包括对指令进行解析、分割、标记化等操作,以便将内存指令转换为内存指令描述词的序列,内存指令描述词是对内存指令进行抽象和表示的方式,可以更方便地进行后续的分析和处理。在步骤S130中,对内存指令描述词的序列进行语义编码,语义编码是将内存指令描述词转换为语义特征向量的过程,通过捕捉内存指令之间的语义关系和特征,将其转换为可计算和比较的向量表示形式。在步骤S140中,基于内存指令描述词语义特征向量的序列生成指令控制流图,指令控制流图是对程序执行流程的图形化表示,它反映了程序中指令之间的控制关系,通过生成指令控制流图,可以更清晰地了解程序的执行逻辑和控制流程。在步骤S150中,将生成的指令控制流图与正常程序的指令控制流图进行比对,通过比对两者之间的差异,可以确定待运行内存指令是否存在漏洞,如果生成的指令控制流图与正常程序的指令控制流图有明显的不同,可能意味着存在潜在的漏洞或异常行为。综合来说,基于内存指令控制流检测技术的0day漏洞攻击检测方法中的各个步骤分别用于提取待运行内存指令、对内存指令进行预处理和编码、生成指令控制流图,并最终与正常程序进行比对,以确定待运行内存指令是否存在漏洞。

具体地,在本申请的技术方案中,首先提取待运行内存指令;并对所述待运行内存指令进行实体识别和分词处理以得到内存指令描述词的序列。具体地,在本申请的实施例中,对所述待运行内存指令进行实体识别可以通过使用预训练的命名实体识别模型来实现,即所述预训练的命名实体模型可以识别出内存指令中的操作码、寄存器、立即数、内存地址等实体,并将它们标注为不同的类别。

相应地,在步骤S120中,对所述待运行内存指令进行数据预处理以得到内存指令描述词的序列,包括:对所述待运行内存指令进行实体识别和分词处理以得到所述内存指令描述词的序列。

应可以理解,分词处理是自然语言处理中的一项重要技术,它将文本按照一定的规则或算法进行切分,将连续的字符序列划分为有意义的词语或词组。在基于内存指令控制流检测技术的0day漏洞攻击检测方法中,分词处理用于对待运行内存指令进行处理,以得到内存指令描述词的序列。分词处理的作用如下:1.提取内存指令的关键信息:内存指令通常由一系列字符组成,通过分词处理可以将内存指令切分为不同的词语,从而提取出内存指令中的关键信息。这些关键信息可能包括操作码、寄存器名称、内存地址等,对后续的分析和处理非常重要。2.减少特征空间维度:内存指令通常具有较长的字符串表示形式,而分词处理可以将其切分为多个词语,从而将原本较长的字符串表示转换为多个短词语的序列。这样可以减少特征空间的维度,简化了后续处理的复杂性。3.提高语义理解能力:分词处理可以将内存指令按照词语的语义进行划分,使得后续的语义编码和特征提取更加准确。通过将内存指令划分为不同的词语,可以更好地捕捉内存指令的语义信息,提高对内存指令的理解能力。换言之,分词处理在基于内存指令控制流检测技术的0day漏洞攻击检测方法中的作用是提取内存指令的关键信息、减少特征空间维度,并提高对内存指令的语义理解能力,这些都有助于后续的分析、编码和比对操作。

然后,将所述内存指令描述词的序列通过包含词嵌入层的上下文编码器以得到内存指令描述词语义特征向量的序列。也就是,通过词嵌入层将内存指令描述词转换为可被读取与识别的内存指令描述词嵌入向量,从而表征其语义信息。上下文编码器可以根据内存指令描述词嵌入向量的序列结构,对每个描述词嵌入向量进行上下文相关的语义编码,从而捕捉内存指令之间的上下文关联和语义关系。

相应地,在步骤S130中,对所述内存指令描述词的序列进行语义编码以得到内存指令描述词语义特征向量的序列,包括:将所述内存指令描述词的序列通过包含词嵌入层的上下文编码器以得到所述内存指令描述词语义特征向量的序列。

具体地,如图3所示,将所述内存指令描述词的序列通过包含词嵌入层的上下文编码器以得到所述内存指令描述词语义特征向量的序列,包括:S131,使用所述包含词嵌入层的上下文编码器的词嵌入层将所述内存指令描述词的序列中各个内存指令描述词映射到词向量以获得内存指令描述词向量的序列;以及,S132,使用所述包含词嵌入层的上下文编码器的转换器对所述内存指令描述词向量的序列进行基于全局的上下文语义编码以获得所述内存指令描述词语义特征向量的序列。

应可以理解,在步骤S131中,通过使用包含词嵌入层的上下文编码器的词嵌入层,将内存指令描述词的序列中的每个内存指令描述词映射到一个词向量,词向量是对词语的稠密表示,它能够捕捉词语之间的语义关系和特征,通过将内存指令描述词映射为词向量,可以将内存指令描述词的序列转换为对应的词向量序列,为后续的语义编码提供输入。在步骤S132中,可以通过将整个内存指令描述词向量序列作为输入,利用上下文编码器的转换器模块对其进行编码,转换器模块可以考虑序列中的每个内存指令描述词的上下文信息,并将其转换为更丰富的语义特征向量表示。综合来说,步骤S131通过词嵌入层将内存指令描述词序列转换为词向量序列,从而捕捉每个内存指令描述词的基本语义信息。步骤S132则利用上下文编码器的转换器模块对词向量序列进行全局的上下文语义编码,从而得到更具语义特征的内存指令描述词向量序列。这两个步骤的目的是为后续的任务提供更丰富的语义信息和特征表示。

这里,值得一提的是,词嵌入层(Word Embedding Layer)是深度学习中一种常用的技术,用于将离散的词语表示转换为连续的向量表示。它是自然语言处理(NLP)中的一项重要技术,可以将文本数据中的词语映射到高维空间中的实数向量,从而捕捉词语之间的语义关系。词嵌入层的作用是将每个词语映射到一个固定长度的向量,使得具有相似语义的词语在向量空间中距离较近。这种连续向量表示可以更好地反映词语的语义信息,有助于提取词语之间的关联性和语义相似性。词嵌入层通常是通过训练一个神经网络模型来学习得到的。在训练过程中,模型会根据上下文信息预测当前词语的向量表示,通过不断调整参数来优化模型的预测准确性。常用的词嵌入算法包括Word2Vec、GloVe和FastText等。在深度学习模型中,词嵌入层通常是作为模型的第一层或者嵌入层的一部分,将文本数据中的离散词语转换为密集向量表示。这样的词嵌入向量可以作为输入传递给后续的神经网络层进行进一步的处理和学习。通过使用词嵌入层,模型可以更好地理解和表示文本数据中的语义信息,提高自然语言处理任务的性能。

在上下文编码器中,转换器(Transformer)是一种常用的模块,用于对序列数据进行全局的上下文编码。转换器模型的核心思想是自注意力机制(Self-Attention),它能够在序列中的不同位置建立关联,从而捕捉到全局的上下文信息。自注意力机制允许模型在编码过程中根据序列中其他位置的信息来加权计算当前位置的表示,从而更好地捕捉序列中的依赖关系和语义信息。转换器模型由多个堆叠的自注意力层和前馈神经网络层组成。自注意力层负责计算序列中每个位置的表示,通过对序列中所有位置的自注意力计算,每个位置可以同时考虑到整个序列的信息。前馈神经网络层则负责对每个位置的表示进行非线性变换和特征提取。通过堆叠多个自注意力层和前馈神经网络层,Transformer模型能够逐层地编码序列信息,从而获得更丰富的语义表示。这种基于自注意力机制的全局上下文编码方式相比于传统的循环神经网络(如LSTM)在处理长序列时更高效,并且能够更好地捕捉长距离的依赖关系。换言之,转换器是一种基于自注意力机制的模块,用于对序列数据进行全局的上下文编码。

更具体地,在步骤S132中,使用所述包含词嵌入层的上下文编码器的转换器对所述内存指令描述词向量的序列进行基于全局的上下文语义编码以获得所述内存指令描述词语义特征向量的序列,包括:将所述内存指令描述词向量的序列进行一维排列以得到内存指令描述词序列特征向量;计算所述内存指令描述词序列特征向量与所述内存指令描述词向量的序列中各个内存指令描述词向量的转置向量之间的乘积以得到多个自注意力关联矩阵;分别对所述多个自注意力关联矩阵中各个自注意力关联矩阵进行标准化处理以得到多个标准化后自注意力关联矩阵;将所述多个标准化后自注意力关联矩阵中各个标准化后自注意力关联矩阵通过Softmax分类函数以得到多个概率值;以及,分别以所述多个概率值中各个概率值作为权重对所述内存指令描述词向量的序列中各个内存指令描述词向量进行加权以得到所述内存指令描述词语义特征向量的序列。

接着,将所述内存指令描述词语义特征向量的序列基于解码器的指令控制流图生成器以得到生成指令控制流图。应可以理解,指令控制流图是一种表示程序执行流程的图形结构,它描述了程序中指令的执行顺序和可能的分支条件。将所述内存指令描述词语义特征向量的序列通过所述基于解码器的指令控制流图生成器以利用解码器来推导蕴含在所述内存指令描述词语义特征向量的序列中的高维隐含关系,以理解程序运行的内部逻辑,分析指令之间的控制转移关系,生成对应的指令控制流图。

进一步地,将所述生成指令控制流图与正常程序的指令控制流图进行比对,确定待运行内存指令是否存在漏洞。

相应地,如图4所示,在步骤S140中,基于所述内存指令描述词语义特征向量的序列得到生成指令控制流图,包括:S141,对所述内存指令描述词语义特征向量的序列进行特征分布优化以得到优化后内存指令描述词语义特征向量的序列;以及,S142,将所述优化后内存指令描述词语义特征向量的序列基于解码器的指令控制流图生成器以得到所述生成指令控制流图。

应可以理解,在步骤S141中,对内存指令描述词语义特征向量的序列进行特征分布优化,这个过程旨在通过调整特征分布,使得内存指令描述词语义特征向量的序列更加准确地捕捉到内存指令之间的语义关系和上下文信息,通过优化后的特征分布,可以提高后续步骤中生成指令控制流图的质量和准确性。在步骤S142中,使用基于解码器的指令控制流图生成器,将优化后的内存指令描述词语义特征向量的序列转换为生成指令控制流图。解码器是一种用于将输入序列转换为输出序列的模型,它可以根据输入的内存指令描述词语义特征向量序列生成对应的指令控制流图,生成的指令控制流图可以用于指导程序执行流程或进行程序分析等任务。通过S141和S142两个步骤,内存指令描述词语义特征向量的序列经过特征分布优化和解码器的转换,最终生成了所述生成指令控制流图,这个过程可以帮助理解和分析程序的执行流程,对于编程语言处理、程序分析和优化等领域具有重要的应用价值。

这里,将所述内存指令描述词的序列通过包含词嵌入层的上下文编码器后,可以对于所述待运行内存指令的识别的实体词进行基于词源语义上下文的文本语义编码,以使得所述内存指令描述词语义特征向量的序列表达其文本语义编码特征,然后,再将所述内存指令描述词语义特征向量的序列基于解码器的指令控制流图生成器,实质上是基于所述内存指令描述词语义特征向量的序列的在特征域内的文本语义空间的语义特征表达来进行图像空间域内的每个像素的概率回归映射,从而获得所述生成指令控制流图。但是,考虑到在对所述待运行内存指令进行实体识别时,所述待运行内存指令的识别的实体词会在词源语义空间内存在表达稀疏化,尽管进行了上下文关联编码,但在文本语义特征空间内仍不可避免地存在特征表示稀疏化,从而导致将所述内存指令描述词语义特征向量的序列通过解码器进行概率回归映射时,所述内存指令描述词语义特征向量的序列的各个特征值的回归概率的概率密度分布的收敛性差,影响基于解码器的指令控制流图生成器的训练效率和生成指令控制流图的图像质量。

因此,优选地,对所述内存指令描述词语义特征向量的序列的各个特征值进行优化。

相应地,在一个示例中,对所述内存指令描述词语义特征向量的序列进行特征分布优化以得到优化后内存指令描述词语义特征向量的序列,包括:以如下优化公式对所述内存指令描述词语义特征向量的序列进行特征分布优化以得到所述优化后内存指令描述词语义特征向量的序列;其中,所述优化公式为:

其中,V是所述内存指令描述词语义特征向量的序列,v

具体地,针对所述内存指令描述词语义特征向量的序列在高维特征空间内的稀疏分布导致的概率空间内概率密度分布的局部概率密度不匹配,通过正则化全局自洽类编码,来模仿所述内存指令描述词语义特征向量的序列的高维特征流形在概率空间内的编码行为的全局自洽关系,以调整在高维开放空间域内的特征流形的误差景观,实现所述内存指令描述词语义特征向量的序列的高维特征流形对显式概率空间嵌入的自洽匹配式类编码,从而提升所述内存指令描述词语义特征向量的序列的回归概率的概率密度分布的收敛性,改进基于解码器的指令控制流图生成器的训练效率和生成指令控制流图的图像质量。

进一步地,在步骤S142中,将所述优化后内存指令描述词语义特征向量的序列基于解码器的指令控制流图生成器以得到所述生成指令控制流图,包括:将所述优化后内存指令描述词语义特征向量的序列输入所述基于解码器的指令控制流图生成器的解码器,其中,所述解码器使用反卷积层对所述优化后内存指令描述词语义特征向量的序列进行反卷积处理以得到所述生成指令控制流图。

值得一提的是,反卷积层(Deconvolutional layer)是卷积神经网络(Convolutional Neural Network,CNN)中的一种层类型,用于上采样和特征重建,它的操作类似于卷积层,但是在反向传播过程中,它执行与卷积操作相反的操作。与常规卷积不同的是,反卷积层通常使用步长(stride)大于1的卷积操作来进行上采样,从而扩大特征图的尺寸。此外,反卷积层还可以使用填充(padding)来控制输出特征图的尺寸。在基于解码器的指令控制流图生成器中,反卷积层被用于对优化后的内存指令描述词语义特征向量的序列进行反卷积处理。这个操作可以帮助将低级别的特征映射转换为更高级别的特征映射,并最终生成指令控制流图。通过反卷积操作,特征图的尺寸得到扩大,从而使得生成的指令控制流图具有更高的空间分辨率和更丰富的细节信息。

进一步,值得一提的是,概率回归映射是一种将输入映射到连续输出空间的技术。它通常用于解决回归问题,其中目标是预测连续值而不是离散标签。在给定输入的情况下,概率回归映射可以为每个可能的输出值提供一个概率分布,表示该输出值的可能性。在本申请中,概率回归映射用于将基于文本语义特征空间的内存指令描述词语义特征向量的序列映射到图像空间域内的每个像素的概率分布。这意味着对于每个像素位置,生成的指令控制流图生成器将预测该位置的值,并给出一个表示该值可能性的概率分布。

综上,基于本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测方法被阐明,其可以发现异常的控制流转移,进而识别攻击行为。

图5为根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测系统100的框图。如图5所示,根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测系统100,包括:指令提取模块110,用于提取待运行内存指令;数据预处理模块120,用于对所述待运行内存指令进行数据预处理以得到内存指令描述词的序列;语义编码模块130,用于对所述内存指令描述词的序列进行语义编码以得到内存指令描述词语义特征向量的序列;指令控制流图生成模块140,用于基于所述内存指令描述词语义特征向量的序列得到生成指令控制流图;以及,比对模块150,用于将所述生成指令控制流图与正常程序的指令控制流图进行比对,确定所述待运行内存指令是否存在漏洞。

在一个示例中,在上述基于内存指令控制流检测技术的0day漏洞攻击检测系统100中,所述数据预处理模块120,用于:对所述待运行内存指令进行实体识别和分词处理以得到所述内存指令描述词的序列。

在一个示例中,在上述基于内存指令控制流检测技术的0day漏洞攻击检测系统100中,所述语义编码模块130,用于:将所述内存指令描述词的序列通过包含词嵌入层的上下文编码器以得到所述内存指令描述词语义特征向量的序列。

这里,本领域技术人员可以理解,上述基于内存指令控制流检测技术的0day漏洞攻击检测系统100中的各个模块的具体功能和操作已经在上面参考图1到图4的基于内存指令控制流检测技术的0day漏洞攻击检测方法的描述中得到了详细介绍,并因此,将省略其重复描述。

如上所述,根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测系统100可以实现在各种无线终端中,例如具有基于内存指令控制流检测技术的0day漏洞攻击检测算法的服务器等。在一个示例中,根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测系统100可以作为一个软件模块和/或硬件模块而集成到无线终端中。例如,该基于内存指令控制流检测技术的0day漏洞攻击检测系统100可以是该无线终端的操作系统中的一个软件模块,或者可以是针对于该无线终端所开发的一个应用程序;当然,该基于内存指令控制流检测技术的0day漏洞攻击检测系统100同样可以是该无线终端的众多硬件模块之一。

替换地,在另一示例中,该基于内存指令控制流检测技术的0day漏洞攻击检测系统100与该无线终端也可以是分立的设备,并且该基于内存指令控制流检测技术的0day漏洞攻击检测系统100可以通过有线和/或无线网络连接到该无线终端,并且按照约定的数据格式来传输交互信息。

图6为根据本申请实施例的基于内存指令控制流检测技术的0day漏洞攻击检测方法的应用场景图。如图6所示,在该应用场景中,首先,提取待运行内存指令(例如,图6中所示意的D),然后,将所述待运行内存指令输入至部署有基于内存指令控制流检测技术的0day漏洞攻击检测算法的服务器中(例如,图6中所示意的S),其中,所述服务器能够使用所述基于内存指令控制流检测技术的0day漏洞攻击检测算法对所述待运行内存指令进行处理以得到生成指令控制流图,然后,将所述生成指令控制流图与正常程序的指令控制流图进行比对,确定所述待运行内存指令是否存在漏洞。

根据本申请的另一方面,还提供了一种非易失性的计算机可读存储介质,其上存储有计算机可读的指令,当利用计算机执行所述指令时可以执行如前所述的方法。

技术中的程序部分可以被认为是以可执行的代码和/或相关数据的形式而存在的“产品”或“制品”,通过计算机可读的介质所参与或实现的。有形的、永久的储存介质可以包括任何计算机、处理器、或类似设备或相关的模块所用到的内存或存储器。例如,各种半导体存储器、磁带驱动器、磁盘驱动器或者类似任何能够为软件提供存储功能的设备。

所有软件或其中的一部分有时可能会通过网络进行通信,如互联网或其他通信网络。此类通信可以将软件从一个计算机设备或处理器加载到另一个。例如:从视频目标检测设备的一个服务器或主机计算机加载至一个计算机环境的硬件平台,或其他实现系统的计算机环境,或与提供目标检测所需要的信息相关的类似功能的系统。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如光波、电波、电磁波等,通过电缆、光缆或者空气等实现传播。用来载波的物理介质如电缆、无线连接或光缆等类似设备,也可以被认为是承载软件的介质。在这里的用法除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。

此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。

上面是对本发明的说明,而不应被认为是对其的限制。尽管描述了本发明的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本发明的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本发明范围内。应当理解,上面是对本发明的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本发明由权利要求书及其等效物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号