계: Security Features
소프트웨어 보안은 보안 소프트웨어가 아닙니다. 여기서는 인증, 액세스 제어, 기밀성, 암호화, 권한 관리 등의 항목에 대해 설명합니다.
Django Bad Practices: Cookie Stored Sessions
Abstract
쿠키 기반 세션은 사용자가 로그아웃할 때 무효화되지 않습니다. 사용자의 쿠키를 검색하거나, 훔치거나, 가로채려는 공격자는 사용자가 로그아웃한 상태에서도 사용자를 가장할 수 있습니다.
Explanation
세션 데이터를 쿠키에 저장하면 다음과 같은 여러 가지 문제가 발생합니다.
1. 쿠키 기반 세션은 사용자가 로그아웃할 때 무효화되지 않습니다. 사용자의 쿠키를 검색하거나, 훔치거나, 가로채려는 공격자는 사용자가 로그아웃한 상태에서도 사용자를 가장할 수 있습니다.
2. 조작을 방지하고 데이터의 신뢰성을 보증하기 위해 세션 쿠키가 서명되지만 이를 통해 재전송 공격이 차단되지는 않습니다.
3. 세션 데이터가 암호화 서명 및
4. 세션 데이터가 서명되지만 암호화되지는 않습니다. 따라서 공격자가 세션 데이터를 읽을 수 있지만 수정할 수는 없습니다.
5. 쿠키 크기 및 직렬화 프로세스로 인해 사이트 부하에 따른 성능 문제가 발생할 수 있습니다.
1. 쿠키 기반 세션은 사용자가 로그아웃할 때 무효화되지 않습니다. 사용자의 쿠키를 검색하거나, 훔치거나, 가로채려는 공격자는 사용자가 로그아웃한 상태에서도 사용자를 가장할 수 있습니다.
2. 조작을 방지하고 데이터의 신뢰성을 보증하기 위해 세션 쿠키가 서명되지만 이를 통해 재전송 공격이 차단되지는 않습니다.
3. 세션 데이터가 암호화 서명 및
SECRET_KEY
설정을 위한 Django 도구를 통해 저장됩니다. SECRET_KEY
가 누출되는 경우 공격자는 세션 데이터를 왜곡할 수 있을 뿐 아니라, 응용 프로그램에서 Pickle을 사용하여 세션 데이터를 쿠키로 직렬화하면 공격자가 역직렬화 시 임의의 코드를 실행하는 악의적으로 피클링된 데이터를 만들 수 있습니다.4. 세션 데이터가 서명되지만 암호화되지는 않습니다. 따라서 공격자가 세션 데이터를 읽을 수 있지만 수정할 수는 없습니다.
5. 쿠키 크기 및 직렬화 프로세스로 인해 사이트 부하에 따른 성능 문제가 발생할 수 있습니다.
References
[1] Django Foundation Using cookie-based sessions
[2] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001185
[3] Standards Mapping - General Data Protection Regulation (GDPR) Access Violation
[4] Standards Mapping - NIST Special Publication 800-53 Revision 4 AU-10 Non-Repudiation (P2), SC-23 Session Authenticity (P1)
[5] Standards Mapping - NIST Special Publication 800-53 Revision 5 AU-10 Non-Repudiation, SC-23 Session Authenticity
[6] Standards Mapping - OWASP API 2023 API5 Broken Function Level Authorization
[7] Standards Mapping - OWASP Mobile 2024 M8 Security Misconfiguration
[8] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002240 CAT I
[9] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002240 CAT I
[10] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002240 CAT I
[11] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002240 CAT I
[12] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002240 CAT I
[13] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002240 CAT I
[14] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002240 CAT I
[15] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002240 CAT I
[16] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002240 CAT I
[17] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002240 CAT I
[18] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002240 CAT I
[19] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002240 CAT I
[20] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002240 CAT I
[21] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-000590 CAT II, APSC-DV-002240 CAT I
[22] Standards Mapping - Security Technical Implementation Guide Version 6.1 APSC-DV-000590 CAT II, APSC-DV-002240 CAT I
[23] Standards Mapping - Web Application Security Consortium Version 2.00 Application Misconfiguration (WASC-15)
desc.structural.python.django_bad_practices_cookie_stored_sessions