Code::Security/비박스(BWAPP)

비박스(bWAPP) A5 Security Misconfiguration (보안 설정 오류)

태군 코드 2022. 9. 5. 13:32
반응형

이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.

 

A5 - Security Misconfiguration

 

A5 - Security Misconfiguration

Security Misconfiguration (보안설정오류) 

애플리케이션 스택의 적절한 보안 강화가 누락되었거나 클라우드 서비스에 대한 권한이 적절하지 않게 구성되었을 때, 불필요한 기능이 활성화되거나 설치되었을 때, 기본 계정 및 암호화가 변경되지 않았을 때, 지나치게 상세한 오류 메시지를 노출할 때, 최신 보안 기능이 비활성화되거나 안전하지 않게 구성되었을 때 발생합니다.

 

개요
Security Misconfiguration은 OWASP 2017 6위에서 OWASP 2021 5위로 이동하여 애플리케이션의 90%가 어떤 형태의 잘못된 구성에 대해 테스트되었으며 평균 발생률은 4.%이고 이 위험 범주에서 CWE(Common Weakness Enumeration)가 208,000번 이상 발생했습니다. 고도로 구성 가능한 소프트웨어로 더 많이 이동함에 따라 이 범주가 상승하는 것은 놀라운 일이 아닙니다. 포함된 주목할만한 CWE는 CWE-16 구성 및 CWE-611 XML 외부 엔티티 참조의 부적절한 제한입니다.

 

설명
애플리케이션이 다음과 같은 경우 취약할 수 있습니다.

- 애플리케이션 스택의 모든 부분에서 적절한 보안 강화가 누락되었거나 클라우드 서비스에 대한 권한이 부적절하게 구성되었습니다.


 - 불필요한 기능이 활성화되거나 설치됩니다(예: 불필요한 포트, 서비스, 페이지, 계정 또는 권한).


- 기본 계정과 해당 암호는 여전히 활성화되어 있으며 변경되지 않습니다.


- 오류 처리는 스택 추적 또는 기타 지나치게 유익한 오류 메시지를 사용자에게 보여줍니다.


- 업그레이드된 시스템의 경우 최신 보안 기능이 비활성화되거나 안전하게 구성되지 않습니다.


- 애플리케이션 서버, 애플리케이션 프레임워크(예: Struts, Spring, ASP.NET), 라이브러리, 데이터베이스 등의 보안 설정이 보안 값으로 설정되어 있지 않습니다.


- 서버가 보안 헤더 또는 지시문을 보내지 않거나 보안 값으로 설정되지 않았습니다.


- 소프트웨어가 오래되었거나 취약합니다( A06:2021-Vulnerable and Outdated Components 참조).

일관되고 반복 가능한 애플리케이션 보안 구성 프로세스가 없으면 시스템이 더 큰 위험에 노출됩니다.

 

예방하는 방법
다음을 포함하여 안전한 설치 프로세스를 구현해야 합니다.

- 반복 가능한 강화 프로세스를 통해 적절하게 잠겨 있는 다른 환경을 빠르고 쉽게 배포할 수 있습니다. 개발, QA 및 프로덕션 환경은 각 환경에서 사용되는 다른 자격 증명을 사용하여 모두 동일하게 구성되어야 합니다. 새로운 보안 환경을 설정하는 데 필요한 노력을 최소화하려면 이 프로세스를 자동화해야 합니다.


- 불필요한 기능, 구성 요소, 문서 및 샘플이 없는 최소 플랫폼입니다. 사용하지 않는 기능 및 프레임워크를 제거하거나 설치하지 마십시오.


- 패치 관리 프로세스의 일부로 모든 보안 정보, 업데이트 및 패치에 적절한 구성을 검토하고 업데이트하는 작업( A06:2021-취약하고 오래된 구성 요소 참조). 클라우드 스토리지 권한(예: S3 버킷 권한)을 검토합니다.


- 세분화된 애플리케이션 아키텍처는 세분화, 컨테이너화 또는 클라우드 보안 그룹(ACL)을 사용하여 구성 요소 또는 테넌트 간에 효과적이고 안전한 분리를 제공합니다.


- 보안 지침(예: 보안 헤더)을 클라이언트에 보냅니다.


- 모든 환경에서 구성 및 설정의 효율성을 확인하는 자동화된 프로세스입니다.

 

공격 시나리오의 예
시나리오 #1: 애플리케이션 서버는 프로덕션 서버에서 제거되지 않은 샘플 애플리케이션과 함께 제공됩니다. 이러한 샘플 응용 프로그램에는 공격자가 서버를 손상시키는 데 사용하는 알려진 보안 결함이 있습니다. 이러한 응용 프로그램 중 하나가 관리 콘솔이고 기본 계정이 변경되지 않았다고 가정합니다. 이 경우 공격자는 기본 암호로 로그인하여 인수합니다.

시나리오 #2: 디렉토리 목록이 서버에서 비활성화되지 않았습니다. 공격자는 단순히 디렉토리를 나열할 수 있음을 발견합니다. 공격자는 컴파일된 Java 클래스를 찾아 다운로드합니다. 이 클래스를 디컴파일하고 리버스 엔지니어링 하여 코드를 봅니다. 그런 다음 공격자는 응용 프로그램에서 심각한 액세스 제어 결함을 찾습니다.

시나리오 #3: 응용 프로그램 서버의 구성을 통해 스택 추적과 같은 자세한 오류 메시지를 사용자에게 반환할 수 있습니다. 이는 잠재적으로 민감한 정보 또는 취약한 것으로 알려진 구성 요소 버전과 같은 기본 결함을 노출합니다.

시나리오 #4: CSP(클라우드 서비스 공급자)에는 다른 CSP 사용자가 인터넷에 공개하는 기본 공유 권한이 있습니다. 이를 통해 클라우드 스토리지에 저장된 민감한 데이터에 액세스할 수 있습니다.

 

참고

https://owasp.org/Top10/A05_2021-Security_Misconfiguration/
 

 

반응형