주요정보통신기반기설 기술적 취약점 분석 평가 방법 상세가이드/WEB 진단

28. 쿠키 변조 WEB [CC] - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021)

재민스 2021. 11. 10. 13:12

가. 취약점 개요

    내용 : 쿠키 사용 여부 및 사용하는 경우 안전한 알고리즘으로 암호화 여부 점검

    목적 : 쿠키를 사용하는 경우 안전한 알고리즘으로 암호화하여 공격자가 쿠키 인젝션 등과 같은 쿠키 값 변조를 통한 다른 사용자로의 위장 및 권한 변경을 방지하고자 함

    보안 위협

    -      클라이언트에 전달되는 쿠키에 사용자 식별 값이 평문으로 노출될 경우 쿠키 변조를 통해 다른 사용자의 유효한 세션을 취득할 수 있으며, 기타 중요정보의 유출 및 변조 가능함

    참고

    ※  쿠키(Cookie): 인터넷 사용자가 어떠한 웹 사이트를 방문할 경우 그 사이트가 사용하고 있는 서버에서 인터넷 사용자의 컴퓨터에 설치하는 작은 기록 정보 파일

    ※ 소스코드 및 취약점 점검 필요

 

나. 점검방법

    대상 : 웹 애플리케이션 소스코드

    판단기준

    -      양호 : 쿠키를 사용하지 않고 Server Side Session을 사용하고 있거나, 쿠키(또는 Session)를 사용하는 경우 안전한 알고리즘(SEED, 3DES, AES)이 적용되어있는 경우

    -      취약 : 안전한 알고리즘이 적용되어있지 않은 쿠키(또는 Session)를 사용하거나, Client Side Session을 사용하는 경우

    점검방법

    Step 1) 쿠키 내용 및 발행되는 쿠키에 중요정보(인증을 위한 ID, 권한을 위한 구분자 등)의 노출 여부 조사

     

    Step 2) 쿠키의 중요정보를 변경하여 다른 사용자 및 권한으로 정상 이용이 가능한지 확인

               

 

다. 조치방법

    쿠키 대신 Server Side Session 방식을 사용하거나, 쿠키를 통해 인증 등 중요한 기능을 구현해야 할 경우엔 안전한 알고리즘(SEED, 3DES, AES ) 적용

    보안설정방법

    -      쿠키 대신 보안성이 강한 Server Side Session 방식 사용. Client Side Session 방식인 쿠키는 그 구조상 다양한 취약점에 노출될 수 있음

    -      쿠키(또는 Session)를 사용해서 중요정보나 인증을 구현해야 할 경우엔 안전한 알고리즘 (SEED, 3DES, AES ) 적용

    -      HTTP 헤더에 아래와 같이 설정하여 세션 ID 값은 HTTPS를 통해서만 전송되도록 설정하고, 자바스크립트를 통해 세션 ID 값 등 쿠키 정보가 유출되지 않도록 보호

Set-Cookie : secure, HttpOnly

Set-Cookie : domain=app.mysite.com
※ HttpOnly 설정 관련 참고사항
https://msdn.microsoft.com/en-us/library/system.web.httpcookie.httponly.aspx https://www.owasp.org/index.php/HttpOnly

 

라. 조치시 영향

    일반적으로 영향 없음