基于NET的需求分析和解决方案设计09.docx
- 文档编号:27775369
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:19
- 大小:23.62KB
基于NET的需求分析和解决方案设计09.docx
《基于NET的需求分析和解决方案设计09.docx》由会员分享,可在线阅读,更多相关《基于NET的需求分析和解决方案设计09.docx(19页珍藏版)》请在冰豆网上搜索。
基于NET的需求分析和解决方案设计09
第9章设计安全规范
本章概述
在本章中,将学习如何设计应用程序的安全性。
设计安全特性和策略是应用程序开发中最重要的方面之一。
随着企业网络安全性部分投入的增加,由于知识产权被盗取、系统停机、生产效率低下、声誉受损、消费者信心流失等方面带来的损失也在增加。
然而,也许可以通过增加适当的用户验证和授权方案,加密以保证数据完整性,以及执行数据验证等措施,为业务应用程序在恶劣的环境中提供有效的保护。
教学目标
●确定应用程序的一些安全性挑战和弱点
●为应用程序计划安全策略
●解释由Microsoft®.NET提供的安全特性
●为应用程序层设计授权、身份验和审核策略
教学重点
●为应用程序计划安全策略
●为应用程序层设计授权、身份验和审核策略
教学难点
●安全这个话题是一个时髦的话题,但作为一名学生很难体会到一个不安全的系统会给企业带来什么,所以需要老师耐心讲解
教学资源
课本
知识点
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应用程序开发的安全性概述
教学提示:
本章主要达到目的。
●能够确定应用程序的一些常见安全漏洞。
(略讲)
●定义一些安全性术语。
(略讲)
教学内容
教学活动
教学提示
讲授:
恶意攻击者使用各种方法利用系统漏洞,来达到他们的目的。
漏洞是安全性方面的弱点,攻击者可以使用它们获得对一个组织的网络或者网络资源的访问权。
下面这些漏洞,比如弱口令,并不是应用程序或者软件开发设计决策的结果。
然而,让一个组织了解这些安全弱点,以更好地保护他们的系统是非常重要的。
下面我们会介绍几种漏洞:
Ø弱口令
所谓强口令就是字母的大小写,数字和符号四个对象中任选三样出现在口令中的口令就是强口令,否则就是弱口令。
弱口令极有可能被人攻破,其实现在包括QQ,MSN等软件都已经大面积的提出密码保护,设置强密码等宣传,就是这个道理。
Ø软件配置错误
比如我们在安装很多软件的时候,在安装界面里,会出现选择是安装者个人使用,还是全部登陆该计算机的用户都可以使用。
如果您的设置错误,很有可能造成通过应用软件的历史记录而泄秘的事件发生。
还有其他很多可能造成漏洞的地方,这里就不一一论述了。
讲解课本:
9.1.1
阅书:
9.1.1
幻灯:
第4页
●对于7种漏洞,教师需要给予学生一些实际的案例,方便学生的理解。
讲授:
我们来看一下传统安全模型的不足:
我们可以参考“CASESTDY\第九章\阅读文档\CyberBook安全计划.doc”文档:
目标
CyberBookshop.NET应用程序是基于网络的,因此主要的安全隐患是在对系统的访问是通过Internet方式来进行的。
CyberBookshop.NET的安全计划是通过实现以下条件来最小化风险,减轻对数据以及网站可用性的威胁。
•数据的完整性.在收到来自外网的恶意攻击中没有数据的丢失
•数据的准确性.没有数据被破坏或者改变
•数据的可访问性.授权用户可以在规定的会话时间内访问数据
•禁止非法访问.只有被确认的用户才能进行数据的访问与操作
从这里面就可以看出原有的项目的不足。
所以作为目标进行改进。
讲解课本:
9.1.2
阅书:
9.1.2
幻灯:
第11页
●进行此段教学的过程中可以根据时间的允许程度给学生一点讨论的时间,让学生发散性的思考一下还有哪些不足。
讲授:
要设计一个安全的应用程序,必须熟悉书上的安全性原则。
在创建安全策略时需要考虑这些安全性原则。
讲解课本:
9.1.3
阅书:
9.1.3
幻灯:
第12页
讲授:
本章节的最后,我们来看一下主要的一些术语:
讲解课本:
9.1.4
阅书:
9.1.4
幻灯:
第13页
●可以根据学生前面学习过的一些专业知识,启发学生进一步认识所学的知识点。
9.2为应用程序安全性制定计划
教学提示:
本节主要达到一个目的。
●确定应用程序面临的威胁。
(略讲)
教学内容
教学方法
教学提示
讲授:
安全特性的计划和实现将会贯穿整个产品的开发过程。
在为应用程序安全性制定计划时,要查看底层网络和主机基础设施提供给应用程序的安全级别,以及目标环境可能会强加的任何限制。
而且还要考虑部署拓扑和中间层应用程序服务器,外围网络(也称作DMZ,非军事区,遮蔽子网)和内部防火墙等可能带来的影响。
讲解课本:
9.2.1
阅书:
9.2.1
幻灯:
第18页
讲授:
威胁模型是一种结构化的方法,用来帮助预测信息安全的潜在威胁。
在建立威胁模型过程中发现的潜在威胁,有助于创建正确的风险管理计划。
通过预测威胁,使团队能够以主动的方式减少风险。
STRIDE模型是一种简单的威胁分类方法,它根据威胁的特征对威胁进行分类。
STRIDE模型包括6类威胁,一个威胁可能属于多个类别。
讲解课本9.2.2
阅书:
9.2.2
幻灯:
第19页
讲授:
威胁建模的一种形式是对网络基础设施中某个明确定义的部分应用STRIDE模型。
例如,可能需要将Web服务器隔离,然后再为其建立威胁模型。
为基础设施建立威胁模型时,要确保具备所有的相关材料,包括:
●网络示意图
●硬件和软件配置
●数据流程图
●自定义源代码
讲解课本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框架的安全特性
教学提示:
本节主要达到一个目的。
●学会使用.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设计授权、身份验证、和审核策略
教学提示:
本节主要达到目的。
●为用户界面和用户处理组件设计授权策略。
(略讲)
●为用户界面和用户处理组件设计身份验证策略。
(略讲)
●为数据访问组件设计身份验证策略。
(略讲)
教学内容
教学方法
教学提示
讲授:
要为应用程序设计授权和身份验证策略,需要执行以下步骤:
1)确定资源。
2)选择一个授权策略。
3)选择用于资源访问的标识。
4)考虑这个标识是否会在系统中流动。
5)选择一个身份验证方法。
6)决定这个标识怎样在系统中流动。
讲解课本:
9.4.1
阅书:
9.4.1
幻灯:
第37页
讲授:
我们现在来看一下为用户界面组件设计授权策略的相关知识点:
讲解课本:
9.4.2
阅书:
9.4.2
幻灯:
第38页
讲授:
我们现在来看一下为业务组件设计授权策略的相关知识点:
讲解课本:
9.4.3
阅书:
9.4.3
幻灯:
第39页
讲授:
我们现在来看一下为数据访问组件设计授权的相关知识点:
讲解课本:
9.4.4
阅书:
9.4.4
幻灯:
第40页
讲授:
我们现在来看一下为用户界面组件设计身份验证策略的相关知识点:
讲解课本:
9.4.5
阅书:
9.4.5
幻灯:
第41页
讲授:
现在我们看一下为数据访问组件设计身份验证策略的知识点:
讲解课本:
9.4.6
阅书:
9.4.6
幻灯:
第43页
讲授:
最后我们看一下设计审核策略的知识点:
讲解课本:
9.4.7
阅书:
9.4.7
幻灯:
第44页
总结
经过本章的学习,我们了解了下列的知识和内容。
●确定应用程序的一些安全性挑战和弱点
●为应用程序计划安全策略
●解释由Microsoft®.NET提供的安全特性
●为应用程序层设计授权、身份验和审核策略
在第十章中,我们将进行完成计划阶段的学习,让大家能理解完成计划阶段在MSF中起到什么作用.
布置作业
完成书后习题1-5
案例教学
对应本书光盘“CASESTDY\第九章\阅读文档\”,通过对这些文档资料对安全规范的创建有一个整体的了解。
案例
Baldwin科学博物馆
背景
Baldwin科学博物馆是一个非盈利的地方科学博物馆。
博物馆在3个城市拥有分馆。
每个分馆都有为孩子设计的探索区域。
探索区域提供两种探索活动。
一种是电话亭式的计算机,显示静态的、用户选择的科学信息。
另一种是非计算机化的智力测试题、地图和物理试验。
博物馆现在致力于将所有的探索活动计算机化。
博物馆主管聘用你为实现这个目标定义一个解决方案结构。
你要使用微软.NET框架。
根据你的合同,你必须在3个月内在博物馆总部引进第一个新活动。
随后的活动应尽快完成。
所有的活动必须在引进到其他两个分馆前在总馆引进。
现有IT环境
Baldwin科学博物馆有5台运行微软Windows2000AdvancedServer的计算机。
现用目录用来对博物馆员工进行身份认证。
5台服务器中的3台运行IIS。
每个IIS服务器对应一个分馆。
每个探索区域包括运行Windows2000专业版和IE5的电话亭计算机。
3个分馆中的所有25个电话亭计算机相互连接。
在每个分馆,电话亭计算机接收来自IIS服务器的内容。
总管通过专业的帧中继链环与其他分馆连接,每个链环以56Kbps运行。
会见IT部门IT经理
博物馆总馆拥有3台Windows2000AdvancedServer的计算机。
其中一台也运行IIS。
其他分馆有一台运行IIS的服务器计算机。
IIS服务器为电话亭计算机显示信息。
为了更新提供的信息,我们在每月的一天从总部向其他分部配置新的软件。
我们要关闭电话亭计算机一天用来更新。
因此,我想要重新设计更新过程来减少更新所需的时间。
我们计划在博物馆的总馆安装一个专用的流媒体服务器。
我们也计划在所有分馆安装新的应用程序计算机来运行新的探索设备。
我们会保留所有现有的电话亭计算机。
首席开发员
现在,我的开发人员使用ASP和微软Jscript。
我们会培训开发人员维护新的探索应用程序。
我们计划在每个应用程序中使用统一模块,因此我们要能够方便重用模块。
一旦模块升级后,所有的应用程序都能使用模块中的升级。
商业利益相关者博物馆馆长
一个匿名的捐助人向我们提供了一大笔赠款,因此我们有了足够的经济能力完成这个项目。
根据捐赠条款,我们必须使用这笔赠款升级博物馆里的探索活动。
这些必须有如下特点:
探索应用程序间简单导航
导航方法必须连续运行
导航方法要防止儿童连接操作系统的部件
导航方法要防止儿童停止进程
高质量图形
拖放功能,方便操作桌面程序完成任务
高度交互式运作,快速响应时间和向用户迅速反馈
支持流媒体,快速响应时间
支持有特殊需求的儿童,例如近视或者听力障碍
适于儿童使用的在线帮助
另外,赠款要求我们定时向捐赠人报告每个探索活动的使用频率。
问题案例Baldwin科学博物馆
1.你为Baldwin科学博物馆使用哪种解决方案?
A.控制台应用程序
B.多用户应用程序
C.N层应用程序
D.网络应用程序
答案:
C
2.你正在了解Baldwin科学博物馆的需求。
你应了解哪些需求?
(多选)
A.可维护性
B.易用性
C.可扩展性
D.高绩效性
答案:
A,B,C,D
3.你要评估解决方案对现有IT环境的影响。
你决定IT环境需要改进。
你应该怎么做?
A.将InternetExplorer升级到6.0版本
B.将电话亭计算机升级到微软WindowsXP专业版
C.增加博物馆分馆间的带宽
D.为服务器硬盘增加空间
答案:
C
4.你要为探索应用程序提供用户支持。
你应该怎么做?
A.为所有桌面程序添加上下文帮助
B.为所有桌面程序添加弹出文本
C.添加可以与用户交谈的互动式程序
D.为每个应用程序创建流媒体指南
答案:
C
5.你正为开发探索应用程序设计一个公共接口。
你应该怎么做?
A.建立一个MDI应用程序。
在显示菜单列出可用的探索活动。
在每个应用程序安装独立的MDI窗口
B.在应用程序视窗中建立显示探索活动图像的应用程序。
当用户点击图片,打开相应的应用程序
C.建立一个SDI应用程序。
在显示菜单列出可用的探索活动。
在SDI窗口中切换应用程序
D.为每个探索应用程序建立快捷方式。
将快捷方式放在桌面。
当用户点击快捷方式,打开相应的应用程序
答案:
B
6.导航应用程序用来连接所有的探索应用程序。
你要为程序创建概念模型。
模型中应包含哪些对象?
(多选)
A.标题栏
B.主屏幕
C.登录管理器
D.动画助理
答案:
B,D
7.你正为安装和升级探索应用程序和共享集合设计方法论。
你的方法应支持新的应用程序和对现有程序的更新。
方法应减少对行政管理的需求。
你应使用哪两个策略?
A.在同一目录中安装所有应用程序作为导航程序
B.在应用程序的\bin目录中安装共享模块
C.在应用程序的Inetpub\wwwroot\bin目录中安装所有应用程序
D.在GAC中安装共享模块
E.在不同的目录中安装应用程序
答案:
A,D
8.你正设计一个集合,用以监控探索应用程序的使用。
博物馆总馆将生成描述使用情况的报告。
你要为相应信息的日志选择一种策略。
你应该怎么做?
A.为Listeners集合添加一个TextWriterTraceListener,当应用程序开始运行时写入一个条目
B.建立系统诊断.事件日志,当应用程序开始运行时写入一个条目
C.使用系统诊断.轨迹转换,当应用程序开始运行时写入一个条目
D.使用系统诊断.调试.写入,当应用程序开始运行时写入一个条目
答案:
A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 NET 需求 分析 解决 方案设计 09