《清华大学信息与网络安全概论(第三版)课件 (12).ppt》由会员分享,可在线阅读,更多相关《清华大学信息与网络安全概论(第三版)课件 (12).ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库安全(Database Security)信息与网络安全概论(第三版)本章內容15.1 数据库系统15.2 数据库管理系统的安全威胁15.3 数据库安全实现15.4 统计数据库安全15.5 任意性数据库的安全15.6 多层式数据库15.7 信息隐码攻击信息与网络安全概论(第三版)数据库系统数据库系统必须考虑以下4个因素:1.数据内容:以最经济的方式,将有用的数据收集起来。2.访问方式(Access):将各式各样的数据从数据库中找出并加以处理。3.物理存储结构(Physical Organization):建立一种索引(Index)技术,以快速找到实际存储位置。4.逻辑存储结构(Logic
2、al Structure):让每位用户访问同一数据库时,能感觉此数据库似乎是自己专属,可以快速且很容易访问。信息与网络安全概论(第三版)数据库内数据的层次关系信息与网络安全概论(第三版)l数据库是由数据库管理系统(DBMS)操作、维护及管理,而文件则是由操作系统(OS)管理。l数据库安全比操作系统安全在处理对象上更具弹性且细微。DBMS必须处理数据库的属性项、列数,甚至各数据项,而OS仅处理文件。l数据库比文件更经常被访问及更新。l数据库的访问经常须同时关联到多个关系表,而文件的访问则同一时间仅处理一个文件。15.1.2 数据库与文件的差异信息与网络安全概论(第三版)数据库管理系统与操作系统的
3、关系信息与网络安全概论(第三版)1.注释标志“-”“-”符号后面的说明将不会被程序解释2.新建一个数据库 CREATE DATABASE TEST 3.创建一个数据表 CREATE TABLE TestTable(ID int,Name char(30)15.1.3 结构化查询语言信息与网络安全概论(第三版)4.在数据表中新增一条记录 INSERT TestTable(ID,Name)VALUES(100,test)5.在数据表中显示指定字段的数据 SELECT ID,Name FROM TestTable6.更改数据表中的内容 UPDATE TestTable SET ID=101 WHER
4、E Name=test7.删除符合条件的数据记录 DELETE FROM TestTable WHERE Name=test15.1.3 结构化查询语言(续)信息与网络安全概论(第三版)假设要查询职员关系表中居住在辽宁的职员数据,SQL语句为 SELECT*FROM 职员关系表WHERE 地址=辽宁;其查询结果为身份证号码 姓名 地址 生日230822198008202115 林一乔 辽宁 08.20 15.1.3 结构化查询语言(续)信息与网络安全概论(第三版)15.2.1 数据库安全威胁l数据库内机密数据被非法者窃取l数据库内数据被非法者篡改及伪造l数据库内数据被非法者破坏,让合法者不能访
5、问l数据库推论(Database Inference)l数据库聚合(Database Aggregation)l木马病毒(Trojan Horse)l密道(Covert Channel)信息与网络安全概论(第三版)15.2.2 数据库推论请问经管系英语成绩总分(Enter)405请问经管系男生英语成绩总分(Enter)312由于非法者已知黄品洁同学就读经管系,而且该系只有她一位女生,因此可推测出黄品洁同学的英语成绩为405-312=93分。若想得知黄品洁 同学的英语成绩信息与网络安全概论(第三版)15.2.2 数据库推论(续)ID NumberNAMESEXMAJORSCORE96801黄仲良
6、男经管系7896802黄品洁女经管系9396803柯一庆男经管系8896804王桥益男经管系6396805林帝务男经管系8396808李脑笛男化工系6296810王界石男化工系8796813陈一信男化工系80信息与网络安全概论(第三版)15.2.3 数据库聚合数据库聚合是指个别数据虽不具有机密性,但聚合多个数据后却可获得机密信息。职员职位关系表 职位工资关系表 员 工 编 号姓 名职 位A01黄品洁总经理A02林依萍经理A03黄品砚经理A04陈祥庆职员 职 位工 资总经理9000元经理5000元职员3000元信息与网络安全概论(第三版)15.3 数据库安全实现数据分享、最少数据重复、数据一致性
7、、数据完整性及数据安全性。良好的数据库应该具备以下特性数据库安全分为以下4类l实体安全l构建在操作系统上的安全l构建在数据库管理系统上的安全l以密码学为基础的安全信息与网络安全概论(第三版)15.4 统计数据库安全统计数据库是一可提供平均值(AVERAGE)、总和(SUM)、可变数(VARIABLE)及总数(COUNT)等统计数据的数据库。数据库的推论问题(Inference Problem)n未授权者不能直接查询该女性的工资数据,但他可以将统计查询结果及一些已知信息做分析比较,进而推导出该机密数据。信息与网络安全概论(第三版)范例想要知道想要知道黄品洁的学业成绩 ,可以通过校园网合法地查询:
8、用户询问:SELECT COUNT()FROM STUDENTWHERE(SEX=女)AND(MAJOR=经管系);系统回答:1 信息与网络安全概论(第三版)推导出黄品洁的成绩为92分。若没有SUM函数可供使用,也可以下列方式得到黄品洁的成绩信息。用户再询问:SELECT COUNT()FROM STUDENTWHERE(SEX=女)AND(MAJOR=经管系)AND(SCORE80);系统回答:0 範例(續)用户再询问:SELECT SUM(SCORE)FROM STUDENTWHERE(SEX=女)AND(MAJOR=经管系);系统回答:92 信息与网络安全概论(第三版)SIDNAMESE
9、XMAJORSCORE96801黄仲良男电子系7896802黄品洁女经管系9296803柯一庆男数学系8896804王桥琪女化工系6096805林帝务男数学系8396806苏梧娇女电子系7096807林考铺男化工系8596808李脑笛男数学系6296813李界美女电子系78信息与网络安全概论(第三版)15.4.2 推理问题解决方法l 近似查询法近似查询法 不回答正确的结果给查询者,而将正确的结果做一些修改,以伪装正确数据。l 限制查询法限制查询法 对于敏感数据的查询及其统计量可能会危及数据库安全时,系统拒绝回答。l 追踪法追踪法 在回答查询时,先分析此查询是否会被用来推理统计数据库的敏感数据,
10、若是则拒绝回答。解决统计数据库的推理问题可以用以下3种方法:信息与网络安全概论(第三版)15.4.3 近似查询法l合成法(Combining Results)l随机取样法(Random Sample)l随机误差法(Random Data Perturbation)信息与网络安全概论(第三版)合成法n个别敏感数据很容易被推导出来,但可以把多个数据项合并成一个数据项,使它比较不具有敏感性,这种方法称为合成法。抑制查询量 合 成 法 死 亡 原 因2002200320042005意外死亡2233AIDS1102心脏病2322死 亡 原 因2002-20032004-2005意外死亡46AIDS22心
11、脏病54信息与网络安全概论(第三版)随机取样法l每次系统所回应的查询结果,并不是从整个数据库核算出来,而是从数据库中随机取样部分数据进行核算。例如,某一成绩数据库内含100位女学生数据,当要查询女学生的平均成绩时,系统并不直接计算数据库内100位女学生的平均成绩,而是随机选取其中的95位来计算其平均成绩。信息与网络安全概论(第三版)Min-Min-ShiangShiang Hwang Hwang随机误差法 The McGraw-Hill Companies,Inc.,2005 The McGraw-Hill Companies,Inc.,2005l每次查询再加上一误差值,此可为正值或负值,这种
12、方法比随机取样法更简单且更有效率,而且不用担心相同查询会随机选取不同样本。信息与网络安全概论(第三版)15.5 任意性数据库的安全l数据库系统的安全性策略用于描述用户所能访问的数据库权限。优点:实行容易和理论基础简单等优点缺点:数据保密的单位太大信息与网络安全概论(第三版)15.5.3 访问模式当张丰以下列SQL语句查询人事数据库时:SELECT SALARYFROM EMPWHERE SALARY20000;系统转成访问要求(张丰,EMP,SELECT,SALARY20000)访问法则主 件(S)物 件(O)访 问 权 限(t)限 制 条 件(P)张丰人事数据库(EMP)SELECTSALA
13、RY30000李良人事数据库(EMP)可访问SALARY50000王歌人事数据库(EMP)可访问20AGE40信息与网络安全概论(第三版)数据库访问控制处理信息与网络安全概论(第三版)15.5.4 关联基表与视图l关联基表是每笔记录均实际存储在磁盘内做永久保存。l视图则是由基表抽取出来部分或结合其他基表产生出的虚拟关系表。关联基表 视图ENONAMEDEPARTMENTADDRESSSALARY96801黄仲良信息部上海市5800元96802黄品洁信息部上海市7800元96803柯一庆信息部上海市3500元96804王桥琪企划部上海市2500元96805林帝务企划部上海市6200元96806苏
14、梧娇企划部上海市3900元96807林考铺研发部南京市6000元96808李脑笛研发部南京市4300元96813李界美研发部南京市7100元NAMESALARY黄仲良5800元黄品洁7800元柯一庆3500元信息与网络安全概论(第三版)如何生成视图例如,利用SQL查询所有部门平均工资的视图其SQL语句二如下:CREATE VIEW AVGSAL AS SELECT DEPARTMENT,AVG(SALARY)FROM EMP GROUP BY DEPARTMENT 视图(AVGSAL)的查询结果 DEPARTMENTAVG(SALARY)信息部5700元企划部4200元研发部5800元信息与网
15、络安全概论(第三版)15.5.5 安全性控制1.采用视图(View)的方法来隐藏敏感的数据,以防止未经授权的用户执行非法行为。2.由授权系统决定每一个用户对每一个关系表的使用权利,以控制用户对数据库的数据的访问权利。信息与网络安全概论(第三版)15.6 多层式数据库l所谓多层式数据库,就是以第4章介绍的强制性访问策略(Mandatory Access Control)为基础的数据库。l依用户职位或等级的不同,而有不同的安全等级。信息与网络安全概论(第三版)15.6.1 多层式数据表n所谓多层式数据表,是指在一般数据表内,每一基本数据项(Atomic)、记录(Tuple)、属性(Attribut
16、e)或字段及数据表(Table)本身均有一相对应的安全等级。多层式数据表ENOC1NAMEC2SALARYC396801S黄仲良S5800元S96802S黄品洁S7800元TS96803TS柯一庆TS3500元TS信息与网络安全概论(第三版)完整性规则l l 实体完整性规则实体完整性规则-关联基表(Base Relation)的主键(Primary Key),其所有属性项均不能为空值(Null Value)。l 参考完整性规则参考完整性规则-关联基表的外键(Foreign Key)值必须存在于其他关联基表的主键,否则此外键必须为空值。信息与网络安全概论(第三版)15.6.2 数据多重性问题l如
17、果有一位一般用户新增一笔(A03、黄品砚、6000元)记录,由于一般用户从表中并不知A03记录已存在(事实上该记录存在,只是一般用户没有权限读取),此时数据库管理系统若以数据重复原因拒绝一般用户存储,该用户将了解数据库中已有A03这条记录,反而泄漏此信息。若数据库管理系统允许存储此数据,则又将造成数据重复问题,称为数据多重性问题(Polyinstantiation)。信息与网络安全概论(第三版)违反实体完整性规则ENOC1NAMEC2SALARYC396801S黄仲良S5800元S96802S黄品洁S7800元TS96803TS柯一庆S3500元TS(a)ENOC1NAMEC2SALARYC3
18、96801S黄仲良S5800元S96802S黄品洁SNullTSNullTS柯一庆SNullTS(b)信息与网络安全概论(第三版)违反参考完整性规则ENOC1ADDRESSC496801S上海市S96802S南京市TS96803S上海市S(a)ENOC1NAMEC2SALARYC396801S黄仲良S5800元S96802S黄品洁S7800元TS96803TS柯一庆TS3500元TSENOC1ADDRESSC4NAMEC2SALARYC396801S上海市S黄仲良S5800元S96802SNullS黄品洁SNullS96803S上海市SNullSNullS(c)(b)信息与网络安全概论(第三版
19、)多 重 记 录新增一条记录ENOC1NAMEC2SALARYC396801S黄仲良S5800元S96802S黄品洁S7800元TS96803TS柯一庆TS3500元TS*96803S陈祥庆S5600元S信息与网络安全概论(第三版)多重数据ENOC1NAMEC2SALARYC396801S黄仲良S5800元S96802S黄品洁SNullSENOC1NAMEC2SALARYC396801S黄仲良S5800元S96802S黄品洁S7800元TS*96802S黄品洁S6100元S96803TS柯一庆TS3500元TS信息与网络安全概论(第三版)合法用户认证连接SELECT*FROM memberWH
20、ERE UID=&request(“ID”)&AND Passwd=&request(“Pwd”)&;UID=A123456789Passwd=1234SELECT*FROM memberWHERE UID=A123456789 AND Passwd=1234;15.7 信息隐码攻击信息与网络安全概论(第三版)SELECT*FROM memberWHERE UID=&request(“ID”)&AND Passwd=&request(“Pwd”)&;UID=Admin-Passwd=SELECT*FROM memberWHERE UID=Admin-AND Passwd=;15.7 信息隐码攻击(续)信息与网络安全概论(第三版)SELECT*FROM memberWHERE UID=&request(“ID”)&AND Passwd=&request(“Pwd”)&;UID=OR 1=1-Passwd=12345SELECT*FROM memberWHERE UID=OR 1=1-AND Passwd=12345;15.7 信息隐码攻击(续)信息与网络安全概论(第三版)其他信息隐码输入指令输入的SQL语句产生的结果;SHUTDOWN-停止SQL服务器;DROP Database-删除数据库;DROP Table-删除关系表;Truncate Table-清空关系表