Windows应用程序开发入门到精通十二:将安全隐患扼杀在摇篮之中——用Microsoft.NET来保护数据和应用程序的安全0322

上传人:桔**** 文档编号:583966499 上传时间:2024-08-30 格式:PPT 页数:27 大小:7.74MB
返回 下载 相关 举报
Windows应用程序开发入门到精通十二:将安全隐患扼杀在摇篮之中——用Microsoft.NET来保护数据和应用程序的安全0322_第1页
第1页 / 共27页
Windows应用程序开发入门到精通十二:将安全隐患扼杀在摇篮之中——用Microsoft.NET来保护数据和应用程序的安全0322_第2页
第2页 / 共27页
Windows应用程序开发入门到精通十二:将安全隐患扼杀在摇篮之中——用Microsoft.NET来保护数据和应用程序的安全0322_第3页
第3页 / 共27页
Windows应用程序开发入门到精通十二:将安全隐患扼杀在摇篮之中——用Microsoft.NET来保护数据和应用程序的安全0322_第4页
第4页 / 共27页
Windows应用程序开发入门到精通十二:将安全隐患扼杀在摇篮之中——用Microsoft.NET来保护数据和应用程序的安全0322_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《Windows应用程序开发入门到精通十二:将安全隐患扼杀在摇篮之中——用Microsoft.NET来保护数据和应用程序的安全0322》由会员分享,可在线阅读,更多相关《Windows应用程序开发入门到精通十二:将安全隐患扼杀在摇篮之中——用Microsoft.NET来保护数据和应用程序的安全0322(27页珍藏版)》请在金锄头文库上搜索。

1、如何使用如何使用Microsoft .NET保护保护应用程序和数据的安全应用程序和数据的安全 讲师讲师:欧岩亮欧岩亮 微软微软MSDN特约讲师特约讲师Live Meeting 2005新特性新特性n清晰音质清晰音质与微软资深讲师的零距离接触与微软资深讲师的零距离接触n实时讲义下载实时讲义下载轻松获得第一手资料轻松获得第一手资料n中文交互中文交互强大的中文提问平台,想问就问,强大的中文提问平台,想问就问, 没有困扰没有困扰n内容更精彩内容更精彩开发,集成,架构设计,开发,集成,架构设计, 项目管项目管理,应有尽有理,应有尽有课程介绍课程介绍n这次这次Webcast会给大家介绍如何应用会给大家介绍

2、如何应用.NET Framework中的特性来保护代码的安全中的特性来保护代码的安全基础内容基础内容n熟悉熟悉.NET开发开发nLEVEL 300课程安排课程安排n身份验证身份验证n授权授权n加密加密n强命名程序集强命名程序集n代码访问安全代码访问安全n中间层安全中间层安全n如何避免如何避免SQL注入注入身份验证身份验证n使用使用Credential来唯一标明一个用户来唯一标明一个用户n可以使用可以使用Microsoft Windows的集成身份验证,使用的集成身份验证,使用用户登录用户登录Windows时的用户凭证时的用户凭证n编写自己的用户身份验证的程序,应用程序来管编写自己的用户身份验证

3、的程序,应用程序来管理用户凭证。理用户凭证。nSystem.Security.IIdentity接口和接口和System.Secutity.GenericIdentity类类nSystem.Security.Principal.WindowsIdentity.GetCurrent().Name演示一演示一nAuthenticationAuthorizationn使用基于角色的安全使用基于角色的安全n可以通过编程实现基于角色的授权可以通过编程实现基于角色的授权n角色可以代表商业流程中的工作职责,例如:秘角色可以代表商业流程中的工作职责,例如:秘书、经理、管理员、总监等书、经理、管理员、总监等n用

4、角色的方式来管理用户会更加简便用角色的方式来管理用户会更加简便如何使用基于角色的安全如何使用基于角色的安全nPrincipalPermissionAttrivute和和SecurityAction.Demand _Public Class AdminClassnIPrincipal.isInRole()lblBossMan.Visible = _Context.User.IsInRole(“BossMan”)tbToBeChangedOnlyByQueenBee.ReadOnly = Not _Context.User.IsInRole(“QueenBee”)演示二演示二nAuthorizat

5、ion加密加密n加密将字节打乱加密将字节打乱n对称加密与非对称加密对称加密与非对称加密l对称加密适用一个相同的密钥进行加密/解密l非对称加密使用一个密钥对进行加密/解密,加密与解密的密钥是不同的(公钥/私钥对)l非对称加密算法更加安全l对称加密算法更加高效nSystem.Security.Cryptography名称空间名称空间n如何进行密钥管理如何进行密钥管理演示三演示三n加密加密Code Access Securityn最低权限的策略最低权限的策略nCode Group按照逻辑分类的代码组合按照逻辑分类的代码组合nCode Group可以按照多种方式划分可以按照多种方式划分URL,stro

6、ng name,zone,etcnPermission Sets许可集,用来定义代码能够访许可集,用来定义代码能够访问的资源:文件问的资源:文件I/O,Isolated Storage独立存储,独立存储,SQL客户端,等等。客户端,等等。nLink demandsDemo Fourn代码访问安全代码访问安全强命名应用程序集强命名应用程序集n使用使用sn.exe工具来创建强命名公钥工具来创建强命名公钥/私钥对,并存储在文件当私钥对,并存储在文件当中:中:sn.exe k Northwind.snknAssemblyKeyFileAttributen优势优势l可以被装载到GAC当中lSide-by

7、-side部署,支持多个版本的应用程序集l在编译时,.NET的客户端代码使用了强命名应用程序集,在运行时能够有效地防止装入“木马”应用程序集Delayed Signingn私钥保密性,确保开发团队中的多个组建使用相私钥保密性,确保开发团队中的多个组建使用相同的强命名同的强命名l只导出公钥sn -p Northwind.snk NorthwindPublicOnly.snklSn -Vr :关闭对只拥有公钥的强命名应用程序集进行验证lSn -R :在发布之前对应用程序集进行缓签名Link Demandsn连接请求发生在外部的代码对本应用程序集进行连接请求发生在外部的代码对本应用程序集进行调用的时

8、候调用的时候nSystem.Security.Permissions名称空间名称空间n例如:例如:StrongNameIdentityPermission属性属性n从某个应用程序集中提取公钥标示(一个十六进从某个应用程序集中提取公钥标示(一个十六进制的字符序列)制的字符序列)sn -Tp NorthwindModel.dlln例如:例如:StrongNameIdentityPermission( _SecurityAction.LinkDemand, _PublicKey:=“002400000d6”, _Version:=“1.0.0.0”)Middle Tier安全安全n最现成的方法,最现

9、成的方法,COM+是最安全的解决方案是最安全的解决方案与与Windows整合并支持配置整合并支持配置nWeb Service的安全可以通过的安全可以通过HTTPS和和IIS安全来控制安全来控制n当不能使用当不能使用IIS安全的时候,可以使用安全的时候,可以使用WS-Security(Web Service Enhancements的一部分)来的一部分)来保证平台之间的保证平台之间的Web Service安全安全nRemoting安全安全lIIS宿主和TCP,使用IIS安全和HTTPSl其他宿主,需要实现定制的Channel或Sink演示五演示五n中间层安全中间层安全SQL注入注入nSQL注入这

10、种威胁发生在动态生成注入这种威胁发生在动态生成SQL查询语句的查询语句的时候,动态生成的时候,动态生成的SQL语句可能会被篡改语句可能会被篡改n例如:例如:string sql = “select * from users where UserID = ” +UserID + “ and password=” + Password + “”n如果在上面的如果在上面的SQL语句中加入语句中加入OR 1 = 1这个条件,这个条件,users表中的所有数据将最为结果返回表中的所有数据将最为结果返回n所有使用动态所有使用动态SQL查询的应用程序都有可能受到这查询的应用程序都有可能受到这种威胁种威胁n为

11、了防御这种攻击,去掉所有的动态为了防御这种攻击,去掉所有的动态SQL查询:查询:使用使用ADO.NET中的中的SqlParameters演示六演示六n防止防止SQL注入攻击注入攻击安全设计目标安全设计目标n最小化攻击范围最小化攻击范围n分析具体的攻击并阻止它们:分析具体的攻击并阻止它们:l拒绝服务攻击l基于文件或目录的攻击lSQL注入l引诱攻击(Luring)n防患于未然,提早预知新的攻击防患于未然,提早预知新的攻击n使用经过验证的安全技术:身份验证,给予角色使用经过验证的安全技术:身份验证,给予角色的授权,的授权,HTTPS,加密,加密总结总结n.NET包括了强大的内建的安全特性包括了强大的

12、内建的安全特性n具体问题具体分析,根据情况来选择安全技术,具体问题具体分析,根据情况来选择安全技术,编写安全的基于编写安全的基于Windows Forms的代码的代码n不需要绞尽脑汁去发明新的安全代码不需要绞尽脑汁去发明新的安全代码更多信息更多信息n安全开发中心安全开发中心http:/ n.NET相关的安全书籍相关的安全书籍nWS-Securityhttp:/ 声音调查:声音调查:n请大家通过投票的方式,正确的请大家通过投票的方式,正确的选择,您在本次收听讲座的选择,您在本次收听讲座的“声声音效果音效果”。Q & A Q & A 正在进行中正在进行中听众通过点击听众通过点击“Ask a questionAsk a question” 提出本次讲座技术问题:提出本次讲座技术问题:输入的文字最好用中文,方便老师阅读。输入的文字最好用中文,方便老师阅读。虽然您提交后,显示的是乱吗,但老师可以正常阅读。虽然您提交后,显示的是乱吗,但老师可以正常阅读。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号