- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件安全测评
北京邮电大学计算机学院
信息安全系
张淼
zhangmiao@
第四讲软件安全设计
1 软件安全设计目标与主要任务
2 软件安全设计原则
3 软件安全设计方法
4 安全设计审查策略
1 软件安全设计目标与主要任务
如今计算机安全性的最大问题之一就是软
件不够健壮。软件的安全性往往只是事后
才被考虑到,很多时候其都被遗忘
1 软件安全设计目标与主要任务
Windows 操作系统不是为今天的网络环境
设计的;它是在PC 还没有进入互联网时代
时设计的,在设计之初没有很好的考虑到
安全性。
1 软件安全设计目标与主要任务
等到发现软件的安全风险再对软件的安全
性进行改进可行吗?
几乎每一个程序员都在项目开发时遇到过
自己软件的安全性bug,然后就不停地进行
修补。
1 软件安全设计目标与主要任务
软件安全并不是一个随时都可以添加到系
统中的功能部件,而是一个需要有效、仔
细地规划和设计的遍布于整个系统的特性。
因此,需要采用更为主动的方法来改进软
件的安全性
1 软件安全设计目标与主要任务
应该从软件设计伊始就要考虑软件的安全
性
可以通过在设计和开发软件时运用一系列
设计原则与方法来规避所有已知的风险。
2 软件安全设计原则
为了进行安全的软件设计,我们将给出10
条用于设计安全的软件的通用性原则。这
些原则的目标是要提炼出在设计和构建安
全的软件系统时应该记住的要点。遵循这
些原则将帮助您避免许多常见的安全性问
题。
2 软件安全设计原则
——原则1:保护最薄弱的环节
安全是一个木桶,能盛多少水是由木桶最
短的木板决定的,安全取决于最短的木板
如果进行适当的风险分析,则会比较容易
的发现一些软件中比较薄弱的组件。应该
首先消除那些比较严重的风险,而不是那
些比较轻微的风险。
2 软件安全设计原则
——原则2 :纵深防御
使用多重防御策略来管理风险,以便在一层防
御被攻破时,另一层防御将会在一定程度上阻
止破坏。
2 软件安全设计原则
——原则2 :纵深防御
2 软件安全设计原则
——原则3:防止软件错误导致信息泄漏
任何复杂的系统都会有错误,这是很难避
免的,但是可以避免的与错误有关的安全
问题。在目前,许多软件出现错误时,都
会导致不安全行为的发生。
2 软件安全设计原则
——原则3:防止软件错误导致信息泄漏
例如需要支持不安全的旧版软件而出现问
题
有经验的黑客可以在数据经过网络时,通
过篡改数据来迫使两台新客户端都认为对
方是旧客户端。
软件的原始版本十分简单,完全没有使用
加密。
2 软件安全设计原则
——原则3:防止软件错误导致信息泄漏
对这一问题的一种较好解决方案是从开始
就采用强制升级方案进行设计;使客户端
检测到服务器不再支持它。
当然这会得罪一些老用户,但是安全性得
到了很大的提高。
2 软件安全设计原则
——原则4 :最小特权
最小特权原则规定:只授予执行操作所必
需的最少访问权,并且对于该访问权只准
许使用所需的最少时间。
2 软件安全设计原则
——原则4 :最小特权
例如,如果您没养宠物,只需要一位朋友
偶尔收取您的邮件,那么您应当只给他邮
箱钥匙。
即使您的朋友可能找到滥用那个特权的办
法,但至少您不必担心出现其它滥用的可
能性。
如果您不必要地给出了房门钥匙,那么所
有一切都可能发生。
2 软件安全设计原则
——原则5:隔离
隔离原则背后的基本思想是如果我们将系
统分成尽可能多的独立单元,那么我们可
以将对系统可能造成损害的量降到最低
2 软件安全设计原则
——原则5:隔离
例如,潜水艇拥有许多不同的船舱,每个
船舱都是独立密封,就应用了这个原则;
如果船体裂开了一个口子而导致一个船舱
中充满了水,其它船舱不受影响。
船只的其余部分可以保持其完整性,人们
就可以逃往潜水艇未进水的部
文档评论(0)