쿠키 기반의 세션 키는 가장 보편적인 웹어플리케이션 프레임웍입니다. 세션이라는 것이 이번 호출과 다음 호출간 문맥을 유지시켜주는 역할을 하는 것이라서 좋은데, 여기에는

쿠키가 노출 될 경우 세션이 하이재킹 될 수 있는

취약점이 있습니다. 가장 잘 알려진 것이 XSS이고, 웹에서의 많은 공격은 XSS를 통해 이루어지는 것임을 알 수 있습니다. 세션 쿠키 유출을 막기위해
  • 네트워크에서는 https 에서만 세션 정보를 이용하게 만든다거나
  • 세션에 IP 정보를 저장해두어 다른 IP에서 올라오는 경우 무시하거나
  • User-agent 정보를 저장해 두어 다른 User agent에서 올라오는 경우 무시하는
등의 방법들을 사용합니다. 마지막 방법의 경우 약간 생소한데, 이런 모든 경우에 대해서 사용자들에게는 정상적이나 어떤 특정 환경에서 세션이 유지되지 않는 경우가 발생하게 됩니다

IP는 자주 변하는 곳이 때에 따라 있습니다. NAT를 이용하는 경우 내부 IP 고갈로 인해 일정 시간 사용하지 않으면 다른 사람에게 IP를 할당하기도 합니다.

User-agent의 경우, 오늘에야 찾아낸 버그(?)인데, I.E에 설치된 DRM 관련 프로그램이 IE와 쿠키를 공유하면서, 동시에 User-agent는 자체 값을 가지고 오는 경우가 있습니다. 또는 플래시가 그러하기도 합니다. 플래시는 웹 개발 영역에 있으므로 제어가 가능하다지만, DRM 관련 프로그램이 다음과 같은 동작을 수행합니다.

http://[HOSTNAME]/MarkAny/Websafer/MaSiteInfo.ini

어찌된일인지 그 프로그램은 내가 들어가는 모든 사이트에서 저 파일을 찾는군요. 도메인이 바뀌기만하면, 저 MaSiteInfo.ini 파일을 가져오려고 시도합니다. 문제는 IE의 Cookie를 그대로 보내오는데, User-agent가 바뀌는 것이 문제입니다. Fiddler로 보니, IE에서 전송되는 것으로 보아 독립된 프로세스는 아니군요. 이렇게 되면, 세션 키에 해당하는 User-agent가 변경되었음을 감지하고, 웹어플리케이션은 세션하이재킹 시도라 판단하여 세션을 종료시킵니다.

혹, 저 프로그램 개발자분이 이 글을 읽으신다면, 왜 모든 사이트에서 저 파일을 가져오기 시도하는지 알려주셨으면 합니다. ;) 꼭, 저 파일을 가져와야 합니까요?
사용자 삽입 이미지


신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. 신현석 2008.05.08 13:34 신고

    제 홈페이지에 자꾸 저 파일을 호출한 흔적이 있어서 뭔가 했는데...뭔가 개발에 문제가 있는 것 같군요.

    • 최호진 2008.05.08 23:01 신고

      네 Markany로 검색하면 나올 듯하고, 전 방송통신대학교쪽 동영상 플레이어 때문에 발견하였습니다

  2. jinto 2008.06.10 19:52 신고

    아, 저도 저 프로그램때문에...

    심지어 인터넷 뱅킹에도 끼여들어서 컴퓨터를 다운시키는 바보같는 프로그램이더군요. 방송대에 이거 쓰지 말라고 불평을 했지만, (미국대학들은 유튜브에 강의 동영상을 공개한다는데... 한국방송대는 이런 거나 깔아주네요.. ㅜㅜ)

    삭제하는 깔끔한 방법도 없는 것 같아요.. 흑.

    • 최호진 2008.06.12 23:03 신고

      저 개발자가 언젠간 보겠죠?

  3. reserve 2009.07.20 10:16 신고

    오늘 서버에 문제가 있어 아파치 에러로그를 살펴보다 보니, ~/MarkAny에 접근했으나 file does not exist라고 에러가 계속 나더군요. ^^;
    검색하다가 쿨엔지니어님 블로그에서 관련 글 발견하고 덧글 남깁니다.
    쌓이는 에러로그가 은근히 되는군요. :'(
    혹시나 관련 개발자님이 보시면 빠른 해결 부탁드립니다. ^^

+ Recent posts