1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第八章 操作系统与数据安全,教学内容:,8.1,、操作系统安全,8.2,、基于,Windows,的操作系统的安全性,8.3,、,UNIX,安全,8.4,、数据库安全,8.5,、数据安全,8.6,、本章小结,学习目标:,1,、了解安全操作系统的设计原则及操作系统安全性比,2,、掌握访问控制的类型,3,、理解,Windows XP,的操作系统的安全性,4,、掌握,Windows,操作系统安全设置,5,、掌握数据库安全及数据安全内容,8.1,、操作系统安全,计算机操作系统是用户与计算机之间的接口。不同的使
2、用者,对操作系统的理解是不一样的。,对于一个普通用户来说,一个操作系统就是能够运行自己应用软件的平台。对于一个软件开发人员来说,操作系统是提供一系列的功能、接口等工具来编写和调试程序的裸机。,对系统管理员而言,操作系统则是一个资源管理者,包括对使用者的管理、,CPU,和存储器等计算机资源的管理、打印机绘图仪等外部设备的管理。,对于网络用户,操作系统应能够提供资源的共享、数据的传输,同时操作系统能够提供对资源的排他访问。,因此,操作系统是一个网络用户实现数据传输和安全保证的计算机环境。网络操作系统。,可以理解为网络用户与计算机网络之间的接口,是专门为网络用户提供操作接口的系统软件。,网络操作系统
3、具有处理机管理、存储管理、设备管理、文件管理、作业管理以及网络管理等功能。处理机、存储、设备、文件、作业的管理只要是操作系统就应该提供这些服务,只是管理的模式有些区别。,网络操作系统的网络管理功能是网络操作系统所特有的。它主要体现在以下几个方面:,1,、支持不同的网络硬件环境。,2,、支持多个服务器,实现服务器之间透明地进行管理信息地传递。,3,、支持多个用户,具备多道程序的处理能力,在多用户环境下支持多用户对网络的使用。,4,、桥接能力:在同一个网络操作系统下,同时支持具有多种不同硬件和低层通信协议的网络工作。,5,、网络管理:支持系统备份、安全性管理、容错和性能控制。,6,、安全性和接入性
4、控制:通过对用户和资源的控制来保证网络的安全性。,7,、用户接口:为用户提供与网络的交互接口,如菜单、命令等手段。,8.1.1,安全操作系统设计原则,一、安全操作系统的设计要求,1,、最小特权。,2,、经济性。,3,、开放系统设计保护机构应该是公开的,只取决于相对少得关键项的安全性。,4,、公用机构少,减少共享所产生的错误。,5,、有效性。,6,、完全协调。,7,、方便性。,二、操作系统实现的安全功能,1,、用户身份识别,2,、存储器保护。,3,、通用目标分配和存取控制。,4,、文件和,I/O,设备控制。,5,、进程通信和同步。,三、安全操作系统的设计,1,、隔离性设计,它是采用一定措施使系统
5、某一部分的问题不影响其它的部分。隔离通过物理、时间、密码和逻辑等方式来实现。,2,、核心设计,3,、安全操作系统的设计环节,它包括用户接口、用户身份认证、验证数据比较和验证数据修改。,8.1.2,访问控制,操作系统的安全访问控制方法主要体现在:,1,、隔离控制,2,、访问控制:它是安全控制的核心。它既包括对设备的存取控制,也包括对文件、数据的存取控制。,存取控制必须解决两个基本问题:,1,、访问控制策略,2,、访问控制机构,访问控制策略是根据系统安全保密需求以及实际可能而提出的一系列安全控制方法和策略,如“最小特权”策略。最常用的是对用户进行授权,如只读或执行,或允许修改等。权限不同,用户所能
6、访问的设备、文件或数据时不同的。,访问控制机构是系统具体实施访问控制策略的硬件、软件或固件。,身份认证通常采用用户登录技术,即,用户标识符(,ID,),口令(,password,),访问控制方式有,自主访问控制、强制访问控制、有限访问控制和共享,/,独占型访问控制。,安全策略的实施原则:安全策略的制定实施也是围绕主体、客体和安全控制规则集三者之间的关系展开的。(,1,)最小特权原则:最小特权原则是指主体执行操作时,按照主体所需权利的最小化原则分配给主体权力。最小特权原则的优点是最大限度地限制了主体实施授权行为,可以避免来自突发事件、错误和未授权用主体的危险。也就是说,为了达到一定目的,主体必须
7、执行一定操作,但他只能做他所被允许做的,其它除外。,(,2,)最小泄漏原则:最小泄漏原则是指主体执行任务时,按照主体所需要知道的信息最小化的原则分配给主体权力。(,3,)多级安全策略:多级安全策略是指主体和客体间的数据流向和权限控制按照安全级别的绝密(,TS,)、秘密(,S,)、机密(,C,)、限制(,RS,)和无级别(,U,)五级来划分。多级安全策略的优点是避免敏感信息的扩散。具有安全级别的信息资源,只有安全级别比他高的主体才能够访问。,一、授权,系统授权的含义是规定系统可以给哪些主体访问客体的特权。,主体指的是人、进程或设备,它可以使信息 在客体间流动。,客体是一种信息实体,不受所依存的系
8、统的 限制。,按照授权,一般可将用户分成四种:,(,1,)超级用户 (,2,)系统用户,(,3,)普通用户 (,4,)低级用户,二、自主访问控制,自主访问控制(,DAC,,,Discretionary Access Control,),基于对主体或主体所属的主体组的识别来限制对客体的访问。自主是指主体能够自主地,(,也可能是间接的,),将访问权或访问权的某个子集授予其它主体。,自主访问控制又称为任意访问控制。,LINUX,,,UNIX,、,WindowsNT,或是,SERVER,版本的操作系统都提供自主访问控制的功能。,任意访问控制对用户提供的这种灵活的数据访问方式,使得,DAC,广泛应用在商
9、业和工业环境中;由于用户可以任意传递权限,那么,没有访问文件,File1,权限的用户,A,就能够从有访问权限的用户,B,那里得到访问权限或是直接获得文件,File1,;,因此,,DAC,模型提供的安全防护还是相对比较低的,不能给系统提供充分的数据保护。,自主访问控制模型的特点是授权的实施主体(,1,、可以授权的主体;,2,、管理授权的客体;,3,、授权组)自主负责赋予和回收其他主体对客体资源的访问权限。,DAC,模型一般采用访问控制矩阵和访问控制列表来存放不同主体的访问控制信息,从而达到对主体访问权限的限制目的。,为实现完备的自主访问控制,由访问控制矩阵提供的信息必须以某种形式保存在系统中。访
10、问控制矩阵中的每行表示一个主体,每列则表示一个受保护的客体。矩阵中的元素表示主体可对客体的访问模式。目前在操作系统中实现的自主访问控制都不是将矩阵整个保存起来,因为那样做效率很低。实际的方法是基于矩阵的行或列来表达访问控制信息。下面介绍基于行的方法。,(一)、基于行的自主访问控制方法是在每个主体上都附加一个该主体可访问的客体的明细表。根据表中信息的不同又可分为,3,种形式。,1,、权力表,(capabilities list),权力就是一把开启客体的钥匙,它决定是否可对客体进行访问以及可进行何种模式的访问,(,读,写,运行,),。一个拥有一定权力的主体可以依一定模式访问客体。权力可以由主体转移
11、给其它进程,有时还可以在一定范围内增减,这取决于它所具有的访问特征。由于权力的转移不受任何策略的限制,并且权力还可以存储在数据文件中,因此,对某个文件的访问权还可能用来访问其它客体。一般来讲,对于一个特定的客体,我们不能确定所有有权访问它的主体,所以,利用权力表不能实现完备的自主访问控制。,2,、前缀表,前缀表包括受保护客体名以及主体对它的访问权。当主体欲访问某客体时,自主访问控制将检查主体的前缀是否具有它所请求的访问权。,3,、口令,(password),每个客体都相应地有一个口令。主体在对客体进行访问前,必须向操作系统提供该客体的口令。如果对每个客体,每个主体都拥有它自己独具的口令,那么这
12、个口令仿佛就是对这个客体的票证,类似于权力表系统。不同之处在于,口令不像权力那样是动态的。大多数利用口令机制实现自主访问控制的系统仅允许对每个客体分配一个口令或者对每个客体的每种访问模式分配一个口令。注意,这个口令与用户识别用的注册口令没有任何关系,不要将两者混淆。如欲使一个用户具有访问某个客体的特权,那只需告之该客体的口令。有些系统中,只有系统管理员才有权分配口令,而有些系统则允许客体的拥有者任意的改变客体口令。一般来讲,一个客体至少要有,2,个口令,一个用于控制读,一个用于控制写。,在确证用户身份时,口令机制是一种比较有效的方法,但对于客体访问控制,口令机制是比较脆弱的。,(二)、基于列的
13、自主访问控制 所谓基于列的访问控制是指按客体附加一份可访问它的主体的明细表。基于列的访问控制可以有两种方式:,1,、保护位,保护位方式不能完备地表达访问控制矩阵。,UNIX,系统采用了此方法。保护位对所有的主 体、主体组(用户、用户组)以及该客体(文件)的拥有者,规定了一个访问模式的集 合。用户组是具有相似特点的用户集合。生成客体的主体称为该客体的拥有者。它对客体的 所有权仅能通过超级用户特权来改变。拥有者(超级用户除外)是唯一能够改变客体保 护位的主体。一个用户可能不只属于一个用户组,但是在某个时刻,一个用户只能属于 一个活动的用户组。用户组及拥有者名都体现在保护位中。,2,、访问控制表,访
14、问控制表可以决定任何一个特定的主体是否可对某一个客体进行访问。,它是利用在客 体上附加一个主体明细表的方法来表示访问控制矩阵的。表中的每一项包括主体的身份 以及对该客体的访问权。,例如,对某文件的存取控制表,可以存放在该文件的文件说明中,通常包含有对此文件的用户的身份,文件主或是用户组,以及文件主或用户组成员 对此文件的访问权限。如果采用用户组或通配符的概念,这一存取控制信息表不会很长。目前,存取控制表方式是自主访问控制实现中,比较好的一种方法。,三、强制访问控制,前面介绍的自主访问控制技术有一个最主要的缺点,就是不能有效地抵抗计算机病毒的攻击。在自主访问控制技术中,某一合法用户可任意运行一段
15、程序来修改该用户拥有的文件访问控制信息,而操作系统无法区别这种修改是用户自己的合法操作还是计算机病毒的非法操作;另外,也没有什么一般的方法能够防止计算机病毒将信息通过共享客体,(,文件、主存等,),从一个进程传送给另一个进程。为此,人们认识到必须采取更强有力的访问控制手段,这就是强制访问控制。,Mandatory Access Control,(强制访问控制,(MAC),)强制访问控制是指系统依照对象或用户的分级机制对资源访问所进行的控制。,在强制访问控制中,系统对主体与客体都分配一个特殊的一般不能更改的安全属性,系统通过比较主体与客体的安全属性来决定一个主体是否能够访问某个客体。用户为某个目
16、的而运行的程序,不能改变它自己及任何其它客体的安全属性,包括该用户自己拥有的客体。强制访问控制还可以阻止某个进程生成共享文件并通过这个共享文件向其它进程传递信息。,应注意到,对于一个计算机网络来讲,某个没有编程能力的系统可能会收到另一个具有编程能力的系统发出的含有计算机病毒的程序。事实上,要确信系统内没有计算机病毒是非常困难的,但通过对所有可进入系统的路径进行详尽的分析,并采取一定的措施,就可以增加计算机病毒攻击的难度,在有些情况下,还可以关闭部分路径。,四、其他访问控制方式,有限访问控制对用户和资源进一步区分,只有授权用户才能访问指定的资源。,共享,/,独占型访问控制把资源分成“共享”和“独
17、占”两种。,“共享”可以使资源为所有用户使用。,“独占”只能被资源所有者使用。,8.1.3,操作系统安全性比较,一、,Windows 98,Windows 98,是一款较老的系统,它也是,Microsoft,最著名的操作系统。以其对硬件强大的管理性和软件兼容性成为单机用户的首选操作系统。因为,Windows 98,在安装的时候支持非常规的“克隆”形式,也是局域网内客户机、办公用机和学生用机的常用系统。由于其自身能够支持的网络服务较少而相对安全。缺点是:稳定性不强,极易出现蓝屏死机。,二、,Windows Me,相当于,Windows 98,系统的升级版,稳定性稍强于,Windows 98,。,
18、三、,Windows 2000,Windows 2000,是一款把“专用的服务器,Windows NT,系统”同“个人操作系统”结合的系统。适用于服务器、客户机。优点是:稳定性强,一般不会出现“蓝屏”死机;,Server,版提供强大的网络功能,可以在上面实现大部分的网络服务;对应用软件的兼容性强于,Windows NT,。缺点是:漏洞太多,安全性不高,因提供较多的网络服务,成为黑客攻击的对象。,四、,Windows XP,Windows XP,保留了,Windows 2000,的稳定性,又融入了更多的个人用户操作特性,是除,Windows 98,系统外,个人用户使用较多的系统之一。优点是:软件
19、兼容性好,其兼容性更优于,Windows 2000,;对硬件的支持比,Windows 98,更卓越,因为是新发布的系统,里面包含了更多新硬件的驱动程序;安全性较高,系统内部集成了网络防火墙;稳定性好,可以和,Windows 2000,媲美,一般不会出现“蓝屏”死机。缺点是:资源占有量大,对计算机的硬件要求较高。建议个人用户使用,Windows XP,操作系统。,五、,Windows 2003,Microsoft,发布的最新一款服务器操作系统,内部集成的网络组件和服务多于,Windows 2000,,不过操作复杂(连“重启”时,系统都会询问重启的原因),不适合个人用户。,六、开放的,Linux,
20、Linux,的源代码公开,用户可以根据自己需要修改系统核心。安全性也优于,Windows,系列操作系统,至少,Linux,上的病毒很少见。不过它操作复杂,习惯,Windows,的用户,对,Linux,不易上手。除服务器使用外,个人用户使用较少。,8.2,基于的,Windows,操作系统的安全性,8.2.1,Windows XP,的安全性,一、,windows XP,的简介,Windows,与,DOS,Windows,是一个单用户多任务的操作系统,Dos,是一个单用户单任务的操作系统,Windows,操作系统的发展历程,Windows,是一个为个人电脑和服务器用户设计的操作系统。它的第一个版本由
21、微软公司发行于,1985,年,并最终获得了世界个人电脑操作系统软件的垄断地位。所有最近的,Windows,都是完全独立的操作系统。,WinXP,的功能和特点,(8,个,),1,、智能化用户界面,5,、更加强大的安全性保护,2,、综合数字媒体的支持,6,、对,.net,平台的支持,3,、更加出色的兼容性,7,、强大的帮助和支持系统,4,、改进的可靠性,8,、更实用的网络功能,微软曾经夸耀说:“用,WindowsXP,的用户将不再需要为网络访问安全担心”,可见,WindowsXP,为,NT,内核型的操作系统,其功能比任何一个,Windows,系统都强,但也出现不少令人担忧的问题。,二、安全方面,(
22、一)、完善的用户管理功能,WindowsXP,采用,Windows2000/NT,的内核,在用户管理上非常安全。凡是增加的用户都可以在登录的时候看到,不像,Windows2000,那样,被黑客增加了一个管理员组的用户都发现不了。使用,NTFS,文件系统可以通过设置文件夹的安全选项来限制用户对文件夹的访问,如某普通用户访问另一个用户的文档时会提出警告。你还可以对某个文件,(,或者文件夹,),启用审核功能,将用户对该文件,(,或者文件夹,),的访问情况记录到安全日志文件里去,进一步加强对文件操作的监督。,(二)、透明的软件限制策略,在,WindowsXP,中,软件限制策略以“透明”的方式来隔离和使
23、用不可靠的、潜在的对用户数据有危害的代码,这可以保护你的计算机免受各种通过电子邮件或网页传播的病毒、木马程序和蠕虫等,保证了数据的安全。,(三)、支持,NTFS,文件系统以及加密文件(,EFS,),WindowsXP,里的加密文件系统,(EFS),基于公众密钥,并利用,CryptoAPI,结构默认的,EFS,设置,,EFS,还可以使用扩展的,DataEncryptionStandard(DESX,),和,Triple-DES(3DES),作为加密算法。用户可以轻松地加密文件。,加密时,,EFS,自动生成一个加密密钥。当你加密一个文件夹时,文件夹内的所有文件和子文件夹都被自动加密了,你的数据就会
24、更加安全。,(四)、安全的网络访问特性,新的特性主要表现在以下几个方面:,1,、补丁自动更新,为用户“减负”,2,、系统自带,Internet,连接防火墙,自带了,Internet,防火墙,支持,LAN,、,VPN,、拨号连接等。支持“自定义设置”以及“日志察看”,为系统的安全筑起了一道“黑客防线”。,(五)、关闭“后门”,在以前的版本中,,Windows,系统留着几个“后门”,如,137,、,138,、,139,等端口都是“敞开大门”的,现在,在,WindowsXP,中这些端口是关闭的。,三、不安全方面,WindowsXP,随着使用时间的增加,逐渐暴露了一些漏洞,下面,来谈谈,Windows
25、XP,安全性的几个弊端。,(一)、,UPnP,服务导致的几个漏洞,UPnP,是“,UniversalPlugandPlay,”,的缩写,是一种允许主机定位和使用局域网上设备的服务,存在着以下三个漏洞:,1,、,NOTIFY,缓冲区溢出,UPnP,存在缓冲区溢出问题,当处理,NOTIFY,命令中的,Location,字段时,如果,IP,地址、端口和文件名部分超长,就会发生缓冲区溢出。导致服务器程序进程内存空间的内容被覆盖。需要注意的是服务器程序监听广播和多播接口,这样攻击者可以同时攻击多个机器而不需要知道单个主机的,IP,地址。,UPnP,服务运行在,System,的上下文,攻击者如果利用漏洞成
26、功,可以完全控制主机。,2,、产生,DoS,、,DDoS,攻击,向运行了,UPnP,服务的系统的,1900,端口发送一个,UDP,包,其中“,LOCATION”,域的地址指向另一个系统的,Chargen,端口,可能使系统进入一个无限的连接循环。导致系统,CPU,占用,100,,无法提供正常服务。另外,攻击者也可以利用这个漏洞来发起,DDoS,攻击,只要向某个存在大量,XP,主机的网络中发送一个伪造的,UDP,报文,就可能强迫这些,XP,主机对指定主机进行攻击。,解决方法:到微软的网站下载补丁。,设置防火墙,禁止网络外部数据包对,1900,端口的连接。,关闭,UPnP,服务,(,如图,1),。,
27、二、远程桌面明文账户名传送漏洞,当连接建立的时候,,WindowsXP,远程桌面把账户名以明文发送给连接它的客户端。发送的账户名不一定是远端主机的用户账号,也可以是最常被客户端使用的账户名,网络上的嗅探程序可能会捕获到这些账户信息。,解决办法:停止远程桌面使用,(,如图,2),。,(三)、快速账号切换功能造成账号锁定漏洞,WindowsXP,快速账号切换功能设计存在问题,用户可以利用账号快速切换功能,快速地重试登录一个用户名,系统认为有暴力猜解攻击,造成全部非管理员账号的锁定。,解决方法:禁用账号快速切换功能,(,如图,3),。,与以前的,Windows,系统相比,,WindowsXP,无疑是
28、更安全的!,8.2.3 WINDOWS,操作系统安全设置,一、对重要文件进行保护,(一)、备份系统初始化文件,(二)、备份程序组文件,(三)、给,Win.ini,和,System.ini,加注释,二、系统启动密码的设置,在,Windows XP,中单击“开始运行”,在输入框中输入“,Syskey,”,,运行系统密码设置程序,在弹出对话框中单击“更新”按钮,进入如图,2,所示的密码设置对话框。选择“密码启动”单选按钮,然后在下面的窗口中依次输入同样的密码,保存设置后就完成了系统启动密码的设置。,三、禁止他人,ping,(扫描)你的电脑,1,、添加管理单元。,2,、创建,IP,安全策略。,3,、配
29、置安全策略。,四、禁止修改用户文件夹,五、禁用,Guest,账号,在计算机管理的用户里面把,Guest,账号禁用。为了保险起见,最好给,Guest,加一个复杂的密码。你可以打开记事本,在里面输入一串包含特殊字符、数字、字母的长字符串,然后把它作为,Guest,用户的密码拷进去。,六、限制不必要的用户,去掉所有的,Duplicate User,用户、测试用户、共享用户等等。用户组策略设置相应权限,并且经常检查系统的用户,删除已经不再使用的用户。这些用户很多时候都是黑客们入侵系统的突破口。,七、创建两个管理员账号,创建一个一般权限用户用来收信以及处理一些日常事物,另一个拥有,Administrat
30、ors,权限的用户只在需要的时候使用。,八、创建一个陷阱用户,什么是陷阱用户,?,即创建一个名为“,Administrator”,的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过,10,位的超级复杂密码。这样可以让那些,Hacker,们忙上一段时间,借此发现它们的入侵企图。,九、把共享文件的权限从,Everyone,组改成授权用户,任何时候都不要把共享文件的用户设置成“,Everyone”,组,包括打印共享,默认的属性就是“,Everyone”,组的,一定不要忘了改。,十、开启用户策略,使用用户策略,分别设置复位用户锁定计数器时间为,20,分钟,用户锁定时间为,20,分
31、钟,用户锁定阈值为,3,次。,十一、不让系统显示上次登录的用户名,默认情况下,登录对话框中会显示上次登录的用户名。这使得别人可以很容易地得到系统的一些用户名,进而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户名。方法为:打开注册表编辑器并找到注册表项“,HKLMSoftwareMicrosoftWindows,TCurrentVersionWinlogonDont-DisplayLastUserName,”,,把,REG_SZ,的键值改成,1,。,8.4,数据库安全,8.4.1,数据库安全策略及安全模型,著名的银行抢劫犯,Willie Sutton,当被问及为何抢劫银行时曾说过一句经
32、典的话:,“,因为那是放钱的地方,”,。,在电子商务世界,所谓的,“,钱,”,就是信息,而一个公司最有价值的资产就存放在其数据库中。因此,我们不难推断,如果,Willie Sutton,是一个黑客的话,他一定会把目标瞄准目标数据库,因为那就是在线世界中存放,“,钱,”,的地方。,在计算机世界,数据库显然存放着在线资源中最真实和最有价值的那部分资产,-,可能是知识产权(就像可口可乐的配方或,Microsoft,的程序源代码),也可能是价格和交易数据(比如,A,的财务系统)或者客户信息(如,E*TRADE,公司的客户资料文档)。在数据库中,这些数据作为商业信息或知识,一旦遭受安全威胁将带来难以想象
33、的严重后果。,企业对数据的一个最基本要求,就是要确保它们能够在任何时候,被任何授权用户(如雇员或商业合作伙伴)方便、高效地访问。为此,企业会考虑创造多种对数据的访问通道,并确保它们的安全。但是,这些通道和计算机环境一样,是动态的,-,当网络扩展时,它们随之创建或改变,并可能在未察觉和任何保护情形下不再可用。通过对数据库自身的安全保护,企业将可以在数据受到真正的威胁前设置最后一道防御屏障。,一、数据库安全与保密概述,1,、数据库系统,一般可以理解成两部分,:,一部分是数据库,按一定的方式存取数据,;,另一部 分是数据库管理系统,(DBMS),为用户及应用程序提供数据访问,并具有对 数据库进行管理
34、维护等多种功能。,2,、数据库系统安全,包含两层含义,:,第一层是指系统运行安全,它包括,:,1,),法律、政策的保护,如用户是否有合法权利,政策是否允许等,;,2,),物理控制安全,如机房加锁等,;,3,),硬件运行安全,;,4,),操作系统安全,如数据文件是否保护等,;,5,),灾害、故障恢复,;,6,),死锁的避免和解除,;,7,),电磁信息泄漏防止。,第二层是指系统信息安全,它包括,:,1,)用户口令字鉴别;,2,)用户存取权限控制;,3,)数据存储权限、方式控制;,4,)审计跟踪;数据加密。,3,、危及数据库安全的因素,(,1,)、脆弱的账号设置。,在许多成熟的操作系统环境,由于受
35、企业安全策略或政府规定的约束,数据库用户往往缺乏足够的安全设置。比如,缺省的用户账号和密码对大家都是公开的,却没被禁用或修改以防止非授权访问。用户账号设置在缺乏基于字典的密码强度检查和用户账号过期控制的情况下,只能提供很有限的安全功能。,(,2,)、缺乏角色分离。传统数据库管理并没有,安全管理员(,Security Administrator,),这一角色,这就迫使数据库管理员(,DBA,)既要负责账号的维护管理,又要专门对数据库执行性能和操作行为进行调试跟踪,从而导致管理效率低下。另外,这也和传统企业管理理论所倡导,?,quot,;,检查职能和工作职能平衡,的原则相悖。,(,3,)、缺乏审计
36、跟踪。数据库审计经常被,DBA,以提高性能或节省磁盘空间为由忽视或关闭,这大大降低了管理分析的可靠性和效力。审计跟踪对了解哪些用户行为导致某些数据的产生至关重要,它将与数据直接相关的事件都记入日志,因此,对监视数据访问和用户行为是最基本的管理手段。(,4,)、未利用的数据库安全特征。为了实现个别应用系统的安全而忽视数据库安全是很常见的事情。但是,这些安全措施只应用在客户端软件的用户上,其它许多工具,如,Microsoft Access,和已有的通过,OBDC,或专有协议联接数据库的公用程序,它们都饶过了应用层安全。因此,唯一可靠的安全功能都应限定在数据库系统内部。,二、数据库安全管理原则,一个
37、强大的数据库安全系统应当确保其中信息的安全性并对其有效地控制。下面列举的原则有助于企业在安全规划中实现客户利益保障,策略制订以及对信息资源的有效保护。,1,、管理细分和委派原则。,在典型的数据库工作环境中,,DBA,总是独立执行所有的管理和其它事务工作,一旦出现岗位交替,将带来一连串问题和工作效率的低下。通过管理责任细分和任务委派,,DBA,将得以从常规事务中解脱出来,而更多地关注于解决数据库执行效率以及管理相关的重要问题,从而保证两类任务的高效完成。企业应设法通过功能和可信赖的用户群进一步细分数据库管理的责任和角色。管理委派有助于灵活解决为员工重设密码(需要管理员权限)这样的常见问题,或者让
38、管理员执行特殊部门(如市场部或财务部)的某些事务。,2,、最小权限原则。,许多新的保密规则针对对特定数据的授权访问。企业必须本着,“,最小权限,”,原则,从需求和工作职能两方面严格限制对数据库的访问权。通过角色(,role,)的合理运用,最小权限可确保数据库功能限制和对特定数据的访问。,3,、账号安全原则。,用户账号对于每一个数据库联接来说都是必须的。账号应遵循传统的用户账号管理方法来进行安全管理。这些方法包括:更改缺省密码;应用适当的密码设置;当登录失败时实施账号锁定;对数据提供有限制的访问权限;禁止休眠状态的账户,以及管理账户的生命周期等。,4,、有效的审计。,数据库审计是数据库安全的基本
39、要求。企业应针对自己的应用和数据库活动定义审计策略。审计并非一定要按,要么对所有目标,要么没有,审计的粗放模式进行,从这一点来看,智能审计的实现对安全管理意义重大,-,不仅能节省时间,而且能减少执行所涉及的范围和对象;通过智能限制日志大小,还能突出更加关键的安全事件。,三、数据库基本安全架构,数据库系统信息安全性依赖于两个层次,:,一层是数据库管理系统本身提供的用 户名,/,口 令字识别、视图、使用权限控制、审计等管理措施,大型数据库管理系统,Oracle,、,Sybase,、,Ingres,等均有此功能,;,另一层就是靠应用程序设置的控制管理,如使用较普遍的,Foxbase,、,Foxpro
40、等。作为数据库用户,最关心自身数据资料的 安全,特别是用户的查询权限问题。对 此,目前一些大型数据库管理系统,(,如,Oracle,、,Sybase,等产品,),提供了以下几种主要手段。,1.,用户分类,不同类型的用户授予不同的数据管理权限。一般将权限分为三类,:,数据库登录 权限类、资源管理权限类和数据库管理员权限类。,有了数据库登录权限的用户才能进入数据库管理系统,才能使用数据库管理系 统所提供 的各类工具和实用程序。同时,数据库客体的主人可以授予这类用户以 数据查询、建立视图 等权限。这类用户只能查阅部分数据库信息,不能改动数据 库中的任何数据。,具有资源管理权限的用户,除了拥有上一类
41、的用户权限外,还有创建数据库表、索引等 数据库客体的权限,可以在权限允许的范围内修改、查询数据库,还能将 自己拥有的权限授 予其他用户,可以申请审计。,具有数据库管理员权限的用户将具有数据库管理的一切权限,包括访问任何用 户的任何 数据,授予,(,或回收,),用户的各种权限,创建各种数据库客体,完成数据库 的整库备份、装入重 组以及进行全系统的审计等工作。这类用户的工作是谨慎而 带全局性的工作,只有极少数用 户属于这种类型。,2.,数据分类,同一类权限的用户,对数据库中数据管理和使用的范围又可能是不同的。为此,DBMS,提 供了将数据分类的功能,即建立视图。管理员把某用户可查询的数据逻辑 上归
42、并起来,建成 一个或多个视图,并赋予名称,再把该视图的查询权限授予该用 户,(,也可以授予多个用户,),。这种数据分类可以进行得很细,其最小粒度是数据库 二维表中一个交叉的元素。,3.,审计功能,大型,DBMS,提供的审计功能是一个十分重要的安全措施,它用来监视各用户对数 据库施加 的动作。有两种方式的审计,即用户审计和系统审计。用户审计时,DBMS,的审计系统记下所 有对自己表或视图进行访问的企图,(,包括成功的和不成功的,),及 每次操作的用户名、时间、操作代码等信息。这些信息一般都被记录在数据字典,(,系统表,),之中,利用这些信息用户可以 进行审计分析。系统审计由系统管理员进 行,其审
43、计内容主要是系统一级命令以及数据库客 体的使用情况。,四、数据库的安全模型,数据库的安全模型特点:,1,、简单性:不可太复杂,2,、通用性:将不同的安全策略结合起来,3,、精确性:准确地表示安全策略和系统的主要功能,4,、数据模型独立性:与特性无关,8.4.2,数据库加密,一般而言,数据库系统提供的上述基本安全技术能够满足一般的数据库应用,但对于一 些重要部门或敏感领域的应用,仅靠上述这些措施是难以完全保证数据 的安全性,某些用户 尤其是一些内部用户仍可能非法获取用户名、口令字,或利用 其它方法越权使用数据库,甚 至可以直接打开数据库文件来窃取或篡改信息。因 此,有必要对数据库中存储的重要数据
44、进 行加密处理,以实现数据存储的安全保护。,一、数据库密码系统的基本流程,数据加密,就是将明文数据经过一定的变换,(,一般为变序和代替,),变成密文数据。,数据脱密是加密的逆过程,即将密文数据转变成可见的明文数据。,一个密码系统包含明文集合、密文集合、密钥集合和算法,其中密钥和算法构 成了密码 系统的基本单元。,算法是一些公式、法则或程序,规定明文与密文之间 的变换方法,密钥可 以看作算法中的参数。,数据库密码系统要求将明文数据加密成密文数据,数据库中存储密文数据,查 询时将密 文数据取出脱密得到明文信息。,2.,数据库加密的特点,较之传统的数据加密技术,数据库密码系统有其自身的要求和特点。传
45、统的加 密以报文 为单位,加脱密都是从头至尾顺序进行。数据库数据的使用方法决定了 它不可能以整个数据 库文件为单位进行加密。当符合检索条件的记录被检索出来 后,就必须对该记录迅速脱密。然而该记录是数据库文件中随机的一段,无法从中 间开始脱密,除非从头到尾进行一次脱密,然后再去查找相应的这个记录,显然这 是不合适的。必须解决随机地从数据库文件中某一 段数据开始脱密的问题。,(1),、数据库密码系统应采用公开密钥,传统的密码系统中,密钥是秘密的,知道的人越少越好。一旦获取了密钥和密 码体制就 能攻破密码,解开密文。,而数据库数据是共享的,有权限的用户随时需要 知道密钥来查询数据。因此,数据库密码系
46、统宜采用公开密钥的加密方法。设想 数据库密码系统的加密算法是 保密的,而且具有相当的强度,那么利用密钥,采用,OS,和,DBMS,层的工具,也无法得到数据明文。,(2),、多级密钥结构,数据库关系运算中参与运算的最小单位是字段,查询路径依次是库名、表名、记录号和 字段名。因此,字段是最小的加密单位。也就是说当查得一个数据后,该 数据所在的库名、表名、记录名、字段名都应是知道的。对应的库名、表名、记 录号、字段名都应该具有自 己的子密钥,这些子密钥组成一个能够随时加,/,脱密的 公开密钥。,可以设计一个数据库,其中存放有关数据库名、表名、字段名的子密钥,系统 启动后将 这些子密钥读入内存供数据库
47、用户使用。与记录相对应的子密钥,一般 的方法应是在该记录 中增加一条子密钥数据字段。,二、数据库加密系统的基本要求,1,、字段加密,2,、密钥动态管理,3,、合理处理数据,4,、不影响合法用户的操作,三、数据库加密的范围,数据加密通过对明文进行复杂的加密操作,以达到无法发现明文和密文之间、密文和密 钥之间的内在关系,也就是说经过加密的数据经得起来自,OS,和,DBMS,的攻 击。另一方面,DBMS,要完成对数据库文件的管理和使用,必须具有能够识别部分数 据的条件。据此,只能对数据 库中数据进行部分加密。,1,、索引项字段不能加密,为了达到迅速查询的目的,数据库文件需要建立一些索引。不论是字典式
48、的单 词索引、,B,树索引或,HASH,函数索引等,它们的建立和应用必须是明文状态,否则将 失去索引的作用。有 的,DBMS,中可以建立簇聚索引,这类索引也需要在明文状态下 建立和维护使用。,2,、关系运算的比较字段不能加密,DBMS,要组织和完成关系运算,参加并、差、积、商、投影、选择和连接等操作 的数据一 般都要经过条件筛选,这种,“,条件,”,选择项必须是明文,否则,DBMS,将无法进 行比较筛选。例如,要求检索工资在,1000,元以上的职工人员名单,“,工资,”,字段中的 数据若加密,SQL,语句就无法 辨认比较。,3,、表间的连接码字段不能加密,数据模型规范化以后,数据库表之间存在着
49、密切的联系,这种相关性往往是通 过,外部编 码,联系的,这些编码若加密就无法进行表与表之间的连接运算。,4.,数据库加密对数据库管理系统原有功能的影响,目前,DBMS,的功能比较完备,特别象,Oracle,、,Sybase,这些采用,Client/Server,结 构的数据 库管理系统,具有数据库管理和应用开发等工具。然而,数据库数据加密 以后,DBMS,的一些功 能将无法使用。,(1),无法实现对数据制约因素的定义,Sybase,数据库系统的规则定义了数据之间的制约因素。数据一旦加密,DBMS,将 无法实现 这一功能,而且,值域的定义也无法进行。,值得注意的是,数据库中的每个字段的类型、长度
50、都有具体的限定。数据加密 时,数值 类型的数据只能在数值范围内加密,日期和字符类型的数据也都只能在各 自的类型范围内加 密,密文长度也不能超过字段限定的长度,否则,DBMS,将无法接受 这些加密过的数据。,(2),密文数据的排序、分组和分类,Select,语句中的,Group by,、,Order by,、,Having,子句分别完成分组、排序、分 类等操作。这些子句的操作对象如果是加密数据,那么脱密后的明文数据将失去 原语句的分组、排序、分类作用,显然这不是用户所需要的。,(3)SQL,语言中的内部函数将对加密数据失去作用,DBMS,对各种类型数据均提供了一些内部函数,这些函数不能直接作用于






