CN104077528A - 病毒检测方法、装置以及终端 - Google Patents
病毒检测方法、装置以及终端 Download PDFInfo
- Publication number
- CN104077528A CN104077528A CN201410293771.4A CN201410293771A CN104077528A CN 104077528 A CN104077528 A CN 104077528A CN 201410293771 A CN201410293771 A CN 201410293771A CN 104077528 A CN104077528 A CN 104077528A
- Authority
- CN
- China
- Prior art keywords
- instruction sequence
- sequence feature
- detected
- program
- decompiling
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种病毒检测方法,包括:获取待检测程序,并对待检测程序进行反编译;提取反编译之后待检测程序的指令序列特征;以及根据提取的指令序列特征对待检测程序进行病毒检测。本发明实施例的病毒检测方法,可有效地快速检测特定类型的感染型病毒,误报率降低,并且通过对于指令序列特征检测,相比于传统的特征码方法,检测范围更广泛,从而提高了检测效率。本发明还公开了一种病毒检测装置以及一种终端。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种病毒检测方法、装置以及终端。
背景技术
感染型病毒是将正常文件感染成病毒文件的病毒,多态是指每次感染出的结果不同。当病毒利用多态引擎时,会使得在感染时每次的病毒代码的表现形式均不同。
目前,对于感染型病毒检测的方法主要分为两种:第一种是针对性的方法,即针对某种特定的感染型病毒进行检测;第二种是具有普遍性的方法,即可以检测很多种感染型病毒。
然而,存在的问题是:第一种方法主要是分析特定样本后,提取关于此类样本的固定特征,比如感染过程、解密过程中的特定位置的代码或者数据,如固定位置的密钥。这种方法的误报率较小,但检测范围很小,对于多态性的感染型病毒,检测能力弱。第二种方法可先检测PE(Portable Execute,可移植的执行体)文件的通用特征(如,节属性、节大小等),之后判断该PE文件是否为感染型病毒。这种方法检测范围较大,但无法区分是哪一种感染型病毒,所以无法进行相应的修复处理。
发明内容
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出一种病毒检测方法。该方法可以有效地快速检测特定类型的感染型病毒,误报率降低,并且通过对于指令序列特征检测,相比于传统的特征码方法,检测范围更广泛,从而提高了检测效率。
本发明的第二个目的在于提出一种病毒检测装置。
本发明的第三个目的在于提出一种终端。
为了实现上述目的,本发明第一方面实施例的病毒检测方法,包括:获取待检测程序,并对所述待检测程序进行反编译;提取反编译之后所述待检测程序的指令序列特征;以及根据提取的所述指令序列特征对所述待检测程序进行病毒检测。
本发明实施例的病毒检测方法,可先获取待检测程序,并对该待检测程序进行反编译,之后可提取反编译之后待检测程序的指令序列特征,并根据提取的指令序列特征确定待检测程序属于哪类感染型病毒类型,以实现对待检测程序的病毒检测,可有效地快速检测特定类型的感染型病毒,误报率降低,并且通过对于指令序列特征检测,相比于传统的特征码方法,检测范围更广泛,从而提高了检测效率。
为了实现上述目的,本发明第二方面实施例的病毒检测装置,包括:获取模块,用于获取待检测程序;反编译模块,用于对所述待检测程序进行反编译;提取模块,用于提取反编译之后所述待检测程序的指令序列特征;以及检测模块,用于根据提取的所述指令序列特征对所述待检测程序进行病毒检测。
本发明实施例的病毒检测装置,可通过获取模块获取待检测程序,反编译模块对待检测程序进行反编译,提取模块提取反编译之后待检测程序的指令序列特征,检测模块根据提取的指令序列特征确定待检测程序属于哪类感染型病毒类型,以实现对待检测程序的病毒检测,可有效地快速检测特定类型的感染型病毒,误报率降低,并且通过对于指令序列特征检测,相比于传统的特征码方法,检测范围更广泛,从而提高了检测效率。
为了实现上述目的,本发明第三方面实施例的终端,包括:外壳,处理器和电路板;所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;所述处理器用于运行应用程序,具体用于:获取待检测程序,并对所述待检测程序进行反编译;提取反编译之后所述待检测程序的指令序列特征;以及根据提取的所述指令序列特征对所述待检测程序进行病毒检测。
本发明实施例的终端,可先获取待检测程序,并对该待检测程序进行反编译,之后可提取反编译之后待检测程序的指令序列特征,并根据提取的指令序列特征确定待检测程序属于哪类感染型病毒类型,以实现对待检测程序的病毒检测,可有效地快速检测特定类型的感染型病毒,误报率降低,并且通过对于指令序列特征检测,相比于传统的特征码方法,检测范围更广泛,从而提高了检测效率。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的病毒检测方法的流程图;
图2是根据本发明另一个实施例的病毒检测方法的流程图;
图3是根据本发明又一个实施例的病毒检测方法的流程图;
图4是根据本发明一个实施例的病毒检测装置的结构示意图;
图5是根据本发明另一个实施例的病毒检测装置的结构示意图;以及
图6是根据本发明又一个实施例的病毒检测装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述根据本发明实施例的病毒检测方法、装置以及终端。
图1是根据本发明一个实施例的病毒检测方法的流程图。
如图1所示,该病毒检测方法可以包括:
S101,获取待检测程序,并对待检测程序进行反编译。
其中,在本发明的实施例中,待检测程序可为PE文件,PE文件可为操作系统上的程序文件,例如,EXE、DLL、OCX、SYS、COM等。
具体地,可先获取待检测程序,之后可通过反编译引擎对该待检测程序进行反编译。应当理解,在本发明的实施例中,还可通过反编译工具对待检测程序进行反编译。
S102,提取反编译之后待检测程序的指令序列特征。
其中,在本发明的实施例中,指令序列特征可理解为在程序执行过程中,指令被执行的流程特征。
具体地,对待检测程序进行反编译之后可生成指令执行链,解析该指令执行链,可从中提取出相关特征并进行特征提取以得到反编译之后待检测程序的指令序列特征。
可选的,在本发明的一个实施例中,可按照跳转指令JMP的流程特点,提取反编译之后待检测程序的指令序列特征。
可选的,在本发明的另一个实施例中,可按照跳转指令CALL的流程特点,提取反编译之后待检测程序的指令序列特征。
优选的,在本发明的一个实施例中,可按照跳转指令JMP和跳转指令CALL二者结合的流程特点,提取反编译之后待检测程序的指令序列特征。
应当理解,在实际混淆感染型病毒文件中,存在大量的JMP指令、CALL指令以改变文件程序的逻辑流程。因此,在实际提取指令序列特征过程中,可以根据具体情况,选择是按照JMP跳转指令的流程特点来进行特征提取或者按照CALL指令的流程特点来提取特征。如果上述两种方式都存在特征提取不准确,或者会发生误报的情况,则可根据JMP跳转指令和CALL指令二者结合的流程特点来进行特征提取。
例如,可按照跳转指令JMP的特点获取反编译之后的待检测程序中的执行序列,并从中提取出JMP指令序列特征;又如,可按照CALL指令执行的特点获取反编译之后的待检测程序中的执行序列,并从中提取出CALL指令序列特征;还如,可按照跳转指令JMP和CALL指令执行这两者合起来的特点获取反编译之后的待检测程序中的执行序列,并从中提取出JMP指令序列特征和CALL指令序列特征。由此,大大提高了检测结果的准确度。
S103,根据提取的指令序列特征对待检测程序进行病毒检测。
具体地,可根据提取的指令序列特征确定待检测程序属于哪类感染型病毒类型,以实现对待检测程序的病毒检测。
本发明实施例的病毒检测方法,可先获取待检测程序,并对该待检测程序进行反编译,之后可提取反编译之后待检测程序的指令序列特征,并根据提取的指令序列特征确定待检测程序属于哪类感染型病毒类型,以实现对待检测程序的病毒检测,可有效地快速检测特定类型的感染型病毒,误报率降低,并且通过对于指令序列特征检测,相比于传统的特征码方法,检测范围更广泛,从而提高了检测效率。
图2是根据本发明另一个实施例的病毒检测方法的流程图。
为了达到病毒检测的效果,提升用户体验,在本发明的实施例中,可根据提取的指令序列特征查询预设的指令序列特征库,以获取待检测程序对应的病毒类型,并可根据获取的待检测程序对应的病毒类型对待检测程序进行修复。具体地,如图2所示,该病毒检测方法可以包括:
S201,获取待检测程序,并对待检测程序进行反编译。
S202,提取反编译之后待检测程序的指令序列特征。
S203,根据提取的指令序列特征查询预设的指令序列特征库,以获取待检测程序对应的病毒类型。
其中,在本发明的实施例中,预设的指令序列特征库可为预先将多种病毒类型的样本程序对应的指令序列特征提取出来,并将其存储在一起以形成指令序列特征库。具体地,可先分析多种样本待检测程序,之后可根据多中样本待检测程序的指令执行特点分别提取出对应的指令序列特征,并将这些指令序列特征存储起来以生成指令序列特征库。
应当理解,在本发明的实施例中,指令序列特征库中可包括指令序列特征、与指令序列特征对应的病毒类型等。
S204,根据获取的待检测程序对应的病毒类型对待检测程序进行修复。
具体地,在获取到待检测程序对应的病毒类型之后,可根据该病毒类型通过与其对应的特定算法进行感染文件修复。
本发明实施例的病毒检测方法,可根据提取的指令序列特征查询预设的指令序列特征库,以获取待检测程序对应的病毒类型,并可根据获取的待检测程序对应的病毒类型对待检测程序进行修复,通过在预设的指令序列特征库中进行查询,使得检测范围更加广泛,并且对待检测程序进行感染修复,达到了病毒检测的效果,提升了用户体验。
图3是根据本发明又一个实施例的病毒检测方法的流程图。
为了提高准确度,并扩大及完善预设的指令序列特征库,在本发明的实施例中,在根据提取的指令序列特征查询预设的指令序列特征库之后,可判断预设的指令序列特征库中是否存在提取的指令序列特征。具体地,如图3所示,该病毒检测方法可以包括:
S301,获取待检测程序,并对待检测程序进行反编译。
S302,提取反编译之后待检测程序的指令序列特征。
S303,根据提取的指令序列特征查询预设的指令序列特征库,并判断预设的指令序列特征库中是否存在提取的指令序列特征。
S304,若存在,则获取待检测程序对应的病毒类型。
S305,根据获取的待检测程序对应的病毒类型对待检测程序进行修复。
S306,若不存在,判断提取的指令序列特征对应的程序是否为正常文件或可信任文件。
需要说明的是,在本发明的一个实施例中,当判断提取的指令序列特征对应的程序是正常文件或可信任文件时,可确定该程序不是病毒文件或被感染的文件。
S307,当判断提取的指令序列特征对应的程序不是正常文件或可信任文件时,将提取的指令序列特征添加至预设的指令序列特征库。
本发明实施例的病毒检测方法,在根据提取的指令序列特征查询预设的指令序列特征库之后,可判断预设的指令序列特征库中是否存在提取的指令序列特征,若存在,则获取待检测程序对应的病毒类型,提高了准确度;若不存在,则判断提取的指令序列特征对应的程序是否为正常文件或可信任文件,当不是正常文件或可信任文件时,将提取的指令序列特征添加至预设的指令序列特征库,从而扩大并完善了预设的指令序列特征库。
另外,本发明还提出一种病毒检测装置。
图4是根据本发明一个实施例的病毒检测装置的结构示意图。
如图4所示,该病毒检测装置可以包括获取模块10、反编译模块20、提取模块30和检测模块40。
具体地,获取模块10可用于获取待检测程序。反编译模块20可用于对待检测程序进行反编译。其中,在本发明的实施例中,待检测程序可为PE文件,PE文件可为操作系统上的程序文件,例如,EXE、DLL、OCX、SYS、COM等。更具体地,获取模块10可获取待检测程序,反编译模块20可通过反编译引擎对待检测程序进行反编译。应当理解,在本发明的实施例中,反编译模块20还可通过反编译工具对待检测程序进行反编译。
提取模块30可用于提取反编译之后待检测程序的指令序列特征。其中,在本发明的实施例中,指令序列特征可理解为在程序执行过程中,指令被执行的流程特征。更具体地,反编译模块20对待检测程序进行反编译之后可生成指令执行链,提取模块30可解析该指令执行链,可从中提取出相关特征并进行特征提取以得到反编译之后待检测程序的指令序列特征。
可选的,在本发明的一个实施例中,提取模块30可按照跳转指令JMP的流程特点,提取反编译之后待检测程序的指令序列特征。
可选的,在本发明的另一个实施例中,提取模块30可按照跳转指令CALL的流程特点,提取反编译之后待检测程序的指令序列特征。
优选的,在本发明的一个实施例中,提取模块30可按照跳转指令JMP和跳转指令CALL二者结合的流程特点,提取反编译之后待检测程序的指令序列特征。
应当理解,在实际混淆感染型病毒文件中,存在大量的JMP指令、CALL指令以改变文件程序的逻辑流程。在实际提取指令序列特征过程中,可以根据具体情况,选择是按照JMP跳转指令的流程特点来进行特征提取或者按照CALL指令的流程特点来提取特征。如果上述两种方式都存在特征提取不准确,或者会发生误报的情况,则可根据JMP跳转指令和CALL指令二者结合的流程特点来进行特征提取。
例如,提取模块30可按照跳转指令JMP的特点获取反编译之后的待检测程序中的执行序列,并从中提取出JMP指令序列特征;又如,提取模块30可按照CALL指令执行的特点获取反编译之后的待检测程序中的执行序列,并从中提取出CALL指令序列特征;还如,提取模块30可按照跳转指令JMP和CALL指令执行这两者合起来的特点获取反编译之后的待检测程序中的执行序列,并从中提取出JMP指令序列特征和CALL指令序列特征。由此,大大提高了检测结果的准确度。
检测模块40可用于根据提取的指令序列特征对待检测程序进行病毒检测。更具体地,检测模块40可根据提取的指令序列特征确定待检测程序属于哪类感染型病毒类型,以实现对待检测程序的病毒检测。
进一步地,在本发明的一个实施例中,检测模块40可具体用于:根据提取的指令序列特征查询预设的指令序列特征库,以获取待检测程序对应的病毒类型。其中,在本发明的实施例中,预设的指令序列特征库可为预先将多种病毒类型的样本程序对应的指令序列特征提取出来,并将其存储在一起以形成指令序列特征库。更具体地,可先分析多种样本待检测程序,之后可根据多中样本待检测程序的指令执行特点分别提取出对应的指令序列特征,并将这些指令序列特征存储起来以生成指令序列特征库。
应当理解,在本发明的实施例中,指令序列特征库中可包括指令序列特征、与指令序列特征对应的病毒类型等。
进一步地,在本发明的一个实施例中,如图5所示,该病毒检测装置还可以包括修复模块50。修复模块50可用于根据获取的待检测程序对应的病毒类型对待检测程序进行修复。更具体地,修复模块50在检测模块40获取到待检测程序对应的病毒类型之后,可根据该病毒类型通过与其对应的特定算法进行感染文件修复。由此,达到了病毒检测的效果,提升了用户体验。
可选地,在本发明的一个实施例中,如图6所示,该病毒检测装置还可以包括第一判断模块60、第二判断模块70和添加模块80。具体地,第一判断模块60可用于判断预设的指令序列特征库中是否存在提取的指令序列特征;如果预设的指令序列特征库中存在提取的指令序列特征,触发检测模块40,即检测模块40获取待检测程序对应的病毒类型;否则,触发第二判断模块70。
第二判断模块70可用于判断提取的指令序列特征对应的程序是否为正常文件或可信任文件。需要说明的是,在本发明的一个实施例中,当判断提取指令序列特征对应的程序是正常文件或可信任文件时,可确定该程序不是病毒文件或被感染的文件。
添加模块80可用于在第二判断模块70判断提取的指令序列特征对应的程序不是正常文件或可信任文件时,将提取的指令序列特征添加至预设的指令序列特征库。由此,扩大并完善了预设的指令序列特征库。
本发明实施例的病毒检测装置,可通过获取模块获取待检测程序,反编译模块对待检测程序进行反编译,提取模块提取反编译之后待检测程序的指令序列特征,检测模块根据提取的指令序列特征确定待检测程序属于哪类感染型病毒类型,以实现对待检测程序的病毒检测,可有效地快速检测特定类型的感染型病毒,误报率降低,并且通过对于指令序列特征检测,相比于传统的特征码方法,检测范围更广泛,从而提高了检测效率。
此外,本发明还提出了一种终端,需要说明的是,在本发明的实施例中,终端可理解为PC(Personal Computer,个人计算机)机、手机、平板电脑等具有各种操作系统的硬件设备。该终端可以包括:外壳,处理器和电路板;电路板安置在外壳围成的空间内部,处理器设置在电路板上;处理器用于运行应用程序,具体用于执行以下步骤:
S101’,获取待检测程序,并对待检测程序进行反编译。
S102’,提取反编译之后待检测程序的指令序列特征。
S103’,根据提取的指令序列特征对待检测程序进行病毒检测。
本发明实施例的终端,可先获取待检测程序,并对该待检测程序进行反编译,之后可提取反编译之后待检测程序的指令序列特征,并根据提取的指令序列特征确定待检测程序属于哪类感染型病毒类型,以实现对待检测程序的病毒检测,可有效地快速检测特定类型的感染型病毒,误报率降低,并且通过对于指令序列特征检测,相比于传统的特征码方法,检测范围更广泛,从而提高了检测效率。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (16)
1.一种病毒检测方法,其特征在于,包括:
获取待检测程序,并对所述待检测程序进行反编译;
提取反编译之后所述待检测程序的指令序列特征;以及
根据提取的所述指令序列特征对所述待检测程序进行病毒检测。
2.如权利要求1所述的方法,其特征在于,所述根据提取的指令序列特征对所述待检测程序进行病毒检测具体包括:
根据提取的所述指令序列特征查询预设的指令序列特征库,以获取所述待检测程序对应的病毒类型。
3.如权利要求2所述的方法,其特征在于,还包括:
根据获取的所述待检测程序对应的病毒类型对所述待检测程序进行修复。
4.如权利要求2所述的方法,其特征在于,在所述根据提取的所述指令序列特征查询预设的指令序列特征库之后,还包括:
判断所述预设的指令序列特征库中是否存在提取的所述指令序列特征;
如果所述预设的指令序列特征库中存在提取的所述指令序列特征,则获取所述待检测程序对应的病毒类型。
5.如权利要求4所述的方法,其特征在于,如果所述预设的指令序列特征库中不存在提取的所述指令序列特征,还包括:
判断提取的所述指令序列特征对应的程序是否为正常文件或可信任文件;
当判断提取的所述指令序列特征对应的程序不是正常文件或可信任文件时,将提取的所述指令序列特征添加至所述预设的指令序列特征库。
6.如权利要求1所述的方法,其特征在于,所述提取反编译之后所述待检测程序的指令序列特征具体包括:
按照跳转指令JMP的流程特点,提取反编译之后所述待检测程序的指令序列特征。
7.如权利要求1所述的方法,其特征在于,所述提取反编译之后所述待检测程序的指令序列特征具体包括:
按照跳转指令CALL的流程特点,提取反编译之后所述待检测程序的指令序列特征。
8.如权利要求1所述的方法,其特征在于,所述提取反编译之后所述待检测程序的指令序列特征具体包括:
按照跳转指令JMP和跳转指令CALL二者结合的流程特点,提取反编译之后所述待检测程序的指令序列特征。
9.一种病毒检测装置,其特征在于,包括:
获取模块,用于获取待检测程序;
反编译模块,用于对所述待检测程序进行反编译;
提取模块,用于提取反编译之后所述待检测程序的指令序列特征;以及
检测模块,用于根据提取的所述指令序列特征对所述待检测程序进行病毒检测。
10.如权利要求9所述的装置,其特征在于,所述检测模块具体用于:
根据提取的所述指令序列特征查询预设的指令序列特征库,以获取所述待检测程序对应的病毒类型。
11.如权利要求10所述的装置,其特征在于,还包括:
修复模块,用于根据获取的所述待检测程序对应的病毒类型对所述待检测程序进行修复。
12.如权利要求10所述的装置,其特征在于,还包括:
第一判断模块,用于判断所述预设的指令序列特征库中是否存在提取的所述指令序列特征;如果所述预设的指令序列特征库中存在提取的所述指令序列特征,触发所述检测模块;否则,触发第二判断模块;
所述第二判断模块,用于判断提取的所述指令序列特征对应的程序是否为正常文件或可信任文件;
添加模块,用于在所述第二判断模块判断提取的所述指令序列特征对应的程序不是正常文件或可信任文件时,将提取的所述指令序列特征添加至所述预设的指令序列特征库。
13.如权利要求9所述的装置,其特征在于,所述提取模块具体用于:
按照跳转指令JMP的流程特点,提取反编译之后所述待检测程序的指令序列特征。
14.如权利要求9所述的装置,其特征在于,所述提取模块具体用于:
按照跳转指令CALL的流程特点,提取反编译之后所述待检测程序的指令序列特征。
15.如权利要求9所述的装置,其特征在于,所述提取模块具体用于:
按照跳转指令JMP和跳转指令CALL二者结合的流程特点,提取反编译之后所述待检测程序的指令序列特征。
16.一种终端,其特征在于,包括:外壳,处理器和电路板;所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;所述处理器用于运行应用程序,具体用于:
获取待检测程序,并对所述待检测程序进行反编译;
提取反编译之后所述待检测程序的指令序列特征;以及
根据提取的所述指令序列特征对所述待检测程序进行病毒检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410293771.4A CN104077528A (zh) | 2014-06-25 | 2014-06-25 | 病毒检测方法、装置以及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410293771.4A CN104077528A (zh) | 2014-06-25 | 2014-06-25 | 病毒检测方法、装置以及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104077528A true CN104077528A (zh) | 2014-10-01 |
Family
ID=51598778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410293771.4A Pending CN104077528A (zh) | 2014-06-25 | 2014-06-25 | 病毒检测方法、装置以及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104077528A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106295342A (zh) * | 2016-08-19 | 2017-01-04 | 北京金山安全管理系统技术有限公司 | 检测和清除可移植可执行文件中感染型病毒的方法及装置 |
CN106355092A (zh) * | 2015-10-22 | 2017-01-25 | 卡巴斯基实验室股份公司 | 用于优化反病毒测定的系统和方法 |
CN106909839A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 一种提取样本代码特征的方法及装置 |
CN109635565A (zh) * | 2018-11-28 | 2019-04-16 | 江苏通付盾信息安全技术有限公司 | 恶意程序的检测方法、装置、计算设备及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080320595A1 (en) * | 2002-05-13 | 2008-12-25 | International Business Machines Corporation | Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine |
CN103136473A (zh) * | 2011-11-29 | 2013-06-05 | 姚纪卫 | 检测计算机病毒的方法和装置 |
-
2014
- 2014-06-25 CN CN201410293771.4A patent/CN104077528A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080320595A1 (en) * | 2002-05-13 | 2008-12-25 | International Business Machines Corporation | Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine |
CN103136473A (zh) * | 2011-11-29 | 2013-06-05 | 姚纪卫 | 检测计算机病毒的方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106355092A (zh) * | 2015-10-22 | 2017-01-25 | 卡巴斯基实验室股份公司 | 用于优化反病毒测定的系统和方法 |
CN106355092B (zh) * | 2015-10-22 | 2019-05-03 | 卡巴斯基实验室股份公司 | 用于优化反病毒测定的系统和方法 |
CN106909839A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 一种提取样本代码特征的方法及装置 |
CN106909839B (zh) * | 2015-12-22 | 2020-04-17 | 北京奇虎科技有限公司 | 一种提取样本代码特征的方法及装置 |
CN106295342A (zh) * | 2016-08-19 | 2017-01-04 | 北京金山安全管理系统技术有限公司 | 检测和清除可移植可执行文件中感染型病毒的方法及装置 |
CN106295342B (zh) * | 2016-08-19 | 2019-02-01 | 北京金山安全管理系统技术有限公司 | 检测和清除可移植可执行文件中感染型病毒的方法及装置 |
CN109635565A (zh) * | 2018-11-28 | 2019-04-16 | 江苏通付盾信息安全技术有限公司 | 恶意程序的检测方法、装置、计算设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101720686B1 (ko) | 시각화 유사도 기반 악성 어플리케이션 감지 장치 및 감지 방법 | |
US9680848B2 (en) | Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and API flow-based dynamic analysis | |
KR100942795B1 (ko) | 악성프로그램 탐지장치 및 그 방법 | |
JP6088713B2 (ja) | 脆弱性発見装置、脆弱性発見方法、及び脆弱性発見プログラム | |
US10395033B2 (en) | System, apparatus and method for performing on-demand binary analysis for detecting code reuse attacks | |
US20160196427A1 (en) | System and Method for Detecting Branch Oriented Programming Anomalies | |
CN108197476B (zh) | 一种智能终端设备的漏洞检测方法及装置 | |
CN104077528A (zh) | 病毒检测方法、装置以及终端 | |
KR100996855B1 (ko) | 정상 파일 데이터베이스 제공 시스템 및 방법 | |
KR102180098B1 (ko) | 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 악성코드 탐지 시스템 | |
CN104657661A (zh) | 移动终端中恶意代码的检测方法和装置 | |
CN109508546A (zh) | 一种基于软件基因的软件同源性分析方法和装置 | |
CN105791250A (zh) | 应用程序检测方法及装置 | |
CN115168861A (zh) | 数据安全验证方法、装置、设备及存储介质 | |
CN104517053A (zh) | 软件识别方法及装置 | |
CN104603791A (zh) | 签名验证装置及签名验证方法和程序 | |
KR101461051B1 (ko) | 웹 기능 분석을 통한 악성 코드 탐지방법 및 그 기록매체 | |
CN112906004A (zh) | 基于汇编代码的漏洞检测方法、装置和电子设备 | |
CN102819703B (zh) | 用于防护网页攻击的方法和设备 | |
CN104123489A (zh) | 可执行程序的监控方法和装置 | |
JP5700675B2 (ja) | コンピュータ・プログラムのメソッドがバリデータであるかどうかを判断する方法、システム、及びコンピュータ・プログラム | |
CN109840417B (zh) | 一种恶意软件检测方法及装置 | |
CN104809394B (zh) | 病毒查杀的方法、装置及终端 | |
CN103955449A (zh) | 定位目标样本的方法和装置 | |
CN109067716A (zh) | 一种识别暗链的方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20141001 |