掌桥专利:专业的专利平台
掌桥专利
首页

一种网站漏洞提取方法、装置、电子设备、芯片及介质

文献发布时间:2024-04-18 20:01:23


一种网站漏洞提取方法、装置、电子设备、芯片及介质

技术领域

本公开涉及数据安全技术领域,尤其涉及一种网站漏洞提取方法、装置、电子设备、芯片及介质。

背景技术

在数据安全领域中,常用的漏洞挖掘技术主要基于爬虫的网站扫描分析,通过扫描端口、主机及操作系统,可以获得很多有价值的信息,利用这些信息可进一步推断可能存在的安全风险。另外,还有通过二进制对比进行漏洞挖掘,用于挖掘出已知的漏洞。存在漏洞扫描不精确、无法针对不同扫描目标制定合理扫描策略的问题。

发明内容

本公开提供一种网站漏洞提取方法、装置、电子设备、芯片及介质,以解决相关技术中,漏洞扫描不精确,无法针对不同扫描目标制定合理扫描策略的问题,通过通过检测网站特征并与数据模型进行匹配,能够识别网站自身的漏洞或被网络攻击注入的恶意代码。同时本提案基于对漏洞站点的归纳统计,建立一种自动提取存储漏洞信息的数据模型,能够极大地提高整体的漏洞匹配能力。提案使用的漏洞扫描分析方法综合特征选择、数据挖掘、数据分析和统计分析等多种手段,对于常见的网站漏洞,恶意代码注入等攻击方式具有准确快速的识别能力。

本公开的第一方面实施例提出了一种网站漏洞提取方法,该方法包括:

获取目标网站的原始数据;

基于原始数据,生成目标网站的第一漏洞特征数据,第一漏洞特征数据包括信息熵、条件熵、互信息、条件冗余程度;

根据第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据;

根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据。

本公开的一种实施例中,根据第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据,包括:

确定第一漏洞特征数据的第一特征和初始漏洞库的评价因子,评价因子表征特征相关性;

比较评价因子与第一阈值,若评价因子大于或等于第一阈值,则将第一特征添加至第二漏洞特征数据中,否则,将第一特征从第一漏洞特征数据中删除。

本公开的一种实施例中,根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据,包括:

生成第二漏洞特征数据的副本为第三漏洞特征数据;

确定第三漏洞特征数据中的第二特征与第三特征的第一冗余度,第二特征和第三特征为第三漏洞特征数据中两个不同的元素;

确定第二特征与第四漏洞特征数据集中每个特征的第二冗余度,第四漏洞特征数据集用于存储目标网站的所有漏洞数据和初始漏洞库。

根据第一冗余度和第二冗余度,确定目标网站的漏洞数据。

本公开的一种实施例中,在根据第一冗余度和第二冗余度,确定目标网站的漏洞数据之后,还包括:

对目标网站的漏洞数据与第四漏洞特征数据集进行关联度匹配,若关联度小于或等于第二阈值,则将目标网站的漏洞数据保存至第四漏洞特征数据集中。

本公开的一种实施例中,对目标网站的漏洞数据与第四漏洞特征数据集进行关联度匹配,包括:

生成目标网站的漏洞数据的第四特征,第四特征为信息熵、条件熵、互信息、条件冗余程度中的任一;

通过聚类算法确定第四特征在第四漏洞特征数据集的特征类别信息;

基于特征类别信息,生成第一站点漏洞特征数据;

确定第一站点漏洞特征数据与第四漏洞特征数据集中每个漏洞特征的关联度。

本公开的一种实施例中,在将目标网站的漏洞数据保存至第四漏洞特征数据集之后,还包括:

根据第四漏洞特征数据集,通过回归分析提取第五漏洞特征;

将第五漏洞特征保存至第四漏洞特征数据集。

本公开的第二方面实施例提出了一种网站漏洞提取装置,该装置包括:

获取模块,用于获取目标网站的原始数据;

生成模块,用于基于原始数据,生成目标网站的第一漏洞特征数据,第一漏洞特征数据包括信息熵、条件熵、互信息、条件冗余程度;

确定模块,用于根据第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据;

提取模块,用于根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据。

本公开的第三方面实施例提出了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开第一方面实施例中任一项的方法。

本公开的第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,计算机指令用于使计算机执行本公开第一方面实施例中的方法。

本公开的第五方面实施例提出了一种芯片,包括至少一个处理器和通信接口;通信接口用于接收输入芯片的信号或从芯片输出的信号,处理器与通信接口通信且通过逻辑电路或执行代码指令实现本公开第一方面实施例中任一项的方法。

综上,根据本公开提出的网站漏洞提取方法,获取目标网站的原始数据,为网站漏洞提取准备了原始数据;基于原始数据,生成目标网站的第一漏洞特征数据,第一漏洞特征数据包括信息熵、条件熵、互信息、条件冗余程度,为网站漏洞提取提供了目标网站的漏洞特征数据;根据第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据,为网站漏洞提取进行了筛选比对,保留了未知的漏洞数据;根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据,进一步保障了漏洞扫描提取的准确度,提升了网页应用漏洞扫描的准确性和扫描效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1为本公开实施例的一种网站漏洞提取方法的流程图;

图2为本公开实施例的一种根据第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据的流程图;

图3为本公开实施例的一种根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据的流程图;

图4为本公开实施例的一种基于目标网站的漏洞数据与第四漏洞特征数据集进行关联度匹配,处理目标网站的漏洞数据的流程图;

图5为本公开实施例的一种对目标网站的漏洞数据与第四漏洞特征数据集进行关联度匹配的流程图;

图6为更新第四漏洞特征数据集的流程图;

图7为本公开实施例的一种网站特征数据采集流程图;

图8为本公开实施例的一种网站特征提取系统架构图;

图9为本公开实施例的一种网站应用漏洞提取的流程图;

图10为本公开实施例的一种网站漏洞提取装置的结构示意图;

图11是根据一示例性实施例示出的一种用于实现本公开网站漏洞提取方法的电子设备的框图;

图12是本公开实施例的芯片的结构示意图。

具体实施方式

下面详细描述本公开的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号标识相同或类似的原件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。

网站安全已成为全世界面临的主要问题之一,而网站漏洞又是威胁网络安全最重要的因素之一。据中国信息安全测评中心国内外信息安全漏洞态势报告,漏洞数量增长趋势依旧持续。网站存在漏洞,易被攻击者植入木马、病毒等,对网站的安全性能、用户的隐私、数据及财产安全造成威胁。

相关技术中,主要是基于爬虫的网站扫描分析来实现常见的漏洞挖掘。网页漏洞扫描技术包括端口扫描、主机扫描、操作系统指纹识别扫描等,是一种比较有效的主动防御技术。通过扫描端口、主机及操作系统,可以得到很多有价值的信息,利用这些信息进一步推断出可能存在的安全风险。网络爬虫是可以自动抓取互联网信息的程序。其主要目的是将互联网上的网页下载到本地进行镜像以备进一步分析处理。扫描和网络爬虫都只是挖掘漏洞的一个步骤,获取一些有价值的信息帮助研究者加以分析,但是它们都无法直接扫描到漏洞,需要配合使用其他的技术或者利用插件对网站的漏洞进行挖掘。本技术方案中,尽管在实践中已经证明其可行性,但是因为没有对扫描目标进行精准的画像,导致其扫描漏洞的效率和精确度不够高,同时还需要对漏洞插件较为依赖,面对新型漏洞存在无法及时适配的缺陷。

相关技术中,通过二进制比对技术实现漏洞挖掘,也可称为补丁比对技术,它主要是被用以挖掘“已知”的漏洞,因此在一定意义上也可被认为是一种漏洞分析技术。由于不知道漏洞的确切位置和成因,因此需要通过比较补丁前后的二进制文件以确定漏洞的位置和成因。在本技术方案中,在二进制漏洞问题上,很多研究者只是简单的对某些可执行文件进行二进制漏洞挖掘,而且还是主要停留在挖掘缓冲区溢出、整数溢出这些常见的漏洞挖掘技术上,对那些少见的或未知的漏洞并未进行研究,也未实现自动化及提出相关漏洞解决方案。

本公开旨在解决相关技术中,漏洞扫描不精确,无法针对不同扫描目标制定合理扫描策略的问题,同时面对少见漏洞和新型漏洞给出了一种发掘方法。以提升网页应用漏洞扫描的准确性和扫描效率。

本公开提出的方法应用于网页漏洞探测任务,其应用具有丰富的场景,通过检测网站特征并与数据模型进行匹配,能够识别网站自身的漏洞或被网络攻击注入的恶意代码。同时本公开基于对漏洞站点的归纳统计,建立一种自动提取存储漏洞信息的数据模型,能够极大地提高整体的漏洞匹配能力。本公开使用的漏洞扫描分析方法综合特征选择、数据挖掘、数据分析和统计分析等多种手段,对于常见的网站漏洞,恶意代码注入等攻击方式具有准确快速的识别能力。可广泛应用于各类网站的安全检查、漏洞扫描、木马查杀、病毒扫描以及云安全等领域。在本公开实施例中对应用场景不予限制。

下面结合附图对本申请所提供的网站漏洞提取方法进行详细介绍。

图1为本公开实施例的一种网站漏洞提取方法的流程图。如图1所示的实施例,该网站漏洞提取方法包括:

步骤101,获取目标网站的原始数据。

本实施例中,目标网站为待进行提取网页应用漏洞的网站,其原始数据包括文本内容、图像、音频、视频、链接、样式表和java脚本(JavaScript,js)文件等元素。文本内容是网页的核心,让访问者了解页面的主题和关注点。图像、音频、和视频文件通过引用方式加载,丰富了网页的视觉效果。而样式表(Cascading Style Sheets,CSS)和js文件则控制着网页的展现形式和交互行为。其中,CSS主要负责网页的布局和样式,比如文字颜色、背景图片等;js则是实现网页上的动态效果和互动功能,如弹出窗口、表单验证等。可通过爬虫技术获取到目标站点的所有特征,包括页面关键字、css、js、静态资源、内部链接等特征信息,并将其根据类别简单分类存储到数据库中,以供下一步特征分析使用。

步骤102,基于原始数据,生成目标网站的第一漏洞特征数据,第一漏洞特征数据包括信息熵、条件熵、互信息、条件冗余程度。

本实施例中,第一漏洞特征数据为目标网站的数据在漏洞特征层面的表示,其包括信息熵、条件熵、互信息和条件冗余程度。

其中,

信息熵,信息熵是对随机变量的不确定性的一种衡量。它可被这样定义为:

条件熵,在已知一个随机变量X的值的情况下,描述另一个随机变量Y的结果所需的信息。给定随机变量X与Y,定义域分别为x和y,在给定条件X下Y的条件熵定义为:

互信息(Mutual Information),互信息是另一有用的信息度量,它是指两个事件集合之间的相关性。两个事件X和Y的互信息定义为:

I(X;Y)=H(X)-H(X|Y)。

条件冗余程度,用于比较分析决策Y的特征X

通过获取到的目标网站的原始数据,通过计算这四个漏洞特征,可筛选出若干对漏洞特征的特征值,首先根据一般性的漏洞进行预配置,将漏洞站点特征输入初始化程序,程序对漏洞站点特征进行分类、去重和筛选,最终获取到对某一网站漏洞的数据模型,并将该数据模型与站点类型进行关联,一起存储到数据库中。

步骤103,根据第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据。

本实施例中,初始漏洞库为保存有已有漏洞的数据库,或者为保存漏洞而新建的数据库,可以为已有漏洞特征数据构成的数据库,也可以为设置有预设规则的漏洞数据库。第二漏洞特征数据为通过第一漏洞特征数据和初始漏洞库中保存的漏洞数据进行的关联度匹配,而得到的未存在于初始漏洞库中的漏洞特征数据。

步骤104,根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据。

本实施例中,网站的漏洞数据主要包括:SQL注入、跨站脚本(XSS)攻击、文件包含漏洞、权限漏洞、命令注入漏洞、目录遍历漏洞、跨站请求伪造(CSRF)漏洞、数据库漏洞、格式化字符串漏洞、缓冲区溢出漏洞、伪造请求漏洞等。这些漏洞可以发生在网站的不同部位,如服务器、数据库、应用程序代码和配置文件等。例如,SQL注入攻击通常发生在应用程序的数据库层上,如果设计程序时忽略了对输入字符串中夹带的SQL指令的检查,就可能被数据库误认为是正常的SQL指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,甚至进一步导致网站被嵌入恶意代码或被植入后门程序等危害。通过第二漏洞特征数据的冗余度,可以进一步扫描发现漏洞并提取。

综上,根据本公开提出的网站漏洞提取方法,获取目标网站的原始数据,为网页漏洞提取准备了原始数据;基于原始数据,生成目标网站的第一漏洞特征数据,第一漏洞特征数据包括信息熵、条件熵、互信息、条件冗余程度,为网站漏洞提取提供了目标网站的漏洞特征数据;根据第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据,为网站漏洞提取进行了筛选比对,保留了未知的漏洞数据;根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据,进一步保障了漏洞扫描提取的准确度,提升了网页应用漏洞扫描的准确性和扫描效率。

图2为本公开实施例的一种根据第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据的流程图。图2是对图1的步骤103做的进一步说明,基于图2所示的实施例,包括如下步骤:

步骤201,确定第一漏洞特征数据的第一特征和初始漏洞库的评价因子,评价因子表征特征相关性。

本实施例中,第一特征为第一漏洞特征数据中的任意一个特征;评价因子为评判特征相关性的指标,可定义评价因子作为特征选择过程的阈值。如果集合S是特征集合,其互信息集为Im={o1,o2,…,om},则评价因子e(S)可定义为:

步骤202,比较评价因子与第一阈值,若评价因子大于或等于第一阈值,则将第一特征添加至第二漏洞特征数据中,否则,将第一特征从第一漏洞特征数据中删除。

本实施例中,第一阈值为预设的用于衡量评价因子值大小的数值。比较评价因子和第一阈值,如果评价因子大于或等于第一特征,那么将第一特征添加到第二漏洞特征数据中,说明该第一特征与已存漏洞数据库中的漏洞的特征相似度高,该第一特征所表征的目标网站的数据极有可能为漏洞所表现的特征数据,故而保留该疑似漏洞的特征数据至第二漏洞特征数据中;如果评价因子小于第一阈值,说明该第一特征与已存漏洞库中漏洞的特征相似度低,并非漏洞相关特征,那么将该第一特征从第一漏洞特征数据中删除。

本实施例中,通过第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据,筛选了与预设或已有漏洞的关联度高的疑似漏洞数据,为网站应用漏洞提取完成了首次筛选。为了提取到网站应用漏洞,还需要进行特征冗余度的计算。

图3为本公开实施例的一种根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据的流程图。图3是对图2和图1的步骤104做的进一步说明,基于图3所示的实施例,包括如下步骤:

步骤301,生成第二漏洞特征数据的副本为第三漏洞特征数据。

本实施例中,第三漏洞特征数据为第二漏洞特征数据复制产生的副本。用于判断漏洞特征数据的重复程度。

步骤302,确定第三漏洞特征数据中的第二特征与第三特征的第一冗余度,第二特征和第三特征为第三漏洞特征数据中两个不同的元素。

本实施例中,第二特征和第三特征均为第三漏洞特征数据中的元素,且为不同的元素,第一冗余度为第二特征和第三特征之间的冗余度,可通过如下公式计算第三漏洞特征数据的第二特征Xi和第三特征Xj之间的第一冗余度,可定义为:

步骤303,确定第二特征与第四漏洞特征数据集中每个特征的第二冗余度,第四漏洞特征数据集用于存储目标网站的所有漏洞数据和初始漏洞库。

本实施例中,第二冗余度第四漏洞特征数据集为存储目标网站的所有漏洞数据和初始漏洞库的数据集。遍历第四漏洞特征数据集中的每个特征并与第二特征计算第二冗余度,其计算方法与上述步骤中的第一冗余度的计算方法一致。

步骤304,根据第一冗余度和第二冗余度,确定目标网站的漏洞数据。

本实施例中,根据已计算的第一冗余度和第二冗余度,如果第一冗余度小于或等于第二冗余度,那么将第二特征对应漏洞确定为目标网站的漏洞数据,将第二特征加入到第四漏洞特征数据集中;否则,持续从第三特征数据中选择第二特征,并做冗余度的对比,直到将第三特征数据清空。

本实施例中,根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据,进一步保障了漏洞扫描提取的准确度,提升了网页应用漏洞扫描的准确性和扫描效率。

图4为本公开实施例的一种基于目标网站的漏洞数据与第四漏洞特征数据集进行关联度匹配,处理目标网站的漏洞数据的流程图。图4是对图3的步骤304进行的进一步说明,基于图3所示的实施例,包括如下步骤:

步骤401,对目标网站的漏洞数据与第四漏洞特征数据集进行关联度匹配,若关联度小于或等于第二阈值,则将目标网站的漏洞数据保存至第四漏洞特征数据集中。

本实施例中,第二阈值为用于衡量关联度大小的数值,在根据第一冗余度和第二冗余度,确定目标网站的漏洞数据之后,需要对目标网站的漏洞数据与第四漏洞特征数据进行计算关联度,根据关联度大小进行处理。当关联度小于或等于第二阈值时,说明目标网站的漏洞数据与已存在与第四漏洞特征数据集中的特征数据相似度不高,目标网站的当前漏洞数据很有可能为未知的新型漏洞,则将其保存至第四漏洞特征数据集中。其中,对于目标网站的漏洞数据与第四漏洞特征数据进行计算关联度并匹配通过如下实施例所实现。

图5为本公开实施例的一种对目标网站的漏洞数据与第四漏洞特征数据集进行关联度匹配的流程图。图5是对图4的步骤401进行的具体说明,基于图5所示的实施例,包括以下步骤:

步骤501,生成目标网站的漏洞数据的第四特征,第四特征为信息熵、条件熵、互信息、条件冗余程度中的任一。

本实施例中,第四特征为通过目标网站的源数据计算得到的信息熵、条件熵、互信息、条件冗余程度等数据,基于目标网站的源数据,生成目标网站的漏洞数据的第四特征。

步骤502,通过聚类算法确定第四特征在第四漏洞特征数据集的特征类别信息。

本实施例中,特征类别信息为第四漏洞特征数据集中存在于特征数据之间形成的不同类别,该不同类别通过聚类算法所得到。例如,通过KNN算法计算第四特征在第四漏洞特征数据集中被聚类后的特征类别信息。

该过程首先是对特征进行初步分析,得出站点类型、站点使用组件等基础信息,以方便针对站点类型进行更准确的漏洞特征匹配。根据特征分类存储结果,与通过初始化得到的特征类别分析数据进行匹配,如果匹配相似度大于预设的阈值,则可以认证该站点符合已知的某种站点特征。如果未发现相似的已知站点类型,则需要对这些数据进行记录,以补充漏洞特征库。

此过程通过K最近邻(K-Nearest Neighbor,KNN)算法实现,如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。在特征匹配的计算过程中,计算特征值的欧几里得距离的数学模型如下所示:

例如,在上述特征提取过程中得到的漏洞特征是用关键词、特殊文件名、静态文件的哈希值和文件标签树(word、flab、cms、sf)的特征值构建的四维特征向量。根据上述-公式,其计算方法如下:

步骤503,基于特征类别信息,生成第一站点漏洞特征数据。

本实施例中,第一站点漏洞特征数据为第四漏洞特征数据集中目标网站的漏洞特征数据之间存在的类别特征信息。例如,第四漏洞特征数据集中存在N个漏洞特征,而N个漏洞特征在聚类处理后形成了3种类别的漏洞特征数据,该第一站点漏洞特征数据反映了目标网站的第四漏洞特征数据集中已提取到的众多漏洞特征的普遍特性。

步骤504,确定第一站点漏洞特征数据与第四漏洞特征数据集中每个漏洞特征的关联度。

本实施例中,利用上述图2的实施例中评价因子e(S)的计算方法,计算第一站点漏洞特征数据与第四漏洞特征数据集中每个漏洞特征的关联度,进一步确定第一站点漏洞特征数据在第四漏洞特征数据集中存在的共有特性。从而对未知的漏洞通过已有的数据进行确定特征,便于提高漏洞提取的适应性和效率。

图6为本公开实施例的一种更新第四漏洞特征数据集的流程图。图6是对图4的步骤401进行的进一步说明,基于图8所示的实施例,包括如下步骤:

步骤601,根据第四漏洞特征数据集,通过回归分析提取第五漏洞特征。

本实施例中,第五漏洞特征为第四漏洞特征数据中的漏洞特征经过聚类后对应于不同类别的漏洞特征所具有的相同特征。在第四漏洞特征数据集中,基于已提取的漏洞特征数据进行回归分析,提取所有或部分漏洞特征之间存在的共性特征。即,对扫描出的漏洞信息进行二次提取,将更准确的漏洞特征作为可用特征集写入数据库中,以此不断扩充系统的漏洞模型,达到自学习的目的。

步骤602,将第五漏洞特征保存至第四漏洞特征数据集。

本实施例中,通过对漏洞信息的二次提取所确定的第五漏洞,由于其为包含了第四漏洞特征数据集中部分或全部特征数据的共同特征,表明其具有较好的泛化能力,能够作为检查当前网站或其他网站的漏洞特征的依据,因此将第五漏洞特征保存至第四漏洞特征数据集中。从而完成了对网站中网页应用漏洞的提取,并实现了对未知漏洞的适应性提取能力。提高了网页漏洞提取的准确性和效率。

图7为本公开实施例的一种网站特征数据采集流程图。图7是对图1的步骤102的进一步说明,如图7所示,本实施例中,在目标网站的网页(web)通过爬虫工具爬取数据,并对已爬取数据通过数据提取模块筛选出目标类别的数据作为选定特征值,进而通过特征计算模块,计算特征数据。从而实现网站特征数据的采集。

图8为本公开实施例的一种网站特征提取系统架构图。图8是对图1的步骤102的进一步说明,如图8所示,本实施例中,网站特征提取系统主要有两个单元组成:数据提取单元,包括解析器和验证器;数据存储单元,主要用于分类存储各类网站特征信息。

其中,解析器,用于接收通过爬虫获取的网站信息,从中提取与特征相关的数据,然后将提取的特征数据传递给验证器。验证器,用于验证从解析器获取的信息是否正确和有效,并且其应当具有正确的格式。

数据存储单元中存储爬取的网站特征信息,包括链接、文本、静态资源等数据。

图9为本公开实施例的一种网页应用漏洞提取的流程图。如图9所示,本实施例中,从待定特征集T中选择特征X,进而计算特征与漏洞的相关程度信息I。通过相关程度I与用户或系统定义阈值K的比较,完成对漏洞站点的特征选择,主要包括两个步骤,一是去除不相干的特征信息,并将其从原始数据集中剔除,即,当相关程度I小于或等于用户或系统定义阈值K时,说明待定特征关联度低,将其从原始数据集中丢弃。二是对保留下的有效特征消除冗余信息,依据与最佳特征状态进行对比,保留相关系数最大的特征,进而形成对漏洞的精确特征描述,即,当相关程度I大于用户或系统定义阈值K,那么将待定特征X写入特征集R中。持续将待定特征集T中的特征X进行选出并判断相关度,根据相关度确定将特征X保留至新的特征集R中,或从特征集T中丢弃,直到将特征集T清空,否则,持续从特征集T中选择特征X进行相关度判断并处理。当特征集T被清空后,将特征集R复制一个副本至工作集W中,并生成一个结果集S用来保存最终漏洞特征,该结果集S初始为空。对于每个工作集W,在其中选出同时满足一下两个条件的特征Xk,这两个条件分别是:1、Xk与其他特征相比是与预设阈值最接近的(即Xk是与目标最相关的特征);2、与工作集W中的其他特征相比,特征Xk与已经筛选得到的各个特征之间的关联度最小。如果同时满足这两个条件,即Q(Xk,Xm)<=Q(Xk,Xn),其中,Xm属于工作集W,Xn属于结果集S。那么将Xk进入结果集S中,否则,持续从工作集W中选择特征Xk,进行判断并处理,直到工作集W为空,最后获得的结果集S即为保存提取的网页漏洞的集合。在实际挖掘过程,在该步骤中,本系统针对输入的特征集合进行分析,在一阶段针对网站的常见结构,如超文本标记语言(Hyper Text Markup Language,html)、css、js等文档,文档对象模型(Document Object Model,dom)树,静态文件哈希值进行分类归并。在二阶段应用上述特征筛选方法,将归类的特征进行对比,筛选出与已知漏洞特征最为符合的特征值,并写入结果集合中。

通过本公开实施例提供的网页漏洞提取方法,获取目标网站的原始数据,为网页漏洞提取准备了原始数据;基于原始数据,生成目标网站的第一漏洞特征数据,第一漏洞特征数据包括信息熵、条件熵、互信息、条件冗余程度,为网站漏洞提取提供了目标网站的漏洞特征数据;根据第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据,为网站漏洞提取进行了筛选比对,保留了未知的漏洞数据;根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据,进一步保障了漏洞扫描提取的准确度,提升了网页应用漏洞扫描的准确性和扫描效率。

与上述几种实施例提供的方法相对应,本公开还提供一种网站漏洞提取装置,由于本公开实施例提供的装置与上述几种实施例提供的方法相对应,因此方法的实施方式也适用于本实施例提供的装置,在本实施例中不再详细描述。

图10为本公开实施例的一种网站漏洞提取装置1000的结构示意图。如图10所示,该网站漏洞提取装置包括:

获取模块1010,用于获取目标网站的原始数据;

生成模块1020,用于基于原始数据,生成目标网站的第一漏洞特征数据,第一漏洞特征数据包括信息熵、条件熵、互信息、条件冗余程度;

确定模块1030,用于根据第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据;

提取模块1040,用于根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据。

在一些实施例中,确定模块1030用于:

确定第一漏洞特征数据的第一特征和初始漏洞库的评价因子,评价因子表征特征相关性;

比较评价因子与第一阈值,若评价因子大于或等于第一阈值,则将第一特征添加至第二漏洞特征数据中,否则,将第一特征从第一漏洞特征数据中删除。

在一些实施例中,提取模块1040用于:

生成第二漏洞特征数据的副本为第三漏洞特征数据;

确定第三漏洞特征数据中的第二特征与第三特征的第一冗余度,第二特征和第三特征为第三漏洞特征数据中两个不同的元素;

确定第二特征与第四漏洞特征数据集中每个特征的第二冗余度,第四漏洞特征数据集用于存储目标网站的所有漏洞数据和初始漏洞库。

根据第一冗余度和第二冗余度,确定目标网站的漏洞数据。

在一些实施例中,提取模块1040用于在根据第一冗余度和第二冗余度,确定目标网站的漏洞数据之后:

对目标网站的漏洞数据与第四漏洞特征数据集进行关联度匹配,若关联度小于或等于第二阈值,则将目标网站的漏洞数据保存至第四漏洞特征数据集中。

在一些实施例中,提取模块1040采用如下方式对目标网站的漏洞数据与第四漏洞特征数据集进行关联度匹配:

生成目标网站的漏洞数据的第四特征,第四特征为信息熵、条件熵、互信息、条件冗余程度中的任一;

通过聚类算法确定第四特征在第四漏洞特征数据集的特征类别信息;

基于特征类别信息,生成第一站点漏洞特征数据;

确定第一站点漏洞特征数据与第四漏洞特征数据集中每个漏洞特征的关联度。

在一些实施例中,提取模块1040用于在将目标网站的漏洞数据保存至第四漏洞特征数据集之后:

根据第四漏洞特征数据集,通过回归分析提取第五漏洞特征;

将第五漏洞特征保存至第四漏洞特征数据集。

综上,通过网站漏洞提取装置,获取目标网站的原始数据;基于原始数据,生成目标网站的第一漏洞特征数据,第一漏洞特征数据包括信息熵、条件熵、互信息、条件冗余程度;根据第一漏洞特征数据与初始漏洞库的关联度,确定第二漏洞特征数据;根据第二漏洞特征数据的冗余度,提取目标网站的漏洞数据。

本装置解决了相关技术中,漏洞扫描不精确,无法针对不同扫描目标制定合理扫描策略的问题,提升了网页应用漏洞扫描的准确性和扫描效率。

上述本申请提供的实施例中,对本申请实施例提供的方法及装置进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,电子设备可以包括硬件结构、软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能可以以硬件结构、软件模块、或者硬件结构加软件模块的方式来执行。

图11是根据一示例性实施例示出的一种用于实现上述网站漏洞提取方法的电子设备1100的框图。

例如,电子设备1100可以是移动电话,计算机,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图11,电子设备1100可以包括以下一个或多个组件:处理组件1102,存储器1104,电源组件1106,多媒体组件1108,音频组件1110,输入/输出(I/O)的接口1112,传感器组件1114,以及通信组件1116。

处理组件1102通常控制电子设备1100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1102可以包括一个或多个处理器1120来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1102可以包括一个或多个模块,便于处理组件1102和其他组件之间的交互。例如,处理组件1102可以包括多媒体模块,以方便多媒体组件1108和处理组件1102之间的交互。

存储器1104被配置为存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备1100上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件1106为电子设备1100的各种组件提供电力。电源组件1106可以包括电源管理系统,一个或多个电源,及其他与为电子设备1100生成、管理和分配电力相关联的组件。

多媒体组件1108包括在电子设备1100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1108包括一个前置摄像头和/或后置摄像头。当电子设备1100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件1110被配置为输出和/或输入音频信号。例如,音频组件1110包括一个麦克风(MIC),当电子设备1100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1104或经由通信组件1116发送。在一些实施例中,音频组件1110还包括一个扬声器,用于输出音频信号。

I/O接口1112为处理组件1102和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件1114包括一个或多个传感器,用于为电子设备1100提供各个方面的状态评估。例如,传感器组件1114可以检测到电子设备1100的打开/关闭状态,组件的相对定位,例如组件为电子设备1100的显示器和小键盘,传感器组件1114还可以检测电子设备1100或电子设备1100一个组件的位置改变,用户与电子设备1100接触的存在或不存在,电子设备1100方位或加速/减速和电子设备1100的温度变化。传感器组件1114可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1114还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1114还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件1116被配置为便于电子设备1100和其他设备之间有线或无线方式的通信。电子设备1100可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G LTE、5G NR(NewRadio)或它们的组合。在一个示例性实施例中,通信组件1116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件1116还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,电子设备1100可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1104,上述指令可由电子设备1100的处理器1120执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本公开的实施例还提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开上述实施例中描述的网站漏洞提取方法。

本公开的实施例还提出一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行本公开上述实施例中描述的网站漏洞提取方法。

图12是根据一示例性实施例示出的一种用于实现上述网站漏洞提取方法的芯片1200的结构示意图。

参照图12,芯片1200包括至少一个通信接口1201和处理器1202;通信接口1201用于接收输入芯片1200的信号或从芯片1200输出的信号,所述处理器1202与所述通信接口1201通信且通过逻辑电路或执行代码指令实现上述实施例中描述的网站漏洞提取方法。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(控制方法),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。

应当理解,本公开的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本公开的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。

尽管上面已经示出和描述了本公开的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施实施进行变化、修改、替换和变型。

相关技术
  • 一种基于SCD模型的综合自动化变电站监测系统及方法
  • 一种自动化综合制图方法及系统
  • 一种自动化综合制图方法及系统
技术分类

06120116553471