安全性 Flashcards

0
Q

数据库的安全性和计算机系统的安全性之间存在什么关系

A

安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。
系统安全保护措施是否有效是数据库系统的主要技术指标之一。
数据库的安全性和计算机系统的安全性,包括计算机硬件、操作系统、网络系统等的安全性,是紧密联系、相互支持的。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

数据库的安全性

A

保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

计算机系统的安全性

A

为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

计算机系统的安全性问题

A

技术安全类、管理安全类和政策法律类。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

技术安全

A

计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

管理安全

A

由于管理不善导致的计算机设备和数据介质的物理破坏、丢失等软硬件意外故障以及场地的意外事故等安全问题。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

政策法律

A

政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

计算机以及信息安全技术方面的安全标准

A

TCSEC, CC标准。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

TCSEC

A

1985年美国国防部(DoD)正式颁布的<>(Trusted Computer System Evaluation Criteria,TCSEC或DoD85)。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

信息安全标准的发展历史

A
1985年美国国防部可信计算机系统评估准则(TCSEC)。
1991年欧洲信息技术安全评估准则(ITSEC)。
1993年加拿大可信计算机产品评估准则(CTCPEC)。
1993年美国信息技术安全联邦标准(FC)草案。
通用准则(CC)V1.0 1996年 V2.0 1998年 V2.1 1999年
1999年CC V2.1成为国际标准(ISO15408)。
2001年我国采用其为国家标准。
目前CC已经基本取代了TCSEC,成为评估信息产品安全性的主要指标。
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

TCSEC/TDI

A

TCSEC又称桔皮书,1991年4月美国NCSC(国家计算机安全中心)颁布了<>(Trusted Database Interpretation,简称TDI,即紫皮书),将TCSEC扩展到数据库管理系统。TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

TCSEC/TDI描述安全级别划分的指标

A

安全策略、责任、保证和文档。每个方面又细分为若干项。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

TCSEC/TDI将系统划分的等级

A
根据计算机系统对各项指标的支持情况,TCSEC(TDI)将系统划分为四组七个等级,依次是D、C(C1、C2)、B(B1、B2、B3)、A(A1),按系统可靠或可信程度逐渐增高。
A1:验证设计
B3:安全域
B2:结构化保护
B1:标记安全保护
C2:受控的存取保护
C1:自主安全保护
D:最小保护
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

D级

A

是最低级别。保留D级的目的是为了将一切不符合更高标准的系统,统统归于D组。

如DOS就是操作系统中安全标准为D的典型例子。它具有操作系统的基本功能,如文件系统、进程调度等,但在安全性方面几乎没有什么专门的机制来保障。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

C1级

A

只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。现有的商业系统往往稍做改进即可满足要求。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

C2级*

A

实际是安全产品的最低档次,提供受控的存取保护,即将C1级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离。达到C2级的产品在其名称中往往不突出"安全"这一特色,如操作系统中的Windows2000,数据库产品中的Oracle7等。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

B1级*

A

标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制。B1级别的产品才认为是真正意义上的安全产品,满足此级别的产品前一般多冠以"安全"或"可信的"字样,作为区别于普通产品的安全产品出售。
例如,操作系统方面有惠普公司的HP-UX BLS release 9.0.9+等,数据库方面则有Oracle公司的Trusted Oracle7,Sybase公司的Secure SQL Server version 11.0.6等。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

B2级

A

结构化保护。建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MAC。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

B3级

A

安全域。该级的TCB必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

A1级

A

验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

CC

A

CC是在上述各评估准则及具体实践的基础上,通过相互总结和互补发展而来的。和早期的评估准则相比,CC具有结构开放、表达方式通用等特点。
CC提出了目前国际上公认的表述信息技术安全性的结构,即把对信息产品的安全要求分为安全功能要求和安全保证要求。
安全功能要求用以规范产品和系统的安全行为,安全保证要求解决如何正确有效地实施这些功能。
安全功能要求和安全保证要求都以"类-子类-组件"的结构表述,组件是安全要求的最小构建块。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

CC的文本

A

由三部分组成,三个部分相互依存,缺一不可。
第一部分是"简介和一般模型",介绍CC中的有关术语、基本概念和一般模型以及与评估有关的一些框架,CC的附录部分主要介绍"保护轮廓"(Protection Profile,简称PP)和"安全目标"(Security Target,简称ST)的基本内容。
第二部分是安全功能要求,列出了一系列功能组件、子类和类。具体来说有11类,分别是安全审计(FAU)、通信(FCO)、密码支持(FCS)、用户数据保护(FDP)、标识和鉴别(FIA)、安全管理(FMT)、隐私(FPR)、TSF保护(FPT)、资源利用(FRU)、TOE访问(FTA)、可信路径和信道(FTP)。这11大类分为66个子类,由135个组件构成。
第三部分是安全保证要求,列出了一系列保证组件、子类和类,包括7个类,分别是配置管理(ACM)、交付和运行(ADO)、开发(ADV)、指导性文档(AGD)、生命周期支持(ALC)、测试(ATE)、脆弱性评定(AVA)。这7大类分为26个子类,由74个组件构成。另外,第三部分中根据系统对安全保证要求的支持情况提出了评估保证级(Evaluation Assurance Level,EAL),并定义了保护轮廓PP和安全目标ST的评估准则,用于PP和ST的评估。
这三部分的有机结合具体体现在PP和ST中,CC提出的安全功能要求和安全保证要求都可以在具体的PP和ST中进一步细化和扩展,这种开放式的结构更适应信息安全技术的发展。CC的具体应用也是通过PP和ST这两种结构来实现的。
PP用于表达一类产品或系统的用户需求,是CC在某一领域的具体化。CC针对不同领域产品的评估,就体现在开发该类产品的PP上。CC并没有专门针对DBMS的解释。DBMS PP是CC在DBMS领域的具体化,相当于是对DBMS的解释。换句话说,CC的DBMS PP就相当于TCSEC的TDI。CC中规定了PP应包含的基本内容和格式。ST是对特定的一种产品进行描述,参加CC评估的产品必须提供自己的ST。
PP的编制有助于提高安全保护的针对性和有效性。ST在PP的基础上,将安全要求进一步具体化,解决安全要求的具体实现。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

除了PP和ST外,还有一个重要的结构

A

包。包是组件的特定组合,用来描述一组特定的安全功能和保证要求。评估保证级(EAL)是在CC的第三部分中预先定义的由保证组件组成的保证包,每一保证包描述了一组特定的保证要求,对应着一种评估保证级别。从EAL1到EAL7共分为七级,按保证程度逐渐增高。

23
Q

CC评估保证级划分

A
EAL1:功能测试。
EAL2:结构测试。(C1)
EAL3:系统地测试和检查。(C2)
EAL4:系统地设计、测试和复查。(B1)
EAL5:半形式化设计和测试。(B2)
EAL6:半形式化验证的设计和测试。(B3)
EAL7:形式化验证的设计和测试。(A1)
粗略而言,TCSEC的C1和C2级分别相当于EAL2和EAL3;B1、B2和B3分别相当于EAL4、EAL5和EAL6;A1对应于EAL7。
24
Q

实现数据库安全性控制的常用方法和技术

A

1。用户标识和鉴别:由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。
2。存取控制:通过用户权限定义和合法权限检查确保只有拥有合法权限的用户才能访问数据库,所有未授权人员均无法存取数据。
3。视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权限用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
4。审计:建立审计日志,把用户对数据库的所有操作自动记录下来并放入审计日志中。DBA可以利用审计日志跟踪信息来重现导致数据库现状的一系列事件,找出非法存取数据的人、时间和内容等。
5。数据加密:对所存储和传输的数据进行加密处理,从而使得不掌握解密算法的人无法获知数据。

25
Q

用户标识和鉴别

A

是系统提供的最外层安全保护措施。
方法:由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。
对于获得上机权的用户若要使用数据库时数据库管理系统还要进行用户标识和鉴定。
在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有:
1。用户标识:用一个用户名或者用户标识号来标明用户身份。系统内部记录着所有合法用户的标识,系统鉴别此用户是否是合法用户,若是,则可以进入下一步的核实;若不是,则不能使用系统。
2。口令:为了进一步核实用户,系统常常要求用户输入口令。为保密起见,用户在终端上输入的口令不显示在屏幕上。系统核对口令以鉴别用户身份。
通过用户名和口令来鉴定用户的方法简单易行,但用户名与口令容易被人窃取,因此还可以用更复杂的方法。(例如预先约定好一个计算过程或者函数)
用户标识和鉴定可以重复多次。

26
Q

存取控制

A

数据库安全性所关心的主要是DBMS的存取控制机制。数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。
存取控制机制主要包括两部分:
1。定义用户权限,并将用户权限登记到数据字典中。
用户对某一数据对象的操作权力称为权限。DBMS必须提供适当的语言来定义用户权限,这些定义经过编译后存放在数据字典中,被称做安全规则或授权规则。
2。合法权限检查。
每当用户发出存取数据库的请求后(请求一般应包括操作类型、操作对象和操作用户等信息),DBMS查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。
用户权限定义和合法权限检查机制一起组成了DBMS的安全子系统。

27
Q

自主存取控制

A

用户对于不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。因此,自主存取控制非常灵活。

28
Q

强制存取控制

A

每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。强制存取控制因此相对较严格。

29
Q

"自主存取控制"中"自主"的含义

A

用户可以"自主"地决定将数据的存取权限授予何人、决定是否也将"授权"的权限授予别人,即用户具有一定的"自主"权。

30
Q

用户权限的两个要素

A

数据库对象和操作类型。

31
Q

授权

A

定义存取权限。

定义一个用户的存取权限就是要定义这个用户可以在哪些数据库对象上进行哪些类型的操作。

32
Q

存取权限

A

在非关系系统中,用户只能对数据进行操作,存取控制的数据库对象也仅限于数据本身。
关系数据库系统中存取控制的对象不仅有数据本身(基本表中的数据、属性列上的数据),还有数据库模式(包括数据库SCHEMA、基本表TABLE、视图VIEW和索引INDEX的创建)等。
对象类型 对象 操作类型
数据库 模式 CREATE SCHEMA
基本表 CREATE TABLE
模式 视图 CREATE VIEW
索引 CREATE INDEX
数据 基本表和视图 SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALL PRIVILIGES
数据 属性列 SELECT, INSERT, UPDATE, REFERENCES, ALL PRIVILIGES

33
Q

GRANT

A

GRANT [,]… ON [, ]… TO [,]… [WITH GRANT OPTION];
将对指定操作对象的指定操作权限授予指定的用户。
发出该GRANT语句的可以是DBA,也可以是该数据库对象的创建者(即属主Owner),也可以是已经拥有该权限的用户。
接受权限的用户可以是一个或多个具体用户,也可以是PUBLIC,即全体用户。
如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予其他的用户。如果没有指定WITH GRANT OPTION子句,则获得某种权限的用户只能使用该权限,不能传播该权限。
SQL标准允许具有WITH GRANT OPTION的用户把相应权限或其子集传递授予其他用户,但不允许循环授权,即被授权者不能把权限再授回给授权者或其祖先。
对属性列授权时必须明确指出相应属性列名。
GRANT语句可以一次向一个用户授权,也可以一次向多个用户授权,还可以一次传播多个同类对象的权限,一次可以完成对基本表和属性列这些不同对象的授权。

34
Q

REVOKE

A

授予的权限可以由DBA或其他授权者用REVOKE语句收回。

REVOKE [,]… ON [, ]… FROM [,]… [CASCADE|RESTRICT];

35
Q

SQL提供了非常灵活的授权机制

A

DBA拥有对数据库中所有对象的所有权限,并可以根据实际情况将不同的权限授予不同的用户。
用户对自己建立的基本表和视图拥有全部的操作权限,并且可以用GRANT语句把其中某些权限授予其他用户。被授权的用户如果有"继续授权"的许可,还可以把获得的权限再授予其他用户。
所有授予出去的权力在必要时又都可以用REVOKE语句收回。

36
Q

创建数据库模式的权限

A

GRANT和REVOKE语句向用户授予或收回对数据的操作权限。对数据库模式的授权则由DBA在创建用户时实现。
CREATE USER [WITH] [DBA|RESOURCE|CONNECT];
只有系统的超级用户才有权创建一个新的数据库用户。
新创建的数据库用户有三种权限:CONNECT、RESOURCE和DBA。
CREATE USER命令中如果没有指定创建的新用户的权限,默认该用户拥有CONNECT权限。拥有CONNECT权限的用户不能创建新用户,不能创建模式,也不能创建基本表;只能登录数据库。然后由DBA或其他用户授予他应有的权限,根据获得的授权情况他可以对数据库对象进行权限范围内的操作。
拥有RESOURCE权限的用户能创建基本表和视图,成为所创建对象的属主。但是不能创建模式,不能创建新的用户。数据库对象的属主可以使用GRANT语句把该对象上的存取权限授予其他用户。
拥有DBA权限的用户是系统中的超级用户,可以创建新的用户、创建模式、创建基本表和视图等;DBA拥有对所有数据库对象的存取权限,还可以把这些权限授予一般用户。
一个DBA用户可以拥有CREATE USER、CREATE SCHEMA和CREATE TABLE权限,一个RESOURCE用户可以拥有CREATE TABLE权限。

37
Q

数据库角色

A

被命名的一组与数据库操作相关的权限,角色是权限的集合。

可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。

38
Q

创建角色

A

CREATE ROLE

刚刚创建的角色是空的,没有任何内容。可以用GRANT为角色授权。

39
Q

给角色授权

A

GRANT [,]… ON 对象名 TO [,]…

DBA和用户可以利用GRANT语句将权限授予一个或几个角色。

40
Q

将一个角色授予其他的角色或用户

A

GRANT [,]… TO [,]… [WITH ADMIN OPTION]
把角色授予某用户,或授予另一个角色。
一个角色所拥有的权限就是授予它的全部角色所包含的权限的总和。
授予者或是角色的创建者,或者拥有在这个角色上的ADMIN OPTION。
如果指定了WITH ADMIN OPTION子句,则获得某种权限的用户或角色还可以把这种权限再授予其他的角色。
一个角色包含的权限包括直接授予这个角色的全部权限加上其他角色授予这个角色的全部权限。

41
Q

角色权限的收回

A

REVOKE [,]… ON FROM [,]…
用户可以回收角色的权限,从而修改角色的权限。
REVOKE动作的执行者或是角色的创建者,或者拥有在这个(些)角色上的ADMIN OPTION。

42
Q

强制存取控制(MAC)方法

A

自主存取控制能够通过授权机制有效地控制对敏感数据的存取。但这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记。要解决这一问题,就需要对系统控制下的所有主客体实施强制存取控制策略。
MAC:系统为保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求,所采取的强制存取检查手段。它不是用户能直接感知或进行控制的。MAC适用于那些对数据有严格而固定密级分类的部门。

43
Q

MAC中DBMS所管理的全部实体

A
被分为主体和客体两大类。
主体:系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。
客体:系统中的被动实体,是受主体操纵的,包括文件、基本表、索引、视图等。
对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。
敏感度标记被分成若干个级别,例如绝密、机密、可信、公开等。
44
Q

主体的敏感度标记

A

称为许可证级别。

45
Q

客体的敏感度标记

A

称为密级。

MAC机制就是通过对比主体的Label和客体的Label,最终确定主体能否存取客体。

46
Q

当某一用户(或某一主体)以标记Label注册进入系统时,系统要求他对任何客体的存取必须遵循如下规则:

A

1。仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体。

2。仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。禁止了拥有高许可证级别的主体更新低密级的数据对象,从而防止了敏感数据的泄露。

47
Q

为什么强制存取控制提供了更高级别的数据库安全性

A

强制存取控制是对数据本身进行加密级别标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。

48
Q

MAC与DAC

A

较高安全级别提供的安全保护要包含较低级别的所有保护,因此在实现MAC时要首先实现DAC,即DAC与MAC共同构成DBMS的安全机制。系统首先进行DAC检查,对通过DAC检查的允许存取的数据库对象再由系统自动进行MAC检查,只有通过MAC检查的数据库对象方可存取。

49
Q

视图机制

A

为不同的用户定义不同的视图,把数据对象限制在一定的范围内,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
视图机制间接地实现支持存取谓词的用户权限定义。在不直接支持存取谓词的系统中,可以先建立视图,然后在视图上进一步定义存取权限。

50
Q

审计

A

审计功能是指DBMS的审计模块在用户对数据库执行操作的同时,把所有操作自动记录到系统的审计日志中。
因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃、破坏数据的人总是想方设法打破控制。DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
审计通常是很浪费时间和空间的,所以DBMS往往都将其作为可选特征,允许DBA根据应用对安全性的要求,灵活地打开或关闭审计功能。审计功能一般主要用于安全性要求较高的部门。
审计设置以及审计内容一般都存放在数据字典中。必须把审计开关打开(即把系统参数audit_trail设为true),才可以在系统表SYS_AUDITTRAIL中查看审计信息。

51
Q

审计一般可分为

A

用户级审计和系统级审计。
用户级审计是任何用户可设置的审计,主要是用户针对自己创建的数据库表或视图进行审计,记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的SQL操作。
系统级审计只能由DBA设置,用以监测成功或失败的登录要求、监测GRANT和REVOKE操作以及其他数据库级权限以下的操作。

52
Q

审计的语句

A

AUDIT语句用来设置审计功能,NOAUDIT语句取消审计功能。
例:AUDIT ALTER,UPDATE ON SC;
NOAUDIT ALTER,UPDATE ON SC;

53
Q

数据加密

A

对于高敏感性数据,还可以采用数据加密技术。
数据加密是防止数据库中数据在存储和传输中失密的有效手段。加密的基本思想是根据一定的算法将原始数据(明文)变换为不可直接识别的格式(密文),从而使得不知道解密算法的人无法获知数据的内容。
目前有些数据库产品提供了数据加密例行程序,可根据用户的要求自动对存储和传输的数据进行加密处理。另一些数据库产品虽然本身未提供加密程序,但提供了接口,允许用户用其他厂商的加密程序对数据加密。
由于数据加密与解密也是比较费时的操作,而且数据加密与解密程序会占用大量系统资源,因此数据加密功能通常也作为可选特征,允许用户自由选择,只对高度机密的数据加密。

54
Q

加密方法

A

1。替换方法。用密钥将明文中的每一个字符转换为密文中的一个字符。
2。置换方法。仅将明文的字符按不同的顺序重新排列。
单独使用这两种方法的任意一种都是不够安全的。但是将这两种方法结合起来就能提供相当高的安全程度。采用这种结合算法的例子:数据加密标准(DES)。

55
Q

统计数据库中存在哪种特殊的安全性问题

A

统计数据库允许用户查询聚集类型的信息,如合计、平均值、最大值、最小值等,不允许查询单条记录信息。但是,人们可能会从合法查询中推导出非法信息,即可能存在隐蔽的信息通道,只是统计数据库所要研究和解决的特殊的安全性问题。

56
Q

解决统计数据库安全性问题的一些方法

A

规定任何查询至少要涉及N个以上的记录(N足够大)。
规定任意两个查询的相交数据项不能超过M个。
无论采用什么安全性机制,都仍然会存在绕过这些机制的途径。好的安全性措施应该使得那些试图破坏安全的人所花费的代价远远超过他们所得到的利益,这也是整个数据库安全机制设计的目标。