一种业务行为异常检测方法和系统的制作方法

文档序号:7700477
专利名称:一种业务行为异常检测方法和系统的制作方法
技术领域
本发明涉及信息安全领域,尤其涉及一种业务行为异常检测方法和系统。
背景技术
随着信息技术的发展,以数据库服务器为核心,面向互联网的业务系统得到了日 益广泛的应用,如网上银行系统、电子订票系统等。由于数据库服务器中存储了业务系统的 关键数据,又与整个业务流程密切相关,保障数据库服务器的信息安全尤为重要。为了更好 地对数据库服务器实施保护,网络安全审计设备得到了广泛的应用。它能够实时监测和记 录用户对服务器的访问信息,一旦发现有违规的访问行为(例如未经认证的访问、越权访 问),即可对违规行为进行阻断。虽然利用安全审计设备能够对违反业务流程的行为进行及时检测和阻断,但在实 际应用中却存在大量在业务流程上并不违规、实际上仍然给业务系统带来破坏的攻击行 为。例如在某业务系统中,曾经出现过内部人员盗用其他人员的账号信息登录业务系统,多 次修改数据库中的记录进行牟利的信息安全事件。由于这种攻击方式的实施过程完全符合 业务流程,现有的安全审计产品无法检测出来并进行报警或阻断。目前的现有技术中,有的解决方案是根据安全配置规则对数据库访问记录进行分 析,将数据库访问记录以报警/非报警分类。该方案能够对部分业务行为异常进行检测,但 却存在以下不足首先,依靠管理人员制定一套完整的安全配置规则过于繁琐,一旦出现规 则未包含的攻击行为,将会导致对该类攻击行为的漏报;其次,某些攻击行为无法从一次或 几次数据库访问行为记录中发现,例如针对某条访问记录在24小时内的修改频率,对于该 类攻击行为就无法制定合理的安全配置规则,通过对一条或几条数据库访问记录的分析进 行检测。

发明内容
本发明所要解决的技术问题是在于需要提供一种业务行为异常检测系统及方法, 用于根据安全审计设备的审计记录,检测在业务流程上并不违规、实际上仍然给业务系统 带来破坏的攻击行为。为了解决上述问题,本发明提供了一种业务行为异常检测方法,包括根据安全审计设备当前检测点之前的历史审计记录,建立用户访问业务系统的正 常行为模型;对安全审计设备的实时审计记录进行分析,与所述正常行为模型进行比较,判断 用户访问业务系统的行为是否异常。进一步地,上述方法还可具有以下特点,所述建立用户访问业务系统的正常行为 模型的步骤,包括设定监控对象及其相应的监控类型;设定自学习阶段的起止时间;
对设定的起止时间内的历史审计记录进行自学习,根据监控对象其相应的监控类 型对该监控对象的信息进行统计,从而建立正常行为模型。进一步地,上述方法还可具有以下特点,设定监控对象时,设定需要监控的数据库表名,以及相应的操作类型和字段名;设 定监控类型为取值范围和/或出现频率;对设定的起止时间内的历史审计记录进行学习时,对历史审计记录进行解析,提 取数据库表名、操作类型、字段名和操作值;判断所述历史审计记录是否包含设定的监控对象,对于包含所述监控对象的所述 历史审计记录,根据监控对象其相应的监控类型对该监控对象的操作值进行统计,如果该 监控对象相应的监控类型为出现频率,则计算指定时间内其指定操作值的平均出现频率; 如果该监控对象相应的监控类型为取值范围,计算其操作值的均值和方差。进一步地,上述方法还可具有以下特点,如果监控对象的字段名为字符型,只允许 设定监控类型为出现频率;如果监控对象的字段名为数值型,则设定监控类型为取值范围 和/或出现频率。进一步地,上述方法还可具有以下特点,所述对安全审计设备获取的当前审计记 录进行分析,与所述正常行为模型进行比较,判断用户访问业务系统的行为是否异常具体 包括对实时审计记录进行解析,提取数据库表名、操作类型、字段名和操作值,判断所 述实时审计记录是否包含设定的监控对象;对于包含所述监控对象的所述实时审计记录,根据监控对象相应的监控类型对监 控对象的操作值进行处理,判断是否偏离了正常行为模型,如果偏离,则用户访问业务系统 的行为异常;其中,所述判断是否偏离了正常行为模型是指,当所述监控对象相应的监控类型 为出现频率时,则统计所述监控对象在指定时间的出现频率,比较监控对象其指定操作值 的出现频率与正常行为模型的偏离程度是否超过了设定阈值;当所述监控对象的监控类型 为取值范围时,则比较所述监控对象的操作值,与正常行为模型的偏离程度是否超过了设 定阈值。本发明还提出一种业务行为异常检测系统,包括存储模块,用于存储所述安全审计设备的审计记录,包括当前观测点的实时审计 记录,以及所述当前检测点之前的历史审计记录;模型建立模块,与所述存储模块和评估模块相连,根据所述历史审计记录,建立用 户访问业务系统的正常行为模型;评估模块,与所述存储模块和模型建立模块相连,用于对所述安全审计设备的实 时审计记录进行分析,与所述正常行为模型进行比较,判断用户访问业务系统的行为是否异常。进一步地,上述系统还可具有以下特点,所述系统还包括设置模块,与所述模型建立模块及评估模块相连,用于设定监控对象和监控类型; 还用于设定自学习阶段的起止时间;所述模型建立模块,用于根据设置模块设定的起止时间内的历史审计记录进行自学习,根据监控对象其相应的监控类型对该监控对象的信息进行统计,从而建立正常行为 模型。进一步地,上述系统还可具有以下特点,所述设置模块,设定监控对象时,设定需要监控的数据库表名,以及相应的操作类 型和字段名,还设定监控类型为取值范围和/或出现频率; 所述模型建立模块包括解析单元和统计单元解析单元,对设定的起止时间内的历史审计记录进行学习时,对历史审计记录进 行解析,提取数据库表名、操作类型、字段名和操作值,判断所述历史审计记录是否包含设 定的监控对象;统计单元,用于对包含所述监控对象的所述历史审计记录,根据监控对象其相应 的监控类型对该监控对象的信息进行统计时,如果该监控对象相应的监控类型为出现频 率,则计算指定时间内其指定操作值的平均出现频率;如果该监控对象相应的监控类型为 取值范围,计算其操作值的均值和方差。进一步地,上述系统还可具有以下特点,所述设置模块设定监控类型时,如果监控 对象的字段名为字符型,只允许设定监控类型为出现频率;如果监控对象的字段名为数值 型,则设定监控类型为取值范围和/或出现频率。进一步地,上述系统还可具有以下特点,所述评估模块包括解析单元,用于对实时审计记录进行解析,提取数据库表名、操作类型、字段名和 操作值,判断所述实时审计记录是否包含设定的监控对象;判断单元,用于对包含所述监控对象的所述实时审计记录,根据监控对象相应的 监控类型对监控对象的信息进行处理,判断是否偏离了正常行为模型,如果偏离,则用户访 问业务系统的行为异常;其中,所述判断是否偏离了正常行为模型是指,当所述监控对象相应的监控类型 为出现频率时,则统计所述监控对象在指定时间的出现频率,比较监控对象的出现频率与 正常行为模型的偏离程度是否超过了设定阈值;当所述监控对象的监控类型为取值范围 时,则比较所述监控对象的操作值,与正常行为模型的偏离程度是否超过了设定阈值。本发明提出的业务行为异常检测系统及方法,能够根据安全审计设备的审计记 录,检测在业务流程上并不违规、实际上仍然给业务系统带来破坏的攻击行为。与现有技术 相比,本发明通过自学习的方式建立用户访问业务系统的正常行为模型,避免了依赖管理 人员设定安全配置规则的繁琐过程,也更能反映业务系统的真实情况。本发明通过设定监 控类型,既能对出现频率型的异常进行检测,又能对取值范围型的异常进行检测,使得对于 无法通过设置简单的安全配置规则进行检测的业务异常也能进行准确检测。


图1为本发明中业务行为异常检测方法实施例的流程示意图。图2为本发明中业务行为异常检测系统实施例组成示意图。
具体实施例方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。图1为本发明中业务行为异常检测方法实施例的流程示意图。如图1所示,该方 法实施例主要包括如下步骤步骤S110,存储安全审计设备的审计记录,包括当前观测点的实时审计记录,以及 当前观测点之前的历史审计记录;步骤S120,设定需要进行监控的监控对象,以及监控对象相应的监控类型;监控对象包括数据库表名,以及相应的操作类型、字段名;监控类型为取值范围和/或出现频率,如果监控对象的字段名为字符型,只允许 监控出现频率;如果监控对象的字段名为数值型,可以选择监控取值范围和/或出现频率;步骤S130,通过对安全审计设备的历史审计记录进行学习,建立用户访问业务系 统的正常行为模型;具体建立方法为设定自学习阶段的起止时间;根据设定的监控类型,对设定起止时间内的历史审计记录进行学习;对历史审计 记录进行SQL语句解析,提取数据库表名、操作类型、字段名、操作值;判断所述历史审计记录是否包含设定的监控对象;具体判断方法是将数据库表名、操作类型和字段名与监控对象进行比较,如果相 同,则历史审计记录中包含所述监控对象。对于包含所述监控对象的所述历史审计记录,根据监控对象其相应的监控类型对 该监控对象的信息进行统计,建立正常行为模型,其中如果监控对象的监控类型为出现频率,则计算其指定时间(比如24小时,也可为 其他指定时间,本发明对此不作限定)内其指定操作值的平均出现频率;如果监控对象的 监控类型为取值范围,则计算其每次操作值的均值和方差。步骤S140,对安全审计设备的实时审计记录进行分析,与正常行为模型进行比较, 判断用户访问业务系统的行为是否异常,具体包括对实时审计记录进行SQL语句解析,提取数据库表名、操作类型、字段名和操作 值;判断所述实时审计记录是否包含设定的监控对象;具体判断方法是将数据库表名、操作类型和字段名与监控对象进行比较,如果相 同,则历史审计记录中包含所述监控对象。对于包含所述监控对象的所述实时审计记录,根据监控对象相应的监控类型对监 控对象的信息进行处理,判断是否偏离了正常行为模型,即评估对监控对象的操作是否偏 离了正常行为模型;如果偏离,则用户访问业务系统的行为异常;其中,判断是否偏离了正常行为模型具体是指,如果是对监控对象的出现频率进 行监控(即监控对象相应的监控类型为出现频率),则比较所述监控对象在指定时间内的 出现频率,与正常行为模型的偏离程度是否超过了设定阈值;如果是对监控对象的取值范 围进行监控(即监控对象相应的监控类型为取值范围),则比较所述监控对象的操作值,与 正常行为模型的偏离程度是否超过了设定阈值。步骤S150,如果检测出用户访问业务系统的行为异常,对异常进行报警。也可以设置报警条件,在到达报警条件时才进行报警,比如多次异常后才报警。还可以将异常进行记 录,生成异常日志,以进行后续统计管理。需要说明的是,整个评估过程分为两个阶段,自学习阶段和检测阶段。先进行自学 习阶段,通过自学习阶段建立用户访问业务系统的正常行为模型,再利用该正常行为模型 进行业务行为异常的检测,即进行第二个阶段。在自学习阶段完成后,实际应用时的检测过 程,就不需要再进行自学习了,直接利用自学习阶段建立的业务系统的正常行为模型进行 检测即可,不用反复学习并建立正常行为模型。当然由于用户操作行为的变更、用户增加或 减少等,也可以根据需要每隔一段时间更新正常行为模型。以下是业务行为异常检测系统的一个应用实例,借以更清楚地描述本发明的实施 方式。假设用户的某个业务行为中,需要登录到业务系统中修改自己的某项数据。假 设用户Bob的该业务行为,会导致数据库服务器中执行如下的SQL (Structured Query Language,结构化查询语言)语句update userscore set score = 2000 where username = 'Bob,;上述SQL语句中,“userscore”为数据库表名,“socre”、“username”为数据库字 段名,"update"为操作类型,“2000”、“Bob”为操作值。假设管理人员设定的监控对象和监控类型分别为监控对象1 操作类型“update”,数据库表名“userscore”,数据库字段名 “username”,监控类型出现频率。监控对象2 操作类型“update”,数据库表名“userscore”,数据库字段名 “socre”,监控类型取值范围。假设设定的自学习阶段的起止时间为2009. 1. 1 0:0:0至2009. 1.31 24:0:0,则
在自学习阶段,所述业务行为异常检测系统将会对该时间段内的历史记录进行学习,计算 监控对象1在24小时内其指定操作值的出现频率的均值和方差,以及监控对象2的操作值 的取值范围的均值和方差。假设自学习阶段得到的业务行为正常模型为监控对象1的均值为10,方差为2 ; 监控对象2的均值为3000,方差为100。其实际意义为用户Bob平均每天使用该业务行为 10次,平均每次的操作值为3000。假设管理人员设定的阈值为用户业务行为与正常模型 的偏差大于2倍方差时进行报警。假设在完成自学习后,所述业务行为异常检测系统检测到一次业务行为,导致数 据库服务器中执行如下的SQL语句update userscore set score = 4000 where username = 'Bob,;通过对该SQL语句进行SQL解析,可以发现该行为包含了设定的监控对象1和监 控对象2。假设进一步的检测发现,监控对象1中,“Bob”在24小时的出现频率已经达到了 12次。由于与正常模型的偏差为2,而2倍方差值为2X2 = 4,因此监控对象1未偏离正常 模型。对于监控对象2,其取值为4000,与正常模型的偏差为1000,而2倍方差值为 100X2 = 200,因此监控对象2偏离了正常模型,所述业务行为异常检测系统将会对该次行 为进行报警。
图2为本发明中业务行为异常检测系统一实施例组成示意图。如图2所示,该业 务行为异常检测系统包括存储模块210、设置模块220、模型建立模块230及评估模块240, 其中存储模块210,与所述模型建立模块230及评估模块240相连,用于存储所述安全 审计设备的审计记录,包括当前观测点的实时审计记录,以及所述当前检测点之前的历史 审计记录;设置模块220,与所述模型建立模块230及评估模块240相连,设定监控对象,包括 但不限于数据库表名、操作类型、字段名;设定监控类型;还用于设定自学习阶段的起止 时间;设定监控对象时,设定需要监控的数据库表名,以及相应的操作类型和字段名,还设 定监控类型为取值范围和/或出现频率;如果监控对象的字段名为字符型,只允许设定监 控类型为出现频率;如果监控对象的字段名为数值型,则设定监控类型为取值范围和/或 出现频率;模型建立模块230,与所述存储模块210、设置模块220及评估模块240相连,根 据所述历史审计记录及设定的监控对象进行自学习,建立用户访问业务系统的正常行为模 型;具体地,根据设置模块设定的起止时间内的历史审计记录进行自学习,根据监控对象其 相应的监控类型对该监控对象的信息进行统计,从而建立正常行为模型。评估模块240,与所述存储模块210、设置模块220及模型建立模块230相连,用于 对所述安全审计设备的实时审计记录进行分析,与所述正常行为模型进行比较,判断用户 访问业务系统的行为是否异常,即判断对监控对象的操作是否偏离了正常行为模型,如果 异常时进行报警。进一步地,所述模型建立模块230包括解析单元和统计单元解析单元,对设定的起止时间内的历史审计记录进行学习时,对历史审计记录进 行解析,提取数据库表名、操作类型、字段名和操作值,判断所述历史审计记录是否包含设 定的监控对象;统计单元,用于对包含所述监控对象的所述历史审计记录,根据监控对象其相应 的监控类型对该监控对象的信息进行统计时,如果该监控对象相应的监控类型为出现频 率,则计算指定时间内其指定操作值的平均出现频率;如果该监控对象相应的监控类型为 取值范围,计算其操作值的均值和方差。进一步地,所述评估模块240包括解析单元,用于对实时审计记录进行解析,提取数据库表名、操作类型、字段名和 操作值,判断所述实时审计记录是否包含设定的监控对象;判断单元,用于对包含所述监控对象的所述实时审计记录,根据监控对象相应的 监控类型对监控对象的信息进行处理,判断是否偏离了正常行为模型,如果偏离,则用户访 问业务系统的行为异常;其中,所述判断是否偏离了正常行为模型是指,当所述监控对象相应的监控类型 为出现频率时,则统计所述监控对象在指定时间的出现频率,比较监控对象的出现频率与 正常行为模型的偏离程度是否超过了设定阈值;当所述监控对象的监控类型为取值范围 时,则比较所述监控对象的操作值,与正常行为模型的偏离程度是否超过了设定阈值。虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本 发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化, 但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
权利要求
一种业务行为异常检测方法,其特征在于,包括根据安全审计设备当前检测点之前的历史审计记录,建立用户访问业务系统的正常行为模型;对安全审计设备的实时审计记录进行分析,与所述正常行为模型进行比较,判断用户访问业务系统的行为是否异常。
2.如权利要求1所述的方法,其特征在于,所述建立用户访问业务系统的正常行为模 型的步骤,包括设定监控对象及其相应的监控类型;设定自学习阶段的起止时间;对设定的起止时间内的历史审计记录进行自学习,根据监控对象其相应的监控类型对 该监控对象的信息进行统计,从而建立正常行为模型。
3.如权利要求2所述的方法,其特征在于,设定监控对象时,设定需要监控的数据库表名,以及相应的操作类型和字段名;设定监 控类型为取值范围和/或出现频率;对设定的起止时间内的历史审计记录进行学习时,对历史审计记录进行解析,提取数 据库表名、操作类型、字段名和操作值;判断所述历史审计记录是否包含设定的监控对象,对于包含所述监控对象的所述历史 审计记录,根据监控对象其相应的监控类型对该监控对象的操作值进行统计,如果该监控 对象相应的监控类型为出现频率,则计算指定时间内其指定操作值的平均出现频率;如果 该监控对象相应的监控类型为取值范围,计算其操作值的均值和方差。
4.如权利要求3所述的方法,其特征在于,如果监控对象的字段名为字符型,只允许设 定监控类型为出现频率;如果监控对象的字段名为数值型,则设定监控类型为取值范围和 /或出现频率。
5.如权利要求3或4所述的方法,其特征在于,所述对安全审计设备获取的当前审计记 录进行分析,与所述正常行为模型进行比较,判断用户访问业务系统的行为是否异常具体 包括对实时审计记录进行解析,提取数据库表名、操作类型、字段名和操作值,判断所述实 时审计记录是否包含设定的监控对象;对于包含所述监控对象的所述实时审计记录,根据监控对象相应的监控类型对监控对 象的操作值进行处理,判断是否偏离了正常行为模型,如果偏离,则用户访问业务系统的行 为异常;其中,所述判断是否偏离了正常行为模型是指,当所述监控对象相应的监控类型为出 现频率时,则统计所述监控对象在指定时间的出现频率,比较监控对象其指定操作值的出 现频率与正常行为模型的偏离程度是否超过了设定阈值;当所述监控对象的监控类型为取 值范围时,则比较所述监控对象的操作值,与正常行为模型的偏离程度是否超过了设定阈值。
6.一种业务行为异常检测系统,其特征在于,包括存储模块,用于存储所述安全审计设备的审计记录,包括当前观测点的实时审计记录, 以及所述当前检测点之前的历史审计记录;2模型建立模块,与所述存储模块和评估模块相连,根据所述历史审计记录,建立用户访 问业务系统的正常行为模型;评估模块,与所述存储模块和模型建立模块相连,用于对所述安全审计设备的实时审 计记录进行分析,与所述正常行为模型进行比较,判断用户访问业务系统的行为是否异常。
7.如权利要求6所述的系统,其特征在于,所述系统还包括设置模块,与所述模型建立模块及评估模块相连,用于设定监控对象和监控类型;还用 于设定自学习阶段的起止时间;所述模型建立模块,用于根据设置模块设定的起止时间内的历史审计记录进行自学 习,根据监控对象其相应的监控类型对该监控对象的信息进行统计,从而建立正常行为模 型。
8.如权利要求7所述的系统,其特征在于,所述设置模块,设定监控对象时,设定需要监控的数据库表名,以及相应的操作类型和 字段名,还设定监控类型为取值范围和/或出现频率;所述模型建立模块包括解析单元和统计单元解析单元,对设定的起止时间内的历史审计记录进行学习时,对历史审计记录进行解 析,提取数据库表名、操作类型、字段名和操作值,判断所述历史审计记录是否包含设定的 监控对象;统计单元,用于对包含所述监控对象的所述历史审计记录,根据监控对象其相应的监 控类型对该监控对象的信息进行统计时,如果该监控对象相应的监控类型为出现频率,则 计算指定时间内其指定操作值的平均出现频率;如果该监控对象相应的监控类型为取值范 围,计算其操作值的均值和方差。
9.如权利要求8所述的系统,其特征在于,所述设置模块设定监控类型时,如果监控对 象的字段名为字符型,只允许设定监控类型为出现频率;如果监控对象的字段名为数值型, 则设定监控类型为取值范围和/或出现频率。
10.如权利要求8或9所述的系统,其特征在于,所述评估模块包括解析单元,用于对实时审计记录进行解析,提取数据库表名、操作类型、字段名和操作 值,判断所述实时审计记录是否包含设定的监控对象;判断单元,用于对包含所述监控对象的所述实时审计记录,根据监控对象相应的监控 类型对监控对象的信息进行处理,判断是否偏离了正常行为模型,如果偏离,则用户访问业 务系统的行为异常;其中,所述判断是否偏离了正常行为模型是指,当所述监控对象相应的监控类型为出 现频率时,则统计所述监控对象在指定时间的出现频率,比较监控对象的出现频率与正常 行为模型的偏离程度是否超过了设定阈值;当所述监控对象的监控类型为取值范围时,则 比较所述监控对象的操作值,与正常行为模型的偏离程度是否超过了设定阈值。
全文摘要
本发明提供了一种业务行为异常检测方法,包括根据安全审计设备当前检测点之前的历史审计记录,建立用户访问业务系统的正常行为模型;对安全审计设备的实时审计记录进行分析,与所述正常行为模型进行比较,判断用户访问业务系统的行为是否异常。本发明还提供了一种业务行为异常检测系统。本发明提出的业务行为异常检测系统及方法,能够根据安全审计设备的审计记录,检测在业务流程上并不违规、实际上仍然给业务系统带来破坏的攻击行为。
文档编号H04L12/24GK101902366SQ20091008503
公开日2010年12月1日 申请日期2009年5月27日 优先权日2009年5月27日
发明者刘晖, 叶润国, 周涛, 姚熙 申请人:北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1