Spring security OWASP十大攻击与Spring安全

Spring security OWASP十大攻击与Spring安全,spring-security,owasp,Spring Security,Owasp,我正在评估我的web应用程序的安全性。在我的web应用程序中使用Spring时,我希望利用Spring安全框架。我搜索了更多关于网络安全的信息,偶然发现了OWASP社区和它的十大攻击列表。所以我的问题是,;配置Spring安全性来保护我的应用程序是否足够?OWASP前10名(2013)中的哪些安全威胁是由Spring security Framework处理的?您可以尝试支持多个框架的解决方案。构建安全的应用程序是一项具有挑战性的任务,没有“银弹”产品可以让应用程序自动为您提供安全保护。因此,S

我正在评估我的web应用程序的安全性。在我的web应用程序中使用Spring时,我希望利用Spring安全框架。我搜索了更多关于网络安全的信息,偶然发现了OWASP社区和它的十大攻击列表。所以我的问题是,;配置Spring安全性来保护我的应用程序是否足够?OWASP前10名(2013)中的哪些安全威胁是由Spring security Framework处理的?

您可以尝试支持多个框架的解决方案。

构建安全的应用程序是一项具有挑战性的任务,没有“银弹”产品可以让应用程序自动为您提供安全保护。因此,Spring安全性的简单使用当然并不自动意味着您的应用程序是安全的!Spring Security是一个很好的工具,它可以帮助构建安全应用程序的许多方面,但与任何工具一样,您需要知道如何正确使用它

Spring Security至少可以帮助您解决以下OWASP TOP10问题:

  • A2断开的身份验证和会话管理—通过提供高效安全的身份验证和会话管理机制
  • A4不安全的直接对象引用-通过在应用程序中提供授权机制
  • A6敏感数据暴露-Spring Security的加密模块提供必要的加密功能
  • A7缺少功能级访问控制-通过在UI和服务器端提供授权手段
  • A8跨站点请求伪造(CSRF)-通过支持令牌的生成和验证来减轻CSRF攻击

我建议使用分层安全体系结构。我的意思是,手工创建一个安全的应用程序是可能的,但是实现起来非常困难。一些安全特性,如 由于身份验证和基本访问控制(url级或GUI组件级)相对容易实现,但诸如实例级安全性(特别是处理遗留数据库)等要求更难实现,Sql注入和XSS更难实现

我建议使用Spring安全性并实现尽可能多的自定义验证。除此之外,我建议使用,以便添加一个额外的安全层,可以 帮助避免利用自定义验证未涵盖的风险。具体而言,HDIV提供的功能包括:

  • A1-注入:关于HTTP参数的值和URL,HDIV仅对来自表单中文本字段的数据降低此漏洞的风险,对来自客户端的其余数据应用完整性验证(确保接收到的值与服务器端生成的值相同)。对于表单中包含的文本字段,HDIV提供了通用验证(白名单和黑名单),以避免注入攻击

  • A2断开的身份验证和会话管理:HDIV不提供 这是网络风险

  • A3-XSS:与A1相同,但在这种情况下可避免XSS风险

  • A4不安全的直接对象引用:HDIV控制所有数据 在服务器端生成,确保数据和数据的完整性 避免此漏洞

  • A5安全配置错误:HDIV不包括这方面的特定功能,但不允许访问以前未由服务器发送的资源,从而避免利用意外行为或访问私有资源

  • A6敏感数据泄露:HDIV为 隐藏HTTP参数的值

  • A7缺少功能级访问控制:由于实施了完整性验证 通过HDIV,避免利用此漏洞,并限制用户执行法律行动和维护由
    应用程序

  • A8跨站点请求伪造(CSRF):HDIV向 避免此漏洞

  • A9使用具有已知漏洞的组件:HDIV不包括 特定的功能,但由于互动 在许多情况下,应用于用户的限制是不可能实现的 利用该漏洞

  • A10未验证的重定向和转发:此漏洞为 主要与不可编辑数据或数据的操作有关 以前在服务器端生成。HDIV控制所有数据 由服务器发送,不允许重定向到恶意 网站

除了这些防止OWASP十大web风险的功能外,HDIV还生成与恶意活动或针对您的网站的攻击相关的日志,包括有关攻击的所有信息和已验证网站中的用户名

问候,


Roberto Velasco(HDIV团队)

Spring Security只处理URL安全问题,并为您提供一个登录框架,如果底层身份验证机制仍然薄弱,您仍将面临潜在的安全漏洞。SpringSecurity确实提供了一种在URL上强制使用SSL的机制,但是您仍然需要SSL证书。因此,简而言之,Spring安全性不足以满足OWASP前10名的要求。