Often Misused:Spring Remote Service 经常被误用:Spring远程服务
Abstract:
在 remoting-servlet.xml 文件的第 11 行,应用程序会以远程服务的形式暴露 spring bean。默认情况下,这些远程服务不要求身份验证,也不要求进出该服务器的信息必须是明文形式。这就使攻击者有机会访问需要特定权限的操作或者获取敏感数据。
Explanation:
Spring 提供了一种简单的机制,可用于将任何 Spring 托管的 bean 转换为可通过 RMI、HTTP、Burlap、Hessian 和 JMX 等协议暴露给外部的对象。远程 Spring bean 的任何公共方法都支持外部调用,而且客户端与远程对象之间传递的数据都是明文形式。这些服务存在的主要问题是,它们在默认情况下是开放的,而且本身不提供任何保密性或完整性保证。
Instance ID: 4E7FC6F04FA823055FE285DE76442C91
Priority Metadata Values:
IMPACT: 2.5
LIKELIHOOD: 2.5
Legacy Priority Metadata Values:
SEVERITY: 3.0
CONFIDENCE: 5.0
Remediation Effort: 3.0
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Recommendations:
利用 Spring Security 和 SSL 提供 authentication、授权、保密性和完整性。
Tips:
1. 确保使用 Spring Security 或某种其他机制为远程服务提供 authentication、授权、保密性和完整性。
References:
[1] Anirvan Chakraborty , Jessica Ditt , Aleksa Vukotic , Jan Machacek, ProSpring 2.5, 2008
[2] Gary Mak , Daniel Rubio , Josh Long, Spring Recipes, 2010
[3] Standards Mapping - NIST Special Publication 800-53 Revision 4, SC-8 Transmission Confidentiality and Integrity (P1)
[4] Standards Mapping - OWASP Mobile Top 10 Risks 2014, M5 Poor Authorization and Authentication
[5] Standards Mapping - OWASP Top 10 2013, A5 Security Misconfiguration
[6] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1, Requirement 6.5.1, Requirement 6.5.10
[7] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2, Requirement 6.5.4, Requirement 6.5.9
[8] Standards Mapping - Payment Card Industry Data Security Standard Version 2.0, Requirement 6.5.4, Requirement 6.5.8
[9] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0, Requirement 6.5.4, Requirement 6.5.8
[10] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1, Requirement 6.5.4, Requirement 6.5.8
[11] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2, Requirement 6.5.4, Requirement 6.5.8
[12] Standards Mapping - Security Technical Implementation Guide Version 3.1, APP3260.1 CAT II
[13] Standards Mapping - Security Technical Implementation Guide Version 3.10, APP3260 CAT II
[14] Standards Mapping - Security Technical Implementation Guide Version 3.4, APP3260 CAT II
[15] Standards Mapping - Security Technical Implementation Guide Version 3.5, APP3260 CAT II
[16] Standards Mapping - Security Technical Implementation Guide Version 3.6, APP3260 CAT II
[17] Standards Mapping - Security Technical Implementation Guide Version 3.7, APP3260 CAT II
[18] Standards Mapping - Security Technical Implementation Guide Version 3.9, APP3260 CAT II
[19] Standards Mapping - Security Technical Implementation Guide Version 4.1, APSC-DV-000460 CAT I, APSC-DV-000470 CAT II, APSC-DV-001870 CAT II, APSC-DV-002360 CAT II
[20] Standards Mapping - Web Application Security Consortium 24 + 2, Insufficient Authorization
[21] Standards Mapping - Web Application Security Consortium Version 2.00, Insufficient Authorization (WASC-02)