[웹 취약점 진단/모의해킹/해킹] 세션 예측
- 정보보안/Web Hacking
- 2024. 11. 22.
목차
SE - 세션 예측
■ 점검내용
단순한 방법(연속된 숫자 할당 등)으로 생성되는 세션 ID를 예측하여 세션 탈취 여부 점검
■ 점검목적
사용자의 세션ID를 추측 불가능하도록 난수로 생성하여 공격자의 불법적인 접근을 차단하기 위함
■ 보안위협
사용자에게 전달하는 세션 ID가 일정한 패턴을 가지고 있는 경우 공격자가 세션 ID를 추측하여 불법적인 접근을 시도할 수 있음
■ 참고
※ 세션(Session): 일정 시간 동안 같은 사용자(브라우저)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술
※ 소스코드 및 취약점 점검 필요
점검대상 및 판단기준
■ 대상 : 웹 애플리케이션 소스코드
양호
추측 불가능한 세션 ID가 발급되는 경우
취약
세션 ID가 일정한 패턴으로 발급되는 경우
■ 조치방법
추측 불가능한 세션 ID가 발급되도록 로직 구현
점검 및 조치 방법
■ 점검방법
Step 1) 각기 다른 IP 주소와 다른 사용자명, 시간적 차이로 세션 ID를 발급받음
Step 2) 발급받은 세션 ID에 일정한 패턴이 있는지 조사
Step 3) 일정한 패턴이 확인되고, 패턴에 의해 사용 가능한 세션 ID의 예측이 가능한지 확인
■ 보안설정방법
* 아무리 길이가 길고 복잡한 항목으로 세션 ID가 만들어져도 공격자가 충분한 시간과 자원이 있다면 뚫는 것은 불가능하지 않으므로 강력한 세션 ID를 생성하여야 함
주된 목적은 수많은 대역폭과 처리 자원을 가지고 있는 공격자가 하나의 유효한 세션 ID를 추측하는데 최대한 오랜 시간이 걸리게 하여 쉽게 추측하지 못하게 하는 것에 있음
단순 조합보다는 상용 웹 서버나 웹 애플리케이션 플랫폼에서 제공하는 세션 ID를 사용하고, 가능하다면 맞춤형 세션 관리 체계를 권고함
세션 ID는 로그인 시마다 추측할 수 없는 새로운 세션 ID로 발급하여야 함
■ 조치 시 영향 : 일반적인 경우 영향 없음