CN111625825B - 一种病毒检测方法、装置、设备及存储介质 - Google Patents

一种病毒检测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111625825B
CN111625825B CN202010442645.6A CN202010442645A CN111625825B CN 111625825 B CN111625825 B CN 111625825B CN 202010442645 A CN202010442645 A CN 202010442645A CN 111625825 B CN111625825 B CN 111625825B
Authority
CN
China
Prior art keywords
detected
file
virus
characteristic
operation information
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.)
Active
Application number
CN202010442645.6A
Other languages
English (en)
Other versions
CN111625825A (zh
Inventor
董世江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010442645.6A priority Critical patent/CN111625825B/zh
Publication of CN111625825A publication Critical patent/CN111625825A/zh
Application granted granted Critical
Publication of CN111625825B publication Critical patent/CN111625825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Abstract

本发明公开了一种病毒检测方法、装置、设备及存储介质,该方法包括:获取待测文件,计算所述待测文件的文件特征得到待测特征值,将所述待测特征值与预设的病毒特征库中各特征值进行比对,如果所述病毒特征库中存在与所述待测特征值匹配的特征值,则确定所述待测文件存在病毒,否则,监控所述待测文件在内核空间的操作得到待测操作信息;将所述待测操作信息与预设的病毒行为库中各操作信息进行比对,如果所述病毒行为库中存在与所述待测操作信息匹配的操作信息,则确定所述待测文件存在病毒,否则,确定所述待测文件不存在病毒。可见,本申请将对病毒的静态检测与动态检测相结合,使得实现病毒检测时具有较高的准确率。

Description

一种病毒检测方法、装置、设备及存储介质
技术领域
本发明涉及计算机及互联网技术领域,更具体地说,涉及一种病毒检测方法、装置、设备及存储介质。
背景技术
随着科学科技的发展,尤其是信息化进程的不断加快,计算机及互联网在人们日常生活中发挥的作用越来越大,普及率也越来越高。计算机及互联网在各方面给人们带来便利、提高效率的同时,计算机及互联网的安全问题也接踵而至,尤其是计算机病毒的存在成为了信息安全的一大威胁。
随着计算机病毒的病毒技术不断发展,出现了DOS病毒、PE病毒、木马、蠕虫、僵尸网络等计算机病毒,其中,PE病毒的数量呈不断上升趋势,且PE 病毒也是木马、蠕虫、僵尸网络等病毒的间接手段,因此PE病毒引起的安全问题也越来越受到人们的关注。但是目前用于实现PE病毒检测的技术方案存在准确率较低的问题。
发明内容
本发明的目的是提供一种病毒检测方法、装置、设备及存储介质,能够实现病毒检测时达到较高的准确率。
为了实现上述目的,本发明提供如下技术方案:
一种病毒检测方法,包括:
获取待测文件,计算所述待测文件的文件特征得到待测特征值,将所述待测特征值与预设的病毒特征库中各特征值进行比对,如果所述病毒特征库中存在与所述待测特征值匹配的特征值,则确定所述待测文件存在病毒,否则,监控所述待测文件在内核空间的操作得到待测操作信息;
将所述待测操作信息与预设的病毒行为库中各操作信息进行比对,如果所述病毒行为库中存在与所述待测操作信息匹配的操作信息,则确定所述待测文件存在病毒,否则,确定所述待测文件不存在病毒。
优选的,所述病毒特征库中的特征值包括文件静态特征值及文件相似特征值;计算得到所述待测特征值,将所述待测特征值与所述病毒特征库中各特征值进行比对,包括:
计算所述待测文件的文件静态特征得到第一待测特征值,将所述第一待测特征值与预设的病毒特征库中各特征值进行比对,如果所述病毒特征库中存在与所述第一待测特征值相同的特征值,则确定所述待测文件存在病毒,否则,计算所述待测文件的文件相似特征得到第二待测特征值;
将所述第二待测特征值与所述病毒特征库中各特征值进行比对,如果所述病毒特征库中存在与所述第二待测特征值的匹配度大于匹配度阈值的特征值,则确定所述待测文件存在病毒,否则,执行所述监控所述待测文件在内核空间的操作得到待测操作信息的步骤。
优选的,将所述第二待测特征值与所述病毒特征库中各特征值进行比对,包括:
将所述第二待测特征值切片得到相应数量的待测数据块,在所述病毒数据库中对每个所述待测数据块进行查找;所述第二待测特征值为simhash值;
如果查找的结果为每个所述待测数据块对应的海明距离的总和不大于对应距离阈值,则确定所述病毒特征库中存在与所述第二待测特征值的匹配度大于匹配度阈值的特征值。
优选的,确定所述病毒行为库中存在与所述待测操作信息匹配的操作信息之后,还包括:
确定所述待测操作信息匹配的操作信息的权值为第一权值,确定所述待测文件所在系统当前的用户的权值为第二权值,将所述第一权值及所述第二权值加和计算得到所述待测文件的危险系数,如果该危险系数大于危险系数阈值,则执行所述确定所述待测文件存在病毒的步骤,否则,确定所述待测文件不存在病毒。
优选的,确定所述病毒行为库中不存在与所述待测操作信息匹配的操作信息之后,还包括:
将与所述待测文件对应的不存在匹配的操作信息的全部待测操作信息,按照预设原则对所述待测操作信息中包含的各项子信息进行组合,并确定组合得到的每组子信息均为待测操作信息,返回执行将所述待测操作信息与预设的病毒行为库中各操作信息进行比对的步骤。
优选的,监控所述待测文件在内核空间的操作得到待测操作信息,包括:
监控到所述待测文件通过系统调用进入内核空间时,指示所述系统调用记录此次的访问信息并添加到消息队列中,由所述消息队列中获取访问信息,对所述访问信息进行数据标准化,得到待测操作信息;其中,所述访问信息包括被调用的API的API信息及该API被调用后实现的行为的行为信息。
优选的,确定所述待测文件存在病毒之后,还包括:
发出与所述待测文件存在病毒对应的告警信息。一种病毒检测装置,包括:
静态检测模块,用于:获取待测文件,计算所述待测文件的文件特征得到待测特征值,将所述待测特征值与预设的病毒特征库中各特征值进行比对,如果所述病毒特征库中存在与所述待测特征值匹配的特征值,则确定所述待测文件存在病毒,否则,监控所述待测文件在内核空间的操作得到待测操作信息;
动态检测模块,用于:将所述待测操作信息与预设的病毒行为库中各操作信息进行比对,如果所述病毒行为库中存在与所述待测操作信息匹配的操作信息,则确定所述待测文件存在病毒,否则,确定所述待测文件不存在病毒。
一种病毒检测设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一项所述病毒检测方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述病毒检测方法的步骤。
本发明公开了一种病毒检测方法、装置、设备及存储介质,包括:获取待测文件,计算所述待测文件的文件特征得到待测特征值,将所述待测特征值与预设的病毒特征库中各特征值进行比对,如果所述病毒特征库中存在与所述待测特征值匹配的特征值,则确定所述待测文件存在病毒,否则,监控所述待测文件在内核空间的操作得到待测操作信息;将所述待测操作信息与预设的病毒行为库中各操作信息进行比对,如果所述病毒行为库中存在与所述待测操作信息匹配的操作信息,则确定所述待测文件存在病毒,否则,确定所述待测文件不存在病毒。本发明公开的技术特征中,计算待测文件的文件特征得到待测特征值,如果病毒特征库中存在与待测特征值匹配的特征值,则确定待测文件中包含病毒,否则,监控待测文件在内核空间的操作得到待操作信息,如果病毒行为库中存在与待测操作信息匹配的操作信息,则确定待测文件中包含病毒,否则,确定待测文件中不包含病毒;可见,本申请先通过待测文件的文件特征值实现对待测文件是否包含病毒的静态检测,再通过待测文件在内核空间的操作信息实现对待测文件是否包含病毒的动态检测,将对病毒的静态检测与动态检测相结合,使得实现病毒检测时具有较高的准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种病毒检测方法的流程图;
图2为本发明实施例提供的一种病毒检测方法中监控模块的模块示意图;
图3为本发明实施例提供的一种病毒检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种病毒检测方法的流程图,可以包括:
S11:获取待测文件,计算待测文件的文件特征得到待测特征值,将待测特征值与预设的病毒特征库中各特征值进行比对,如果病毒特征库中存在与待测特征值匹配的特征值,则确定待测文件存在病毒,否则,监控待测文件在内核空间的操作得到待测操作信息。
本发明实施例提供的一种病毒检测方法的执行主体可以为对应的病毒检测装置。待测文件即为需要检测其是否包含病毒的文件,而病毒可以为PE病毒或者其他能够通过本发明实施例提供的一种病毒检测方法实现检测的病毒,均在本发明的保护范围之内。在获取到待测文件后,为了实现对待测文件中是否包含病毒的静态检测,可以先计算待测文件的文件特征,计算得到的文件特征值即为待测特征值,而计算待测文件的文件特征的方法可以根据实际需要进行选取,如MD5(MD5是一种信息摘要算法,它可以从一个字符串或一个文件中按照一定的规则生成一个特殊的字符串,生成的该字符串通常为128位;并且计算同一个文件所得的MD5值是固定的,当文件内容变化后,其MD5值也会不一样,因此MD5可以用于确保信息的完整性)、sha1(类似 MD5,但计算得到的sha1值长度是160位,其比MD5安全可靠,比sha256的安全可靠性差)、sha256(类似MD5,但计算得到的sha256值长度是256位,比sha1更加安全可靠)等。
在计算得到待测文件的待测特征值后,可以将待测特征值与预设的病毒特征库中的各特征值进行比对,由于病毒特征库中包含的特征值为对包含病毒的文件计算文件特征得到的相应文件特征值,因此如果待测特征值与病毒特征库中任意特征值匹配,则可以认为待测文件中包含病毒特征库中与待测特征值匹配的特征值对应的文件(计算任意文件得到该任意文件的特征值则说明该任意文件与该任意文件的特征值相对应)中包含的病毒,否则,则可以认为至少待测文件中不包含病毒特征库中全部特征值对应的文件包含的病毒,从而通过这种方式静态检测出待测文件中是否包含相应的病毒。
S12:将待测操作信息与预设的病毒行为库中各操作信息进行比对,如果病毒行为库中存在与待测操作信息匹配的操作信息,则确定待测文件存在病毒,否则,确定待测文件不存在病毒。
如果通过上述静态检测确定出待测文件中不包含病毒特征库中全部特征值对应的文件中包含的病毒,则可以对待测文件进行动态检测,以通过动态检测确定待测文件中是否存在病毒;为了实现对待测文件的动态检测,可以监控得到表示待测文件在内核空间进行的操作的操作信息,将该操作信息作为待测操作信息,将待测操作信息与病毒行为库中各操作信息进行比对,由于病毒特征库中包含的操作信息为表示包含病毒的文件在内核空间进行的操作的信息,因此如果待测操作信息与病毒行为库中任意操作信息匹配,则可以认为待测文件中包含病毒行为库中与待测操作信息匹配的操作信息对应的文件(表示任意包含病毒的文件在内核空间进行的操作的操作信息与该任意的文件相对应)中包含的病毒,否则,则可以认为至少待测文件中不包含病毒行为库中全部操作信息对应的文件包含的病毒,从而通过这种方式动态检测出待测文件中是否包含相应的病毒。
另外,病毒特征库中包含的特征值对应文件包含的病毒及病毒行为库中包含的操作信息对应文件包含的病毒可以为需要实现检测的任一种和任多种病毒,具体可以根据实际需要进行设定。
本发明公开的技术特征中,计算待测文件的文件特征得到待测特征值,如果病毒特征库中存在与待测特征值匹配的特征值,则确定待测文件中包含病毒,否则,监控待测文件在内核空间的操作得到待操作信息,如果病毒行为库中存在与待测操作信息匹配的操作信息,则确定待测文件中包含病毒,否则,确定待测文件中不包含病毒;可见,本申请先通过待测文件的文件特征值实现对待测文件是否包含病毒的静态检测,再通过待测文件在内核空间的操作信息实现对待测文件是否包含病毒的动态检测,将对病毒的静态检测与动态检测相结合,使得实现病毒检测时具有较高的准确率。
另外,由于待测文件在内核空间的操作更能体现其危险性,因此本申请中通过内核空间的操作信息实现对待测文件的动态检测,能够进一步提高病毒检测时的准确率。
本发明实施例提供的一种病毒检测方法,病毒特征库中的特征值可以包括文件静态特征值及文件相似特征值;计算得到待测特征值,将待测特征值与病毒特征库中各特征值进行比对,可以包括:
计算待测文件的文件静态特征得到第一待测特征值,将第一待测特征值与预设的病毒特征库中各特征值进行比对,如果病毒特征库中存在与第一待测特征值相同的特征值,则确定待测文件存在病毒,否则,计算待测文件的文件相似特征得到第二待测特征值;
将第二待测特征值与病毒特征库中各特征值进行比对,如果病毒特征库中存在与第二待测特征值的匹配度大于匹配度阈值的特征值,则确定待测文件存在病毒,否则,执行监控待测文件在内核空间的操作得到待测操作信息的步骤。
需要说明的是,本实施例中可以将计算包含病毒的文件的文件静态特征所得特征值(文件静态特征值)及计算包含病毒的文件的文件相似特征所得特征值(文件相似特征值)均存储至病毒特征库中;在对待测文件进行病毒的静态检测时,先计算待测文件的文件静态特征得到对应的文件静态特征值作为第一待测特征值,如果第一待测特征值存在于病毒特征库中(第一待测特征值与病毒特征库中任意特征值相同),则说明待测文件中存在病毒特征库中与第一待测特征值相同的特征值对应的病毒,否则,计算待测文件的文件相似特征得到对应的文件相似特征值作为第二待测特征值,如果第二待测特征值与病毒特征库中任意特征值的匹配度大于根据实际需要设置的匹配度阈值(本实施例中的匹配度可以为相似度,如第二待测特征值与病毒特征库中任意特征值具有相同的值的位数的数量,或者该位数的数量与第二待测特征值包含的位数的总数量的比值等;而将第二待测特征值与病毒特征库中各特征值进行比对,进而确定病毒特征库中是否存在与第二待测特征值匹配的特征值,具体可以是基于文件匹配算法实现的),则认为第二待测特征值与该任意特征值相匹配,说明第二待测特征值存在该任意特征值对应文件包含的病毒,否则,则说明静态检测中检测所得的结果表示待测文件中不包含相应的病毒;从而通过这种方式在实现文件的文本特征检测时包含文件静态特征及文件相似特征两部分的检测,也即从文件静态特征及文件相似特征两方面确定待测文件中是否包含病毒,进一步提高了对待测文件进行病毒检测时的准确率。
其中,本实施例中采用的文件静态特征值可以包括基于相应算法计算得到的MD5值、sha1值及sha256值中的至少一个,且还可以包括待测文件的文件名称、文件路径及文件大小等,采用的文件相似特征值可以包括基于改进的simhash算法计算得到的simhash值;当然也可以根据实际需要进行其他设定,均在本发明的保护范围之内。
另外,为了减少需要与第一待测特征值及第二待测特征值进行比对的特征值,进而加快比对速率,还可以将病毒特征库分为第一病毒特征库及第二病毒特征库,第一病毒特征库包含的特征值为文件静态特征值,而第二病毒特征库包含的特征值为文件相似特征值,从而在得到第一待测特征值之后仅需将第一待测特征值与第一病毒特征库中各特征值进行比对,在得到第二待测特征值后仅需将第二待测特征值与第二病毒特征库中各特征值进行比对,从而大大提高了特征值的比对速率,进而提高了病毒检测速率。
本发明实施例提供的一种病毒检测方法,将第二待测特征值与病毒特征库中各特征值进行比对,可以包括:
将第二待测特征值切片得到相应数量的待测数据块,在病毒数据库中对每个待测数据块进行查找;第二待测特征值为simhash值;
如果查找的结果为每个待测数据块对应的海明距离的总和不大于对应距离阈值,则确定病毒特征库中存在与第二待测特征值的匹配度大于匹配度阈值的特征值,否则,确定病毒特征库中不存在与第二待测特征值的匹配度大于匹配度阈值的特征值。
本实施例中的文件相似特征具体为基于改进的simhash算法(simhash算法主要的工作就是将文本进行降维生成一个Simhash值作为文本的特征值,通过对不同文本的SimHash值进行比较得到海明距离,也即SimHash值之间不同的比特数,从而判断两个文本的相似度)计算得到的simhash值,再计算得到待测文件的simhash值后,通过文件匹配算法(基于simhash算法进行文件快速匹配的算法)进行待测文件的simhash值与病毒特征库中各特征值的匹配,最终得到病毒特征库中是否存在与待测文件的simhash值匹配的特征值。其中,对第二待测特征值进行切片时可以是按照平均切片的原则实现的,而切片所得的待测数据块的数量可以根据实际需要进行设定,如4块,距离阈值也可以根据实际需要进行设定,如3。
在对第二待测特征值切片得到相应数量的待测数据块后,可以先将第一个待测数据块与病毒特征库中各特征值进行比对,如果比对的结果为病毒特征库中存在与第一个待测数据块之间的海明距离不大于对应距离阈值的特征值,则继续将第二个待测数据块与第一个待测数据块对应结果集中各特征值进行比对,如果比对的结果为病毒特征库中存在与第二个待测数据块之间的海明距离不大于对应距离阈值的特征值,则判断第一个待测数据块及第二个待测数据块分别对应的最小的海明距离的总和是否不大于对应距离阈值(与任意待测数据块对应的最小的海明距离则为该任意待测数据块与病毒特征库中各特征值之间的海明距离中最小的海明距离),如果是,则继续将第三个待测数据块与第二个待测数据块对应结果集中各特征值进行比对,如果否,则确定每个待测数据块对应的海明距离的总和大于对应距离阈值,如果将第三个待测数据块与病毒特征库中各特征值进行比对的结果为病毒特征库中存在与第三个待测数据块之间的海明距离不大于对应距离阈值的特征值,则判断第一个待测数据块至第三个待测数据块分别对应的最小的海明距离的总和是否不大于对应距离阈值,如果是,则继续将第四个待测数据块与第三个待测数据块对应结果集中各特征值进行比对,如果否,则确定每个待测数据块对应的海明距离的总和大于对应距离阈值,...,以此类推,直至将最后一个待测数据块与倒数第二个待测数据块对应结果集中各特征值进行比对后,如果比对的结果为病毒特征库中存在与最后一个待测数据块之间的海明距离不大于对应距离阈值的特征值,则判断第一个待测数据块至最后一个待测数据块分别对应的最小的海明距离的总和是否不大于对应距离阈值,如果是,则确定每个待测数据块对应的海明距离的总和不大于对应距离阈值,如果否,则确定每个待测数据块对应的海明距离的总和大于对应距离阈值;在将任意一个待测数据块与病毒特征库中各特征值进行比对的结果为病毒特征库中不存在与该任意一个待测数据块之间的海明距离不大于对应距离阈值的特征值,则确定每个待测数据块对应的海明距离的总和大于对应距离阈值;其中,任意待测数据块对应的结果集为查找得到的与该任意待测数据块之间的海明距离不大于距离阈值的特征值组成的集合;另外,可以将病毒特征库中各特征值均切片为与待测数据块包含的位数的数量相同数量的位数的特征值后,实现与各待测数据块的比对;从而通过这种方式实现待测数据块与各特征值的比对,相对于直接将每个待测数据块分别与各特征值进行比对,能够一定程度上减少特征值比对的次数,进而提高病毒检测效率。
在一种具体实现方式中,距离阈值为3(如果两个特征值之间的海明距离小于等于3,那么认为这两个特征值对应的文件具有很高的相似度),切片得到待测数据块的数量为4,在实现文件匹配算法时,将计算得到的待测文件的 64位的simhash值进行均匀切片,得到4个待测数据块,每个待测数据块为16 位;在数据块中以每个待测数据块为索引建立索引;在分成的4个待测数据块中,通过索引将每个待测数据块在病毒特征库中进行查找,如果查找成功(病毒特征库中存在与待测数据块的海明距离不大于距离阈值的特征值),则在结果集中继续查找,直到找到相似特征值(每个待测数据块分别对应的最小的海明距离的总和不大于距离阈值),如果没有则进行动态检测。其中,查找任意一个待测数据块得到的结果集为查找得到的与该任意待测数据块的海明距离不大于距离阈值的全部特征值组成的集合。该方法可以大大减少特征值匹配的次数,例如:如果病毒特征库存有2^34(差不多10亿)的simhash值,原本需要匹配10亿次,而利用本申请公开的上述方法,大概只需要匹配100万次即可,从而大大减少了海明距离的计算成本;具体来说,假设特征值是均匀分布的,16位的特征值产生的像限为2^16个,则平均每个像限分布的文档数则为2^34/2^16=2^(34-16)),四个待测数据块返回的总结果数为4*262144 (大概100万),也即为匹配的次数。
本发明实施例提供的一种病毒检测方法,确定病毒行为库中存在与待测操作信息匹配的操作信息之后,还可以包括:
确定待测操作信息匹配的操作信息的权值为第一权值,确定待测文件所在系统当前的用户的权值为第二权值,将第一权值及第二权值加和计算得到待测文件的危险系数,如果该危险系数大于危险系数阈值,则执行确定待测文件存在病毒的步骤,否则,确定待测文件不存在病毒。
需要说明的是,与待测操作信息匹配的操作信息为与待测操作信息相同的操作信息,病毒行为库中包含的操作信息为表示包含病毒的文件在内核空间实现的操作的信息,并且,病毒行为库中包含的操作信息均具有对应的权值,权值越高,表示权值对应的操作信息表示文件包含病毒的可能性越大;并且,根据不同的用户对同一种行为作出不同的判定,具体来说,待测文件所在计算机系统当前的用户也具有相应的权值,权值越高,表示权值对应的用户越不被信任,文件执行的操作危险性也越高(如用户是管理员用户,则对应的权值为5,如果用户是普通用户,则对应的权值为6,如果用户是可疑用户,则对应权值为8);因此,本实施例在通过动态检测判断待测文件是否存在病毒时,将与待操作信息匹配的操作信息的权值及待测文件所在系统当前的用户的权值的和作为待测文件的危险系数,如果危险系数大于预先根据实际需要设定的危险系数阈值,则认为待测文件存在病毒,否则,认为待测文件不存在病毒;由此基于待测文件的操作信息及所属用户综合实现待测文件是否存在病毒的判别,从而大大降低了误报率。
本发明实施例提供的一种病毒检测方法,确定病毒行为库中不存在与待测操作信息匹配的操作信息之后,还可以包括:
将与待测文件对应的不存在匹配的操作信息的全部待测操作信息,按照预设原则对待测操作信息中包含的各项子信息进行组合,并确定组合得到的每组子信息均为待测操作信息,返回执行将待测操作信息与预设的病毒行为库中各操作信息进行比对的步骤。
需要说明的是,如果病毒行为库中存在与待测操作信息匹配的操作信息,则可以为待测操作信息标记为确定状态,如果病毒行为库中不存在与待测操作信息匹配的操作信息,则可以为待测操作信息标记为未确定状态,并记录待测操作信息,联合记录的待测文件对应的全部未确定状态的待测操作信息,以确定待测文件是否存在病毒;其中,操作信息可以包括多项子信息,具体可以包括病毒文件调用的API(Application ProgrammingInterface,应用程序编程接口)的API信息(如API名称等)及表示API被调用后发生的行为的行为信息 (行为描述、调用时间、参数值、参数索引、返回值等)等,每项信息均可以为子信息,因此可以将记录的待测文件对应的全部未确定状态的待测操作信息中各项子信息按照根据实际需要设定的规则(预设规则)进行组合,如任多个上述待测操作信息的各项子信息分别合并得到一个待测操作信息,将任多个上述待测操作信息的各项子信息自由组合得到相应的待测操作信息,等,均在本发明的保护范围之内;进而将得到的每个待测操作信息均作为新的待测操作信息,执行对各新的待测操作信息进行动态检测的相关步骤;并且如果存在与病毒行为库中的操作信息匹配的新的待测操作信息,则将组成该待测操作信息的各项子信息原来属于的待测操作信息记录为确定状态;从而通过这种方式,进一步保证了对待测文件对应操作信息进行动态检测时的全面性,进而提高了待测文件进行动态检测的准确率。
本发明实施例提供的一种病毒检测方法,监控待测文件在内核空间的操作得到待测操作信息,可以包括:
监控到待测文件通过系统调用进入内核空间时,指示系统调用记录此次的访问信息并添加到消息队列中,由消息队列中获取访问信息,对访问信息进行数据标准化,得到待测操作信息;其中,访问信息包括被调用的API的API 信息及该API被调用后实现的行为的行为信息。
监控待测文件在内核空间的操作得到相应待测操作信息时,可以监控待测文件通过系统调用进入内核空间时,由系统调用记录此次的访问信息并添加到预先设定的消息队列中,最后由消息队列中获取到访问信息,对访问信息按照预先根据实际需要设定的方式进行数据标准化后即可得到待测操作信息,访问信息可以包括系统调用被调用的API的API信息及API被调用后进行的行为的行为信息,从而能够通过这种方式简单便捷的实现对操作信息的获取,且通过数据标准化方便后续对于操作信息的处理。
在一种具体实现方式中,监控内核层API调用并对API行为做分析判断所需的模块可以包括监控模块、行为库模块、行为分析模块及预处理模块:
1、监控模块(监控模块的模块框架图可以如图2所示)
1)监控初始化
A、Hook需要监控的系统调用(可以将需要监控的系统调用均记录在系统调用表中);
B、初始化监控消息队列;
C、启动内核线程,并通过netlink(netlink为用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC),也是网络应用程序与内核通信的最常用的接口)连接应用层守护程序Agent,等待从监控消息队列获取监控到的访问信息。
2)监控流程
当进程(本申请实施例中的进程即为待测文件实现相应操作时所发起的) 发起访问文件操作、访问进程操作、访问网络操作等操作时,通过系统调用进入内核空间,相应的被Hook的系统调用将记录本次的访问信息,如用户、进程、文件、PID、PPID、返回值、参数等重要信息,并将访问信息添加到监控消息队列中并唤醒内核线程,内核线程被唤醒后从监控消息队列中取出访问信息,通过netlink发送到应用层守护程序Agent,Agent格式化访问信息并发送给预处理模块进行数据标准化处理。
2、行为库模块
行为库模块则为病毒行为库,主要记录API与API被调用所实现行为之间的映射关系,可以包括进程名称、行为描述、API信息、参数索引、参数值及权值(权值越大代表危险度越高)等。如表1所示:
表1
Figure BDA0002504707130000131
3、行为分析模块
1)行为主要分为两种情况:
单一行为:由一种系统调用即可确定的行为,如创建进程等;
组合行为:由多种系统调用共同确定的行为,如进程注入(需要创建进程、提升权限、内存映射等操作共同确定)等。
2)行为分析流程:
步骤1:提取预处理模块发送过来的信息中的访问信息为待测操作信息;
步骤2:在步骤1中如果该待测操作信息可以匹配到病毒特征库中的操作信息,那么计算相应的权值进行处理(权值越高代表危险程度越大,权值的计算不仅取决于病毒特征库中匹配的操作信息的权值,还要根据当前进程的拥有者(待测文件所在系统当前的用户)做判定,也就是说同一种行为的拥有者不同权值也不同,例如:如果是管理员用户,权值则为5;如果是普通用户,权值则为6;如果是可疑用户,则权值为8),然后继续步骤1;
步骤3:如果步骤1中该待测操作信息无法匹配到病毒特征库中的操作信息,那么记录当前待测操作信息的状态为未确定状态,并联合所有未确定状态的待测操作信息进行组合判定,如果组合判定可以确定该待测操作信息匹配的操作信息,那么根据相应的权值进行处理并将行为状态标记为确定状态,然后继续步骤1;如果确定不了,保持当前状态,继续步骤1。
4、预处理模块
预处理模块的主要功能是将监控模块传递过来的访问信息进行数据格式化及标准化处理:
1)数据格式化:将访问信息的数据格式转换为json格式(JavaScript ObjectNotation,JS对象简谱,其是一种轻量级的数据交换格式);
2)标准化处理:主要记录进程信息、文件静态信息、API调用信息;其中,进程信息可以记录进程的创建时间、子进程号和父进程号,文件静态信息(文件静态特征)可以记录文件的md5、sha1、sha256、文件名、文件路径、文件大小和文件类型,API调用信息可以包括API名称、参数名、参数值、API 调用时间及返回值等信息。
本发明实施例提供的一种病毒检测方法,确定待测文件存在病毒之后,还可以包括:
发出与待测文件存在病毒对应的告警信息。
在确定出待测文件存在病毒之后,可以将待测文件进行通告,给出待测文件存在病毒的提示,从而通过这种方式发出待测文件存在病毒的告警信息,从而使得相应工作人员可以通过告警信息获知待测文件存在病毒的信息,进而实现相应的删除等消除病毒的操作,保证了系统安全性。
本申请公开的上述技术方案将静态检测与动态检测相结合,静态检测中文件静态特征检测及文件相似特征检测相结合,在静态检测的文件相似特征检测时基于simhash算法实现文件快速匹配算法,并且从内核态抓取进程行为进行判定以及增加进程所属用户的判定;通过这种文本特征检测和监控内核 API调用相结合的方法,可以明显提高PE等病毒检测时的准确率,降低误报率。
本发明实施例还提供了一种病毒检测装置,如图3所示,可以包括:
静态检测模块11,用于:获取待测文件,计算待测文件的文件特征得到待测特征值,将待测特征值与预设的病毒特征库中各特征值进行比对,如果病毒特征库中存在与待测特征值匹配的特征值,则确定待测文件存在病毒,否则,监控待测文件在内核空间的操作得到待测操作信息;
动态检测模块12,用于:将待测操作信息与预设的病毒行为库中各操作信息进行比对,如果病毒行为库中存在与待测操作信息匹配的操作信息,则确定待测文件存在病毒,否则,确定待测文件不存在病毒。
本发明实施例提供的一种病毒检测装置,静态检测模块可以包括:
静态检测单元,用于:计算待测文件的文件静态特征得到第一待测特征值,将第一待测特征值与预设的病毒特征库中各特征值进行比对,如果病毒特征库中存在与第一待测特征值相同的特征值,则确定待测文件存在病毒,否则,计算待测文件的文件相似特征得到第二待测特征值;将第二待测特征值与病毒特征库中各特征值进行比对,如果病毒特征库中存在与第二待测特征值的匹配度大于匹配度阈值的特征值,则确定待测文件存在病毒,否则,执行监控待测文件在内核空间的操作得到待测操作信息的步骤;其中,病毒特征库中的特征值包括文件静态特征值及文件相似特征值。
本发明实施例提供的一种病毒检测装置,静态检测单元可以包括:
静态检测子单元,用于:将第二待测特征值切片得到相应数量的待测数据块,在病毒数据库中对每个待测数据块进行查找;如果查找的结果为每个待测数据块对应的海明距离的总和不大于对应距离阈值,则确定病毒特征库中存在与第二待测特征值的匹配度大于匹配度阈值的特征值;其中,第二待测特征值为simhash值。
本发明实施例提供的一种病毒检测装置,还可以包括:
系数确定模块,用于:确定病毒行为库中存在与待测操作信息匹配的操作信息之后,确定待测操作信息匹配的操作信息的权值为第一权值,确定待测文件所在系统当前的用户的权值为第二权值,将第一权值及第二权值加和计算得到待测文件的危险系数,如果该危险系数大于危险系数阈值,则执行确定待测文件存在病毒的步骤,否则,确定待测文件不存在病毒。
本发明实施例提供的一种病毒检测装置,还可以包括:
组合模块,用于:确定病毒行为库中不存在与待测操作信息匹配的操作信息之后,将与待测文件对应的不存在匹配的操作信息的全部待测操作信息,按照预设原则对待测操作信息中包含的各项子信息进行组合,并确定组合得到的每组子信息均为待测操作信息,返回执行将待测操作信息与预设的病毒行为库中各操作信息进行比对的步骤。
本发明实施例提供的一种病毒检测装置,静态检测模块可以包括:
监控单元,用于:监控到待测文件通过系统调用进入内核空间时,指示系统调用记录此次的访问信息并添加到消息队列中,由消息队列中获取访问信息,对访问信息进行数据标准化,得到待测操作信息;其中,访问信息包括被调用的API的API信息及该API被调用后实现的行为的行为信息。
本发明实施例提供的一种病毒检测装置,还可以包括:
告警模块,用于:确定待测文件存在病毒之后,发出与待测文件存在病毒对应的告警信息。
本发明实施例还提供了一种病毒检测设备,可以包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上任一项病毒检测方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现如上任一项病毒检测方法的步骤。
需要说明的是,本发明实施例提供的一种病毒检测装置、设备及计算机可读存储介质中相关部分的说明请参见本发明实施例提供的一种病毒检测方法中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种病毒检测方法,其特征在于,包括:
获取待测文件,计算所述待测文件的文件特征得到待测特征值,将所述待测特征值与预设的病毒特征库中各特征值进行比对,如果所述病毒特征库中存在与所述待测特征值匹配的特征值,则确定所述待测文件存在病毒,否则,监控所述待测文件在内核空间的操作得到待测操作信息;
将所述待测操作信息与预设的病毒行为库中各操作信息进行比对,如果所述病毒行为库中存在与所述待测操作信息匹配的操作信息,则确定所述待测文件存在病毒,否则,确定所述待测文件不存在病毒;
所述病毒特征库中的特征值包括文件静态特征值及文件相似特征值;计算得到所述待测特征值,将所述待测特征值与所述病毒特征库中各特征值进行比对,包括:
计算所述待测文件的文件静态特征得到第一待测特征值,将所述第一待测特征值与预设的病毒特征库中各特征值进行比对,如果所述病毒特征库中存在与所述第一待测特征值相同的特征值,则确定所述待测文件存在病毒,否则,计算所述待测文件的文件相似特征得到第二待测特征值;
将所述第二待测特征值与所述病毒特征库中各特征值进行比对,如果所述病毒特征库中存在与所述第二待测特征值的匹配度大于匹配度阈值的特征值,则确定所述待测文件存在病毒,否则,执行所述监控所述待测文件在内核空间的操作得到待测操作信息的步骤;
将所述第二待测特征值与所述病毒特征库中各特征值进行比对,包括:
将所述第二待测特征值切片得到相应数量的待测数据块,在所述病毒特征库中对每个所述待测数据块进行查找;所述第二待测特征值为simhash值;
如果查找的结果为每个所述待测数据块对应的海明距离的总和不大于对应距离阈值,则确定所述病毒特征库中存在与所述第二待测特征值的匹配度大于匹配度阈值的特征值;
确定所述病毒行为库中存在与所述待测操作信息匹配的操作信息之后,还包括:
确定所述待测操作信息匹配的操作信息的权值为第一权值,确定所述待测文件所在系统当前的用户的权值为第二权值,将所述第一权值及所述第二权值加和计算得到所述待测文件的危险系数,如果该危险系数大于危险系数阈值,则执行所述确定所述待测文件存在病毒的步骤,否则,确定所述待测文件不存在病毒;
确定所述病毒行为库中不存在与所述待测操作信息匹配的操作信息之后,还包括:
将与所述待测文件对应的不存在匹配的操作信息的全部待测操作信息,按照预设原则对所述待测操作信息中包含的各项子信息进行组合,并确定组合得到的每组子信息均为待测操作信息,返回执行将所述待测操作信息与预设的病毒行为库中各操作信息进行比对的步骤;
将所述病毒特征库中各特征值均切片为与所述待测数据块包含的位数的数量相同数量的位数的特征值后,实现与各所述待测数据块的比对;
所述病毒行为库中包含的操作信息均具有对应的权值,所述权值越高,表示所述权值对应的操作信息表示文件包含病毒的可能性越大。
2.根据权利要求1所述的方法,其特征在于,监控所述待测文件在内核空间的操作得到待测操作信息,包括:
监控到所述待测文件通过系统调用进入内核空间时,指示所述系统调用记录此次的访问信息并添加到消息队列中,由所述消息队列中获取访问信息,对所述访问信息进行数据标准化,得到待测操作信息;其中,所述访问信息包括被调用的API信息及该API被调用后实现的行为信息。
3.根据权利要求1所述的方法,其特征在于,确定所述待测文件存在病毒之后,还包括:
发出与所述待测文件存在病毒对应的告警信息。
4.一种病毒检测装置,其特征在于,包括:
静态检测模块,用于:获取待测文件,计算所述待测文件的文件特征得到待测特征值,将所述待测特征值与预设的病毒特征库中各特征值进行比对,如果所述病毒特征库中存在与所述待测特征值匹配的特征值,则确定所述待测文件存在病毒,否则,监控所述待测文件在内核空间的操作得到待测操作信息;
动态检测模块,用于:将所述待测操作信息与预设的病毒行为库中各操作信息进行比对,如果所述病毒行为库中存在与所述待测操作信息匹配的操作信息,则确定所述待测文件存在病毒,否则,确定所述待测文件不存在病毒;
所述病毒特征库中的特征值包括文件静态特征值及文件相似特征值;
所述静态检测模块具体用于,获取待测文件,计算所述待测文件的文件静态特征得到第一待测特征值,将所述第一待测特征值与预设的病毒特征库中各特征值进行比对,如果所述病毒特征库中存在与所述第一待测特征值相同的特征值,则确定所述待测文件存在病毒,否则,计算所述待测文件的文件相似特征得到第二待测特征值;
将所述第二待测特征值切片得到相应数量的待测数据块,在所述病毒特征库中对每个所述待测数据块进行查找;所述第二待测特征值为simhash值;
如果查找的结果为每个所述待测数据块对应的海明距离的总和不大于对应距离阈值,则确定所述病毒特征库中存在与所述第二待测特征值的匹配度大于匹配度阈值的特征值;
如果所述病毒特征库中存在与所述第二待测特征值的匹配度大于匹配度阈值的特征值,则确定所述待测文件存在病毒,否则,执行所述监控所述待测文件在内核空间的操作得到待测操作信息的步骤;
如果所述病毒特征库中存在与所述待测特征值匹配的特征值,则确定所述待测文件存在病毒,否则,监控所述待测文件在内核空间的操作得到待测操作信息;
将所述病毒特征库中各特征值均切片为与所述待测数据块包含的位数的数量相同数量的位数的特征值后,实现与各所述待测数据块的比对;
所述动态检测模块还用于,确定所述待测操作信息匹配的操作信息的权值为第一权值,确定所述待测文件所在系统当前的用户的权值为第二权值,将所述第一权值及所述第二权值加和计算得到所述待测文件的危险系数,如果该危险系数大于危险系数阈值,则执行所述确定所述待测文件存在病毒的步骤,否则,确定所述待测文件不存在病毒;
所述病毒行为库中包含的操作信息均具有对应的权值,所述权值越高,表示所述权值对应的操作信息表示文件包含病毒的可能性越大;
所述动态检测模块还用于,将与所述待测文件对应的不存在匹配的操作信息的全部待测操作信息,按照预设原则对所述待测操作信息中包含的各项子信息进行组合,并确定组合得到的每组子信息均为待测操作信息,返回执行将所述待测操作信息与预设的病毒行为库中各操作信息进行比对的步骤。
5.一种病毒检测设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述病毒检测方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述病毒检测方法的步骤。
CN202010442645.6A 2020-05-22 2020-05-22 一种病毒检测方法、装置、设备及存储介质 Active CN111625825B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010442645.6A CN111625825B (zh) 2020-05-22 2020-05-22 一种病毒检测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010442645.6A CN111625825B (zh) 2020-05-22 2020-05-22 一种病毒检测方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111625825A CN111625825A (zh) 2020-09-04
CN111625825B true CN111625825B (zh) 2022-07-08

Family

ID=72271088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010442645.6A Active CN111625825B (zh) 2020-05-22 2020-05-22 一种病毒检测方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111625825B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722712A (zh) * 2021-09-06 2021-11-30 杭州安恒信息技术股份有限公司 一种基于hook的程序恶意行为的检测方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104700033A (zh) * 2015-03-30 2015-06-10 北京瑞星信息技术有限公司 病毒检测的方法及装置
CN108334781A (zh) * 2018-03-07 2018-07-27 腾讯科技(深圳)有限公司 病毒检测方法、装置、计算机可读存储介质和计算机设备
CN111090861A (zh) * 2019-12-24 2020-05-01 深信服科技股份有限公司 一种病毒检测方法、装置及电子设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104700033A (zh) * 2015-03-30 2015-06-10 北京瑞星信息技术有限公司 病毒检测的方法及装置
CN108334781A (zh) * 2018-03-07 2018-07-27 腾讯科技(深圳)有限公司 病毒检测方法、装置、计算机可读存储介质和计算机设备
CN111090861A (zh) * 2019-12-24 2020-05-01 深信服科技股份有限公司 一种病毒检测方法、装置及电子设备和存储介质

Also Published As

Publication number Publication date
CN111625825A (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
US10599851B2 (en) Malicious code analysis method and system, data processing apparatus, and electronic apparatus
CN112866023B (zh) 网络检测、模型训练方法、装置、设备及存储介质
CN109344611B (zh) 应用的访问控制方法、终端设备及介质
CN108718306B (zh) 一种异常流量行为判别方法和装置
CN112738107B (zh) 一种网络安全的评价方法、装置、设备及存储介质
CN113051573B (zh) 一种基于大数据的主机安全实时监控警报系统
CN112131249A (zh) 一种攻击意图识别方法及装置
CN114760106A (zh) 网络攻击的确定方法、系统、电子设备及存储介质
CN113965419B (zh) 一种通过反连判定攻击成功的方法及装置
CN108156127B (zh) 网络攻击模式的判断装置、判断方法及其计算机可读取储存媒体
CN111625825B (zh) 一种病毒检测方法、装置、设备及存储介质
CN113378161A (zh) 一种安全检测方法、装置、设备及存储介质
US20120260339A1 (en) Imposter Prediction Using Historical Interaction Patterns
CN111414621A (zh) 一种恶意网页文件识别方法及装置
CN114398887A (zh) 一种文本分类方法、装置及电子设备
CN114186278A (zh) 数据库异常操作识别方法、装置与电子设备
CN112989793B (zh) 文章检测方法及装置
CN116305122B (zh) 一种针对rootkit的检测方法及系统
CN113596051B (zh) 检测方法、检测装置、电子设备、介质和计算机程序
CN115221857B (zh) 一种含数值类型的数据相似性检测方法及装置
AU2020424477B2 (en) Feature equivalence and document abnormality threshold determination
CN114006775B (zh) 一种入侵事件的检测方法及装置
CN116938600B (zh) 威胁事件的分析方法、电子设备及存储介质
CN113949621B (zh) 入侵事件的告警关联方法、装置、电子设备及存储介质
CN112261006B (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
GR01 Patent grant
GR01 Patent grant