基于图数据库的系统日志图谱模型构建与分析_第1页
基于图数据库的系统日志图谱模型构建与分析_第2页
基于图数据库的系统日志图谱模型构建与分析_第3页
基于图数据库的系统日志图谱模型构建与分析_第4页
基于图数据库的系统日志图谱模型构建与分析_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

日志分析技术以网络环境中各类设备产生的记录为目标,通过自动化分析网络中的各类改变以发现网络威胁并及时发出警报,可显著提高计算机系统的防护能力。目前成熟的日志分析技术已经能够准确地检测出漏洞利用、病毒植入或异常系统行为等事件。然而,随着高级持续性威胁(AdvancedPersistentThreat,APT)的出现,传统日志分析技术的局限性也随之体现:一方面,其主要信息来源为日志数据,维度相对单一;另一方面,其难以表示数据中异常事件的关联性。为提升关联能力,研究人员开始将图的思想融入日志分析。相比于文本数据,将日志中的事件和关系转换为节点和边以构成图结构能直观体现出数据间的关联性。针对网络日志文件提出一种方法,将日志实体材料化为图结构,并通过Neo4j数据库驱动以提供查询和可视化。朱元庆等人基于系统日志的派生关系将日志转化为无向图,并应用XGBoost算法优化图中各边的权重值。但该工作构建的日志图中关系较为单一。薛见新分析了基于终端侧、系统日志和应用程序日志的关联、网络侧和终端侧的关联3个维度的攻击溯源日志图构建技术。余真奇提出了一种按起源图思想构建系统日志图的方法。为丰富信息来源,研究人员将图进一步扩展为图谱。图结构除能建模日志中的复杂事件和关系外,也能有效地处理多源数据的集成和关联,即形成图谱。MITRE组织构建了一个知识图谱“CyGraph”,其将网络设施、安全态势、威胁和任务依赖知识与日志数据融合为一个全局模型。讨论了一种通过语义表示将日志实体链接到外部知识的方法,但并未包含威胁情报这一外部知识。研究较好地弥补了这一不足。他们提出一种能够集成多源威胁情报的网络安全知识图谱,并以日志数据为对象进行了推理分析。Kurniawan等人提出了一种基于知识图谱的日志分析框架,其基于语义网融入了多种威胁检测技术,并提供了内部系统知识和外部安全知识的上下文关联。陶源等人提出网络安全等级保护日志分析图谱模型,构建了几种将等保测评数据与系统日志相融合的理论分析框架。目前图谱相关研究大多用其构建的模型直接对原始日志或经过简单关联的日志图进行分析。我们认为,前述两个方向的研究思路可以进行有效结合,以形成更加完整的图谱模型。为验证此观点,本文提出了一种基于图数据库的系统日志图谱模型。一方面,其对系统日志内部的多种关系进行建模,将文本数据转换为更直观易懂的图数据;另一方面,该模型实现了日志与外部多维知识的有效融合,便于分析人员以全局视角研究网络安全事件。1图谱模型设计知识图谱是一种结构化的语义知识库,用于描述现实世界中的概念及其相互关系。其基本组成单位是“实体—关系—实体”三元组。如图1所示,基于一篇综述网络安全知识图谱应用场景的文献[12]提出的4维图谱结构,本章将以行为数据维度为核心,辅以安全知识、威胁情报和环境数据3个维度,设计并构建日志图谱模型。图1通用网络安全知识图谱结构1.1安全知识安全知识库通常是为个人、政府、安全产品和服务社区开发特定威胁模型和方法的基础。在本模型中,其作用是从抽象层面描述或标记系统日志所代表的行为。2020年,来自麻省理工学院的研究团队构建了一个综合网络安全知识图模型,并命名为“BRON”。如图2所示(图中数字代表实体内的节点数量),BRON将对抗战术技术和常识矩阵(AdversarialTacticsTechniquesandCommonKnowledge,ATT&CK)、通用攻击模式枚举和分类(CommonAttackPatternEnumerationandClassification,CAPEC)、通用弱点枚举(CommonWeaknessEnumeration,CWE)以及通用漏洞披露(CommonVulnerabilitiesandExposures,CVE)等知识库依次关联,形成一种由高维战术至低维漏洞的层次结构。鉴于BRON已经开源,本文图谱模型直接将其作为“安全知识”这一维度的知识。图2BRON知识图内部结构1.2威胁情报威胁情报(CyberThreatIntelligence,CTI)是一种基于证据的知识,包括上下文、机制、标示、含义和建议,这些知识与资产所面临的威胁或危害相关,可用于指导应对威胁或危害的决策。在本模型中,它的作用是在理论层面指导基于日志的异常事件关联。由于威胁情报的提取和分析并非本文的研究重点,故我们在试验图谱模型时引入了若干常见攻击的“战术技术过程(TacticsTechniques

Procedures,TTPs)”描述作为威胁情报。1.3环境数据环境数据是指图谱模型具体应用环境的数据。一般以目标系统的网络拓扑图为基础,加入设备对应的操作系统、IP地址等属性构成。其在本模型中的作用是以对目标系统的物理组成与结构进行建模。本文实验环境的网络拓扑将在第2章中给出。1.4行为数据行为数据是目标系统在实际工作过程中产生行为的记录。本文模型的行为数据由Sysmon生成,其是一款由微软开发的日志传感器,能监控系统的动态行为并记录于日志。Sysmon日志是由多种字段信息构成的结构化数据,我们从中筛选出图结构化所需的主要字段,如表1所示。表1Sysmon日志主要字段信息将文本格式的日志转换为图数据结构的关键在于梳理日志中的关联关系。除较为明显的时间关系外,我们还挖掘出了另外3种关联关系:进程—日志、进程—进程、父进程—子进程。基于这些关系,我们可以有效地构建出Sysmon日志图。(1)日志—日志(Syslog-Syslog)。“日志—日志”关系可基于日志的生成时间进行构建。我们首先根据Hostname字段对日志分类,然后按时间顺序将日志节点进行串联,如图3所示。图3“日志—日志”关系内部结构(2)进程—日志(Process-Syslog)。“进程—日志”关系隐藏在日志的ProcessGuid字段内容中。实际上,一个进程包含多条日志,同一进程下的日志有着相同的ProcessGuid。为更清楚地表示该关系,我们将“进程”这一抽象概念进行了实体化:首先提取出所有ProcessGuid,并创建对应数量的“进程”节点进行一一绑定;之后将每个进程所包含的日志节点与之相连,形成图4所示的“进程—日志”关系。这样一个进程内的所有日志便可通过一个节点统一表示,大大减少了后续构建进程间关系时的连线数量。图4“进程—日志”关系内部结构(3)进程—进程(Process-Process)。“进程—进程”关系包含在EventID为“10”的日志中。根据Sysmon对事件编号的定义,10号事件为“进程访问”,当一个进程访问另一个进程时便会产生这类日志。具体而言,10号事件日志独有SourceProcessGuid和TargetProcessGuid两个字段,分别用于记录源进程和目标进程的ProcessGuid,据此可以构建进程间的访问关系。同时,由于10号事件日志自身没有ProcessGuid,故无法与进程实体相连。为避免其成为孤立节点,我们设计了图5所示结构,即将其插入到“进程—进程”关系中间。图5“进程—进程”关系内部结构(4)父进程—子进程(Parentp-Chidp)。“父进程—子进程”关系包含在EventID为“1”的日志中。根据Sysmon对事件编号的定义,1号事件为“进程创建”,当一个进程创建另一个新进程时便会产生这类日志。具体而言,1号事件日志独有ParentProcessGuid字段,记录了创建该进程的父进程的ProcessGuid,据此可以构建进程间的父子关系,如图6所示。图6“父进程—子进程”关系内部结构此外,为探究“父进程—子进程”关系是否包含于“进程—进程”关系,我们通过统计兼具两种关系的进程组的数量,分别计算出两组日志数据集中两种关系的重叠率。表2数据表明,这两种关系仅有少量重叠,应被视为独立的两种关系,分别进行建模。表2“父进程—子进程”与“进程—进程”重叠情况1.5图谱融合前四节分别探讨论述了图谱中各个维度的内部关系。本节我们定义了表3所示的维度间关系对各维度进行关联,以构成完整的图谱模型。表3图谱模型维度间的关联关系本文图谱模型的完整结构如图7所示(BRON的内部结构在此省略),其呈现出分层结构,旨在实现高维威胁情报与低维设备资产(Asset)之间的相互映射。模型中实体与关系的数据库文件的具体编写将在第4章中举例说明。图7网络安全日志图谱模型结构2实验环境2.1网络拓扑本文实验的靶场主要由3个部分组成,其拓扑信息如图8所示。(1)数据生成区。数据生成区以服务器为物理基础,由服务器上运行的若干虚拟机具体组成。其中每台虚拟机均安装了日志传感器Sysmon和日志转发软件Nxlog。此外,“服务器1”所管辖的局域网被特别配置为了“域”,可由域管理员账号统一访问和管理。(2)攻击端。攻击端设定为一台已接入服务器3所管辖局域网内的KaliLinux主机。(3)数据汇总分析端。数据汇总分析端由一台通过软件防火墙与实验环境相隔离的主机构成,是本文图谱模型的实际部署位置。2.2仿真攻击本文实验的日志数据集中包含两种攻击,主要步骤如表4、表5所示。表4横向移动(Lateralmovement)攻击步骤表5文件窃取(Steal)攻击步骤3图谱模型实验与评估在实际开发过程中,可通过图数据库来驱动日志图谱模型。图数据库一般由“实体”和“关系”两种文件组成,文件中的每行代表实体的一个节点或关系的一条边,每列代表实体或关系的一种属性。图8实验靶场网络拓扑图本文选择ArangoDB图数据库来驱动模型的构建与实验。以“威胁情报”为例,图7中实体“CTI”的部分实现如图9所示。其中“_key”属性是数据库规定的节点唯一标识符,其余如战术名和攻击指令模板等为自定义实体属性;图7中实体内关系“CTI-CTI”和实体间关系“CTI-TTP”的部分实现如图10所示。其中规定“_from”和“_to”属性分别用于记录边的开始和结束节点,格式为“实体名/节点标识符”。图9图谱模型实体文件编写图10图谱模型关系文件编写3.1算法与实验结果本文图谱的层次结构代表其有着较大的深度,此时基于广度优先搜索(Breadth-FirstSearch,BFS)的图遍历算法具备更好的适用性和搜索效率,故我们基于该算法进行相关实验。算法流程如下:以“横向移动”为例,攻击过程中,某主机的安全软件将数据集中17465号日志记录的命令行操作(向外发送了一个未知应用程序)定义为异常事件,于是我们以该日志节点为遍历起点进行事件关联。关联过程分为3步,结果如图11所示。图11“横向移动”攻击事件关联结果(1)日志层向上遍历至CTI层。该步骤旨在将异常日志映射到相应的攻击过程上。设定BFS深度为3,搜索路径为“Syslog-TTP”“TechniqueMitigation”(BRON内部关系)和“CTI-TTP”关系。遍历结果显示,该日志与44号ATT&CK技术有映射关系。该技术属于远程服务利用技术,可设置11号等缓解措施进行防御。并且CTI中记录的横向移动攻击的第2步也使用了该技术。(2)CTI层横向遍历。该步骤旨在获取CTI中对应的完整攻击过程。设定BFS深度为1,搜索路径为“CTI-CTI”关系。遍历结果显示,CTI中横向移动相关的攻击过程共有3步。(3)CTI层向下遍历至资产层。该步骤旨在关联攻击事件,还原攻击全貌。设定BFS深度为6,搜索路径依次为“CTI-TTP”“TechniqueMitigation”“Syslog-TTP”“Process-Syslog”“Parentp-Childp”和“Asset-Process”关系。遍历结果显示,黑客在CTC备机(asset/9)和主机(asset/8)间进行了横向移动。通过分析关联结果中的详细信息得出,由于CTC主备机同属一个域内,横向移动第1步通过网络共享发现CTC主机(asset/8);第2步利用网络共享服务从CTC备机(asset/9)向主机发送代理程序文件;第3步通过备机(asset/9)远程运行代理程序,建立攻击端与主机间的代理连接,实现横向移动。此外,还发现CTC备机上与攻击事件相关的3个进程(process/741,894,1055)均来自同一个父进程(process/884),经验证该父进程是建立CTC备机与攻击端之间代理连接的进程,即黑客初始接入的位置。3.2图谱评估对图进行评估可以帮助我们了解和描述图的特征和性质,从而更好地理解和分析图数据。本文从基本指标和查询性能两个方面对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论