[쿠키변조]▶
O 쿠키를 사용하는 경우 해당 값의 조작을 통해 다른 사용자의 유효한 세션을 취득하거나 기타 중요 정보의 유출 및 변조가 발생할 수 있는 취약점
O 근거 자료
☞ 주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드(p.729)
☞ OWASP TOP10 2021
O 판단 기준
양호 | 쿠키를 사용하지 않고 서버 사이드 세션을 사용하고 있거나, 쿠키(또는 세션)을 사용하는 경우 안전한 알고리즘이 적용되어 있는 경우 |
취약 | 안전한 알고리즘이 적용되어 있지 않는 쿠키(세션)을 사용하거나, 클라이언트 사이드 세션을 사용하는 경우 |
O 점검 방법
- 쿠키 값에 노출된 사용자 정보를 변조 및 조작하여 인증과 같은 정상적인 프로세스가 우회 가능한지 점검
O 조치 방법
- 웹 어플리케이션 소스 레벨에서의 쿠키 값 암호화
- 웹 어플리케이션 소스 점검을 통해 불법 변조 쿠키를 탐지하는 루틴의 존재 여부 확인
- 인증 관련 정보의 네트워크 경로를 SSL이나 VPN으로 암호화
- 타 사이트로의 이동과 같은 악의적인 링크 제거
- 쿠키 내 중요정보(ID, 권한 등)이 포함되지 않도록 구현
- 사용자 인증 및 권한관련 처리를 클라이언트 사이드 세션이 아닌 서버 사이드 세션으로 처리하도록 구현
# 현재 웹 페이지의 쿠키 정보를 확인하는 방법
- 웹 브라우저의 주소창에 다음과 같이 입력
: alert(document. cookie);
[세션 변조를 통한 인증 우회]▶
O 단순한 방법(연속된 숫자 할당 등)으로 세션ID가 생성되거나 세션 ID를 고정하여 사용하는 등 안전하지 않게 세션을 적용할 경우, 악의적인 사용자에 의해 세션 ID를 추측하여 불법적인 접근을 시도할 수 있는 취약점
O 근거 자료
☞ 주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드(p.729)
☞ OWASP TOP10 2021
O 판단 기준
양호 | 추측 불가능한거나 고정되지 않은 세션 ID가 발급되는 경우 |
취약 | 세션 ID가 일정한 패턴 또는 고정되어 동일한 ID가 재발급되거나 재사용이 가능한 경우 |
O 점검 방법
- 각기 다른 PC에서 IP주소, 사용자명, 시간을 다르게 하여 접근을 시도하였을 때 발급받은 세션 ID를 확인하여 일정한 패턴 또는 고정된 ID로 발급되는지 점검
- 기존에 발급된 세션에 대해 재사용이 가능한지 점검
O 조치 방법
- 클라이언트 측이 아닌 서버 측에 클라이언트 정보를 저장하여 처리하는 세션 이용
- 웹 어플리케이션 소스 레벨에서의 세션 값 암호화
- 웹 어플리케이션 소스 점검을 통해 불법 변조 세션을 탐지하는 루틴 존재 여부 확인
- 인증관련 정보의 네트워크 경로를 SSL이나 VPN으로 암호화
- 타 사이트로의 이동과 같은 악의적인 링크 제거
- 프레임 워크, WAS, 웹 서버 등에 세션 고정에 대한 별도의 설정 값이 존재할 경우 이를 활용하여 고정된 세션이 발급되지 않도록 설정
- 사용자 인증 시 반드시 새로운 세션 값을 할당 받는 로직 구현
[쿠키변조]▶
O 쿠키를 사용하는 경우 해당 값의 조작을 통해 다른 사용자의 유효한 세션을 취득하거나 기타 중요 정보의 유출 및 변조가 발생할 수 있는 취약점
O 근거 자료
☞ 주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드(p.729)
☞ OWASP TOP10 2021
O 판단 기준
O 점검 방법
- 쿠키 값에 노출된 사용자 정보를 변조 및 조작하여 인증과 같은 정상적인 프로세스가 우회 가능한지 점검
O 조치 방법
- 웹 어플리케이션 소스 레벨에서의 쿠키 값 암호화
- 웹 어플리케이션 소스 점검을 통해 불법 변조 쿠키를 탐지하는 루틴의 존재 여부 확인
- 인증 관련 정보의 네트워크 경로를 SSL이나 VPN으로 암호화
- 타 사이트로의 이동과 같은 악의적인 링크 제거
- 쿠키 내 중요정보(ID, 권한 등)이 포함되지 않도록 구현
- 사용자 인증 및 권한관련 처리를 클라이언트 사이드 세션이 아닌 서버 사이드 세션으로 처리하도록 구현
# 현재 웹 페이지의 쿠키 정보를 확인하는 방법
- 웹 브라우저의 주소창에 다음과 같이 입력
: alert(document. cookie);
[세션 변조를 통한 인증 우회]▶
O 단순한 방법(연속된 숫자 할당 등)으로 세션ID가 생성되거나 세션 ID를 고정하여 사용하는 등 안전하지 않게 세션을 적용할 경우, 악의적인 사용자에 의해 세션 ID를 추측하여 불법적인 접근을 시도할 수 있는 취약점
O 근거 자료
☞ 주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드(p.729)
☞ OWASP TOP10 2021
O 판단 기준
O 점검 방법
- 각기 다른 PC에서 IP주소, 사용자명, 시간을 다르게 하여 접근을 시도하였을 때 발급받은 세션 ID를 확인하여 일정한 패턴 또는 고정된 ID로 발급되는지 점검
- 기존에 발급된 세션에 대해 재사용이 가능한지 점검
O 조치 방법
- 클라이언트 측이 아닌 서버 측에 클라이언트 정보를 저장하여 처리하는 세션 이용
- 웹 어플리케이션 소스 레벨에서의 세션 값 암호화
- 웹 어플리케이션 소스 점검을 통해 불법 변조 세션을 탐지하는 루틴 존재 여부 확인
- 인증관련 정보의 네트워크 경로를 SSL이나 VPN으로 암호화
- 타 사이트로의 이동과 같은 악의적인 링크 제거
- 프레임 워크, WAS, 웹 서버 등에 세션 고정에 대한 별도의 설정 값이 존재할 경우 이를 활용하여 고정된 세션이 발급되지 않도록 설정
- 사용자 인증 시 반드시 새로운 세션 값을 할당 받는 로직 구현