一种安全日志要素处理方法及系统

文档序号:7507 发布日期:2021-09-17 浏览:52次 英文

一种安全日志要素处理方法及系统

技术领域

本发明涉及网络安全

技术领域

,尤其涉及一种安全日志要素处理方法及系统。

背景技术

随机计算机技术的快速发展,以及云计算、物联网、大数据、移动互联网和人工智能等技术的广泛运用,给人们的工作、生活、学习、娱乐等方面带来极大的便利,同时也伴随着许许多多的网络安全问题。尤其对于企业来说,来自内部和外部的网络安全问题会使得组织遭受巨大的损失,还对信息安全构成巨大的威胁。

目前,在企业内部建设了各种各样的信息化系统,满足了日常办公和生产的需要,还有各种安全检查、防护等产品对内部组织形成了有效的安全防护。用户在使用信息化系统的过程中,形成的系统操作日志和应用访问日志等也是用于分析网络安全的重要手段,但是不同信息化系统的日志种类、格式及组织方式各异,再加上信息化系统建设持续不断,面对这种海量、异构的行为数据,如何合理高效的解析并处理成统一的规范化的信息是当前亟待解决的技术问题。

发明内容

本发明提供一种安全日志要素处理方法,方法实现了海量数据模式下对未知日志的高效解析和分类,对网络安全分析和威胁检测等方面提供支持。

方法包括:

采集日志文件;

对日志文件进行解析,判断日志文件的类型;

如日志文件为未知日志类型,自然语言处理模块对日志文件的要素信息进行分类和提取;

资产比对模块对日志文件的要素信息进行验证匹配,匹配出主客体信息;

将提取出的日志文件的要素信息和匹配的主客体储存至事件信息库。

本发明中还涉及提取日志文件中的每个要素信息,并基于行分隔方式对要素信息进行分隔;

将分隔后的日志文件储存至原始日志信息库。

本发明中还涉及对原始日志信息库内的日志文件判断类型;

如日志文件为已知日志类型,基于预设事件处理规则对日志文件的要素信息进行处理;

将处理后的日志文件储存至事件信息库。

本发明中还涉及自然语言处理模块通过CharCNN文本分类模型,实现日志文件的分类。

自然语言处理模块通过时间要素对日志文件的产生时间进行提取。

自然语言处理模块使用HanLP中分词功能产生的关键字提取日志文件中的协议要素。

自然语言处理模块还使用HanLP中文本相似度算法功能提取IP值。

自然语言处理模块提取日志文件中的动作要素和结果类型要素。

本发明中还涉及构建设备资产信息库,设备资产信息库对行为日志的主体和客体信息进行存储;

构建分类及语义词库,分类及语义词库存储设备资产类型信息对应的单词和词语,或者经过分词处理后统计出的高频词的分类词。

本发明中还涉及一种安全日志要素处理系统,包括:日志采集模块、日志解析判断模块、自然语言处理模块、资产比对模块、数据储存模块以及事件信息库;

日志采集模块用于从日志源采集日志文件;

日志解析判断模块用于对日志文件进行解析,判断日志文件的类型;

如日志文件为未知日志类型,自然语言处理模块对日志文件的要素信息进行分类和提取;

资产比对模块用于对日志文件的要素信息进行验证匹配,匹配出主客体信息;

数据储存模块用于将提取出的日志文件的要素信息和匹配的主客体储存至事件信息库。

本发明中还包括:原始日志信息库、设备资产信息库、分类及语义词库。

从以上技术方案可以看出,本发明具有以下优点:

本发明提供的系统与基于模板的传统日志解析技术相比,基于自然语言处理技术实现的安全日志要素提取方法,能自动对未知日志提取出时间、协议、主体、客体、动作、结果等要素,减少了人的参与程度,结合已备案资产信息可以大幅度提高提取要素的准确性,解决基于模板对未知日志无法处理的难题,实现对未知日志的有效利用。

附图说明

为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为安全日志要素处理方法流程图;

图2为安全日志要素处理方法实施例示意图;

图3为基于CharCNN实现日志分类流程图;

图4为安全日志要素处理系统示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的安全日志要素处理方法是为了满足日常办公和生产安全检查,对数据系统内部形成了有效的安全防护。对用户在使用信息化系统的过程中,形成的系统操作日志和应用访问日志进行分析。解析并处理成统一的规范化日志文件。

其中,本发明提供的安全日志要素处理方法中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本发明提供的安全日志要素处理方法的附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

此外,本发明提供的安全日志要素处理方法中所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

本发明提供的安全日志要素处理方法中,通日志处理系统对syslog日志和某些文本格式日志如XML、JSON、CSV、固定宽度,通用列表,键值对进行集中收集,再定制不同的规则模板解析日志。

而且本发明还结合了自然语言进行处理,自然语言是人工智能领域中研究如何使机器具有语言分析和理解智能的一门重要学科,已经在各行各业得到了充分应用。与基于模板的传统日志解析技术相比,基于自然语言处理技术实现的安全日志要素处理方法,能自动对未知日志提取出时间、协议、主体、客体、动作、结果等要素,减少了人的参与程度,结合已备案资产信息可以大幅度提高提取要素的准确性,解决基于模板对未知日志无法处理的难题,实现对未知日志的有效利用。

具体来讲如图1和图2所示,S101,采集日志文件;

可以从日志源来采集日志文件。日志源可以是产生日志文件的终端机、或服务器,也或者是系统中运行的软件产生的日志文件等等。

日志文件的采集与解析过程中,先对不同数据来源的日志文件内容进行读取,可以按照常用的行分隔方式对日志内容进行行处理,并对对行日志内容进行解析设置日志类型,然后按照原始日志信息库中对原始日志结构描述进行组织原始日志记录。

示例性的讲,数据结构简述如下:{接入时间:20210101 01:11:11,文件名称:设备A_20210101.log,日志类型:未知日志,日志内容:文本内容},同时把原始日志记录写入到原始日志信息库。

接入时间,文件名称,日志类型,日志内容等等就是日志文件的要素信息。

S102,对日志文件进行解析,判断日志文件的类型;

本实施例中,对原始日志信息库中的原始日志记录中的日志类型属性进行逻辑判断。

如日志文件为已知日志类型,基于预设事件处理规则对日志文件的要素信息进行处理;将处理后的日志文件储存至事件信息库。

比如{接入时间:20210101 01:11:11,文件名称:设备A_20210101.log,日志类型:已知日志,日志内容:文本内容}。

基于预设事件处理规则对日志文件的要素信息进行处理,可以是基于接入时间进行排序筛选,将每个日志文件的时间进行排序。还可以文件名称进行提取归类等操作。

S103,如日志文件为未知日志类型,自然语言处理模块对日志文件的要素信息进行分类和提取;

自然语言处理模块接收到原始日志文件的要素信息后,对日志内容进行分类处理,然后对日志记录进行分词提取,再对日志记录使用特有方法提取特殊要素信息,例如提取日志要素时间、主体IP、客体IP等。

具体来讲,日志分类是对输入的日志文件内容通过文本分类处理,实现对日志源的日志文件标记分类。

本发明使用CharCNN文本分类模型,实现日志文件的分类,CharCNN提出了从字符层面进行文本分类,提取出高层抽象概念。字符编码层为了实现CharCNN,首先要做的就是构建字母表,本发明中使用的字母标如下,共有69个字符,对其使用one-hot编码,外加一个全零向量(用于处理不在该字符表中的字符),所以共70个,所以每个字符转化为一个70维的向量。算法还要反向处理字符编码,即反向读取文本,这样做的好处是最新读入的字符总是在输出开始的地方。

如图3所示,模型卷积及池化层是本发明中提出了两种规模的神经网络。两种规模的神经网络都由6个卷积层和3个全连接层共9层神经网络组成。这里使用的是1-D卷积神经网络。除此之外,在三个全连接层之间加入两个dropout层以实现模型正则化。

日志文件先通过模型卷积处理,形成预设的特征长度,到达最大池化层,通过消除非极大值,降低了上层的计算复杂度。模型卷积及池化层提供了平移不变形的一种形式。在对日志文件的要素信息进行分类和提取时,结合了最大池化层和,对于单个要素信息,有多个变换的方向,比如可以变换的方向为上、下、左、右、左上、左下、右上、右下,本发明的最大层是在8*8的窗口上面实现,来缩减自然语言处理模块对日志文件的要素信息进行分类和提取模型的大小,提高计算速度,提高所提取特征的鲁棒性。

本发明还涉及多种对日志文件的要素信息的提取方式,其中包括对日志文件的时间要素提取。

时间要素提取主要是对日志记录中的日志产生的时间进行提取,本发明使用HanLP中时间分析功能,提取日志记录中形如20210101 01:11:11的时间字符串,日志记录可能存在多个时间类型字符串,这里都会提取处理,后续可以通过人工等方式对日志产生时间进行修正。

时间要素可以是日志的要素生成的时间,或者日志被处理的时间,或者日志发送的时间等等。比如对{接入时间:20210101 01:11:11,文件名称:设备A_20210101.log,日志类型:已知日志,日志内容:文本内容}中的接入时间进行提取。

本发明还涉及协议要素提取,协议要素提取是对日志记录中的日志内容使用HanLP中分词功能产生的关键字,与分类词表中的协议类型http,https,Ftp等比较得出。

当然在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。在进行要素提取时,主要是通过对协议要素提取。

本发明还涉及主体、客体要素提取。主客体要素提取是对日志记录中的日志内容使用HanLP中文本相似度算法功能提取形如IP值为127.0.0.1的内容,提取的多个IP的顺序,简单标记主客体。主体和客体可以为发送或产生日志的终端机,或者服务器等等。

本发明还涉及动作要素提取,动作要素提取是对日志记录中的日志内容使用HanLP中分词功能产生的关键字,与分类词表中的动作类型get、post、put、add、delete等比较得出。

本发明还涉及结果要素提取,结果要素提取是对日志记录中的日志内容使用HanLP中分词功能产生的关键字,与分类词表中的结果类型success、fault等比较得出,这里可以不考虑结果内容的提取。

自然语言处理模块在对日志文件的要素信息进行提取之后,可以基于提取的类型进行分类处理,或者分类进行储存。

分类的方式可以基于不同设定时间段的时间要素来进行分类。

也可以对协议要素进行分类,具有相同协议要素的日志文件进行分类。

还可以基于主体、客体要素提取进行分类,具有相同主体、客体要素的日志文件进行分类。

还可以基于动作要素和结果要素进行分类,将具有相同动作要素和结果要素的日志文件进行分类。

S104,资产比对模块对日志文件的要素信息进行验证匹配,匹配出主客体信息;

自然语言处理模块在对日志文件的要素信息进行提取之后,可以基于提取的类型进行分类处理,或者分类进行储存之后。资产比对模块对日志文件的要素信息进行验证匹配,具体的讲,使用自然语言处理模块对日志记录进行主客体IP信息提取后,就可以使用资产比对功能,验证主客体的正确性了,本发明中主体IP一般是终端IP,客体IP提供服务的服务器或网络设备IP,如果设备已经在设备资产信息表备案,IP代表的设备类型就是固定的,通过比较就能得出IP是主体还是客体了。

S105,将提取出的日志文件的要素信息和匹配的主客体储存至事件信息库。

日志记录经过自然语言处理后提取出了日志要素信息,再进行储存,比如事件数据结构如下:{事件产生时间:20210101 01:11:11,主体IP:127.0.0.1,客体IP:127.0.0.1,协议类型:http,动作:get,结果:success},最后把配置好的事件信息写入到事件信息库。

本发明涉及的安全日志要素处理方法可以对网络安全分析、威胁检测、事件处置、应急响应等提供重大帮助。

本发明涉及的安全日志要素处理方法可以有效的处理各类未知种类和格式的日志,克服了以往基于模板的方法针对未定义日志容易遗漏,无法分析的弱点,提高了威胁事件的发现能力和系统的可用性和易用性。

本发明通过自然语言处理对于安全日志进行解析和分类,使各类型网络设备日志更加易于用户进行理解。

本发明通过对未知日志解析后的关键词分组并记录到分类词库,可以提高识别日志要素的速率和准确度,也可以作为其他模型的输入重复利用。

一般情况下,同一厂商的设备即使是不同类型的设备产生的安全日志内容存在相似性,从这个角度对日志进行分类,可以省去或提高语句分析模型训练的周期,也可以提高同一厂商,同一类型,不同型号或未知型号设备的日志要素提取的准确性。

由于训练语句与开发者的个人特点有着较大关联性,要素提取出的训练词比较接近开发者的语言习惯,能够直观反应开发者的个人特点。

基于上述方法本发明还提供一种安全日志要素处理系统,如图4所示,包括:日志采集模块1、日志解析判断模块2、自然语言处理模块3、资产比对模块4、数据储存模块5以及事件信息库;

日志采集模块1用于从日志源采集日志文件;日志解析判断模块2用于对日志文件进行解析,判断日志文件的类型;如日志文件为未知日志类型,自然语言处理模块3对日志文件的要素信息进行分类和提取;

资产比对模块4用于对日志文件的要素信息进行验证匹配,匹配出主客体信息;

数据储存模块5用于将提取出的日志文件的要素信息和匹配的主客体储存至事件信息库。

本发明提出的安全日志要素处理系统,以网络安全日志处理为例,可以对日志源的日志文件进行采集与分析、并对分析结果的日志类型做标记,如果日志类型为已知日志,按照图2的虚线标出的规则模型处理过程,直至结束。如果日志类型为未知类型,需要经过自然语言处理组件中的日志分类和要素提取环节,然后再经过资产比对和事件组织入库环节处理,完成规范化事件写入事件信息库。

在本发明提供的系统中,由存储数据库和自然语言处理模块3两部分构成,其中使用自然语言处理模块3实现了安全日志要素的提取方法。

具体来讲,本发明的系统中涉及的存储数据库包括了原始日志信息库、设备资产信息库、分类及语义词库、事件信息库。

本发明构建了原始日志信息库,也就是建立一种对原始输入的网络安全日志进行分类存储的库。在原始日志信息库中,存储着所有原始日志的来源基本信息、来源分类以及原始日志内容,未知分类作为日志类型的一种分类也存在其中。

本发明还构建设备资产信息库,建立一种对行为日志的主体和客体等信息存储的设备资产库,需要事先对其中的资产信息进行预处理,可以通过手工登记和导入方式完成资产的备案,设备资产类型包括但不限于终端、服务器、网络设备等。设备资产信息库还可以应用到从日志提取要素后,通过比对识别要素是原始日志关联的主体还是客体等。

本发明还构建分类及语义词库,建立一种用于存储设备资产类型或其他属性信息对应的单词和词语,或者经过分词处理后统计出的高频词的分类词库,例如设备资产的类型、网络区域、IP地址、域名等,原始日志里关于网络日志的打印操作、操作结果等要素。

本发明还构建事件信息库,建立一种对原始日志解析后规范化的事件信息库,经过基于模板的或者基于自然语言处理的方法提取的日志要素包括但不限于时间、协议、主体、客体、动作、结果等,并按照结构化的数据格式存储到事件信息库,便于后续分析利用。

对于自然语言处理模块3来讲用于对未在系统中定义日志处理规则的日志文件进行解析,通过自然语言处理模型结合分类及语义词库对文件内容进行分词提取日志中的时间、协议、主体IP、客体IP、动作、结果等实体信息作为要素信息,然后对识别出的IP信息与对应的设备资产信息库中的设备类型进行比较,辨别识别主客体的要素的准确性,最后组织提取的日志要素形成事件信息存储到事件信息库中。

进一步的讲,自然语言处理模块3通过CharCNN文本分类模型,实现日志文件的分类。

还通过时间要素对日志文件的产生时间进行提取。还使用HanLP中分词功能产生的关键字提取日志文件中的协议要素。还使用HanLP中文本相似度算法功能提取IP值。自然语言处理模块3提取日志文件中的动作要素和结果类型要素。

这样,本发明通过对上述方案的设计与实施,实现了海量数据模式下对未知日志的高效解析和分类,对网络安全分析和威胁检测等方面提供支持。

本发明提供的系统与基于模板的传统日志解析技术相比,基于自然语言处理技术实现的安全日志要素提取方法,能自动对未知日志提取出时间、协议、主体、客体、动作、结果等要素,减少了人的参与程度,结合已备案资产信息可以大幅度提高提取要素的准确性,解决基于模板对未知日志无法处理的难题,实现对未知日志的有效利用。

本发明提供的安全日志要素处理方法和系统是结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本发明提供的安全日志要素处理方法和系统可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:数据处理方法、装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!