《开发安全的Web应用案例分析ppt课件.ppt》由会员分享,可在线阅读,更多相关《开发安全的Web应用案例分析ppt课件.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、开发安全的Web应用案例分析ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望开发安全的Web应用案例分析 NameTitleMicrosoft日程安排Microsoft Reference Application for OpenHack(MRAO)速览速览系统架构系统架构应用系统的安全性FormsForms认证认证输入项的有效性验证输入项的有效性验证数据访问数据访问数据保护数据保护错误处理及日誌错误处理及日誌什么是OpenHack?由eWEEK资助的安
2、全性竞赛(Oct.22 to Nov.8,2002)谁能构建最安全的抵御黑客攻击的Web应用参赛者搭建符合参赛者搭建符合eWEEKeWEEK规范的规范的WebWeb应用应用eWEEKeWEEK邀请所有的志愿者来攻击该网站邀请所有的志愿者来攻击该网站2002年参赛者:Microsoft,Oracle等ihttp:/ Reference Application for OpenHackMicrosoft从2002年起参与竞赛抵御了80,000+以上的攻击而没有丝毫的安全性漏洞该应用由Vertigo Software和 Microsoft编写自比赛以来代码已得到了更新自比赛以来代码已得到了更新可以从
3、网上得到最新的版本可以从网上得到最新的版本如何构建安全应用的最佳范例速览应用架构AwardsDatabaseASP.NET信息确认层信息确认层数据访问层数据访问层数据保护层数据保护层IISPublicRegistryDPAPI匿名访问匿名访问Forms认证认证URL 认证认证信任连接信任连接Windows认证认证DecryptionkeysConnectionstrings etc.PrivateSQL许可许可Forms认证Two-tiered 目录结构根目录包含根目录包含 “public”“public”页面页面 (包括包括login page)login page)“Secure”“Sec
4、ure”子目录包含了需要登陆的所有页面子目录包含了需要登陆的所有页面Forms 认证 cookie永远使用临时永远使用临时cookie,cookie,而不使用永久而不使用永久cookiecookie30-minute time-out30-minute time-out设置设置Cookie path Cookie path 到应用系统的根目录到应用系统的根目录Forms 认证输入有效性确认(Input Validation)客户端用户输入均由 validation controls确认服务器端输入和输出均由 validation layer进行清洗PagesAll Input清洗清洗Other
5、 InputValidationControlsUser InputOutputHTML-EncodeCleanStringInput ValidationAwards 数据结构Awards 数据安全用户用户用户:webuser(Windows principal):webuser(Windows principal)映射该用户为映射该用户为 ASP.NET ASP.NET 工作用户工作用户存储过程30 stored procedures30 stored proceduresUsed for all interaction with databaseUsed for all interact
6、ion with database用户许可用户用户webuserwebuser允许调用所有的存储过程允许调用所有的存储过程“public”“public”用户没有分配任何权限用户没有分配任何权限数据访问(Data Access)多级数据访问层所有访问均使用存储过程所有访问均有用户webuser执行采用Windows信任认证方式建立SQL Server连接数据库联接串采用 DPAPI进行加密并保存于 ACLed registry key中数据访问策略AwardsDatabase数据访问层数据访问层Pages业业务务逻逻辑辑层层CompanyInfoCreditCardInfoProductInf
7、oStatesInfoUserInfoDbHelperSqlHelper安全的数据访问数据保护(Data Protection)Registry安全HKLMSoftwareMicrosoftOpenHack4HKLMSoftwareMicrosoftOpenHack4DPAPIDPAPI加密的数据库联接串加密的数据库联接串DPAPIDPAPI加密的加密的crypto crypto 解码匙解码匙DPAPIDPAPI加密的加密的cryptocrypto初始化向量(初始化向量(initialization vector initialization vector IVIV)DPAPI entropy
8、 valueDPAPI entropy valueACL ACL 授权授权admins and SYSTEMadmins and SYSTEM帐号完全控制权限帐号完全控制权限,而对而对ASP.NET worker processASP.NET worker process赋予只读权限赋予只读权限Database安全用户密码的加密保存用户密码的加密保存信用卡号的加密保存信用卡号的加密保存数据保护策略CryptUtilPagesDataProtectionNativeMethodsDPAPI数据保护层数据保护层注册表(注册表(Registry)业务逻辑业务逻辑错误处理及日誌默认的错误页面默认错误被
9、定向到默认错误被定向到 Error.aspxError.aspx提供对错误的普通处理提供对错误的普通处理应用系统级Error未经处理的例外将被写入未经处理的例外将被写入Windows eventWindows event日誌日誌其中包括了其中包括了stack trace stack trace 和其他丰富的错误信息和其他丰富的错误信息错误登陆在在 Windows eventWindows event日志中记录登陆信息日志中记录登陆信息有助于诊断分析和入侵检测有助于诊断分析和入侵检测错误处理和日誌总结MRAO 清洗和输入确认MRAO 安全数据访问MRAO 加密敏感信息MRAO 使用forms认证和URL授权MRAO 安全的处理错误以及适当的日誌MRAO 是一个安全的应用!附加资源Improving Web Application SecurityBuilding Secure ASP.NET Applicationshttp:/ 2003-2004 Microsoft Corporation.All rights reserved.This presentation is for informational purposes only.Microsoft makes no warranties,express or implied,in this summary.
限制150内