2026数据库安全设计试题及答案解析_第1页
2026数据库安全设计试题及答案解析_第2页
2026数据库安全设计试题及答案解析_第3页
2026数据库安全设计试题及答案解析_第4页
2026数据库安全设计试题及答案解析_第5页
已阅读5页,还剩10页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026数据库安全设计试题及答案解析一、单项选择题(每题2分,共30分)1.数据库安全设计中“最小权限原则”是指?A.所有用户在数据库中都拥有相同权限,便于统一管理B.用户仅拥有完成自身任务所必需的最小权限C.只有DBA可以拥有权限,其他用户不得授予任何权限D.每次连接数据库后权限自动失效答案:B解析:最小权限原则的核心是“够用即可”,既防止过度授权带来的误操作,也降低账号被攻破后的横向扩散风险。2.下列哪种认证方式更能抵御口令窃听与重放攻击?A.静态口令认证B.基于数字证书的双向认证C.仅使用用户名作为身份标识D.通过明文传输的简单口令认证答案:B3.数据库透明数据加密(TDE)的核心作用是什么?A.防止网络传输层的数据被窃听B.防止数据库文件备份被非法拷走后直接读取敏感数据C.防止应用层SQL注入D.防止用户密码被暴力破解答案:B解析:TDE在存储层拦截数据并透明加解密,主要防护对象是磁盘、备份文件等静态数据,不解决网络传输和SQL注入问题。4.对于大数据量、性能要求高的字段加密场景,最适合的加密算法组合是?A.仅使用非对称加密如RSA加密每条记录B.使用对称加密如AES配合独立密钥管理C.只对数字列做MD5哈希D.直接将敏感字段明文存储答案:B解析:对称算法性能高,适合大数据量;非对称算法通常仅用于加密会话密钥或少量关键数据。5.在基于角色的访问控制(RBAC)模型中,授权的对象是?A.用户账号B.角色C.网络节点D.数据库进程答案:B6.下列数据库对象中,最适合用来向普通用户提供受限数据视图的是?A.索引B.视图C.序列D.物化日志答案:B7.下列哪项不能有效防御SQL注入攻击?A.使用预编译语句与参数化查询B.对输入做白名单校验C.数据库连接使用最小权限账号D.定期修改数据库管理员密码答案:D解析:修改DBA密码属于常规账号治理,与SQL注入攻击的防御没有直接关系。8.存储用户口令时,以下哪种方式最安全?A.明文存储B.使用MD5直接存储C.使用加盐哈希,如PBKDF2/bcryptD.仅以Base64编码存储答案:C解析:加盐哈希能够有效抵抗彩虹表攻击;明文和Base64编码都不具备密码学防护意义,MD5单次哈希也容易被爆破。9.数据库审计记录中最核心的取证信息是?A.数据库版本号B.操作者的身份标识C.数据库字符集D.表空间大小答案:B10.数据脱敏(DataMasking)的主要目的是?A.提高数据库查询速度B.在测试或开发等非生产环境中隐藏敏感数据,同时保留数据格式与关联关系C.完全删除生产环境的敏感数据D.为数据库增加加密索引答案:B11.数据库中引用完整性(ReferentialIntegrity)主要由哪种约束保证?A.PRIMARYKEYB.FOREIGNKEYC.CHECKD.DEFAULT答案:B12.防止数据库客户端与服务器之间数据被窃听,应在网络层采用?A.关闭所有数据库监听端口B.使用SSL/TLS加密数据库连接C.禁止所有远程连接D.在应用层将数据做Base64编码答案:B13.在容灾设计中,RPO(RecoveryPointObjective)描述的是?A.业务中断后允许的最长恢复时间B.灾难发生后最多可丢失的数据量,通常以时间长度或事务数衡量C.数据备份文件的总容量D.数据库单次事务的提交延迟答案:B14.若希望用户Alice能够将自己所拥有的某个权限继续授权给其他用户,应授予:A.SELECTWITHCHECKOPTIONB.GRANT...WITHGRANTOPTIONC.REVOKECASCADED.ALTERTABLE答案:B15.多租户场景中,需要在数据库层面自动隔离租户数据,优先选择哪种机制?A.为每个租户建立独立物理数据库B.行级安全(Row-LevelSecurity)配合租户标识列C.全局序列生成数据D.数据库级日志备份答案:B解析:独立物理库成本过高;行级安全通过在查询时自动追加过滤谓词,实现租户数据的逻辑隔离。二、多项选择题(每题3分,共15分)1.数据库安全设计应实现的基本安全属性包括?A.保密性B.完整性C.可用性D.功能丰富性答案:ABC解析:数据库安全目标对应“CIA三元组”,即保密性、完整性和可用性,功能丰富度不属于安全属性。2.以下哪些属于数据库加密系统设计时的关键考虑点?A.密钥生成、存储与轮换B.加密后的索引与查询性能影响C.加密粒度,如库级、表级、列级D.数据库采用何种开发语言实现答案:ABC解析:开发语言与加密方案本身无直接关系,其余三项直接影响加密可用性和安全性。3.下列哪些措施可有效缓解SQL注入风险?A.使用参数化查询预编译SQLB.对输入数据进行白名单校验与边界防护C.倡导最小权限原则,避免使用dba/admin连接D.关闭对用户的详细数据库错误信息展示答案:ABCD解析:参数化查询切断语义注入,白名单校验限制恶意字符,最小权限降低破坏范围,错误信息脱敏防止攻击者探测数据库结构。4.关于数据库审计,下列说法正确的有哪些?A.审计日志应记录登录失败与成功记录B.审计日志应包括操作时间、操作人和具体行为C.审计日志应受到保护,防止被攻击者篡改D.审计功能只有在数据库被入侵时才需要开启答案:ABC解析:审计应持续开启并形成闭环,不能在事后才启用,否则无法还原攻击路径。5.以下属于数据库敏感数据保护技术的有?A.数据脱敏B.静态数据加密(TDE)C.动态数据掩码(DDM)D.数据全量备份答案:ABC解析:备份主要保障可用性和容灾恢复,不直接起到防止敏感数据泄露的作用。三、判断题(每题2分,共10分)1.最小权限原则要求DBA拥有数据库中所有对象的全部权限。答案:错误解析:最小权限原则要求任何角色只拥有完成任务所需的最小权限,DBA也需要遵循职责分离原则。2.使用预编译参数化查询可以避免绝大多数SQL注入漏洞。答案:正确解析:参数化查询将用户输入作为数据处理,而不是作为可执行的SQL结构,从语义上隔离了注入。3.数据库对象权限可以无需授权而被任意用户直接操作。答案:错误解析:数据库对象操作必须通过GRANT显式授权,默认安全策略应为拒绝访问。4.定期清理无效账号与权限回收是数据库安全运维的重要环节。答案:正确5.数据库安全只需要关注网络防火墙,不必关注内部账号与存储介质安全。答案:错误解析:内部威胁、数据文件泄露、备份介质丢失也是数据库安全的重要风险来源。四、简答题(每题7分,共21分)1.简述数据库安全设计的核心原则,并各举一个实现示例。答案:(1)最小权限原则:只授予完成业务所需的最小权限。例如,给应用账号仅授予SELECT、INSERT权限,不授予DROP等高危权限。(2)纵深防御原则:在网络、主机、数据库、应用多层设置防护。例如,防火墙过滤访问来源,数据库启用连接加密,敏感字段应用列级加密。(3)职责分离原则:避免一人同时掌握开发、管理、审计等互斥权力。例如,DBA不兼任应用开发者,审计日志由独立安全团队维护。(4)默认安全原则:没有被明确授权的访问行为默认拒绝。例如,新建账号默认无任何权限,必须经申请逐项授权。(5)账号生命周期管理原则:对账号的创建、变更、注销进行全流程管理。例如,员工离职后第一时间回收数据库账号并归档操作记录。(6)审计与追踪原则:对敏感操作和高风险行为留存证据。例如,开启登录审计、权限变更审计与批量导出告警。解析:以上原则共同构成数据库安全设计的防护体系,实际部署时需要根据业务场景组合使用。2.比较视图授权机制与行级安全(Row-LevelSecurity)在数据隔离上的异同。答案:(1)实现层次不同:视图通过预先定义查询逻辑,在应用层引导用户访问受限数据;行级安全由数据库引擎在语句执行时自动追加行过滤谓词。(2)隔离强度不同:视图可能被用户绕过,例如高级用户直接查询基表;行级安全无论用户通过基表、视图还是索引访问,都强制进行行级过滤。(3)维护成本不同:视图需要为不同角色创建大量视图,授权关系复杂;行级安全集中定义安全策略,便于动态更新。(4)适用场景不同:视图适合结构稳定、隔离规则简单的场景;行级安全更适合多租户、用户身份动态变化的海量数据隔离。(5)性能影响不同:视图可能因查询复杂导致性能下降;行级安全也会增加过滤开销,但可由数据库优化器统一管理。解析:两者可以组合使用,视图负责列级和结构控制,行级安全负责行级强制隔离。3.数据库加密方案中为什么要引入独立密钥管理体系?请说明密钥管理的核心内容。答案:引入独立密钥管理体系的必要性:(1)防止密钥与应用进程共存,避免应用被攻破后密钥随之泄露。(2)支持密钥轮换,降低单次密钥泄露造成的长期风险。(3)实现密钥与数据隔离,提高加密强度的可信度。(4)满足审计与合规要求,密钥操作可追踪、可审计。密钥管理的核心内容包括:(1)密钥生成:使用密码学安全随机数生成器。(2)密钥存储:存放于硬件安全模块(HSM)或独立密钥管理服务中。(3)密钥分层:通常采用主密钥保护数据加密密钥,避免直接用主密钥加密业务数据。(4)密钥分发与导入:通过安全通道传输,确保密钥不落地明文。(5)密钥轮换与销毁:定期更新密钥,并对已废弃密钥进行安全销毁。(6)密钥备份与恢复:保障加密数据在密钥丢失或系统故障时仍可恢复。解析:没有独立密钥管理,加密的强度会被脆弱密钥保管环节抵消,整体防护效果将大幅下降。五、案例分析题(每题12分,共24分)1.某在线零售系统数据库存有用户姓名、身份证号、电话号码等敏感信息。当前应用使用一个超级管理员账号直连数据库,SQL大量采用字符串拼接,且数据库端口暴露于公网。请给出完整的数据库安全设计方案与整改步骤。答案:(1)账号与权限治理-为应用创建独立低权限账号,仅授予业务库所需的SELECT、INSERT、UPDATE权限,禁止DROP、TRUNCATE等高危操作。-删除应用对超级管理员账号的直接使用,DBA账号仅限本地运维。-关闭数据库公网开放端口,配置防火墙白名单,仅允许应用服务器IP访问。-启用强密码策略,并要求关键账号定期轮换。(2)开发规范整改-全部SQL改为参数化预编译查询,禁止在业务代码中拼接用户输入。-对输入进行白名单校验,包括长度、格式与非法字符过滤。-使用数据库连接池,严格控制连接生命周期,避免连接复用导致会话权限混乱。(3)敏感数据保护-对身份证号、手机号使用列级加密,例如AES-256-GCM,并对读取权限单独控制。-对整体数据文件启用TDE,防止备份文件或磁盘被盗后数据泄露。-测试与开发环境使用数据脱敏后的模拟数据,严禁直接复制生产敏感数据。(4)审计与监控-开启数据库审计,重点记录登录成功与失败、权限变更、敏感表查询、批量导出等行为。-部署数据库防火墙或异常行为检测系统,发现网段异常访问时及时告警。-对审计日志进行异地存储和防篡改保护。(5)应急响应与持续改进-制定数据泄露应急响应预案,明确溯源、止血、通告与恢复流程。-定期开展权限复查、渗透测试与数据合规评估。-建立数据导出审批机制,对高危操作强制双人复核。解析:该方案覆盖“账号权限、开发规范、存储加密、审计监控、应急响应”五个环节,形成闭环。核心是消除超级账号直连、SQL拼接和公网暴露三大高危问题。2.安全审计发现以下登录查询代码存在注入漏洞:```sqlSELECT*FROMusersWHEREusername='us请分析漏洞形成原因,并给出多种修复方案。答案:漏洞原因:-用户输入直接拼接进SQL语句,使输入与SQL代码结构边界混淆。-攻击者可构造特殊输入,例如在username字段输入'OR'1'='1,导致认证被绕过。-数据库账号若具备写权限,攻击者还可执行插入、删除、更新甚至执行系统命令。修复方案:(1)强制使用参数化预编译查询。例如使用JavaPreparedStatement或PHPPDO将输入作为参数绑定,数据库只解析固定SQL结构,不执行拼接内容。(2)对输入进行白名单校验。用户名限制为字母、数字及少量合法符号,密码长度与字符集也做严格约束,拒绝包含单引号、注释符等危险字符的请求。(3)应用数据库连接使用最

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论