CN110889451B - 事件审计方法、装置、终端设备以及存储介质 - Google Patents

事件审计方法、装置、终端设备以及存储介质 Download PDF

Info

Publication number
CN110889451B
CN110889451B CN201911180321.3A CN201911180321A CN110889451B CN 110889451 B CN110889451 B CN 110889451B CN 201911180321 A CN201911180321 A CN 201911180321A CN 110889451 B CN110889451 B CN 110889451B
Authority
CN
China
Prior art keywords
event
threshold parameter
verification
accuracy
event log
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
Application number
CN201911180321.3A
Other languages
English (en)
Other versions
CN110889451A (zh
Inventor
李永双
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201911180321.3A priority Critical patent/CN110889451B/zh
Publication of CN110889451A publication Critical patent/CN110889451A/zh
Application granted granted Critical
Publication of CN110889451B publication Critical patent/CN110889451B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种事件审计方法、装置、终端设备以及存储介质,其方法包括:获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;基于所述最佳阈值参数计算所述测试集的准确率。本发明提升了事件日志的识别准确率,改善了原有基于规则判定事件风险等级的诸多缺点,减少了高风险告警事件的误报数量,减轻了审计人员的工作负担,提高了审计效率。

Description

事件审计方法、装置、终端设备以及存储介质
技术领域
本发明涉及信息处理技术领域,尤其涉及一种事件审计方法、装置、终端设备以及存储介质。
背景技术
目前,信息安全事件审计方案通常是基于特定的规则识别敏感事件的日志。若被审计的事件触发指定规则,则对此事件产生告警,通过安全日志统一管理平台展示给审计人员进行人工审计。
上述信息安全事件的审计方法中,每当触发指定规则便会产生高风险告警。由于安全事件的日志数量庞大,各业务场景不同,很难提取到一个通用的行之有效的规则去识别所有的事件是否可疑,是否存在信息泄露的风险。因此会产生海量告警,这些告警之中的绝大多数都是误报,审计人员每天需要从海量告警信息中找出可疑事件,这大大增加了审计人员的工作难度,造成工作效率下降。
发明内容
本发明的主要目的在于提供一种事件审计方法、装置、终端设备以及存储介质,旨在降低误判率,降低审计人员的工作难度,提升工作效率。
为实现上述目的,本发明提供一种事件审计方法,包括:
获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;
通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;
基于所述最佳阈值参数计算所述测试集的准确率。
可选地,所述获取预设的样本数据的步骤之前还包括:
构建事件日志数据库,收集各类事件日志存储至所述事件日志数据库;
对所述事件日志数据库中的每一条事件日志进行打标签处理,所述标签包括:高风险事件标签和低风险事件标签;
将打标签处理后的数据组成样本数据;
将所述样本数据分成训练集、验证集和测试集。
可选地,所述通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数的步骤之前还包括:
基于所述训练集创建分类模型,具体包括:
对所述训练集进行预处理;
对预处理后的训练集进行语言类型识别;
根据识别的语言类型,使用对应的词库对所述训练集中的事件日志进行分词,得到每一条事件日志分词后的词组;
统计分词后的词组出现的频率,建立朴素贝叶斯分类器。
可选地,所述统计分词后的词组出现的频率,建立朴素贝叶斯分类器的步骤包括:
通过预设词库过滤掉各词组中无语义的辅助词语;
统计分词后的词组出现的频率;
基于分词后的词组出现的频率,计算各词组对应的高风险事件概率、低风险事件概率,以及高风险事件词组的总概率和低风险事件词组的总概率,构建所述训练数据的分类模型,得到朴素贝叶斯分类器。
可选地,所述对所述训练集进行预处理包括:
过滤掉所述训练集中事件日志的无语义符号,以及对事件日志进行英文字母大小写脱敏。
可选地,所述通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数的步骤包括:
对所述验证集进行预处理;
对预处理后的验证集进行语言类型识别;
根据识别的语言类型,使用对应的词库对所述验证集中的事件日志进行分词,得到验证集中每一条事件日志分词后的词组;
基于分词后的词组、所述朴素贝叶斯分类器,并使用贝叶斯公式分别计算出验证集中每一条事件日志是高风险等级的后验概率和低风险等级的后验概率;
将两个概率归一化处理,得到验证集中每一条事件日志最终的高风险概率;
基于所述验证集中每一条事件日志最终的高风险概率以及预设的阈值参数计算所述验证集的准确率;
选取验证集准确率最高的阈值参数作为最佳阈值参数。
可选地,所述基于所述最终的高风险概率以及预设的阈值参数计算所述验证集的准确率的步骤包括:
从预设的多个阈值参数中选取一个阈值参数;
对于所述验证集中的每一条事件日志,将每一条事件日志的最终的高风险概率分别与选取的一个阈值参数进行比较,得到各事件日志对应的预测结果,所述预测结果为识别此事件为高风险事件或低风险事件;
将各事件日志对应的预测结果对应与各事件日志的标签进行比较,计算得到所述验证集对应当前选取的阈值参数的一个准确率;
从预设的多个阈值参数中选取另一个阈值参数,再次计算得到验证集对应当前选取的阈值参数的一个准确率;以此类推,直到预设的多个阈值参数均比较完毕,得到验证集的多个准确率。
可选地,所述基于所述最佳阈值参数计算所述测试集的准确率的步骤包括:
对所述测试集进行预处理;
对预处理后的测试集进行语言类型识别;
根据识别的语言类型,使用对应的词库对所述测试集中的事件日志进行分词,得到测试集中每一条事件日志分词后的词组;
基于分词后的词组、所述朴素贝叶斯分类器,并使用贝叶斯公式分别计算出所述测试集中每一条事件日志是高风险等级的后验概率和低风险等级的后验概率;
将两个概率归一化处理,得到所述测试集中每一条事件日志最终的高风险概率;
基于所述测试集中每一条事件日志最终的高风险概率以及所述最佳阈值参数计算所述测试集的准确率。
可选地,所述基于所述最佳阈值参数计算所述测试集的准确率的步骤之后还包括:
重新选取测试集;
计算重新选取的测试集的准确率;
将多次计算出的测试集的准确率取平均值。
可选地,所述方法还包括:
根据测试集的准确率,获取误报数据;
对所述误报数据进行误差分析;
根据误差分析结果更新所述分类模型及对应的词库。
此外,本发明实施例还提出一种事件审计装置,所述事件审计装置包括:
获取模块,用于获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;
验证模块,用于通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;
计算模块,用于基于所述最佳阈值参数计算所述测试集的准确率。
此外,本发明实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的事件审计程序,所述事件审计程序被所述处理器执行时实现如上所述的事件审计方法的步骤。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有事件审计程序,所述事件审计程序被处理器执行时实现如上所述的事件审计方法的步骤。
本发明实施例提出的事件审计方法、装置、终端设备以及存储介质,通过获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;基于所述最佳阈值参数计算所述测试集的准确率。由此,可以对各个场景下的事件日志进行分类学习,通过分类模型计算出事件日志的风险可疑程度,根据设定的阈值参数识别出事件日志的风险等级,采用概率统计学方法识别出海量事件日志数据中的高风险事件,大大提升了事件日志的识别准确率,改善了原有基于规则判定事件风险等级的诸多缺点,减少了高风险告警事件的误报数量,减轻了审计人员的工作负担,提高了审计效率。此外,为了提升机器学习的准确度,本发明方案还收集大量私有词组,组成私有词库,大大提高了涉及敏感信息的高风险事件的准确度。
附图说明
图1为本发明事件审计装置所属终端的功能模块示意图;
图2为本发明事件审计方法一示例性实施例的流程示意图;
图3为本发明事件审计方法另一示例性实施例的流程示意图;
图4为本发明事件审计方法再一示例性实施例的流程示意图;
图5为本发明事件审计方法又一示例性实施例的流程示意图;
图6为本发明事件审计方法又一示例性实施例的流程示意图;
图7为本发明事件审计方法又一示例性实施例的流程示意图;
图8为本发明事件审计方法又一示例性实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:通过获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;基于所述最佳阈值参数计算所述测试集的准确率。由此,可以对各个场景下的事件日志进行分类学习,通过分类模型计算出事件日志的风险可疑程度,根据设定的阈值参数识别出事件日志的风险等级,采用概率统计学方法识别出海量事件日志数据中的高风险事件,大大提升了事件日志的识别准确率,改善了原有基于规则判定事件风险等级的诸多缺点,减少了高风险告警事件的误报数量,减轻了审计人员的工作负担,提高了审计效率。此外,为了提升机器学习的准确度,本发明方案还收集大量私有词组,组成私有词库,大大提高了涉及敏感信息的高风险事件的准确度。
本发明实施例方案涉及的技术术语包括:
机器学习:机器学习是一门多学科交叉专业,涵盖概率论知识、统计学知识、近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,将现有内容进行知识结构划分来有效提高学习效率。
朴素贝叶斯方法:朴素贝叶斯方法是基于贝叶斯定理与特征条件独立假设的分类方法。
本发明实施例考虑到,相关技术中,信息安全事件审计方案通常是基于特定的规则识别敏感事件的日志,每当触发指定规则便会产生高风险告警。由于安全事件的日志数量庞大,各业务场景不同,很难提取到一个通用的行之有效的规则去识别所有的事件是否可疑,是否存在信息泄露的风险。因此会产生海量告警,这些告警之中的绝大多数都是误报,审计人员每天需要从海量告警信息中找出可疑事件,这大大增加了审计人员的工作难度,造成工作效率下降。
基于此,本发明实施例提出一种解决方案,通过分类模型计算出事件日志的风险可疑程度,根据设定的阈值参数识别出事件日志的风险等级,采用概率统计学方法识别出海量事件日志数据中的高风险事件,大大提升了事件日志的识别准确率,改善了原有基于规则判定事件风险等级的诸多缺点,减少了高风险告警事件的误报数量,减轻了审计人员的工作负担,提高了审计效率。
具体地,参照图1,图1为本发明事件审计装置所属终端的功能模块示意图。该事件审计装置可以为独立于终端设备的、能够进行数据处理的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等智能移动终端,还可以固定终端。
在本实施例中,该事件审计装置所属终端至少包括输出模块110、第一处理器120、第一存储器130以及第一通信模块140。
第一存储器130中存储有第一操作系统以及事件审计程序,事件审计装置可以将事件日志数据库、样本数据、分类模型以及阈值参数等存储于该第一存储器130中;输出模块110可为显示屏、扬声器等,显示屏可以输出显示分类模型的结果信息以及测试集的准确率等信息。第一通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过第一通信模块140与外部设备或服务器进行通信。
其中,第一存储器130中的事件审计程序被处理器执行时实现以下步骤:
获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;
通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;
基于所述最佳阈值参数计算所述测试集的准确率。
进一步地,第一存储器130中的事件审计程序被处理器执行时还实现以下步骤:
构建事件日志数据库,收集各类事件日志存储至所述事件日志数据库;
对所述事件日志数据库中的每一条事件日志进行打标签处理,所述标签包括:高风险事件标签和低风险事件标签;
将打标签处理后的数据组成样本数据;
将所述样本数据分成训练集、验证集和测试集。
进一步地,第一存储器130中的事件审计程序被处理器执行时还实现以下步骤:
基于所述训练集创建分类模型,具体包括:
对所述训练集进行预处理;
对预处理后的训练集进行语言类型识别;
根据识别的语言类型,使用对应的词库对所述训练集中的事件日志进行分词,得到每一条事件日志分词后的词组;
统计分词后的词组出现的频率,建立朴素贝叶斯分类器。
进一步地,第一存储器130中的事件审计程序被处理器执行时还实现以下步骤:
通过预设词库过滤掉各词组中无语义的辅助词语;
统计分词后的词组出现的频率;
基于分词后的词组出现的频率,计算各词组对应的高风险事件概率、低风险事件概率,以及高风险事件词组的总概率和低风险事件词组的总概率,构建所述训练数据的分类模型,得到朴素贝叶斯分类器。
进一步地,第一存储器130中的事件审计程序被处理器执行时还实现以下步骤:
过滤掉所述训练集中事件日志的无语义符号,以及对事件日志进行英文字母大小写脱敏。
进一步地,第一存储器130中的事件审计程序被处理器执行时还实现以下步骤:
对所述验证集进行预处理;
对预处理后的验证集进行语言类型识别;
根据识别的语言类型,使用对应的词库对所述验证集中的事件日志进行分词,得到验证集中每一条事件日志分词后的词组;
基于分词后的词组、所述朴素贝叶斯分类器,并使用贝叶斯公式分别计算出验证集中每一条事件日志是高风险等级的后验概率和低风险等级的后验概率;
将两个概率归一化处理,得到验证集中每一条事件日志最终的高风险概率;
基于所述验证集中每一条事件日志最终的高风险概率以及预设的阈值参数计算所述验证集的准确率;
选取验证集准确率最高的阈值参数作为最佳阈值参数。
进一步地,第一存储器130中的事件审计程序被处理器执行时还实现以下步骤:
从预设的多个阈值参数中选取一个阈值参数;
对于所述验证集中的每一条事件日志,将每一条事件日志的最终的高风险概率分别与选取的一个阈值参数进行比较,得到各事件日志对应的预测结果,所述预测结果为识别此事件为高风险事件或低风险事件;
将各事件日志对应的预测结果对应与各事件日志的标签进行比较,计算得到所述验证集对应当前选取的阈值参数的一个准确率;
从预设的多个阈值参数中选取另一个阈值参数,再次计算得到验证集对应当前选取的阈值参数的一个准确率;以此类推,直到预设的多个阈值参数均比较完毕,得到验证集的多个准确率。
进一步地,第一存储器130中的事件审计程序被处理器执行时还实现以下步骤:
对所述测试集进行预处理;
对预处理后的测试集进行语言类型识别;
根据识别的语言类型,使用对应的词库对所述测试集中的事件日志进行分词,得到测试集中每一条事件日志分词后的词组;
基于分词后的词组、所述朴素贝叶斯分类器,并使用贝叶斯公式分别计算出所述测试集中每一条事件日志是高风险等级的后验概率和低风险等级的后验概率;
将两个概率归一化处理,得到所述测试集中每一条事件日志最终的高风险概率;
基于所述测试集中每一条事件日志最终的高风险概率以及所述最佳阈值参数计算所述测试集的准确率。
进一步地,第一存储器130中的事件审计程序被处理器执行时还实现以下步骤:
重新选取测试集;
计算重新选取的测试集的准确率;
将多次计算出的测试集的准确率取平均值。
进一步地,第一存储器130中的事件审计程序被处理器执行时还实现以下步骤:
根据测试集的准确率,获取误报数据;
对所述误报数据进行误差分析;
根据误差分析结果更新所述分类模型及对应的词库。
本实施例通过上述方案,具体通过获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;基于所述最佳阈值参数计算所述测试集的准确率。由此,可以对各个场景下的事件日志进行分类学习,通过分类模型计算出事件日志的风险可疑程度,根据设定的阈值参数识别出事件日志的风险等级,采用概率统计学方法识别出海量事件日志数据中的高风险事件,大大提升了事件日志的识别准确率,改善了原有基于规则判定事件风险等级的诸多缺点,减少了高风险告警事件的误报数量,减轻了审计人员的工作负担,提高了审计效率。此外,为了提升机器学习的准确度,本发明方案还收集大量私有词组,组成私有词库,大大提高了涉及敏感信息的高风险事件的准确度。
基于上述终端架构但不限于上述终端架构,提出本发明方法实施例。
参照图2,图2为本发明事件审计方法一示例性实施例的流程示意图。该实施例提出的事件审计方法包括:
步骤S101,获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;
本实施例方法的执行主体可以为一种事件审计装置,也可以为一种终端设备,本实施例以事件审计装置进行举例,但并不对此构成限定。
其中,样本数据可以通过收集各场景下的各类事件日志而获得,该场景包括但不限于日志管理平台的安全事件识别,还可以对内部的邮件日志进行垃圾邮件的检测,对IM(即时通讯)聊天工具的日志进行敏感信息检测,敏感词过滤等。数据的来源可以是各场景下的本地数据库,也可以是外部服务器,比如云服务器等。
可以构建一个多平台安全日志数据库,将收集的安全事件日志存储,并由审计人员对每一条安全事件日志数据进行打标签处理,将其中的高风险事件打标签为“1”,低风险事件打标签为“0”。打完标签的数据组成机器学习的样本数据,并将样本数据随机分成训练集、验证集和测试集。
步骤S102,通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;
本实施例预先基于所述样本数据中的训练集创建有机器学习的分类模型。通过该分类模型可以得到组成各事件日志的词组的风险事件概率(包括高风险事件概率和低风险事件概率),进而可以通过各事件日志的词组的风险事件概率计算整个事件日志的风险事件概率。
其中,在计算整个事件日志的风险事件概率时,该分类模型可以结合贝叶斯公式计算整个事件日志的风险事件概率,再通过归一化处理得到整个事件日志的最终高风险概率,因此该分类模型也可以称为朴素贝叶斯分类器。
阈值参数可以由审计员预先设置,比如0.1-0.9,阈值参数用来和每一条事件日志的最终高风险概率(该最终高风险概率通过分类模型结合贝叶斯公式计算得到)进行比较,判断此事件日志是高风险事件还是低风险事件。例如,当计算出事件最终高风险概率大于所设定的阈值参数(比如0.1)的时候,则识别此事件为高风险事件,小于所设定的阈值的时候,则识别此事件为低风险事件。
通过识别出来的事件日志的高风险事件或低风险事件的识别结果,与之前审计员对每一条事件日志打的标签进行比较,判断是否有差异,如果有差异,证明该条事件日志在当前阈值参数下的识别结果不准确,如果没有差异,即判断结果相同,比如,和当前阈值参数相比,识别此事件日志为高风险事件,同时此事件日志的标签为高风险事件,则该证明该条事件日志在当前阈值参数下的识别结果准确。从而,基于该判断规则,可以通过一个数据集的事件日志的比较结果,判断该数据集在所设定的阈值参数下的风险概率的准确率。
本实施例中,通过验证集对分类模型进行阈值参数调参验证,验证的方式是通过设置多个阈值参数,采用上述方式得到该验证集在所设定的多个阈值参数下的风险概率的准确率,从多个准确率中获得准确率最高所对应的阈值参数,作为最佳阈值参数。
因此,对于设置的多个阈值参数,分别计算得到该验证集在所有所设定的阈值参数下的风险概率的准确率,从中选取结果最好的数值作为最终的阈值参数,即选取准确率最高所对应的阈值参数,作为最佳阈值参数,以便后续,通过该最佳阈值参数计算测试集的准确率,从而实现事件日志的审计。
步骤S103,基于所述最佳阈值参数计算所述测试集的准确率。
具体实现时,基于计算得到最佳阈值参数,并结合朴素贝叶斯分类器及贝叶斯公式计算测试集的准确率。
本实施例通过上述方案,通过获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;基于所述最佳阈值参数计算所述测试集的准确率。由此,可以对各个场景下的事件日志进行分类学习,通过分类模型计算出事件日志的风险可疑程度,根据设定的阈值参数识别出事件日志的风险等级,采用概率统计学方法识别出海量事件日志数据中的高风险事件,大大提升了事件日志的识别准确率,改善了原有基于规则判定事件风险等级的诸多缺点,减少了高风险告警事件的误报数量,减轻了审计人员的工作负担,提高了审计效率。
参照图3,图3为本发明事件审计方法另一示例性实施例的流程示意图。该实施例基于上述图2所示的实施例,在上述步骤S101,获取预设的样本数据之前还包括:
步骤S1001,构建事件日志数据库,收集各类事件日志存储至所述事件日志数据库;
步骤S1002,对所述事件日志数据库中的每一条事件日志进行打标签处理,所述标签包括:高风险事件标签和低风险事件标签;
步骤S1003,将打标签处理后的数据组成样本数据;
步骤S1004,将所述样本数据分成训练集、验证集和测试集。
相比上述图2所示的实施例,本实施例还包括构建事件日志数据库并提取样本数据的方案。
具体地,可以构建一个多平台安全日志数据库,将收集的安全事件日志存储,并由审计人员对每一条安全事件日志数据进行打标签处理,将其中的高风险事件打标签为“1”,低风险事件打标签为“0”。打完标签的数据组成机器学习的样本数据,并将样本数据随机分成训练集、验证集和测试集。
其中,对样本数据的分类,可以采用随机方式,也可以按照一定的规则分类,本实施例对此不作限定。
此外,日志数据库中的样本数据可以通过收集各场景下的各类事件日志而获得,该场景包括但不限于日志管理平台的安全事件识别,还可以对内部的邮件日志进行垃圾邮件的检测,对IM(即时通讯)聊天工具的日志进行敏感信息检测,敏感词过滤等。数据的来源可以是各场景下的本地数据库,也可以是外部服务器,比如云服务器等。
本实施例通过上述方案,具体通过构建事件日志数据库并提取样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;基于所述最佳阈值参数计算所述测试集的准确率。由此,可以对各个场景下的事件日志进行分类学习,通过分类模型计算出事件日志的风险可疑程度,根据设定的阈值参数识别出事件日志的风险等级,采用概率统计学方法识别出海量事件日志数据中的高风险事件,大大提升了事件日志的识别准确率,改善了原有基于规则判定事件风险等级的诸多缺点,减少了高风险告警事件的误报数量,减轻了审计人员的工作负担,提高了审计效率。
参照图4,图4为本发明事件审计方法再一示例性实施例的流程示意图。该实施例基于上述图3所示的实施例,在上述步骤S102,通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数之前还包括:
步骤S1012,基于所述训练集创建分类模型。
相比上述图3所示的实施例,本实施例还包括创建分类模型的方案。
具体地,创建分类模型基于样本数据中的训练集实现,具体包括:
首先,对所述训练集进行预处理,预处理包括:过滤掉所述训练集中事件日志的无语义符号,以及对事件日志进行英文字母大小写脱敏等。
具体实现如下:选取训练集中的事件日志数据,使用str.lower()方法将英文字符串中的大写字母转为小写,实现英文字母大小写脱敏;使用str.replace()方法将字符串中的空格、标点、数学符号、特殊符号等无语义符号过滤掉。
然后,对预处理后的训练集进行语言类型识别,可以使用开源库langid对预处理后的训练集数据进行语言类型识别。
然后,根据识别的语言类型,使用对应的词库对所述训练集中的事件日志进行分词,得到每一条事件日志分词后的词组;
本实施例为了提升机器学习的准确度,预先收集大量私有词组,组成私有词库,从而可以大大提高涉及敏感信息的高风险事件的准确度。
在根据语言类型的不同进行分词时,具体分词方法可以如下:
若训练集数据为中文文本,可以使用开源库jieba对数据进行分词,加载本地搭建的私有中文词库,能更好的识别出各业务场景下的专有名词和涉及机密信息的敏感词。
若训练集数据为英文文本,可以使用wordninja开源库对数据进行分词,加载本地私有英文词库,能更好的识别出各业务场景下的专有名词和涉及机密信息的敏感词。
若训练集数据为中文拼音、阿拉伯数字等,可以使用本地加载的私有汉语拼音词库,对数据进行分词,能更好的识别出各业务场景下的专有名词和涉及机密信息的敏感词。
最后,统计分词后的词组出现的频率,建立朴素贝叶斯分类器。
具体实现如下:
通过预设词库过滤掉各词组中无语义的辅助词语;统计分词后的词组出现的频率;基于分词后的词组出现的频率,计算各词组对应的高风险事件概率、低风险事件概率,以及高风险事件词组的总概率和低风险事件词组的总概率,构建所述训练数据的分类模型,保存在本地,从而建立得到朴素贝叶斯分类器。
本实施例通过上述方案,具体通过构建事件日志数据库并提取样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;基于所述训练集创建分类模型,通过所述验证集对分类模型进行阈值参数调参验证,得到最佳阈值参数;基于所述最佳阈值参数计算所述测试集的准确率。由此,可以对各个场景下的事件日志进行分类学习,通过分类模型计算出事件日志的风险可疑程度,根据设定的阈值参数识别出事件日志的风险等级,采用概率统计学方法识别出海量事件日志数据中的高风险事件,大大提升了事件日志的识别准确率,改善了原有基于规则判定事件风险等级的诸多缺点,减少了高风险告警事件的误报数量,减轻了审计人员的工作负担,提高了审计效率。
参照图5,图5为本发明事件审计方法又一示例性实施例的流程示意图。该实施例基于上述图4所示的实施例,该实施例中,上述步骤S102,所述通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数包括:
步骤S1021,对所述验证集进行预处理;
步骤S1022,对预处理后的验证集进行语言类型识别;
步骤S1023,根据识别的语言类型,使用对应的词库对所述验证集中的事件日志进行分词,得到验证集中每一条事件日志分词后的词组;
步骤S1024,基于分词后的词组、所述朴素贝叶斯分类器,并使用贝叶斯公式分别计算出验证集中每一条事件日志是高风险等级的后验概率和低风险等级的后验概率;
步骤S1025,将两个概率归一化处理,得到验证集中每一条事件日志最终的高风险概率;
步骤S1026,基于所述验证集中每一条事件日志最终的高风险概率以及预设的阈值参数计算所述验证集的准确率;
步骤S1027,选取验证集准确率最高的阈值参数作为最佳阈值参数。
具体地,通过该分类模型可以得到组成各事件日志的词组的风险事件概率(包括高风险事件概率和低风险事件概率),进而可以通过各事件日志的词组的风险事件概率计算整个事件日志的风险事件概率。
其中,在计算整个事件日志的风险事件概率时,该分类模型可以结合贝叶斯公式计算整个事件日志的风险事件概率,再通过归一化处理得到整个事件日志的最终高风险概率,因此该分类模型也可以称为朴素贝叶斯分类器。
在得到验证集中每一条事件日志的最终高风险概率后,通过最终高风险概率对阈值参数进行验证。
阈值参数可以由审计员预先设置,比如0.1-0.9,阈值参数用来和每一条事件日志的最终高风险概率进行比较,判断此事件日志是高风险事件还是低风险事件。例如,当计算出事件最终高风险概率大于所设定的阈值参数(比如0.1)的时候,则识别此事件为高风险事件,小于所设定的阈值的时候,则识别此事件为低风险事件。
通过识别出来的事件日志的高风险事件或低风险事件的识别结果,与之前审计员对每一条事件日志打的标签进行比较,判断是否有差异,如果有差异,证明该条事件日志在当前阈值参数下的识别结果不准确,如果没有差异,即判断结果相同,比如,和当前阈值参数相比,识别此事件日志为高风险事件,同时此事件日志的标签为高风险事件,则该证明该条事件日志在当前阈值参数下的识别结果准确。从而,基于该判断规则,可以通过一个数据集的事件日志的比较结果,判断该数据集在所设定的阈值参数下的风险概率的准确率。
本实施例中,通过验证集对分类模型进行阈值参数调参验证,验证的方式是通过设置多个阈值参数,采用上述方式得到该验证集在所设定的多个阈值参数下的风险概率的准确率,从多个准确率中获得准确率最高所对应的阈值参数,作为最佳阈值参数。
更为具体地,基于所述最终的高风险概率以及预设的阈值参数计算所述验证集的准确率的方案可以包括:
从预设的多个阈值参数中选取一个阈值参数;
对于所述验证集中的每一条事件日志,将每一条事件日志的最终的高风险概率分别与选取的一个阈值参数进行比较,得到各事件日志对应的预测结果,所述预测结果为识别此事件为高风险事件或低风险事件;
将各事件日志对应的预测结果对应与各事件日志的标签进行比较,计算得到所述验证集对应当前选取的阈值参数的一个准确率;
从预设的多个阈值参数中选取另一个阈值参数,再次计算得到验证集对应当前选取的阈值参数的一个准确率;以此类推,直到预设的多个阈值参数均比较完毕,得到验证集的多个准确率。
最后,从验证集的多个准确率中获得准确率最高所对应的阈值参数,作为最佳阈值参数。
举例如下:
比如,验证集数据中有100个安全事件数据,对于这100个安全事件数据,首先,计算每一个安全事件最终的高风险概率P,然后分别与选取的同一个阈值参数进行比较,得到100个安全事件数据对应的预测结果(识别此事件为高风险事件或低风险事件)。
然后,将100个安全事件数据对应的预测结果与标签结果进行比较,得到差异,计算准确率,比如,100个预测结果中90个与标签结果一致,10个不一致,则得到的准确率为90%。
然后,再选取另一个阈值参数,对于这100个安全事件数据,分别与此次选取的同一个阈值参数进行比较,重复上述过程,得到对应的准确率;
由此,若有9个可选的阈值参数,则得到9个准确率,选取准确率最高对应的阈值参数作为最终的阈值参数。
以下详细介绍分类模型结合贝叶斯公式计算验证集中事件日志的风险事件概率,通过归一化处理得到整个事件日志的最终高风险概率,再通过最终高风险概率进行阈值参数调参验证,得到最佳阈值参数的原理:
首先,得到分类模型,该分类模型中包括的参数有:分词后各词组对应的高风险事件概率、低风险事件概率,以及高风险事件词组的总概率和低风险事件词组的总概率。
然后,对于验证集中的事件日志先后进行数据预处理和分词操作。
以验证集中一条事件日志为例:
使用贝叶斯公式分别计算出此事件日志是高风险等级的后验概率和低风险等级的后验概率P1和P2。其中:
P1=P(高风险|事件日志)=P(高风险|词组1,词组2,...词组n)
=P(词组1|高风险)*P(词组2|高风险)*...P(词组n|高风险)*P(高风险)/P(词组1,词组2,...词组n);
P2=P(低风险|事件日志)=P(低风险|词组1,词组2,...词组n)
=P(词组1|低风险)*P(词组2|低风险)*...P(词组n|低风险)*P(高风险)/P(词组1,词组2,...词组n)。
将两个概率P1和P2归一化,得到最终的高风险概率P:
Figure BDA0002289995140000181
然后,选取九个阈值参数分别为0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,当计算出事件可疑的概率大于所设定的阈值参数的时候,则识别此事件为高风险事件,小于阈值的时候则识别此事件为低风险事件,将此识别的结果作为预测结果。
最后,比较九个阈值参数下预测结果和标签结果的差异,计算准确率,选取结果最好的数值作为最终的阈值参数,即最佳阈值参数。
需要说明的是:
P(高风险|事件日志)是指审计的事件日志是高风险事件的概率;
P(高风险|词组1,词组2,...)指事件日志通过上述分词操作,把一整条事件通过分词分成了若干个词组,即这些词组是高风险的概率;
P(词组1|高风险)指在所有高风险事件中出现词组1的概率。
P(高风险|词组1,词组2,...词组n)=P(词组1|高风险)*P(词组2|高风险)*P(审计)*...P(词组n|高风险)/P(词组1,词组2,...词组n)这个等式由贝叶斯公式推得。
低风险事件的概率表达式的原理同上。
在分类模型中,基于分词得到的词组的词频,算出该词组的风险事件概率,再根据贝叶斯公式,基于每个词组的风险事件概率,得到这些词组构成的事件日志是高风险的概率及低风险概率。
朴素贝叶斯公式为:P(A|B1,B2,...,Bn)=P(B1,B2,...,Bn|A)*P(A)/P(B1,B2,...,Bn);
当B1,B2,...,Bn相互独立时,得到:
P(B1,B2,...,Bn|A)=P(B1|A)*P(B2|A)*...*P(Bn|A);
所以推出:P(A|B1,B2,...,Bn)=P(B1|A)*P(B2|A)*...*P(Bn|A)*P(A)/P(B1,B2,...,Bn),即朴素贝叶斯公式。
利用上述朴素贝叶斯公式就能得到上述P1和P2中的公式:
P1=P(高风险|事件日志)=P(高风险|词组1,词组2,...词组n)=P(词组1|高风险)*P(词组2|高风险)*...P(词组n|高风险)*P(高风险)/P(词组1,词组2,...词组n);
P2=P(低风险|事件日志)=P(低风险|词组1,词组2,...词组n)=P(词组1|低风险)*P(词组2|低风险)*...P(词组n|低风险)*P(高风险)/P(词组1,词组2,...词组n)。
计算方法如下:
1.P(词组1|高风险),(词组n|高风险),P(高风险)的大小都是通过分类模型统计好的词频来算出。比如训练集一共有100条数据,其中高风险20条,低风险80条,则P(高风险)=20/100=0.2;
2.同理,通过分词并计算出各个词组的词频后,基于词频算出该词组的风险概率,得到分类模型保存在本地。比如高风险的词库中词组1一共出现5次,所有词组一共出现1000次,则P(词组1|高风险)=5/1000=0.005,依次算出(词组n|高风险)。
3.最终计算得到P1的分子部分。
4.按照上述方法算出P2的分子部分。
5.带入公式:P=P1/(P1+P2)*100%这样P1,P2的分母部分约掉了,就可以计算出P的大小。
参照图6,图6为本发明事件审计方法又一示例性实施例的流程示意图。该实施例基于上述图5所示的实施例,该实施例中,上述步骤S103,基于所述最佳阈值参数计算所述测试集的准确率包括:
步骤S1031,对所述测试集进行预处理;
步骤S1032,对预处理后的测试集进行语言类型识别;
步骤S1033,根据识别的语言类型,使用对应的词库对所述测试集中的事件日志进行分词,得到测试集中每一条事件日志分词后的词组;
步骤S1034,基于分词后的词组、所述朴素贝叶斯分类器,并使用贝叶斯公式分别计算出所述测试集中每一条事件日志是高风险等级的后验概率和低风险等级的后验概率;
步骤S1035,将两个概率归一化处理,得到所述测试集中每一条事件日志最终的高风险概率;
步骤S1036,基于所述测试集中每一条事件日志最终的高风险概率以及所述最佳阈值参数计算所述测试集的准确率。
具体地,在基于所述最佳阈值参数计算所述测试集的准确率时,首先对所述测试集进行预处理,预处理方式与上述实施例相同。
然后,对预处理后的测试集进行语言类型识别,其识别方式与上述实施例相同。
然后,根据识别的语言类型,使用对应的词库对所述测试集中的事件日志进行分词,得到测试集中每一条事件日志分词后的词组,其中,分词原理与上述实施例相同。
基于分词得到的词组的词频,算出该词组的风险事件概率,再根据贝叶斯公式,基于每个词组的风险事件概率,得到这些词组构成的事件日志的高风险概率及低风险概率。
即使用贝叶斯公式分别计算出所述测试集中每一条事件日志是高风险等级的后验概率P1和低风险等级P2的后验概率;将两个概率归一化处理,得到所述测试集中每一条事件日志最终的高风险概率。
以测试集中一条事件日志为例:
使用贝叶斯公式分别计算出此事件日志是高风险等级的后验概率和低风险等级的后验概率P1和P2。其中:
P1=P(高风险|事件日志)=P(高风险|词组1,词组2,...词组n)
=P(词组1|高风险)*P(词组2|高风险)*...P(词组n|高风险)*P(高风险)/P(词组1,词组2,...词组n);
P2=P(低风险|事件日志)=P(低风险|词组1,词组2,...词组n)
=P(词组1|低风险)*P(词组2|低风险)*...P(词组n|低风险)*P(高风险)/P(词组1,词组2,...词组n)。
将两个概率P1和P2归一化,得到最终的高风险概率P:
Figure BDA0002289995140000211
最后,基于所述测试集中每一条事件日志最终的高风险概率以及所述最佳阈值参数计算所述测试集的准确率。
当计算出事件可疑的概率大于最佳阈值参数的时候,则识别此事件为高风险事件,小于最佳阈值参数的时候则识别此事件为低风险事件,将此识别的结果作为预测结果。
最后,比较最佳阈值参数下预测结果和标签结果的差异,计算得到测试集的准确率。
本实施例通过上述方案,具体通过获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;基于所述最佳阈值参数计算所述测试集的准确率。由此,可以对各个场景下的事件日志进行分类学习,通过分类模型计算出事件日志的风险可疑程度,根据设定的阈值参数识别出事件日志的风险等级,采用概率统计学方法识别出海量事件日志数据中的高风险事件,大大提升了事件日志的识别准确率,改善了原有基于规则判定事件风险等级的诸多缺点,减少了高风险告警事件的误报数量,减轻了审计人员的工作负担,提高了审计效率。此外,为了提升机器学习的准确度,本发明方案还收集大量私有词组,组成私有词库,大大提高了涉及敏感信息的高风险事件的准确度。
参照图7,图7为本发明事件审计方法又一示例性实施例的流程示意图。该实施例基于上述图4所示的实施例,在所述步骤S103,基于所述最佳阈值参数计算所述测试集的准确率之后还包括:
步骤S104,重新选取测试集;
步骤S105,计算重新选取的测试集的准确率;
步骤S106,将多次计算出的测试集的准确率取平均值。
为了提高测试集数据的审计准确性,可以通过多个测试集,来计算测试集的准确率,将多次计算出的测试集的准确率取平均值,得到测试集最终的准确率。
参照图8,图8为本发明事件审计方法又一示例性实施例的流程示意图。该实施例基于上述图4所示的实施例,在所述步骤S103,基于所述最佳阈值参数计算所述测试集的准确率之后还包括:
步骤S107,根据测试集的准确率,获取误报数据;
步骤S108,对所述误报数据进行误差分析;
步骤S109,根据误差分析结果更新所述分类模型及对应的词库。
为了提高测试集数据的审计准确性,提高分类器的准确度,可以根据测试集的准确率,获取误报数据;对所述误报数据进行误差分析;根据误差分析结果更新所述分类模型及对应的词库。
本实施例通过上述方案,具体通过获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;基于所述最佳阈值参数计算所述测试集的准确率。由此,可以对各个场景下的事件日志进行分类学习,通过分类模型计算出事件日志的风险可疑程度,根据设定的阈值参数识别出事件日志的风险等级,采用概率统计学方法识别出海量事件日志数据中的高风险事件,大大提升了事件日志的识别准确率,改善了原有基于规则判定事件风险等级的诸多缺点,减少了高风险告警事件的误报数量,减轻了审计人员的工作负担,提高了审计效率。此外,为了提升机器学习的准确度,本发明方案还收集大量私有词组,组成私有词库,大大提高了涉及敏感信息的高风险事件的准确度;另外,还通过获取误报数据;对所述误报数据进行误差分析;根据误差分析结果更新所述分类模型及对应的词库,提高了测试集数据的审计准确性,提高了分类器的准确度。
需要说明的是,上述各实施例可以根据实际情况合理的组合实施。
还需要说明的是,样本数据中,训练集数据是用来提供计算P1和P2的能力的,即只有有了训练集数据,才能知道P(词组1|高风险)的概率有多少。
验证集和测试集的数据是用来验证和测试结果的,比如有一个验证集的事件日志,分词后得到词语X,词组Y,那么只要计算P(词组X|高风险),P(词组Y|高风险)和P(高风险)就可以算出P1,同理算出P2,基于P1和P2得到P。
得到P之后与阈值[0.1~0.9]做比较,P大于阈值判断为高风险,P小于阈值判断为低风险,得到的预测结果与标签结果进行比较,计算准确率,找到准确率最高的阈值,即最佳阈值参数。
测试集的数据是用来测试模型准确率的,假设验证过程中得到阈值为0.4的时候准确率最高,那么最佳阈值就选为0.4,然后同理计算测试集数据的P,若P>0.4,则预测为高风险,否则为低风险。假设测试集有100条数据,预测结果与标签结果相同的有90条,不同的有10条,则测试集的准确率为90%。
本实施例方法通过在统一日志管理平台上测试时,随机选取五份测试数据,计算其准确率如表1所示:
表1测试数据准确率统计表
Figure BDA0002289995140000231
通过上述表1可以看出,通过使用本发明实施例方法,对安全事件进行识别,可以将原本近80%的高风险等级的告警事件降级为低风险。经审计人员人工确认,被降级的安全事件的误判率平均在5%以下,准确率达到98.85%。从而大大减少了高风险告警事件的误报数量,提高了审计效率。
相比现有技术,本发明实施例方案采用朴素贝叶斯算法构造分类器用于识别安全事件的风险等级,改善了原有基于规则判定事件风险等级的诸多缺点,大大降低了高风险等级的告警事件的误报数量,减轻了审计人员的工作负担。
同时,为了提升机器学习的准确度,本发明实施例还收集了大量私有词组,组成私有词库,大大提高了对涉及敏感信息的高风险事件的准确度。从而提高了审计效率。
此外,本发明实施例还提出一种事件审计装置,所述事件审计装置包括:
获取模块,用于获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;
验证模块,用于通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;
计算模块,用于基于所述最佳阈值参数计算所述测试集的准确率。
本实施例事件审计的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本发明实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的事件审计程序,所述事件审计程序被所述处理器执行时实现如上述实施例所述的事件审计方法的步骤。
由于本事件审计程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有事件审计程序,所述事件审计程序被处理器执行时实现如上述实施例所述的事件审计方法的步骤。
由于本事件审计程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
相比现有技术,本发明实施例提出的事件审计方法、装置、终端设备以及存储介质,通过获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;基于所述最佳阈值参数计算所述测试集的准确率。由此,可以对各个场景下的事件日志进行分类学习,通过分类模型计算出事件日志的风险可疑程度,根据设定的阈值参数识别出事件日志的风险等级,采用概率统计学方法识别出海量事件日志数据中的高风险事件,大大提升了事件日志的识别准确率,改善了原有基于规则判定事件风险等级的诸多缺点,减少了高风险告警事件的误报数量,减轻了审计人员的工作负担,提高了审计效率。此外,为了提升机器学习的准确度,本发明方案还收集大量私有词组,组成私有词库,大大提高了涉及敏感信息的高风险事件的准确度。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本发明每个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (12)

1.一种事件审计方法,其特征在于,包括:
获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;
通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;
基于所述最佳阈值参数计算所述测试集的准确率;
其中,所述通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数的步骤包括:
对所述验证集进行预处理;
对预处理后的验证集进行语言类型识别;
根据识别的语言类型,使用对应的词库对所述验证集中的事件日志进行分词,得到验证集中每一条事件日志分词后的词组;
基于分词后的词组、预设的朴素贝叶斯分类器,并使用贝叶斯公式分别计算出验证集中每一条事件日志是高风险等级的后验概率和低风险等级的后验概率;
将两个概率归一化处理,得到验证集中每一条事件日志最终的高风险概率;
基于所述验证集中每一条事件日志最终的高风险概率以及预设的阈值参数计算所述验证集的准确率,选取验证集准确率最高的阈值参数作为最佳阈值参数。
2.根据权利要求1所述的事件审计方法,其特征在于,所述获取预设的样本数据的步骤之前还包括:
构建事件日志数据库,收集各类事件日志存储至所述事件日志数据库;
对所述事件日志数据库中的每一条事件日志进行打标签处理,所述标签包括:高风险事件标签和低风险事件标签;
将打标签处理后的数据组成样本数据;
将所述样本数据分成训练集、验证集和测试集。
3.根据权利要求2所述的事件审计方法,其特征在于,所述通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数的步骤之前还包括:
基于所述训练集创建分类模型,具体包括:
对所述训练集进行预处理;
对预处理后的训练集进行语言类型识别;
根据识别的语言类型,使用对应的词库对所述训练集中的事件日志进行分词,得到每一条事件日志分词后的词组;
统计分词后的词组出现的频率,建立朴素贝叶斯分类器。
4.根据权利要求3所述的事件审计方法,其特征在于,所述统计分词后的词组出现的频率,建立朴素贝叶斯分类器的步骤包括:
通过预设词库过滤掉各词组中无语义的辅助词语;
统计分词后的词组出现的频率;
基于分词后的词组出现的频率,计算各词组对应的高风险事件概率、低风险事件概率,以及高风险事件词组的总概率和低风险事件词组的总概率,构建所述训练数据的分类模型,得到朴素贝叶斯分类器。
5.根据权利要求3所述的事件审计方法,其特征在于,所述对所述训练集进行预处理包括:
过滤掉所述训练集中事件日志的无语义符号,以及对事件日志进行英文字母大小写脱敏。
6.根据权利要求1所述的事件审计方法,其特征在于,所述基于所述最终的高风险概率以及预设的阈值参数计算所述验证集的准确率的步骤包括:
从预设的多个阈值参数中选取一个阈值参数;
对于所述验证集中的每一条事件日志,将每一条事件日志的最终的高风险概率分别与选取的一个阈值参数进行比较,得到各事件日志对应的预测结果,所述预测结果为识别此事件为高风险事件或低风险事件;
将各事件日志对应的预测结果对应与各事件日志的标签进行比较,计算得到所述验证集对应当前选取的阈值参数的一个准确率;
从预设的多个阈值参数中选取另一个阈值参数,再次计算得到验证集对应当前选取的阈值参数的一个准确率;以此类推,直到预设的多个阈值参数均比较完毕,得到验证集的多个准确率。
7.根据权利要求1所述的事件审计方法,其特征在于,所述基于所述最佳阈值参数计算所述测试集的准确率的步骤包括:
对所述测试集进行预处理;
对预处理后的测试集进行语言类型识别;
根据识别的语言类型,使用对应的词库对所述测试集中的事件日志进行分词,得到测试集中每一条事件日志分词后的词组;
基于分词后的词组、所述朴素贝叶斯分类器,并使用贝叶斯公式分别计算出所述测试集中每一条事件日志是高风险等级的后验概率和低风险等级的后验概率;
将两个概率归一化处理,得到所述测试集中每一条事件日志最终的高风险概率;
基于所述测试集中每一条事件日志最终的高风险概率以及所述最佳阈值参数计算所述测试集的准确率。
8.根据权利要求1-7中任一项所述的事件审计方法,其特征在于,所述基于所述最佳阈值参数计算所述测试集的准确率的步骤之后还包括:
重新选取测试集;
计算重新选取的测试集的准确率;
将多次计算出的测试集的准确率取平均值。
9.根据权利要求3-7中任一项所述的事件审计方法,其特征在于,所述方法还包括:
根据测试集的准确率,获取误报数据;
对所述误报数据进行误差分析;
根据误差分析结果更新所述分类模型及对应的词库。
10.一种事件审计装置,其特征在于,所述事件审计装置包括:
获取模块,用于获取预设的样本数据,所述样本数据包括各类事件日志构成的训练集、验证集和测试集;
验证模块,用于通过所述验证集对预先基于所述样本数据中的训练集创建的分类模型进行阈值参数调参验证,得到最佳阈值参数;
计算模块,用于基于所述最佳阈值参数计算所述测试集的准确率;
其中,所述验证模块,还用于对所述验证集进行预处理;对预处理后的验证集进行语言类型识别;根据识别的语言类型,使用对应的词库对所述验证集中的事件日志进行分词,得到验证集中每一条事件日志分词后的词组;基于分词后的词组、预设的朴素贝叶斯分类器,并使用贝叶斯公式分别计算出验证集中每一条事件日志是高风险等级的后验概率和低风险等级的后验概率;将两个概率归一化处理,得到验证集中每一条事件日志最终的高风险概率;和,基于所述验证集中每一条事件日志最终的高风险概率以及预设的阈值参数计算所述验证集的准确率,选取验证集准确率最高的阈值参数作为最佳阈值参数。
11.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的事件审计程序,所述事件审计程序被所述处理器执行时实现如权利要求1-9中任一项所述的事件审计方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有事件审计程序,所述事件审计程序被处理器执行时实现如权利要求1-9中任一项所述的事件审计方法的步骤。
CN201911180321.3A 2019-11-26 2019-11-26 事件审计方法、装置、终端设备以及存储介质 Active CN110889451B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911180321.3A CN110889451B (zh) 2019-11-26 2019-11-26 事件审计方法、装置、终端设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911180321.3A CN110889451B (zh) 2019-11-26 2019-11-26 事件审计方法、装置、终端设备以及存储介质

Publications (2)

Publication Number Publication Date
CN110889451A CN110889451A (zh) 2020-03-17
CN110889451B true CN110889451B (zh) 2023-07-07

Family

ID=69748975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911180321.3A Active CN110889451B (zh) 2019-11-26 2019-11-26 事件审计方法、装置、终端设备以及存储介质

Country Status (1)

Country Link
CN (1) CN110889451B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882289B (zh) * 2020-07-01 2023-11-14 国网河北省电力有限公司经济技术研究院 一种项目数据审核指标区间测算的装置和方法
CN113256936A (zh) * 2021-07-07 2021-08-13 常州分音塔科技有限公司 基于声音事件的报警方法及系统
CN115389833B (zh) * 2022-07-25 2024-02-20 云南电网有限责任公司楚雄供电局 一种315kV及以下电压等级配电变压器自动容量校核方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337985A (zh) * 2015-11-19 2016-02-17 北京师范大学 一种攻击检测方法及系统
CN105488025A (zh) * 2015-11-24 2016-04-13 小米科技有限责任公司 模板构建方法和装置、信息识别方法和装置
CN106778259A (zh) * 2016-12-28 2017-05-31 北京明朝万达科技股份有限公司 一种基于大数据机器学习的异常行为发现方法及系统
CN106792876A (zh) * 2016-12-26 2017-05-31 浙江省公众信息产业有限公司 端到端网络感知评估方法和系统
CN107291911A (zh) * 2017-06-26 2017-10-24 北京奇艺世纪科技有限公司 一种异常检测方法和装置
CN108334887A (zh) * 2017-01-19 2018-07-27 腾讯科技(深圳)有限公司 一种用户选取方法和装置
CN109840157A (zh) * 2017-11-28 2019-06-04 中国移动通信集团浙江有限公司 故障诊断的方法、装置、电子设备和存储介质
CN110210512A (zh) * 2019-04-19 2019-09-06 北京亿阳信通科技有限公司 一种自动化日志异常检测方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337985A (zh) * 2015-11-19 2016-02-17 北京师范大学 一种攻击检测方法及系统
CN105488025A (zh) * 2015-11-24 2016-04-13 小米科技有限责任公司 模板构建方法和装置、信息识别方法和装置
CN106792876A (zh) * 2016-12-26 2017-05-31 浙江省公众信息产业有限公司 端到端网络感知评估方法和系统
CN106778259A (zh) * 2016-12-28 2017-05-31 北京明朝万达科技股份有限公司 一种基于大数据机器学习的异常行为发现方法及系统
CN108334887A (zh) * 2017-01-19 2018-07-27 腾讯科技(深圳)有限公司 一种用户选取方法和装置
CN107291911A (zh) * 2017-06-26 2017-10-24 北京奇艺世纪科技有限公司 一种异常检测方法和装置
CN109840157A (zh) * 2017-11-28 2019-06-04 中国移动通信集团浙江有限公司 故障诊断的方法、装置、电子设备和存储介质
CN110210512A (zh) * 2019-04-19 2019-09-06 北京亿阳信通科技有限公司 一种自动化日志异常检测方法及系统

Also Published As

Publication number Publication date
CN110889451A (zh) 2020-03-17

Similar Documents

Publication Publication Date Title
CN107294993B (zh) 一种基于集成学习的web异常流量监测方法
CN112765603B (zh) 一种结合系统日志与起源图的异常溯源方法
CN108376151B (zh) 问题分类方法、装置、计算机设备和存储介质
US11449673B2 (en) ESG-based company evaluation device and an operation method thereof
CN114610515B (zh) 基于日志全语义的多特征日志异常检测方法及系统
CN110889451B (zh) 事件审计方法、装置、终端设备以及存储介质
CN105912576B (zh) 情感分类方法及系统
CN111045847A (zh) 事件审计方法、装置、终端设备以及存储介质
CN111143842B (zh) 一种恶意代码检测方法及系统
WO2016177069A1 (zh) 一种管理方法、装置、垃圾短信监控系统及计算机存储介质
CN111612041A (zh) 异常用户识别方法及装置、存储介质、电子设备
CN112989035A (zh) 基于文本分类识别用户意图的方法、装置及存储介质
CN114896305A (zh) 一种基于大数据技术的智慧互联网安全平台
Nebgen et al. A neural network for determination of latent dimensionality in non-negative matrix factorization
Monshizadeh et al. Improving data generalization with variational autoencoders for network traffic anomaly detection
Liang et al. HAGDetector: Heterogeneous DGA domain name detection model
CN112487306B (zh) 基于知识图谱的自动化事件标记与分类方法
WO2024087754A1 (zh) 一种多维度文本综合辨识方法
CN106991171A (zh) 基于智慧校园信息服务平台的话题发现方法
Fei et al. Real-time detection of COVID-19 events from Twitter: A spatial-temporally Bursty-Aware method
CN115842645A (zh) 基于umap-rf的网络攻击流量检测方法、装置及可读存储介质
CN111475380B (zh) 一种日志分析方法和装置
CN108647497A (zh) 一种基于特征提取的api密钥自动识别系统
CN113836300A (zh) 日志分析方法、系统、设备及存储介质
CN114036923A (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