一种海量网页的自动化截图取证方法和系统与流程

文档序号:13760435阅读:483来源:国知局
一种海量网页的自动化截图取证方法和系统与流程

本发明涉及计算机网络安全领域,更确切的讲,本发明涉及一种海量网页的自动化截图取证方法和系统。



背景技术:

随着移动通信技术的普及和智能终端应用的快速增长,在给人们的生活带来便捷的同时也带来了诸多安全问题。传统互联网中基于WEB的安全事件在移动互联网中呈现出许多新的特征。如网页挂马、暗链接攻击、钓鱼网站攻击、网页篡改等出现许多新的变化。在WEB交互端对这些事件进行截图取证有助于进一步重构攻击事件的现场和对攻击事件进行数字取证。据统计,在欧洲和美国分别有80%和70%的WEB安全事件涉及数字截图取证。从2010年到今,国家计算机网络应急技术处理协调中心每月发布的安全报告统计中,WEB类安全事件一直占据着重要的比例。

安全事件数字取证主要是对事件进行收集、验证、鉴定、分析、解释、存档和出示。网页的截图取证是WEB安全事件收集部分的重要证据之一,有着非常重要的作用。现有的主流的网页截图取证主要依赖人工取证,即手工使用按钮、键盘、触屏等方法浏览并用截图软件获取网页的屏幕信息(包括浏览器边框,至少包括地址栏中的URL信息;系统边框,包括操作系统图标、日期时间;浏览器中的WEB内容信息等等)。如果数据量很大,手工提取的难度将会很大。现有的一些自动化工具可以帮我们自动化实现手工提取工作,但该技术基本上基于WebKit内核的渲染实现,只能针对WEB页面的内容取证。一方面截图取证不完整,如不能包含浏览器的地址栏,有些Flash无法显示等;另一方面对于海量的大规模数据的截图稳定性比较差,安全性也不理想。



技术实现要素:

针对上述已有方法存在的问题,本发明公开了一种海量网页的自动化截图取证方法和系统。本发明主要包括两方面的内容:(1)海量网页的自动化截图取证方法,能对WEB类安全事件的页面进行截图,每个网页的截图为秒级。能够适用多种平台,具有较高的安全性和稳定性;(2)实现了自动化截图取证的系统,能够模拟在多种平台上的安全事件截图。可以设置任务的优先级。提高系统的实用化能力。

本发明公开了一种海量网页的自动化截图取证方法,该方法由任务代理(A),截图服务(S)和浏览器插件(P)三个不同的角色相互协作组成。

A的具体步骤包括:

(1)对URL进行分组和优先级设置:根据WEB类安全事件类型,将URL分为网页挂马、暗链接攻击、网页篡改、钓鱼攻击和其他类型五种,并设置对应处理的优先级别。跳转步骤(2)。

(2)向S推送分组标定后的URL信息,S接收该信息后存储于优先级队列中。跳转步骤(3)。

(3)S计算此次与A通信交互的认证指纹,将指纹信息返回给A,跳转步骤(4)。

(4)A以认证指纹为KEY,向S轮询截图取证是否完成,如果完成跳转步骤(5);否则,在达到轮询时间后,继续执行步骤(4)。轮询时间的设置可以降低S的通信压力,提高有效请求。避免A会高频率的请求S服务,造成服务压力过大。

(5)从S中获取截图取证的描述信息。结束算法。

S的具体步骤包括:

(1)初始化S的服务进程:1)后台完成对浏览器多平台参数的模拟;2)对来自A、P请求的初始化,跳转步骤(2)。

(2)监听客户端请求信息的到达,具体处理步骤如下:

(2.1)接收A的推送URL请求:根据优先级将URL字符添加到S的优先级队列中,并计算当前交互的认证指纹,跳转步骤(3)。

(2.2)接收A的轮询请求:检查S的字典中是否有对应的值,有则获取相应的截图取证描述信息,更新字典数据,跳转步骤(3);否则直接跳转步骤(3)。字典是一个key-value的字符序列对,包括了请求的URL字符串、认证指纹、截图描述信息等。

(2.3)接收P的截图命令:调用截图进程完成截图操作,生成截图描述信息,更新字典数据,跳转步骤(3)。

(2.4)接收P的获取URL请求:检查S的优先级队列是否为空,如果不为空,获取优先级最高的URL信息,跳转步骤(3);否则直接跳转步骤(3)。

(3)向客户端发送响应信息,当前请求结束,跳转步骤(2)。

P的具体步骤包括:

(1)向S发送一个URL请求,请求一个URL,URL来源于S的优先级队列中优先级最高的URL字符串。如果S中优先级队列为空,则关闭浏览器标签,算法结束。否则跳转步骤(2)。

(2)在浏览器TAB页中打开URL对应的WEB页面,同时设置轮询检查状态的时间,等待时间到达跳转步骤(3)。

(3)定时轮询检查页面是否加载完成:如果页面加载完成或者页面加载超时,则激活该页面在当前窗口显示,跳转步骤(4);否则继续等待,执行步骤(3)。

(4)向S发送截图请求,包括页面id和加载完成后的URL字符串,收到完成应答后跳转步骤(5),否则抛出截图异常,算法终止。

(5)关闭当前页面,初始化参数值,重复步骤(1)。

本发明也公开了一种海量网页的自动化截图取证系统,主要由浏览器插件(P)、任务代理(A)、截图服务器(S);其中截图服务器(S)包括截图服务模块、安全监听组件和取证存储模块。系统运行中各个模块的功能如下:

(1)浏览器插件(P):在浏览器中的工作。主要功能包括1)向截图服务模块获取任务代理(A)提交的URL请求信息;2)控制浏览器的TAB打开URL对应的网页;3)定时检查TAB页面的加载状态是否完成;4)向截图服务模块发送截图指令;5)在超时或者收到截图服务模块响应信息的情况下关闭TAB标签页。

(2)任务代理(A):主要功能是1)处理海量的网页请求,对截图请求的URL进行分组和优先级设置;2)向截图服务模块推送URL数据,获取“交互认证指纹”;3)周期性向截图服务模块获取交互认证指纹所标定的URL是否完成截图操作,完成则获取取证数据。

在任务代理(A)中,1)交互认证指纹由当前请求的URL、优先级、类型、交互端口、线程号和时间进行hash计算,生成唯一的特征码;2)截图取证数据包括但不限于URL、类型、事件类型、截图取证时间、大小、路径、截图名称等JSON或CSV格式的字符串。

由于URL重定向和JavaScript脚本等原因,浏览器发给取证模块的URL字符串和调用浏览器的URL字符串可能不同,采用交互的唯一性保证截图取证的一致性。

(3)截图服务模块:该模块是后台服务和信息交互的调度中心,采用被动方式工作。主要功能包括1)守护后台进程的运行;2)模拟不同平台的设备信息加载到浏览器中;3)对优先级队列的初始化;4)对POST/GET方法提交的数据进行解析处理;5)对相应数据行进私有协议的封装;6)响应浏览器插件(P)对URL的请求;7)向优先级队列中添加任务代 理(A)提交的URL信息,并计算交互认证指纹返回给任务代理(A);8)与浏览器交互,发送截图命令并响应浏览器插件(P);9)对优先级队列和字典中的信息进行维护,包括增加、补充和删除。

(4)安全监听组件:该模块主要监听浏览器的状态是否正常,如果被劫持或者异常,负责对虚拟安全环境的复原和异常信息报警。

(5)取证存储模块:该模块主要对截图取证的结构化信息和非结构化信息进行存档。

在该模块中,1)结构化信息存储在结构化数据库中,内容包括但不限于URL、类别、事件类型、截图取证时间、大小、截图平台、存储路径、截图名称和MD5值;2)图片信息存储在图片服务器中,截图格式包括但不限于JPG和PNG。

与现有技术相比,本发明的积极效果为:

本发明公开的一种海量网页的自动化截图取证方法和系统。与已公开的方法和系统相比,具有如下积极效果:

(1)截图取证信息高效、完整:能对WEB类安全事件的页面进行截图,截图时间在10秒内。包含URL地址栏的信息、截图时间,提高了取证的完整性和效率。

(2)满足海量网页的自动化截图:能够对海量的网页信息进行自动化截图取证,在虚拟安全隔离环境中(DMZ)完成操作,具有较高的安全性和稳定性。

(3)适用于多种平台,可根据任务需求设置优先级:能够适用于PC桌面操作系统、苹果移动操作系统(iOS)、基于安卓(Android)的操作系统的多种平台的安全事件截图。能够根据任务的紧急情况设置优先级。提高截图取证的实用化能力。

附图说明

图1为一种海量网页的自动化截图取证方法流程图;

(a)A角色的流程图,(b)S角色的流程图;(c)P角色的流程图;

图2为一种海量网页的自动化截图取证系统模块图;

图3为一种海量网页的自动化截图取证系统部署图。

具体实施方式

下面,结合具体的实施例对本发明进行详细说明。结合附图对本发明的原理和特征进行 描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

图1给出了一种海量网页的自动化截图取证方法流程图。该方法由任务代理(A),截图服务(S)和浏览器插件(P)三个不同的角色相互协作组成。具体实施步骤如下:

A的具体步骤包括:

(1)对URL进行分组和优先级设置:根据WEB类安全事件类型,将URL分为网页挂马、暗链接攻击、网页篡改、钓鱼攻击和其他类型五种,并设置对应处理的优先级别。跳转步骤(2)。

(2)向S推送分组标定后的URL信息,S接收该信息后存储于优先级队列中。跳转步骤(3)。

(3)S计算此次与A通信交互的认证指纹,将指纹信息返回给A,跳转步骤(4)。

(4)A以认证指纹为KEY,向S轮询截图取证是否完成,如果完成跳转步骤(5);否则,在达到轮询时间后,继续执行步骤(4)。

在该步骤中,轮询的时间间隔必须要设置,否则会增加S端的请求压力,造成过多的无效通信。此外,有些页面在加载过程中要求用户点击操作才能进行,在轮询间隔的时间窗口,A也可以模拟用户的鼠标或键盘事件,完成交互操作。

(5)从S中获取截图取证的描述信息。结束算法。

S的具体步骤包括:

(1)初始化S的服务进程:1)后台完成对浏览器多平台参数的模拟;2)对来自A、P请求的初始化,跳转步骤(2)。

在该步骤中,多平台的模拟包括但不限于1)PC桌面系统;2)移动iOS系统;3)Android系统。

(2)监听客户端请求信息的到达,具体处理步骤如下:

(2.1)接收A的推送URL请求:根据优先级将URL字符添加到S的优先级队列中,并计算当前交互的认证指纹,跳转步骤(3)。

在该步骤中,交互认证指纹由当前请求的URL、优先级、类型、交互端口、线程号和时间进行hash计算,生成唯一的特征码。

(2.2)接收A的轮询请求:检查S的字典中是否有对应的值,有则获取相应的截图取证描述信息,更新字典数据,跳转步骤(3);否则直接跳转步骤(3)。

(2.3)接收P的截图命令:调用截图进程完成截图操作,生成截图描述信息,更新字典数据,跳转步骤(3)。

在该步骤中,生成的截图取证描述信息包括但不限于1)初试URL字符串;2)类型;3)安全事件类型;4)截图取证时间;5)截图大小;6)截图操作系统;7)存储路径;8)截图名称;9)截图MD5值;10)实际浏览器中URL地址。

(2.4)接收P的获取URL请求:检查S的优先级队列是否为空,如果不为空,获取优先级最高的URL信息,跳转步骤(3);否则直接跳转步骤(3)。

(3)向客户端发送响应信息,当前请求结束,跳转步骤(2)。

P的具体步骤包括:

(1)向S请求一个URL,URL来源于S的优先级队列中优先级最高的URL字符串。如果S中优先级队列为空,则关闭浏览器标签,算法结束。否则跳转步骤(2)。

(2)在浏览器TAB页中打开URL对应的WEB页面,同时设置轮询检查状态的时间,等待时间到达跳转步骤(3)。

(3)定时轮询检查页面是否加载完成:如果页面加载完成或者页面加载超时,则激活该页面在当前窗口显示,跳转步骤(4);否则继续等待,执行步骤(3)。

(4)向S发送截图请求,包括页面id和加载完成后的URL字符串,收到完成响应后跳转步骤(5),否则抛出截图异常,算法终止。

在该步骤中,算法终止,即无法进行正常的海量网页截图,浏览器一直停留在一个页面上没有动作。

(5)关闭当前页面,初始化参数值,重复步骤(1)。

本发明公开了一种海量网页的自动化截图取证系统,主要由浏览器插件(P)、任务代理(A)、截图服务器(S);其中截图服务器(S)包括截图服务模块、安全监听组件和取证存储模块。如图2所示,系统运行中各个模块的功能如下:

(1)浏览器插件(P):在浏览器中的工作。主要功能包括1)向截图服务模块获取任务代理(A)提交的URL请求信息;2)控制浏览器的TAB打开URL对应的网页;3)定时检查TAB页面的加载状态是否完成;4)向截图服务模块发送截图指令;5)在超时或者收到截图服务模块响应信息的情况下关闭TAB标签页。

浏览器插件(P)主要完成浏览器进程与截图服务模块的信息交互,并监测浏览器的状态、 设置超时时间等。插件依赖浏览器的运行,本身不能独立工作。

(2)任务代理(A):主要功能是1)处理海量的网页请求,对截图请求的URL进行分组和优先级设置;2)向截图服务模块推送URL数据,获取“交互认证指纹”;3)周期性向截图服务模块获取交互认证指纹所标定的URL是否完成截图操作,完成则获取取证数据。

在任务代理(A)中,1)交互认证指纹由当前请求的URL、优先级、类型、交互端口、线程号和时间进行hash计算,生成唯一的特征码;2)截图取证数据包括但不限于URL、类型、事件类型、截图取证时间、大小、路径、截图名称等JSON或CSV格式的字符串。

由于URL重定向和JavaScript脚本等原因,浏览器发给取证模块的URL字符串和调用浏览器的URL字符串可能不同,采用交互的唯一性保证截图取证的一致性。

其中对URL的分组,主要针对不同的WEB类安全事件,分为网页挂马、暗链接攻击、钓鱼网站攻击、网页篡改和其他。随着攻击行为的复杂性和隐蔽性的发展,分组的类别包括但不限于以上五种。

(3)截图服务模块:该模块是后台服务和信息交互的调度中心,采用被动方式工作。主要功能包括1)守护后台进程的运行;2)模拟不同平台的设备信息加载到浏览器中;3)对优先级队列的初始化;4)对POST/GET方法提交的数据进行解析处理;5)对相应数据行进私有协议的封装;6)响应浏览器插件(P)对URL的请求;7)向优先级队列中添加任务代理(A)提交的URL信息,并计算交互认证指纹返回给任务代理(A);8)与浏览器交互,发送截图命令并响应浏览器插件(P);9)对优先级队列中的信息进行维护,包括增加、补充和删除。

在该模块中,考虑多种平台的适用性,截图服务模块在初始启动时根据配置的不同,启动不同的模拟参数,包括但不限于PC桌面操作系统、苹果移动操作系统(iOS)、基于安卓(Android)的操作系统这三类。不同的类型单独占用一个独立的虚拟安全环境。每个虚拟安全环境由独立的安全监听组件负责。

(4)安全监听组件:该模块主要监听浏览器的状态是否正常,如果被劫持或者异常,负责对虚拟安全环境的复原和异常信息报警。

在该组件中,安全监听进程还负责截断和管制异常的主机行为和网络行为,对异常事件进行日志留存。

(5)取证存储模块:该模块主要对截图取证的结构化信息和非结构化信息进行存档。

在该模块中,1)结构化信息存储在结构化数据库中,内容包括但不限于URL、类型、 事件类型、截图取证时间、大小、截图平台、存储路径、截图名称和MD5值;2)图片信息存储在图片服务器中,截图格式包括但不限于JPG和PNG。

图3给出了系统的部署图。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1