产学研创新服务平台(开云优惠体育网页版入口)
专利申请类型:发明专利;专利名称:一种链式信息收集与漏洞排查方法及相关产品
专利类型:发明专利
专利申请号:CN202411251768.6
专利申请(专利权)人:国网四川省电力公司乐山供电公司
权利人地址:四川省乐山市市中区海棠路168号
专利发明(设计)人:张杰豪,刘春,黎思敏,李骁睿,黄维维,张琴,杨明坤,敬昊鑫,张雪,何柳柳
专利摘要:本发明涉及信息安全技术领域,具体涉及一种链式信息收集与漏洞排查方法及相关产品,通过主动模式,生成并发送畸形HTTP报文,并获取系统服务和页面信息;通过被动模式分析网络流量数据;利用指纹识别技术将信息收集结果生成的指纹特征向量与已知指纹库进行匹配,结合匹配结果构建资产指纹库;通过匹配资产指纹库与漏洞数据库中的已知漏洞信息,进行漏洞检测,获得检测结果;本发明通过多种信息收集方式的结合,实现了对目标系统信息的全面收集,提高了信息收集的覆盖范围和精确度,而指纹识别技术通过整合不同来源的特征数据,构建了详细的资产指纹库,提升了对复杂系统结构的适应性和识别准确性。
主权利要求:
1.一种链式信息收集与漏洞排查方法,其特征在于,包括:信息收集,通过主动模式,生成并发送畸形HTTP报文,并使用自定义端口序列扫描和主动爬虫技术获取系统服务和页面信息;通过被动模式利用流量检测与深度包解析技术分析网络流量数据;
资产指纹识别,利用指纹识别技术将信息收集结果生成的指纹特征向量与已知指纹库进行匹配,结合匹配结果构建资产指纹库;
漏洞检测,通过匹配资产指纹库与漏洞数据库中的已知漏洞信息,进行漏洞检测,获得检测结果;
结果输出,输出信息收集结果、资产指纹库和检测结果;
主动模式中使用自定义端口序列扫描的方法包括:通过配置文件或网络探测工具,获取目标系统的IP地址范围,并生成潜在开放端口的初步列表,初始化扫描任务;
构建基于端口使用频率、端口顺序和调节参数的优先级函数,并通过优先级函数计算每个端口的优先级,生成一组按优先级排列的自定义端口序列;为自定义端口序列集合,, 为第 个端口,为需要扫描的端口总数;
定义优先级函数 ,其中, 为第 个端口的历史使用频率,为用于控制优先级分布的陡峭程度的调节参数, 为用于设定扫描集中区域的均值参数;
对各个端口进行优先级计算,并选择优先级函数值较大的端口进行优先扫描;
利用生成的自定义端口序列,对目标系统的每个端口进行逐一扫描,并通过与每个端口进行底层协议的交互,获取端口的响应数据;响应数据包括通信延迟、端口版本信息、协议头信息;
定义每个端口的 用于表示端口响应的特 征向量的响应函数 ,,其中, 为端口的通信延迟, 为通过特定协议标识符识别的端口版本信息, 为端口的协议头信息;多变量响应函数,其中, 、 和 为控制
不同响应特征的权重系数, 为端口版本信息 与已知服务版本库 的相似度,为协议头信息 与已知协议头库 的相似度;
对每个被扫描端口的响应数据进行分析,提取多维度的响应特征信息,形成响应特征向量集合 ;
其中,构建资产指纹库的方法包括:
从目标系统中通过畸形HTTP报文的响应收集获得响应特征向量、页面特征向量和网络流量特征向量,通过多源数据整合生成指纹特征向量集合,指纹特征向量集合包括:基本特征向量、高阶特征向量和交互特征向量;
指纹特征矩阵 : ,其中, 是基本特
征向量, 是高阶特征向量, 是交互特征向量;
,其中,
为HTTP响应码, 为响应时间, 为报文长度,为响应中出现的特定关键词的匹配情况;
,其中, 为响
应内容的熵值, 为基于响应内容的模式识别特征; 为响应内容中某些元素的变化速率;
,其中,
为不同请求?响应对之间的相关性; 为请求?响应对之间的顺序依赖性特征, 为请求?响应对之间的时间依赖特征;
定义融合后的指纹特征向量 ,其
中, 、 、 是融合过程中的权重参数;
生成指纹特征向量集合后,将其与已知的指纹库中的特征模板进行匹配,指纹匹配函数 ,其中, 是已知指纹库中的第个指纹特征向量, 是相似度计算函数;
根据相似度匹配的结果,将识别出的服务类型特征、版本信息和端口特征与提取的指纹特征向量相结合,最终构建目标系统的资产指纹库。
2.根据权利要求1所述的一种链式信息收集与漏洞排查方法,其特征在于,所述畸形HTTP报文包括:头信息变异报文:包含随机顺序HTTP头字段的报文、插入非法字段或使用随机字符串替换合法字段名的报文、在某些字段中插入超长字符串的报文;
URL变异报文:长度超出标准限制的过长URL的报文、在URL中插入非法字符或使用错误编码的报文、插入无效路径或参数生成URL结构变异的报文;
主体变异报文:包含超长数据的POST请求的报文、使用非标准格式对主体数据编码的报文、在主体数据中插入字符的报文;
混合报文:组合头信息变异报文、URL变异报文和主体变异报文。
3.根据权利要求1所述的一种链式信息收集与漏洞排查方法,其特征在于,使用主动爬虫技术的方法包括:结合分布式广度优先搜索和深度优先搜索构建爬虫策略,广度优先搜索用于优先收集目标系统的浅层页面和子域名,深度优先搜索用于深入探索每个子域名和页面内的嵌套链接;
提取每个爬取到的页面的相关信息,包括页面内容、链接和子域名;
应用去重算法对爬取的页面和子域名信息进行去重处理,其中去重算法包括SimHash和MinHash结合的去重算法,通过计算页面内容的SimHash和MinHash签名,判定页面的唯一性;
基于去重后的页面数据,生成页面特征向量集合,页面特征向量集合包括页面内容特征、链接特征和子域名特征。
4.根据权利要求1所述的一种链式信息收集与漏洞排查方法,其特征在于,利用流量检测与深度包解析技术分析网络流量数据的方法包括:通过网络设备的流量镜像端口或流量采样技术,捕获目标系统的网络通信数据,网络通信数据包括数据包的源地址和目的地址、传输协议类型、端口特征;
使用深度包解析技术对捕获的数据包进行多层次解析;
解析数据链路层,提取物理层和数据链路层的协议信息,包括源MAC地址、目的MAC地址和协议类型;
解析网络层,提取IP协议相关信息,包括源IP地址、目的IP地址、TTL值、传输协议类型和IP包总长度;
解析传输层,提取传输层协议的相关信息,包括源端口号、目的端口号、TCP序列号、确认号和标志位;
解析应用层协议,提取高层协议的相关信息,包括应用层协议名称、版本、协议头信息和负载数据的长度;
基于解析结果,提取多维度的网络流量特征信息,特征信息包括协议分布特征、数据包序列特征、应用层数据特征、通信会话的时间特征、异常行为模式特征;
将提取的网络流量特征信息进行结构化处理,生成网络流量特征向量集合。
5.根据权利要求1所述的一种链式信息收集与漏洞排查方法,其特征在于,匹配结果包括识别出的服务类型特征、版本信息和端口特征;
服务类型特征:通过与已知指纹库中的服务类型模板进行匹配,确定目标系统中运行的服务类型特征;
版本信息:通过比较指纹特征向量中的版本特征与已知指纹库中的版本特征确定服务类型所对应的版本信息;
端口特征:通过比较指纹特征向量中开放的端口特征与已知指纹库中的端口模板确定服务类型所对应的端口特征。
6.根据权利要求1所述的一种链式信息收集与漏洞排查方法,其特征在于,进行漏洞检测的方法包括:将资产指纹库中资产指纹特征整理为标准化的数据结构,所述数据结构包括服务类型特征、版本信息、端口特征及指纹特征;
将资产指纹库中的数据结构与漏洞数据库中的漏洞条目进行相似度匹配,首先根据服务类型特征和端口特征筛选相关漏洞条目,然后校验版本信息是否在漏洞条目定义的影响范围内,最后计算匹配度;
若匹配度大于设定值,则判定目标系统中存在对应的漏洞。
7.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1?6中任意一项所述的链式信息收集与漏洞排查方法。 说明书 : 一种链式信息收集与漏洞排查方法及相关产品技术领域[0001] 本发明涉及信息安全技术领域,具体涉及一种链式信息收集与漏洞排查方法及相关产品。背景技术[0002] 随着互联网的快速发展,信息系统的复杂性和规模日益增加,系统中的安全漏洞成为了严重威胁系统安全的重要因素。传统的漏洞检测方法通常依赖于单一的扫描工具或手动检查,效率低下且容易遗漏关键漏洞。此外,现有的漏洞检测方法在应对多样化的系统结构和复杂的网络环境时,往往存在适应性不足的问题,难以对系统中的各种潜在威胁进行全面有效的检测。[0003] 在实际应用中,漏洞检测通常需要多个步骤,包括信息收集、协议分析、指纹识别以及最终的漏洞验证。传统的检测方法多集中于某一环节,缺乏系统化、集成化的解决方案,导致检测结果不全面,难以准确识别系统中的真实威胁。因此,如何在信息收集的基础上,利用指纹识别技术有效整合不同来源的特征数据,并结合已知的漏洞信息,进行全面、精准的漏洞检测,成为当前信息安全领域亟待解决的问题。[0004] 综上所述,现有技术中的漏洞检测方法在检测效率、覆盖范围和准确性上均存在不足,无法适应现代信息系统的复杂需求,亟需一种能够集成多种检测手段的链式信息收集与漏洞排查方法,以提高系统漏洞检测的全面性和准确性。发明内容[0005] 本发明所要解决的技术问题是现有漏洞检测方法在应对复杂网络环境和多样化系统结构时,检测效率低下、覆盖范围不足、准确性不高的问题,目的在于提供一种链式信息收集与漏洞排查方法及相关产品,实现了通过集成多种信息收集和分析手段,全面、精准地识别并检测系统中的安全漏洞,从而提高系统安全评估的有效性和可靠性。[0006] 本发明通过下述技术方案实现:[0007] 一种链式信息收集与漏洞排查方法,包括:[0008] 信息收集,通过主动模式,生成并发送畸形HTTP报文,并使用自定义端口序列扫描和主动爬虫技术获取系统服务和页面信息;通过被动模式利用流量检测与深度包解析技术分析网络流量数据;[0009] 资产指纹识别,利用指纹识别技术将信息收集结果生成的指纹特征向量与已知指纹库进行匹配,结合匹配结果构建资产指纹库;[0010] 漏洞检测,通过匹配资产指纹库与漏洞数据库中的已知漏洞信息,进行漏洞检测,获得检测结果;[0011] 结果输出,输出信息收集结果、资产指纹库和检测结果。[0012] 具体地,所述畸形HTTP报文包括:[0013] 头信息变异报文:包含随机顺序HTTP头字段的报文、插入非法字段或使用随机字符串替换合法字段名的报文、在某些字段中插入超长字符串的报文;[0014] URL变异报文:长度超出标准限制的过长URL的报文、在URL中插入非法字符或使用错误编码的报文、插入无效路径或参数生成URL结构变异的报文。[0015] 主体变异报文:包含超长数据的POST请求的报文、使用非标准格式对主体数据编码的报文、在主体数据中插入字符的报文;[0016] 混合报文:组合头信息变异报文、URL变异报文和主体变异报文;[0017] 具体地,主动模式中使用自定义端口序列扫描的方法包括:[0018] 通过配置文件或网络探测工具,获取目标系统的IP地址范围,并生成潜在开放端口的初步列表,初始化扫描任务;[0019] 构建基于端口使用频率、端口顺序和调节参数的优先级函数,并通过优先级函数计算每个端口的优先级,生成一组按优先级排列的自定义端口序列;[0020] 利用生成的自定义端口序列,对目标系统的每个端口进行逐一扫描,并通过与每个端口进行底层协议的交互,获取端口的响应数据;响应数据包括通信延迟、端口版本信息、协议头信息;[0021] 对每个被扫描端口的响应数据进行分析,提取多维度的响应特征信息,形成响应特征向量集合。[0022] 具体地,使用主动爬虫技术的方法包括:[0023] 结合分布式广度优先搜索和深度优先搜索构建爬虫策略,广度优先搜索用于优先收集目标系统的浅层页面和子域名,深度优先搜索用于深入探索每个子域名和页面内的嵌套链接;[0024] 提取每个爬取到的页面的相关信息,包括页面内容、链接和子域名;[0025] 应用去重算法对爬取的页面和子域名信息进行去重处理,其中去重算法包括SimHash和MinHash结合的去重算法,通过计算页面内容的SimHash和MinHash签名,判定页面的唯一性;[0026] 基于去重后的页面数据,生成页面特征向量集合,页面特征向量集合包括页面内容特征、链接特征和子域名特征。[0027] 具体地,利用流量检测与深度包解析技术分析网络流量数据的方法包括:[0028] 通过网络设备的流量镜像端口或流量采样技术,捕获目标系统的网络通信数据,网络通信数据包括数据包的源地址和目的地址、传输协议类型、端口特征;[0029] 使用深度包解析技术对捕获的数据包进行多层次解析;[0030] 解析数据链路层,提取物理层和数据链路层的协议信息,包括源MAC地址、目的MAC地址和协议类型;[0031] 解析网络层,提取IP协议相关信息,包括源IP地址、目的IP地址、TTL值、传输协议类型和IP包总长度;[0032] 解析传输层,提取传输层协议的相关信息,包括源端口号、目的端口号、TCP序列号、确认号和标志位;[0033] 解析应用层协议,提取高层协议的相关信息,包括应用层协议名称、版本、协议头信息和负载数据的长度;[0034] 基于解析结果,提取多维度的网络流量特征信息,特征信息包括协议分布特征、数据包序列特征、应用层数据特征、通信会话的时间特征、异常行为模式特征;[0035] 将提取的网络流量特征信息进行结构化处理,生成网络流量特征向量集合。[0036] 具体地,构建资产指纹库的方法包括:[0037] 从目标系统中通过畸形HTTP报文的响应收集获得响应特征向量、页面特征向量和网络流量特征向量,通过多源数据整合生成指纹特征向量集合,指纹特征向量集合包括:基本特征向量、高阶特征向量和交互特征向量;[0038] 通过计算目标系统的指纹特征向量与已知指纹库中的特征模板之间的相似度,确定匹配结果;[0039] 将匹配结果与提取的指纹特征向量结合,构建目标系统的资产指纹库。[0040] 具体地,匹配结果包括识别出的服务类型特征、版本信息和端口特征;[0041] 服务类型特征:通过与已知指纹库中的服务类型模板进行匹配,确定目标系统中运行的服务类型特征;[0042] 版本信息:通过比较指纹特征向量中的版本特征与已知指纹库中的版本特征确定服务类型所对应的版本信息;[0043] 端口特征:通过比较指纹特征向量中开放的端口特征与已知指纹库中的端口模板确定服务类型所对应的端口特征。[0044] 具体地,进行漏洞检测的方法包括:[0045] 将资产指纹库中资产指纹特征整理为标准化的数据结构,所述数据结构包括服务类型特征、版本信息、端口特征及指纹特征;[0046] 将资产指纹库中的数据结构与漏洞数据库中的漏洞条目进行相似度匹配,首先根据服务类型特征和端口特征筛选相关漏洞条目,然后校验版本信息是否在漏洞条目定义的影响范围内,最后计算匹配度;[0047] 若匹配度大于设定值,则判定目标系统中存在对应的漏洞。[0048] 一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上所述的链式信息收集与漏洞排查方法。[0049] 本发明与现有技术相比,具有如下的优点和有益效果:[0050] 本发明提供了一种链式信息收集与漏洞排查方法,包括报文生成、信息收集、资产指纹识别、漏洞检测和结果输出等步骤;首先,生成畸形HTTP报文并发送至目标系统,随后通过主动模式和被动模式收集目标系统的服务、页面及网络流量信息;然后通过对收集到的页面特征向量、网络流量特征向量和响应特征向量进行整合,生成指纹特征向量集合,并与已知指纹库进行匹配,构建目标系统的资产指纹库;最后,通过匹配资产指纹库与漏洞数据库中的已知漏洞信息,进行漏洞检测并输出检测结果。[0051] 本发明通过多种信息收集方式的结合,实现了对目标系统信息的全面收集,提高了信息收集的覆盖范围和精确度,而指纹识别技术通过整合不同来源的特征数据,构建了详细的资产指纹库,提升了对复杂系统结构的适应性和识别准确性。[0052] 漏洞检测方法通过与已知漏洞数据库的匹配,实现了对系统中潜在漏洞的全面检测,确保了检测结果的可靠性和有效性。此外,链式的操作流程简化了复杂的漏洞排查过程,降低了人工干预的需求,提高了检测效率。附图说明[0053] 附图示出了本发明的示例性实施方式,并与其说明一起用于解释本发明的原理,其中包括了这些附图以提供对本发明的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分,并不构成对本发明实施例的限定。[0054] 图1是根据本发明所述的一种链式信息收集与漏洞排查方法的流程示意图。具体实施方式[0055] 为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图和实施方式对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本发明的限定。[0056] 另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分。[0057] 在不冲突的情况下,本发明中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本发明。[0058] 实施例一,如图1所示,一种链式信息收集与漏洞排查方法,包括:[0059] 信息收集,通过主动模式,生成并发送畸形HTTP报文,并使用自定义端口序列扫描和主动爬虫技术获取系统服务和页面信息;通过被动模式利用流量检测与深度包解析技术分析网络流量数据。[0060] 在该步骤中,通过主动模式和被动模式收集目标系统的信息。在主动模式下,首先生成并发送畸形HTTP报文。这些畸形报文用于触发目标系统的异常行为,从而揭示系统中的潜在漏洞。畸形HTTP报文包括三类变异报文:头信息变异报文、URL变异报文和主体变异报文。[0061] 头信息变异报文:包含随机顺序HTTP头字段的报文、插入非法字段或使用随机字符串替换合法字段名的报文、在某些字段(如User?Agent)中插入超长字符串的报文。[0062] URL变异报文:长度超出标准限制的过长URI的报文、在URI中插入非法字符或使用错误编码的报文、插入无效路径或参数生成URI结构变异的报文。[0063] 主体变异报文:包含超长数据的POST请求的报文、使用非标准格式(如混合编码)对主体数据编码的报文、在主体数据中插入字符的报文。[0064] 混合报文:组合头信息变异报文、URL变异报文和主体变异报文。[0065] 主动模式还包括使用自定义端口序列扫描和主动爬虫技术获取系统服务和页面信息。自定义端口序列扫描通过定义特定的端口扫描顺序,逐一扫描目标系统的开放端口,从中获取与端口相关的服务信息。而主动爬虫技术则是通过构建一个自动化工具,遍历目标系统的页面并提取其中的服务和结构信息。[0066] 在被动模式下,通过流量检测与深度包解析技术分析网络流量数据。流量检测指的是监控网络中的数据包流动,以识别可能的攻击模式或异常行为。深度包解析(DPI)技术则进一步解析数据包的内容,提取协议层次的详细信息,从而获得关于目标系统的更深入的理解。[0067] 资产指纹识别,利用指纹识别技术将信息收集结果生成的指纹特征向量与已知指纹库进行匹配,结合匹配结果构建资产指纹库;利用指纹识别技术,将通过信息收集获取的多种特征数据生成指纹特征向量。这些特征向量包括了目标系统的服务类型、协议、端口信息等。然后,将这些指纹特征向量与已知指纹库进行匹配,以识别出目标系统中的具体服务和组件,并最终构建资产指纹库。[0068] 漏洞检测,通过匹配资产指纹库与漏洞数据库中的已知漏洞信息,进行漏洞检测,识别目标系统中可能存在的安全漏洞,并生成相应的检测结果。[0069] 结果输出,输出信息收集结果、资产指纹库和检测结果。将整个信息收集、资产识别和漏洞检测的结果整合并输出,生成最终的漏洞检测开云优惠体育网页版入口。开云优惠体育网页版入口中包括了目标系统的详细指纹信息、检测到的漏洞以及相应的安全建议。[0070] 实施例二,主动模式中使用自定义端口序列扫描的方法包括:[0071] 通过配置文件或网络探测工具,获取目标系统的IP地址范围,配置文件通常包含已知的网络信息,而网络探测工具则通过主动扫描或被动检测识别系统中活跃的IP地址,在获取IP地址范围后,生成潜在开放端口的初步列表,初始化扫描任务。[0072] 在生成初步的端口列表,构建基于端口使用频率、端口顺序和调节参数的优先级函数,并通过优先级函数计算每个端口的优先级,生成一组按优先级排列的自定义端口序列。[0073] 为自定义端口序列集合, , 为第 个端口,为需要扫描的端口总数。[0074] 端口使用频率可以基于历史数据或行业标准,端口顺序则根据安全性和使用的重要性排列,调节参数用于控制不同端口的优先级差异。通过该函数计算得出的优先级值,来衡量端口的重要性,选择优先级高的端口进行优先扫描,定义优先级函数,其中, 为第 个端口的历史使用频率(来自数据库或大数据统计), 为用于控制优先级分布的陡峭程度的调节参数, 为用于设定扫描集中区域的均值参数;对各个端口进行优先级计算,并选择优先级函数值较大的端口进行优先扫描。[0075] 利用生成的自定义端口序列,对目标系统的每个端口进行逐一扫描,并通过与每个端口进行底层协议的交互,获取端口的响应数据;响应数据包括通信延迟、端口版本信息、协议头信息;通过并行深度协议分析来实现扫描;[0076] 定义每个端口 的用于表示端口响应的特征向量的响应函数 ,,其中, 为端口的通信延迟, 为通过特定协议标识符识别的端口版本信息, 为端口的协议头信息;[0077] 多变量响应函数 ,其中, 、 和 为控制不同响应特征的权重系数, 为端口版本信息 与已知服务版本库 的相似度, 为协议头信息 与已知协议头库 的相似度。[0078] 对每个被扫描端口的响应数据进行分析,提取多维度的响应特征信息,形成响应特征向量集合 ,特征信息可以包括端口响应时间、协议版本、是否存在异常响应等。分析完成后,将这些特征信息组合成一个特征向量集合。该特征向量集合将作为后续指纹识别和漏洞检测的基础数据。[0079] 实施例三,使用主动爬虫技术的方法包括:[0080] 结合分布式广度优先搜索和深度优先搜索构建爬虫策略,广度优先搜索用于优先收集目标系统的浅层页面和子域名,即在网络中先访问距离初始节点较近的页面和资源,可以快速获取系统的全局结构和基本信息。深度优先搜索用于深入探索每个子域名和页面内的嵌套链接,从而发现隐藏较深的页面和资源。结合的爬虫策略使得爬虫能够高效地覆盖目标系统的所有层次结构,收集尽可能多的信息。[0081] 为了优化爬虫效率,设计了多级队列结构:主队列 ——存储待爬取的URL,按照广度优先原则进行处理。辅助队列 ——存储在当前页面提取的链接,按照深度优先原则处理。队列处理流程:[0082] 从 中取出URL ,并开始处理。提取 对应页面中的所有链接 ,并解析子域名 。将新提取的链接加入 中。当 为空时,从 中取出链接,继续深度爬取。[0083] 提取每个爬取到的页面的相关信息,包括页面内容、链接和子域名,反映页面的内容结构、页面之间的关系以及目标系统的整体拓扑结构。[0084] 应用去重算法对爬取的页面和子域名信息进行去重处理,其中去重算法包括SimHash和MinHash结合的去重算法,通过计算页面内容的SimHash和MinHash签名,判定页面的唯一性;SimHash用于快速检测文档相似度的算法,通过计算页面内容的哈希签名,能够有效识别相似页面。MinHash则是通过计算文档集合的相似性来进行去重的算法。通过计算每个页面内容的SimHash和MinHash签名,系统可以准确判断不同页面是否为重复页面,从而保留唯一的页面数据。[0085] 基于去重后的页面数据,生成页面特征向量集合,页面特征向量集合包括页面内容特征(反映页面的文本和结构信息)、链接特征(页面中包含的链接数量和指向的目标)和子域名特征(页面所属的子域名信息)。[0086] 实施例四,通过分析网络中的实时流量和捕获的数据包,可以深入了解目标系统的通信行为、使用的协议、服务特性以及潜在的安全威胁。[0087] 利用流量检测与深度包解析技术分析网络流量数据的方法包括:[0088] 通过网络设备的流量镜像端口(通过网络交换机的镜像端口(SPAN)或网络探针对网络流量进行被动监控)或流量采样技术(从大规模的网络流量中进行采样,确保数据包的代表性和覆盖性),捕获目标系统的网络通信数据,网络通信数据包括数据包的源地址和目的地址、传输协议类型、端口特征;[0089] 使用深度包解析技术对捕获的数据包进行多层次解析;[0090] 链路层是OSI模型的第二层,负责节点之间的数据传输。解析数据链路层,提取物理层和数据链路层的协议信息,包括源MAC地址、目的MAC地址和协议类型;,其中,和 是数据包 的源和目的MAC地址, 是以太网类型字段,指示上层协议类型(如IPv4、ARP)。[0091] 网络层是OSI模型的第三层,负责跨越不同网络的路由和寻址。解析网络层,提取IP协议相关信息,包括源IP地址、目的IP地址、TTL值、传输协议类型和IP包总长度;,其中,和 是数据包的源和目的IP地址; 是生存时间字段,指示数据包的跳数限制; 指示传输层协议类型(如TCP、UDP); 是IP包的总长度。[0092] 输层是OSI模型的第四层,负责端到端的通信管理。解析传输层,提取传输层协议的相关信息,包括源端口号、目的端口号、TCP序列号、确认号和标志位;,其中,和 是源和目的端口号; 和 是TCP序列号和确认号; 是TCP标志位,如SYN、ACK等。[0093] 应用层是OSI模型的第七层,负责用户端应用程序之间的数据交换。解析应用层协议,提取高层协议的相关信息,包括应用层协议名称、版本、协议头信息和负载数据的长度;,其中,是应用层协议名称,如HTTP、DNS。 是协议版本号。是协议头部信息(如HTTP头字段)。 是应用层数据的负载长度。[0094] 基于解析结果,提取多维度的网络流量特征信息,特征信息包括协议分布特征(不同协议类型在网络流量中的占比)、数据包序列特征(数据包的顺序和排列模式)、应用层数据特征(应用层数据的类型、内容及模式)、通信会话的时间特征(会话的持续时间、数据包之间的时间间隔)、异常行为模式特征(检测到的异常流量行为,如流量突增、重复包、错误包等);[0095] 将提取的网络流量特征信息进行结构化处理,生成网络流量特征向量集合。[0096] 实施例五,构建资产指纹库的方法包括:[0097] 从目标系统中通过畸形HTTP报文的响应收集获得响应特征向量、页面特征向量和网络流量特征向量,通过多源数据整合生成指纹特征向量集合,指纹特征向量集合包括:基本特征 向量 、高阶 特征 向量和 交互特 征向 量;指 纹特 征矩阵 :,其中, 是基本特征向量, 是高阶特征向量, 是交互特征向量。[0098] 首先,从目标系统中收集多种特征数据,这些数据来源于畸形HTTP报文的响应,具体包括响应特征向量、页面特征向量和网络流量特征向量。通过多源数据整合技术,将这些不同来源的数据进行处理,生成一个综合的指纹特征向量集合。该集合包括三类主要特征向量:基本特征向量、高阶特征向量和交互特征向量。[0099] 基本特征向量包括简单且常见的特征信息,如HTTP响应码、端口状态等。即从页面特征向量中提取页面的基本属性,从网络流量特征向量中提取网络通信的基本信息,从响应特征向量中提取系统的响应特性。提取过程不涉及复杂的计算,只需简单的读取和整理。然后将各个来源的基本特征整合起来,形成一个统一的基本特征向量。[0100] 基本特征向量: ,其中, 为HTTP响应码(如200、404等), 为响应时间, 为报文长度, 为响应中出现的特定关键词的匹配情况。[0101] 高阶特征向量是通过对基本特征的进一步处理和分析获得的复杂特征,如模式识别、响应行为的熵值等。即通常是通过对基本特征进行进一步的处理和分析得到的。例如,可以通过计算页面内容的熵值,分析流量中数据包的分布规律,或者识别响应中重复的模式来构建高阶特征。使用模式识别算法或统计分析方法,对基本特征进行深度处理,提取出具有代表性的高阶特征向量。[0102] 高阶特征向量 ,其中, 为响应内容的熵值,用于衡量数据的随机性和复杂性; 为基于响应内容的模式识别特征(如序列模式或重复结构); 为响应内容中某些元素的变化速率(如数据字段的变化频率)。[0103] 交互特征向量则是通过分析系统各部分之间的交互关系生成的,如请求?响应对之间的时序关系、流量模式等。即分析网络流量和响应特征的时间序列,识别出其中的时序依赖性和交互行为。例如,分析请求?响应对之间的时间间隔,识别出与特定服务或协议相关的交互模式。通过关联分析,识别出页面之间、流量之间、响应之间的关联关系,生成交互特征向量。例如,可以通过分析多个页面之间的链接结构,或者通过分析多个流量包之间的关联性来推导出交互特征。[0104] 交互特征向量 ,其中, 为不同请求?响应对之间的相关性(如相邻响应之间的内容相似度); 为请求?响应对之间的顺序依赖性特征,利用序列模型(如Markov链)来捕捉; 为请求?响应对之间的时间依赖特征(如响应之间的时间间隔模式)。[0105] 为了得到最终的指纹特征向量 ,将基本特征向量、高阶特征向量和交互特征向量融合在一起。定义融合后的指纹特征向量,其中,、 、 是融合过程中的权重参数,用于调节各类特征的影响程度。[0106] 通过计算目标系统的指纹特征向量与已知指纹库中的特征模板之间的相似度,确定匹配结果;在生成指纹特征向量集合后,将其与已知的指纹库中的特征模板进行匹配。匹配过程通过计算目标系统的指纹特征向量与指纹库中的特征模板之间的相似度来实现。相似度越高,表示目标系统与已知模板的特征越相似,从而确定该系统可能运行的具体服务、协议或组件。[0107] 指纹匹配函数 用于判断目标 系统的 指纹,,其中, 是已知指纹库中的第 个指纹特征向量。 是相似度计算函数,如余弦相似度或欧氏距离。如果值超过一定阈值 ,则认为目标系统 匹配已知的指纹特征。[0108] 将匹配结果与提取的指纹特征向量结合,构建目标系统的资产指纹库。根据相似度匹配的结果,将识别出的服务类型特征、版本信息和端口特征与提取的指纹特征向量相结合,最终构建目标系统的资产指纹库。资产指纹库是对目标系统中各类资产的详细描述,包含了系统中各服务和组件的特征信息。[0109] 匹配结果包括识别出的服务类型特征、版本信息和端口特征;[0110] 服务类型特征:通过与已知指纹库中的服务类型模板进行匹配,确定目标系统中运行的服务类型特征;服务类型特征可以包括Web服务器、中间件、数据库等类别。[0111] 版本信息:通过比较指纹特征向量中的版本特征与已知指纹库中的版本特征确定服务类型所对应的版本信息;确定每个服务类型对应的版本信息。这一步有助于进一步细化识别,确定系统中运行的具体版本。[0112] 端口特征:通过比较指纹特征向量中开放的端口特征与已知指纹库中的端口模板确定服务类型所对应的端口特征;端口特征用于标识服务在网络中的具体通信端口,帮助定位服务的实际运行位置。[0113] 实施例六,进行漏洞检测的方法包括:[0114] 将资产指纹库中资产指纹特征整理为标准化的数据结构,所述数据结构包括服务类型特征、版本信息、端口特征及指纹特征;服务类型特征描述了目标系统中运行的各类服务(如Web服务器、数据库等),版本信息则标识了每个服务对应的具体版本。端口特征用于指示这些服务在网络中的通信端口,而指纹特征则是系统整体特征的摘要,用于后续的匹配过程。[0115] 将资产指纹库中的数据结构与漏洞数据库中的漏洞条目进行相似度匹配,漏洞数据库是预先存储的已知漏洞信息的集合,每个漏洞条目包含可能受影响的服务类型、版本信息及相关的端口信息,匹配过程分为以下几个步骤:[0116] 初步筛。菏紫雀莘务类型特征和端口特征筛选出可能相关的漏洞条目。通过比较系统中的服务类型和端口信息与漏洞数据库中的条目特征,缩小需要进一步检查的漏洞范围。[0117] 版本信息校验:在初步筛选出相关漏洞条目后,进一步检查每个漏洞条目的影响版本范围,并校验目标系统的服务版本信息是否落在该范围内。如果服务版本处于漏洞的影响范围内,则该漏洞条目将被认为是高度相关的。[0118] 计算匹配度:对于通过版本校验的漏洞条目,进一步计算其与目标系统指纹特征之间的匹配度。匹配度是通过对比目标系统的指纹特征与漏洞条目中相关特征进行相似度计算得出的。匹配度的高低直接反映了漏洞与目标系统的契合程度。[0119] 通过将目标系统的资产指纹特征与漏洞数据库中的条目进行逐层筛选和匹配,系统可以识别出潜在的安全漏洞。首先筛选出可能相关的漏洞条目,然后通过版本信息的精确校验和指纹特征的相似度匹配,计算漏洞与目标系统的匹配度。最终,当匹配度超过设定值时,可以认为系统中存在该漏洞,并据此采取相应的防护措施。[0120] 实施例七,一种链式信息收集与漏洞排查终端,包括存储器、处理器以及存储在存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的链式信息收集与漏洞排查的方法。[0121] 存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的执行程序等。[0122] 存储数据区可存储根据终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件、或其他易失性固态存储器件。[0123] 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的链式信息收集与漏洞排查方法。[0124] 不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令数据结构,程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储技术,CD?ROM、DVD或其他光学存储﹑磁带盒﹑磁带﹑磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器和大容量存储设备可以统称为存储器。[0125] 一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上所述的链式信息收集与漏洞排查方法。[0126] 计算机程序产品包括用于执行特定任务或实现特定功能的计算机程序或指令集。这些程序或指令被设计为能够由处理器执行,从而实现一系列预定义的步骤或操作。该程序产品可能被存储在各种形式的计算机存储介质中,如内存、硬盘、固态驱动器、光盘或其他形式的数字存储设备。可能以编译后的二进制代码形式存在,也可能以可由解释器执行的脚本或字节码形式存在。程序产品通过精心设计的算法和逻辑指令,使得处理器能够按照特定的顺序和方式处理数据,完成如数据分析、用户交互、设备控制等多种功能。[0127] 本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本发明,而并非是对本发明的范围进行限定。对于所属领域的技术人员而言,在上述发明的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本发明的范围内。
专利地区:四川
专利申请日期:2024-09-09
专利公开日期:2024-11-19
专利公告号:CN118764326B