数据库安全性silvanhappy

数据库的一大特点是数据可以共享,数据共享必然带来数据库的安全性问题,数据库系统中的数据共享不能是无条件的共享,比如:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据等。

数据库的安全是指保护数据库以防止不合法的使用造成的数据泄露、更改或破坏。换句话说,就是防止数据被非法访问。

随着计算机安全性问题的突出,人们在计算机以及信息安全技术方面出台了一系列的安全标准,最有影响的当推TCSEC和CC这两个标准。

TCSEC(TrustedComputerSystemEvaluationCriteria)是指1985年美国国防部(DoD)正式颁布的《DoD可信计算机系统评估准则TCSEC》;1991年4月美国NCSC(国际计算机安全中心)颁布了《可信计算机系统评估标准关于可信数据库系统的解释TDI》,将TCSEC扩展到数据库管理系统。TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。

TCSEC/TDI从以下四个方面来描述安全性级别划分的指标:安全策略、责任、保证和文档。每个方面又细分为若干项。即四组七个等级:

A1——验证设计(有形式化方法可证明安全)

B3——安全域(有跟踪审计能力)

B2——结构化保护(有安全策略模型)

B1——标记安全保护(加标记,ORACLE)

C2——受控存取保护(用户口令权限+审计,ORACLE)

C1——自主安全保护(用户口令权限SQL-SERVER)

D——最小保护(基本无保护ACCESS,FOXPRO)

2数据库安全性控制

非法使用数据库的情况有:

计算机系统中,安全措施是一级一级层层设置:

在上图所示安全模型中,用户要求进入计算机系统时,系统首先根据输入的用户标识进行用户身份鉴定,只有合法的用户才准许进入计算机系统。对已进入系统的用户,DBMS还要进行存取控制,只允许用户执行合法操作。操作系统也会有自己的保护措施。数据最后还可以以密码形式存储到数据库中。

在这里我们只讨论与数据库有关的用户标识和鉴定、存取控制、视图和密码存储等安全技术。

2.1用户标识与鉴别

用户标识与鉴别是系统提供的最外层安全保护措施,其方法是由系统提供一定的方式让用户标识自己的名字和身份。

用户标识:用一个用户名或者用户标识号来标明用户身份

口令:为了进一步核实用户,系统常常要求用户输入口令,核对口令以鉴别用户身份

2.2存取控制

数据库安全性所关心的主要是DBMS的存取控制机制。

存储机制主要包含两个部分:

常用存取控制方法:

2.3自主存取控制方法

大型数据库管理系统几乎都支持自主存取控制,目前的SQL标准也对自主存取控制提供支持,这主要通过SQL的GRANT语句和REVOKE语句实现。

用户权限由两个要素组成:

1对象权限

例如:对SC表的SELECT,INSERT,DELETE权

2操作类型权限(语句权.系统权)

例如:执行CREATETABLE权,CREATEVIEW权

某个用户对某类数据库对象具有何种操作权力是个政策问题而不是技术问题。GRANT语句向用户授予权限,REVOKE语句收回授予的权限。

1)GRANT

GRANT语句的一般格式:

GRANT<权限>[,<权限>]...

[ON<对象类型><对象名>]

TO<用户>[,<用户>]...

[WITHGRANTOPTION];

其语义为:将对指定操作对象的指定操作权限授予指定的用户。发出GRANT语句的可以是DBA,也可以是数据库对象创建者(即属主Owner),也可以是已经拥有该权限的用户。接受受权限的用户可以是一个或多个具体用户,也可以是PUBLIC(全体用户)。WITHGRANTOPTION表示获得某种权限的用户还可以把这种权限再授予其他的用户,如果没有指定则表示权限不能再传播。

示例1:把查询Student表权限授给用户U1

GRANTSELECT

ONTABLEStudent

TOU1;

示例2:把对Student表和Course表的全部权限授予用户U2和U3

GRANTALLPRIVILIGES

ONTABLEStudent,Course

TOU2,U3;

示例3:把对表SC的查询权限授予所有用户

ONSC

TOPUBLIC;

示例4:把查询Student表和修改学生学号的权限授给用户U4

GRANTUPDATE(Sno),SELECT

ONStudent

TOU4;

示例5:把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户

GRANTINSERT

TOU5

WITHGRANTOPTION;

执行例5后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限。比如U5将该权限授予U6:

示例6:GRANTINSERTONSCTOU6

同样,U6还可以将此权限授予U7:

示例7:GRANTINSERTONSCTOU7;

但U7不能再传播此权限。

2)REVOKE

REVOKE<权限>[,<权限>]...

FROM<用户>[,<用户>]...;

示例1:把用户U4修改学生学号的权限收回

REVOKEUPDATE(Sno)

FROMU4;

示例2:收回所有用户对表SC的查询权限

REVOKESELECT

FROMPUBLIC;

示例3:把用户U5对SC表的INSERT权限收回

REVOKEINSERT

ONTABLESC

FROMU5CASCADE;

注:将用户U5的INSERT权限收回的时候必须级联(CASCADE)收回,不然系统将拒绝执行该命令;有的DBMS缺省值为CASCADE,会自动执行级联操作而不必明显地写出CASCADE;如果U6和U7还从其他用户处获得对SC表的INSERT权限,则他们仍具有此权限,系统只收回直接或间接从U5处获得的权限。

不同的权限授予不同的用户

GRANT:授予其他用户

2.5数据库角色

1)角色的创建

CREATEROLE<角色名>

GRANT<权限>[,<权限>]…

ON<对象类型>对象名

TO<角色>[,<角色>]…

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

GRANT<角色1>[,<角色2>]…

TO<角色3>[,<用户1>]…

[WITHADMINOPTION]

4)角色权限的收回

REVOKE<权限>[,<权限>]…

ON<对象类型><对象名>

FROM<角色>[,<角色>]…

通过角色来实现将一组权限授予一个用户。步骤如下:

1.首先创建一个角色R1

CREATEROLER1;

2.然后使用GRANT语句,使角色R1拥有Student表的SELECT、UPDATE、INSERT权限

GRANTSELECT,UPDATE,INSERT

TOR1;

3.将这个角色授予王平,张明,赵玲。使他们具有角色R1所包含的全部权限

GRANTR1

TO王平,张明,赵玲;

4.可以一次性通过R1来回收王平的这3个权限

REVOKER1

FROM王平;

角色的权限修改如下:

GRANTDELETE

TOR1

FROMR1;

2.6强制存取控制方法(MAC)

自主存取的缺点:可能存在数据的“无意泄露”,某人有权访问某表,制作了复本,当权限被收回后,对复本仍可访问

原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记

解决:对系统控制下的所有主客体实施强制存取控制策略

主体是系统中的活动实体:

客体是系统中的被动实体,是受主体操纵的:

敏感度标记(Label):

主体的敏感度标记称为许可证级别(ClearanceLevel)

客体的敏感度标记称为密级(ClassificationLevel)

强制存取控制规则:

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

(2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体

MAC保证更高程度的安全性。适用于对数据有严格而固定密级分类的部门:军事部门、政府部门。

DAC与MAC共同构成DBMS的安全机制。

3视图机制

为不同用户定义不同的视图,把数据对象限制在一定的范围内。也就是说通过视图,把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护。

视图机制间接实现了支持存取谓词(带查询条件)的用户权限定义。

示例:建立计算机系学生的视图,把对该视图的SELECT权限授于王平,把该视图上的所有操作权限授于张明

先建立计算机系学生的视图CS_Student

CREATEVIEWCS_Student

AS

SELECT*

FROMStudent

WHERESdept='CS';

在视图上进一步定义存取权限:

ONCS_Student

TO王平;

GRANTALL

TO张明;

4审计

AUDIT语句用来设置审计功能,NOAUDIT语句取消审计功能:

示例:对修改SC表结构或修改SC表数据的操作进行审计

AUDITALTER,UPDATE

ONSC;

示例:取消对SC表的一切审计

NOAUDITALTER,UPDATE

5数据加密

数据加密是防止数据库中数据在存储和传输中失密的有效手段。

加密方法有:

替换方法:将明文中的每一个字符转换为密文中的一个字符

置换方法:将明文中的字符按照不同的顺序重新排列

混合方法:将替换方法和置换方法结合起来使用

6统计数据库安全性

一般地,统计数据库允许用户查询聚集类型的信息(如合计、平均值等),但是不允许查询单个记录信息。例如,查询“程序员的平均工资是多少”是合法的,但是查询“程序员张勇的工资是多少”就不允许。

统计数据库中特殊的安全性问题:可能存在隐蔽的信息通道,使得能从合法的查询中推导出不合法的信息。例如下面两个查询都是合法的:

(如果只有1名女高级程序员,就泄密了)

解决方法:1次查询至少涉及N个。但是即使是这样,还是存在另外的泄密途径,看下面的例子:

(用户A本人查询,可推算出B的工资)

解决方法:两次交叉不多于M个。

数据库安全机制的设计目标:试图破坏安全的人所花费的代价远远大于得到的利益。

THE END
1.增强数据安全性的5种方法,行业新闻增强数据安全性的 5 种方法 ,网络安全领域正在飞速发展,与此同时,技术的进步也越来越有助于黑客和网络犯罪分子利用数据安全漏洞。网络安全攻击的持续增长态势是互联网用户和商业组织的主要担忧,他们确实应该担忧。这种攻击规模不断扩大的一个近期例子是最近被称为 “Wanhttp://ikai.naodi.com/mobile/news/show-ealuriahuq.html
2.Finnciti的安全性(从两方面分析)2)加密数据以防止数据中途被窃取 3 )维护数据的完整性,确保数据在传输过程中不被改变。 通常金融系统的网站大都编辑图片大小是https加密的,比如: 二、Finnciti的资金的安全性: Finnciti本身就是一个依托互联网的交易市场,土地和机器人都属于一种虚拟的产品。 https://www.meipian.cn/ahgcza3
1.你知道信息安全的三要素是哪些吗?信息安全是指信息系统(包括硬件、软件、数据、人、物理环境及其基础设施)受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,信息服务不中断,最终实现业务连续性,而保证信息安全的三要素有以下几点: 信息安全三要素是:保密性、完整性和可用性。 https://blog.csdn.net/QXXXD/article/details/143748895
2.云计算的网络安全问题研究论文(通用15篇)云计算背景下计算机网络的整体架构发生了较大的变化,在实际的安全防控过程中,应当通过设置多层防火墙的方式来有效阻隔外界对云端的影响,通过建立防火墙以及升级杀毒技术的,使云端的数据安全性得到了有效的提高,数据的整体使用效率也得到了有效的提高,满足了数据使用的实际需要,解决了云端数据保管过程中存在的突出问题。因此...https://www.yjbys.com/bylw/qitaleilunwen/140011.html
3.首个生成式AI安全指导性文件来了,明确31种安全风险2、在模型安全要求方面,征求意见稿从基础模型使用、生成内容安全、服务透明度、内容生成准确性、内容生成可靠性五大方面做出了严格要求。 比如:提供者如使用基础模型进行研发,不应使用未经主管部门备案的基础模型;应在网站首页等显著位置向社会公开第三方基础模型使用情况等信息;生成内容所包含的数据及表述应符合科学常识或...https://www.thepaper.cn/newsDetail_forward_24917463?commTag=true
4.端到端的自动驾驶离我们还有多远?我们提出了一个详细的分类(图2),基于输入模式、输出模式和基本的学习方法。此外还对安全性和可解释性方面进行了全面检查,以识别和解决特定领域的挑战; 我们提出了一个基于开环和闭环评估的评估框架。此外还总结了一份公开可用的数据集和仿真的汇总列表。最后评估了最近的方法,并探索了有趣的未来可能性。 https://www.51cto.com/article/764296.html
5.中山市酷美电子有限公司金属结构材料是指与传统结构材料相比具备更高的耐高温性、抗腐蚀性和高延展性等特性的新型材料,主要包括钛、镁、锆及其合金,钽铌,硬质材料等,以及高端特殊钢、新型铝材等。2020年,高性能金属结构材料领域取得以下几个方面的进展。 (1)铝合金研究取得多项突破 ...http://www.kmmzs.com/c381.html
6.利用HTTPS技术加强网站安全防护根据案例反馈,目前HTTPS的优缺点主要分布在三方面: HTTPS的优点: 安全性方面 在目前的技术背景下,HTTPS是现行架构下最安全的解决方案,主要有以下几个好处: 1、使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器; 2、HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http...https://ic.zqu.edu.cn/info/1045/1400.htm
7.浅谈区块链及其安全时至今日,区块链技术依旧盛行,笔者将通过这篇文章对区块链领域的一些基本概念、核心技术、安全性问题做以简要的介绍,希望对各位读者有益! 区块链简介 时常听别人说起区块链,那么到底什么是区块链呢? 区块链可以简要定义如下: 区块链(BlockChain)是一种分布式共享数据库(数据分布式存储和记录),利用去中心化和去信任...https://xz.aliyun.com/t/4135
8.CISSP:错题汇总4:数据分类都用于关注安全控制,除了已下哪一个?D A:存储 B:处理 C:分层 D: 转移 5:下列哪一项不是有效的风险定义? B A、几率、可能和机会的评估 B 移除脆弱性或防止一个(或多个)特定攻击发生的任何事情 C 风险 = 威胁 * 脆弱性 D 每个暴露实例 ...https://www.jianshu.com/p/d216171e7d2e
9.我们给区块链提了这100个问题来全面扫盲科技频道24.区块链中分布式数据存储是什么意思? 25.区块链的分布式存储是怎么保证安全性的? 26.共识机制现在大致有几种,有什么区别? 27.区块链是否有性能瓶颈? 28.区块链如何做到数据共享? 29.为什么区块链可以做到不可篡改? 30.区块链系统中不同节点之间是如何建立信任的? https://tech.hexun.com/2019-11-13/199255086.html
10.了解MicrosoftAccess安全性MicrosoftLearn以下各节介绍了几种保护 Access 数据库的方法。加密或解密数据库最简单(也是安全性最低)的保护方法是对数据库进行加密。加密数据库就是将数据库文件压缩,从而使某些实用程序(如字处理器)不能解读这些文件。加密一个不具有安全设置的数据库并不能保证数据库的安全,因为任何人都可以打开数据库并完全访问数据库中的...https://msdn.microsoft.com/zh-cn/library/aa139961(d=printer,v=office.10)
11.区块链钱包分类,有哪几类区块链钱包?钱包知识区块链Trust Wallet的安全性主要体现在以下三个方面: 1. 用户自己持有私钥,不透过Trust Wallet也可以对资产进行处置,拥有对自己加密资产100%的控制权; 2. 允许透过你抄写的助记词来恢复全部资产; 3. 提供了一个开源的代码库,并由安全专家社区进行审核; 以下是四款常见的手机钱包比较,对华人来说,Trust Wallet支持中文,有...https://www.jb51.net/blockchain/886992.html
12.中小学教师信息技术应用能力(30个能力点)微能力考核规范中小学教师信息技术应用能力(30个能力点)微能力考核规范 A1技术支持的学情分析 A2数字教育资源获取与评价 A3演示文稿设计与制作 A4数字教育资源管理 A5技术支持的课堂导入 A6技术支持的课堂讲授 A7技术支持的总结提升 A8技术支持的方法指导 A9学生信息道德培养 A10学生信息安全意识培养...https://edu.jixi.gov.cn/Course/39518.html
13.继续教育培训心得体会(通用23篇)了解了目前国内外一些新工艺、新材料、新技术、绿色建筑、绿色施工及先进的管理方法,同时对与注册建造师和工程建设有关的法律、法规、规章、规范性文件和标准规范及规程有了更进一步的认识和提高,下面我从以下几个方面谈谈自己在此次继续教育培训中的心得体会。https://www.unjs.com/fanwenwang/xdth/20220123202342_4710974.html
14.详解5大数据库安全威胁腾讯云开发者社区当DBA直接通过数据库而不是应用程序界面访问应用程序数据时,他绕过了应用程序日志记录和检索限制,并避免了应用程序权限和安全性机制。 当某个使用防泄露方案的客户端收到以下警告:受信任的DBA已直接通过数据库而不是通过某应用程序入口访问了此应用程序表中的敏感数据,这些表包含DBA不应访问的财务信息。这一发现清楚...https://cloud.tencent.com/developer/news/473081