'Secure' 속성이 없는 민감한 쿠키

Sensitive Cookie in HTTPS Session Without 'Secure' Attribute

설명

'Secure' 속성이 없는 민감한 쿠키는 중간자 공격(Man-in-the-Middle, MITM)으로 인해 민감한 정보가 노출될 위험이 있습니다. 'Secure' 속성이 없는 쿠키는 HTTPS가 아닌 HTTP에서도 전송될 수 있으므로 보안에 취약합니다.

잠재적 영향

  • 민감한 정보 유출: 공격자가 쿠키를 가로채서 세션을 탈취하거나 민감한 정보를 얻을 수 있습니다.

  • 세션 하이재킹: 공격자가 세션 쿠키를 가로채서 사용자로 가장할 수 있습니다.

  • 데이터 변조: 공격자가 쿠키 데이터를 조작하여 애플리케이션의 무결성을 해칠 수 있습니다.

해결 방법

  • 쿠키에 'Secure' 속성 추가: HTTPS를 통해서만 쿠키가 전송되도록 'Secure' 속성을 설정합니다.

취약한 코드 및 안전한 코드 예시

취약한 코드

# Unsafe Django cookie settings
SESSION_COOKIE_SECURE = False
CSRF_COOKIE_SECURE = False

안전한 코드

취약한 코드

안전한 코드

취약한 코드

안전한 코드

설명:

  • 취약한 코드: 'Secure' 속성이 설정되지 않아 쿠키가 HTTP를 통해 전송될 수 있습니다.

  • 안전한 코드: 'Secure' 속성과 'HttpOnly' 속성을 설정하여 쿠키가 HTTPS를 통해서만 전송되도록 합니다.

참조

Last updated