数据库审计都有哪些类型

简介: 【7月更文挑战第25天】数据库审计有旁路型、主机型、代理型、攻击检测。

一个企业的最核心资产莫过于数据,在互联网企业则是更甚。

1、旁路型

旁路审计几乎是传统乙方安全厂商最常见的模式,通过网络设备镜像流量,审计设备解码组包DB流量,并存储分析,通过模型检测和追溯可疑和高危事件。

这样的架构好处在于部署简单,对于业务方和用户来说几乎是透明的,部署过程无需业务方参与。同时对业务几乎无性能损耗,这也是业务方最关注的一点。

2、主机型

旁路型固然有它的优势,但当面对复杂的业务架构的时候就力不从心了。业务被要求敏捷迭代,新架构层出不穷。大型互联网公司业务环境每日大量的变更,以至于想完全梳理清楚其网络架构特别是DB访问模型几乎是不可能的事,至少很难在一个较短的时间内有一个相对静止的架构图。

审计产品尽量靠近DB本身部署,最近的莫过于部署到DB Server主机上,这就是主机型产品的由来。主机型的DB审计产品可以是单个进程也可以是HIDS的某个模块。

3、代理型

在业务架构治理做得较好的公司,他的业务数据读写均有统一的接口,无论业务逻辑多么复杂,其DB流量都是统一的入口,那么在这些接口位置增加DB审计功能是最完美的方案。

这样的架构带来了一个近乎完美的产品形态,有以下诸多优点:

  • 部署:不需要像其他产品一样逐一去网络节点或主机部署,其数据采集和filter功能原生集成在业务架构里。
  • 减少性能开销,基于DB协议的数据旁路,不需要基于网络报文数据的处理,组包等开销。

4、攻击检测

DB审计安全产品主要解决两个问题:1)SQL注入拖库;2)操作违规审计。

对于违规审计没有太多需要讲的,通过对日常的DB请求做好基线学习,超出基线范围之外的则为违规行为。基线学习的维度可以有以下几个:

  • 账户对应的常用DB访问映射。
  • 账户常用的function。
  • 账户+client_ip与tables的映射。
  • 应用与数据字段的映射。
  • 自然时间+频度与裤表的映射。


虽然基线学习主要用于审计,但对于业务相对固定以及安全检测覆盖范围较小的安全系统来说,用于做攻击检测也是够用的。因为攻击行为也是超出基线范围的。

对于业务较多、变更较多的企业,上述方式用于攻击检测显然不适合了,相对于业务的生命周期、变更周期来说基线的学习期过长。

SQL注入攻击通常的检测方式是使用相对固化的字符串特征匹配,而这类检测方式会面临各种变形SQL语句的绕过攻击。事实上无论黑客如何变换攻击负载,它最终要能被DB解析,满足语法要求。那么通过语法解析器的还原,任何的伪装均会褪去。

语法解析之后的语句就需要定义辨别是否恶意的请求了,诸如以下几种场景:

  • 有多个子查询、联合查询且查询系统库表。
  • 可能导致SQL查询失败的语句。
  • 多个联合查询,且子查询非业务所需库表。
相关文章
|
4月前
|
存储 安全 数据库
数据库的索引都有哪些类型?如何选择?
【8月更文挑战第17天】数据库的索引都有哪些类型?如何选择?
196 0
|
2月前
|
存储 移动开发 数据库
HTML5 Web IndexedDB 数据库常用数据存储类型
IndexedDB 支持多种数据存储类型,满足复杂数据结构的存储需求。它包括基本数据类型(如 Number、String、Boolean、Date)、对象(简单和嵌套对象)、数组、Blob(用于二进制数据如图像和视频)、ArrayBuffer 和 Typed Arrays(处理二进制数据)、结构化克隆(支持 Map 和 Set 等复杂对象),以及 JSON 数据。尽管不直接支持非序列化数据(如函数和 DOM 节点),但可以通过转换实现存储。开发者应根据具体需求选择合适的数据类型,以优化性能和使用体验。
|
4月前
|
SQL 数据挖掘 数据库
数据库join类型有哪些?
【8月更文挑战第2天】
170 17
数据库join类型有哪些?
|
4月前
|
数据采集 DataWorks 安全
DataWorks产品使用合集之如何判断数据库类型是否支持整库
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
4月前
|
数据采集 前端开发 算法
基于朴素贝叶斯算法的新闻类型预测,django框架开发,前端bootstrap,有爬虫有数据库
本文介绍了一个基于Django框架和朴素贝叶斯算法开发的新闻类型预测系统,该系统具备用户登录注册、后台管理、数据展示、新闻分类分布分析、新闻数量排名和新闻标题预测等功能,旨在提高新闻处理效率和个性化推荐服务。
|
4月前
|
SQL 存储 数据库
|
4月前
|
SQL 存储 NoSQL
从SQL到NoSQL:理解不同数据库类型的选择与应用——深入比较数据模型、扩展性、查询语言、一致性和适用场景,为数据存储提供全面决策指南
【8月更文挑战第31天】在信息技术飞速发展的今天,数据库的选择至关重要。传统的SQL数据库因其稳定的事务性和强大的查询能力被广泛应用,而NoSQL数据库则凭借其灵活性和水平扩展性受到关注。本文对比了两种数据库类型的特点,帮助开发者根据应用场景做出合理选择。SQL数据库遵循关系模型,适合处理结构化数据和复杂查询;NoSQL数据库支持多种数据模型,适用于非结构化或半结构化数据。SQL数据库在一致性方面表现优异,但扩展性较差;NoSQL数据库则设计之初便考虑了水平扩展性。SQL使用成熟的SQL语言,NoSQL的查询语言更为灵活。
104 0
|
5月前
|
存储 Oracle 关系型数据库
关系型数据库Oracle备份类型与频率
【7月更文挑战第21天】
100 6
|
4月前
|
存储 Kubernetes NoSQL
在K8S中,etcd是什么类型数据库?
在K8S中,etcd是什么类型数据库?