CN106101086A - 程序文件的云检测方法及系统、客户端、云端服务器 - Google Patents

程序文件的云检测方法及系统、客户端、云端服务器 Download PDF

Info

Publication number
CN106101086A
CN106101086A CN201610384454.2A CN201610384454A CN106101086A CN 106101086 A CN106101086 A CN 106101086A CN 201610384454 A CN201610384454 A CN 201610384454A CN 106101086 A CN106101086 A CN 106101086A
Authority
CN
China
Prior art keywords
feature
program file
fisrt feature
cloud server
file
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
Application number
CN201610384454.2A
Other languages
English (en)
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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201610384454.2A priority Critical patent/CN106101086A/zh
Publication of CN106101086A publication Critical patent/CN106101086A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种程序文件的云检测方法及系统、客户端、云端服务器。其中,方法包括:提取本地程序文件的第一特征,所述第一特征是根据所述本地程序文件的字符串特征所生成的二进制数据特征;将所述第一特征上报到云端服务器,以供所述云端服务器根据所述第一特征确定所述本地程序文件是否为恶意程序文件;接收所述云端服务器反馈的检测结果。与现有技术相比,云端服务器的性能更高,处理速度更快,满足实时查杀的需求;而且,云端服务器能及时更新包含病毒特征的黑名单,提高了恶意文件检测的准确性。

Description

程序文件的云检测方法及系统、客户端、云端服务器
技术领域
本发明涉及计算机技术领域,具体涉及一种程序文件的云检测方法及系统、客户端、云端服务器。
背景技术
恶意程序通常是指带有攻击意图的一段程序,属于病毒的一种,是编制者在计算机程序中插入破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。
传统杀毒引擎的常用方式,根据已经发现的病毒的样本,如果有壳,需要先脱壳,然后有专业人员抽取特征码,并入病毒特征库。杀毒时,用病毒库中的标本去对照机器中的所有程序或文件,看是不是符合这些标本,是则是病毒,否则就不一定是病毒。这种传统的杀毒引擎的检测方案一般是在客户端本地进行检测,一方面,客户端本地的处理速度较慢,无法满足实时查杀的需求;另一方面,客户端本地需要定时更新病毒特征库,一旦不能及时更新,则无法保证查杀的准确性。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的程序文件的云检测方法及系统、客户端、云端服务器。
根据本发明的一个方面,提供了一种程序文件的云检测方法,包括:
提取本地程序文件的第一特征,所述第一特征是根据所述本地程序文件的字符串特征所生成的二进制数据特征;
将所述第一特征上报到云端服务器,以供所述云端服务器根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
接收所述云端服务器反馈的检测结果。
根据本发明的另一方面,提供了一种程序文件的云检测方法,包括:
接收客户端上报的本地程序文件的第一特征,所述第一特征是所述客户端根据本地程序文件的字符串特征所生成的二进制数据特征;
根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
向客户端反馈检测结果。
根据本发明的另一方面,提供了一种客户端,包括:
特征提取模块,适于提取本地程序文件的第一特征,所述第一特征是根据所述本地程序文件的字符串特征所生成的二进制数据特征;
第一发送模块,适于将所述第一特征上报到云端服务器,以供所述云端服务器根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
第一接收模块,适于接收所述云端服务器反馈的检测结果。
根据本发明的另一方面,提供了一种云端服务器,包括:
第二接收模块,适于接收客户端上报的本地程序文件的第一特征,所述第一特征是所述客户端根据本地程序文件的字符串特征所生成的二进制数据特征;
处理模块,适于根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
第二发送模块,适于向客户端反馈检测结果。
根据本发明的另一方面,提供了一种程序文件的云检测系统,包括所述的客户端以及所述的云端服务器。
根据本发明提供的程序文件的云检测方法及系统、客户端、云端服务器,客户端将提取的本地程序文件的第一特征上报给云端服务器,由云端服务器来进行检测,客户端接收到检测结果后进行处理。与现有技术相比,云端服务器的性能更高,处理速度更快,满足实时查杀的需求;而且,云端服务器能及时更新包含病毒特征的黑名单,提高了恶意文件检测的准确性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例一提供的程序文件的云检测方法的流程图;
图2示出了本发明实施例二提供的程序文件的云检测方法的流程图;
图3示出了本发明实施例三提供的程序文件的云检测方法的流程图;
图4示出了本发明实施例四提供的程序文件的云检测方法的流程图;
图5示出了本发明实施例五提供的客户端的功能框图;
图6示出了本发明实施例六提供的云端服务器的功能框图;
图7示出了本发明实施例七提供的程序文件的云检测系统的功能框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
图1示出了本发明实施例一提供的程序文件的云检测方法的流程图。本实施例为客户端侧的执行方法,如图1所示,该方法包括如下步骤:
步骤S101,提取本地程序文件的第一特征,其中第一特征是根据本地程序文件的字符串特征所生成的二进制数据特征。
本发明实施例中,客户端是在计算机终端设备或其它类型终端设备上安装的用于防止恶意程序攻击的杀毒程序或软件。对于新安装的或者其它需要检测的本地程序文件,客户端首先提取该本地程序文件的第一特征。其中第一特征是根据本地程序文件的字符串特征所生成的二进制数据特征。
具体地,客户端提取本地程序文件中的常量信息,根据常量信息生成字符串特征;然后,根据字符串特征生成二进制数据特征。通常,本地程序文件的代码结构中具有单独的常量区域,存储本地程序文件所用到的常量信息,包括:调用函数名称、字符串信息以及数值常量等。客户端提取这些常量信息,将其转换为字符串特征。
可选地,本发明实施例预先提供了一种标注有字符串的字典,该字典里记录了指定字符串对应的二进制数据,0或1。客户端利用字典查询字符串特征中每个字符串对应的二进制数据,得到二进制数据集合,即为二进制数据特征。
或者,预先设定一布隆过滤器,将字符串特征输入到布隆过滤器中,其中布隆过滤器的容量可根据字符串特征的字符串个数进行设定。例如,字符串个数为4000个,则设定布隆过滤器的容量为4000,根据布隆过滤器的算法,计算每个字符串对应的二进制数据,最终得到长度为4000的二进制数据特征。
上述第一特征具体为本地程序文件中非PE文件(Portable Executable,可移植的可执行文件)的特征。即所提取的第一特征针对于非PE文件,使得本发明实施例主要针对于检测非PE文件为恶意文件的情况。
步骤S102,将第一特征上报到云端服务器,以供云端服务器根据第一特征确定本地程序文件是否为恶意程序文件。
本实施例的方案为云检测方案,客户端将第一特征上报给云端服务器,由云端服务器进行检测,得到本地程序文件是否为恶意程序文件的检测结果。
步骤S103,接收云端服务器反馈的检测结果。
客户端接收到检测结果,若确定为恶意程序文件,则对该恶意程序文件进行杀毒处理。
实施例二
图2示出了本发明实施例二提供的程序文件的云检测方法的流程图。本实施例为云端服务器侧的执行方法,与实施例一相对应。如图2所示,该方法包括如下步骤:
步骤S201,接收客户端上报的本地程序文件的第一特征,第一特征是客户端根据本地程序文件的字符串特征所生成的二进制数据特征。
客户端提取第一特征的具体描述可参见实施例一。第一特征是本地程序文件中非PE文件的特征。
步骤S202,根据第一特征确定本地程序文件是否为恶意程序文件。
本发明实施例中,云端服务器预先根据病毒特征训练得到了黑名单,黑名单中记录有病毒样本的特征,该特征也为二进制数据特征。云端服务器在接收到客户端上报的第一特征后,计算第一特征与黑名单中记录的特征的相似度;若相似度大于预设阈值,则确定本地程序文件为恶意程序文件。针对非PE文件,可确定本地程序文件中的非PE文件是否为恶意程序文件。
具体地,计算第一特征与黑名单中记录的所有特征之间的汉明距离,以此汉明距离表征特征之间的相似度。如果第一特征与黑名单中任一特征之间的汉明距离大于预设阈值,则表明特征相似度很高,本地程序文件为恶意程序文件的风险很高,检测结果为恶意程序文件。
步骤S203,向客户端反馈检测结果。
云端服务器将检测结果反馈给客户端,客户端可根据检测结果进行后续处理。
进一步的,在步骤S202之前,本实施例还可包括:使用云查杀引擎对本地程序文件进行检测。该云查杀引擎为现有的杀毒引擎。本方法可先使用现有的云查杀引擎进行检测,若检测结果为恶意程序文件,则直接将检测结果反馈给客户端;若检测结果为非恶意程序文件,则使用步骤S202提供的检测方法进一步检测。这样做的目的是,使用多种检测方案进行云端检测,提高云端检测的准确率,防止误报。
根据本发明上述实施例提供的程序文件的云检测方法,将提取的本地程序文件的第一特征上报给云端服务器,由云端服务器来进行检测,客户端接收到检测结果后进行处理。与现有技术相比,云端服务器的性能更高,处理速度更快,满足实时查杀的需求;而且,云端服务器能及时更新包含病毒特征的黑名单,提高了恶意文件检测的准确性。
实施例三
图3示出了本发明实施例三提供的程序文件的云检测方法的流程图。本实施例为客户端侧的执行方法,如图3所示,该方法包括如下步骤:
步骤S301,提取本地程序文件的第一特征,其中第一特征是根据本地程序文件的字符串特征所生成的二进制数据特征。
本发明实施例中,客户端是在计算机终端设备或其它类型终端设备上安装的用于防止恶意程序攻击的杀毒程序或软件。对于新安装的或者其它需要检测的本地程序文件,客户端首先提取该本地程序文件的第一特征。其中第一特征是根据本地程序文件的字符串特征所生成的二进制数据特征。
具体地,客户端提取本地程序文件中的常量信息,根据常量信息生成字符串特征;然后,根据字符串特征生成二进制数据特征。通常,本地程序文件的代码结构中具有单独的常量区域,存储本地程序文件所用到的常量信息,包括:调用函数名称、字符串信息以及数值常量等。客户端提取这些常量信息,将其转换为字符串特征。
可选地,本发明实施例预先提供了一种标注有字符串的字典,该字典里记录了指定字符串对应的二进制数据,0或1。客户端利用字典查询字符串特征中每个字符串对应的二进制数据,得到二进制数据集合,即为二进制数据特征。
或者,预先设定一布隆过滤器,将字符串特征输入到布隆过滤器中,其中布隆过滤器的容量可根据字符串特征的字符串个数进行设定。例如,字符串个数为4000个,则设定布隆过滤器的容量为4000,根据布隆过滤器的算法,计算每个字符串对应的二进制数据,最终得到长度为4000的二进制数据特征。
上述第一特征具体为本地程序文件中非PE文件(Portable Executable,可移植的可执行文件)的特征。即所提取的第一特征针对于非PE文件,使得本发明实施例可检测非PE文件为恶意文件的情况。
步骤S302,提取本地程序文件的第二特征,其中第二特征为类行为特征,所述类行为特征包括导入表库特征和导入表应用程序编程接口API特征。
为了进一步提高检测的全面性,客户端还需提取本地程序文件的第二特征,该第二特征是本地程序文件中PE文件的特征。
具体地,分析本地程序文件,从程序文件中抽取类行为特征,根据所抽取的类行为特征生成对应的特征向量。所述类行为特征包括导入表库特征和导入表应用程序编程接口API特征。其中导入表库特征又包括网络类特征、高级WIN32应用程序接口类特征、系统内核类特征、操作系统用户界面相关应用程序接口类特征、操作系统应用程序共用图像用户界面模块类特征、操作系统硬件提取层模块类特征、虚拟机相关模块类特征、标准C运行库程序类特征、对象链接和嵌入相关模块类特征、操作系统进程状态支持模块类特征、操作系统32位外壳动态链接库文件类特征、地址动态链接库文件类特征;导入表API特征为从导入表库中选取的函数特征。
步骤S303,将第一特征和第二特征拼接在一起。
例如,将上述第二特征拼接到第一特征的后面,第二特征与第一特征之间利用预设分隔符进行分隔。
步骤S304,将拼接在一起的第一特征和第二特征上报到云端服务器,以供云端服务器根据第一特征和第二特征确定本地程序文件是否为恶意程序文件。
本实施例的方案为云检测方案,客户端将第一特征和第二特征上报给云端服务器,由云端服务器进行检测,得到本地程序文件是否为恶意程序文件的检测结果。
步骤S305,接收云端服务器反馈的检测结果。
客户端接收到检测结果,若确定为恶意程序文件,则对该恶意程序文件进行杀毒处理。
实施例四
图4示出了本发明实施例四提供的程序文件的云检测方法的流程图。本实施例为云端服务器侧的执行方法,与实施例三相对应。如图4所示,该方法包括如下步骤:
步骤S401,接收所述客户端上报的拼接在一起的第一特征和第二特征。
客户端提取第一特征和第二特征的具体描述可参见实施例三。第一特征是本地程序文件中非PE文件的特征,第二特征是本地程序文件中PE文件的特征。
步骤S402,根据第一特征和第二特征确定本地程序文件是否为恶意程序文件。
由于客户端上报了两类特征,而且这两类特征对应于不同类型的文件,云端服务器在进行检测时,如果发现这两类特征中的任一类属于病毒特征,则确定本地程序文件为恶意程序文件。
对于第一特征,云端服务器预先根据病毒特征训练得到了黑名单,黑名单中记录有病毒样本的特征,该特征也为二进制数据特征。云端服务器在接收到客户端上报的第一特征后,计算第一特征与黑名单中记录的特征的相似度;若相似度大于预设阈值,则确定本地程序文件为恶意程序文件。针对非PE文件,可确定本地程序文件中的非PE文件是否为恶意程序文件。
对于第二特征,根据所提取的类行为特征对本地程序文件进行分类;根据分类的结果,将本地程序文件输入已生成的训练模型及相应的决策机中进行判断,得到本地程序文件的检测结果,检测结果为恶意程序文件或非恶意程序文件。可以据分类的结果,将本地程序文件中的PE文件分别输入多个已生成的训练模型及相应的决策机中进行判断,根据预先设置的每种特征分类在每个训练模型中的权重,将每个训练模型及相应的决策机对PE文件进行判断的结果进行加权计算。根据加权计算的结果输出对PE文件的识别结果,该识别结果为恶意程序或非恶意程序。
具体地说,根据特征分类的不同包含了k个决策机,以及对应k个决策机的k个训练模型。在根据分类的结果,使用不同的决策机和训练模型进行相应的判断时,可以先将所有类行为特征的初始黑白属性值为0,从位置程序中提取类行为特征后,对这些类行为特征进行归一化处理,并在建立的HASH表中查找,如果找到相应特征,则将其黑白属性值从0置为1,否则不进行处理。假设决策机一共有k个,分类一共有m种,分别为分类1,2,…,m,第i种分类预先设定的权重是(wi1,wi2,…,wik),则相应的样本类别i的决策机判别的结果是(ri1,ri2,…,rik),由此得到的综合结果为(wi1,wi2,…,wik)*(ri1,ri2,…,rik)。可以预先设置一个结果判断阈值,当判断结果小于该阈值则确定PE文件为非恶意程序文件,当判断结果大于该阈值,则确定PE文件为恶意程序文件。
步骤S403,向客户端反馈检测结果。
云端服务器将检测结果反馈给客户端,客户端可根据检测结果进行后续处理。
进一步的,在步骤S402之前,本实施例还可包括:使用云查杀引擎对本地程序文件进行检测。该云查杀引擎为现有的杀毒引擎。本方法可先使用现有的云查杀引擎进行检测,若检测结果为恶意程序文件,则直接将检测结果反馈给客户端;若检测结果为非恶意程序文件,则使用步骤S402提供的检测方法进一步检测。这样做的目的是,使用多种检测方案进行云端检测,提高云端检测的准确率,防止误报。
根据本发明上述实施例提供的程序文件的云检测方法,将提取的本地程序文件的第一特征和第二特征上报给云端服务器,由云端服务器来进行检测,客户端接收到检测结果后进行处理。与现有技术相比,云端服务器的性能更高,处理速度更快,满足实时查杀的需求;而且,云端服务器能及时更新包含病毒特征的黑名单,提高了恶意文件检测的准确性。进一步的,由于第一特征是针对于非PE文件提取的特征,第二特征是针对于PE文件提取的特征,通过将第一特征和第二特征同时上报进行检测,即可检测非PE文件中的病毒,也可检测PE文件中的病毒,提升了检测的全面性。
实施例五
图5示出了本发明实施例五提供的客户端的功能框图。如图5所示,该客户端包括:特征提取模块501,第一发送模块502以及第一接收模块503。
特征提取模块501,适于提取本地程序文件的第一特征,所述第一特征是根据所述本地程序文件的字符串特征所生成的二进制数据特征。
具体地,特征提取模块501进一步适于:提取本地程序文件中的常量信息,根据常量信息生成字符串特征;然后,根据字符串特征生成二进制数据特征。通常,本地程序文件的代码结构中具有单独的常量区域,存储本地程序文件所用到的常量信息,包括:调用函数名称、字符串信息以及数值常量等。特征提取模块501提取这些常量信息,将其转换为字符串特征。
可选地,客户端预先提供了一种标注有字符串的字典,该字典里记录了指定字符串对应的二进制数据,0或1。特征提取模块501利用字典查询字符串特征中每个字符串对应的二进制数据,得到二进制数据集合,即为二进制数据特征。
或者,预先设定一布隆过滤器,特征提取模块501将字符串特征输入到布隆过滤器中,其中布隆过滤器的容量可根据字符串特征的字符串个数进行设定。例如,字符串个数为4000个,则设定布隆过滤器的容量为4000,根据布隆过滤器的算法,计算每个字符串对应的二进制数据,最终得到长度为4000的二进制数据特征。
上述第一特征具体为本地程序文件中非PE文件的特征。即所提取的第一特征针对于非PE文件,使得本发明实施例主要针对于检测非PE文件为恶意文件的情况。
第一发送模块502,适于将所述第一特征上报到云端服务器,以供所述云端服务器根据所述第一特征确定所述本地程序文件是否为恶意程序文件。
第一接收模块503,适于接收所述云端服务器反馈的检测结果。
进一步的,特征提取模块501还适于:提取本地程序文件的第二特征;以及将所述第一特征和所述第二特征拼接在一起;第一发送模块502进一步适于:将拼接在一起的第一特征和第二特征上报到云端服务器,以供所述云端服务器根据所述第一特征和所述第二特征确定所述本地程序文件是否为恶意程序文件。
为了进一步提高检测的全面性,特征提取模块501还需提取本地程序文件的第二特征,该第二特征是本地程序文件中PE文件的特征。
具体地,特征提取模块501分析本地程序文件,从程序文件中抽取类行为特征,根据所抽取的类行为特征生成对应的特征向量。所述类行为特征包括导入表库特征和导入表应用程序编程接口API特征。其中导入表库特征又包括网络类特征、高级WIN32应用程序接口类特征、系统内核类特征、操作系统用户界面相关应用程序接口类特征、操作系统应用程序共用图像用户界面模块类特征、操作系统硬件提取层模块类特征、虚拟机相关模块类特征、标准C运行库程序类特征、对象链接和嵌入相关模块类特征、操作系统进程状态支持模块类特征、操作系统32位外壳动态链接库文件类特征、地址动态链接库文件类特征;导入表API特征为从导入表库中选取的函数特征。
实施例六
图6示出了本发明实施例六提供的云端服务器的功能框图。如图6所示,该云端服务器包括:第二接收模块601,处理模块602以及第二发送模块603。
第二接收模块601,适于接收客户端上报的本地程序文件的第一特征,所述第一特征是所述客户端根据本地程序文件的字符串特征所生成的二进制数据特征。
处理模块602,适于根据所述第一特征确定所述本地程序文件是否为恶意程序文件。
本发明实施例中,云端服务器预先根据病毒特征训练得到了黑名单,黑名单中记录有病毒样本的特征,该特征也为二进制数据特征。云端服务器在接收到客户端上报的第一特征后,处理模块602计算第一特征与黑名单中记录的特征的相似度;若相似度大于预设阈值,则确定本地程序文件为恶意程序文件。针对非PE文件,可确定本地程序文件中的非PE文件是否为恶意程序文件。
具体地,处理模块602计算第一特征与黑名单中记录的所有特征之间的汉明距离,以此汉明距离表征特征之间的相似度。如果第一特征与黑名单中任一特征之间的汉明距离大于预设阈值,则表明特征相似度很高,本地程序文件为恶意程序文件的风险很高,检测结果为恶意程序文件。
第二发送模块603,适于向客户端反馈检测结果。
第二接收模块601进一步适于:接收所述客户端上报的拼接在一起的第一特征和第二特征;所述第二特征为所述本地程序文件中的类行为特征,所述类行为特征包括导入表库特征和导入表应用程序编程接口API特征;
处理模块602进一步适于:根据所述第一特征和所述第二特征确定所述本地程序文件是否为恶意程序文件。
由于客户端上报了两类特征,而且这两类特征对应于不同类型的文件,云端服务器在进行检测时,如果发现这两类特征中的任一类属于病毒特征,则确定本地程序文件为恶意程序文件。
对于第一特征,云端服务器预先根据病毒特征训练得到了黑名单,黑名单中记录有病毒样本的特征,该特征也为二进制数据特征。在接收到客户端上报的第一特征后,处理模块602适于:计算第一特征与黑名单中记录的特征的相似度;若相似度大于预设阈值,则确定本地程序文件为恶意程序文件。针对非PE文件,可确定本地程序文件中的非PE文件是否为恶意程序文件。
对于第二特征,处理模块602适于:根据所提取的类行为特征对本地程序文件进行分类;根据分类的结果,将本地程序文件输入已生成的训练模型及相应的决策机中进行判断,得到本地程序文件的检测结果,检测结果为恶意程序文件或非恶意程序文件。可以据分类的结果,将本地程序文件中的PE文件分别输入多个已生成的训练模型及相应的决策机中进行判断,根据预先设置的每种特征分类在每个训练模型中的权重,将每个训练模型及相应的决策机对PE文件进行判断的结果进行加权计算。根据加权计算的结果输出对PE文件的识别结果,该识别结果为恶意程序或非恶意程序。
具体地说,根据特征分类的不同包含了k个决策机,以及对应k个决策机的k个训练模型。在根据分类的结果,使用不同的决策机和训练模型进行相应的判断时,可以先将所有类行为特征的初始黑白属性值为0,从位置程序中提取类行为特征后,对这些类行为特征进行归一化处理,并在建立的HASH表中查找,如果找到相应特征,则将其黑白属性值从0置为1,否则不进行处理。假设决策机一共有k个,分类一共有m种,分别为分类1,2,…,m,第i种分类预先设定的权重是(wi1,wi2,…,wik),则相应的样本类别i的决策机判别的结果是(ri1,ri2,…,rik),由此得到的综合结果为(wi1,wi2,…,wik)*(ri1,ri2,…,rik)。可以预先设置一个结果判断阈值,当判断结果小于该阈值则确定PE文件为非恶意程序文件,当判断结果大于该阈值,则确定PE文件为恶意程序文件。
进一步的,云端服务器还包括:云查杀引擎604,适于对本地程序文件进行检测。该云查杀引擎为现有的杀毒引擎。云端服务器可先使用现有的云查杀引擎进行检测,若检测结果为恶意程序文件,则直接将检测结果反馈给客户端;若检测结果为非恶意程序文件,则交由处理模块进一步检测。这样做的目的是,使用多种检测方案进行云端检测,提高云端检测的准确率,防止误报。
实施例七
图7示出了本发明实施例七提供的程序文件的云检测系统的功能框图。如图7所示,该系统包括:客户端701和云端服务器702。其中,客户端701的相关描述可参见实施例五,云端服务器702的相关描述可参见实施例六,在此不再赘述。
根据本发明上述实施例提供的程序文件的云检测系统,客户端将提取的本地程序文件的第一特征上报给云端服务器,由云端服务器来进行检测,客户端接收到检测结果后进行处理。与现有技术相比,云端服务器的性能更高,处理速度更快,满足实时查杀的需求;而且,云端服务器能及时更新包含病毒特征的黑名单,提高了恶意文件检测的准确性。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的程序文件的云检测系统、客户端及云端服务器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:
A1、一种程序文件的云检测方法,包括:
提取本地程序文件的第一特征,所述第一特征是根据所述本地程序文件的字符串特征所生成的二进制数据特征;
将所述第一特征上报到云端服务器,以供所述云端服务器根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
接收所述云端服务器反馈的检测结果。
A2、根据A1所述的方法,所述方法还包括:
提取本地程序文件的第二特征;以及
将所述第一特征和所述第二特征拼接在一起;
所述将第一特征上报到云端服务器,以供所述云端服务器根据所述第一特征确定所述本地程序文件是否为恶意程序文件进一步包括:将拼接在一起的第一特征和第二特征上报到云端服务器,以供所述云端服务器根据所述第一特征和所述第二特征确定所述本地程序文件是否为恶意程序文件。
A3、根据A2所述的方法,所述第一特征是所述本地程序文件中非PE文件的特征;所述第二特征是所述本地程序文件中PE文件的特征。
A4、根据A1所述的方法,所述提取本地程序文件的第一特征进一步包括:
提取所述本地程序文件中的常量信息,根据所述常量信息生成所述字符串特征;
根据所述字符串特征生成二进制数据特征。
A5、根据A4所述的方法,所述常量信息包括以下信息的一项或多项:调用函数名称、字符串信息以及数值常量。
A6、根据A2所述的方法,所述提取本地程序文件的第二特征进一步包括:
提取所述本地程序文件中的类行为特征,所述类行为特征包括导入表库特征和导入表应用程序编程接口API特征。
B7、一种程序文件的云检测方法,包括:
接收客户端上报的本地程序文件的第一特征,所述第一特征是所述客户端根据本地程序文件的字符串特征所生成的二进制数据特征;
根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
向客户端反馈检测结果。
B8、根据B7所述的方法,所述接收客户端上报的本地程序文件的第一特征进一步包括:接收所述客户端上报的拼接在一起的第一特征和第二特征;所述第二特征为所述本地程序文件中的类行为特征,所述类行为特征包括导入表库特征和导入表应用程序编程接口API特征;
所述根据所述第一特征确定所述本地程序文件是否为恶意程序文件进一步包括:根据所述第一特征和所述第二特征确定所述本地程序文件是否为恶意程序文件。
B9、根据B8所述的方法,所述第一特征是所述本地程序文件中非PE文件的特征;所述第二特征是所述本地程序文件中PE文件的特征。
B10、根据B7所述的方法,所述根据所述第一特征确定所述本地程序文件是否为恶意程序文件进一步包括:
计算所述第一特征与黑名单中记录的特征的相似度;
若所述相似度大于预设阈值,则确定所述本地程序文件为恶意程序文件。
B11、根据B8所述的方法,所述根据所述第一特征和所述第二特征确定所述本地程序文件是否为恶意程序文件进一步包括:
计算所述第一特征与黑名单中记录的特征的相似度;若所述相似度大于预设阈值,则确定所述本地程序文件为恶意程序文件;
和/或,根据所提取的类行为特征对所述本地程序文件进行分类;根据分类的结果,将所述本地程序文件输入已生成的训练模型及相应的决策机中进行判断,得到所述本地程序文件的检测结果,所述检测结果为恶意程序文件或非恶意程序文件。
B12、根据B7-B11任一项所述的方法,在所述根据所述第一特征确定所述本地程序文件是否为恶意程序文件之前,所述方法还包括:使用云查杀引擎对所述本地程序文件进行检测。
C13、一种客户端,包括:
特征提取模块,适于提取本地程序文件的第一特征,所述第一特征是根据所述本地程序文件的字符串特征所生成的二进制数据特征;
第一发送模块,适于将所述第一特征上报到云端服务器,以供所述云端服务器根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
第一接收模块,适于接收所述云端服务器反馈的检测结果。
C14、根据C13所述的客户端,所述特征提取模块还适于:提取本地程序文件的第二特征;以及将所述第一特征和所述第二特征拼接在一起;
所述第一发送模块进一步适于:将拼接在一起的第一特征和第二特征上报到云端服务器,以供所述云端服务器根据所述第一特征和所述第二特征确定所述本地程序文件是否为恶意程序文件。
C15、根据C14所述的客户端,所述第一特征是所述本地程序文件中非PE文件的特征;所述第二特征是所述本地程序文件中PE文件的特征。
C16、根据C13所述的客户端,所述特征提取模块进一步适于:
提取所述本地程序文件中的常量信息,根据所述常量信息生成所述字符串特征;
根据所述字符串特征生成二进制数据特征。
C17、根据C16所述的客户端,所述常量信息包括以下信息的一项或多项:调用函数名称、字符串信息以及数值常量。
C18、根据C14所述的客户端,所述特征提取模块进一步适于:提取所述本地程序文件中的类行为特征,所述类行为特征包括导入表库特征和导入表应用程序编程接口API特征。
D19、一种云端服务器,包括:
第二接收模块,适于接收客户端上报的本地程序文件的第一特征,所述第一特征是所述客户端根据本地程序文件的字符串特征所生成的二进制数据特征;
处理模块,适于根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
第二发送模块,适于向客户端反馈检测结果。
D20、根据D19的云端服务器,所述第二接收模块进一步适于:接收所述客户端上报的拼接在一起的第一特征和第二特征;所述第二特征为所述本地程序文件中的类行为特征,所述类行为特征包括导入表库特征和导入表应用程序编程接口API特征;
所述处理模块进一步适于:根据所述第一特征和所述第二特征确定所述本地程序文件是否为恶意程序文件。
D21、根据D20的云端服务器,所述第一特征是所述本地程序文件中非PE文件的特征;所述第二特征是所述本地程序文件中PE文件的特征。
D22、根据D19的云端服务器,所述处理模块进一步适于:
计算所述第一特征与黑名单中记录的特征的相似度;
若所述相似度大于预设阈值,则确定所述本地程序文件为恶意程序文件。
D23、根据D20所述的云端服务器,所述处理模块进一步适于:
计算所述第一特征与黑名单中记录的特征的相似度;若所述相似度大于预设阈值,则确定所述本地程序文件为恶意程序文件;
和/或,根据所提取的类行为特征对所述本地程序文件进行分类;根据分类的结果,将所述本地程序文件输入已生成的训练模型及相应的决策机中进行判断,得到所述本地程序文件的检测结果,所述检测结果为恶意程序文件或非恶意程序文件。
D24、根据D19-D23任一项所述的云端服务器,还包括:云查杀引擎,用于对所述本地程序文件进行检测。
E25、一种程序文件的云检测系统,包括:C13-C18任一项所述的客户端以及D19-D24任一项所述的云端服务器。

Claims (10)

1.一种程序文件的云检测方法,包括:
提取本地程序文件的第一特征,所述第一特征是根据所述本地程序文件的字符串特征所生成的二进制数据特征;
将所述第一特征上报到云端服务器,以供所述云端服务器根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
接收所述云端服务器反馈的检测结果。
2.根据权利要求1所述的方法,所述方法还包括:
提取本地程序文件的第二特征;以及
将所述第一特征和所述第二特征拼接在一起;
所述将第一特征上报到云端服务器,以供所述云端服务器根据所述第一特征确定所述本地程序文件是否为恶意程序文件进一步包括:将拼接在一起的第一特征和第二特征上报到云端服务器,以供所述云端服务器根据所述第一特征和所述第二特征确定所述本地程序文件是否为恶意程序文件。
3.根据权利要求2所述的方法,所述第一特征是所述本地程序文件中非PE文件的特征;所述第二特征是所述本地程序文件中PE文件的特征。
4.根据权利要求1所述的方法,所述提取本地程序文件的第一特征进一步包括:
提取所述本地程序文件中的常量信息,根据所述常量信息生成所述字符串特征;
根据所述字符串特征生成二进制数据特征。
5.根据权利要求4所述的方法,所述常量信息包括以下信息的一项或多项:调用函数名称、字符串信息以及数值常量。
6.根据权利要求2所述的方法,所述提取本地程序文件的第二特征进一步包括:
提取所述本地程序文件中的类行为特征,所述类行为特征包括导入表库特征和导入表应用程序编程接口API特征。
7.一种程序文件的云检测方法,包括:
接收客户端上报的本地程序文件的第一特征,所述第一特征是所述客户端根据本地程序文件的字符串特征所生成的二进制数据特征;
根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
向客户端反馈检测结果。
8.一种客户端,包括:
特征提取模块,适于提取本地程序文件的第一特征,所述第一特征是根据所述本地程序文件的字符串特征所生成的二进制数据特征;
第一发送模块,适于将所述第一特征上报到云端服务器,以供所述云端服务器根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
第一接收模块,适于接收所述云端服务器反馈的检测结果。
9.一种云端服务器,包括:
第二接收模块,适于接收客户端上报的本地程序文件的第一特征,所述第一特征是所述客户端根据本地程序文件的字符串特征所生成的二进制数据特征;
处理模块,适于根据所述第一特征确定所述本地程序文件是否为恶意程序文件;
第二发送模块,适于向客户端反馈检测结果。
10.一种程序文件的云检测系统,包括:权利要求8所述的客户端以及权利要求9的云端服务器。
CN201610384454.2A 2016-06-02 2016-06-02 程序文件的云检测方法及系统、客户端、云端服务器 Pending CN106101086A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610384454.2A CN106101086A (zh) 2016-06-02 2016-06-02 程序文件的云检测方法及系统、客户端、云端服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610384454.2A CN106101086A (zh) 2016-06-02 2016-06-02 程序文件的云检测方法及系统、客户端、云端服务器

Publications (1)

Publication Number Publication Date
CN106101086A true CN106101086A (zh) 2016-11-09

Family

ID=57446998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610384454.2A Pending CN106101086A (zh) 2016-06-02 2016-06-02 程序文件的云检测方法及系统、客户端、云端服务器

Country Status (1)

Country Link
CN (1) CN106101086A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145782A (zh) * 2017-04-28 2017-09-08 维沃移动通信有限公司 一种异常应用程序的识别方法、移动终端及服务器
CN107682392A (zh) * 2017-08-07 2018-02-09 北京金山安全管理系统技术有限公司 特定类型文件的通知方法及装置、存储介质和处理器
CN108924139A (zh) * 2018-07-05 2018-11-30 杭州安恒信息技术股份有限公司 基于云端提升文件检测效率的方法、装置及执行服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761481A (zh) * 2014-01-23 2014-04-30 北京奇虎科技有限公司 一种恶意代码样本自动处理的方法及装置
CN103914655A (zh) * 2014-03-17 2014-07-09 北京奇虎科技有限公司 一种检测下载文件安全性的方法及装置
US20150096029A1 (en) * 2012-11-15 2015-04-02 Microsoft Corporation Dynamic Selection and Loading of Anti-Malware Signatures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150096029A1 (en) * 2012-11-15 2015-04-02 Microsoft Corporation Dynamic Selection and Loading of Anti-Malware Signatures
CN103761481A (zh) * 2014-01-23 2014-04-30 北京奇虎科技有限公司 一种恶意代码样本自动处理的方法及装置
CN103914655A (zh) * 2014-03-17 2014-07-09 北京奇虎科技有限公司 一种检测下载文件安全性的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹国均: "《计算机病毒防治、分析及其清除工具》", 31 December 1997, 云南科学技术出版社 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145782A (zh) * 2017-04-28 2017-09-08 维沃移动通信有限公司 一种异常应用程序的识别方法、移动终端及服务器
CN107145782B (zh) * 2017-04-28 2020-04-24 维沃移动通信有限公司 一种异常应用程序的识别方法、移动终端及服务器
CN107682392A (zh) * 2017-08-07 2018-02-09 北京金山安全管理系统技术有限公司 特定类型文件的通知方法及装置、存储介质和处理器
CN108924139A (zh) * 2018-07-05 2018-11-30 杭州安恒信息技术股份有限公司 基于云端提升文件检测效率的方法、装置及执行服务器
CN108924139B (zh) * 2018-07-05 2021-02-26 杭州安恒信息技术股份有限公司 基于云端提升文件检测效率的方法、装置及执行服务器

Similar Documents

Publication Publication Date Title
CN106131071B (zh) 一种Web异常检测方法和装置
US11188650B2 (en) Detection of malware using feature hashing
CN105868635B (zh) 用于应对恶意软件的方法和装置
US9154516B1 (en) Detecting risky network communications based on evaluation using normal and abnormal behavior profiles
CN110099059B (zh) 一种域名识别方法、装置及存储介质
CN110443045B (zh) 一种基于机器学习方法的模糊测试用例生成方法
CN105205397B (zh) 恶意程序样本分类方法及装置
EP3566166B1 (en) Management of security vulnerabilities
CN114077741B (zh) 软件供应链安全检测方法和装置、电子设备及存储介质
CN107247902A (zh) 恶意软件分类系统及方法
CN109074454A (zh) 基于赝象对恶意软件自动分组
CN103294951B (zh) 一种基于文档型漏洞的恶意代码样本提取方法及系统
KR20180081053A (ko) 도메인 생성 알고리즘(dga) 멀웨어 탐지를 위한 시스템 및 방법들
CN107292168A (zh) 检测程序代码的方法及装置、服务器
CN104462985A (zh) bat漏洞的检测方法以及装置
US20210157909A1 (en) Sample data generation apparatus, sample data generation method, and computer readable medium
CN106101086A (zh) 程序文件的云检测方法及系统、客户端、云端服务器
CN110704841A (zh) 一种基于卷积神经网络的大规模安卓恶意应用检测系统及方法
Li et al. Large-scale third-party library detection in android markets
CN105740135B (zh) 一种代码审计方法和装置
CN104486312B (zh) 一种应用程序的识别方法和装置
CN106250761A (zh) 一种识别web自动化工具的设备、装置及方法
US20230179627A1 (en) Learning apparatus, detecting apparatus, learning method, detecting method, learning program, and detecting program
CN112347479B (zh) 恶意软件检测的误报纠正方法、装置、设备和存储介质
CN115643044A (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: 20161109