보안

6. 데이터 변조 – 쿠키 변조

적외선 2010. 11. 23. 18:59

이번에는 쿠키 변조에 대해 알아 봅니다.

앞에서 알아본 세션ID 변조와 크게 다르지 않습니다.

 

* 쿠키란 ?
쿠키 역시 HTTP 무 상태 프로토콜에서의 특정 클라이언트 식별 및 데이터 공유를 위해 서버와 클라이언트간에 데이터를 주고 받는 메커니즘 입니다

쿠키가 세션과 다른 점은 그 저장되는 장소가 클라이언트의 메모리 또는 하드 디스크란

점입니다(세션은 서버에도 동일한 정보가 저장되는 것을 이미 알고 있습니다)

참고로 쿠키라고 이름이 붙여진 유래는 과자의 부스러기와 유사한 개념이라고 합니다.

 

* 쿠키 변조?

예전에 쇼핑몰에서는 특정 사용자의 장바구니 정보를 유지 하기 위해 쿠키를 많이
사용하곤 했었습니다. 또한 현재까지도 쿠키는 아주 유용하게 사용되어 지고 있습니다.

사용자의 중요한 정보를 쿠키에 저장하여 사용하는 시나리오에서의 쿠키 변조는

심각한 문제를 야기 시킬 수도 있습니다.

예를 들면 사용자의 주민등록번호, 비밀번호와 같은 데이터 말이죠..

 

또한 만료 시간이 없는 쿠키 사용은 공공장소에서의 개인 정보 유출을 초래 할 수도 있습니다

 

* 쿠키 변조 방법

지금부터 간단한 데모 화면을 통해 쿠키 변조 방법을 살펴 봅니다.

데모를 위해 간단한 쿠키 설정 및 쿠키를 가져 오는 코드를 아래와 같이 작성합니다

1. SetCookie.asp

<%

  CookieValue = " 777"

  Response.Cookies("MyCookie") = CookieValue

 

  Response.Write "쿠키가 설정 되었습니다 - "& CookieValue

%>

 

2. GetCookie.asp
<%

  CookieValue = Request.Cookies("MyCookie")

 

  Response.Write CookieValue

%>


 
 

 

정상적인 시나리오 라면 아래와 같은 시퀀스로 구매과정이 일어 날 것입니다.

 

1. 쿠키 저장


   

 

2. 쿠키 값 확인

   
그러나 위 1 2의 과정에서 프록시 툴을 이용해 아래와 같이 쿠키 값을 변경합니다. 


  

 
 
그러면 위 2의 과정은 아래와 같이 될 것입니다.
 



 

777 이었던 쿠키 값이 444로 변경되어 서버로 전달 되었습니다.

쿠키 변조는 아래와 같은 사항들을 점검 하세요..

1. 개인 정보와 같은 중요한 정보는 쿠키를 사용하지 않는다.

2. 쿠키 값을 암호화 한다.

3. 웹 방화벽이나 PKI 솔루션을 도입한다

   (쿠키 변조를 차단하는 기타 보안 솔루션 도입)