[OWASP TOP 10] A05 2021-security Misconfiguration 정리

Tamszero·2024년 10월 13일

이비전

목록 보기
7/12

A05 Security Misconfiguration (보안 설정 오류)

: 보안 설정 오류(Security Misconfiguration)는 애플리케이션의 설치 및 업데이트시 보안성을 고려하지 않은 설정으로 인해 취약점이 발생하는 경우로, 설정과 관련된 모든 부분을 포함하고 있습니다. 이는 보안 설정이 제대로 이루어지지 않거나, 기본값이 그대로 유지되었거나, 중요 파일 및 디렉토리의 권한이 부적절하게 설정된 경우에 발생할 수 있습니다.

  • 발생 원인
  1. 기본 설정 사용: 소프트웨어가 설치된 후 기본 설정을 수정하지 않고 사용하는 경우.
  2. 불필요한 기능 활성화: 사용하지 않는 기능, 서비스 또는 포트를 비활성화하지 않음.
  3. 오류 메시지 노출: 공격자에게 시스템 정보를 제공할 수 있는 상세한 오류 메시지 표시.
  4. 패치나 업데이트 미적용: 최신 패치 및 보안 업데이트가 적용되지 않음.
  5. 잘못된 권한 설정: 중요 파일, 디렉토리, 서비스에 대해 과도한 권한을 부여하는 경우.
  • 예방 방법
  1. 보안 설정 검토: 개발 및 배포 환경에서 보안 설정을 주기적으로 검토하고 점검.
  2. 최신 패치 적용: 운영 중인 모든 소프트웨어에 대해 최신 보안 패치 및 업데이트를 즉시 적용.
  3. 기본 설정 변경: 소프트웨어의 기본 보안 설정을 안전한 방식으로 변경.
  4. 오류 메시지 최소화: 사용자에게 불필요한 정보가 노출되지 않도록 오류 메시지를 간소화.
  5. 최소 권한 원칙 적용: 파일, 디렉토리, 서비스에 대해 최소 권한 원칙을 적용하여 불필요한 접근을 제한.
  • CWE 201: Information Exposure Through Sent Data는 애플리케이션이 전송하는 데이터를 통해 민감한 정보가 부적절하게 노출될 수 있는 취약점을 나타냅니다. 이는 네트워크 통신 중에 데이터가 노출되는 문제로, 악의적인 사용자가 이러한 데이터를 가로채거나 엿볼 수 있는 위험이 있습니다. 이러한 정보에는 비밀번호, 인증 토큰, 신용카드 정보, 개인정보 등이 포함될 수 있습니다.

취약한 코드 예시
1. HTTPS 미사용
애플리케이션이 HTTPS 대신 HTTP를 사용하여 비밀번호와 같은 중요한 데이터를 평문으로 전송하는 경우.

‘ 취약한 코드: HTTP를 사용하여 평문으로 데이터 전송
URL url = new URL("http://example.com/login?username=admin&password=1234");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
InputStream response = connection.getInputStream();’

문제점: 이 코드는 HTTP를 통해 데이터를 전송하고 있으며, 비밀번호가 평문으로 전송됩니다. 공격자는 네트워크를 가로채 민감한 정보를 탈취할 수 있습니다.

방어방법 : https사용

0개의 댓글