토요일, 8월 26, 2006

[일상다반사] 불여우에서 확장 설치에 3초를 기다려야 하는 이유

Race conditions in security dialogs라는 블로그 아티클을 읽어보면 불여우에서 확장(extension)을 설치할 때 3초를 꼭 기다려야 하는 이유가 나온다. 실제로 확장 설치 대화상자에서 설치 버튼이 활성화할 때까지 답답했던 분이라면 조금이라도 속이 시원해지는 내용이 아닐까 싶다.



영어 압박을 느끼는 분을 위해 간단하게 설명하자면, 이런 지연 설치는 흑심을 품은 개발자가 교묘하게 악성 프로그램을 불여우 XPI로 만들어 놓고 특정 홈 페이지에서 Captcha(이게 뭐냐 하면 jrogue군 블로그에서 코멘트를 달 때 프로그램이 아니라 사람임을 증명하기 위해 글자를 입력하도록 만든 시스템이다.) 문자로 only와 같은 'y'자가 들어가는 문자열을 보여준 다음, 순진한(?) 사용자가 n자를 입력할 무렵 설치를 위한 대화상자가 뜨고 계속해서 입력된 y자가 설치를 승인하도록 경쟁 조건을 불러일으키는 문제점을 해결하기 위한 임시변통(workaround)이라고 볼 수 있겠다.



이런 깊은 뜻에 감동을 먹은 jrogue군이 조금더 깊숙히 들어가보니 버그질라에 흥미로운 내용이 올라와 있었다. 영리한 악당이라면 마우스 클릭등과 같은 엑션을 통해 게임등을 즐기도록(?) 만들어 놓고 방심한 틈을 타서 대화 상자의 '예'로 마우스 클릭을 넘겨 숫제 브라우저 보안을 해제해버리거나 악성 프로그램을 가볍게 설치하도록 만들 수 있다. 이런 문제점을 해결하기 위해 보안 관련 대화 상자 흔들기(화면 특정 위치가 아니라 대화상자가 매번 임의의 화면 위치에 뜨도록 만드는 기법)와 마우스/버튼 이벤트가 실수로 일어나지 않도록 설치 지연이 투표에 붙여졌는데, 정신 사납다는 의견이 많아서 결국 설치 지연 기법이 채택된 모양이다.



하지만 설치 지연 기법에도 문제가 존재한다. 사용자에게 여러 가지 복잡한 요구 사항을 던져 놓고 설치가 활성화될 때까지 5초 정도 충분히 시간을 끌게 만든 다음에 악의적인 이벤트가 발생하도록 만들면 어떻게 할 것인가? 아니면 귀차니즘에 물든 사용자가 설치 지연 값을 해킹해서 0으로 만들면?



이래서 보안은 늘 어렵다.



EOB

댓글 2개:

  1. 그런 깊은 뜻이 있었군요.
    사용자 편이성과 보안이 친구가 되기는 좀 힘들어 보입니다. ^^

    답글삭제
  2. suk-woo님, IE에도 비슷한 문제가 있어서 두 차례 정도 패치한 걸로 알고 있습니다. 역시 보안이랑 사용자 편의성이랑 친구하기는 틀렸죠? T_T

    답글삭제