如何保证智能客户端应用的安全性_第1页
如何保证智能客户端应用的安全性_第2页
如何保证智能客户端应用的安全性_第3页
如何保证智能客户端应用的安全性_第4页
如何保证智能客户端应用的安全性_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如何保证智能客户端运用的平安性NameTitleMicrosoft Corporation日程满足平安性的需求深化: 平安性的设计选择维护数据库的平安维护代码中的平安项加密离线的数据控制对本地资源的访问 控制对 Web 效力的访问维护业务逻辑总结: 平安性的最正确实际满足平安性的需求采用一种构造化的方法来判别,定量并定位一切能够的要挟要挟模型平安性的检查清单最正确实际: 将平安性检查作为整个开发流程的一部分规划和设计的一部份就像编码和测试一样SD3设计成就平安默许稳定平安部署实现平安平安的体系构造和代码要挟分析减少破绽减少攻击外表区域默许情况下,封锁不运用的功能运用最小权限维护:检测、防护、恢

2、复和管理过程:How to 指南、体系构造指南人员:培训SD3 平安框架平安的产品开发时间线测试方案完成设计完成概念代码完成发行发行后测试平安性 破绽评价平安性 了解何时 雇佣小组成员确定 平安信号 规范发送到 外部检查分析 要挟学习和 完善执行平安小组检查对小组 成员进展培训测试数据突变和最小权限处理平安问题, 根据平安准那么 对代码进展验证=ongoing要挟 #1 (I)查看薪水数据1.1通讯量 不受维护1.2攻击者查看通讯量1.2.1运用协议分析器 简要阐明通讯量1.2.2侦听路由器通讯量路由器未安装修补程序走漏 路由器猜测路由器密码1.0 查看薪水数据 (I) 1.1 通讯量不受维护

3、 (AND) 1.2 攻击者查看通讯量 1.2.1 运用协议分析器探测通讯量 1.2.2 侦听路由器通讯量 路由器未安装修补程序 (AND) 走漏路由器 猜测路由器密码建立要挟模型过程运用攻击树确认要挟减轻风险过程要挟类型(STRIDE)减轻风险技术减轻风险技术技术技术技术技术欺骗身份验证NTLMX.509 证书PGP 密钥根本摘要KerberosSSL/TLS确认类别例如:欺骗选择技术例如:身份验证或维护数据选择技术例如:Kerberos减轻风险的技术例如客户端效力器永久性数据身份验证数据配置数据STRIDESTRIDESTRIDESTRIDESTRIDESSL/TLSIPSec 具有隐私的

4、 RPC/DCO防火墙限制匿名衔接的资源运用强访问控制数字签名审核破绽不平安的网络要挟模型构造化的方法:区分要挟找出对策 担忧有助于躲避风险能够带来的损失反复的能够性Exploitability受影响的用户被发现的能够性 MSDN Patterns and Practices 包含更详细的信息msdn.microsoft/library/en-us/dnnetsec/html/ThreatCounter.asp要挟模型的流程1. 标识严密信息2. 建立体系构造概述3. 分解运用4. 区分要挟5. 将文协存档6. 评定要挟级别MSDN 平安性检查清单识别要挟非常有用的工具msdn.microso

5、ft/library/en-us/dnnetsec/html/CL_SecRevi.asp深化: 平安性的设计选择维护数据库的平安维护代码中的平安项加密离线的数据控制对本地资源的访问 控制对 Web 效力的访问维护业务逻辑维护数据库的平安用最小权限的帐号 来衔接数据库仅为存储过程分配访问权限假设不能用存储过程, 用类型平安的参数来构造命令对象将衔接字符串加密保管将从数据库查询出来的严密性数据,用可靠的对称加密算法加密用 DPAPI 进展加密, 并且保管在权限维护的注册表里提示: 不同义务应该用的帐号“sa (或者域里面一样权限帐号)数据库效力器管理仅用于创建数据库“dbo运用中数据库的一切者

6、仅在开发过程中运用修正表构造, 创建存储过程“IVUser“Locked-down account 中间件用于访问存储过程维护严密信息以及离线数据单向哈希(Hash)函数非常容易计算,实际证明不可逆不能够从哈希数据运算出源数据!最适宜于: 存储用户口令或者其他只需求比较哈希值就可以的数据强加密算法只需知道加密的密钥才干解密数据最适宜于: 维护存储或者传送的数据应该采用哪种技术?我希望建议优点限制安全的保存用户口令Salt + SHA1 (单向哈希算法)在哈希运算之间,向口令字符串里面加”Salt”,以防止离线的字典攻击不需要管理密钥相同的数据值运算出相同的哈希值. 为保证相同的值,必须存储一个

7、”Salt”串.应该采用哪种技术?我希望建议优点限制安全的保存用户口令Salt + SHA1 (单向哈希算法)在哈希运算之间,向口令字符串里面加”Salt”,以防止离线的字典攻击不需要管理密钥相同的数据值运算出相同的哈希值. 为保证相同的值,必须存储一个”Salt”串.保护本地用户数据DPAPI (通过密钥进行加密)DPAPI 代替应用程序来管理密钥.数据不能被其他用户,或者在其他机器上解密应该采用哪种技术?我希望建议优点限制安全的保存用户口令Salt + SHA1 (单向哈希算法)在哈希运算之间,向口令字符串里面加”Salt”,以防止离线的字典攻击不需要管理密钥相同的数据值运算出相同的哈希值

8、. 为保证相同的值,必须存储一个”Salt”串.保护本地用户数据DPAPI (通过密钥进行加密)DPAPI 代替应用程序来管理密钥.数据不能被其他用户,或者在其他机器上解密加密一些以后需要解密的数据对称加密算法a (e.g. Rijndael)Flexible: data can be decrypted by other apps / machines that have the key.Application must manage keys and transmit them securely.加密用户口令目的: 在可用情况下,保证用户口令的平安建议: 哈希Hash (Salt + 口令

9、)存储口令:1. 为每个用户创建一个独一的 “saltSalt 确保即使口令一样,加密后的结果也不一样2. 将Salt串附加到口令字符串之前3. 用 SHA1算法加密: SHA1puteHash()4. 将Salt和密码都保管起来验证时, 重新将salt和口令进展Hash运算对用户口令进展单向Hash加密Data Protection API (DPAPI)对CryptoAPI的扩展加密键值从登录用户的平安信息计算出来用 TripleDES 加密算法支持一致性用更多的信息来保证运用的数据平安最适宜于:维护离线数据维护用户指定的配置数据运用DataProtection.vbCryptoAPICr

10、ypt32.dllDPAPILocal SecurityAuthority (LSA)DPAPINow is thetime for allgoodqANQR1DBAsUHIsQEALocal RPC Calls纯文本数据操作系统用 DPAPI 保管SQL衔接字符串用 DPAPI 保管离线数据限制对本地资源的访问什么是本地资源?本地一切的东西!文件和文件系统注册表信息用户界面的元素剪贴板网络访问 (例如. Web, sockets)性能计数器, 事件日志打印, 等等.NET 用代码访问平安CAS控制对本地资源的访问Code Access Security提供了运用程序对本地资源访问的权限运用程

11、序具备 “刚好足够 的权限例如: 不需求进展文件 IO操作的运用,就不需求文件IO 的权限对资源权限的分配是基于 代码的特征, 而不是用户用 证据 来决议代码的特征用战略来评价证据,以决议哪些权限可以授予给运用程序Evidence + Policy = Permissions加载程序集搜集证据HashStrong namePublisherZone URLEnterpriseMachineUserAppDomain分配权限集权限能否被授予?恳求权限程序集执行权限维护的操作继续执行程序的操作 (或者说访问资源)Yes产生平安异常No根据区域(Zone)已设定的权限Permission操作Loca

12、l IntranetInternetFileDialog通过对话框打开/保存文件YesNoFileDialog通过对话框打开文件YesYesIsolatedStorageFile根据用户和程序集将存储隔离YesNoIsolatedStorageFile根据用户,程序集和应用程序域将存储隔离YesYesPrinting通过编程打印到默认打印机YesNoPrinting只能通过指定的对话框打印YesYesReflection编译器生成程序集YesNoSecurity对一个已分配的权限断言YesNoSecurity执行YesYesSecurity调用非托管代码YesNoUI不限制YesNoUI将数据

13、复制到剪贴板, 限制从剪贴板粘贴YesYesUI显示消息和对话框YesYesUI安全的最前端窗口和子窗口YesYesWeb用https 来连接原始站点YesYes证据的7种类型对程序集进展强称号签名是一种比较容易而且可靠的方法来建立代码标识证据描述应用程序目录应用程序安装的地方Hash通过加密算法获得的一组判断程序集区别的值,与版本号无关发行者发行者的名称站点初始的站点, 例如 强名称对程序集进行强名称签名的公钥URL初始 URLZone区域, 例如 Internet Zone对程序集执行强称号签名强称号对代码添加标识,并且可以防止他人对代码的篡改强称号包括:程序集的简单称号 程序集的版本号程

14、序集的区域(Culture)代码 对程序集代码进展数字哈希签名为运用程序生成健值对(Key Pairs)sn -k IssueVision.snk 设置平安性的工具强称号SN.exe 生成强称号公钥/密钥对文件强称号的主要工具改动平安战略设置.NET 配置工具.NET 导游CasPol.exe 命令行工具请慎重更改各项配置!分配正常运转的最小权限部署平安战略经过 SMS 或那么组战略部署在安装包里面同运用一同部署经过 .NET 配置插件创建MSISystem.Security.Policy称号空间包括可编程的方法来创建战略 SecurityClass Name=AllMembershipCon

15、dition“ .Web 效力平安性大多数Web 效力运用认证防止对 web 效力的匿名运用对有些效力, 也包括:授权确保用户有相应的权限来执行操作加密防止恶意的数据操作授权选择Windows 授权 (NTLM)内部网运用最简单的选择自定义授权方式建议采用在与非 WS-Security平台交互时采用在 WSE 2.0出现之前的一种方法Web Services Enhancements (WSE) 2.0 基于规范,跨平台用规范的 SOAP header 来传送调用者平安信息维护业务逻辑层问题: .NET 可以被反编译,从而暴露了业务逻辑处理方法: 搅拌(Obfuscation)对 .NET 程

16、序集中的符号重新命名, 从而非常难以反编译工具PreEmptive开发的 Dotfuscator 社区版被集成在 Visual Studio .NET 2003 中Dotfuscator 维护 .NET 代码被反编译总结:平安性的最正确实际采用一种构造化的方法来评价要挟, 并将此作为开发流程的一部分访问数据时,采用尽能够低的权限不要经常以数据库管理员身份运转!以尽能够小的权限运转代码不要以系统管理员身份运转! 将严密信息加密,并存储在平安的地方用强称号对程序集签名资源预防平安要挟msdn.microsoft/library/en-us/dnnetsec/html/CL_SecRevi.asp微软平安更新microsoft/security/security_bulletins/alerts2.aspPSS 支持中心support.microsoft/default.aspx?pr=security 中文平安门户microsoft/china/security/资源 (续)TechNet: 产品与技术平安中心 microsoft/technet/security/prodtech/default.asp TechNet: 平安主题microsoft/technet/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论