CN114328962A - 一种基于知识图谱的web日志异常行为识别方法 - Google Patents
一种基于知识图谱的web日志异常行为识别方法 Download PDFInfo
- Publication number
- CN114328962A CN114328962A CN202111637283.7A CN202111637283A CN114328962A CN 114328962 A CN114328962 A CN 114328962A CN 202111637283 A CN202111637283 A CN 202111637283A CN 114328962 A CN114328962 A CN 114328962A
- Authority
- CN
- China
- Prior art keywords
- domain name
- information
- knowledge graph
- data
- website
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
为提高对网络DNS服务器日志分析的能力,本发明综合多种技术,创新性的提出了构建面向域名解析系统的知识图谱。首先,应用域名解析、权威域名服务器、别名解析、自治系统等原理设计了基于aiohttp和dig技术相结合的自动化爬虫模型,构建了相应的领域知识库;其次基于该知识库设计了面向域名解析系统的知识图谱原型并完成了知识图谱的构建,其节点规模达近500万;最后,基于该知识图谱辅助完成web日志异常行为识别模型的构建。通过实验和实际应用反馈,该知识图谱在网络服务器日志异常行为检测与分析的过程中起到了关键作用,提高了web日志异常行为模型的识别率。
Description
技术领域
本发明涉及一种基于知识图谱的webi日志异常行为识别方法,属于知识图谱信息利用技术领域。
背景技术
一般来说,源头治理是最好的方法。如何检测异常上网行为,可以从域名解析这个源头入手。域名解析是域名通过专门的域名解析服务器(DNS)转换成IP的过程,每次解析都会产生四大类日志数据,其中包含DNS、URL、IP以及SSL日志。日志中可能充斥着大量的爬虫、端口扫描、暴力域名破解、连接性测试等机器行为,即异常行为。
申请人研究发现,现有技术的异常行为识别工作大多数情况下是研究人员通过利用功能单一、识别行为有限的日志分析工具以及长期工作经验完成的。没有形成一套完整有效的知识体系,很难支撑每个研究人员高效的完成日志分析工作,导致异常行为识别效果不能达到实际业务需求。同时,日志分析也存在POST请求数据不记录问题、状态码响应但不可信、攻击者使用多 IP代理等难点,如果仅仅依赖日志中现有的字段,是无法识别出更多的异常行为日志记录。因此,如何构建一套完整有效的知识体系来提高异常行为的识别率是目前迫切需要解决的问题。
网络DNS服务器日志分析目前是网络信息安全的重要一环。在日志分析方面目前国内外对于网络服务器日志分析的手段主要如下:吉星等人在《基于日志信息的DNS查询异常检测算法》提出了一种基于日志信息的DNS查询异常检测算法,利用聚类分析和计算各源IP的可信度,检测出异常的源IP,但是该方法利用了无监督算法,当数据集越来越大时计算成本会越高;Nadler A等人在《Detection of malicious and low throughput dataexfiltration over the DNS protocol》提出了一种基于DNS检测隧道和低吞吐量数据泄露的方法,通过提取dns日志特征进行分析,来检测恶意软件通过隐蔽通道进行数据泄露的异常行为;Niu W等人在《Identifying APT malware domain based on mobile DNSlogging》提出一种通过分析DNS日志来高精度检测 APT恶意软件C&C域的有效方法,该方法通过全局异常森林(GAF)的异常检测算法来识别恶意软件C&C域;Chen等人在《Detectionof DNS DDoS attacks with random forest algorithm on spark》提出一个基于Spark平台的随机森林算法模型,用来检测DNS日志中的分布式拒绝服务(DDoS);宋佳明等在《基于人工智能的网络异常行为分析》提出一种基于Web日志的数据特征建模方法,根据Web日志的HTTP请求字段所具有的隐含统计特征,构造单条HTTP请求特征和攻击类别统计特征,该方法较好提高了web日志的异常行为识别能力;王琪等人在《.基于日志统计特征的DNS隧道检测》提出了一种基于日志统计特征的DNS隧道检测方法,引入缓存命中率等多维统计特征,并基于随机森林算法完成了DNS隧道检测模型的训练;张文琦等在《基于多维时序日志的异常行为可视分析》基于企业日志的多维性和时序性,提出了一种日志可视化的系统,通过设计多个可视化视图,实现一个交互式可视分析系统,提高了决策者发现异常行为的能力;秦辉东等在《.基于多特征的DNS异常检测技术研究》针对DNS源IP异常检测的基于多维时序特征的局部异常因子检测算法,并在此基础上,提出基于多特征的域名异常分析方法,以实现更为精准的DNS异常识别。
通过分析现有技术文献的方法,可以发现目前的识别方法主要是通过统计、聚类、随机森林等方法有效识别单个或者某类异常行为,且这些异常主要指代的是恶意软件等攻击性行为。而识别web日志中机器访问行为的相关研究较少。同时申请人研究发现依靠web日志中现有的特征属性只能够识别小范围的机器访问行为。
知识图谱本质上就是一种大规模的语义网络,能够将领域中异构的知识结构化,并将结构化的知识关联起来,能够降低任务的分析成本。所以,自2012年谷歌提出知识图谱的理念后,知识图谱的构建工作便在各个领域上蓬勃发展。可以发现经过知识图谱的运用使工作任务变得简易起来,但是在日志分析这个网络信息安全的子领域目前没有一套完整有效的知识图谱来支撑研究员完成日志分析的工作。虽然文献闫志豪等在《基于域名系统知识图谱的CDN域名识别技术》依据alexa的排名前100w域名构建了域名系统知识图谱,但是其构建的域名系统知识图谱的作用仅限于CDN域名的识别,对于整体的日志分析作用很小。
发明内容
为了解决现有技术存在的问题,本发明提供一种基于知识图谱的web日志异常行为识别方法,利用知识图谱能够将不同种类信息连接在一起的特性,增加web日志的特征属性。
为了实现上述的技术目的,本发明采用如下的技术方案。
一种基于知识图谱的web日志异常行为的识别方法,包括如下步骤:
S1 多源数据采集及相应领域知识库的构建
应用域名解析、权威域名服务器、别名解析、自治系统的方法设计基于aiohttp和dig技术相结合的自动化爬虫模型,构建相应的领域知识库;
S2 知识图谱原型设计及知识图谱的构建
基于S1的领域知识库设计面向域名解析系统的知识图谱原型并进行知识图谱的构建;
S3 web日志异常行为识别模型的构建
基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建。
进一步的,本发明的一种基于知识图谱的web日志异常行为的识别方法,S1多源数据采集及相应领域知识库的构建中,首先,基于域名解析、权威域名服务器、别名解析、自治系统方法确立各类知识的数据类型;然后,确定各类数据的数据源,依据数据源确定各类知识的表结构,同时为每种知识设计特定的采集方案;最后,将采集到的网页数据依据知识库设计的表规则进行处理、过滤,将非结构化数据转化成结构化数据,并批量存储到相应知识库中。
12.进一步的,本发明的一种基于知识图谱的web日志异常行为的识别方法,S1中,包括 S11网站信息采集和网站分类体系构建;
S12 域名信息采集及域名信息知识库构建;
S13 IP信息数据采集及IP信息知识库构建;
S14 权威域名服务器信息采集及权威域名服务器知识库构建;
S15 ASN信息采集及ASN信息知识库构建;
其中,S11包括S111网站基本属性信息采集,
其中网站的标题、描述、关键词的采集数据来自StuffGate网站,采集流程为,
S1111 依据域名数量,设置可执行线程数;
S1112 依据域名设置请求URL;
S1113 设置IP代理池,并设置随机sleep时间;
S1114 从UserAgent数据池中随机抽取UA信息,模拟浏览器请求网页;
S1115 分析网页数据,制定域名各个属性参数的解析策略;
S1116 将获得的域名属性信息进行封装处理;
S1117 循环S1112-S1116,采用executemany方式每处理完1k域名进行入库;
针对Alexa排名获取过程中,基于aiohttp的异步爬虫框架,通过引入IP代理池、伪造登陆口令获取cookie信息、设置随机sleep时间;
网站所属国家信息采集的方案流程为
S111A 依据域名数量及可执行线程数量大小设置线程处理域名长度(域名数量/线程数量),降低数据的爬取时间;
S111B 利用爬虫技术获取站长之家和阿里的whois信息;
S111C 对比两者的国家信息,若一致,则存入结果集,处理下一个网站;反之,则执行 S111D;
S111D 获取alexa.com提供的网站主要访问地理位置,矫正结果,存入结果集,处理下一个网站
还包括S112网站分类体系构建,其包括,
S1121 数据预处理:采用百度翻译API接口对网站基本信息属性中的网站标题、描述、关键词进行批量转化;
S1122 数据标注:采用人工方式对一批网站进行网站类型标注;
S1123 分词处理:
利用jieba分词技术对网站的标题、描述信息、关键词拼接构成的语句进行分词,得到分词文本;
S1124 模型训练:使用分词后的有标签文本作为训练集进行训练,先对文本进行向量空间表示,得到每一个连接文本的向量空间表示,然后使用逻辑回归模型对基于特征表示的文本向量进行分类;
S1125 网站标签预测:使用训练好的模型进行无标签文本分类;
基于S111和S112的处理,完成网站信息知识库的构建;
其中,S12域名信息采集及域名信息知识库构建包括,
S121 依据域名数量,设置可执行线程数;
S122 依据域名设置请求URL;
S123 设置IP代理池,并设置随机sleep时间;
S124 从UserAgent数据池中随机抽取UA信息,模拟浏览器请求网页;
S125 分析网页数据,制定域名各个属性参数的解析策略;
S126 将获得的域名属性信息进行封装处理;
S127 循环S122-S126,采用executemany方式每处理完1k域名进行入库;
同时以这批域名数据为基础,依据域名解析的原理,构建一张域名与IP关联表;最终,域名信息知识库构建完成;
S13 IP信息数据采集及IP信息知识库构建中,
以域名信息知识库为基础,依据域名解析的原理,采用dig命令获取域名映射的IP集合,在 dig查询过程中引入TCP协议解DNS污染,获得IP集合;
IP属性信息获取流程为,
S131 依据IP数量,设置可执行线程数;
S132 依据IP设置请求URL;
S133 设置IP代理池,并设置随机sleep时间;
S134 从UserAgent数据池中随机抽取UA信息,模拟浏览器请求网页;
S135 分析网页数据,制定域名各个属性参数的解析策略;
S136 将获得的IP属性信息进行封装处理;
S137 循环S132-S136,采用executemany方式每处理完1k的IP集合进行入库;
最终,IP信息知识库构建完成;
S14权威域名服务器信息采集及权威域名服务器知识库构建中,
基于域名信息知识库得到的权威域名服务器进行采集,选用dig命令的方式去获取权威域名服务器的相关IP信息;
S15 ASN信息采集及ASN信息知识库构建中,
ASN信息采集包括,
ASN采集
Step1 以239个地区名为单元,设置请求URL;
Step2 依据whois.ipip.net网站页面样式设计采集策略;
Step3 将采集各个地区的ASN信息批量入库
ASN属性信息采集
Step1 依据ASN设置请求URL;
Step2 分析页面结构,设计采集策略;
Step3 将获取的ASN信息进行封装;
Step4 采用executemany方式完成入库操作;
CIDR属性信息采集
Setp1 基于采集到的ASN,进行下钻分析,获取ASN对于的CIDR;
Setp2 依据ASN设置请求URL;
Step3 分析对应CIDR所在页面的样式,设计采集策略。
进一步的,本发明的一种基于知识图谱的web日志异常行为的识别方法,S2知识图谱原型设计及知识图谱的构建中,其中,知识图谱原型设计中,
以域名解析的原理为基础构建域名和IP两大实体,并以此实体确立域名与子域名的父子关系以及域名与IP的承载关系;
基于Name Server的原理确立NS实体,并确立域名与NS的服务关系、IP与NS的地址关系;
基于whois查询技术和自治系统的原理确立ASN和国家两大实体,并确立两种关系:IP和 ASN的隶属关系以及ASN与国家的属于关系;
以网站组成原理确立了域名与网站的映射关系。
进一步的,本发明的一种基于知识图谱的web日志异常行为的识别方法,S2知识图谱原型设计及知识图谱的构建中,其中,知识图谱原型设计中,实体分别包括域名、网站、IP、NS、 CNAME、ASN、国家;
关系包括:父子关系、承载关系、服务关系、地址关系、隶属关系、属于关系、别名关系和映射关系;
三元组类型分别包括:域名1,父子关系,域名2、域名,承载关系,IP、域名,服务关系,NS、IP,地址关系,NS、IP,隶属关系,ASN、ASN,属于关系,国家、域名,别名关系,CNAME、域名,映射关系,网站。
进一步的,本发明的一种基于知识图谱的web日志异常行为的识别方法,S3 web日志异常行为识别模型的构建包括,
对网络服务器产生的DNS日志、IP日志、URL日志、SSL日志,通过机器学习和人工分析的方法,提取非人为的异常日志,总结异常日志特征,依据行为特征完成异常行为的定义与识别。
进一步的,本发明的一种基于知识图谱的web日志异常行为的识别方法,S3 web日志异常行为识别模型的构建基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建中,
在数据预处理时,通过知识图谱的IP节点中的country、city属性信息补全日志记录的源IP 地址和目标IP地址信息;当地理位置出现不是内外网两种对立的地理位置时,根据图谱中的隶属关系查询IP对应的ASN信息,获取国家地理信息。
进一步的,本发明的一种基于知识图谱的web日志异常行为的识别方法,S3 web日志异常行为识别模型的构建基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建中,
用户群体划分时,用户群体依据日志数据的IP地理位置、IP分段属性和知识图谱中的 website节点的网站类别信息。
进一步的,本发明的一种基于知识图谱的web日志异常行为的识别方法,S3 web日志异常行为识别模型的构建基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建中,
引入图谱中IP节点中各大互联网公司的爬虫IP白名单的策略进行数据爬取。
进一步的,本发明的一种基于知识图谱的web日志异常行为的识别方法,S3 web日志异常行为识别模型的构建基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建中,
域名暴力解析时,利用域名进行暴力解析,其分析公式为:
Cnt(domain2)-k>0
其中,i表示域名级数,Count()表示计算某级域名出现次数,domain2表示域名的二级域名,k 表示阈值;
其中,先采用爬虫行为识别策略和特征规则对数据进行过滤处理,然后引入知识图谱中的父子关系,通过域名去查询其所有子域名信息,阈值k直接依据子域名的数量去设定,并且直接进行域名匹配判断其子域名是否存在于图谱中。
进一步的,本发明的一种基于知识图谱的web日志异常行为的识别方法,S3 web日志异常行为识别模型的构建基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建中,
引入知识图谱中的地址关系,通过IP去查询权威域名服务器信息,判断目标IP是否属于根域名服务器。
本发明采用上述方案,取得了如下的技术效果。
本发明以提高日志中的异常行为的分析和识别能力为目标,构建一套完整有效的面向域名解析系统的知识图谱。该知识图谱以目前世界网站排名数据较为完备的alexa.com网站的top100w 域名数据为研究对象,通过设计的基于aiohttp和dig技术相结合的自动化爬虫模型采集数据,建立了域名、IP、网站、权威域名服务器、ASN等知识库,并在此基础上设计并构建了一套面向域名解析系统的知识图谱,提高了对web日志中异常行为的识别率。
本发明设计了一个基于aiohttp和dig技术相结合的自动化爬虫模型,解决了多源数据采集困难的问题。
本发明构建了一个近500万规模的面向域名解析系统的知识图谱,为web日志研究员提供了一套便捷的域名、IP等知识检索系统。
本发明进一步构建了一个基于知识图谱的web日志异常行为识别模型,提高了web日志中异常行为的识别率。
实验结果可以表明,面向域名解析系统的知识图谱增加了web日志的特征属性,降低了web 日志分析的难度,提高了异常行为识别模型对web日志的分析与识别能力。
同时该知识图谱的构建不仅对日志中机器访问等异常行为的检测有意义,而且对网络信息安全领域的其他工作也具有重要的意义,例如恶意域名、APT攻击等行为检测。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的多源数据采集及相应领域知识库的构建及知识图谱原型设计及知识图谱的构建方法示意图;
图2为本发明的知识图谱原型图;
图3为以google.com展开的知识图谱实例图;
图4为采用本发明的方法和现有技术的方法进行异常行为识别模型图;
图5为采用本发明的方法和现有技术的方法进行爬虫行为识别实验对比图;
图6为采用本发明的方法和现有技术的方法进行暴力域名解析行为实验对比图;
图7为采用本发明的方法和现有技术的方法进行DNS重复解析行为识别实验对比图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明实施例的描述中,需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
具体的,本发明提供一种基于知识图谱的web日志异常行为的识别方法,包括以下内容,
S1 多源数据采集及相应领域知识库的构建
应用域名解析、权威域名服务器、别名解析、自治系统等方法设计基于aiohttp和dig技术相结合的自动化爬虫模型,构建相应的领域知识库;
S2 知识图谱原型设计及知识图谱的构建
基于S1的领域知识库设计面向域名解析系统的知识图谱原型并进行知识图谱的构建;
S3 web日志异常行为识别模型的构建
基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建。
具体的,本发明的一种基于知识图谱的web日志异常行为的识别方法,其中,S1多源数据采集及相应领域知识库的构建中,首先,基于域名解析、权威域名服务器、别名解析、自治系统等方法确立各类知识的数据类型;然后,进行相关知识调研确定各类数据的数据源,依据数据源确定各类知识的表结构,同时为每种知识设计一套特定的采集方案。最后,将采集到的网页数据依据知识库设计的表规则进行处理、过滤,将非结构化数据转化成结构化数据,并批量存储到相应知识库中。
其中,所述的多源数据采集,主要依据知识图谱原型中的实体进行采集,在本发明中,包含域名、IP、网站等知识。多源数据采集与知识库的构建,包括网站信息知识库、域名信息知识库、IP信息知识库、权威域名服务器知识库、ASN信息知识库这五个知识库的信息采集及知识库的构建。
S11 网站信息采集和网站分类体系构建
本发明的网站信息的采集,以alexa.com网站上提供的top100w域名为基础,同时对站长之家、StuffGate、阿里云域名服务以及Alexa官网进行分析,进行网站基本属性信息的采集和网站分类体系的构建。
其中,S111网站基本属性信息采集,包括以下内容。
针对网站的基本属性信息的采集任务,包括但不限于网站的标题、描述、关键词、Alexa排名、所属国家,其中较为困难的是alexa排名和所属国家的获取任务。
其中网站的标题、描述、关键词的采集数据来自StuffGate网站,具体的采集流程如下:
S1111 依据域名数量,设置可执行线程数;
S1112 依据域名设置请求URL;
S1113 设置IP代理池,并设置随机sleep时间;
S1114 从UserAgent数据池中随机抽取UA信息,模拟浏览器请求网页;
S1115 分析网页数据,制定域名各个属性参数的解析策略;
S1116 将获得的域名属性信息进行封装处理;
S1117 循环S1112-S1116,采用executemany方式每处理完1k域名进行入库。
针对Alexa排名获取过程中,存在较强的验证机制,且爬虫速度慢,且容易出现异常中断的难点。本发明基于aiohttp的异步爬虫框架,通过引入IP代理池、伪造登陆口令获取cookie信息、设置随机sleep时间的方法解决了该问题。
而对于网站所属国家主要存在的问题就是准确性问题,初步的设计是依据顶级域名中的国别域名,以及alexa官网提供的网站受访地理去判断网站所属国家。但是发现国别域名也会存在冲突问题,例如图瓦卢的国别域名是.tv,但现在通常表示视频系列的网站;alexa.com提供的网站受访地理只能够表示该网站目前访问量比较靠前的几个国家,不能直接表示网站所属国家,可以作为一个辅助因素。因此,本发明以站长之家和阿里的whois查询的结果为基准,基于python爬虫获取网站的所属国家信息。对两者查询结果存在不一致时,引入alexa.com提供的所属国家信息去矫正。其中,具体的网站所属国家信息采集的方案流程如下所示:
S111A 依据域名数量及可执行线程数量大小设置线程处理域名长度(域名数量/线程数量),降低数据的爬取时间;
S111B 利用爬虫技术获取站长之家和阿里的whois信息;
S111C 对比两者的国家信息,若一致,则存入结果集,处理下一个网站;反之,则执行 S111D;
S111D 获取alexa.com提供的网站主要访问地理位置,矫正结果,存入结果集,处理下一个网站。
在本实施例中,待所有域名处理结束,与排名前10万中随机抽取的1万条由人工标注的网站进行对比,准确率达98.6%,其结果满足了后续业务的需求。
S112 网站分类体系构建
目前各大分类网站都有各自的分类体系,如站长之家、360等,但是各自的分类体系存在太多的交叉点,不适合直接使用现成的分类体系。而且后续的日志分析工作主要关注的是政府、新闻媒体等类别的网站。所以,本发明需要基于网络上已有的分类标签体系,结合日志分析业务的实际需求,构建一个面向信息安全服务的30类的网站标签体系,例如:政府组织、新闻媒体、社交论坛等。
本发明采用的解决方案是以机器分类为主,人工分类为辅的设计了一个基于TF-IDF算法和逻辑回归算法相结合的网站分类模型。具体的实现方法如下:
S1121 数据预处理:采用百度翻译API接口对网站基本信息属性中的网站标题、描述、关键词进行批量转化
由于采集的网站基本属性信息中的网站标题、描述、关键词存在多国语言的表达,本发明采用百度翻译API接口进行批量转化。
S1122 数据标注:采用人工方式对一批网站进行网站类型标注。
具体的,在本实施例中,采用人工的方式对一批网站进行标注,构建了约3万条训练集;
S1123 分词处理:利用jieba分词技术对网站的标题、描述信息、关键词拼接构成的语句进行分词,得到分词文本;
S1124 模型训练:使用分词后的有标签分词文本作为训练集进行训练,先对文本进行向量空间表示,得到每一个连接文本的向量空间表示,然后使用逻辑回归模型对基于特征表示的文本向量进行分类;
S1125 网站标签预测:使用训练好的模型进行无标签文本分类。
基于S111和S112的处理,完成网站信息知识库的构建。
其中,网站信息知识库的表结构为,
字段名:domainName;title;description;keywords;type;country;alexa_rank;
对应的数据类型分别为:Varchar;Text;Text;Text;Varchar;Varchar;int;
对应的字段含义分别为:网站;标题;描述;关键词;网站类型;所属国家Alexa排名。
本发明的实施例累计采集网站信息约210万条,网站信息知识库的表结构具体设计如表1所示:
表1 网站信息知识库表结构
序号 | 字段名 | 数据类型 | 字段含义 |
1 | domainName | Varchar | 网站 |
2 | title | Text | 标题 |
3 | description | Text | 描述 |
4 | keywords | Text | 关键词 |
5 | type | Varchar | 网站类型 |
6 | country | Varchar | 所属国家 |
7 | alexa_rank | int | Alexa排名 |
S12 域名信息采集及域名信息知识库构建
对于域名数据的采集,采用的域名数据源是alexa.com官网,主要包括两方面:一是域名的基础属性信息,包括域名,域名状态、权威DNS服务器、域名注册时间、域名过期时间等;二是域名解析后得到的IP信息。数据采集流程为,首先获取alexa.com网站的top100w的热门网站域名;然后以这批域名作为数据源,获取域名的基本属性信息。
对于域名基本属性信息的采集,由于域名量大导致采集任务过重的问题,本发明基于 asyncio的异步爬虫框架框架——aiohttp,同时结合多线程的方式进行批量获取域名属性信息,极大的提高了爬虫效率。其中asyncio能够支持单线程并发IO操作。需要依据网站页面结构,制定全面准确的分辨和解析策略。
具体的域名属性信息获取流程设计如下:
S121 依据域名数量,设置可执行线程数;
S122 依据域名设置请求URL;
S123 设置IP代理池,并设置随机sleep时间;
S124 从UserAgent数据池中随机抽取UA信息,模拟浏览器请求网页;
S125 分析网页数据,制定域名各个属性参数的解析策略;
S126 将获得的域名属性信息进行封装处理;
S127 循环S122-S126,采用executemany方式每处理完1k域名进行入库。
本实施例以alexa.com官网提供的top100万的热门网站的域名以及其子域名为基本采集单元,并与站长之家提供的域名为补充,完成了域名属性信息的采集任务。
同时以这批域名数据为基础,依据域名解析的原理,构建了一张域名与IP关联表。在爬虫任务上,通过设置IP代理池、随机sleep时间、UserAgent(用户代理)数据池等策略,模拟用户正常访问行为,防止网站的反爬虫机制,提高了爬虫程序的稳定性。
最终,域名信息知识库构建完成,采集频率预计每周更新一次,本发明目前采集了约230万的域名。
其中,域名信息知识库的表结构为,
字段名domainName;registryDomainId;domainStatus;nameServers;registrationDate; expirationDate;IANAID;domainMX;domainCNAME;domainText;
对应的数据类型分别为:Varchar;varchar;longtext;longtext;Varchar;Varchar; Varchar;longtext;Varchar;longtext;
对应的字段含义分别为:域名;注册域名id;域名状态;权威域名服务器;域名注册时间;域名过期时间;数字分配机构ID;邮箱;别名;域名信息备注。
具体的,域名信息知识库的数据结构设计如表2所示:
表2 域名信息知识库表结构
S13 IP信息数据采集及IP信息知识库构建
对于IP数据的采集,主要是以域名信息知识库为基础,依据域名解析的原理,采用dig命令去获取域名映射的IP集合。目前域名解析主要存在两个问题:一是由于国内防火墙的存在,对于国外的大部分域名解析遭受到了DNS污染,导致域名解析不正确;二是由于负载均衡技术的存在,导致域名解析后的IP集合不完全。
针对域名解析存在的问题,申请人一开始采用的方法是:一是在dig命令查询域名解析相应的IP信息时,引入DNS加密技术,解决DNS污染问题;二是dig命令时指向美国、日本、德国、新加坡等多个国家的公共DNS服务器,解决域名解析后的IP单一问题。但是在不使用国外服务器的情况下,直接利用DNS加密技术去查询域名相关的A记录还是存在不正确的结果,不能够很好的解决DNS污染问题。由于dig查询命令默认的是UDP协议,UDP的DNS查询流量的篡改是非常严重的,所以本发明在dig查询过程中引入TCP协议,该策略的加入解决了DNS 污染问题。最终,采集了总量约为120万的IP集合。
对于IP属性信息的采集,数据源采用的是pro.ip-api.com网站,其提供的IP属性信息,包含国家、城市、经纬度等信息。其获取流程基本与域名属性信息获取流程基本一致。
具体的IP属性信息获取流程设计如下:
S131 依据IP数量,设置可执行线程数;
S132 依据IP设置请求URL;
S133 设置IP代理池,并设置随机sleep时间;
S134 从UserAgent数据池中随机抽取UA信息,模拟浏览器请求网页;
S135 分析网页数据,制定域名各个属性参数的解析策略;
S136 将获得的IP属性信息进行封装处理;
S137 循环S132-S136,采用executemany方式每处理完1k的IP集合进行入库。
最终,IP信息知识库构建完成。其中,域名信息知识库的表结构为:
字段名为:Ip;region;regionName;city;district;latitude;longitude;isp;asnNum; reverse;mobile;proxy;
对应的数据类型分别为:Char;Varchar;Varchar;Varchar;Varchar;Double;Double; Varchar;Varchar;Varchar;Varchar;varchar;
对应的字段含义分别为:IP地址;地区;地区名;城市;乡镇;纬度;经度;互联网服务提供商;自治系统编号;反向IP的DNS;是否可以手机连接;是否有代理。
其数据结构设计如表3所示:
表3 IP信息知识库表结构
序号 | 字段名 | 数据类型 | 字段含义 |
1 | Ip | Char | IP地址 |
2 | region | Varchar | 地区 |
3 | regionName | Varchar | 地区名 |
4 | city | Varchar | 城市 |
5 | district | Varchar | 乡镇 |
6 | latitude | Double | 纬度 |
7 | longitude | Double | 经度 |
8 | isp | Varchar | 互联网服务提供商 |
9 | asnNum | Varchar | 自治系统编号 |
10 | reverse | Varchar | 反向IP的DNS |
11 | mobile | Varchar | 是否可以手机连接 |
12 | proxy | varchar | 是否有代理 |
S14 权威域名服务器信息采集及权威域名服务器知识库构建
对于权威域名服务器信息的采集,本发明主要基于域名信息知识库得到的权威域名服务器进行采集,选用dig命令的方式去获取权威域名服务器的相关IP信息。
S15 ASN信息采集及ASN信息知识库构建
对于ASN信息的采集,本发明采用的数据源是whois.ipip.net提供239个地区的ASN信息,其中亚太地区包含75个,北美地区包含31个、欧洲包含53个、南美洲包含24个、非洲包含56 个。ASN信息采集主要包括两个方面:一是ASN的基础信息的采集,例如自治系统编号、自治系统(AS)所属的国家编号、自治系统编号全名、自治系统拥有的IPv4数量、自治系统拥有的 IPv6数量。二是无类别域间路由(CIDR)基础信息的采集,例如无类别域间路由所在IP段的IP 数量、自治系统编号、组织名、注册国家等。无类别域间路由是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。
ASN信息的采集任务基于aiohttp爬虫框架进行,主要分为3步:首先是ASN采集,然后是 ASN属性信息采集,最后是CIDR属性信息采集。具体的采集流程如下:
ASN采集
Step1 以239个地区名为单元,设置请求URL;
Step2 依据whois.ipip.net网站页面样式设计采集策略;
Step3 将采集各个地区的ASN信息批量入库
ASN属性信息采集
Step1 依据ASN设置请求URL;
Step2 分析页面结构,设计采集策略;
Step3 将获取的ASN信息进行封装;
Step4 采用executemany方式完成入库操作;
CIDR属性信息采集
Setp1 基于采集到的ASN,进行下钻分析,获取ASN对于的CIDR;
Setp2 依据ASN设置请求URL;
Step3 分析对应CIDR所在页面的样式,设计采集策略;
本发明以ASN采集、ASN属性信息采集,CIDR属性信息采集三步走策略完成了ASN信息的采集任务。在本实施例中,采集了70656条ASN记录、980704条无类别域间路由记录。
其中,ASN信息知识库的表结构为:
字段名为,asnNum、asnNumHref、countryCode、asnName、ipv4NumIps、ipv6NumIps、cidrIdSet;
对应的数据类型均为Varchar;
对应的字段含义分别为:自治系统(AS)编号、AS链接、国家编号、AS编号全名、AS拥有的IPv4数量、AS拥有的IPv6数量、CIDR的id集合;
与ASN信息知识库关联的CIDR信息表结构为,字段名分为:cidr、cidrDescription、 ipNum、asnNum、asName、orgName、registryRegion、ipv4Prefixes、ipv6Prefixes、 ipv4NumIps、id;
对应的数据类型分别为:Varchar、Varchar、Int、Varchar、Varchar、Varchar、Varchar、 Varchar、Varchar、varchar;
对应的字段含义分别为:无类别域间路由、无类别域间路由描述、IP段的IP数量、自治系统(AS)编号、自治系统(AS)简称、组织名、注册国家、IPv4前缀、IPv6前缀、IPv4数量、CIDR 的id。
表4 ASN信息知识库表结构
其中与ASN信息知识库关联的CIDR信息如表5所示:
表5 CIDR信息表结构
序号 | 字段名 | 数据类型 | 字段含义 |
1 | cidr | Varchar | 无类别域间路由 |
2 | cidrDescription | Varchar | 无类别域间路由描述 |
3 | ipNum | Int | IP段的IP数量 |
4 | asnNum | Varchar | 自治系统(AS)编号 |
5 | asName | Varchar | 自治系统(AS)简称 |
6 | orgName | Varchar | 组织名 |
7 | registryRegion | Varchar | 注册国家 |
8 | ipv4Prefixes | Varchar | IPv4前缀 |
9 | ipv6Prefixes | Varchar | IPv6前缀 |
10 | ipv4NumIps | varchar | IPv4数量 |
11 | id | Int | CIDR的id |
如前所述,本发明为完善域名解析知识体系,以aiohttp爬虫为主,dig脚本技术为辅助,采取基于aiohttp和dig技术相结合的自动化爬虫模型,依据知识库设计的表规则进行处理、过滤,将域名、IP、网站、权威域名服务器等非结构化数据批量提取到相应知识库中。
进一步的,本发明的基于知识图谱的web日志日常异常行为识别方法,具体的,S2知识图谱原型设计及知识图谱的构建中,其中知识图谱原型设计中,
实体、实体间关系、实体的属性等元素是构建知识图谱的关键要素。本发明为构建面向域名解析系统的知识图谱,依据构建的领域知识库进行了面向域名解析系统的知识图谱原型的设计。采用基于自顶向下与自底向上相结合的方法进行知识图谱的构建。知识图谱原型的设计主要以域名解析原理为核心展开。实体与实体间关系确立过程如下:
1、域名解析是将域名通过专门的域名解析服务器(DNS)转换成IP的过程。本发明以域名解析的原理为基础构建域名和IP两大实体,并以此实体确立域名与子域名的父子关系以及域名与IP的承载关系。
2、权威域名服务器(Name Server)是负责此DNS区域的权威域名服务器。一般在域名解析的过程中会使用到它。假设用户访问www.baidu.com,会以迭代或递归的方式去本地域名服务器、根域名服务器、顶级域名服务器、权威域名服务器依次获取www.baidu.com对应的IP信息。基于Name Server的原理确立NS实体,并确立域名与NS的服务关系、IP与NS的地址关系。
3、自治系统号(ASN)由16个比特组成,合计存在65536种可能性取值。每个国家分配的自治系统号都是不一致的,通过ASN可以知道IP所属的国家信息。DNS反向解析是通过IP地址反向查询域名信息的过程,如果需要查询该IP地址所在的自治域号,通常情况下使用whois 查询,若查询结果中存在origin字段,则表示自治域号。因此,基于whois查询技术和自治系统的原理确立ASN和国家两大实体,并确立两种关系:IP和ASN的隶属关系以及ASN与国家的属于关系。
4、别名解析通常是把域名做CNAME记录并指向一个域名而非IP。本发明以域名与网站的映射关系和别名解析原理确立了网站和CNAME两大实体,并确立了网站与CNAME的别名关系。
5、多数网站由域名、DNS域名解析、空间服务器、网站程序等组成。本发明以网站组成原理确立了域名与网站的映射关系。
最终确立了7个实体和8大关系。7个实体分别包括域名、网站、IP、NS(权威域名服务器)、CNAME(别名)、ASN(自治系统号)、国家;8个关系包括:父子关系、承载关系、服务关系、地址关系、隶属关系、属于关系、别名关系和映射关系;三元组类型分别包括:域名1,父子关系,域名2、域名,承载关系,IP、域名,服务关系,NS、IP,地址关系,NS、IP,隶属关系,ASN、ASN,属于关系,国家、域名,别名关系,CNAME、域名,映射关系,网站。具体关系如下表6所示:
表6 知识图谱原型关系表
综上所述,并结合日志分析专家的意见,最终构建的知识图谱原型如附图2所示。
本发明基于多源数据整合的知识库,以域名解析知识图谱原型为支撑,完成了面向域名解析系统的知识图谱的构建任务,其最终数据规模达近500万,其规模如表7所示。构建的知识图谱示例如图3所示。
表7 知识图谱节点规模统计表
序号 | 节点 | 数据量 | 备注 |
1 | domain | 2162995 | 域名节点 |
2 | NS | 322175 | 权威域名节点 |
3 | IP | 1273717 | IP节点 |
4 | ASN | 70656 | 自治系统节点 |
5 | country | 239 | 国家与地区节点 |
6 | website | 1035622 | 网站节点 |
7 | CNAME | 69897 | 域名别名节点 |
本发明的基于知识图谱的web日志异常行为识别方法,其中,S3 web日志异常行为识别模型的构建具体包括如下内容。
异常行为识别模型主要是对网络服务器产生的DNS日志、IP日志、URL日志、SSL日志,通过机器学习和人工分析的方法,提取非人为的异常日志,总结异常日志特征,依据行为特征完成异常行为的定义与识别。本发明基于面向应解析系统的知识图谱,构建异常行为识别模型,在本实施例中,构建了近40种异常行为模型。异常行为模型如附图4所示。
其中包括,利用知识图谱进行数据集预处理
通过知识图谱的IP节点中的country、city属性信息快速补全日志记录的源IP地址和目标IP 地址信息;当地理位置出现不是内外网两种对立的地理位置时,根据图谱中的隶属关系查询IP 对应的ASN信息,获取国家地理信息,及时矫正错误。
在DNS解析的过程中,由于DNS污染的问题,导致用户请求错误的DNS服务器,就会产生DNS日志。但DNS解析成功,用户与目标就会建立连接,若用户是通过不加密协议HTTP请求,就会产生URL日志;若用户是通过加密协议HTTPS请求就会产生IP日志,但是在进行HTTPS请求之前会首先进行SSL握手,获取公钥,若校验失败则会产生SSL日志。四类日志的基本属性包含源IP、源IP地址、源端口、目标IP、目标IP地址、目标端口。其中DNS日志携带qname字段;URL日志携带UA(用户代理)、URL字段;SSL日志携带SNI字段。其中,在日志数据预处理方面,发现日志中的地理信息存在缺失,会导致对缺失的数据分析依据不充分问题。而基于面向域名解析系统的知识图谱中包含121万个IP节点,通过IP节点中的country、city等属性信息可以快速补全日志记录的源IP地址和目标IP地址信息;而且由于源和目标是地理位置是中国内外对立的,当地理位置出现不是内外网两种对立的地理位置时,就表明地理位置可能存在错误或者该记录是IP伪造的行为,可以依赖图谱中的隶属关系去查询IP对应的 ASN信息,获取国家地理信息,及时矫正错误。
其中还包括,利用知识图谱进行日常行为分析。
知识图谱在异常行为识别过程中也起到了关键作用,例如:
1、用户群体划分。其原始的划分策略主要是依据日志中的IP地理位置,IP段分布等属性,划分用户群体。但是,本发明通过引入知识图谱中的website节点的网站类别信息,能够更加详细的依据用户访问的网站类别来划分。
具体的,在本实施例中,用户群体依据日志数据的IP地理位置、IP分段属性和知识图谱中的website节点的网站类别信息。
2、爬虫行为是搜索引擎或个人用户为了满足搜索时预缓存的需要,不定时的获取各类域名的页面数据的行为。其原始行为分析具体流程主要是依据日志数据中的UA字段信息与本地user_agent表(网络采集的约4千万条UA信息)进行匹配,判断该UA是否属于爬虫UA,或者依据总结的行为特征判定URL字段是否包含“robots.txt”字符信息。但是,该分析方法对于一些UA信息伪造、字段为空的记录是无法识别的。
对于该问题,本发明通过引入图谱中IP节点中各大互联网公司的爬虫IP白名单的策略,提高了爬虫行为的识别率。
3、域名暴力解析行为是利用域名进行暴力解析,或者利用字典进行域名的拼接,用来检测是否可以连通网站的行为。其原始行为分析计算公式如下:
Cnt(domain2)-k>0 (2)
其中,i表示域名级数,Count()表示计算某级域名出现次数,domain2表示域名的二级域名,k 表示阈值(依据分析经验总结而得出的,一般设置为100)。公式(1)表示以域名的二级域名 doamin2为key,以其三级以上域名出现的次数Cnt为value;公式(2)表示判断在某段时间内该二级域名的不同子域名出现的次数Cnt(domain2)是否大于设定的阈值k;若是,则认定该记录为域名暴力解析行为。
该分析方法中的阈值一直依靠的是日志分析经验去设定的,但识别效果时好时坏。识别的数据中包含大量的爬虫、VPN代理通讯等行为,例如日志中出现了对blogspot.com系列个人博客类网站爬取的记录约8.7万条以及对vpn.rockstargames.com的VPN代理连接记录约2.5万条。
本发明的改进方案是先采用爬虫行为识别策略和特征规则对数据进行过滤处理,然后引入知识图谱中的父子关系,通过域名去查询其所有子域名信息并求得子域名数量总和,阈值k的设定可以直接等于该域名的子域名的数量总和,并且可以直接进行域名匹配判断其子域名是否存在于图谱中。该改进方案解决了爬虫、vpn等行为特征数据的过滤问题和阈值k的选取问题,提高了域名暴力解析行为的识别准确率。
4、DNS重复解析行为是DNS污染导致的解析结果验证错误,从而产生了向13台根域名服务发出重复的DNS请求行为。原始行为分析计算公式如下:
F(Ftime,Cip,qname)={Sip1,Sip2,...,Sipn} (3)
Len(F)-13>>0 (4)
其中,Ftime表示日志发现时间,Cip表示源IP,qname表示Cip请求的域名,Sip表示目标IP,F 表示集合,Len()表示计算集合的长度。公式(3)表示以时间、源IP和qname为标签构建集合F,以目标IP作为集合元素;公式(4)判断集合的长度是否大于等于13,若是,则认定该记录为DNS 重复解析行为。
虽然该流程能够识别出DNS重复解析行为,但是存在目标IP不属于根域名服务器的问题,导致识别的准确率不高。
本发明的改进方案是引入知识图谱中的地址关系,通过IP去查询权威域名服务器信息,判断目标IP是否属于根域名服务器。该改进方案解决了目标是否属于根域名服务的问题,提高了 DNS重复解析行为识别的准确率。
实验例
1、实验数据
本发明以来自某科研机构提供的网络服务器日志作为实验数据,其服务器对于有害信息的日均阻断量达上亿次。因为日志数据涉及隐私及安全问题,所以本发明对数据进行了加密处理。表 8展示了提供的部分网络服务器日志数据的示例:
表8 网络服务器日志部分数据表
Table 8Partial data table of web server log
2、实验环境
本发明实验环境如下:编译环境是基于Spark 3.1.2与Hadoop 2.7.1的Scala2.12.13,数据库采用的是Neo4j与MySQL、开发工具是IntelliJ IDEA 2021.1.3 x64。
3、测评标准
以异常行为识别的精确率Pt、召回率Re、F1值三个指标来对面向域名解析系统的知识图谱进行评价,具体计算公式如表9所示:
表9 评测标准表
其中,异常行为识别精确率Pt表示异常行为识别的精确程度;异常行为识别召回率Re表示基于域名面向解析系统的知识图谱的异常行为识别模型的预测覆盖范围;异常行为识别F1值表示将 Pt和Re以同等重要程度进行合并,得出异常行为的综合识别情况。
4、实验结果分析
本发明分别对异常行为识别模型中的爬虫行为、域名暴力解析行为、DNS重复解析行为在基于面向域名解析系统的知识图谱和未基于知识图谱的两种条件下进行对比实验,来验证知识图谱对异常行为识别模型的作用。
实验1:爬虫行为识别实验结果分析
通过图5可知,基于知识图谱较未基于知识图谱的爬虫行为识别模型的精确率都是100%,表明两种方案识别出的异常行为都被正确识别出来了。但是召回率与F1值分别提升了25.79%与 14.88%,表明基于知识图谱的模型对正确异常行为识别量大于未基于知识图谱的模型,且识别率得到明显的提升。可以证明知识图谱对爬虫行为识别起到了助推作用。
实验2:暴力域名解析行为识别实验结果分析
暴力域名解析行为识别实验对比分析结果如图6所示:
通过图6可知,基于知识图谱较未基于知识图谱的爬虫行为识别模型的精确率提升了 38.47%,但是两者的召回率一致。表明两种方案识别出的正确的异常行为数量都是一致的,但是基于知识图谱的识别模型的噪声值远小于未基于知识图谱的识别模型。同时该实验的F1值也提升了47.23%,可以证明知识图谱能够提高暴力域名解析行为识别模型的降噪能力。
实验3:DNS重复解析行为识别实验结果分析
通过图7可知,基于知识图谱较未基于知识图谱的DNS重复解析行为识别模型的精确率提升了95.3%,但是两者召唤率一致,表明两者正确识别出的异常行为数量一致,但是未基于知识图谱的模型识别出得日志数据中噪声数据过多,导致两者的准确率差距特别大,进而导致该实验的F1值提升了91.63%。通过该实验,可以证明知识图谱提高DNS重复解析行为识别模型对非该异常行为数据的过滤能力。
本发明提出了一种基于知识图谱的web日志异常行为识别方法,旨在提高异常行为识别模型对日志的分析和识别能力,同时也为研究人员在进行日志分析工作时提供便捷大规模的领域知识检索工具。综合实验1、2、3的实验结果可以表明,采用本发明的方法构建的面向域名解析系统的知识图谱增加了web日志的特征属性,降低了web日志分析的难度,提高了异常行为识别模型对web日志的分析与识别能力。
同时采用本发明的方法对知识图谱的构建不仅对日志中机器访问等异常行为的检测有意义,而且对网络信息安全领域的其他工作也具有重要的意义,例如恶意域名、APT攻击等行为检测。
本发明提供的技术方案,不受上述实施例的限制,凡是利用本发明的结构和方式,经过变换和代换所形成的技术方案,都在本发明的保护范围内。
Claims (11)
1.一种基于知识图谱的web日志异常行为的识别方法,其特征在于:包括如下步骤,
S1多源数据采集及相应领域知识库的构建
应用域名解析、权威域名服务器、别名解析、自治系统的方法设计基于aiohttp和dig技术相结合的自动化爬虫模型,构建相应的领域知识库;
S2知识图谱原型设计及知识图谱的构建
基于S1的领域知识库设计面向域名解析系统的知识图谱原型并进行知识图谱的构建;
S3 web日志异常行为识别模型的构建
基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建。
2.根据权利要求1所述的一种基于知识图谱的web日志异常行为的识别方法,其特征在于:
S1多源数据采集及相应领域知识库的构建中,首先,基于域名解析、权威域名服务器、别名解析、自治系统方法确立各类知识的数据类型;然后,确定各类数据的数据源,依据数据源确定各类知识的表结构,同时为每种知识设计特定的采集方案;最后,将采集到的网页数据依据知识库设计的表规则进行处理、过滤,将非结构化数据转化成结构化数据,并批量存储到相应知识库中。
3.根据权利要求2所述的一种基于知识图谱的web日志异常行为的识别方法,其特征在于:S1中,包括S11网站信息采集和网站分类体系构建;
S12域名信息采集及域名信息知识库构建;
S13 IP信息数据采集及IP信息知识库构建;
S14权威域名服务器信息采集及权威域名服务器知识库构建;
S15 ASN信息采集及ASN信息知识库构建;
其中,S11包括S111网站基本属性信息采集,
其中网站的标题、描述、关键词的采集数据来自StuffGate网站,采集流程为,
S1111依据域名数量,设置可执行线程数;
S1112依据域名设置请求URL;
S1113设置IP代理池,并设置随机sleep时间;
S1114从UserAgent数据池中随机抽取UA信息,模拟浏览器请求网页;
S1115分析网页数据,制定域名各个属性参数的解析策略;
S1116将获得的域名属性信息进行封装处理;
S1117循环S1112-S1116,采用executemany方式每处理完1k域名进行入库;
针对Alexa排名获取过程中,基于aiohttp的异步爬虫框架,通过引入IP代理池、伪造登陆口令获取cookie信息、设置随机sleep时间;
网站所属国家信息采集的方案流程为
S111A依据域名数量及可执行线程数量大小设置线程处理域名长度(域名数量/线程数量),降低数据的爬取时间;
S111B利用爬虫技术获取站长之家和阿里的whois信息;
S111C对比两者的国家信息,若一致,则存入结果集,处理下一个网站;反之,则执行S111D;
S111D获取alexa.com提供的网站主要访问地理位置,矫正结果,存入结果集,处理下一个网站
还包括S112网站分类体系构建,其包括,
S1121数据预处理:采用百度翻译API接口对网站基本信息属性中的网站标题、描述、关键词进行批量转化;
S1122数据标注:采用人工方式对一批网站进行网站类型标注;
S1123分词处理:
利用jieba分词技术对网站的标题、描述信息、关键词拼接构成的语句进行分词,得到分词文本;
S1124模型训练:使用分词后的有标签文本作为训练集进行训练,先对文本进行向量空间表示,得到每一个连接文本的向量空间表示,然后使用逻辑回归模型对基于特征表示的文本向量进行分类;
S1125网站标签预测:使用训练好的模型进行无标签文本分类;
基于S111和S112的处理,完成网站信息知识库的构建;
其中,S12域名信息采集及域名信息知识库构建包括,
S121依据域名数量,设置可执行线程数;
S122依据域名设置请求URL;
S123设置IP代理池,并设置随机sleep时间;
S124从UserAgent数据池中随机抽取UA信息,模拟浏览器请求网页;
S125分析网页数据,制定域名各个属性参数的解析策略;
S126将获得的域名属性信息进行封装处理;
S127循环S122-S126,采用executemany方式每处理完1k域名进行入库;
同时以这批域名数据为基础,依据域名解析的原理,构建一张域名与IP关联表;最终,域名信息知识库构建完成;
S13 IP信息数据采集及IP信息知识库构建中,
以域名信息知识库为基础,依据域名解析的原理,采用dig命令获取域名映射的IP集合,在dig查询过程中引入TCP协议解DNS污染,获得IP集合;
IP属性信息获取流程为,
S131依据IP数量,设置可执行线程数;
S132依据IP设置请求URL;
S133设置IP代理池,并设置随机sleep时间;
S134从UserAgent数据池中随机抽取UA信息,模拟浏览器请求网页;
S135分析网页数据,制定域名各个属性参数的解析策略;
S136将获得的IP属性信息进行封装处理;
S137循环S132-S136,采用executemany方式每处理完1k的IP集合进行入库;
最终,IP信息知识库构建完成;
S14权威域名服务器信息采集及权威域名服务器知识库构建中,
基于域名信息知识库得到的权威域名服务器进行采集,选用dig命令的方式去获取权威域名服务器的相关IP信息;
S15 ASN信息采集及ASN信息知识库构建中,
ASN信息采集包括,
ASN采集
Step1以239个地区名为单元,设置请求URL;
Step2依据whois.ipip.net网站页面样式设计采集策略;
Step3将采集各个地区的ASN信息批量入库
ASN属性信息采集
Step1依据ASN设置请求URL;
Step2分析页面结构,设计采集策略;
Step3将获取的ASN信息进行封装;
Step4采用executemany方式完成入库操作;
CIDR属性信息采集
Setp1基于采集到的ASN,进行下钻分析,获取ASN对于的CIDR;
Setp2依据ASN设置请求URL;
Step3分析对应CIDR所在页面的样式,设计采集策略。
4.根据权利要求3所述的一种基于知识图谱的web日志异常行为的识别方法,其特征在于:S2知识图谱原型设计及知识图谱的构建中,其中,知识图谱原型设计中,
以域名解析的原理为基础构建域名和IP两大实体,并以此实体确立域名与子域名的父子关系以及域名与IP的承载关系;
基于Name Server的原理确立NS实体,并确立域名与NS的服务关系、IP与NS的地址关系;
基于whois查询技术和自治系统的原理确立ASN和国家两大实体,并确立两种关系:IP和ASN的隶属关系以及ASN与国家的属于关系;
以网站组成原理确立域名与网站的映射关系。
5.根据权利要求4所述的一种基于知识图谱的web日志异常行为的识别方法,其特征在于:S2知识图谱原型设计及知识图谱的构建中,其中,知识图谱原型设计中,实体分别包括域名、网站、IP、NS、CNAME、ASN、国家;
关系包括:父子关系、承载关系、服务关系、地址关系、隶属关系、属于关系、别名关系和映射关系;
三元组类型分别包括:域名1,父子关系,域名2、域名,承载关系,IP、域名,服务关系,NS、IP,地址关系,NS、IP,隶属关系,ASN、ASN,属于关系,国家、域名,别名关系,CNAME、域名,映射关系,网站。
6.根据权利要求5所述的一种基于知识图谱的web日志异常行为的识别方法,其特征在于:S3 web日志异常行为识别模型的构建包括,
对网络服务器产生的DNS日志、IP日志、URL日志、SSL日志,通过机器学习和人工分析的方法,提取非人为的异常日志,总结异常日志特征,依据行为特征完成异常行为的定义与识别。
7.根据权利要求6所述的一种基于知识图谱的web日志异常行为的识别方法,其特征在于:
S3 web日志异常行为识别模型的构建基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建中,
在数据预处理时,通过知识图谱的IP节点中的country、city属性信息补全日志记录的源IP地址和目标IP地址信息;当地理位置出现不是内外网两种对立的地理位置时,根据图谱中的隶属关系查询IP对应的ASN信息,获取国家地理信息。
8.根据权利要求7所述的一种基于知识图谱的web日志异常行为的识别方法,其特征在于:S3 web日志异常行为识别模型的构建基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建中,
用户群体划分时,用户群体依据日志数据的IP地理位置、IP分段属性和知识图谱中的website节点的网站类别信息。
9.根据权利要求8所述的一种基于知识图谱的web日志异常行为的识别方法,其特征在于:S3 web日志异常行为识别模型的构建基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建中,
引入图谱中IP节点中各大互联网公司的爬虫IP白名单的策略进行数据爬取。
11.根据权利要求9所述的一种基于知识图谱的web日志异常行为的识别方法,其特征在于:S3 web日志异常行为识别模型的构建基于S2构建的知识图谱辅助完成web日志异常行为识别模型的构建中,
引入知识图谱中的地址关系,通过IP去查询权威域名服务器信息,判断目标IP是否属于根域名服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111637283.7A CN114328962A (zh) | 2021-12-29 | 2021-12-29 | 一种基于知识图谱的web日志异常行为识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111637283.7A CN114328962A (zh) | 2021-12-29 | 2021-12-29 | 一种基于知识图谱的web日志异常行为识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114328962A true CN114328962A (zh) | 2022-04-12 |
Family
ID=81016418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111637283.7A Pending CN114328962A (zh) | 2021-12-29 | 2021-12-29 | 一种基于知识图谱的web日志异常行为识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114328962A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048533A (zh) * | 2022-06-21 | 2022-09-13 | 四维创智(北京)科技发展有限公司 | 知识图谱构建的方法、装置、电子设备及可读存储介质 |
CN115051863A (zh) * | 2022-06-21 | 2022-09-13 | 四维创智(北京)科技发展有限公司 | 异常流量检测的方法、装置、电子设备及可读存储介质 |
CN116672721A (zh) * | 2023-07-31 | 2023-09-01 | 欢喜时代(深圳)科技有限公司 | 一种游戏推广网页实时管理方法及系统 |
CN116881014A (zh) * | 2023-09-04 | 2023-10-13 | 奇点数联(北京)科技有限公司 | 一种多线程数据采集的处理方法 |
-
2021
- 2021-12-29 CN CN202111637283.7A patent/CN114328962A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048533A (zh) * | 2022-06-21 | 2022-09-13 | 四维创智(北京)科技发展有限公司 | 知识图谱构建的方法、装置、电子设备及可读存储介质 |
CN115051863A (zh) * | 2022-06-21 | 2022-09-13 | 四维创智(北京)科技发展有限公司 | 异常流量检测的方法、装置、电子设备及可读存储介质 |
CN115048533B (zh) * | 2022-06-21 | 2023-06-27 | 四维创智(北京)科技发展有限公司 | 知识图谱构建的方法、装置、电子设备及可读存储介质 |
CN116672721A (zh) * | 2023-07-31 | 2023-09-01 | 欢喜时代(深圳)科技有限公司 | 一种游戏推广网页实时管理方法及系统 |
CN116672721B (zh) * | 2023-07-31 | 2023-10-13 | 欢喜时代(深圳)科技有限公司 | 一种游戏推广网页实时管理方法及系统 |
CN116881014A (zh) * | 2023-09-04 | 2023-10-13 | 奇点数联(北京)科技有限公司 | 一种多线程数据采集的处理方法 |
CN116881014B (zh) * | 2023-09-04 | 2023-11-10 | 奇点数联(北京)科技有限公司 | 一种多线程数据采集的处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114328962A (zh) | 一种基于知识图谱的web日志异常行为识别方法 | |
CN107786575B (zh) | 一种基于dns流量的自适应恶意域名检测方法 | |
US11799823B2 (en) | Domain name classification systems and methods | |
CN109905288B (zh) | 一种应用服务分类方法及装置 | |
US6714934B1 (en) | Method and system for creating vertical search engines | |
US9569522B2 (en) | Classifying uniform resource locators | |
US9443019B2 (en) | Optimized web domains classification based on progressive crawling with clustering | |
US10078743B1 (en) | Cross identification of users in cyber space and physical world | |
CN108874943B (zh) | 一种基于长短期记忆神经网络的暗网资源探测系统 | |
US9060029B2 (en) | System and method for target profiling using social network analysis | |
US20180139222A1 (en) | Method and device for detecting website attack | |
US20170053031A1 (en) | Information forecast and acquisition method based on webpage link parameter analysis | |
CN110012122B (zh) | 一种基于词嵌入技术的域名相似性分析方法 | |
CN112333185B (zh) | 一种基于dns解析的域名阴影检测方法和装置 | |
Dao et al. | CNAME cloaking-based tracking on the web: Characterization, detection, and protection | |
Kim et al. | Phishing url detection: A network-based approach robust to evasion | |
CN110825950B (zh) | 一种基于元搜索的隐藏服务发现方法 | |
Zhuang et al. | Discovering obscure looking glass sites on the web to facilitate internet measurement research | |
WO2016173327A1 (zh) | 用于检测网站攻击的方法和设备 | |
WO2015062652A1 (en) | Technique for data traffic analysis | |
GB2543740A (en) | Aggregating profile information | |
CN104391958A (zh) | 网页搜索关键词的相关性检测方法及装置 | |
CN106161352A (zh) | 一种匹配方法和客户端,服务器以及匹配设备 | |
TWI636371B (zh) | Associated sentiment cluster method | |
Tan et al. | Malfilter: A lightweight real-time malicious url filtering system in large-scale networks |
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 |