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

16. 세션 예측 WEB [SE] - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021)

재민스 2021. 11. 9. 10:17

가. 취약점 개요

    내용 : 단순한 방법(연속된 숫자 할당 등)으로 생성되는 세션 ID를 예측하여 세션 탈취 여부 점검

    목적 : 사용자의 세션ID를 추측 불가능하도록 난수로 생성하여 공격자의 불법적인 접근을 차단하기 위함

    보안 위협

    -      사용자에게 전달하는 세션 ID가 일정한 패턴을 가지고 있는 경우 공격자가 세션 ID를 추측하여 불법적인 접근을 시도할 수 있음

    참고

    ※ 세션(Session): 일정 시간 동안 같은 사용자(브라우저)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술

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

 

나. 점검방법

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

    판단기준

    -      양호 : 추측 불가능한 세션 ID가 발급되는 경우

    -      취약 : 세션 ID가 일정한 패턴으로 발급되는 경우

    점검방법

    Step 1) 각기 다른 IP 주소와 다른 사용자명, 시간적 차이로 세션 ID를 발급받음


    Step 2) 발급받은 세션 ID에 일정한 패턴이 있는지 조사    

     Step 3) 일정한 패턴이 확인되고, 패턴에 의해 사용 가능한 세션 ID의 예측이 가능한지 확인

 

다. 조치방법

     추측 불가능한 세션 ID가 발급되도록 로직 구현

    보안설정 방법

    -      아무리 길이가 길고 복잡한 항목으로 세션 ID가 만들어져도 공격자가 충분한 시간과 자원이 있다면 뚫는 것은 불가능하지 않으므로 강력한 세션 ID를 생성하여야 함

    -      주된 목적은 수많은 대역폭과 처리 자원을 가지고 있는 공격자가 하나의 유효한 세션 ID를 추측하는데 최대한 오랜 시간이 걸리게 하여 쉽게 추측하지 못하게 하는 것에 있음

    -      단순 조합보다는 상용 웹 서버나 웹 애플리케이션 플랫폼에서 제공하는 세션 ID를 사용하고, 가능하다면 맞춤형 세션 관리 체계를 권고함

    -      세션 ID는 로그인 시마다 추측할 수 없는 새로운 세션 ID로 발급하여야 함

 

라. 조치시 영향

■    일반적으로 영향 없음