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

上传人:e****s 文档编号:240831668 上传时间:2024-05-12 格式:PPT 页数:27 大小:318.50KB
返回 下载 相关 举报
Windows应用程序开发入门到精通十二将安全隐患扼杀在摇篮之中——用MicrosoftNET来保护数据和应用程序的安全-0322_第1页
第1页 / 共27页
Windows应用程序开发入门到精通十二将安全隐患扼杀在摇篮之中——用MicrosoftNET来保护数据和应用程序的安全-0322_第2页
第2页 / 共27页
Windows应用程序开发入门到精通十二将安全隐患扼杀在摇篮之中——用MicrosoftNET来保护数据和应用程序的安全-0322_第3页
第3页 / 共27页
点击查看更多>>
资源描述
如何使用如何使用Microsoft.NETMicrosoft.NET保护应保护应用程序和数据的平安用程序和数据的平安 讲师讲师:欧岩亮欧岩亮 微软微软MSDNMSDN特约讲师特约讲师Live Meeting 2005Live Meeting 2005新特性新特性n清晰音质清晰音质与微软资深讲师的零距离接触与微软资深讲师的零距离接触n实时讲义下载实时讲义下载轻松获得第一手资料轻松获得第一手资料n中文交互中文交互强大的中文提问平台,想问就问,强大的中文提问平台,想问就问,没有困扰没有困扰n内容更精彩内容更精彩开发,集成,架构设计,开发,集成,架构设计,工程管工程管理,应有尽有理,应有尽有课程介绍课程介绍n这次这次WebcastWebcast会给大家介绍如何应用会给大家介绍如何应用.NET Framework.NET Framework中的特性来保护代码的平安中的特性来保护代码的平安根底内容根底内容n熟悉熟悉.NET.NET开发开发nLEVEL 300LEVEL 300课程安排课程安排n身份验证身份验证n授权授权n加密加密n强命名程序集强命名程序集n代码访问平安代码访问平安n中间层平安中间层平安n如何防止如何防止SQLSQL注入注入身份验证身份验证n使用使用CredentialCredential来唯一标明一个用户来唯一标明一个用户n可以使用可以使用Microsoft WindowsMicrosoft Windows的集成身份验证,使用的集成身份验证,使用用户登录用户登录WindowsWindows时的用户凭证时的用户凭证n编写自己的用户身份验证的程序,应用程序来管编写自己的用户身份验证的程序,应用程序来管理用户凭证。理用户凭证。n接口和接口和类类n.GetCurrent().NameGetCurrent().Name演示一演示一nAuthenticationAuthenticationAuthorizationAuthorizationn使用基于角色的平安使用基于角色的平安n可以通过编程实现基于角色的授权可以通过编程实现基于角色的授权n角色可以代表商业流程中的工作职责,例如:秘角色可以代表商业流程中的工作职责,例如:秘书、经理、管理员、总监等书、经理、管理员、总监等n用角色的方式来管理用户会更加简便用角色的方式来管理用户会更加简便如何使用基于角色的平安如何使用基于角色的平安nPrincipalPermissionAttrivutePrincipalPermissionAttrivute和和SecurityAction.DemandSecurityAction.DemandnPrincipalPermission(SecurityAction.Demand,_)_Public Class AdminClassPublic Class AdminClassnIPrincipal.isInRole()IPrincipal.isInRole()nlblBossMan.Visible=_lblBossMan.Visible=_Context.User.IsInRole(“BossManContext.User.IsInRole(“BossMan)ntbToBeChangedOnlyByQueenBee.ReadOnly=Not _tbToBeChangedOnlyByQueenBee.ReadOnly=Not _Context.User.IsInRole(“QueenBeeContext.User.IsInRole(“QueenBee)演示二演示二nAuthorizationAuthorization加密加密n加密将字节打乱加密将字节打乱n对称加密与非对称加密对称加密与非对称加密n对称加密适用一个相同的密钥进行加密对称加密适用一个相同的密钥进行加密/解密解密n非对称加密使用一个密钥对进行加密非对称加密使用一个密钥对进行加密/解密,加密解密,加密与解密的密钥是不同的公钥与解密的密钥是不同的公钥/私钥对私钥对n非对称加密算法更加平安非对称加密算法更加平安n对称加密算法更加高效对称加密算法更加高效n名称空间名称空间n如何进行密钥管理如何进行密钥管理演示三演示三n加密加密Code Access SecurityCode Access Securityn最低权限的策略最低权限的策略nCode GroupCode Group按照逻辑分类的代码组合按照逻辑分类的代码组合nCode GroupCode Group可以按照多种方式划分可以按照多种方式划分URLURL,strong namestrong name,zonezone,etcetcnPermission SetsPermission Sets许可集,用来定义代码能够访问许可集,用来定义代码能够访问的资源:文件的资源:文件I/OI/O,Isolated StorageIsolated Storage独立存储,独立存储,SQLSQL客客户端,等等。户端,等等。nLink demandsLink demandsDemo FourDemo Fourn代码访问平安代码访问平安强命名应用程序集强命名应用程序集n使用使用sn.exesn.exe工具来创立强命名公钥工具来创立强命名公钥/私钥对,并存储在文件当私钥对,并存储在文件当中:中:sn.exe k Northwind.snksn.exe k Northwind.snknAssemblyKeyFileAttributeAssemblyKeyFileAttributeAssembly:AssemblyKeyFile(_)n优势优势n可以被装载到可以被装载到GACGAC当中当中nSide-by-sideSide-by-side部署,支持多个版本的应用程序集部署,支持多个版本的应用程序集n在编译时,在编译时,.NET.NET的客户端代码使用了强命名应用程序集,在的客户端代码使用了强命名应用程序集,在运行时能够有效地防止装入运行时能够有效地防止装入“木马应用程序集木马应用程序集Delayed SigningDelayed Signingn私钥保密性,确保开发团队中的多个组建使用相私钥保密性,确保开发团队中的多个组建使用相同的强命名同的强命名n只导出公钥只导出公钥sn-p Northwind.snk NorthwindPublicOnly.snksn-p Northwind.snk NorthwindPublicOnly.snkAssembly:AssemblyKeyFile(_)nSn-Vr Sn-Vr:关闭对只拥有公钥的强命:关闭对只拥有公钥的强命名应用程序集进行验证名应用程序集进行验证nSn-R Sn-R :在发布之前对:在发布之前对应用程序集进行缓签名应用程序集进行缓签名Link DemandsLink Demandsn连接请求发生在外部的代码对本应用程序集进行连接请求发生在外部的代码对本应用程序集进行调用的时候调用的时候n名称空间名称空间n例如:例如:StrongNameIdentityPermissionStrongNameIdentityPermission属性属性n从某个应用程序集中提取公钥标示一个十六进从某个应用程序集中提取公钥标示一个十六进制的字符序列制的字符序列sn-Tp NorthwindModel.dllsn-Tp NorthwindModel.dlln例如:例如:StrongNameIdentityPermission(_StrongNameIdentityPermission(_SecurityAction.LinkDemand,_SecurityAction.LinkDemand,_PublicKey:=“002400000d6PublicKey:=“002400000d6,_,_Version:=“1.0.0.0Version:=“1.0.0.0)Middle TierMiddle Tier平安平安n最现成的方法,最现成的方法,COM+COM+是最平安的解决方案是最平安的解决方案与与WindowsWindows整合并支持配置整合并支持配置nWeb ServiceWeb Service的平安可以通过的平安可以通过HTTPSHTTPS和和IISIIS平安来控制平安来控制n当不能使用当不能使用IISIIS平安的时候,可以使用平安的时候,可以使用WS-SecurityWS-SecurityWeb Service EnhancementsWeb Service Enhancements的一局部来保证平台之的一局部来保证平台之间的间的Web ServiceWeb Service平安平安nRemotingRemoting平安平安nIISIIS宿主和宿主和TCPTCP,使用,使用IISIIS平安和平安和HTTPSHTTPSn其他宿主,需要实现定制的其他宿主,需要实现定制的ChannelChannel或或SinkSink演示五演示五n中间层平安中间层平安SQLSQL注入注入nSQLSQL注入这种威胁发生在动态生成注入这种威胁发生在动态生成SQLSQL查询语句的查询语句的时候,动态生成的时候,动态生成的SQLSQL语句可能会被篡改语句可能会被篡改n例如:例如:string sql=“select*from users where UserID=string sql=“select*from users where UserID=+UserID+“and password=UserID+“and password=+Password+“+Password+“n如果在上面的如果在上面的SQLSQL语句中参加语句中参加OR 1=1OR 1=1这个条件,这个条件,usersusers表中的所有数据将最为结果返回表中的所有数据将最为结果返回n所有使用动态所有使用动态SQLSQL查询的应用程序都有可能受到这查询的应用程序都有可能受到这种威胁种威胁n为了防御这种攻击,去掉所有的动态为了防御这种攻击,去掉所有的动态SQLSQL查询:查询:使用使用ADO.NETADO.NET中的中的SqlParametersSqlParameters演示六演示六n防止防止SQLSQL注入攻击注入攻击平安设计目标平安设计目标n最小化攻击范围最小化攻击范围n分析具体的攻击并阻止它们:分析具体的攻击并阻止它们:n拒绝效劳攻击拒绝效劳攻击n基于文件或目录的攻击基于文件或目录的攻击nSQLSQL注入注入n引诱攻击引诱攻击LuringLuringn防患于未然,提早预知新的攻击防患于未然,提早预知新的攻击n使用经过验证的平安技术:身份验证,给予角色使用经过验证的平安技术:身份验证,给予角色的授权,的授权,HTTPSHTTPS,加密,加密总结总结n.NET.NET包括了强大的内建的平安特性包括了强大的内建的平安特性n具体问题具体分析,根据情况来选择平安技术,具体问题具体分析,根据情况来选择平安技术,编写平安的基于编写平安的基于Windows FormsWindows Forms的代码的代码n不需要绞尽脑汁去创造新的平安代码不需要绞尽脑汁去创造新的平安代码更多信息更多信息n平安开发中心平安开发中心 n.NET.NET相关的平安书籍相关的平安书籍nWS-SecurityWS-Security 声音调查:声音调查:n请大家通过投票的方式,正确的请大家通过投票的方式,正确的选择,您在本次收听讲座的选择,您在本次收听讲座的“声声音效果。音效果。Q&A Q&A 正在进行中正在进行中听众通过点击听众通过点击“Ask a question“Ask a question 提出本次讲座技术问题:提出本次讲座技术问题:输入的文字最好用中文,方便老师阅读。输入的文字最好用中文,方便老师阅读。虽然您提交后,显示的是乱吗,但老师可以正常阅读。虽然您提交后,显示的是乱吗,但老师可以正常阅读。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!