Web安全设计之道-.NET代码安全.界面漏洞防范与程序优化

Web安全设计之道-.NET代码安全.界面漏洞防范与程序优化

作者:刘君

出版社:人民邮电出版社

出版年:2009-10-01

评分:5分

ISBN:9787115211965

所属分类:网络科技

书刊介绍

Web安全设计之道-.NET代码安全.界面漏洞防范与程序优化 内容简介

简介随着web应用程序日益广泛的应用,基于web环境的安全性也越来越成为人们关注的问题,.net框架的安全性给使用.net平台编程的所有开发人员和用户带来了解决安全问题的福音。本书作者总结了多年项目实施和管理经验,在此基础上加以提炼,试图用*简明易懂的方式介绍.net框架下的安全问题以及应对措施。本书内容涉及web应用程序安全、代码安全、数据库安全通信、数据验证、身份验证、组件安全、会话安全以及安全日志的设计等,并用典型实例作为引导,介绍各种安全类库和安全编程,带领读者进入神秘而妙不可言的.net安全世界。本书适合.net平台下的开发人员、项目经理及系统管理人员阅读。

Web安全设计之道-.NET代码安全.界面漏洞防范与程序优化 本书特色

黑客入侵、挂马、网页篡改……网络系统安全的种种问题令人困扰,是否有方法能彻底解决这些安全问题呢……《Web安全设计之道:.NET代码安全、界面漏洞防范与程序优化》为你解决。

Web安全设计之道-.NET代码安全.界面漏洞防范与程序优化 目录

第1章Web应用程序安全概述1事情总有两面性,Web应用程序在带给我们便利的同时,也带来了风险和问题,如何预防?如何控制?让我们从头细说1.1Web应用程序的安全性1追根溯源,总览应用程序的安全性1.1.1代码访问安全性31.1.2基于角色的安全性8Web应用系统安全是一个整体,不该将其各部分分裂来看,明确.NET安全技术各个部分如何相互协作,应用系统整体安全将受益匪浅1.2Web应用系统安全模型111.3.NET安全类库15全面地介绍安全API参考,涉及.NET框架基础类库中与安全有关的命名空间1.3.1安全类库的内部关系161.3.2System.Security161.3.3System.Security.Cryptography181.3.4System.Security.Principal191.3.5System.Security.Policy211.3.6System.Security.Permissions231.3.7System.Web.Security25第2章ASP.NET的安全控件27“工欲善其事,必先利其器”,能够开发出安全的Web应用程序,安全控件功不可没2.1登录控件272.2登录状态控件292.3密码维护控件302.4创建用户向导控件332.5页面访问控件35第3章Web应用系统的数据加密37数据加密永远是Web应用系统中*需要关注的部分,我们不仅介绍了流行的加密方法,还为开发人员提供了编程参考3.1数据安全威胁373.2哈希加密算法373.3WindowsAPI加密方法433.4配置信息加密方法503.4.1DpapiProtectedConfiguration Provider类523.4.2RsaProtectedConfiguration Provider类563.5保护视图数据60视图状态中的数据总是让黑客们垂涎三尺,但“道高一尺,魔高一丈”,在视图中进行数据传输的同时,地下秘密保护工作也在积极进行3.5.1开启视图保护开关623.5.2加密视图信息643.5.3用户独立视图663.6通过密钥进行数据加密67.NET安全命名空间Cryptography下的3种加密方法3.6.1对称加密算法683.6.2非对称加密算法723.6.3证书加密75第4章数据库安全通信80以SQL注入为典型代表的攻击让数据库脆弱不堪,当今很多黑客攻击和数据丢失事件都是从数据库切入的,进行安全的数据库连接对于保证数据库正常运行尤为重要4.1SQL注入攻击80SQL注入攻击是一种常见的Web应用程序的安全漏洞,注入二字形象地描述了黑客攻击性行为特点,攻击理由也非常简单:数据库是系统数据的大本营。我们所要做的,首先就是保证后方安全4.1.1攻击原理814.1.2攻击方式814.1.3防范方法824.2注入攻击实例834.3防止注入攻击894.4安全数据库连接90开发人员为了数据库的连接安全真是绞尽脑汁,验证、授权和加密都是其中的常见方法4.4.1数据库身份验证924.4.2数据库授权934.4.3数据库安全配置954.4.4数据库加密964.4.5数据库反馈信息保护994.4.6LINQ技术1024.4.7数据库安全部署104第5章数据验证107数据在传输过程中不仅要进行加密,还要进行有效性的验证,主要为了避免输入中发生低级错误,切莫“一失足成千古恨”5.1数据验证概述1075.2数据验证方式112我们天天输入的数据不一定正确或格式良好,它们可能成为应用系统的安全漏洞,这并不是危言耸听。应用系统不对数据进行验证,后果很严重5.2.1图片和附加码数据验证1125.2.2Web表单数据验证1155.2.3Web窗体数据验证1165.3数据审核1255.4数据过滤128第6章身份验证技术133用户名和密码是通常意义上*简单的身份验证,角色验证、IIS和活动目录在这个领域一直是配合默契的亲密战友6.1用管道技术加固验证功能133从用户在地址栏敲入键接地址到页面呈现在眼前的0.1秒之内,IIS和.NET框架做了大量的幕后工作,而管道就是在过程中进行衔接的桥梁6.1.1安全HTTP请求处理流程1346.1.2安全HTTP管道1366.1.3安全HTTP Modules1396.2基于角色的安全认证141安全认证在整个Web应用程序的安全体系中扮演着重要的角色,而它肩上所担负的安全责任也是不可推卸的6.2.1IIS和ASP.NET用户认证流程1426.2.2认证1436.2.3授权1436.2.4ASP.NET用户认证1436.2.5使用ASP.NET管理工具添加用户1466.2.6ASP.NET角色管理系统1486.2.7使用Membership/RoleAPI添加用户1536.2.8ASP.NET的MemberShip Provider1616.2.9实现自定义的Membership Provider类1646.2.10基于角色的站点导航1696.3窗体验证1726.4操作系统集成验证176Windows身份验证一般并不单独行动,配合IIS和活动目录方能发挥其巨大潜力6.4.1基于IIS的Windows身份验证1776.4.2基于活动目录的Windows身份验证1816.5文件授权189第7章构建安全的组件191系统是由一个个组件组成的,组件是否安全决定了整个系统的安全程度,从组建所面临的威胁入手,积极应对,做到“兵来将挡,水来土掩”7.1组件面临的威胁1917.2安全的服务组件设计1927.3组件的安全身份验证1937.4组件中的敏感数据1967.5组件安全审核和日志记录1967.6安全组件构建实例1977.7安全组件的部署2017.8组件强签名与反编译2037.9安全的I/O文件操作2047.10安全操作注册表2127.11序列化代码安全2147.12安全的多线程访问214第8章加固会话安全217会话的安全对于加固整个Web应用系统来说不可或缺,会话中携带重要数据,必须防止客户与服务器建立的会话被黑客截取和探查8.1安全会话概述2178.2保护会话状态2218.3创建安全会话2228.4基于HTTPS的自定义绑定会话2248.5在会话中使用令牌2268.6保护会话中的数据2288.7会话参数2298.8会话的存储安全230第9章安全日志234安全日志记录了系统中出现的异常错误信息,设计有效而安全的日志是保证异常的捕获和处理的*佳途径9.1错误异常2349.2错误异常的作用2349.2.1错误异常处理机制2359.2.2错误异常组成2359.3异常处理程序的设计235设计涵盖了异常处理的全生命周期,从引发到消亡,缺一不可9.3.1错误异常的引发2359.3.2错误异常的处理2429.3.3错误异常的捕获2459.3.4设计自定义错误异常2469.3.5错误异常的性能2479.3.6显示安全的错误信息2489.4保护ASP.NET日志251全球*强日志组件Log4net9.4.1Web系统安全监控2519.4.2记录错误信息2529.4.3使用顶级日志组件2559.4.4安全事件261第10章代码信任技术267代码信任按照访问权限进行分级,设置合适的代码信任级别,保证应用程序顺利访问和执行10.1代码信任技术概述26710.2资源访问安全26710.3完全信任和部分信任26810.4代码访问安全配置26910.5ASP.NET策略文件27010.6ASP.NET安全策略27110.7开发部分信任Web应用程序27310.8部分信任级的配置方法27410.9部分信任的Web应用程序处理策略27510.10自定义策略27610.11沙箱保护策略27610.12中度信任程序27810.13中度信任的限制278第11章Web服务器安全设置281不管代码安全技术多么完善,忽略服务器安全将使得安全防范体系功亏一篑。现在流行的IIS6.0和IIS7.0服务器软件的安全设置就是我们要学习的重点11.1配置安全的操作系统28111.2安全配置IIS6.028411.3使用IIS6.028711.4IIS7.0安全设置289IIS7.0是目前*流行的主流Web服务器软件,这里要注意其相对于IIS6.0的改进11.4.1角色设置29111.4.2页面和控件设置29211.4.3监控Web系统安全29511.4.4安全密钥配置29911.4.5安全日志配置302第12章代码安全性测试工具306测试一直是检验代码准确性的必要方式,也是审核的**关,代码安全性测试也不例外12.1监控系统HTTP流30612.2黑盒安全检测31312.3检测代码漏洞工具31612.4数据库漏洞检测工具323第13章.NET安全审核模板326有了技术和计划,就可以进入执行和审查环节,.NET安全审核不止起到亡羊补牢的作用,更是对安全开发进行评审,保证Web程序安全的重要壁垒

Web安全设计之道-.NET代码安全.界面漏洞防范与程序优化 节选

《Web安全设计之道:.NET代码安全、界面漏洞防范与程序优化》作者总结了多年项目实施和管理经验,在此基础上加以提炼,试图用*简明易懂的方式介绍.NET框架下的安全问题以及应对措施。《Web安全设计之道:.NET代码安全、界面漏洞防范与程序优化》内容涉及Web应用程序安全、代码安全、数据库安全通信、数据验证、身份验证、组件安全、会话安全以及安全日志的设计等,并用典型实例作为引导,介绍各种安全类库和安全编程,带领读者进入神秘而妙不可言的.NET安全世界。随着Web应用程序日益广泛的应用,基于Web环境的安全性也越来越成为人们关注的问题,.NET框架的安全性给使用.NET平台编程的所有开发人员和用户带来了解决安全问题的福音。《Web安全设计之道:.NET代码安全、界面漏洞防范与程序优化》适合.NET平台下的开发人员、项目经理及系统管理人员阅读。

Web安全设计之道-.NET代码安全.界面漏洞防范与程序优化 相关资料

插图:(2)加载时,除非控件拥有受信任的签名,否则,运行库仅授予控件与工.ocalIntranet命名权限集关联的权限。在控件拥有受信任签名的情况下,会被授予与LocalIntranet权限集关联的权限,同时因为控件拥有受信任签名,还可能被授予其他一些权限。(3)运行时,每当调用方(在此情况下为寄宿的控件)访问公开受保护资源的库或调用非托管代码的库时,该库就会提出安全要求,导致对调用方的权限进行检查,查看调用方是否被授予了适当权限。这些安全检查可防止控件在客户端执行未经授权的操作。2.基础知识每种以公共语言运行库为目标的应用程序必须与运行库的安全系统进行交互。当应用程序执行时,运行库将自动对它进行计算,然后赋予其一个权限集。根据应用程序获得的权限不同,应用程序或者正常运行,或者发生安全性异常。特定计算机上的本地安全设置最终决定代码所收到的权限。这些设置会因计算机而异,所以无法确保代码将收到运行所需的足够的权限。这与非托管开发领域不同,在非托管开发领域,不必担心运行代码所需权限。每个开发人员都必须熟悉下面的代码访问安全性操作。编写类型安全代码:若要使代码受益于代码访问安全性,必须使用生成可验证为类型安全代码的编译器。强制性语法和声明式语法:与运行库安全系统的交互使用强制性安全调用和声明式安全调用执行。声明式调用使用属性执行,强制性调用在代码中使用类的新实例执行。有些调用只能强制性地执行,有些调用只能以声明方式执行,还有一些调用可以这两种方式中的任一种方式执行。为代码请求权限:请求将应用到程序集范围,代码通知运行库在此范围内运行它所需的权限,运行库在代码加载到内存中时计算安全请求。代码使用请求通知运行库运行所需权限。使用安全类库:类库使用代码访问安全性指定所需权限。3.通过部分受信任的代码使用类库系统一般不允许通过低于完全信任级别(该信任级别是运行库代码访问安全系统授予的)的应用程序调用共享托管库,除非库编写器通过使用AllowPartiallylYustedCallersAttribute类明确允许调用。因此,应用程序编写器必须注意在部分受信任的上下文中不能使用的库。默认情况下,在本地:Intranet或Internet区域中执行的所有代码都是部分受信任的。如果您的代码不会在部分受信任的上下文中执行或被部分受信任的代码调用,那么您就不需要关心本小节中的信

Web安全设计之道-.NET代码安全.界面漏洞防范与程序优化 作者简介

杨云,微软指定培训中心讲师.微软最有价值专家(Microsoft MVP).长期从事微软ASP.NE7技术培训,为微软新闻组和多家报纸杂志撰写文章。
参加多项大型微软.NET项目,如企业级应用系统开发,电信系统开发,政府办公自动化架构等。主要研究方向是ASP.NET安全部署技术、设计模式。
刘君,东北大学计算机系统研究所。与多家权威评测和咨询机构合作,参加企业CMMI、ISO 20000和IS027001的咨询和评估工作。在过程改进、质量保证、信息安全和服务管理领域具有丰富的经验。

相关推荐

微信二维码