具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种病毒检测的方法,如图1所示,所述方法包括:
步骤101、获取用户访问的网页中的外部链接,外部链接指向网页的供应商所提供资源以外的资源。
具体的,通过Javascript脚本获取用户访问网页中的文档对象模型Dom树。遍历所述Dom树,从所述Dom树中的预设标签中获取外部链接。
预设标签包括但不限于script标签或iframe标签。
步骤102、对外部链接进行格式化,得到预设格式的浏览记录,预设格式的浏览记录包括用户标识、网页的域名和外部链接。
格式化后的浏览记录为一个三元组:<用户标识,网页的域名,外部链接>。浏览记录还可为一个四元组:<用户标识,网页的域名,外部链接,时间>。
优选的,通过Nginx(engine x)+快速公共网络接口(fast Common Gateway Interface,简称fastcgi)的配置方式对浏览记录进行格式化。其中,Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。格式化的浏览记录通过push的方式保存到redis内存队列中。
步骤103、如果外部链接既不存在于白数据表又不存在于黑数据表中,则将浏览记录保存到灰数据表中,白数据表用于记录安全外部链接,黑数据表用户记录病毒外部链接。
本发明实施例中将外部链接指向的资源划分为三种不同安全级别的数据,白数据、黑数据和灰数据。如果外部链接存在于白数据表中,则外部链接指向的资源为白数据。如果外部链接存在于黑数据表中,则外部链接指向的资源为黑数据。如果外部链接既不存在于白数据表又不存在于黑数据表中,则外部链接指向的资源为灰数据,即尚未明确是否为安全(白数据)或为病毒(黑数据)。
本发明实施例所提供的病毒检测的方法,还适用于web蠕虫病毒以外的其他通过在网页中嵌套恶意代码的方式,对用户电子设备进行破坏的病毒。
步骤104、在预设时长之后,根据灰数据表中每个外部链接对应的用户标识数量和网页的域名数量,确定每个外部链接的安全类型,安全类型包括安全外部链接或病毒外部链接。
预设时长用于描述对灰数据表中的数据进行划分的时间间隔。作为一个距离,预设时长为5分钟。根据灰数据表中的浏览记录中的时间和所述预设时长,能够确定在预设时长内的浏览记录,以便得到一定时间内的浏览情况。
外部链接的全类型对应于上述三种不同安全级别的数据,白数据对应于安全外部链接,黑数据对应于病毒外部链接,灰数据对应于未划分外部链接。通过在灰数据表中查找未划分外部链接对应的用户标识数量和网页的域名数数量,能够确定点击该未划分外部链接的用户数以及存在该未划分外部链接的网页。如果过多的用户均点击在同一个网页中均点击了某个外划分外部链接,则该未划分外部链接为病毒外部链接。
本发明提供的病毒检测的方法,能够获取用户访问的网页中的外部链接;在对所述外部链接进行格式化,得到预设格式的浏览记录后;确定浏览记录是否存在于白数据表和黑数据表中;如果所述外部链接既不存在于所述白数据表又不存在于所述黑数据表中,则将所述浏览记录保存到灰数据表中;在预设时长之后,根据所述灰数据表中每个外部链接对应的用户标识数量和网页的域名数量,确定所述每个外部链接的安全类型,所述安全类型包括安全外部链接或病毒外部链接。现有技术中需要根据用户的投诉被动的进行蠕虫病毒的检测。本发明中,能够根据浏览记录主动的搜索出网页中的病毒外部链接,进而达到主动web蠕虫病毒搜索的效果,提高蠕虫病毒的防治效率。
本发明实施例还提供了一种病毒检测的方法,作为对图1所示方法的进一步描述,如图2所示,在步骤102、对所述外部链接进行格式化,得到预设格式的浏览记录之后,所述方法还包括:
步骤201、如果外部链接包含于黑数据表中,则将外部链接保存到黑数据表。
将外部链接保存到黑数据表的同时,将外部链接对应的浏览记录保存到黑数据表。
优选的,根据预设时间间隔,如1分钟,获取外部链接。在获取到所述外部链接后,立刻判断所述外部链接是否包含于黑数据表中。如果外部链接包含于黑数据表中,则将外部链接保存到黑数据表。
步骤202、在黑数据表和灰数据表中统计外部链接的出现次数。
由于灰数据表中记载有未进行划分的外部链接,因此可能包含已存在于黑数据表的外部链接,需要对黑数据表和灰数据表中外部链接同时进行查找。
步骤203、如果出现次数大于等于预设告警次数,则向用户发出告警信息。
预设告警次数如50次。告警信息可为但不限于:短信、邮件、提示框等。
本发明实施例提供的病毒检测的方法,能够对病毒外部链接进行实时的检测,进而及时起到病毒告警的效果,减少用户在不知情的情况下遭受更大的损失。
本发明实施例还提供了一种病毒检测的方法,作为对图1所示方法的具体说明,如图3所示,步骤104、根据所述灰数据表中每个外部链接对应的用户标识数量和网页的域名数量,确定所述每个外部链接的安全类型的步骤,包括:
步骤301、在灰数据表中,统计相同外部链接对应的用户标识数量和网页的域名数量。
灰数据表中记录有不同用户在不同网页中的操作。外部链接可能存在于不同的页面中。因此,通过统计灰数据表中,相同外部链接对应的不同浏览记录中的用户标识数量和网页的域名数量,能够得知对于同一个在不同网页中的同一个外部链接,有多少用户进行了访问。进而确定受到该外部链接影像的用户的数量。
步骤302a、如果外部链接对应的用户标识数量和/或网页的域名数量小于预设数量,则确定外部链接为未划分外部链接。
预设数量用于衡量外部链接是否为病毒外部链接。当收到该外部链接影像的用户的数量(用户标识数量和/或网页的域名数量)小于预设数量是,则可确定该外部链接为未划分外部链接。
步骤302b、如果外部链接对应的所述用户标识数量和所述网页的域名数量均大于所述预设数量,则确定所述外部链接为病毒外部链接。
可选的,如果外部链接对应的网络资源为多媒体文件,则确定所述外部链接为安全外部链接。
本发明实施例提供的病毒测试的方法,能够根据灰数据表中存储的浏览记录中的用户标识和网页的域名确定灰数据表中的浏览记录中的外部链接的安全级别,进而提供主动确定病毒外部链接的技术方案,提高病毒的防治效率。
本发明实施例还提供了一种病毒测试的方法,作为对图1所示方法的进一步说明,在步骤104、在预设时长之后,根据所述灰数据表中每个外部链接对应的用户标识数量和网页的域名数量,确定所述每个外部链接的安全类型的步骤之后,所述方法还包括:
1、如果外部链接的安全类型为安全外部链接,则将外部链接对应的浏览记录转存到白数据表。
2、如果外部链接的安全类型为病毒外部链接,则将外部链接对应的浏览记录转存到黑数据表。
3、如果外部链接的安全类型为未划分外部链接,则将外部链接对应的浏览记录继续保留在灰数据表。
本发明实施例提供的病毒检测的方法,能够对白数据表、黑数据表和灰数据表进行更新,保证数据表、黑数据表和灰数据表中信息的有效性。
下面通过一个流程图对上述内容做具体说明,如图4所示:
步骤401、用户通过终端的浏览器访问公司A的web页面。
步骤402、用户终端的浏览器根据web页面中的脚本,遍历网页中的Dom树。从Dom树中查找预设标签(<script>标签或<iframe>标签)中外部链接URL,如果外部链接URL指向公司A的域名,则取消上报,如果链URL不指向公司A的域名,则向数据接收服务器发送外部链接。
步骤403、数据接收服务器对接收到的数据进行格式化,得到预设格式的浏览记录。
步骤404、根据白数据表、黑数据表对浏览记录进行安全等级的划分,得到浏览记录指向的数据的数据类型。
步骤405、判断划分结果是否为浏览记录指向白数据。如果是,则结束。如果不是,则执行步骤406。
步骤406、判断划分结果是否为浏览记录指向黑数据。如果是,则执行步骤407a。如果不是则执行步骤407b。
步骤407a、将浏览记录存储到黑数据表中,并统计黑数据表和灰数据表中与该浏览记录具有相同外部链接的浏览记录数量。
步骤408、如果该数量大于预设告警数量,则向用户发送病毒告警信息。
步骤407b、将浏览记录保存到灰数据表中。在预设时长后,分析灰数据表中的浏览记录的安全级别,执行步骤409。
步骤409、如果该浏览记录含有病毒外部链接,则更新黑数据表。
需要说明的是,数据接收服务器为一个计算机集群,有多台(如10台)服务器共同组成。黑数据表、白数据表和灰数据表均存储在云服务器中。
本发明实施例还提供了一种病毒检测的装置,如图5所示,所述装置51包括:
获取单元511,用于获取用户访问的网页中的外部链接,所述外部链接指向所述网页的供应商所提供资源以外的资源。
格式化单元512,用于对所述获取单元511获取的所述外部链接进行格式化,得到预设格式的浏览记录,所述预设格式的浏览记录包括用户标识、所述网页的域名和外部链接。
存储单元513,用于当所述外部链接既不存在于所述白数据表又不存在于所述黑数据表中时,将所述格式化单元512格式化得到的浏览记录保存到灰数据表中,所述白数据表用于记录安全外部链接,所述黑数据表用户记录病毒外部链接。
确定单元514,用于在预设时长之后,根据所述存储单元513存储的所述灰数据表中每个外部链接对应的用户标识数量和网页的域名数量,确定所述每个外部链接的安全类型,所述安全类型包括安全外部链接或病毒外部链接。
进一步的,所述存储单元513还用于,当所述外部链接包含于所述黑数据表中时,将所述外部链接保存到所述黑数据表。
如图6所示,所述装置51还包括:
统计单元61,用于在所述存储单元513存储的所述黑数据表和所述灰数据表中统计所述外部链接的出现次数。
发送单元62,用于当所述统计单元61统计的所述出现次数大于等于预设告警次数时,向用户发出告警信息。
进一步的,所述确定单元514还用于:
在所述灰数据表中,统计相同外部链接对应的用户标识数量和网页的域名数量;
如果外部链接对应的所述用户标识数量和/或所述网页的域名数量小于预设数量,则确定所述外部链接为未划分外部链接。
进一步的,所述确定单元514还用于:
如果外部链接对应的所述用户标识数量和所述网页的域名数量均大于所述预设数量,则确定所述外部链接为病毒外部链接。
进一步的,所述确定单元514还用于:
如果外部链接对应的网络资源为多媒体文件,则确定所述外部链接为安全外部链接。
进一步的,所述存储单元513还用于:
如果外部链接的安全类型为安全外部链接,则将所述外部链接对应的浏览记录转存到白数据表;
如果外部链接的安全类型为病毒外部链接,则将所述外部链接对应的浏览记录转存到黑数据表;
如果外部链接的安全类型为未划分外部链接,则将所述外部链接对应的浏览记录继续保留在灰数据表。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。