漏洞检测方法和设备的制造方法

文档序号:10626826阅读:451来源:国知局
漏洞检测方法和设备的制造方法
【专利摘要】本申请提供一种所述漏洞检测方法及设备,所述方法包括:获取漏洞的信息;对所述漏洞的信息所对应的验证性测试代码进行处理,并将处理后的验证性测试代码集成到集成页面中;利用受测对象加载所述集成页面,并触发所述处理后的验证性测试代码自动检测;以及生成所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的信息。所述漏洞检测方法及设备能够实现了集中自动运行的漏洞检测,大大提高漏洞检测效率,提供漏洞检测性能,进而改善用户体验。
【专利说明】
漏洞检测方法和设备
技术领域
[0001] 本申请涉及通信及计算机领域,尤其涉及漏洞检测方法和设备。
【背景技术】
[0002] 漏洞是指一个系统存在的弱点或缺陷,系统对特定威胁攻击或危险事件的敏感 性,或进行攻击的威胁作用的可能性。漏洞可能来自应用软件或操作系统设计时的缺陷或 编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理 之处。这些缺陷、错误或不合理之处可能被有意或无意地利用,从而对一个组织的资产或运 行造成不利影响,如信息系统被攻击或控制,重要资料被窃取,用户数据被篡改,系统被作 为入侵其他主机系统的跳板。从目前发现的漏洞来看,应用软件中的漏洞远远多于操作系 统中的漏洞,特别是WEB应用系统中的漏洞更是占信息系统漏洞中的绝大多数。
[0003] UXSS (Universal Cross-site Scripting,通用跨站脚本攻击)漏洞属于通用型 XSS(Cross Site Scripting,跨站脚本攻击)漏洞,是由于浏览器本身或者浏览器插件存在 漏洞而导致的XSS,不需要网站有漏洞才能攻击,在有漏洞的浏览器上浏览任意网站都会受 到攻击,因此危害巨大。
[0004] 今年8月底,一个国外网站暴露了安卓系统(Android)上的一个UXSS漏洞,影响 三星、HTC等众多手机。恶意用户利用该漏洞,可以在浏览任意网站时执行JS代码(采用 JavaScript编写的脚本文件的代码),会造成Cookie (储存在用户本地终端上的数据)等 敏感信息泄漏,危害较为严重。该漏洞在2010的chrome (谷歌浏览器)上被人发现,谷歌 公司当时修复了 chrome上的漏洞,但是Android上的Webit (开源浏览器引擎)没有合入, 导致老洞开新花。实际上,Android上的UXSS漏洞不止这一个,截止2013年底对Android 历史漏洞进行排查的时候,发现Android上还存在4个影响严重的UXSS漏洞。
[0005] 同样的,针对浏览器或其他系统中存在的漏洞问题,由于没有及时检测漏洞并修 复漏洞会因漏洞引起系统一系列安全问题。
[0006] 现有技术方案主要是通过手动运行漏洞的信息对应的poc代码(Proof of Concept,验证性测试代码)来检测漏洞是否存在,因此效率低下,同时现有技术主要是根 据网上间断爆出的UXSS漏洞来跟进,需要人为进行检测,因此对漏洞的检测同时存在滞后 性。

【发明内容】

[0007] 本发明的目的是提供一种漏洞检测方法和设备,能够最快自动发现相关漏洞。通 过爬虫获取最新漏洞的信息,使系统具有最新漏洞的感知能力。通过修改漏洞检测性测试 代码,使之具备自动化检测能力,大大提高漏洞发现能力。
[0008] 有鉴于此,本申请一方面提供一种漏洞检测方法,其中,所述漏洞检测方法包括:
[0009] 获取漏洞的?目息;
[0010] 对所述漏洞的信息所对应的验证性测试代码进行处理,并将处理后的验证性测试 代码集成到集成页面中;
[0011] 利用受测对象加载所述集成页面,并触发所述处理后的验证性测试代码自动检 测;以及
[0012] 生成所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的信息。
[0013] 优选的,获取漏洞的信息包括:
[0014] 采用爬虫技术从网络中获取所述漏洞的信息。
[0015] 优选的,获取漏洞的信息包括:
[0016] 在网络中搜索提供漏洞的信息的网站;
[0017] 监控所述提供漏洞的信息的网站是否有漏洞的信息更新;以及
[0018] 当有漏洞的信息更新时,则爬取该漏洞的信息和验证性测试代码。
[0019] 优选的,对所述漏洞的信息所对应的验证性测试代码进行处理包括:
[0020] 增加用于触发所述验证性测试代码进行自动检测的代码;以及
[0021] 增加用于在自动检测过程中自动调用被检测网页的代码。
[0022] 优选的,对所述漏洞的信息所对应的验证性测试代码进行处理包括:
[0023] 将所述漏洞的信息所对应的验证性测试代码插入具有自动检测指令的页面模板。
[0024] 优选的,将处理后的验证性测试代码集成到集成页面包括:
[0025] 采用页面框架将处理后的验证性测试代码集成到集成页面中。
[0026] 优选的,利用受测对象加载所述集成页面包括:
[0027] 获取漏洞检测请求,并根据所述漏洞检测请求,请求利用所述漏洞检测请求所对 应的受测对象加载所述集成页面。
[0028] 优选的,所述漏洞检测请求由具有所述受测对象的用户设备发起,且生成的所述 受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的信息由该用户设备获取并展 不。
[0029] 优选的,触发所述处理后的验证性测试代码自动检测包括:
[0030] 并行触发所有处理后的验证性测试代码自动检测。
[0031] 进一步的,所述漏洞的信息包括漏洞名称、漏洞类型、漏洞编号及漏洞地址中的一 种或任意组合。
[0032] 进一步的,所述漏洞为UXSS漏洞。
[0033] 本申请另一方面提供一种用于漏洞检测的漏洞检测设备,其中,所述漏洞检测设 备包括:
[0034] 第一装置,用于获取漏洞的信息;
[0035] 第三装置,用于对所述漏洞的信息所对应的验证性测试代码进行处理,并将处理 后的验证性测试代码集成到集成页面中;
[0036] 第五装置,用于利用受测对象加载所述集成页面,并触发所述处理后的验证性测 试代码自动检测;以及
[0037] 第七装置,用于生成所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏 洞的信息。
[0038] 优选的,所述第一装置采用爬虫技术从网络中获取所述漏洞的信息。
[0039] 优选的,所述第一装置包括:
[0040] 第一单元,用于在网络中搜索提供漏洞的信息的网站;
[0041] 第二单元,用于监控所述提供漏洞的信息的网站是否有漏洞的信息更新;以及
[0042] 第三单元,用于当有漏洞的信息更新时,则爬取该漏洞的信息和验证性测试代码。
[0043] 优选的,所述第三装置包括:
[0044] 第四单元,用于增加用于触发所述验证性测试代码进行自动检测的代码;以及
[0045] 第五单元,用于增加用于在自动检测过程中自动调用被检测网页的代码。
[0046] 优选的,所述第三装置包括:
[0047] 第六单元,用于将所述漏洞的信息所对应的验证性测试代码插入具有自动检测指 令的页面模板。
[0048] 优选的,所述第三装置包括:
[0049] 第七单元,用于采用页面框架将处理后的验证性测试代码集成到集成页面中。
[0050] 优选的,所述第五装置包括:
[0051] 第八单元,用于获取漏洞检测请求,并根据所述漏洞检测请求,请求利用所述漏洞 检测请求所对应的受测对象加载所述集成页面。
[0052] 优选的,所述漏洞检测请求由具有所述受测对象的用户设备发起,且生成的所述 受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的信息由该用户设备获取并展 不。
[0053] 优选的,所述第五装置包括:
[0054] 第九单元,用于并行触发所有处理后的验证性测试代码自动检测。
[0055] 进一步的,所述漏洞的信息包括漏洞名称、漏洞类型、漏洞编号及漏洞地址中的一 种或任意组合。
[0056] 进一步的,所述漏洞为UXSS漏洞。
[0057] 综上所述,相比于现有技术中技术人员需要对每一所述漏洞的信息所对应的验证 性测试代码进行一一手动执行实现漏洞检测,本申请所述漏洞检测方法通过对所述漏洞的 信息所对应的验证性测试代码进行处理,使处理后的验证性测试代码具有自动检测功能, 并且将处理后的验证性测试代码集成到集成页面中,从而在进行漏洞检测时,根据漏洞检 测请求,直接利用受测对象加载所述集成页面,并触发若干所述处理后的验证性测试代码 同时自动执行,以分别对受测对象进行漏洞检测,从而实现了集中自动运行的漏洞检测,大 大提高漏洞检测效率,提供漏洞检测性能,进而改善用户体验。
[0058] 进一步的,所述漏洞检测方法采用爬虫技术从网络中获取所述漏洞的信息,能够 及时监控并获取最新的漏洞的信息,因而使所述漏洞检测方法能够具有最新的漏洞的感知 能力和最全的漏洞检索能力。
【附图说明】
[0059] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它 特征、目的和优点将会变得更明显:
[0060] 图1示出根据本申请一个方面的漏洞检测设备示意图;
[0061] 图2示出根据本申请一优选实施例中具体的用于获取漏洞的信息的第一装置的 示意图;
[0062] 图3示出根据本申请一个方面的漏洞检测方法示意图;
[0063] 图4示出根据本申请一优选实施例中具体的用于获取漏洞的信息的方法流程示 意图;
[0064] 图5示出本申请一优选的实施例中漏洞检测设备和用户设备配合实现漏洞检测 的方法流程图;
[0065] 图6、图7及图8示出本申请一优选的实施例中用户设备在漏洞检测过程中所展现 的界面示意图。
[0066] 附图中相同或相似的附图标记代表相同或相似的部件。
【具体实施方式】
[0067] 在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个 处理器(CPU)、输入/输出接口、网络接口和内存。
[0068] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/ 或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质 的示例。
[0069] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法 或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。 计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、 动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电 可擦除可编程只读存储器(EEPR0M)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性 存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的 界定,计算机可读介质不包括非暂存电脑可读媒体(Transitory Media),如调制的数据信 号和载波。
[0070] 图1示出根据本申请一个方面的漏洞检测设备示意图。如图1所示,所述漏洞检 测设备包括第一装置110、第三装置130、第五装置150及第七装置170。
[0071] 其中,第一装置110用于获取漏洞的信息;第三装置130用于对所述漏洞的信息所 对应的验证性测试代码进行处理,并将处理后的验证性测试代码集成到集成页面中;第五 装置150用于利用受测对象加载所述集成页面,并触发所述处理后的验证性测试代码自动 检测;以及第七装置170用于生成所述受测对象是否存在漏洞的结果以及存在漏洞时的相 应漏洞的信息。
[0072] 在此,所述漏洞的信息可以包括漏洞名称、漏洞类型、漏洞编号及漏洞地址中的一 种或任意组合。其他能够确定用于确定漏洞的种类的相关信息都可以包含在本申请的思想 范围之内。
[0073] 在此,本申请所述的漏洞可以为UXSS漏洞,包括移动终端中系统、浏览器等具有 的UXSS漏洞,例如,安卓(Android)浏览器、安卓系统、苹果移动终端系统(ios)中安装的 浏览器、Webkit (开源的浏览器引擎)等设备中具有的UXSS漏洞。
[0074] 在优选的实施例中,第一装置110采用爬虫技术从网络中获取所述漏洞的信息。 第一装置110通过从网络中搜索提供漏洞的信息的网站,并监控相应提供漏洞的信息的网 站是否有漏洞的信息更新,一旦监控到有漏洞的信息更新时,则爬取该漏洞的信息和验证 性测试代码。
[0075] 图2示出根据本申请一优选实施例中具体的用于获取漏洞的信息的第一装置的 示意图,如图2所示,其中,第一装置110包括第一单元1100、第二单元1200及第三单元 1300。其中,第一单元1100用于在网络中搜索提供漏洞的信息的网站;第二单元口。。用于 监控所述提供漏洞的信息的网站是否有漏洞的信息更新;以及第三单元1300用于当有漏 洞的信息更新时,则爬取该漏洞的信息和验证性测试代码。
[0076] 在具体的实施例中,以检测安卓浏览器中的漏洞为目标,则第一装置110采用爬 虫技术从网络中获取所述安卓浏览器的漏洞的信息网站,经搜索获得以下信息库网站:
[0077] 安卓漏洞信息库网站:http://android, scap. org. cn/index. html
[0078] Chromium issue列表网站:https://code, google, com/p/chromium/issues/list
[0079] 当然,本领域技术人员应当理解上述网站仅为举例,根据检测漏洞目标的不同、提 供漏洞的信息的网站的变化情况等,在网络中搜索提供漏洞的信息的网站可以具体不同, 并不限制于此,今后可能出现的提供漏洞的信息的网站均包含于本申请的思想范围之内。
[0080] 因此,所述第一装置110能够及时监控并获取最新的漏洞的信息,从而能够使漏 洞检测设备能够具有最新的漏洞的感知能力。
[0081] 然后,第三装置130对所述漏洞的信息所对应的验证性测试代码进行处理。处理 过程可以通过技术人员对相应验证测试代码进行手动修改,使其具有自动检测功能;在其 他优选的实施例中,对所述漏洞的信息所对应的验证性测试代码进行处理也可以建立统一 的页面模板,然后将每次获取的相应验证测试代码直接将相应验证测试代码插入具有自动 检测指令的页面模板。
[0082] 具体地,在一较佳的实施例中,所述第三装置130包括第四单元(未示出)和第五 单元(未示出),其中,第四单元用于增加用于触发所述验证性测试代码进行自动检测的代 码;第五单元用于增加用于在自动检测过程中自动调用被检测网页的代码。
[0083] 具体地,在另一较佳的实施例中,所述第三装置130包括第六单元,其中,第六单 元用于将所述漏洞的信息所对应的验证性测试代码插入具有自动检测指令的页面模板。
[0084] 例如,页面模板如下:
[0085]
[0086] 当然,本领域技术人员应当理解上述页面模板的代码表示仅为举例,根据检测漏 洞的信息对应的验证性测试代码的不同等,页面模板的代码可以具体不同,并不限制于此, 今后可能出现的页面模板的代码,能够将所述漏洞的信息所对应的验证性测试代码实现自 动检测功能的方式均包含于本申请的思想范围之内。
[0087] 在优选的实施例中,所述第三装置1300还可以包括第七单元,所述第七单元采 用页面框架(Iframe)将处理后的验证性测试代码集成到集成页面中。采用页面框架 (Iframe)进行集成,能够在后续漏洞检测过程中,实现多个验证性测试代码同时并行检测, 从而大幅提尚检测效率,降低检测消耗的时间,提尚性能,进而改善用户体验。
[0088] 采用页面框架进行集成的代码实现方式例如为:
[0089]
[0090]
[0091] 当然,本领域技术人员应当理解为,所述的采用页面框架进行集成的代码实现方 式仅为举例,其他今后可能实现的采用页面框架进行集成的代码或其他实现方式等都应包 含在本申请的思想范围之内。
[0092] 因此,所述第三装置1300通过对所述漏洞的信息所对应的验证性测试代码进行 处理,使处理后的验证性测试代码具备自动化检测能力,并且将处理后的验证性测试代码 集成到集成页面中,能够使多个验证性测试代码同时并行检测,从而大大提高漏洞发现能 力和检测效率,降低检测消耗时间,进而改善用户体验。
[0093] 然后,所述第五装置150利用受测对象加载所述集成页面,并触发所述处理后的 验证性测试代码自动检测。
[0094] 触发所述处理后的验证性测试代码自动检测的代码实现方式例如为:
[0095] document. documentURI = ^javascript://hostname, com/ % 0? % OAdocument. write (//<script>location. href = ' htt p://10. 68. 95. 121/uxss_test/record. php ? id = Γ ;</script>//);
[0096] 当然,本领域技术人员应当理解为,所述的触发所述处理后的验证性测试代码自 动检测的代码实现方式仅为举例,其他今后可能实现的触发所述处理后的验证性测试代码 自动检测的代码或其他实现方式等都应包含在本申请的思想范围之内。
[0097] 在较佳的实施例中,所述第五装置150包括第八单元(未示出),所述第八单元用 于获取漏洞检测请求,并根据所述漏洞检测请求,请求利用所述漏洞检测请求所对应的受 测对象加载所述集成页面。
[0098] 在此,所述漏洞检测请求由具有所述受测对象的用户设备发起,且生成的所述受 测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的信息由该用户设备获取并展示。 即,任一用户需要对用户设备中的受测对象进行漏洞检测时,控制用户设备向本申请所述 漏洞检测设备发起漏洞检测请求,本申请所述漏洞检测设备利用用户设备的受测对象(例 如,受测对象为安卓系统中的浏览器)加载所述集成页面,触发所述处理后的验证性测试 代码自动检测并生成所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的信 息,在后续步骤中,用户设备可以向所述漏洞检测设备获取其生成的结果,已将漏洞检测的 相关结果展示给用户。
[0099] 在较佳的实施例中,所述第五装置150还可以包括第九单元(未示出),所述第九 单元用于并行触发所有处理后的验证性测试代码自动检测,并行触发所有处理后的验证性 测试代码自动检测能够在漏洞检测过程中,实现多个验证性测试代码同时并行检测,从而 大幅提高检测效率,降低检测消耗时间,进而改善用户体验。
[0100] 然后,第七装置170生成所述受测对象是否存在漏洞的结果以及存在漏洞时的相 应漏洞的信息。
[0101] 此后,所述生成的所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞 的信息可以由具有受测对象的用户设备获取并展示给用户。
[0102] 用户设备获取并展示所生成的相关结果的代码实现方式例如为:
[0103]
[0104] 当然,本领域技术人员应当理解为,所述的用户设备获取并展示所生成的相关结 果的代码实现方式仅为举例,其他今后可能实现的用户设备获取并展示所生成的相关结果 的代码或其他实现方式等都应包含在本申请的思想范围之内。
[0105] 相比于现有技术中技术人员需要对每一所述漏洞的信息所对应的验证性测试代 码进行一一手动执行实现漏洞检测,本申请所述漏洞检测设备通过对所述漏洞的信息所对 应的验证性测试代码进行处理,使处理后的验证性测试代码具有自动检测功能,并且将处 理后的验证性测试代码集成到集成页面中,从而在进行漏洞检测时,根据漏洞检测请求,直 接利用受测对象加载所述集成页面,并触发若干所述处理后的验证性测试代码同时自动执 行,以分别对受测对象进行漏洞检测,从而实现了集中自动运行的漏洞检测,大大提高漏洞 检测效率,提供漏洞检测性能,进而改善用户体验。
[0106] 进一步的,所述漏洞检测设备采用爬虫技术从网络中获取所述漏洞的信息,能够 及时监控并获取最新的漏洞的信息,从而使漏洞检测设备能够具有最新的漏洞的感知能力 和最全的漏洞检索能力。
[0107] 图3示出根据本申请一个方面的漏洞检测方法示意图。如图3所示,所述漏洞检 测方法包括步骤S11、步骤S13、步骤S15及步骤S17。
[0108] 其中,在步骤SI 1中,获取漏洞的信息;在步骤S13中,对所述漏洞的信息所对应的 验证性测试代码进行处理,并将处理后的验证性测试代码集成到集成页面中;在步骤S15 中,利用受测对象加载所述集成页面,并触发所述处理后的验证性测试代码自动检测;以 及在步骤S17中,生成所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的信 息。
[0109] 在此,所述漏洞的信息可以包括漏洞名称、漏洞类型、漏洞编号及漏洞地址中的一 种或任意组合。其他能够确定用于确定漏洞的种类的相关信息都可以包含在本申请的思想 范围之内。
[0110] 在此,本申请所述的漏洞可以为UXSS漏洞,包括移动终端中系统、浏览器等具有 的UXSS漏洞,例如,安卓(Android)浏览器、安卓系统、苹果移动终端系统(ios)中安装的 浏览器、Webkit (开源的浏览器引擎)等设备中具有的UXSS漏洞。
[0111] 在优选的实施例中,在步骤S11中,采用爬虫技术从网络中获取所述漏洞的信息。 通过从网络中搜索提供漏洞的信息的网站,并监控相应提供漏洞的信息的网站是否有漏洞 的信息更新,一旦监控到有漏洞的信息更新时,则爬取该漏洞的信息和验证性测试代码。
[0112] 图4示出根据本申请一优选实施例中具体的用于获取漏洞的信息的方法流程示 意图,结合图4,所述步骤S11包括步骤S110、步骤S120及步骤S130,其中,在步骤S110中, 在网络中搜索提供漏洞的信息的网站;在步骤S120中,用于监控所述提供漏洞的信息的网 站是否有漏洞的信息更新;以及在步骤S130中,当有漏洞的信息更新时,则爬取该漏洞的 信息和验证性测试代码。
[0113] 在具体的实施例中,以检测安卓浏览器中的漏洞为目标,则在步骤S110中,采用 爬虫技术从网络中获取所述安卓浏览器的漏洞的信息网站,经搜索获得以下信息库网站:
[0114] 安卓漏洞信息库网站:http://android, scap. org. cn/index. html
[0115] Chromium issue列表网站:https://code, google, com/p/chromium/issues/list
[0116] 当然,本领域技术人员应当理解上述网站仅为举例,根据检测漏洞目标的不同、提 供漏洞的信息的网站的变化情况等,在网络中搜索提供漏洞的信息的网站可以具体不同, 并不限制于此,今后可能出现的提供漏洞的信息的网站均包含于本申请的思想范围之内。
[0117] 因此,步骤S110能够及时监控并获取最新的漏洞的信息,从而能够使漏洞检测设 备能够具有最新的漏洞的感知能力。
[0118] 然后,在步骤S130中,对所述漏洞的信息所对应的验证性测试代码进行处理。处 理过程可以通过技术人员对相应验证测试代码进行手动修改,使其具有自动检测功能;在 其他优选的实施例中,对所述漏洞的信息所对应的验证性测试代码进行处理也可以建立统 一的页面模板,然后将每次获取的相应验证测试代码直接将相应验证测试代码插入具有自 动检测指令的页面模板。
[0119] 具体地,在一较佳的实施例中,在步骤S130中,包括:增加用于触发所述验证性测 试代码进行自动检测的代码以及增加用于在自动检测过程中自动调用被检测网页的代码。
[0120] 具体地,在另一较佳的实施例中,在步骤S130中,包括:将所述漏洞的信息所对应 的验证性测试代码插入具有自动检测指令的页面模板。
[0121] 例如,页面模板如下:
[0122]
[0124] 当然,本领域技术人员应当理解上述页面模板的代码表示仅为举例,根据检测漏 洞的信息对应的验证性测试代码的不同等,页面模板的代码可以具体不同,并不限制于此, 今后可能出现的页面模板的代码,能够将所述漏洞的信息所对应的验证性测试代码实现自 动检测功能的方式均包含于本申请的思想范围之内。
[0125] 在优选的实施例中,在步骤S130中,采用页面框架(Iframe)将处理后的验证性 测试代码集成到集成页面中。采用页面框架(Iframe)进行集成,能够在后续漏洞检测过 程中,实现多个验证性测试代码同时并行检测,从而大幅提高检测效率,降低检测消耗的时 间,提尚性能,进而改善用户体验。
[0126] 采用页面框架进行集成的代码实现方式例如为:
[0127]
[0129] 当然,本领域技术人员应当理解为,所述的采用页面框架进行集成的代码实现方 式仅为举例,其他今后可能实现的采用页面框架进行集成的代码或其他实现方式等都应包 含在本申请的思想范围之内。
[0130] 因此,在步骤S130中,通过对所述漏洞的信息所对应的验证性测试代码进行处 理,使处理后的验证性测试代码具备自动化检测能力,并且将处理后的验证性测试代码集 成到集成页面中,能够使多个验证性测试代码同时并行检测,从而大大提高漏洞发现能力 和检测效率,降低检测消耗时间,进而改善用户体验。
[0131] 然后,在步骤S15中,利用受测对象加载所述集成页面,并触发所述处理后的验证 性测试代码自动检测。
[0132] 触发所述处理后的验证性测试代码自动检测的代码实现方式例如为:
[0133] document. documentURI = ^javascript://hostname, com/ % 0? % OAdocument. write (//<script>location. href = ' htt p://10. 68. 95. 121/uxss_test/record. php ? id = Γ ;</script>//);
[0134] 当然,本领域技术人员应当理解为,所述的触发所述处理后的验证性测试代码自 动检测的代码实现方式仅为举例,其他今后可能实现的触发所述处理后的验证性测试代码 自动检测的代码或其他实现方式等都应包含在本申请的思想范围之内。
[0135] 在较佳的实施例中,在步骤S15中,包括:获取漏洞检测请求,并根据所述漏洞检 测请求,请求利用所述漏洞检测请求所对应的受测对象加载所述集成页面。
[0136] 在此,所述漏洞检测请求由具有所述受测对象的用户设备发起,且生成的所述受 测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的信息由该用户设备获取并展示。 即,任一用户需要对用户设备中的受测对象进行漏洞检测时,控制用户设备向本申请所述 漏洞检测设备发起漏洞检测请求,本申请所述漏洞检测设备利用用户设备的受测对象(例 如,受测对象为安卓系统中的浏览器)加载所述集成页面,触发所述处理后的验证性测试 代码自动检测并生成所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的信 息,在后续步骤中,用户设备可以向所述漏洞检测设备获取其生成的结果,已将漏洞检测的 相关结果展示给用户。
[0137] 在较佳的实施例中,在步骤S15中,还可以包括:并行触发所有处理后的验证性 测试代码自动检测,并行触发所有处理后的验证性测试代码自动检测能够在漏洞检测过程 中,实现多个验证性测试代码同时并行检测,从而大幅提高检测效率,降低检测消耗时间, 进而改善用户体验。
[0138] 然后,在步骤S17中,生成所述受测对象是否存在漏洞的结果以及存在漏洞时的 相应漏洞的信息。
[0139] 此后,所述生成的所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞 的信息可以由具有受测对象的用户设备获取并展示给用户。
[0140] 用户设备获取并展示所生成的相关结果的代码实现方式例如为:
[0141]
[0143] 当然,本领域技术人员应当理解为,所述的用户设备获取并展示所生成的相关结 果的代码实现方式仅为举例,其他今后可能实现的用户设备获取并展示所生成的相关结果 的代码或其他实现方式等都应包含在本申请的思想范围之内。
[0144] 图5示出本申请一优选的实施例中漏洞检测设备和用户设备配合实现漏洞检测 的方法流程图。如图5所示,所述用户设备2包括第二装置220'和第四装置240',其中,所 述第二装置220'用于向漏洞检测设备发起漏洞检测请求,所述第四装置240'用于从漏洞 检测设备中获取其生成的所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞 的信息。
[0145] 所述漏洞检测设备1包括第一装置110'、第三装置130'、第五装置150'及第七装 置170',所述漏洞检测设备1的第一装置110'、第三装置130'、第五装置150'及第七装置 170'与图1中第一装置110、第三装置130、第五装置150及第七装置170的内容相同或基 本相同,为简明起见,在此不做赘述。
[0146] 所述漏洞检测设备1的第一装置110'从网络中获取漏洞的信息,第二装置120' 对所述漏洞的信息所对应的验证性测试代码进行处理,使处理后的验证性测试代码具有自 动检测功能,并且将处理后的验证性测试代码集成到集成页面中。
[0147] 所述用户设备2的第二装置220'向漏洞检测设备发起漏洞检测请求,所述漏洞检 测设备1的第五装置150'获取漏洞检测请求后,根据所述漏洞检测请求,请求利用用户设 备2的受测对象加载集成页面,并触发若干所述处理后的验证性测试代码同时自动执行漏 洞检测,并由第七装置170'生成所述受测对象是否存在漏洞的结果以及存在漏洞时的相 应漏洞的信息,随后,用户设备2的第四装置240'从漏洞检测设备中获取其生成的所述受 测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的信息,并将所述生成的相关结果 展示给用户。
[0148] 图6、图7及图8示出本申请一优选的实施例中用户设备在漏洞检测过程中所展现 的界面示意图。
[0149] 在一具体的实施例中,以检测某安卓系统的浏览器中是否有UXSS漏洞为例,所述 用户设备2向用户设备提供如图6所示的请求界面,当用户点击其中"开始测试"后,所述用 户设备2的第二装置220'向漏洞检测设备发起漏洞检测请求,所述漏洞检测设备1开始对 用户设备2中的安卓系统的浏览器进行漏洞检测,检测过程的展示如图7所示,当所述漏洞 检测设备1检测完毕后,用户设备2即可从所述漏洞检测设备1获取相关结果,展示受测对 象是否存在漏洞,如图8所示,如果未存在漏洞,则显示不存在漏洞的消息,如果存在漏洞, 则显示相应漏洞的信息,完成漏洞检测过程。
[0150] 当然,本领域技术人员应当理解上述用户设备的展现界面示意图仅为举例,根据 具体漏洞检测类型、要求等,用户设备的展现界面可以具体不同,并不限制于此,今后可能 出现的用户设备的展现界面示意图,能够将本申请所述的漏洞检测设备生成的相关检测结 果展示给用户的方式均包含于本申请的思想范围之内。
[0151] 综上所述,相比于现有技术中技术人员需要对每一所述漏洞的信息所对应的验证 性测试代码进行一一手动执行实现漏洞检测,本申请所述漏洞检测方法通过对所述漏洞的 信息所对应的验证性测试代码进行处理,使处理后的验证性测试代码具有自动检测功能, 并且将处理后的验证性测试代码集成到集成页面中,从而在进行漏洞检测时,根据漏洞检 测请求,直接利用受测对象加载所述集成页面,并触发若干所述处理后的验证性测试代码 同时自动执行,以分别对受测对象进行漏洞检测,从而实现了集中自动运行的漏洞检测,大 大提高漏洞检测效率,提供漏洞检测性能,进而改善用户体验。
[0152] 进一步的,所述漏洞检测方法采用爬虫技术从网络中获取所述漏洞的信息,能够 及时监控并获取最新的漏洞的信息,因而使所述漏洞检测方法能够具有最新的漏洞的感知 能力和最全的漏洞检索能力。
[0153] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精 神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围 之内,则本申请也意图包含这些改动和变型在内。
[0154] 需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采 用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例 中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的 软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器, 磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例 如,作为与处理器配合从而执行各个步骤或功能的电路。
[0155] 另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被 计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。 而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通 过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行 的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括 用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序 指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或 技术方案。
[0156] 对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在 不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论 从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权 利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有 变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此 外,显然"包括" 一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多 个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来 表示名称,而并不表示任何特定的顺序。
【主权项】
1. 一种漏洞检测方法,其中,所述漏洞检测方法包括: 获取漏洞的?目息; 对所述漏洞的信息所对应的验证性测试代码进行处理,并将处理后的验证性测试代码 集成到集成页面中; 利用受测对象加载所述集成页面,并触发所述处理后的验证性测试代码自动检测;以 及 生成所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的信息。2. 根据权利要求1所述的漏洞检测方法,其中,获取漏洞的信息包括: 采用爬虫技术从网络中获取所述漏洞的信息。3. 根据权利要求2所述的漏洞检测方法,其中,获取漏洞的信息包括: 在网络中搜索提供漏洞的信息的网站; 监控所述提供漏洞的信息的网站是否有漏洞的信息更新;以及 当有漏洞的信息更新时,则爬取该漏洞的信息和验证性测试代码。4. 根据权利要求1至3中任一项所述的漏洞检测方法,其中,对所述漏洞的信息所对应 的验证性测试代码进行处理包括: 增加用于触发所述验证性测试代码进行自动检测的代码;以及 增加用于在自动检测过程中自动调用被检测网页的代码。5. 根据权利要求1或3中任一项所述的漏洞检测方法,其中,对所述漏洞的信息所对应 的验证性测试代码进行处理包括: 将所述漏洞的信息所对应的验证性测试代码插入具有自动检测指令的页面模板。6. 根据权利要求1至5中任一项所述的漏洞检测方法,其中,将处理后的验证性测试代 码集成到集成页面包括: 采用页面框架将处理后的验证性测试代码集成到集成页面中。7. 根据权利要求1至6中任一项所述的漏洞检测方法,其中,利用受测对象加载所述集 成页面包括: 获取漏洞检测请求,并根据所述漏洞检测请求,请求利用所述漏洞检测请求所对应的 受测对象加载所述集成页面。8. 根据权利要求7所述的漏洞检测方法,其中,所述漏洞检测请求由具有所述受测对 象的用户设备发起,且生成的所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏 洞的信息由该用户设备获取并展示。9. 根据权利要求1至8中任一项所述的漏洞检测方法,其中,触发所述处理后的验证性 测试代码自动检测包括: 并行触发所有处理后的验证性测试代码自动检测。10. 根据权利要求1至9中任一项所述的漏洞检测方法,其中,所述漏洞的信息包括漏 洞名称、漏洞类型、漏洞编号及漏洞地址中的一种或任意组合。11. 根据权利要求1至10中任一项所述的漏洞检测方法,其中,所述漏洞为UXSS漏洞。12. -种用于漏洞检测的漏洞检测设备,其中,所述漏洞检测设备包括: 第一装置,用于获取漏洞的信息; 第三装置,用于对所述漏洞的信息所对应的验证性测试代码进行处理,并将处理后的 验证性测试代码集成到集成页面中; 第五装置,用于利用受测对象加载所述集成页面,并触发所述处理后的验证性测试代 码自动检测;以及 第七装置,用于生成所述受测对象是否存在漏洞的结果以及存在漏洞时的相应漏洞的 信息。13. 根据权利要求12所述的漏洞检测设备,其中,所述第一装置采用爬虫技术从网络 中获取所述漏洞的信息。14. 根据权利要求13所述的漏洞检测设备,其中,所述第一装置包括: 第一单元,用于在网络中搜索提供漏洞的信息的网站; 第二单元,用于监控所述提供漏洞的信息的网站是否有漏洞的信息更新;以及 第三单元,用于当有漏洞的信息更新时,则爬取该漏洞的信息和验证性测试代码。15. 根据权利要求12至14中任一项所述的漏洞检测设备,其中,所述第三装置包括: 第四单元,用于增加用于触发所述验证性测试代码进行自动检测的代码;以及 第五单元,用于增加用于在自动检测过程中自动调用被检测网页的代码。16. 根据权利要求12至14中任一项所述的漏洞检测设备,其中,所述第三装置包括: 第六单元,用于将所述漏洞的信息所对应的验证性测试代码插入具有自动检测指令的 页面模板。17. 根据权利要求12至16中任一项所述的漏洞检测设备,其中,所述第三装置包括: 第七单元,用于采用页面框架将处理后的验证性测试代码集成到集成页面中。18. 根据权利要求12至17中任一项所述的漏洞检测设备,其中,所述第五装置包括: 第八单元,用于获取漏洞检测请求,并根据所述漏洞检测请求,请求利用所述漏洞检测 请求所对应的受测对象加载所述集成页面。19. 根据权利要求18所述的漏洞检测设备,其中,所述漏洞检测请求由具有所述受测 对象的用户设备发起,且生成的所述受测对象是否存在漏洞的结果以及存在漏洞时的相应 漏洞的信息由该用户设备获取并展示。20. 根据权利要求12至19中任一项所述的漏洞检测设备,其中,所述第五装置包括: 第九单元,用于并行触发所有处理后的验证性测试代码自动检测。21. 根据权利要求12至20中任一项所述的漏洞检测设备,其中,所述漏洞的信息包括 漏洞名称、漏洞类型、漏洞编号及漏洞地址中的一种或任意组合。22. 根据权利要求12至21中任一项所述的漏洞检测设备,其中,所述漏洞为UXSS漏 洞。
【文档编号】G06F17/30GK105991554SQ201510058677
【公开日】2016年10月5日
【申请日】2015年2月4日
【发明人】李天祥
【申请人】阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1