一种下载文件的安全扫描方法及装置制造方法

文档序号:6526239阅读:273来源:国知局
一种下载文件的安全扫描方法及装置制造方法
【专利摘要】本发明涉及一种下载文件的安全扫描方法及装置,该方法包括:监测到文件下载完成后,获取并扫描下载文件的文件内容,得到所述文件内容对应的文件特征信息;查询预设的本地特征信息库,根据预设规则判定所述文件内容对应的文件特征信息是否与所述本地特征信息库中存储的信息项匹配;根据匹配结果确定所述下载文件的安全等级。该方法能够检测出文件内容中包含的钓鱼信息等恶意信息,从而避免了对恶意文件的漏判,提高了判断的准确性。
【专利说明】一种下载文件的安全扫描方法及装置
【技术领域】
[0001]本发明涉及网络通信【技术领域】,具体涉及一种下载文件的安全扫描方法及装置。
【背景技术】
[0002]随着互联网的快速发展,越来越多的用户利用互联网来实现文件的下载和传输,互联网的广泛应用使得用户获取信息的方式和途径变得更加多样。但是,互联网在带来便利的同时,也给开发恶意程序的网络黑客们带来了可乘之机。因此,从互联网上下载的文件往往会成为恶意程序的传播载体,这些恶意程序要么攻击用户的电脑,致使电脑中毒瘫痪;要么诱骗用户的钱财,致使用户遭受金钱上的损失。
[0003]目前,在对互联网上下载的文件进行扫描时,往往只是扫描文件的文件名或URL地址等简单特征,通过这些简单特征来判断文件是否安全。但是,这样的判断方式只能识别出一小部分危险文件,由此很容易造成漏判,具体原因在于:在实际情况中,很多文件的文件名正常且URL地址也正常,但其内容却包含钓鱼文件的内容;而且,还有些文件是通过网络聊天工具传输的,这些文件本身可能并不具备URL地址,对于这样的文件也很难通过上述的简单特征来判断其安全性。

【发明内容】

[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的下载文件的安全扫描方法及装置。
[0005]依据本发明的一个方面,提供了一种下载文件的安全扫描方法,包括:监测到文件下载完成后,获取并扫描下载文件的文件内容,得到所述文件内容对应的文件特征信息;查询预设的本地特征信息库,根据预设规则判定所述文件内容对应的文件特征信息是否与所述本地特征信息库中存储的信息项匹配;根据匹配结果确定所述下载文件的安全等级。
[0006]依据本发明的另一个方面,提供了一种下载文件的安全扫描装置,包括:获取模块,适于在监测到文件下载完成后,获取并扫描下载文件的文件内容,得到所述文件内容对应的文件特征信息;查询模块,适于查询预设的本地特征信息库,根据预设规则判定所述文件内容对应的文件特征信息是否与所述本地特征信息库中存储的信息项匹配;确定模块,适于根据匹配结果确定所述下载文件的安全等级。
[0007]在本发明提供的下载文件的安全扫描方法及装置中,每当监测到文件下载完成之后,首先,对下载文件进行扫描并获取该文件的文件内容所对应的文件特征信息,由此可见,该文件特征信息是根据下载文件的文件内容得到的,而不是简单地通过文件名或URL地址得到的;然后,根据预设的本地特征信息库来判断该下载文件的文件特征信息是否与本地特征信息库中存储的信息项匹配;最后,根据匹配结果来确定该下载文件的安全等级。由此可见,在本发明提供的方法中,可以根据下载文件的文件特征信息来判断该文件是否安全,由于该文件特征信息是对文件内容进行扫描分析后得到的,因而能够检测出文件内容中包含的钓鱼信息等恶意信息,从而避免了对恶意文件的漏判,提高了判断的准确性。[0008]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0009]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0010]图1示出了本发明一个实施例提供的下载文件的安全扫描方法的流程图;
[0011]图2示出了本发明另一具体实施例提供的下载文件的安全扫描方法的流程图;
[0012]图3示出了 D0M树的一种可能的结构示意图;以及
[0013]图4示出了本发明实施例提供的下载文件的安全扫描装置的结构图。
【具体实施方式】
[0014]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0015]本发明实施例提供了一种下载文件的安全扫描方法及装置,用以解决现有技术中的扫描方式局限性强、容易造成漏判的问题。
[0016]图1示出了本发明实施例提供的下载文件的安全扫描方法的流程图。如图1所示,该方法包括如下步骤:
[0017]步骤S110:监测到文件下载完成后,获取并扫描下载文件的文件内容,得到该文件内容对应的文件特征信息。
[0018]其中,上述下载文件可以通过聊天工具传输并下载,且该下载文件包括:MHT文件、HTML文件和D0C文件。另外,除了通过聊天工具传输并下载这一实现场景之外,本发明也可以应用于其他的下载场景,例如,当客户端侧设备下载压缩包时,也可以触发本发明中的步骤S110。并且,对于压缩包中这一特殊格式的下载文件来说,在步骤S110中还可以进一步在数据库中添加压缩包的信息记录,该压缩包的信息记录可以包括下面信息中的一种或多种,比如该压缩包的下载来源、压缩包的存放路径、压缩包的特征标识等。其中,下载来源主要包括该压缩包下载过程涉及的各种相关信息中的一种或多种,比如下载工具类型、下载URL (UniformResourceLocator,统一资源定位符)及网页URL等,除了此处列举的之夕卜,如果还有其他可以在下载过程中或下载完成时获取的信息,也都可以记录下来。上面提到的下载工具类型一般是指压缩包等下载文件是通过什么途径下载的,比如即时通讯工具、邮件客户端等,例如,可以支持Outlook/Foxmail等邮件客户端,还可以进一步的支持WEB浏览器,IE/Chrome等专用下载工具,迅雷/电驴等下载工具等。
[0019]步骤S120:查询预设的本地特征信息库,根据预设规则判定该文件内容对应的文件特征信息是否与本地特征信息库中存储的信息项匹配。其中,该预设规则可以包括:正则表达式规则和/或字符串匹配规则。[0020]可选地,本地特征信息库中存储的信息项通过下述方式得到:预先获取各个安全等级的样本,提取每个样本的文件特征信息;通过预设的机器学习算法对每个样本的文件特征信息进行学习;根据学习结果得到本地特征信息库中所需的各个安全等级的信息项。
[0021]步骤S130:根据匹配结果确定该下载文件的安全等级。其中,步骤S130中确定的安全等级至少包括:危险级和安全级。
[0022]可选地,步骤S110中的文件内容对应的文件特征信息包括:文件内容对应的URL地址,则步骤S120中提到的本地特征信息库中存储的信息项包括:多个安全等级的URL信息项;和/或,步骤S110中的文件内容对应的文件特征信息包括:文件内容中包含的明文字符串,则步骤S120中提到的特征信息库中存储的信息项包括:多个安全等级的明文字符串集合。可选地,步骤S110中的文件内容对应的文件特征信息还包括:文件内容对应的文件页面元素,该文件页面元素进一步包括:图片、文本特征和网页链接,则步骤S120中提到的本地特征信息库中存储的信息项包括:多个安全等级的页面元素模板。其中,文件页面元素以及页面元素模板通过文档对象模型D0M树表示。
[0023]可选地,当根据匹配结果确定下载文件的安全等级为危险级时,该方法进一步包括:将下载文件的文件特征信息上报给云安全服务器。另外,该方法还可以包括:当下载文件对应的文件特征信息与本地特征信息库中存储的信息项不匹配时,将文件特征信息发送给云安全服务器;根据云安全服务器返回的查询结果,确定下载文件的安全等级;并且,对查询结果进行文件特征信息的分析和提取,根据所述分析和提取的结果,更新本地特征信息库中存储的信息项。
[0024]另外,在本实施例中,云端的检测条件是需要定期升级更新的。具体地,可以在云安全服务器中配置升级条件,由服务器定期检测云端的检测条件是否满足升级条件,当满足时,服务器直接获取新的云端检测条件,并用新的云端检测条件替换原有的条件,从而对原有的云端检测条件进行升级更新。其中,升级条件可以根据本地检测条件的文件版本(即本地特征库中的内容)来判断,比如有更新的版本时则升级,也可以指定当本地检测条件的文件版本满足某个条件时升级为一个指定版本,本发明实施例对此并不加以限制。通过定期升级更新的方式,能够使检测条件更加完善,从而提高对于新出现的恶意文件的防范能力。
[0025]在本发明提供的下载文件的安全扫描方法中,每当监测到文件下载完成之后,首先,对下载文件进行扫描并获取该文件的文件内容所对应的文件特征信息,由此可见,该文件特征信息是根据下载文件的文件内容得到的,而不是简单地通过文件名或URL地址得到的;然后,根据预设的本地特征信息库来判断该下载文件的文件特征信息是否与本地特征信息库中存储的信息项匹配;最后,根据匹配结果来确定该下载文件的安全等级。由此可见,在本发明提供的方法中,可以根据下载文件的文件特征信息来判断该文件是否安全,由于该文件特征信息是对文件内容进行扫描分析后得到的,因而能够检测出文件内容中包含的钓鱼信息等恶意信息,从而避免了对恶意文件的漏判,提高了判断的准确性。
[0026]图2示出了本发明一个具体实施例提供的下载文件的安全扫描方法的流程图。在本实施例中,以用户通过MSN、聊天室等聊天工具来传输并下载MHT格式的网页文件为例进行说明。
[0027]其中,之所以要以MHT格式的网页文件为例进行说明主要是基于如下原因:在恶意网页发展的早期阶段,恶意用户往往会直接通过MSN等聊天工具向其他用户发送一个与恶意网页相对应的URL地址,只要其他用户点击该URL地址就会打开相应的恶意网页。但是,随着恶意网页的广泛传播和快速发展,很多恶意网页的制造者不再局限于通过简单地传输URL地址来传播恶意网页这一方式,而是逐渐尝试着将包含钓鱼内容等恶意信息的恶意网页直接制作为MHT格式的网页文件传输给用户,这种网页文件是一种本地化的文件,用户收到该文件后直接双击就可以打开(即使没有上网也可以打开),打开后的页面与通过浏览器上网时打开的网页并无明显区别。但是,这样的网页文件的地址栏中却不包含URL地址,而仅包含该文件在用户电脑中的本地存储路径。因此,如果只是简单地检测URL地址是无法发现该恶意文件的,而在本实施例中是根据文件特征信息进行判断的,因而能够检测出恶意的MHT格式的网页文件,因此,在本实施例中特以MHT格式的网页文件为例进行说明,以凸显本发明的技术优势。实际上,除了 MHT格式的网页文件之外,其他具有类似特性的文件,例如本地化的HTML文件、DOC文件等也都可以通过本发明提供的方法进行扫描。当然,除了上述文件类型之外,本发明对于其他的各类文件也都适用。例如,各种PE文件或非PE文件,以及各类脚本,诸如JS脚本、VBS (Visual Basic Script)脚本,以及脚本标签等均可以采用本发明中的方法来扫描。
[0028]如图2所示,该方法包括如下步骤:
[0029]步骤S210:监测到文件下载完成后,获取并扫描下载文件的文件内容,得到该文件内容对应的文件特征信息。
[0030]具体地,每当有文件下载完成时,步骤S210及其后续步骤就将被触发。为了实现这一点,在本实施例中,可以预先通过编程的方式设置一个用于监控是否有文件下载完成的监控模块(例如可以通过动态库等形式来实现该监控模块),将该监控模块注入到要监控的下载工具中,以便监控该下载工具是否执行并完成了一次下载操作。具体注入时,可以通过全局的CBT Η00Κ (钩子)来实现。或者,可以由下载工具调用预设的WindowsAPI来加载该监控模块,以便实现该监控模块的注入。在本实施例中,要监控的下载工具主要是指MSN、聊天室等聊天工具。但是,本领域技术人员能够理解的是,本发明并不局限于上述两种聊天工具的实现方式,因此,根据实际情况的需求,要监控的下载工具还可以是浏览器软件、迅雷软件、360下载等各类能够实现下载功能的工具。
[0031]假设聊天用户A通过聊天工具向聊天用户B传输了一个名为“周年庆典.mht”的网页文件,在该网页文件传输完毕时,会被上述的监控模块监控到下载完成这一动作,从而触发步骤S210的执行。在步骤S210中,首先要根据下载路径等相关下载信息获取到“周年庆典.mht”这一网页文件的存放位置,并基于该存放位置获取到该文件所包含的文件内容。然后,对该文件所包含的文件内容进行扫描,得到对应的文件特征信息。关于文件特征信息的具体内容和获取方式将在步骤S220中一起给予介绍。
[0032]步骤S220:查询预设的本地特征信息库,根据预设规则(例如正则表达式规则和/或字符串匹配规则等)判定文件内容对应的文件特征信息是否与该本地特征信息库中存储的信息项匹配。
[0033]其中,步骤S210中提到的文件特征信息可以包含多种实现方式,相应地,步骤S220中提到的本地特征信息库中存储的信息项的具体内容是与文件特征信息的实现方式相对应的。下面就给出文件特征信息的下述三种实现方式:[0034]在第一种实现方式中,下载文件的文件内容所对应的文件特征信息是指:该文件内容对应的URL地址。这里,对于MHT格式的网页文件来说,文件内容对应的URL地址通常是指在文件内容(即网页文件的文件正文)中所包含的一个或多个URL地址,这些URL地址既可以采用可点击的超链接形式实现,也可以采用能够被复制的文本形式实现。对于其他的网页文件来说,文件内容对应的URL地址除了包括文件内容中所包含的一个或多个URL地址之外,还可以包括该网页文件本身的URL地址(即出现在该网页文件的地址栏中的URL地址,通过该地址能够打开该网页文件)。相应地,本地特征信息库中存储的信息项包括:多个安全等级的URL信息项。其中,安全等级至少包括危险级和安全级。优选地,还可以对安全等级进行更多层次的划分,以便准确地确定出某一下载文件的危险指数。例如,可以将安全等级按照危险指数从高到低的顺序进一步划分为危险级、可疑级、未知级和安全级四个等级,每个等级分别对应一个或多个URL信息项。其中,每个等级所对应的各个URL信息项既可以是完整的URL地址,也可以是URL地址中所包含的部分片段。具体地,在获取每个等级所对应的URL信息项时,可以通过机器学习算法对预设数量的样本进行分析得到。
[0035]在第二种实现方式中,下载文件的文件内容所对应的文件特征信息是指:该文件内容中包含的明文字符串。例如,文件内容中包含的以明文形式出现的中文字词、英文单词等均可以作为明文字符串。具体地,在获取这些明文字符串时,只需对文件内容进行分词处理即可。相应地,本地特征信息库中存储的信息项包括:多个安全等级的明文字符串集合。其中,安全等级至少包括危险级和安全级。优选地,还可以对安全等级进行更多层次的划分,以便准确地确定出某一下载文件的危险指数。例如,可以将安全等级按照危险指数从高到低的顺序进一步划分为危险级、可疑级、未知级和安全级四个等级,每个等级分别对应一个或多个明文字符串集合。例如,由“幸运用户”和“中奖”这两个明文字符串所构成的集合就可以作为危险级所对应的一个明文字符串集合,如果一个下载文件中包含该明文字符串集合,则很可能表示该下载文件为“钓鱼文件”。所谓“钓鱼文件”是指不法分子利用各种手段,仿冒真实网站的URL地址以及页面内容,或者利用真实网站服务器程序上的漏洞在站点的某些网页中插入危险的HTML代码,以此来骗取用户银行或信用卡账号、密码等私人资料。具体地,在获取每个等级所对应的明文字符串集合时,也可以通过机器学习算法对预设数量的样本进行分析得到。
[0036]在第三种实现方式中,下载文件的文件内容所对应的文件特征信息是指:文件内容对应的文件页面元素。这里提到的文件页面元素主要包括:图片、文本特征和网页链接等内容。第三种实现方式与第二种实现方式的主要区别在于:文件页面元素的概念与明文字符串的概念相比,前者所涵盖的内容更多更丰富,因而能够更全面地体现出文件的特征。例如,在本实施例中,可以通过文档对象模型D0M树来表示上述的文件页面元素。通过D0M树能够清楚地反映出一篇文档的页面结构和页面内容。在介绍D0M树的结构之前,先介绍一下网页文件的常见结构:在网页文件上包括多块内容,例如显示的文本内容(如关于该网页主题的文字表述),URL内容、显示的图片内容、视频内容等。每块内容对应一个页面组件,各页面组件有各自不同的数据内容,数据内容记载了该页面组件在页面上展示的结构和样式。以图片内容为例,其对应的页面组件的数据内容中包含在页面上展示的图片大小、图片标题相对于图片的位置、图片标题的文本格式,该文本格式包括字体大小、颜色、字体类型等。模块列表中包含了各页面组件模块的数据内容,数据内容包括超文本标记语言(HTML, Hyper Text Mark-up Language)、层叠样式表(CSS, Cascading Style Sheet)和javascript组装脚本等表现方式;模块列表中的页面组件模块可采用表格方式排列,也可采用图形方式表示各页面组件模块。DOM树就是一种通过树状结构来描述上述的网页文件结构的方式。
[0037]图3示出了 D0M树的一种可能的结构。通过图3可以看出,在构建D0M树时,需要对文档进行分析,获取其中的根元素以及各个元素,据此明确整篇文档的结构,其中,根元素可以通过html标识,元素可以通过head、body、title等字节来标识;然后,还要获取各个元素对应的文本内容,该文本内容包括图片、链接等,据此明确整篇文档所表述的内容。由此可见,通过D0M树表示文件页面元素的方式能够全面地反应出一篇文档所包含的内容,因而不会遗漏任何钓鱼内容等恶意信息,达到全面扫描的目的。
[0038]相应地,在第三种实现方式中,本地特征信息库中存储的信息项包括:多个安全等级的页面元素模板。其中,安全等级可以参照前两种实现方式中的划分方式进行划分。这里,页面元素模板也可以通过D0M树来表示。例如,可以将危险级的文件所对应的D0M树作为一个危险级的页面元素模板,将安全级的文件所对应的D0M树作为一个安全级的页面元素模板。具体地,在获取每个等级所对应的页面元素模板时,也可以通过机器学习算法对预设数量的样本进行分析得到。
[0039]上述的三种实现方式既可以单独使用,也可以进行任意组合后使用。优选地,为了实现更好地查杀效果,可以在本实施例中同时使用上述的三种方式,相应地,在本地特征信息库中同时包含上述三种形式的信息项。
[0040]下面以上述的第二种实现方式为例,详细介绍一下通过机器学习的方式来确定出本地特征信息库中的各个等级所对应的明文字符串集合的各个步骤:
[0041]第一步:预先获取各个安全等级的样本,提取每个样本的明文字符串集合。
[0042]本步骤中预先收集多个已确定出不同的安全等级的网页作为样本。具体收集时,既可以在网络侧通过网络蜘蛛来抓取安全网页或恶意网页,也可以在客户端侧收集用户或技术人员提交的安全网页或恶意网页。其中,网络蜘蛛通过网页的链接地址来寻找网页,可以预置一些安全网页的网址,网络蜘蛛从已知的安全网站的某一个页面(通常是首页)开始,读取网页的内容,提取该网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。收集到上述网页之后,分别从每个网页的文件内容中提取明文字符串。例如,针对文件内容中的某个语句“hello恭喜您中奖了”,可以拆分为如下的十个明文字符串:
[0043]Hello
[0044]恭喜喜您您中中奖奖了
[0045]恭喜您喜您中您中奖中奖了
[0046]在具体的实现中,每个明文字符串中所包含的字符个数可以依据具体的需要设定。
[0047]第二步:合并符合预设相似条件的明文字符串。
[0048]由于每个网页都包含大量的明文字符串,其中,有很多冗余的信息,例如:恭喜和恭喜您,含义相近,其表征作用相近,可以做合并处理。具体合并时,可采用如下方式合并:首先,针对任意两个明文字符串,提取这两个明文字符串的最长公共子串;然后,若该最长公共子串的字符个数符合第一预设范围,且这两个明文字符串在安全网页和危险网页中总共出现的次数的差值符合第二预设范围,则删除在各个安全网页和危险网页中总共出现的次数较小的明文字符串。例如,“中华人民共和国”和“人民共和时代”的最长公共子串为“人民共和”。提取最长公共子串后,进一步判断,这两个明文字符串的最长公共子串的字符个数是否符合第一预设范围,并且,这两个明文字符串在安全网页和危险网页中总共出现的次数的差值符合第二预设范围。具体而言,第一预设范围是指最长公共子串的字符个数,不超过两个明文字符串中任意一个的字符个数的预设比例(例如2/3),例如,“人民共和”包含4个字符,未超过“中华人民共和国”或“人民共和时代”的字符个数的2/3。第二预设范围是指,两个明文字符串在安全网页和危险网页中总共出现的次数的差值,小于较高出现次数的预设比例(例如1/10)。例如,“中华人民共和国”在安全网页和危险网页中总共出现的次数为100次,“人民共和时代”在安全网页和危险网页中总共出现的次数为50次,两者次数的差值为50次,较高出现次数为100次的预设比例1/10为10次,因此,差值50次超过了预设比例。若两个明文字符串满足如上的条件,则删除在安全网页和危险网页中总共出现的次数较小的一个明文字符串。在本发明实施例中,可以通过LCS (Longest CommonSubsequence,最长公共子序列)算法提取两个明文字符串的最长公共子串,由于该算法是本领域技术人员所熟知的,因此略去对具体算法的说明。另外,在本步骤中,也可以对大量的明文字符串做一些归一化的处理等操作。
[0049]本发明实施例中,对提取的明文字符串中任意两个表征信息进行比较,舍去符合上述条件的明文字符串后,可以循环重复执行合并的步骤,直至任意两个明文字符串均不符合预设相似条件,或是明文字符串的个数满足预设个数为止。
[0050]第三步:统计合并后的各个明文字符串对划分安全网页和危险网页的表征参数,并依据该表征参数筛选多个明文字符串作为网页危险性(或安全性)的表征信息。
[0051]具体地,对明文字符串进行合并后,进一步需要筛选其中表征参数符合要求的明文字符串。表征参数是明文字符串对划分安全网页和危险网页的衡量参数。表征参数可以是明文字符串与危险网页的相关性参数,也可以是明文字符串对划分安全网页和危险网页的权重参数。在本发明实施例中,将相关性参数和权重参数结合起来对明文字符串进行筛选:首先,分别统计合并后的各个明文字符串与危险网页的相关性参数,并筛选相关性参数从大到小排序靠前的明文字符串;然后,分别统计筛选后的各个明文字符串对划分安全网页和危险网页的权重参数,并筛选权重参数从大到小排序靠前的明文字符串。通过相关性参数和权重参数对明文字符串做两次筛选,首先计算各个明文字符串与危险网页的相关性参数,然后筛选相关性参数从大到小排序靠前的明文字符串。具体的,可以依据合并后的各个明文字符串在安全网页和危险网页中分别出现的次数,通过卡卡方检验法,计算各个明文字符串与危险网页的相关性参数。并且,通过分类器计算各个明文字符串对划分安全网页和危险网页的权重参数,依据权重参数进行进一步的筛选。依据统计结果可以构建安全网页和危险网页的分类函数,例如,可以通过支持向量机线性分类器(support vectormachine, SVM)构建安全网页和危险网页的分类函数。本发明实施例中,假设所有的明文字符串和目标(正常网页和恶意网页)是呈线性关系的,线性SVM分类器最终的输出是高维空间的一个超平面,在超平面的函数表达式中,对每一维都会有一个不同的权重参数,利用这个权重的高低对明文字符串进行筛选。本发明实施例中,先用卡方检验法对候选发明信息进行筛选,再用SVM分类器再次进行筛选,从而得出对划分安全网页和危险网页表征参数较优的表征信息。传统的信息选择方式是针对人工选择的特征进行进一步的筛选,这种方式无法应对更新频率极快的网页结构。本发明实施例采用的是一种数据驱动的表征信息选择方式,所有的表征信息都是通过对已知数据的统计分析得到,相比于人工筛选信息,本发明实施例大大提闻了彳目息提取的效率。
[0052]第四步:依据上述表征信息训练不同安全等级的明文字符串集合,并将训练出的明文字符串集合依据其对应的安全等级存储到本地特征信息库的相应位置。
[0053]上面描述的通过机器学习方式来得到本地特征信息库中的各个安全等级的信息项的方式仅为示意性的,本领域技术人员还可以灵活选择其他机器学习方式来获得本地特征信息库中的各个安全等级的信息项。而且,除了第二种实现方式中的明文字符串之外,另外两种实现方式中的不同安全等级的URL地址以及D0M模型也都可以通过机器学习的方式来得到。
[0054]步骤S230:根据文件内容对应的文件特征信息与上述本地特征信息库中存储的信息项的匹配结果来确定步骤S210中的下载文件的安全等级。如步骤S220中提到的,安全等级可以包括安全级、未知级、可疑/高度可疑级、以及恶意级等多种等级。具体地,可以根据文件的综合得分来确定其安全等级,例如可以设置得分在10-29之间的文件为安全级(该等级的文件为白文件),得分在30-49之间的文件为未知级(该等级的文件为灰文件),得分在50-69之间的文件为可疑/高度可疑级(该等级的文件为可疑文件),得分大于或等于70的文件为恶意级(该等级的文件为恶意文件)。当然,还可以设置其他形式的安全等级,本发明对此并不加以限制。具体实现时,可以由服务器预先将各个安全等级的划分规则下发给客户端,客户端再依据服务器下发的划分规则来确定下载文件的安全等级。
[0055]由于本实施例中的文件特征信息包括上面提到的URL地址、明文字符串以及D0M树,因此,需要将这三项信息分别与本地特征信息库中的相应信息项进行匹配,如果这三项信息中的至少一项信息与本地特征信息库中的危险级的信息项相匹配,则表明该下载文件的安全等级为危险级,此时,可以直接提示给用户,由用户选择是否删除;或者,也可以在确定出该文件为危险级时直接删除该文件。如果这三项信息分别与本地特征信息库中的安全级的信息项相匹配,则表明该下载文件的安全等级为安全级,此时,可提示用户放心下载。
[0056]具体地,在匹配时,可以通过正则表达式匹配、字符串匹配、相似度匹配等多种方式来匹配。
[0057]通过本发明实施例提供的方法,能够在扫描时对下载文件的文件内容进行分析,并据此提取出URL地址和/或明文字符串,甚至还可以进一步构建出下载文件的D0M树,由此能够全面分析下载文件的文件特征,由此发现恶意文件。本发明实施例提供的方法尤其适用于对钓鱼网页的扫描。
[0058]另外,除了上面介绍的在客户端本地对下载文件进行扫描的实现方式之外,本发明实施例提供的方法同样可以应用到云安全服务器上。为此,该方法还可以进一步包括步骤 S240。
[0059]在步骤S240中,当根据匹配结果确定下载文件的安全等级为危险级时,进一步将该下载文件的文件特征信息上报给云安全服务器。
[0060]例如,当确定某一下载文件的安全等级为危险级时,将该下载文件的文件特征信息(包括URL地址、明文字符串和/或DOM树)上报给云安全服务器。同理,当确定某一下载文件的安全等级为安全级时,也可以将该下载文件的文件特征信息上报给云安全服务器。相应地,在云安全服务器上也维护有一个云端特征信息库,该云端特征信息库中同样存储有多个安全等级的信息项(包括URL地址、明文字符串和/或DOM树)。另外,由于每个客户端都会在扫描结束后向云安全服务器汇报其最新发现的危险级或安全级的信息项,因而,云端特征信息库中的内容是不断更新的,因而,通过云端特征信息库能够对不同等级的信息项进行全面汇总。
[0061]相应地,各个客户端都可以分享到云端特征信息库中的汇总结果。例如,各个客户端可以每隔预设的时间间隔向云安全服务器请求最新的云端特征信息库中的内容,以便对其本地的特征信息库进行更新。或者,也可以由客户端在本地特征信息库无法判断某一下载文件的安全等级时,进一步查询云安全服务器,以便获知查询结果,此时,该方法还可以进一步包括步骤S250。
[0062]在步骤S250中,当下载文件对应的文件特征信息与本地特征信息库中存储的信息项不匹配时,将该文件特征信息发送给云安全服务器;根据云安全服务器返回的查询结果,确定下载文件的安全等级;并且,根据该查询结果进行文件特征信息的分析和提取,根据分析和提取的结果,更新本地特征信息库中存储的信息项。
[0063]综上所述,本发明实施例提供的下载文件的安全扫描方法,能够结合多项内容来判断下载文件的安全性,例如,可以结合URL地址、明文字符串、D0M树等内容来进行判断,因此,能够发现任何隐含的钓鱼信息等恶意信息,即使对于本身没有URL地址的MHT等网页文件也可以通过对文件内容的分析来判断其是否为恶意文件,因此,大幅提高了扫描的准确性和全面性。
[0064]而且,由于在本发明中可以通过机器学习的方式来生成特征信息库中的各个信息项,因此,在后续的判断过程中,对于新出现的恶意网页,也可以通过该网页与特征信息库中的各个信息项之间的相似度来确定其安全等级,因而能够检测到新出现的恶意网页,因此能够对更新迅速且千变万化的恶意网页进行防范。其中,本发明中以D0M树作为文件特征信息时,由于D0M树能够综合反映出恶意网页或安全网页的特征,因此,只要下载文件的特征与恶意网页的特征相似就可以判断其属于恶意文件,所以,本发明中的D0M树的方式尤其具备识别未知的危险文件的优势。
[0065]图4示出了本发明实施例提供的下载文件的安全扫描装置的结构图。如图4所示,该装置400包括:获取模块41、查询模块42以及确定模块43。
[0066]其中,获取模块41在监测到文件下载完成后,获取并扫描下载文件的文件内容,得到文件内容对应的文件特征信息。其中,下载文件包括:MHT文件、HTML文件和D0C文件。
[0067]查询模块42查询预设的本地特征信息库,根据预设规则判定文件内容对应的文件特征信息是否与本地特征信息库中存储的信息项匹配。
[0068]确定模块43根据匹配结果确定下载文件的安全等级。其中,安全等级至少包括:危险级和安全级。
[0069]其中,文件内容对应的文件特征信息包括:文件内容对应的URL地址,则本地特征信息库中存储的信息项包括:多个安全等级的URL信息项;和/或,文件内容对应的文件特征信息包括:文件内容中包含的明文字符串,则特征信息库中存储的信息项包括:多个安全等级的明文字符串集合。
[0070]或者,文件内容对应的文件特征信息包括:文件内容对应的文件页面元素,文件页面元素进一步包括:图片、文本特征和网页链接,则本地特征信息库中存储的信息项包括:多个安全等级的页面元素模板。
[0071]可选地,该装置400进一步包括:学习模块44,用于预先获取各个安全等级的样本,提取每个样本的文件特征信息;通过预设的机器学习算法对每个样本的文件特征信息进行学习;根据学习结果得到本地特征信息库中所需的各个安全等级的信息项。
[0072]可选地,该装置400进一步包括:上报模块45,适于在根据匹配结果确定下载文件的安全等级为危险级时,将下载文件的文件特征信息上报给云安全服务器。
[0073]可选地,上报模块45进一步适于在下载文件对应的文件特征信息与本地特征信息库中存储的信息项不匹配时,将文件特征信息发送给云安全服务器;根据云安全服务器返回的查询结果,确定下载文件的安全等级;并且,对查询结果进行文件特征信息的分析和提取,根据分析和提取的结果,更新本地特征信息库中存储的信息项。
[0074]关于上述各个模块的具体工作细节可参照方法实施例中相应部分的描述,此处不再赘述。
[0075]在本发明提供的下载文件的安全扫描方法及装置中,每当监测到文件下载完成之后,首先,对下载文件进行扫描并获取该文件的文件内容所对应的文件特征信息,由此可见,该文件特征信息是根据下载文件的文件内容得到的,而不是简单地通过文件名或URL地址得到的;然后,根据预设的本地特征信息库来判断该下载文件的文件特征信息是否与本地特征信息库中存储的信息项匹配;最后,根据匹配结果来确定该下载文件的安全等级。由此可见,在本发明提供的方法中,可以根据下载文件的文件特征信息来判断该文件是否安全,由于该文件特征信息是对文件内容进行扫描分析后得到的,因而能够检测出文件内容中包含的钓鱼信息等恶意信息,从而避免了对恶意文件的漏判,提高了判断的准确性。
[0076]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0077]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0078]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0079]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0080]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0081 ] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0082]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0083]本发明还公开了 A1、一种下载文件的安全扫描方法,包括:监测到文件下载完成后,获取并扫描下载文件的文件内容,得到所述文件内容对应的文件特征信息;查询预设的本地特征信息库,根据预设规则判定所述文件内容对应的文件特征信息是否与所述本地特征信息库中存储的信息项匹配;根据匹配结果确定所述下载文件的安全等级。
[0084]A2、如A1所述的方法,其中,所述文件内容对应的文件特征信息包括:所述文件内容对应的URL地址,则所述本地特征信息库中存储的信息项包括:多个安全等级的URL信息项;和/或,
[0085]所述文件内容对应的文件特征信息包括:所述文件内容中包含的明文字符串,则所述特征信息库中存储的信息项包括:多个安全等级的明文字符串集合。
[0086]A3、如A1或A2所述的方法,其中,所述文件内容对应的文件特征信息包括:所述文件内容对应的文件页面元素,所述文件页面元素进一步包括:图片、文本特征和网页链接,则所述本地特征信息库中存储的信息项包括:多个安全等级的页面元素模板。
[0087]A4、如A3所述的方法,其中,所述文件页面元素以及页面元素模板通过文档对象模型DOM树表不。
[0088]A5、如A2-4任一所述的方法,其中,进一步包括步骤:
[0089]预先获取各个安全等级的样本,提取每个样本的文件特征信息;
[0090]通过预设的机器学习算法对每个样本的文件特征信息进行学习;
[0091]根据学习结果得到所述本地特征信息库中所需的各个安全等级的信息项。
[0092]A6、如A1所述的方法,其中,所述预设规则包括:正则表达式规则和/或字符串匹配规则。
[0093]A7、如A1所述的方法,其中,所述下载文件通过聊天工具传输并下载,且所述下载文件包括:MHT文件、HTML文件和D0C文件。
[0094]A8、如A1所述的方法,其中,所述安全等级至少包括:危险级和安全级,其中,当根据匹配结果确定所述下载文件的安全等级为危险级时,该方法进一步包括:将所述下载文件的文件特征信息上报给云安全服务器。
[0095]A9、如A8所述的方法,其中,所述方法还包括:
[0096]当所述下载文件对应的文件特征信息与所述本地特征信息库中存储的信息项不匹配时,将所述文件特征信息发送给所述云安全服务器;
[0097]根据所述云安全服务器返回的查询结果,确定所述下载文件的安全等级;并且,对所述查询结果进行文件特征信息的分析和提取,根据所述分析和提取的结果,更新本地特征信息库中存储的信息项。
[0098]本发明还公开了 B10、一种下载文件的安全扫描装置,包括:获取模块,适于在监测到文件下载完成后,获取并扫描下载文件的文件内容,得到所述文件内容对应的文件特征信息;查询模块,适于查询预设的本地特征信息库,根据预设规则判定所述文件内容对应的文件特征信息是否与所述本地特征信息库中存储的信息项匹配;确定模块,适于根据匹配结果确定所述下载文件的安全等级。
[0099]B11、如B10所述的装置,其中,所述文件内容对应的文件特征信息包括:所述文件内容对应的URL地址,则所述本地特征信息库中存储的信息项包括:多个安全等级的URL信息项;和/或,
[0100]所述文件内容对应的文件特征信息包括:所述文件内容中包含的明文字符串,则所述特征信息库中存储的信息项包括:多个安全等级的明文字符串集合。
[0101]B12、如B10或11所述的装置,其中,所述文件内容对应的文件特征信息包括:所述文件内容对应的文件页面元素,所述文件页面元素进一步包括:图片、文本特征和网页链接,则所述本地特征信息库中存储的信息项包括:多个安全等级的页面元素模板。
[0102]B13、如B10-12任一所述的装置,其中,进一步包括:
[0103]学习模块,适于预先获取各个安全等级的样本,提取每个样本的文件特征信息;通过预设的机器学习算法对每个样本的文件特征信息进行学习;根据学习结果得到所述本地特征信息库中所需的各个安全等级的信息项。
[0104]B14、如B10所述的装置,其中,所述下载文件包括:MHT文件、HTML文件和D0C文件。
[0105]B15、如B10所述的装置,其中,所述安全等级至少包括:危险级和安全级,则该装置进一步包括:上报模块,适于在根据匹配结果确定所述下载文件的安全等级为危险级时,将所述下载文件的文件特征信息上报给云安全服务器。
[0106]B16、如B10所述的装置,其中,所述上报模块进一步适于在所述下载文件对应的文件特征信息与所述本地特征信息库中存储的信息项不匹配时,将所述文件特征信息发送给所述云安全服务器;根据所述云安全服务器返回的查询结果,确定所述下载文件的安全等级;并且,对所述查询结果进行文件特征信息的分析和提取,根据所述分析和提取的结果,更新本地特征信息库中存储的信息项。
【权利要求】
1.一种下载文件的安全扫描方法,包括:监测到文件下载完成后,获取并扫描下载文件的文件内容,得到所述文件内容对应的文件特征彳目息;查询预设的本地特征信息库,根据预设规则判定所述文件内容对应的文件特征信息是否与所述本地特征信息库中存储的信息项匹配;根据匹配结果确定所述下载文件的安全等级。
2.如权利要求1所述的方法,其中,所述文件内容对应的文件特征信息包括:所述文件内容对应的URL地址,则所述本地特征信息库中存储的信息项包括:多个安全等级的URL信息项;和/或,所述文件内容对应的文件特征信息包括:所述文件内容中包含的明文字符串,则所述特征信息库中存储的信息项包括:多个安全等级的明文字符串集合。
3.如权利要求1或2所述的方法,其中,所述文件内容对应的文件特征信息包括:所述文件内容对应的文件页面元素,所述文件页面元素进一步包括:图片、文本特征和网页链接,则所述本地特征信息库中存储的信息项包括:多个安全等级的页面元素模板。
4.如权利要求3所述的方法,其中,所述文件页面元素以及页面元素模板通过文档对象模型DOM树表示。
5.如权利要求2-4任一所述的方法,其中,进一步包括步骤:预先获取各个安全等级的样本,提取每个样本的文件特征信息;通过预设的机器学习算法对每个样本的文件特征信息进行学习;根据学习结果得到所述本地特征信息库中所需的各个安全等级的信息项。
6.如权利要求1所述的方法,其中,所述预设规则包括:正则表达式规则和/或字符串匹配规则。
7.如权利要求1所述的方法,其中,所述下载文件通过聊天工具传输并下载,且所述下载文件包括:MHT文件、HTML文件和DOC文件。
8.如权利要求1所述的方法,其中,所述安全等级至少包括:危险级和安全级,其中,当根据匹配结果确定所述下载文件的安全等级为危险级时,该方法进一步包括:将所述下载文件的文件特征信息上报给云安全服务器。
9.一种下载文件的安全扫描装置,包括:获取模块,适于在监测到文件下载完成后,获取并扫描下载文件的文件内容,得到所述文件内容对应的文件特征信息;查询模块,适于查询预设的本地特征信息库,根据预设规则判定所述文件内容对应的文件特征信息是否与所述本地特征信息库中存储的信息项匹配;确定模块,适于根据匹配结果确定所述下载文件的安全等级。
10.如权利要求9所述的装置,其中,所述文件内容对应的文件特征信息包括:所述文件内容对应的URL地址,则所述本地特征信息库中存储的信息项包括:多个安全等级的URL信息项;和/或,所述文件内容对应的文件特征信息包括:所述文件内容中包含的明文字符串,则所述特征信息库中存储的信息项包括:多个安全等级的明文字符串集合。
【文档编号】G06F17/30GK103678692SQ201310739762
【公开日】2014年3月26日 申请日期:2013年12月26日 优先权日:2013年12月26日
【发明者】魏志江, 赵冠捷, 钱军 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1