본문 바로가기
about Security/SECURE CODING

[보안기능] 사용자 하드디스크에 저장되는 쿠키를 통한 정보 노출 (5등급)

by saniii 2021. 8. 10.

 

0. 개요 

 

대부분의 웹 응용프로그램에서 쿠키는 메모리에 상주하며, 브라우저의 실행이 종료되면 사라진다.

프로그래머가 원하는 경우, 브라우저 세션에 관계없이 지속적으로 저장되도록 설정할 수 있으며,

이것은 디스크에 기록되고, 다음 브라우저 세션이 시작되었을 때 메모리에 로드된다.

 

개인정보, 인증 정보 등이 이와 같은 영속적인 쿠키(Persistent Cookie)에 저장된다면,

공격자는 쿠키에 접근할 수 있는 보다 많은 기회를 가지게 되며, 이는 시스템을 취약하게 만든다.

 

 

 

1. 보안 대책

 

쿠키의 만료시간은 세션이 지속되는 시간을 고려하여 최소한으로 설정한다.

- 영속적인 쿠키에는 사용자 권한 등급, 세션 ID 등 중요 정보가 포함되지 않도록 한다.

 

 

 

2. 진단 방법

 

 - 쿠키를 사용하는지 확인한다.

 - 쿠키 유효시간을 확인한다.

 - 쿠키 내 중요정보가 포함되어 있는지 확인한다.

 

 

 

3. 코드 예시

소프트웨어 개발보안 가이드 (2019.11) / 행정안전부 & 한국인터넷진흥원

# 1  -  제거되지 않고 남은 디버그 코드 - 안전하지 않은 코드 예시(JAVA)

 

 

# 1  +  제거되지 않고 남은 디버그 코드 - 안전한 코드 예시(JAVA)

 

 

# 2  -  제거되지 않고 남은 디버그 코드 - 안전하지 않은 코드 예시(JAVA)

 

 

# 2  +  제거되지 않고 남은 디버그 코드 - 안전한 코드 예시(JAVA)  

 

 

 

# 3  -  제거되지 않고 남은 디버그 코드 - 안전하지 않은 코드 예시(JAVA)

 

 

 

 

# 4  -  제거되지 않고 남은 디버그 코드 - 안전하지 않은 코드 예시(JAVA)

 

 

 

 

4. 해당 취약점 CASE

 

- 쿠키의 만료시간이 과도하게 길게 설정되어 있는 경우

 

 

 

#. 참고 블로그 

https://prokyhsigma.tistory.com/64?category=848515 

 

[구현보안] 보안기능 12 - 사용자 하드디스크에 저장되는 쿠키를 통한 정보노출

가. 원인 - 개인정보 / 인증정보 / 금융정보와 같은 중요정보를 영속적인 쿠키에 저장하는 경우 나. 영향 - 쿠키에 저장된 중요정보 유출 및 변조를 통해 사용자 권한 / 인증을 우회 다. 보안대책 -

prokyhsigma.tistory.com

 

댓글