계: Security Features
소프트웨어 보안은 보안 소프트웨어가 아닙니다. 여기서는 인증, 액세스 제어, 기밀성, 암호화, 권한 관리 등의 항목에 대해 설명합니다.
Acegi Misconfiguration: Run-As Authentication Replacement
Abstract
Acegi의 Run-As 인증 대체 기능을 사용하면 권한 에스컬레이션 취약점이 발생할 수 있습니다.
Explanation
Acegi Security는 보안 개체 콜백 단계 중에 SecurityContext의 Authentication 개체를 일시적으로 교체하는 것을 허용합니다. 이는 원래 Authentication 개체가 AuthenticationManager 및 AccessDecisionManager에 의해 성공적으로 처리된 경우에만 발생합니다. RunAsManager는 이 인증 개체를 만듭니다.
일반적으로 개발자는 RunAsManager를 사용하여 메서드 호출 기간 동안 인증된 사용자에 대해 하나 이상의 추가 역할을 구성합니다. 이는 원격 응용 프로그램에 액세스해야 하는 보안 빈에 유용합니다. 원격 응용 프로그램에서 다른 자격 증명을 요구할 수 있으므로 이렇게 하면 호출 역할과 원격 응용 프로그램에 필요한 역할 사이를 변환하여 원격 액세스에 성공할 수 있습니다. 새 Authentication 개체(RunAsUserToken)는 추가 인증 또는 권한 부여 확인 없이 간단히 유효한 Authentication 인증 개체로 수락됩니다.
새 Authentication 개체에 새 역할 또는 권한을 추가하면 사용자의 권한이 일시적으로 상승하여 사용자가 권한이 부여되지 않은 작업을 수행하게 될 수 있습니다.
다음은 RunAsManager를 사용하여 "UBER_BOSS" 역할을 "ROLE_PEON" 역할이 있는 사용자에게 추가하고 일시적으로 이 사용자를 관리자 권한으로 상승시킴으로써 모든 사용자가 PrivateCatalog에서 데이터를 가져올 수 있도록 하는 구성을 보여줍니다.
일반적으로 개발자는 RunAsManager를 사용하여 메서드 호출 기간 동안 인증된 사용자에 대해 하나 이상의 추가 역할을 구성합니다. 이는 원격 응용 프로그램에 액세스해야 하는 보안 빈에 유용합니다. 원격 응용 프로그램에서 다른 자격 증명을 요구할 수 있으므로 이렇게 하면 호출 역할과 원격 응용 프로그램에 필요한 역할 사이를 변환하여 원격 액세스에 성공할 수 있습니다. 새 Authentication 개체(RunAsUserToken)는 추가 인증 또는 권한 부여 확인 없이 간단히 유효한 Authentication 인증 개체로 수락됩니다.
새 Authentication 개체에 새 역할 또는 권한을 추가하면 사용자의 권한이 일시적으로 상승하여 사용자가 권한이 부여되지 않은 작업을 수행하게 될 수 있습니다.
다음은 RunAsManager를 사용하여 "UBER_BOSS" 역할을 "ROLE_PEON" 역할이 있는 사용자에게 추가하고 일시적으로 이 사용자를 관리자 권한으로 상승시킴으로써 모든 사용자가 PrivateCatalog에서 데이터를 가져올 수 있도록 하는 구성을 보여줍니다.
<bean id="bankManagerSecurity" class="org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor">
...
<property name="objectDefinitionSource">
<value>
com.example.service.PrivateCatalog.getData=ROLE_PEON,RUN_AS_UBER_BOSS
...
</value>
</property>
</bean>
References
[1] Ben Alex Acegi Security - Run-As Authentication Replacement
[2] Standards Mapping - Common Weakness Enumeration CWE ID 724
[3] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001764, CCI-001774, CCI-002038, CCI-002039
[4] Standards Mapping - General Data Protection Regulation (GDPR) Access Violation
[5] Standards Mapping - NIST Special Publication 800-53 Revision 4 CM-5 Access Restrictions for Change (P1), CM-7 Least Functionality (P1), IA-11 Re-Authentication (P0), SC-23 Session Authenticity (P1)
[6] Standards Mapping - NIST Special Publication 800-53 Revision 5 CM-5 Access Restrictions for Change, CM-7 Least Functionality, SC-11 Trusted Path, SC-23 Session Authenticity
[7] Standards Mapping - OWASP Mobile 2014 M5 Poor Authorization and Authentication
[8] Standards Mapping - OWASP Mobile 2024 M8 Security Misconfiguration
[9] Standards Mapping - OWASP Top 10 2004 A3 Broken Authentication and Session Management
[10] Standards Mapping - OWASP Top 10 2007 A7 Broken Authentication and Session Management
[11] Standards Mapping - OWASP Top 10 2010 A3 Broken Authentication and Session Management
[12] Standards Mapping - OWASP Top 10 2013 A2 Broken Authentication and Session Management
[13] Standards Mapping - OWASP Top 10 2017 A2 Broken Authentication
[14] Standards Mapping - OWASP Top 10 2021 A07 Identification and Authentication Failures
[15] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.3
[16] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2 Requirement 6.5.7
[17] Standards Mapping - Payment Card Industry Data Security Standard Version 2.0 Requirement 6.5.8
[18] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.10
[19] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.10
[20] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.10
[21] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.10
[22] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[23] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 4.2 - Critical Asset Protection
[24] Standards Mapping - Payment Card Industry Software Security Framework 1.1 Control Objective 4.2 - Critical Asset Protection
[25] Standards Mapping - Payment Card Industry Software Security Framework 1.2 Control Objective 4.2 - Critical Asset Protection
[26] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[27] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[28] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[29] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[30] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[31] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[32] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[33] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[34] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[35] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[36] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[37] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[38] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-001480 CAT II, APSC-DV-001490 CAT II
[39] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-001410 CAT II, APSC-DV-001480 CAT II, APSC-DV-001490 CAT II, APSC-DV-001520 CAT II, APSC-DV-001530 CAT II
[40] Standards Mapping - Security Technical Implementation Guide Version 6.1 APSC-DV-001410 CAT II, APSC-DV-001480 CAT II, APSC-DV-001490 CAT II, APSC-DV-001520 CAT II, APSC-DV-001530 CAT II
[41] Standards Mapping - Web Application Security Consortium Version 2.00 Insufficient Authentication (WASC-01)
[42] Standards Mapping - Web Application Security Consortium 24 + 2 Insufficient Authentication
desc.config.java.acegi_misconfiguration_run_as_authentication_replacement