基于NET的需求分析和解决方案设计_002.doc
- 文档编号:236068
- 上传时间:2022-10-07
- 格式:DOC
- 页数:12
- 大小:119.50KB
基于NET的需求分析和解决方案设计_002.doc
《基于NET的需求分析和解决方案设计_002.doc》由会员分享,可在线阅读,更多相关《基于NET的需求分析和解决方案设计_002.doc(12页珍藏版)》请在冰豆网上搜索。
第9章设计安全规范
第9章设计安全规范
本章概述
在本章中,将学习如何设计应用程序的安全性。
设计安全特性和策略是应用程序开发中最重要的方面之一。
随着企业网络安全性部分投入的增加,由于知识产权被盗取、系统停机、生产效率低下、声誉受损、消费者信心流失等方面带来的损失也在增加。
然而,也许可以通过增加适当的用户验证和授权方案,加密以保证数据完整性,以及执行数据验证等措施,为业务应用程序在恶劣的环境中提供有效的保护。
教学目标
l确定应用程序的一些安全性挑战和弱点
l为应用程序计划安全策略
l解释由Microsoft®.NET提供的安全特性
l为应用程序层设计授权、身份验和审核策略
教学重点
l为应用程序计划安全策略
l为应用程序层设计授权、身份验和审核策略
教学难点
l安全这个话题是一个时髦的话题,但作为一名学生很难体会到一个不安全的系统会给企业带来什么,所以需要老师耐心讲解
教学资源
课本
知识点
9.1应用程序开发的安全性概述
9.2为应用程序安全性制定计划
9.3使用.NET框架的安全特性
9.4设计授权、身份验证、和审核策略
习题
习题1-对应知识点为应用程序安全性制定计划
习题2-对应知识点为应用程序安全性制定计划
习题3-对应知识点为应用程序安全性制定计划
习题4-对应知识点为应用程序安全性制定计划
习题5-对应知识点设计授权、身份验证、和审核策略
教师光盘
幻灯片
教师光盘:
\Powerpnt\2710B_09.ppt
多媒体视频
教师光盘:
\Powerpnt\
习题解答
教师光盘:
\tPrep\answer
先修知识
在正式开始学习本章内容以前,学生须具备下列知识基础。
先修知识
推荐补充
了解Windows程序设计的基础知识。
《基于VB.NET的Windows程序设计》
了解WEB类程序设计的知识。
《面向.NET的Web应用程序设计》
连接XMLWebService开发的知识。
《XMLWebService开发》
建议学时
课堂教学(2课时)
教学过程
9.1应用程序开发的安全性概述
教学提示:
本章主要达到目的。
l能够确定应用程序的一些常见安全漏洞。
(略讲)
l定义一些安全性术语。
(略讲)
教学内容
教学活动
教学提示
讲授:
恶意攻击者使用各种方法利用系统漏洞,来达到他们的目的。
漏洞是安全性方面的弱点,攻击者可以使用它们获得对一个组织的网络或者网络资源的访问权。
下面这些漏洞,比如弱口令,并不是应用程序或者软件开发设计决策的结果。
然而,让一个组织了解这些安全弱点,以更好地保护他们的系统是非常重要的。
下面我们会介绍几种漏洞:
Ø弱口令
所谓强口令就是字母的大小写,数字和符号四个对象中任选三样出现在口令中的口令就是强口令,否则就是弱口令。
弱口令极有可能被人攻破,其实现在包括QQ,MSN等软件都已经大面积的提出密码保护,设置强密码等宣传,就是这个道理。
Ø软件配置错误
比如我们在安装很多软件的时候,在安装界面里,会出现选择是安装者个人使用,还是全部登陆该计算机的用户都可以使用。
如果您的设置错误,很有可能造成通过应用软件的历史记录而泄秘的事件发生。
还有其他很多可能造成漏洞的地方,这里就不一一论述了。
讲解课本:
9.1.1
阅书:
9.1.1
幻灯:
第4页
l对于7种漏洞,教师需要给予学生一些实际的案例,方便学生的理解。
讲授:
我们来看一下传统安全模型的不足:
我们可以参考“CASESTDY\第九章\阅读文档\CyberBook安全计划.doc”文档:
目标
CyberBookshop.NET应用程序是基于网络的,因此主要的安全隐患是在对系统的访问是通过Internet方式来进行的。
CyberBookshop.NET的安全计划是通过实现以下条件来最小化风险,减轻对数据以及网站可用性的威胁。
• 数据的完整性.在收到来自外网的恶意攻击中没有数据的丢失
• 数据的准确性.没有数据被破坏或者改变
• 数据的可访问性.授权用户可以在规定的会话时间内访问数据
• 禁止非法访问.只有被确认的用户才能进行数据的访问与操作
从这里面就可以看出原有的项目的不足。
所以作为目标进行改进。
讲解课本:
9.1.2
阅书:
9.1.2
幻灯:
第11页
l进行此段教学的过程中可以根据时间的允许程度给学生一点讨论的时间,让学生发散性的思考一下还有哪些不足。
讲授:
要设计一个安全的应用程序,必须熟悉书上的安全性原则。
在创建安全策略时需要考虑这些安全性原则。
讲解课本:
9.1.3
阅书:
9.1.3
幻灯:
第12页
讲授:
本章节的最后,我们来看一下主要的一些术语:
讲解课本:
9.1.4
阅书:
9.1.4
幻灯:
第13页
l可以根据学生前面学习过的一些专业知识,启发学生进一步认识所学的知识点。
9.2为应用程序安全性制定计划
教学提示:
本节主要达到一个目的。
l确定应用程序面临的威胁。
(略讲)
教学内容
教学方法
教学提示
讲授:
安全特性的计划和实现将会贯穿整个产品的开发过程。
在为应用程序安全性制定计划时,要查看底层网络和主机基础设施提供给应用程序的安全级别,以及目标环境可能会强加的任何限制。
而且还要考虑部署拓扑和中间层应用程序服务器,外围网络(也称作DMZ,非军事区,遮蔽子网)和内部防火墙等可能带来的影响。
讲解课本:
9.2.1
阅书:
9.2.1
幻灯:
第18页
讲授:
威胁模型是一种结构化的方法,用来帮助预测信息安全的潜在威胁。
在建立威胁模型过程中发现的潜在威胁,有助于创建正确的风险管理计划。
通过预测威胁,使团队能够以主动的方式减少风险。
STRIDE模型是一种简单的威胁分类方法,它根据威胁的特征对威胁进行分类。
STRIDE模型包括6类威胁,一个威胁可能属于多个类别。
讲解课本9.2.2
阅书:
9.2.2
幻灯:
第19页
讲授:
威胁建模的一种形式是对网络基础设施中某个明确定义的部分应用STRIDE模型。
例如,可能需要将Web服务器隔离,然后再为其建立威胁模型。
为基础设施建立威胁模型时,要确保具备所有的相关材料,包括:
l网络示意图
l硬件和软件配置
l数据流程图
l自定义源代码
讲解课本9.2.3
阅书:
9.2.3
幻灯:
第20页
讲授:
使用威胁模型(如STRIDE模型)的步骤如下:
1)定义范围。
确定在威胁建模的过程中将要评估哪些硬件和软件。
定义完待评估的软硬件后,就可以把精力完全集中在建立威胁模型所涉及的对象上,如Web服务器或分部办公室,而不必考虑整个网络。
2)建立团队。
团队应该具备多种技术和经验。
理想情况下,每个成员都应该多角度地考虑需要建立哪些威胁模型对象,甚至包括那些牵强附会或不合法的方面。
为了保证客观性,应该选择与对象没有太多利益关系的成员。
3)预测威胁。
在一间备有书写板、活动挂图及相关材料的房间里开会,讨论攻击者可能采用哪些手段攻击对象。
会议应该简短,并分为若干段进行,以便队员有时间进行思考。
同时请专人记录团队的讨论结果。
讲解课本:
9.2.4
阅书:
9.2.4
幻灯:
第22页
讲授:
安全策略定义一个组织对保护计算机和网络使用的需求,它保护信息的可用性、完整性和机密性。
安全策略包括一些过程用于检测、阻止和应对安全事件,它为实现安全计划和应用程序的过程提供一个框架。
安全策略决定应用程序允许做什么,以及应用程序的用户允许做什么。
在设计应用程序时,需要确定由企业安全策略定义的框架,并在这个框架下工作,以保证不会违背这些策略,违背这些策略可能会阻碍应用程序部署。
讲解课本:
9.2.5
阅书:
9.2.5
幻灯:
第24页
9.3使用.NET框架的安全特性
教学提示:
本节主要达到一个目的。
l学会使用.NET框架的安全特性。
(略讲)
教学内容
教学方法
教学提示
讲授:
现在我们来看一下类型安全验证的相关知识点:
讲解课本:
9.3.1
阅书:
9.3.1
幻灯:
第27页
讲授:
当您发布组件时,需要能够向用户保证您就是作者,保证代码是安全的、可以被信任,并保证程序集的标识可被验证。
通过“签名”代码可以实现此目的。
可以用两种方法签名程序集:
为程序集分配一个“强名称”。
强名称由程序集的标识以及公钥和数字签名组成。
强名称保证是一个唯一的名称,并由此确保了程序集的标识。
虽然为程序集提供强名称能够保证其标识,但这没有办法保证代码可受信任。
换句话说,强名称唯一标识并保证程序集的标识,但不保证它是您编写的。
尽管如此,如果程序集是众所周知的程序集,则仅根据强名称身份就可合理地作出信任决定。
使用数字证书,也称为“签名码”。
若要使用签名码签名程序集,必须向第三方颁发机构证明您的标识,并由此获取一个数字证书来证实您是组件的发信方。
讲解课本:
9.3.2
阅书:
9.3.2
幻灯:
第28页
讲授:
加密可以帮助保护数据不被查看和修改,并且可以帮助在本不安全的信道上提供安全的通信方式。
例如,可以使用加密算法对数据进行加密,在加密状态下传输数据,然后由预定的接收方对数据进行解密。
如果第三方截获了加密的数据,解密数据是很困难的。
在一个使用加密的典型场合中,双方(小红和小明)在不安全的信道上通信。
小红和小明想要确保任何可能正在侦听的人无法理解他们之间的通信。
而且,由于小红和小明相距遥远,因此小红必须确保她从小明处收到的信息没有在传输期间被任何人修改。
此外,她必须确定信息确实是发自小明而不是有人模仿小明发出的。
加密用于达到以下目的:
·保密性:
帮助保护用户的标识或数据不被读取。
·数据完整性:
帮助保护数据不更改。
·身份验证:
确保数据发自特定的一方。
为了达到这些目的,您可以使用算法和惯例的组合(称作加密基元)来创建加密方案。
讲解课本:
9.3.3
阅书:
9.3.3
幻灯:
第29页
有关其他的加密技术请参照:
讲授:
代码访问安全是一种资源约束模型,其设计目的是限制代码可访问的系统资源的类型和代码可执行的特权操作的类型。
这些限制与调用代码的用户或者代码运行所处的用户帐户无关。
本单元的开始详细叙述了代码访问安全的工作原理,然后是一组全面的例子,涵盖了可断言、要求、请求或者允许代码访问安全权限的所有资源。
讲解课本:
9.3.4
阅书:
9.3.4
幻灯:
第30页
讲授:
现在我们看一下基于角色的安全性:
讲解课本:
9.3.5
阅书:
9.3.5
幻灯:
第32页
讲授:
现在我们看一下独立存储的知识点:
讲解课本:
9.3.6
阅书:
9.3.6
幻灯:
第33页
讲授:
最后我们看一下.NET的安全特性的知识点:
讲解课本:
9.3.7
阅书:
9.3.7
幻灯:
第34页
9.4设计授权、身份验证、和审核策略
教学提示:
本节主要达到目的。
l为用户界面和用户处理组件设计授权策略。
(略讲)
l为用户界面和用户处理组件设计身份验证策略。
(略讲)
l为数据访问组件设计身份验证策略。
(略讲)
教学内容
教学方法
教学提示
讲授:
要为应用程序设计授权和身份验证策略,需要执行以下步骤:
1)确定资源。
2)选择一个授权策略。
3)选择用于资源访问的标识。
4)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 NET 需求 分析 解决 方案设计 _002