OWASP十大攻击和Spring Security

ykj*_*121 9 spring-security owasp

我正在评估我的Web应用程序的安全性.当我在我的Web应用程序中使用Spring时,我想利用Spring Security框架.我搜索了有关网络安全的更多信息,并遇到了OWASP社区,它是十大攻击列表.所以我的问题是; 将Spring Security配置为保护我的应用程序是否足够?OWASP排名前十(2013)的所有安全威胁是由Spring Security Framework处理的?

Vla*_*fer 8

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

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

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


rbe*_*sko 7

我建议使用分层安全架构.我的意思是,可以手动创建一个安全的应用程序,但实现起来非常困难.一些安全功能(如身份验证和基本访问控制(URL级别或GUI组件级别))相对容易实现,但实例级安全性(特别是使用旧式数据库),Sql Injection和XSS等要求更难.

我建议使用Spring Security并尽可能地实现自定义验证.除此之外,我建议使用HDIV以添加额外的安全层,以帮助避免利用自定义验证未涵盖的风险.具体来说,HDIV提供的功能包括:

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

  • A2-Broken身份验证和会话管理:HDIV不提供此Web风险的功能.

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

  • A4-Insecure Direct Object References:HDIV控制服务器端生成的所有数据,确保数据的完整性并避免此漏洞.

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

  • A6敏感数据暴露:HDIV提供机密性功能来隐藏HTTP参数的值.

  • A7缺失的功能级访问控制:由于HDIV实现的完整性验证,避免利用此漏洞并限制用户执行法律操作并维护
    应用程序提供的原始合同(GUI或API).

  • A8- 跨站点请求伪造(CSRF):HDIV添加了随机令牌以避免此漏洞

  • A9-使用具有已知漏洞的组件:HDIV不包含特定功能,但由于在许多情况下应用于用户的交互限制无法利用此漏洞.

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

除了保护OWASP十大网络风险的这些功能外,HDIV还会生成与恶意活动或网站攻击相关的日志,包括有关攻击的所有信息以及经过身份验证的网站中的用户名.

问候,

Roberto Velasco(HDIV团队)