CN111177595B - 一种针对http协议模板化提取资产信息的方法 - Google Patents
一种针对http协议模板化提取资产信息的方法 Download PDFInfo
- Publication number
- CN111177595B CN111177595B CN201911326502.2A CN201911326502A CN111177595B CN 111177595 B CN111177595 B CN 111177595B CN 201911326502 A CN201911326502 A CN 201911326502A CN 111177595 B CN111177595 B CN 111177595B
- Authority
- CN
- China
- Prior art keywords
- template
- matching
- asset information
- http
- asset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000004458 analytical method Methods 0.000 claims abstract description 18
- 230000014509 gene expression Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 4
- 238000011161 development Methods 0.000 abstract description 2
- 238000011835 investigation Methods 0.000 abstract description 2
- 238000005065 mining Methods 0.000 abstract description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种针对HTTP协议模板化提取资产信息的方法,三大部分流程,分别为模板的编写、模板的解析、报文的匹配;所述模板的解析部分依次包括以下步骤:加载模板并分析模板、构造DPI、构造语法树、建立匹配库;报文的匹配部分依次包括以下步骤:匹配库DPI识别、语法树匹配、输出日志,通过“模板”匹配识别出“虚拟属性”,间接确定“实体属性”的资产信息识别方法,增加了资产信息获取新维度;减少了系统部署期间对现场“实体资产”的调研;减少了开发人员针对特定“虚拟资产”的分析开发量;增强了运维人员对资产信息获取方式;增强了后期系统后期自动更新获取资产信息;即减少了人力维护,又增强了资产信息实时同步,扩展了潜在资产的挖掘能力。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种针对HTTP协议模板化提取资产信息的方法。
背景技术
计算机及互联网已经普及的今天,互联网安全已经渐渐的被人们熟知且重视,人们已经认识到家庭、企业和政府都存在网络安全问题,这其中最容易受到极大威胁的对象是大型企业(工业)网络系统和政府网络系统。这种大型的网络架构十分的繁复,网络环境中的终端服务设备属性也不同,网络安全设备为了更好提供服务和交互,需要对这种终端或服务器的属性加以识别标注,这种属性在网络安全系统中被称作“资产”。
资产分为“实体资产”和“虚拟资产”两大类。实体资产是能够代表真实设备或人的属性,例如:路由器、防火墙、数据库服务器、网站服务器、管理人员等。虚拟资产是能够代表一种虚拟服务或虚拟个体的属性,它们是运作于实体设备(即实体资产)中的,例如:Nginx服务、代码服务、数据库服务、用户名、用户ID等。虚拟资产与实体资产多数时是可对应的,比如“Nginx服务”运作在"网站服务器"中,某“用户ID”对应现实的"个体人"等;在以太网环境中,HTTP协议是最容易携带“虚拟资产”的协议。
安全服务系统中的资产获取的方式有两种,一种是由用户提供IP地址与“实体资产”的对应关系,配置在安全系统中;另一种是开发人员分析网络环境中“虚拟资产”,开发特殊定制组件,附加在安全系统中,更好的为用户服务。无论是何种获取资产的方式,都需要耗费大量的人力,进行统计和分析。且随着网络环境的更新,资产可能会变化(移除或添加),系统无法自行更新资产,均需要人为参与更新,这对资产管理者的技能要求过高。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种对HTTP协议结构提取出的报文,通过“模板”匹配识别出“虚拟属性”,间接确定“实体属性”的资产信息识别方法。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种针对HTTP协议模板化提取资产信息的方法,其主要包含三大部分,分别为模板的编写、模板的解析、报文的匹配;
所述模板的解析部分包括以下步骤:
步骤2.1-加载模板并分析模板,通过对模板内容加载到内存中,并将文件载体将结构分析成“协议标志块”、“DPI识别块”、“内容提取块”三个结构块,供后续步骤使用;
步骤2.2-构造DPI,依据“DPI识别块”提供的信息,将HOST和URI和METHOD构成正则表达式,大量的正则表达式构成DFA自动状态机;
步骤2.3-构造语法树,依据模板中的“内容提取块”提供的文本内容,分析文法,并将构建成一颗解析树;
步骤2.4-建立匹配库,待所有模板分析完成,将步骤2.2中构建的正则表达式作为“匹配正则表达式”、步骤2.3中构建的“语法树”作为数据内容进行一一对应,整合到“正则表达式”引擎中,形成匹配库;
所述报文的匹配部分包括以下步骤:
步骤3.1-匹配库DPI识别,系统将HTTP构造日志中的“HOST”、“URI”和“METHOD”信息提取,放入匹配库中进行匹配,将匹配结果取出并传递至语法树引擎进行下一步匹配;
步骤3.2-语法树匹配,将整个HTTP报文传入语法树,按照前序遍历进行解析,语法树中的OutputValue函数会将所需的“资产信息”输出到队列中,进行资产输出日志阶段;
步骤3.3-输出日志,将输出队列中获取到对应的key-value值,与对应的IP地址拼成json字符串格式,即为资产信息,与IP地址对应后,部分“虚拟资产”信息即可代表“实体资产”,将json字符串存入数据库,展现在页面上。
进一步优选为,所述模板的编写部分中的模板结构主要分为以下三块:
协议标志块,包含依赖协议的名称,用于确定资产信息依赖的协议;
DPI识别块,包含可以识别出包含资产信息的特征内容,即HOST内容、URI内容、HTTP的METHOD,用于筛选资产信息是否包含在报文中;
内容提取块,存储着模板语法,用于解析提取资产信息。
进一步优选为,所述步骤2.3-构造语法树中涉及的文法结构依赖于tiny-c文法,其内置的函数包括以下类别:
内置结构,采用MIME格式解析结构;
HTTP报文获取,其包含用于获取HTTP的URI文本串的GetUri()、依据key值获取HTTP头部的文本串的GetHeader(key)、用于获取HTTP身体报文文本串的GetRequestBody()等结构/函数;
内置常规算法,其包含URLEncode(string)、URLDecode(string)、Base64Encode(string)和Base64Declde(steing)、Base64Decode(string)、以及SpliteString(string,splite_words)、以MIME格式分析字符串的Mime AnalyseMime(string)、将资产信息输出到队列中的key值的OutputValue(key,string)等结构/函数。
综上所述,本发明对比于现有技术的有益效果为:
本发明相对于现有的资产获取方式,增加了资产信息获取新维度;减少了系统部署期间对现场“实体资产”的调研;减少了开发人员针对特定“虚拟资产”的分析开发量;增强了运维人员对资产信息获取方式;增强了后期系统后期自动更新获取资产信息;即减少了人力维护,又增强了资产信息实时同步,扩展了潜在资产的挖掘能力。
附图说明
图1为实施例中tiny-c文法的内置函数结构;
图2为实施例中语法树的结构框架;
图3为实施例中报文匹配流程图。
具体实施方案
以下结合附图对发明作进一步详细说明。
一种针对HTTP协议模板化提取资产信息的方法,其主要包含三大部分,分别为模板的编写、模板的解析、报文的匹配,具体通过对HTTP协议结构提取出的报文,通过“模板”匹配识别出“虚拟属性”,间接确定“实体属性”的资产信息识别方法。
模板的编写部分中涉及的模板结构主要分为以下三块:
协议标志块:包含依赖协议的名称,用于确定资产信息依赖的协议;
DPI识别块:包含可以识别出包含资产信息的特征内容,即HOST内容、URI内容、HTTP的METHOD,用于筛选资产信息是否包含在报文中;
内容提取块:存储着模板语法,用于解析提取资产信息。
模板的解析部分包括以下步骤:
步骤2.1-加载模板并分析模板,通过对模板内容加载到内存中,并将文件载体将结构分析成“协议标志块”、“DPI识别块”、“内容提取块”三个结构块,供后续步骤使用;
步骤2.2-构造DPI,依据“DPI识别区”提供的信息,将HOST和URI和METHOD构成正则表达式,将大量的正则表达式构成DFA自动状态机;
步骤2.3-构造语法树(见图2),依据模板中的“内容提取区”提供的文本内容,分析文法,并将构建成一颗解析树;
步骤2.4-建立匹配库,待所有模板分析完成,将步骤2.2中构建的正则表达式作为“匹配正则表达式”、步骤2.3中构建的“语法树”作为数据内容进行一一对应,整合到“正则表达式”引擎中,形成匹配库。
上述步骤2.3-构造语法树中涉及的文法结构依赖于tiny-c文法,参照图1所示,其内置的函数包括以下类别:
内置结构,采用MIME格式解析结构;
HTTP报文获取,其包含用于获取HTTP的URI文本串的GetUri()、依据key值获取HTTP头部的文本串的GetHeader(key)、用于获取HTTP身体报文文本串的GetRequestBody()等结构/函数;
内置常规算法,其依次包含以下结构/函数:
URLEncode(string),用于Urlencode编码;
URLDecode(string),用于Urldncode编码;
Base64Encode(string),用于Base64编码;
Base64Declde(steing),用于Base64编码;
SpliteString(string,splite_words),用于以splite_words分割字符串,返回数组;
MimeAnalyseMime(string),用于以MIME格式分析字符串;
OutputValue(key,string),用于将资产信息输出到队列中的key值。
参照图3所示,报文的匹配部分包括以下步骤:
步骤3.1-匹配库DPI识别,系统将HTTP构造日志中的“HOST”、“URI”和“METHOD”信息提取,放入匹配库中进行匹配,将匹配结果取出并传递至语法树引擎进行下一步匹配;
步骤3.2-语法树匹配,将整个HTTP报文传入语法树,按照前序遍历进行解析,语法树中的OutputValue函数会将所需的“资产信息”输出到队列中,进行资产输出日志阶段;
步骤3.3-输出日志,将输出队列中获取到对应的key-value值,与对应的IP地址拼成json字符串格式,即为资产信息,与IP地址对应后,部分“虚拟资产”信息即可代表“实体资产”,将json字符串存入数据库,展现在页面上。
以上所述仅是本发明的示范性实施方式,而非用于限制本发明的保护范围,本发明的保护范围由所附的权利要求确定。
Claims (2)
1.一种针对HTTP协议模板化提取资产信息的方法,其特征在于,三大部分流程,分别为模板的编写、模板的解析、报文的匹配;
所述模板的部分结构主要分为以下三块:
协议标志块,包含依赖协议的名称,用于确定资产信息依赖的协议;
DPI识别块,包含可以识别出包含资产信息的特征内容,即HOST内容、URI内容、HTTP的METHOD,用于筛选资产信息是否包含在报文中;
内容提取块,存储着模板语法,用于解析提取资产信息;
所述模板的解析部分包括以下步骤:
步骤2.1-加载模板并分析模板,通过对模板内容加载到内存中,并将文件载体将结构分析成 “协议标志块”、“DPI识别块”、“内容提取块”三个结构块,供后续步骤使用;
步骤2.2-构造DPI,依据“DPI识别块”提供的信息,将HOST和URI和METHOD构成正则表达式,大量的正则表达式构成DFA自动状态机;
步骤2.3-构造语法树,依据模板中的“内容提取块”提供的文本内容,分析文法,并将构建成一颗解析树;
步骤2.4-建立匹配库,待所有模板分析完成,将步骤2.2中构建的正则表达式作为“匹配正则表达式”、步骤2.3中构建的“语法树”作为数据内容进行一一对应,整合到“正则表达式”引擎中,形成匹配库;
所述报文的匹配部分包括以下步骤:
步骤3.1-匹配库DPI识别,系统将HTTP构造日志中的“HOST”、“URI”和“METHOD”信息提取,放入匹配库中进行匹配,将匹配结果取出并传递至语法树引擎进行下一步匹配;
步骤3.2-语法树匹配,将整个HTTP报文传入语法树,按照前序遍历进行解析,语法树中的OutputValue函数会将所需的“资产信息”输出到队列中,进行资产输出日志阶段;
步骤3.3-输出日志,将输出队列中获取到对应的key-value值,与对应的IP地址拼成json字符串格式,即为资产信息,与IP地址对应后,部分“虚拟资产”信息即可代表“实体资产”,将json字符串存入数据库,展现在页面上。
2.根据权利要求1所述的一种针对HTTP协议模板化提取资产信息的方法,其特征在于,所述步骤2.3-构造语法树中涉及的文法结构依赖于tiny-c文法,其内置的函数包括以下类别:
内置结构,采用MIME格式解析结构;
HTTP报文获取,其包含用于获取HTTP的URI文本串的GetUri()、依据key值获取HTTP头部的文本串的GetHeader(key)、用于获取HTTP身体报文文本串的GetRequestBody()结构/函数;
内置常规算法,其包含URLEncode(string)、URLDecode(string)、Base64Encode(string)和Base64Declde(steing)、Base64Decode(string)、以及SpliteString(string,splite_words)、以MIME格式分析字符串的Mime AnalyseMime(string)、将资产信息输出到队列中的key值的OutputValue(key, string)结构/函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911326502.2A CN111177595B (zh) | 2019-12-20 | 2019-12-20 | 一种针对http协议模板化提取资产信息的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911326502.2A CN111177595B (zh) | 2019-12-20 | 2019-12-20 | 一种针对http协议模板化提取资产信息的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177595A CN111177595A (zh) | 2020-05-19 |
CN111177595B true CN111177595B (zh) | 2024-04-05 |
Family
ID=70650303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911326502.2A Active CN111177595B (zh) | 2019-12-20 | 2019-12-20 | 一种针对http协议模板化提取资产信息的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177595B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157734A (zh) * | 2021-12-06 | 2022-03-08 | 北京天融信网络安全技术有限公司 | 数据解析方法、装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098331A (zh) * | 2010-12-29 | 2011-06-15 | 北京锐安科技有限公司 | 一种还原web类应用内容的方法及其系统 |
CN102347949A (zh) * | 2011-09-28 | 2012-02-08 | 上海西默通信技术有限公司 | 基于dpi的应用协议分析方法 |
CN103297270A (zh) * | 2013-05-24 | 2013-09-11 | 华为技术有限公司 | 应用类型识别方法及网络设备 |
CN108040040A (zh) * | 2017-11-30 | 2018-05-15 | 北京锐安科技有限公司 | 一种应用协议报文的自动化解析方法和装置 |
CN108900554A (zh) * | 2018-08-22 | 2018-11-27 | 杭州安恒信息技术股份有限公司 | Http协议资产检测方法、系统、设备及计算机介质 |
CN109726185A (zh) * | 2018-12-28 | 2019-05-07 | 杭州安恒信息技术股份有限公司 | 一种基于语法树的日志解析方法、系统和计算机可读介质 |
CN109783719A (zh) * | 2018-12-29 | 2019-05-21 | 北京奇安信科技有限公司 | 基于单位名称的资产数据查找方法、装置、设备及介质 |
CN110324280A (zh) * | 2018-03-29 | 2019-10-11 | 西门子公司 | 工业云中的协议配置系统、装置和方法 |
CN110381094A (zh) * | 2019-09-11 | 2019-10-25 | 南京华飞数据技术有限公司 | 一种基于dpi技术的用户画像与行为分析的方法及系统 |
CN110581780A (zh) * | 2019-08-27 | 2019-12-17 | 杭州安恒信息技术股份有限公司 | 针对web服务器资产的自动识别方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129415A1 (en) * | 2004-12-13 | 2006-06-15 | Rohit Thukral | System for linking financial asset records with networked assets |
GB0514191D0 (en) * | 2005-07-12 | 2005-08-17 | Ibm | Methods, apparatus and computer programs for optimized parsing and service invocation |
US8108550B2 (en) * | 2006-10-25 | 2012-01-31 | Hewlett-Packard Development Company, L.P. | Real-time identification of an asset model and categorization of an asset to assist in computer network security |
EP3304330A4 (en) * | 2015-06-01 | 2018-11-07 | Benjamin Aaron Miller | Content segmentation and time reconciliation |
US11157948B2 (en) * | 2017-08-22 | 2021-10-26 | Innovid, Inc. | Method and system for independent validation of asset serving |
US20190132378A1 (en) * | 2017-10-31 | 2019-05-02 | Oracle International Corporation | Identifying an http resource using multi-variant http requests |
-
2019
- 2019-12-20 CN CN201911326502.2A patent/CN111177595B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098331A (zh) * | 2010-12-29 | 2011-06-15 | 北京锐安科技有限公司 | 一种还原web类应用内容的方法及其系统 |
CN102347949A (zh) * | 2011-09-28 | 2012-02-08 | 上海西默通信技术有限公司 | 基于dpi的应用协议分析方法 |
CN103297270A (zh) * | 2013-05-24 | 2013-09-11 | 华为技术有限公司 | 应用类型识别方法及网络设备 |
CN108040040A (zh) * | 2017-11-30 | 2018-05-15 | 北京锐安科技有限公司 | 一种应用协议报文的自动化解析方法和装置 |
CN110324280A (zh) * | 2018-03-29 | 2019-10-11 | 西门子公司 | 工业云中的协议配置系统、装置和方法 |
CN108900554A (zh) * | 2018-08-22 | 2018-11-27 | 杭州安恒信息技术股份有限公司 | Http协议资产检测方法、系统、设备及计算机介质 |
CN109726185A (zh) * | 2018-12-28 | 2019-05-07 | 杭州安恒信息技术股份有限公司 | 一种基于语法树的日志解析方法、系统和计算机可读介质 |
CN109783719A (zh) * | 2018-12-29 | 2019-05-21 | 北京奇安信科技有限公司 | 基于单位名称的资产数据查找方法、装置、设备及介质 |
CN110581780A (zh) * | 2019-08-27 | 2019-12-17 | 杭州安恒信息技术股份有限公司 | 针对web服务器资产的自动识别方法 |
CN110381094A (zh) * | 2019-09-11 | 2019-10-25 | 南京华飞数据技术有限公司 | 一种基于dpi技术的用户画像与行为分析的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111177595A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033471B (zh) | 一种信息资产识别方法及装置 | |
CN112491643B (zh) | 深度报文检测方法、装置、设备及存储介质 | |
US11568277B2 (en) | Method and apparatus for detecting anomalies in mission critical environments using word representation learning | |
CN114157502B (zh) | 一种终端识别方法、装置、电子设备及存储介质 | |
US20190050376A1 (en) | Automatic value formatting based on intrinsic structural semantics | |
CN108924163A (zh) | 基于无监督学习的攻击者画像方法及系统 | |
CN104346480A (zh) | 信息挖掘方法和装置 | |
CN102123058A (zh) | 一种对网络协议解码器进行测试的测试设备和方法 | |
CN110278272B (zh) | 模拟Socket请求的通用方法 | |
CN111177595B (zh) | 一种针对http协议模板化提取资产信息的方法 | |
CN108959659B (zh) | 一种大数据平台的日志接入解析方法和系统 | |
CN116192997B (zh) | 一种基于网络流的事件检测方法和系统 | |
CN116828087B (zh) | 基于区块链连接的信息安全系统 | |
CN102984242A (zh) | 一种应用协议的自动识别方法和装置 | |
CN115296892B (zh) | 数据信息服务系统 | |
CN116192527A (zh) | 攻击流量检测规则生成方法、装置、设备及存储介质 | |
CN115801927A (zh) | 报文解析方法及装置 | |
CN116055587A (zh) | 一种api资产的分级分类的实现方法及装置 | |
CN114003737A (zh) | 基于人工智能的双录审查辅助方法、装置、设备及介质 | |
CN115774762A (zh) | 即时通讯信息处理方法、装置、设备及存储介质 | |
CN115604115A (zh) | 一种配置信息解析方法、装置、电子设备及存储介质 | |
CN104079493A (zh) | 基于下载资源名的流量识别方法和设备、管控方法和设备 | |
WO2010025062A1 (en) | Automatic test map generation for system verification test | |
JP2021129203A (ja) | 通信解析装置、通信解析プログラム及び通信解析方法 | |
CN113315792B (zh) | 网络数据的客体抽取方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |