信息系统攻击与防御(第九章)

信息系统攻击与防御(第九章)

ID:45880913

大小:323.84 KB

页数:50页

时间:2019-11-19

信息系统攻击与防御(第九章)_第1页
信息系统攻击与防御(第九章)_第2页
信息系统攻击与防御(第九章)_第3页
信息系统攻击与防御(第九章)_第4页
信息系统攻击与防御(第九章)_第5页
资源描述:

《信息系统攻击与防御(第九章)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九章安全防御方法构建安全系统概述数据库安全操作系统安全网络安全内容简介本章全面介绍了安全防御的各种方法,首先介绍了如何构建一个安全系统,然后分别介绍了数据库的安全防御、操作系统的安全防御和网络的安全防御。9.1.构建安全系统概述但凡一个安全系统都可以按照以下体系来构建:1.以最小权限运行2.缺省安全3.验证输入(1)验证应用程序的输入(2)验证外部组件的输入(3)安全异常(4)评估规范化问题4.防护措施(1)多层防护系统。(2)在软件系统内设置多层防护。(3)使用ACL(访问控制列表)。(4)其它的一些做法:不要信任未知的东西。只有在验明了来人的身份后,才能授予相应的权限。不要保

2、存秘密信息。保存秘密信息(比如密钥)很可能被攻击者窃取。使用操作系统提供的DPAPI(DataProtectionApplicationProgrammingInterface)——一个保护密钥的对策。5.安全的处理错误和异常6.对系统的安全特性进行严格的测试。7.从错误中获取知识和经验。学会总结经验教训,以避免再犯。8.不断学习安全相关的知识。9.2.数据库安全对于数据库系统来说,威胁主要来自:非法访问数据库信息;恶意破坏数据库或未经授权非法修改数据库数据;用户通过网络进行数据库访问时,受到各种攻击,如搭线窃听等;对数据库的不正确访问,引起数据库数据的错误。数据库系统的安全需求与

3、其它系统大致相同,要求有完整性、可靠性、有效性、保密性、可审计性及存取控制及用户身份鉴定等。9.2.数据库安全(续)如何安全配置MSSQL数据库:1.使用安全的密码策略2.使用安全的帐号策略3.管理扩展存储过程4.对网络连接进行IP限制9.2.数据库安全(续)针对嗅探的防护:1.为了克服使用本地sqlserver安全机制暴露用户信任的缺陷,可以在服务器上安装一个有效的证书(该证书是客户端信任的,并且事先已经通过“服务器认证”的凭证)。2.使用交换网络(switchednetworks)会有助于降低密码被窃取的风险。3.针对密码破解,只要把密码设置为足够强壮,并且对同个ip地址不停的

4、连接请求进行屏蔽即可。9.2.数据库安全(续)access的安全:Access数据库的安全机制已经更为完善。除了对数据库设置密码保护,对数据库进行编码压缩,还可以启用用户级的安全机制,在用户级别上控制对数据库的访问。1.数据库设置密码2.数据库压缩编码3.用户级安全机制9.2.数据库安全(续)mssql安全:MSSQL安全设置:(1)设置强壮的口令(2)删除不必要的系统存储过程与扩展存储过程(3)用户权限的严格控制(4)及时打补丁,防止溢出等相关的漏洞。9.2.数据库安全(续)mssql安全:Mssql注入防范:⑴对于动态构造SQL查询的场合,可以使用下面的技术:第一:替换单引号,

5、即把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的含义。再来看前面的例子,“SELECT*fromUsersWHERElogin='''or''1''=''1'ANDpassword='''or''1''=''1'”显然会得到与“SELECT*fromUsersWHERElogin=''or'1'='1'ANDpassword=''or'1'='1'”不同的结果。第二:删除用户输入内容中的所有连字符,防止攻击者构造出类如“SELECT*fromUsersWHERElogin='mas'--ANDpassword=''”之类的查询,因为这类查询的后半部分已经被注释掉,

6、不再有效,攻击者只要知道一个合法的用户登录名称,根本不需要知道用户的密码就可以顺利获得访问权限。第三:对于用来执行查询的数据库帐户,限制其权限。用不同的用户帐户执行查询、插入、更新、删除操作。由于隔离了不同帐户可执行的操作,因而也就防止了原本用于执行SELECT命令的地方却被用于执行INSERT、UPDATE或DELETE命令。9.2.数据库安全(续)mssql安全:Mssql注入防范:⑵用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下

7、文,这样就很难再发生注入式攻击了。⑶限制表单或查询字符串输入的长度。如果用户的登录名字最多只有10个字符,那么不要认可表单中输入的10个以上的字符,这将大大增加攻击者在SQL命令中插入有害代码的难度。⑷检查用户输入的合法性,确信输入的内容只包含合法的数据。数据检查应当在客户端和服务器端都执行——之所以要执行服务器端验证,是为了弥补客户端验证机制脆弱的安全性。⑸将用户登录名称、密码等数据加密保存。加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于对用户输入

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。