웹사이트의 사용자가 얼마나 페이지를 봐주고 있는지, 방문 빈도는 어느 정도인지 등의 정보를 추적하는 데 쿠키(Cookie) 또는 JavaScript 등이 사용되지만, 추적되는 것을 원하지 않아 Cookie를 허용하지 않도록 설정하거나 JavaScript를 해제하는 사람도 있을 터. 그러나 여전히 개별 사용자를 추적하는 방법이 있습니다.

Lucb1e.com :: Cookieless Cookies
http://lucb1e.com/rp/cookielesscookies/


이것은 네덜란드에 거주하는 코드 보안 네트워크를 좋아한다는 lucb1e 씨가 밝힌 것. 방법은 새로운 것이 아니라, 다수의 사이트에서 사용되고 있음에도 불구하고 그 사실을 알고 있는 사람은 거의 없다고 합니다. Cookie, JavaScript, IP주소, 사용자 에이전트, FLASH나 JAVA 같은 브라우저 플러그인을 사용하지 않고 사용자 추적을 가능하게 하는 이것의 정체는 브라우저의 캐시입니다. Cookie를 받아들이지 않고 JavaScript와 모든 플러그인을 해제하여 VPN 서비스를 사용한다고 하더라도, 이것이라면 추적이 가능하다는 것입니다.

Lucb1e.com의 위 기사에서는 실제로 읽는 사람에 태그를 부여하여, 페이지 방문 횟수 및 최종 방문 일시를 표시하고 있습니다. 그러나 세션 ID는 어떠한 개인정보와도 연결되지 않기 때문에 안심해도 된다고 주장합니다. 텍스트 상자에 넣은 문자열이 브라우저를 닫고 다시 열어도 남아있는 것은 알고있어도 조금 섬뜩합니다.


사용하는 것은 HTTP 헤더의 ETag(엔터티 태그)라는 것으로, 콘텐츠가 갖는 고유값이라는 것. 브라우저에서 페이지를 로드할 때, 캐시 이미지의 ETag와 서버에 있는 이미지의 ETag 체크섬을 비교하고, 변해 있다면 이미지는 새로운 것이므로 다시 다운로드하고, 변화가 없는 경우에는 캐시를 사용하므로써 전송량를 줄일 수 있습니다.

아래의 그림을 보면, 첫 번째 액세스시에는 250KB의 이미지가 다운로드되고 있습니다만, 다음에 액세스할 때에는 이 이미지의 ETag를 가지고 있는 상태이므로 서버로부터 '갱신 없음'이라는 0.1KB의 응답이 돌아옵니다.


이 ETag 정보를 잘 활용하면, Cookie와 같은 효과를 낼 수 있다는 것이 lucb1e 씨의 지적입니다. lucb1e 씨가 일부러 이 기사를 쓴 이유는, 브라우징할 때 모두가 좀 더 보안 의식을 갖게 하고 싶었다고 합니다. 캐시에 의한 추적이 이루어지고 있었다고 해도 이를 감지하는 것은 사실상 불가능하며, 또한 캐시를 사용하면, 빨리 페이지가 표시된다는 등의 장점도 있으므로 완전히 캐시를 해제하기도 어려울 수도 있지만, 최근의 브라우저에는 '사생활 보호 모드(시크릿 모드)'가 탑재되어 있으므로, 온라인 뱅킹 등을 사용하는 경우에는 이를 활용해야 한다고 lucb1e 씨가 권고합니다.

Posted by 말총머리
,