Web 应用程序安全框架
Web 应用程序安全框架
Web 应用程序安全框架为 Web 应用程序定义了一组漏洞类别。这些类别是最常出现错误的区域,它们表示最应该将注意力集中于此的区域。
Web 应用程序安全框架定义的类别源于安全专家,他们检查和分析了许多 Web 应用程序的顶级安全问题。这些类别借助于 Microsoft 顾问、产品支持工程师、客户和 Microsoft 合作伙伴的反馈得以细化。
表 3 归纳了 Web 应用程序安全框架中的类别。
表 3:Web 应用程序安全框架
类别
描述
输入和数据验证
如何知道应用程序接收的输入是有效且安全的呢?输入验证指的是应用程序在进行其他处理之前如何筛选、删除或拒绝输入。
身份验证
您是谁?身份验证是一个实体验证另一个实体身份的过程,通常通过凭据进行,例如用户名和密码。
授权
您可以做什么?授权是应用程序提供对资源和操作的访问控制的方式。
配置管理
您的应用程序以谁的身份运行?它连接到哪个数据库?如何管理您的应用程序?如何保护这些设置?配置管理指的是您的应用程序如何处理这些操作问题。
敏感数据
您的应用程序如何处理敏感数据?敏感数据是指您的应用程序如何处理必须受到保护的所有数据,不管数据是在内存中、网络上还是永久性存储中。
会话管理
您的应用程序如何处理和保护用户会话?会话是指用户与您的 Web 应用程序之间的一系列相关交互。
加密
如何保持机密(保密性)?如何防止他人篡改您的数据或库(完整性)?如何为必须具有很强机密性的随机值提供种子?加密是指应用程序保证机密性和完整性的方式。
参数操作
您的应用程序如何操作参数值?对于应用程序,表单字段、查询字符串参数和 cookie 值经常作为参数使用。参数操作既指应用程序保护这些值不被篡改的方式,也指应用程序处理输入参数的方式。
异常管理
当应用程序中的一个方法调用失败时,您的应用程序会做什么?显示了多少?您是否将错误信息友好地返回给最终用户?您是否将有价值的异常信息传递给调用方?应用程序的失败方式是否友好?
审核与记录
谁在什么时候做了什么?审核与记录是指应用程序记录与安全相关的事件的方式。
您使用该框架来帮助确定威胁和漏洞。在威胁确定过程中,应该使用它来帮助确定与您自己的应用程序体系结构相关的常见威胁。为了帮助确定漏洞,您可以通过类似的方式逐层检查应用程序,并考虑每层中的各个漏洞类别。
输入和数据验证
如何知道应用程序接收的输入是有效且安全的呢?输入验证指的是应用程序在进行其他处理之前如何筛选、删除或拒绝输入。
身份验证
您是谁?身份验证是一个实体验证另一个实体身份的过程,通常通过凭据进行,例如用户名和密码。
授权
您可以做什么?授权是应用程序提供对资源和操作的访问控制的方式。
配置管理
您的应用程序以谁的身份运行?它连接到哪个数据库?如何管理您的应用程序?如何保护这些设置?配置管理指的是您的应用程序如何处理这些操作问题。
敏感数据
您的应用程序如何处理敏感数据?敏感数据是指您的应用程序如何处理必须受到保护的所有数据,不管数据是在内存中、网络上还是永久性存储中。
会话管理
您的应用程序如何处理和保护用户会话?会话是指用户与您的 Web 应用程序之间的一系列相关交互。
加密
如何保持机密(保密性)?如何防止他人篡改您的数据或库(完整性)?如何为必须具有很强机密性的随机值提供种子?加密是指应用程序保证机密性和完整性的方式。
参数操作
您的应用程序如何操作参数值?对于应用程序,表单字段、查询字符串参数和 cookie 值经常作为参数使用。参数操作既指应用程序保护这些值不被篡改的方式,也指应用程序处理输入参数的方式。
异常管理
当应用程序中的一个方法调用失败时,您的应用程序会做什么?显示了多少?您是否将错误信息友好地返回给最终用户?您是否将有价值的异常信息传递给调用方?应用程序的失败方式是否友好?
审核与记录
谁在什么时候做了什么?审核与记录是指应用程序记录与安全相关的事件的方式。