新型和增强的Guardium离群值检测

过多的信息

一家大型零售商臭名昭著的2013年数据泄露事件表明,其监控软件发出的安全警报通常被忽略,或者至少被认为不值得进一步调查。 这不足为奇。 安全分析人员遭到误报,没有任何相对风险的迹象,因此无法对分析进行优先排序。

攻击者进入网络内部后,更糟糕的是,他们通常能够窃取其他凭据并获得对组织数据库服务器中驻留的“皇冠上的宝石”的不受限制的访问权限。 然后,攻击者可以花费自己的时间,并在很长一段时间内执行此操作,而不会被发现。 同样,在应用程序特权下发生SQL注入攻击也可能能够在正常状态下伪装访问敏感数据。

本文介绍了一种通过增强智能来扩展传统数据库监视的方法,以帮助您了解基于行为相对变化的风险。

V10.1.2中的增强功能摘要

自从本文的早期版本首次发布以来,离群值检测有了许多新的增强功能。 总之,这些更改包括:

  • 现在每小时学习一次(以前称为培训)。
  • 新的更详细的异常原因指标。
  • 现在可以在聚合器上运行异常值挖掘,而不仅仅是收集器,这使您可以更广泛地了解潜在的异常值威胁。
  • 支持文件活动监视。
  • 新的异常值挖掘状态屏幕可帮助您确定异常值是否已配置并正确运行。
  • 在10.1.2之前,“数量”是指活动(或错误)的数量。 现在的数量是受活动影响的记录数或发生的错误数。
  • 受影响的记录数来自Guardium收集的数据。 (要求您启用受检查引擎配置影响的记录。
  • 异常检测功能已经过修订,并导致API发生了变化。 如果您使用的是V10.1.2之前的离群值检测版本,请参阅本文的旧版本。

上一篇文章的此版本已更新,以反映这些更改。

离群值检测如何提供帮助:方案

例如,如果观察到乔DBA所访问的表比过去多得多,则可能是随着时间的推移他正在缓慢下载少量数据。 如果应用程序产生SQL错误数量超过过去,则可能正在发生SQL注入攻击。

考虑一个有效的银行转账交易,该交易可以转换为数十或数百个SQL语句,以确保进行正确的验证和授权,获取帐号,计算余额明细等。 攻击者或恶意内部人员很可能会访问大量记录,而正常的应用程序活动只会影响少量记录。 Guardium离群检测确实会查看受影响的记录数,以确定高于正常量。

心怀不满的DBA决定将整个联系人列表提取为CSV文件或他们可以随身携带的其他格式,或者将所有敏感数据转储到数据库中。 离群值检测算法可以检测到对该特定源的访问来自不应从操作数据中提取的DBA。 随着用户绕过访问控制机制并尝试学习所需的结构和特权,异常(错误)也可能会增加。 在时间窗口内通过下载创建的卷也可能是例外。 这些事件中的任何一个或全部都可能触发异常值指示。

DBA尝试将一些错误代码放入存储过程中,这些代码在消失后将证明需要的代码数量“增加”。 该算法可以识别出异常数量的错误,因为不应假定DBA访问存储过程对象。 它还可以检测是否临时授予了DBA特权以入侵存储过程。

离群值检测如何工作

IBM Guardium数据活动监视和文件活动监视包括高级的机器学习算法,可帮助及早发现操作过程中可能发生的攻击。 该算法自动建模用户活动的正常模式,而无需任何监督。 也就是说,它主要基于无监督学习技术。

出于安全和合规性原因,异常检测算法使用正常收集的数据。 如果尚未通过Guardium安全策略对数据进行审核,那么Guardium将无法对其进行分析。

请参阅图1,以快速了解Guardium在其正常运行期间如何收集审核数据。

图1. Guardium如何收集和记录数据库事件数据
下面的文字描述了图中的流程
  1. 数据库用户登录并输入数据库命令。
  2. 数据库服务器上的Guardium软件分接头(S-TAP)捕获活动,并将副本发送到Guardium收集器,该收集器是经过加固的硬件或软件设备。
  3. 收集器上的分析引擎解析该命令,并将其分解为组成部分以进行报告或其他分析。 记录的活动包括用户,他们发出命令的时间,他们从(客户端IP)登录的位置,他们使用了什么源程序(例如JDBC),他们访问了哪个数据库服务器以及访问了什么数据。

离群值检测对审计数据的子集进行操作,该子集定期从收集的审计数据中透明地提取到单独的数据集市中。 此提取每小时进行一次。 离群值检测有两个过程:学习和分析。

完成初始学习后,将激活分析。 通过分析,将新活动与代表正常行为的现有模型进行比较。 为超出已建立的模型规范的事件分配异常分数和该分数的原因。

下一节将更详细地介绍学习和分析过程。

学习

通过学习,既有创建初始模型的初始学习期,又有进行中的学习,后者根据新信息精炼模型。 学习检查用户活动的以下方面:

  • 谁:数据库用户和操作系统用户。 对于文件活动监视,这是OS用户
  • 内容:对象–表,存储过程,视图或同义词–以及动词,例如选择,更新,删除或插入。 对于文件,对象是文件名,动词是file命令。
  • 时间:静态确定的工作时间(上午9点至下午5点)以及周末(星期六和星期日)和下班时间。 (工作时间可以自定义。)
  • 其中:源程序,数据库名称和数据库服务器。 对于文件活动监视,这是文件服务器。
  • 多少:执行了多少动作? 有多少记录受到影响? (请注意,只有启用了“受影响的日志记录”检查引擎配置,受影响的记录才可用。)

从上述每个方面的角度对活动和用户(角色)的正常行为进行建模。

下面的图2显示了说明学习过程的示意图。

图2.异常值的学习过程
学习期

初始学习需要7天左右的时间来构建初始模型并生成警报,但是创建改进的模型需要3-4周的学习时间。 学习每小时运行一次,并且每小时更新一次模型。 您可以通过使用Guardium API命令来缩短初始学习时间,但是通常不建议这样做。 由于模型不成熟,您可以预期会有更多的误报。

下面的图3是用户'assange'的每周异常值模型输出以及他对临时表的使用的高度简化表示。 它提供了他在工作时间内使用临时表(18)的平均值和标准差(3)。

图3.每周培训生成了正常行为的增强模型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值