CN108985052A - 一种恶意程序识别方法、装置和存储介质 - Google Patents
一种恶意程序识别方法、装置和存储介质 Download PDFInfo
- Publication number
- CN108985052A CN108985052A CN201810730064.5A CN201810730064A CN108985052A CN 108985052 A CN108985052 A CN 108985052A CN 201810730064 A CN201810730064 A CN 201810730064A CN 108985052 A CN108985052 A CN 108985052A
- Authority
- CN
- China
- Prior art keywords
- program
- measured
- feature
- assembly instruction
- instruction stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种恶意程序识别方法、装置和存储介质,其中,该方法包括:记录待测程序在非沙箱环境中运行过程所产生的汇编指令流,以生成汇编指令流记录结果;监控所述待测程序在沙箱环境中的行为,以获取监控结果;对所述汇编指令流记录结果以及所述监控结果进行多维特征提取;所述多维特征提取至少包括以下两种特征:提取所述监控结果中的系统调用功能特征、所述汇编指令流记录结果中的操作数常量特征和操作码频度特征;根据提取的多维特征,识别所述待测程序是否为恶意程序。本申请实施例提供的恶意程序识别方法和装置,将待测程序的汇编指令流记录结果和监控结果进行多维特征提取,实现对恶意程序准确、全面和高效的识别。
Description
技术领域
本申请涉及恶意程序检测和识别领域技术领域,具体而言,涉及一种恶意程序识别方法、装置和存储介质。
背景技术
随着信息科技的发展,恶意程序的数量在持续增长,恶意程序导致的经济、信息数据损失也越来越多,安全研究人员和软件用户对于软件的恶意程序识别具有急切的需求。恶意程序识别的核心是识别待测程序的行为,即对待测程序行为中语义结构的类型和功能特征进行抽取和识别,按照技术原理划分,相关技术中的恶意程序识别技术分为静态分析技术和动态分析技术。静态分析技术依靠分析工具对待测程序的文件特征或调用的功能函数进行分析,动态分析技术通过在虚拟环境中模拟执行待测程序,对待测程序的执行情况进行监控。
发明内容
有鉴于此,本申请的目的在于提供一种恶意程序识别方法、装置和存储介质,能够准确、全面和高效地识别恶意程序。
第一方面,本申请实施例提供一种恶意程序识别方法,其中,方法包括:
记录待测程序在非沙箱环境中运行过程所产生的汇编指令流,以生成汇编指令流记录结果;
监控待测程序在沙箱环境中的行为,以获取监控结果;
对汇编指令流记录结果以及监控结果进行多维特征提取;多维特征提取至少包括以下两种特征:提取监控结果中的系统调用功能特征、汇编指令流记录结果中的操作数常量特征和操作码频度特征;
根据提取的多维特征,识别待测程序是否为恶意程序。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,记录待测程序在非沙箱环境中运行过程所产生的汇编指令流,以生成汇编指令流记录结果,包括:
将待测程序的汇编指令流转换为基本块索引库,其中,基本块索引库中包括带有索引号的基本块;
按照基本块执行的先后次序,依次记录基本块的索引号,形成程序流程日志。
结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,其中,将待测程序的汇编指令流转换为基本块索引库,包括:
根据待测程序的汇编指令流中的跳转指令将待测程序的汇编指令流拆分成不同的基本块;
基本块中包括待测程序汇编指令流所属的模块、函数和汇编指令序列。
结合第一方面,本申请实施例提供了第一方面的第三种可能的实施方式,其中,监控待测程序在沙箱环境中的行为,以获取监控结果,包括:
监控待测程序的文件行为、网络行为、进程线程行为和注册表行为的一种或者多种。
结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,其中,监控待测程序的文件行为,包括:文件行为重定向;
监控待测程序的注册表行为,包括:注册表操作回滚。
结合第一方面,本申请实施例提供了第一方面的第五种可能的实施方式,其中,对汇编指令流记录结果以及监控结果进行多维特征提取,包括:
将汇编指令流记录结果和监控结果进行筛选,提取监控结果中的系统调用功能特征、汇编指令流记录结果中的操作数常量特征和操作码频度特征。
结合第一方面的第五种可能的实施方式,本申请实施例提供了第一方面的第六种可能的实施方式,其中,根据提取的多维特征,识别待测程序是否为恶意程序,包括:
利用系统调用功能特征构建系统调用功能特征词分类器;
利用操作数常量特征构建操作数常量特征词分类器;
利用操作码频度特征构建操作码频度特征词分类器;
根据构建的系统调用功能特征词分类器、操作数常量特征词分类器,和操作码频度特征词分类器,以及提取的多维特征,识别待测程序是否为恶意程序。
结合第一方面的第六种可能的实施方式,本申请实施例提供了第一方面的第七种可能的实施方式,其中,识别待测程序是否为恶意程序进一步包括:
将提取的多维特征分别输入系统调用功能特征词分类器、操作数常量特征词分类器和操作码频度特征词分类器,得到各个分类器的处理结果;
将各个分类器的处理结果输入多模型融合分类器进行线性加权运算,得到恶意程序识别结果。
第二方面,本申请实施例提供一种恶意程序识别装置,其中,装置包括:
第一处理模块,用于记录待测程序在非沙箱环境中运行过程所产生的汇编指令流,以生成汇编指令流记录结果;
第二处理模块,用于监控所述待测程序在沙箱环境中的行为,以获取监控结果;
多维特征提取模块,用于对汇编指令流记录结果以及监控结果进行多维特征提取;多维特征提取至少包括以下两种特征:提取监控结果中的系统调用功能特征、汇编指令流记录结果中的操作数常量特征和操作码频度特征;
恶意程序识别模块,用于根据多维特征提取模块提取的多维特征,识别待测程序是否为恶意程序。
第三方面,一种计算机可读存储介质,其中,计算机可读存储介质中存储有计算机可执行指令,计算机可执行指令上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的恶意程序识别方法。
采用本申请实施例上述任一方面提供的方案,将待测程序的汇编指令流记录结果和监控结果进行多维特征提取,与相关技术中静态分析技术和动态分析技术单一的提取特征相比,其可以提取待测程序的多维特征,进而对待测程序是否为恶意程序实现准确、全面和高效的识别。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种恶意程序识别方法的流程图;
图2示出了本申请实施例所提供的汇编指令流记录的流程图;
图3示出了本申请实施例所提供的汇编指令流记录的示意图;
图4示出了本申请实施例所提供的行为监控的示意图;
图5示出了本申请实施例所提供的多维特征提取的示意图;
图6示出了本申请实施例所提供的恶意特征识别的流程图;
图7示出了本申请实施例所提供的一种恶意程序识别装置的功能模块框图;
图8示出了本申请实施例所提供的一种恶意程序识别模块240的功能单元框图。
图9示出了本申请实施例提供的执行一种恶意程序识别方法的电子设备的硬件结构的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中静态分析技术和动态分析技术的特征提取具有单一片面的问题,难以对待测程序是否为恶意程序实现准确、全面和高效的识别。基于此,本申请实施例提供了一种恶意程序识别方法、装置和存储介质,下面通过实施例进行描述。
实施例一
参见图1,为本申请实施例提供的一种恶意程序识别方法的流程示意图,该方法包括以下步骤:
步骤S110、记录待测程序在非沙箱环境中运行过程所产生的汇编指令流,以生成汇编指令流记录结果;
步骤S120、监控待测程序在沙箱环境中的行为,以获取监控结果;
步骤S130、对汇编指令流记录结果以及监控结果进行多维特征提取;多维特征提取至少包括以下两种特征:提取监控结果中的系统调用功能特征、汇编指令流记录结果中的操作数常量特征和操作码频度特征;
步骤S140、根据提取的多维特征,识别待测程序是否为恶意程序。
具体的,运行需要进行恶意程序识别的待测程序,记录待测程序在非沙箱环境中运行过程所产生的汇编指令流,以生成汇编指令流记录结果,监控待测程序在沙箱环境中的行为,以获取监控结果,其中,记录待测程序的汇编指令流和监控待测程序的行为可以采用动态二进制插桩的方式,记录待测程序的汇编指令流和监控待测程序的行为可以同时进行也可以先后进行,将待测程序的汇编指令流记录结果和监控结果得进行提取,转换成可供机器学习识别的表达形式,按照数据的来源,将多维特征分为以下三种:监控结果中的系统调用功能特征、汇编指令流记录结果中的操作数常量特征和操作码频度特征,提取上述多维特征,并根据提取多维特征的种类构建单模型分类器,通过单模型分类器对提取的多维特征进行处理,将处理结果输入多模型融合分类器,进而识别待测程序是否为恶意程序。
在本申请实施例中,通过将待测程序的汇编指令流记录结果和监控结果进行多维特征提取,进而对待测程序是否为恶意程序实现准确、全面和高效的识别。
图2为本申请第一实施例提供的一种恶意程序识别方法中汇编指令流记录的流程示意图,如图2所示,汇编指令流记录具体包括以下两个步骤:
步骤S111、将待测程序的汇编指令流转换为基本块索引库,其中,基本块索引库中包括带有索引号的基本块;
步骤S112、按照基本块执行的先后次序,依次记录基本块的索引号,形成程序流程日志。
具体的,图3为本申请实施例所提供的汇编指令流记录的示意图,如图3所示,通过二进制插装记录待测程序的汇编指令流,生成汇编指令流记录结果,根据汇编指令流记录结果中的跳转指令将汇编指令流拆分成不同的基本块,并生成基本块索引库。其中,每个基本块存储其对应的汇编指令流的详细信息,包括汇编指令流所属的模块、函数和汇编指令序列,参见表1,为基本块索引库中某一基本块,其中,BBL1为基本块索引号,4为模块索引号,RtlDecompressBuffer为调用函数,表中第三行至八行为汇编指令序列,根据每个基本块的索引号,可以快速检索到该索引号对应的基本块,获取该基本块的详细信息。
表1基本块表
根据基本块的原子性,基本块索引库给每个不同入口地址的基本块都构建一条基本块记录,相同入口地址的基本块则识别为同一基本块,并分配唯一的索引号。记录待测程序的汇编指令流,不仅细化了检测粒度,也丰富了检测信息,进而提高了识别待测程序是否为恶意程序的全面性。
如图3所示,程序流程日志按照基本块执行的先后次序记录基本块的索引号,基本块的索引号指向了基本块索引库中对应的基本块,每个日志还包括该索引号对应的执行上下文,若一个基本块重复出现,在程序流程日志中就只需重复记录索引号,而无需重复记录基本块的详细信息,这样便可以大大缩小日志文件体积,降低磁盘读写的IO开销,提高执行效率。
图4为本申请第一实施例提供的行为监控的示意图,如图4所示,监控待测程序在沙箱环境中的四类行为:文件行为、网络行为、进程线程行为、注册表行为,并对危险的行为进行干预。通过监控待测程序的四类行为,观察待测程序执行过程中函数逻辑的调用及参数的变化,可以得到待测程序的真实执行情况,进而能有效识别经过加壳、混淆等伪装手段的恶意程序,进而提高了识别待侧程序是否为恶意程序的准确率。
文件行为沙箱主要监控恶意程序的文件行为,如文件或文件夹的新建、删除、读、写操作等。文件行为沙箱对文件行为进行记录操作。另外,由于文件和文件夹的新建、删除、读、写操作会修改原操作系统的文件内容,因此为了以防对系统造成不可逆转的伤害,文件重定向将会对此类操作进行重定向,备份目标文件至临时文件夹,然后重定向恶意程序文件操作的目标路径,修改为临时文件夹下的文件,保证原文件不受损害。
注册表行为沙箱主要监控恶意程序的注册表行为,如对注册表的增、删、改、查操作。注册表行为沙箱对注册表行为进行记录操作。同样,为了以防对系统造成不可逆转的伤害,注册表回滚会在程序运行结束之后,对注册表进行反向回滚,恢复注册表到程序运行前的状态,从而使恶意程序对注册表的操作无效。
网络行为沙箱主要监控恶意程序的通信行为,如正向连接C&C服务器、反向连接C&C服务器、网络扫描、上传下载行为等。由于干预恶意程序的网络通信可能影响其正常执行流程,所以网络行为沙箱只对网络通信行为进行记录操作,记录的内容主要包括本地监听的TCP/UDP的IP、端口号,远程连接服务端的IP、端口号,传输的信息内容等。
进程线程行为沙箱主要监控恶意程序的远程注入、新建和停止等行为,如恶意软件的开关机命令,重启命令等,同样为了不干扰恶意软件的正常流程,进程线程行为沙箱只对进程线程行为进行记录操作。
图5为本申请第一实施例提供的多维特征提取的示意图,如图5所示,提取监控结果中的系统调用功能特征、汇编指令流记录结果中的操作数常量特征和操作码频度特征。
具体的,根据恶意程序常见的行为种类,从汇编指令流记录结果和监控结果中提取用于恶意程序检测和识别的多维特征,其中,从汇编指令流记录结果中选取操作数常量特征和操作码频度特征,表征程序汇编指令流特征,从监控结果中选取恶意程序最直接的系统调用行为序列,表征程序系统行为功能特征。
系统调用行为特征包含系统调用名称和系统调用返回值两个主要特征,在多次实验后,本申请采用了“系统调用号_函数返回值/出错代码”的表达形式,来表征程序调用行为特征。
操作数常量在程序中具有很好的识别效果,本申请选取的表征形式为“操作码_常量数值”,在实验中发现,采用表2中的算法步骤进行压缩,将大大减小特征文件,因此最终的表征形式为“操作码_常量数值_可见字符”。
表2压缩步骤表
本特征主要考虑每种操作码出现的频度,针对模块输入的汇编指令流序列字符串,首先提取每种操作码,然后进行频度统计,并将该频度同样以表2所示算法转换为“操作码_可见字符”的形式。
图6为本申请第一实施例提供的恶意程序识别的流程示意图,如图6所示,步骤S140还包括以下步骤:
步骤S141、利用系统调用功能特征构建系统调用功能特征词分类器;利用操作数常量特征构建操作数常量特征词分类器;利用操作码频度特征构建操作码频度特征词分类器;
步骤S142、根据构建的系统调用功能特征词分类器、操作数常量特征词分类器或操作码频度特征词分类器,以及提取的多维特征,识别待测程序是否为恶意程序。
具体的,单模型分类器基于机器学习,选取朴素贝叶斯算法作为分类器识别算法,将提取的多维特征,作为分类器的输入特征。根据多维特征提取得到的三种特征构建单模型分类器,分别为系统调用功能特征词分类器、操作数常量特征词分类器和操作码频度特征词分类器。
下载VXHeaven网站的1058个win32病毒样本及用户上传至malwr.com网站的770个正常程序按照4:1的比例分为训练样本和测试样本。通过不断对单模型分类器停用词最大、最小词频、平滑系数等参数进行调整,采用十折交叉验证等方式进行训练。
单模型分类器采用F1值和准确度来评价性能,F1值是统计学中用来衡量二分类模型精确度的一种指标,将F1值作为单模型分类器准确率和召回率的加权平均,其中,F1值的最大值是1,最小值是0。将测试样本输入训练好的单模型分类器进行测试,得出系统调用功能特征词分类器的F1值为95.34%,准确度为93.99%;操作数常量特征词分类器的F1值为92.83%,准确率为91.48%;操作码频度特征词分类器的F1值为87.75%,准确率为87.04%。
以系统调用功能特征词分类器、操作数常量特征词分类器和操作码频度特征词分类器所对应F1值作为其在多模型融合分类器中的权值,将系统调用功能特征词分类器、操作数常量特征词分类器和操作码频度特征词分类器的处理结果行线性加权运算,得到多模型融合分类器的处理结果,即待测程序是否为恶意程序。其中系统调用功能特征词分类器、操作数常量特征词分类器、操作码频度特征词分类器在多模型融合分类器的权重分别为0.34553493766、0.336438097999、0.318026964337。使用上述测试样本对多模型融合分类器进行测试,该多模型融合分类器的准确率达到了95.62%,召回率达到了98.58,具有良好的恶意程序识别率。从宏观角度来看,恶意代码之间通常存在一定的共同点,通过机器学习技术具有分析恶意代码共同点的能力,可以大大提高恶意程序识别的工作效率。
实施例二
参照图7,为本申请实施例所提供的一种恶意程序识别装置的功能模块框图,该装置包括以下模块:
第一处理模块210,用于记录待测程序在非沙箱环境中运行过程所产生的汇编指令流,以生成汇编指令流记录结果;
第二处理模块220,用于监控所述待测程序在沙箱环境中的行为,以获取监控结果;
多维特征提取模块230,用于对汇编指令流记录结果以及监控结果进行多维特征提取;多维特征提取至少包括以下两种特征:提取监控结果中的系统调用功能特征、汇编指令流记录结果中的操作数常量特征和操作码频度特征;
恶意程序识别模块240,用于根据提取的多维特征,识别待测程序是否为恶意程序。
参照图8,为为本申请实例所提供的恶意程序识别模块240的功能单元框图,该模块进一步包括:
系统调用功能特征词分类器单元241,用于识别恶意程序中的系统调用功能特征词。
操作数常量特征词分类器单元242,用于识别恶意程序中的操作数常量特征词。
操作码频度特征词分类器单元243,用于识别恶意程序中的操作码频度特征词。
多模型融合分类器单元244,用于提高恶意程序识别的准确率。
实施例三
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机可执行指令,计算机可执行指令上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的恶意程序识别方法。
实施例四
图9是本申请实施例提供的执行一种恶意程序识别方法的电子设备的硬件结构的示意图,如图9所示,该设备包括:
一个或多个处理器310以及存储器320,图9中以一个处理器310为例。
处理器310和存储器320可以通过总线或者其他方式连接,图9中以通过总线连接为例。
存储器320作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的一种恶意程序识别方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例一种恶意程序识别方法。
存储器320可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种恶意程序识别装置的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器320可选包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至一种恶意程序识别装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器320中,当被一个或者多个处理器310执行时,执行上述任意方法实施例中的一种恶意程序识别方法。
本申请实施例所提供的一种恶意程序识别装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
最后应说明的是:以上实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种恶意程序识别方法,其特征在于,所述方法包括:
记录待测程序在非沙箱环境中运行过程所产生的汇编指令流,以生成汇编指令流记录结果;
监控所述待测程序在沙箱环境中的行为,以获取监控结果;
对所述汇编指令流记录结果以及所述监控结果进行多维特征提取;所述多维特征提取至少包括以下两种特征:提取所述监控结果中的系统调用功能特征、所述汇编指令流记录结果中的操作数常量特征和操作码频度特征;
根据提取的多维特征,识别所述待测程序是否为恶意程序。
2.根据权利要求1所述的恶意程序识别方法,其特征在于,记录待测程序在非沙箱环境中运行过程所产生的汇编指令流,以生成汇编指令流记录结果,包括:
将所述待测程序的汇编指令流转换为基本块索引库,其中,所述基本块索引库中包括带有索引号的基本块;
按照所述基本块执行的先后次序,依次记录所述基本块的索引号,形成程序流程日志。
3.根据权利要求2所述的恶意程序识别方法,其特征在于,所述将所述待测程序的汇编指令流转换为基本块索引库,包括:
根据所述待测程序的汇编指令流中的跳转指令将所述待测程序的汇编指令流拆分成不同的基本块;
所述基本块中包括所述待测程序汇编指令流所属的模块、函数和汇编指令序列。
4.根据权利要求1所述的恶意程序识别方法,其特征在于,监控所述待测程序在沙箱环境中的行为,以获取监控结果,包括:
监控所述待测程序的文件行为、网络行为、进程线程行为和注册表行为的一种或者多种。
5.根据权利要求4所述的恶意程序识别方法,其特征在于,监控所述待测程序的文件行为,包括:文件行为重定向;
监控所述待测程序的注册表行为,包括:注册表操作回滚。
6.根据权利要求1所述的恶意程序识别方法,其特征在于,对所述汇编指令流记录结果以及所述监控结果进行多维特征提取,包括:
提取所述监控结果中的系统调用功能特征、所述汇编指令流记录结果中的操作数常量特征和操作码频度特征。
7.根据权利要求6所述的恶意程序识别方法,其特征在于,根据提取的多维特征,识别所述待测程序是否为恶意程序,包括:
利用所述系统调用功能特征构建系统调用功能特征词分类器;
利用所述操作数常量特征构建操作数常量特征词分类器;
利用所述操作码频度特征构建操作码频度特征词分类器;
根据构建的所述系统调用功能特征词分类器、所述操作数常量特征词分类器和所述操作码频度特征词分类器,以及所述提取的多维特征,识别所述待测程序是否为恶意程序。
8.根据权利要求7所述的恶意程序识别方法,其特征在于,识别所述待测程序是否为恶意程序进一步包括:
将所述提取的多维特征分别输入所述系统调用功能特征词分类器、所述操作数常量特征词分类器和所述操作码频度特征词分类器,得到各个分类器的处理结果;
将所述各个分类器的处理结果输入多模型融合分类器进行线性加权运算,得到恶意程序识别结果。
9.一种恶意程序识别装置,其特征在于,所述装置包括:
第一处理模块,用于记录待测程序在非沙箱环境中运行过程所产生的汇编指令流,以生成汇编指令流记录结果;
第二处理模块,用于监控所述待测程序在沙箱环境中的行为,以获取监控结果;
多维特征提取模块,用于对所述汇编指令流记录结果以及所述监控结果进行多维特征提取;所述多维特征提取至少包括以下两种特征:提取所述监控结果中的系统调用功能特征、所述汇编指令流记录结果中的操作数常量特征和操作码频度特征;
恶意程序识别模块,用于根据所述多维特征提取模块提取的多维特征,识别所述待测程序是否为恶意程序。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810730064.5A CN108985052A (zh) | 2018-07-05 | 2018-07-05 | 一种恶意程序识别方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810730064.5A CN108985052A (zh) | 2018-07-05 | 2018-07-05 | 一种恶意程序识别方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108985052A true CN108985052A (zh) | 2018-12-11 |
Family
ID=64537105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810730064.5A Pending CN108985052A (zh) | 2018-07-05 | 2018-07-05 | 一种恶意程序识别方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108985052A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992968A (zh) * | 2019-03-25 | 2019-07-09 | 北京理工大学 | 基于二进制动态插桩的Android恶意行为动态检测方法 |
CN111177717A (zh) * | 2019-06-21 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种恶意进程的识别方法、装置、电子设备和存储介质 |
CN112434284A (zh) * | 2020-10-29 | 2021-03-02 | 格物钛(上海)智能科技有限公司 | 一种基于沙箱环境的机器学习训练平台实现 |
CN114048464A (zh) * | 2022-01-12 | 2022-02-15 | 北京大学 | 基于深度学习的以太坊智能合约安全漏洞检测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915211A (zh) * | 2015-06-18 | 2015-09-16 | 西安交通大学 | 反编译中基于子图同构匹配算法的内在函数识别方法 |
CN106599681A (zh) * | 2016-12-22 | 2017-04-26 | 北京邮电大学 | 恶意程序特征提取方法和系统 |
CN106778277A (zh) * | 2017-01-13 | 2017-05-31 | 北京邮电大学 | 恶意程序检测方法及装置 |
-
2018
- 2018-07-05 CN CN201810730064.5A patent/CN108985052A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915211A (zh) * | 2015-06-18 | 2015-09-16 | 西安交通大学 | 反编译中基于子图同构匹配算法的内在函数识别方法 |
CN106599681A (zh) * | 2016-12-22 | 2017-04-26 | 北京邮电大学 | 恶意程序特征提取方法和系统 |
CN106778277A (zh) * | 2017-01-13 | 2017-05-31 | 北京邮电大学 | 恶意程序检测方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992968A (zh) * | 2019-03-25 | 2019-07-09 | 北京理工大学 | 基于二进制动态插桩的Android恶意行为动态检测方法 |
CN111177717A (zh) * | 2019-06-21 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种恶意进程的识别方法、装置、电子设备和存储介质 |
CN112434284A (zh) * | 2020-10-29 | 2021-03-02 | 格物钛(上海)智能科技有限公司 | 一种基于沙箱环境的机器学习训练平台实现 |
CN112434284B (zh) * | 2020-10-29 | 2022-05-17 | 格物钛(上海)智能科技有限公司 | 一种基于沙箱环境的机器学习训练平台实现 |
CN114048464A (zh) * | 2022-01-12 | 2022-02-15 | 北京大学 | 基于深度学习的以太坊智能合约安全漏洞检测方法及系统 |
CN114048464B (zh) * | 2022-01-12 | 2022-03-15 | 北京大学 | 基于深度学习的以太坊智能合约安全漏洞检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210141897A1 (en) | Detecting unknown malicious content in computer systems | |
US11463476B2 (en) | Character string classification method and system, and character string classification device | |
Kolosnjaji et al. | Empowering convolutional networks for malware classification and analysis | |
CN109753801B (zh) | 基于系统调用的智能终端恶意软件动态检测方法 | |
CN110020422B (zh) | 特征词的确定方法、装置和服务器 | |
CN108985052A (zh) | 一种恶意程序识别方法、装置和存储介质 | |
US20210081831A1 (en) | Automatically Determining Poisonous Attacks on Neural Networks | |
CN107944274A (zh) | 一种基于宽度学习的Android平台恶意应用离线检测方法 | |
CN110287702A (zh) | 一种二进制漏洞克隆检测方法及装置 | |
CN111931179B (zh) | 基于深度学习的云端恶意程序检测系统及方法 | |
CN109871686A (zh) | 基于图标表示和软件行为一致性分析的恶意程序识别方法及装置 | |
CN109905385A (zh) | 一种webshell检测方法、装置及系统 | |
CN107257390A (zh) | 一种url地址的解析方法和系统 | |
Liang et al. | An end-to-end model for android malware detection | |
CN111866004A (zh) | 安全评估方法、装置、计算机系统和介质 | |
CN111090807A (zh) | 一种基于知识图谱的用户识别方法及装置 | |
EP4435649A1 (en) | Apparatus and method for automatically analyzing malicious event log | |
CN110704841A (zh) | 一种基于卷积神经网络的大规模安卓恶意应用检测系统及方法 | |
Javeed et al. | Discovering software developer's coding expertise through deep learning | |
Čeponis et al. | Evaluation of deep learning methods efficiency for malicious and benign system calls classification on the AWSCTD | |
CN110069558A (zh) | 基于深度学习的数据分析方法及终端设备 | |
CN112783513A (zh) | 一种代码风险检查方法、装置及设备 | |
CN108875374B (zh) | 基于文档节点类型的恶意pdf检测方法及装置 | |
CN110457603A (zh) | 用户关系抽取方法、装置、电子设备及可读存储介质 | |
CN115774784A (zh) | 一种文本对象的识别方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181211 |