一种远程运维智能审计的方法
技术领域
本发明涉及一种远程运维智能审计的实现方法,特别是一种针对远程运维审计中人工审计规则配置的不足而研发的通过自主学习建立规则库,智能分析审计数据的实现方法,属于运维安全技术领域。
背景技术
随着网络与计算机技术的飞速发展,服务器的应用越发广泛,其安全性显得尤为重要。在服务器性能与效率不断提升的同时,如何有效防止服务器遭受攻击、保证服务器中数据的安全性和有效性,已成为信息安全的重要研究课题。
现有的服务器审计系统,对操作审计的规则由审计人员人工配置或者研发人员预设基础规则,然后经由堡垒机记录操作数据后转发,解析数据后,比对设定的规则判断是否异常。
这种数据库审计的方式需要审计人员具备安全知识,并且对企业各业务系统的服务器有一定了解,针对各个业务系统需要配置大量不同的规则,规则涉及广泛选项条目繁多,存在一定误操作的可能。即便有异常数据被系统误判为正常数据,在没有造成明显的系统安全问题前,也无法被发现,存在漏检测的隐患。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足和安全预防的不完全,提供一种远程运维智能审计的方法,对服务器系统操作行为和操作语句进行双向审计并利用关联规则挖掘技术实现智能学习与分析检测。
技术方案:为了实现上述目的,本发明采用如下技术方案:
一种远程运维智能审计的方法,在客户端与服务器之间架设堡垒机,客户端对服务器的运维通过堡垒机转发进行,堡垒机收集运维数据并对运维数据进行审计,该方法包括形成规则库的学习阶段,以及通过匹配规则库审计运维数据是否正常的检测阶段。
所述学习阶段包括如下步骤:
通过对样本数据中的操作字符命令进行词法和语法分析生成字符命令的语法树并根据语法树的结构特征计算特征值,以字符命令的特征值建立操作命令规则库;
通过对样本数据中的操作行为进行聚类分析,利用Apriori算法对聚类结果进行关联规则挖掘,以关联规则建立操作行为规则库。
所述检测阶段包括如下步骤:
对审计数据中的操作字符命令进行词法和语法分析生成字符命令的语法树并根据语法树的结构特征计算特征值,根据特征值与操作命令规则库的匹配情况来判断审计数据中的操作字符命令是否正常;
提取审计数据中的操作行为特征,根据行为特征与操作行为规则库的匹配情况来判断审计数据中的操作行为是否正常。
其中学习阶段形成操作命令规则库的具体步骤包括:
步骤101:对字符命令i进行词法和语法分析,生成语法树,i为样本数据中的字符命令的编号;
步骤102:对语法树中的用户输入内容进行统一的字符替换生成规范语法树;
步骤103:对规范语法树进行特征提取,得到字符命令规范语法树的结构特征Si=(S1 ,S2 ,S3 ,S4,S5),S1为操作类型、S2为子树的个数、S3为树的高度、S4为节点的个数、S5为第一棵子树节点的个数;
步骤104:利用HASH算法对(S1 ,S2 ,S3 ,S4,S5)组成的字符串进行HASH计算从而得到字符命令的特征值Vi;
步骤105:将字符命令的特征值Vi存入操作命令规则库;
循环步骤101至105直至将所有样本数据学习完毕。
检验阶段对运维操作字符命令进行审计的具体步骤包括:
步骤201:按照步骤101-104的方法得到审计数据中的字符命令对应的特征值;
步骤202:将步骤201中得到的特征值与操作命令规则库中的特征值进行匹配,如果匹配成功则视为正常数据,结束;如果匹配失败则至步骤203;
步骤203:提交到待人工审计数据列表,由审计人员进行人工审计,若判断为正常数据则将该特征值添加至操作命令规则库中,结束;若判断为异常数据则进行告警处理。
学习阶段形成操作行为规则库的具体步骤包括:
步骤401:根据预先定义的操作行为相关元素,提取样本数据中的关键元素并进行聚类分析;
步骤402:利用Apriori算法对聚类结果进行分析,设定最小支持度和最小可信度,计算出符合最小支持度和最小可信度的强关联规则;
步骤403:将关联规则存入操作行为规则库。
检验阶段对运维用户操作行为进行审计的具体步骤包括:
步骤501:根据预先定义的操作行为相关元素,提取审计数据中的关键元素,得到其关联关系;
步骤502:将步骤501得到的关联关系与操作行为规则库中关联规则进行匹配,如果匹配成功则视为正常数据,结束;如果匹配失败则至步骤503;
步骤503:提交到待人工审计数据列表,由审计人员进行人工审计,若判断为正常数据则将该关联关系添加至操作行为规则库中,结束;若判断为异常数据则进行告警处理。
有益效果:与现有技术相比,本发明提供了一种运维智能审计的方法,通过用户行为分析、字符命令分析,将异常检测技术、关联规则挖掘技术和模式匹配等方法混合使用,实现运维审计规则的自动学习和检测。该方法通用性较强且检测效率较高,只需要经历一段时间的学习阶段,就可以进入检测,维护方便,规则库不断更新确保降低误检率。可以实际满足不同用户对服务器安全的需求,在运维审计行业中有广泛的应用前景。
附图说明
图1为本发明方法的检测阶段的流程示意图;
图2为本发明所述的Apriori算法示例图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明提供了一种通过关联规则挖掘技术对服务器运维操作字符命令以及操作行为进行双向智能分析的运维审计方法,所述方法包括学习阶段和检测阶段,在学习阶段形成操作命令规则库和操作行为规则库,进入检测阶段即可通过匹配规则库来审计异常数据。
操作字符命令审计的学习阶段,在学习样本数据解析中得到字符命令,建立字符命令树,计算字符命令结构的特征值,将其作为规则存入到操作命令规则库中,实现规则库的建立。具体步骤包括:
步骤101:利用UNIX系统所提供的词法分析工具LEX和语法分析工具YACC对样本数据中的字符命令i进行词法和语法分析,生成语法树,i为样本数据中的字符命令的编号;
步骤102:对语法树中的用户输入内容进行统一的字符替换生成规范语法树;
步骤103:对规范语法树进行特征提取,得到字符命令规范语法树的结构特征Si=(S1 ,S2 ,S3 ,S4,S5),其中S1为操作类型、S2为子树的个数、S3为树的高度、S4为节点的个数、S5为第一棵子树节点的个数;
步骤104:利用HASH算法对(S1 ,S2 ,S3 ,S4,S5)组成的字符串进行HASH计算从而得到字符命令的特征值Vi;
步骤105:将字符命令的特征值Vi存入操作命令规则库。
循环步骤101至105直至将所有样本数据学习完毕,学习阶段结束。
操作行为审计的学习阶段,对样本数据进行聚类分析,利用Apriori算法进行关联规则挖掘,建立正常操作行为规则库。具体步骤包括:
步骤401:根据预先定义在数据库表中的操作行为相关元素,提取样本数据中的关键元素并进行聚类分析。预先定义关键元素包括与数据库操作相关的数据库用户名、操作对象表名和数据库操作类型,以及与服务器管理相关的服务器地址、服务器登录名和操作命令类型等;
步骤402:利用Apriori算法对聚类结果进行分析,设定最小支持度和最小可信度,计算出符合最小支持度和最小可信度的强关联规则;
步骤403:将关联规则存入操作行为规则库。
循环步骤401至403直至学习阶段结束。
图2以一个实例演示步骤402中采用Apriori算法挖掘关联规则的流程示例图,具体步骤如下:
步骤301,遍历候选项集1,对每个候选进行计数;
步骤302,设定最小支持度为2,过滤掉小于最小支持度的事务,生成频繁项集1;
步骤303,去掉互斥项,产生候选项集2,对候选集进行支持度计数;
步骤304,过滤掉小于最小支持度的事务,生成频繁项集2;
步骤305,去掉互斥项,产生候选项集3,对候选集进行支持度计数;
步骤306,过滤掉小于最小支持度的事务,生成频繁项集3。
如图1所示,在检测阶段,对服务器的运维数据中的操作行为和操作字符命令分别进行检测分析,匹配规则库判断数据是否异常。
操作字符命令检测时,将字符命令特征值与规则库中的条目进行匹配,若匹配成功则认为此字符命令为正常数据,若匹配不成功则提交给人工审计。具体步骤包括:
步骤201:按照步骤101-104的方法得到审计数据中的字符命令对应的特征值;
步骤202:将步骤201中得到的特征值与操作命令规则库中的特征值进行匹配,如果匹配成功则视为正常数据,结束;如果匹配失败则至步骤203;
步骤203:提交到待人工审计数据列表,由审计人员进行人工审计,若判断为正常数据则将该特征值添加至操作命令规则库中,结束;若判断为异常数据则进行告警处理。
操作行为检测时,提取审计数据中的关键数据得到其关联规则,与正常操作行为规则库中的条目进行匹配,若匹配成功,判定该数据为正常行为检测结束;若匹配不成功则提交给审计人员进行人工审计。具体步骤包括:
步骤501:提取审计数据中的用户操作行为关键元素(如:数据库用户名、操作对象表名和数据库操作类型),得到其关联关系即行为特征;
步骤502:将步骤501得到的关联关系与操作行为规则库中关联规则进行匹配,如果匹配成功则视为正常数据,结束;如果匹配失败则至步骤503;
步骤503:提交到待人工审计数据列表,由审计人员进行人工审计,若判断为正常数据则将该关联关系添加至操作行为规则库中,结束;若判断为异常数据则进行告警处理。