专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » 数据库黑客大曝光:数据库系统防黑客入侵技术综述 »正文

数据库黑客大曝光:数据库系统防黑客入侵技术综述

来源: 发布时间:星期三, 2008年12月17日 浏览:2次 评论:0
="t18">  1. 前言

  随着计算机技术飞速发展数据库应用十分广泛深入到各个领域但随的而来产生了数据安全问题各种应用系统数据库中大量数据安全问题、敏感数据防窃取和防篡改问题越来越引起人们高度重视数据库系统作为信息聚集体是计算机信息系统核心部件其安全性至关重要关系到企业兴衰、国家安全因此如何有效地保证数据库系统安全实现数据保密性、完整性和有效性已经成为业界人士探索研究重要课题的本文就安全防入侵技术做简要讨论

  数据库系统安全除依赖自身内部安全机制外还和外部网络环境、应用环境、从业人员素质等原因息息相关因此从广义上讲数据库系统安全框架可以划分为 3个层次:

  ⑴ 网络系统层次;

  ⑵ 宿主操作系统层次;

  ⑶ 数据库管理系统层次

  这 3个层次构筑成数据库系统安全体系和数据安全关系是逐步紧密防范重要性也逐层加强从外到内、由表及里保证数据安全下面就安全框架 3个层次展开论述

  2. 网络系统层次安全技术

  从广义上讲数据库安全首先倚赖于网络系统随着Internet发展普及越来越多公司将其核心业务向互联网转移各种基于网络数据库应用系统如雨后春笋般涌现出来面向网络用户提供各种信息服务可以说网络系统是数据库应用外部环境和基础数据库系统要发挥其强大作用离不开网络系统支持数据库系统用户(如异地用户、分布式用户)也要通过网络才能访问数据库数据网络系统安全是数据库安全道屏障外部入侵首先就是从入侵网络系统开始网络入侵试图破坏信息系统完整性、机密性或可信任任何网络活动集合具有以下特点[1]:

  a)没有地域和时间限制跨越国界攻击就如同在现场样方便;

  b)通过网络攻击往往混杂在大量正常网络活动的中隐蔽性强;

  c)入侵手段更加隐蔽和复杂

  计算机网络系统开放式环境面临威胁主要有以下几种类型[2]:a)欺骗(Masquerade);b)重发(Replay);c)报文修改(Modication of message);d)拒绝服务(Deny of service);e)陷阱门(Trapdoor);f)特洛伊木马(Trojan horse);g)攻击如透纳攻击(Tunneling Attack)、应用软件Software攻击等这些安全威胁是无时、无处不在因此必须采取有效措施来保障系统安全

  从技术角度讲网络系统层次安全防范技术有很多种大致可以分为防火墙、入侵检测、协作式入侵检测技术等

  ⑴防火墙防火墙是应用最广种防范技术作为系统道防线其主要作用是监控可信任网络和不可信任网络的间访问通道可在内部和外部网络的间形成道防护屏障拦截来自外部非法访问并阻止内部信息外泄但它无法阻拦来自网络内部非法操作它根据事先设定规则来确定是否拦截信息流进出但无法动态识别或自适应地调整规则因而其智能化程度很有限防火墙技术主要有 3种:数据包过滤器(packet filter)、代理(proxy)和状态分析(stateful inspection)现代防火墙产品通常混合使用这几种技术

  ⑵入侵检测入侵检测(IDS-- Instrusion Detection )是近年来发展起来种防范技术综合采用了统计技术、规则思路方法、网络通信技术、人工智能、密码学、推理等技术和思路方法其作用是监控网络和计算机系统是否出现被入侵或滥用征兆1987年Derothy Denning首次提出了种检测入侵思想经过不断发展和完善作为监控和识别攻击标准解决方案IDS系统已经成为安全防御系统重要组成部分

  入侵检测采用分析技术可分为 3大类:签名、统计和数据完整性分析法

  ①签名分析法主要用来监测对系统已知弱点进行攻击行为人们从攻击模式中归纳出它签名编写到IDS系统代码里签名分析实际上是种模板匹配操作

  ②统计分析法以统计学为理论基础以系统正常使用情况下观察到动作模式为依据来判别某个动作是否偏离了正常轨道

  ③数据完整性分析法以密码学为理论基础可以查证文件或者对象是否被别人修改过

  IDS种类包括基于网络和基于主机入侵监测系统、基于特征和基于非正常入侵监测系统、实时和非实时入侵监测系统等[1]

  ⑶协作式入侵监测技术

  独立入侵监测系统不能够对广泛发生各种入侵活动都做出有效监测和反应为了弥补独立运作不足人们提出了协作式入侵监测系统想法在协作式入侵监测系统中IDS基于种统规范标准入侵监测组件的间自动地交换信息并且通过信息交换得到了对入侵有效监测可以应用于区别网络环境[3]

  3. 宿主操作系统层次安全技术

  操作系统是大型数据库系统运行平台为数据库系统提供定程度安全保护目前操作系统平台大多数集中在Windows NT 和Unix安全级别通常为C1、C2级主要安全技术有操作系统安全策略、安全管理策略、数据安全等方面

  操作系统安全策略用于配置本地计算机安全设置包括密码策略、账户锁定策略、审核策略、IP安全策略、用户权利指派、加密数据恢复代理以及其它安全选项[7]具体可以体现在用户账户、口令、访问权限、审计等方面

  用户账户:用户访问系统"身份证"只有合法用户才有账户

  口令:用户口令为用户访问系统提供道验证

  访问权限:规定用户权限

  审计:对用户行为进行跟踪和记录便于系统管理员分析系统访问情况以及事后追查使用

  安全管理策略是指网络管理员对系统实施安全管理所采取思路方法及策略针对区别操作系统、网络环境需要采取安全管理策略般也不尽相同其核心是保证服务器安全和分配好各类用户权限

  数据安全主要体现在以下几个方面:数据加密技术、数据备份、数据存储安全性、数据传输安全性等可以采用技术很多主要有Kerberos认证、IPSec、SSL、TLS、VPN(PPTP、L2TP)等技术

  4. 数据库管理系统层次安全技术

  数据库系统安全性很大程度上依赖于数据库管理系统如果数据库管理系统安全机制非常强大则数据库系统安全性能就较好目前市场上流行是关系式数据库管理系统其安全性功能很弱这就导致数据库系统安全性存在威胁

  由于数据库系统在操作系统下都是以文件形式进行管理因此入侵者可以直接利用操作系统漏洞窃取数据库文件或者直接利用OS工具来非法伪造、篡改数据库文件内容这种隐患般数据库用户难以察觉分析和堵塞这种漏洞被认为是B2级安全技术措施[4]

  数据库管理系统层次安全技术主要是用来解决这问题即当前面两个层次已经被突破情况下仍能保障数据库数据安全这就要求数据库管理系统必须有套强有力安全机制解决这问题有效思路方法的是数据库管理系统对数据库文件进行加密处理使得即使数据不幸泄露或者丢失也难以被人破译和阅读

  我们可以考虑在 3个区别层次实现对数据库数据加密这 3个层次分别是OS层、DBMS内核层和DBMS外层

  ⑴在OS层加密在OS层无法辨认数据库文件中数据关系从而无法产生合理密钥对密钥合理管理和使用也很难所以对大型数据库来说在OS层对数据库文件进行加密很难实现

  ⑵在DBMS内核层实现加密这种加密是指数据在物理存取的前完成加/脱密工作这种加密方式优点是加密功能强并且加密功能几乎不会影响DBMS功能可以实现加密功能和数据库管理系统的间无缝耦合其缺点是加密运算在服务器端进行加重了服务器负载而且DBMS和加密器的间接口需要DBMS开发商支持

  定义加密要求工具

  DBMS

  数据库应用系统

  加密器

  (软件Software或硬件)

  ⑶在DBMS外层实现加密比较实际做法是将数据库加密系统做成DBMS个外层工具根据加密要求自动完成对数据库数据加/脱密处理:

  定义加密要求工具加密器

  (软件Software或硬件)

  DBMS

  数据库应用系统

  采用这种加密方式进行加密加/脱密运算可在客户端进行优点是不会加重数据库服务器负载并且可以实现网上传输加密缺点是加密功能会受到些限制和数据库管理系统的间耦合性稍差

  下面我们进步解释在DBMS外层实现加密功能原理:

  数据库加密系统分成两个功能独立主要部件:个是加密字典管理个是数据库加/脱密引擎数据库加密系统将用户对数据库信息具体加密要求以及基础信息保存在加密字典中通过数据加/脱密引擎实现对数据库表加密、脱密及数据转换等功能数据库信息加/脱密处理是在后台完成对数据库服务器是透明

  加密字典管理

  加密系统

  应用

  数据库加脱密引擎

  数据库服务器

  加密字典

  用户数据

  按以上方式实现数据库加密系统具有很多优点:首先系统对数据库最终用户是完全透明管理员可以根据需要进行明文和密文转换工作;其次加密系统完全独立于数据库应用系统无须改动数据库应用系统就能实现数据加密功能;第 3加解密处理在客户端进行不会影响数据库服务器效率

  数据库加/脱密引擎是数据库加密系统核心部件它位于应用和数据库服务器的间负责在后台完成数据库信息加/脱密处理对应用开发人员和操作人员来说是透明数据加/脱密引擎没有操作界面在需要时由操作系统自动加载并驻留在内存中通过内部接口和加密字典管理和用户应用通讯数据库加/脱密引擎由 3大模块组成:加/脱密处理模块、用户接口模块和数据库接口模块如图4所示其中"数据库接口模块"主要工作是接受用户操作请求并传递给"加/脱密处理模块"此外还要代替"加/脱密处理模块"去访问数据库服务器并完成外部接口参数和加/脱密引擎内部数据结构的间转换"加/脱密处理模块"完成数据库加/脱密引擎化、内部专用命令处理、加密字典信息检索、加密字典缓冲区管理、SQL命令加密变换、查询结果脱密处理以及加脱密算法实现等功能另外还包括些公用辅助

  数据加/脱密处理主要流程如下:

  1) 对SQL命令进行语法分析如果语法正确转下步;如不正确则转6)直接将SQL命令交数据库服务器处理

  2) 是否为数据库加/脱密引擎内部控制命令?如果是则处理内部控制命令然后转7);如果不是则转下

  3) 检查数据库加/脱密引擎是否处于关闭状态或SQL命令是否只需要编译?如果是则转6)否则转下

  4) 检索加密字典根据加密定义对SQL命令进行加脱密语义分析

  5) SQL命令是否需要加密处理?如果是则将SQL命令进行加密变换替换原SQL命令然后转下步;否则直接转下

  6) 将SQL命令转送数据库服务器处理

  7) SQL命令执行完毕清除SQL命令缓冲区

  以上以个例子介绍说明了在DBMS外层实现加密功能原理

  5. 结束语

  本文对数据库系统安全防入侵技术进行综述提出了数据库系统安全体系 3个层次框架并对 3个层次技术手段展开描述文中还以在DBMS外层实现加密功能原理为例详细介绍说明了如何应用数据库管理系统层次安全技术

  数据库系统安全框架 3个层次是相辅相承各层次防范重点和所采取技术手段也不尽相同个好安全系统必须综合考虑核运用这些技术以保证数据安全

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: