오늘 인터넷 서핑을 하다 흥미로운 보안 이슈를 하나 발견하였다. 요점을 간단하게 이야기하자면, 대부분의 브라우져는 방문한 URL을 로컬컴퓨터에 저장을 한다. 이는 사용자의 편의성을 제공하고, 이미 방문한 페이지의 링크를 브라우져에서 다른 색깔로 제공하는 목적으로 이용된다. 이 기능은 얼핏 보기에 좋은 기능으로 보이나, 사용자 프라이버시 차원에서는 취약하다고 생각한다. 그것은 바로 Javascript와 CSS만을 가지고 사용자가 방문한 웹사이트들을 파악 가능하기 때문이다. (참고: Stealing Browser History with Javascript and CSS)
먼저, 자신의 브라우져가 이 CSS History Hack에 취약한지 알아볼려면 다음 사이트 StartPanic.com 에서 간단하게 진단할 수 있다.
나는 이 취약점에 대해서 2006년 8월 11일에 Jeremiah가 작성한 글을 통해 알게 되었다. 다른 사용자들과 마찬가지로 이 취약점을 이용하여 훔쳐갈 수 있는 정보가 그렇게 크리티컬한 정보들이 아니기 때문에 아이디어는 참신하나 큰 문제가 아니라고 판단하였다. 또한 이 문제는 2000년도부터 다뤄져왔으며, 아직까지 악용사례가 공식적으로 밝혀진건 없었다.
그러나 최근에 한 토런트(Torrent) 사이트에서 특정 사이트에 방문한 사용자를 이 기능을 역이용하여 방문을 거절하는 사건이 발생되었다. 이 사건은 실제로 CSS History Hack이 실제 시스템에서 사용되기는 처음이라고 글쓴이는 밝혔다. 다른 악용사례로는 피싱사이트에서 이 취약점을 이용하여, 사용자가 가장 많이 방문했거나, 최근에 방문한 사이트를 알아내어 그 사이트를 피싱사이트로 이용하는 예도 있으나, 실제로 이것을 이용한 사례는 아직 밝혀지지 않았다.
사실 이 취약점은 의례 별거 아닌 것으로 다루어지고, 또한 취약점이라기 보다는 실제 브라우져의 기능을 이용한 것이고, 피해 사례가 많이 없어 사용자들은 잘 모르기 쉽상이다. 하지만 만약 특정 사이트에서 동의를 구하지 않고 자신의 브라우징 기록을 취득하여, 이용한다면 기분이 그렇게 썩 좋지는 않다.
그럼 어떻게 이 취약점으로부터 보호를 할 수 있을까? 이번 접속 거부 사건이 발생한 Torrent Invite에서는 해당 취약점으로부터 보호를 받기 위해 5가지 옵션을 사용자들에게 알렸다.
옵션 1 – 브라우져 기록 비활성화
– (Firefox 3.5) Tools -> Options -> uncheck “Remember my browsing history”
– (IE 8) Tools -> Internet Options -> Browsing History-Settings -> set “Days to keep pages in history” to 0
– (Opera) Tools –> Preferences –> Advanced –> History –> set “Addresses” to “0”
옵션 2 – 개인 브라우징 활성화
– (FireFox 3.5) Tools –> Start Private Browsing
– (IE 8) Tools –> InPrivate Browsing
– (Chrome) Press Ctrl+Shift+N (spawns new Incognito Private Browsing window)
– (Safari) Safari –> Private Browsing
– (Opera) Does NOT have Private Browsing option
옵션 3 – 소프트웨어 설치
– HistoryBlock(https://addons.mozilla.org/en-US/firefox/addons/versions/8631) for FireFox
옵션 4 – [파이어폭스만 가능] 기록 비활성화 하지 않고 CSS만 비활성화
– 주소창에 ‘about:config’를 입력한다.
– ‘필터’ 목록에서 ‘layout.css.visited_links_enabled’를 입력한다.
– 기본 값은 ‘예’임으로, ‘아니오’로 변경시킨다.
– 파이어폭스를 재부팅한다.
옵션 5 – 트랙커를 위한 다른 브라우저를 이용
– 예를 들어 IT를 위한 파이어폭스나 트랙커들을 위한 인터넷 익스플로러.
결 론을 말하자면, 사용자의 작은 개인정보일지라 하더라도 아주 쉽게 유출이 가능하며, 이것을 악용할 수 있는 방법도 존재한다는 것이다. 자신의 개인정보를 소중히 여기고, 나중에 불이익을 받지 않도록 조금만 더 개인정보에 신경을 써야 한다고 생각한다.
기타 참고 URL:
[2000년] https://bugzilla.mozilla.org/show_bug.cgi?id=57351
[2002년] http://www.doxdesk.com/personal/posts/bugtraq/20020214-css.html
[2004년] http://milov.nl/2520