ActiveX 개발자의 변명과 이에 대한 반박

ActiveX에 대한 반박글에 어떤 개발자가 달아놓은 변명이 있었다. 아쉽게도 원문을 찾지는 못했지만 대강을 옮기자면, ActiveX가 절대악처럼 묘사되는데는 이의가 있다, 자신의 클라이언트에 MP3를 웹에서 다운로드 받아서 MP3에 넣어주는 모듈을 납품했는데, 이런게 자바나 AJAX로 가능하지 않다는 것이다.

그런데 내 대답은 이렇다. 왜 웹에서 MP3를 다운로드 받아서 해야하는지 모르겠다는 것이다. 이 개발자는 이공학도이고 나는 인문학 전공이므로 이공학적 문제를 인문학적으로 반박하자면, ActiveX의 위험성을 비판하는 측의 핵심은 ‘왜 시스템 레벨의 문제를 웹에서 관여하느냐’는 것이다.

요컨데, 웹은 정말 위험한 곳이다. 어떤 쓰잘때기 없는 것이 묻을지 모른다. 그래서 요즈음 전반적인 기술 추세는 되도록이면 웹브라우저가 ActiveX 같이 다운로드 받으면 웹에서 시스템 레벨까지 건드릴 수 있는 것을 안하려고 들고 있기 때문이다. 절대로 안전한 보안은 없다는 관점에서 보면 웹에서 정당한 권한을 얻은 주체가 시스템을 건드릴 수 있다는것은 다시 말하면 정당하지 못한 주체도 시스템을 건드릴 수 있다는 걸 의미한다(그래서 그 악성코드들이 있다)  그래서 마이크로소프트는 점점 ActiveX를 사장시키려고 애쓰고 있고, 점점 깔기 위해서 까다롭게 만들고 있는것이다. 처음에는 노란줄을 띄워서 한번 더 확인하고 비스타부터는 UAC라고 해서 몇번 더 검증을 한다.

IE7이나 8이 나왔을때 한바탕 난리가 난 까닭은 IE가 OS와 다른 레이어, 즉, 샌드박스하에서 운용되기 때문에 시스템레벨을 건드려야 하는 대다수의 ActiveX 플러그인과 그것을 막으려는 IE간의 충돌 때문이다. 지금은 어떻게 우회로를 마련하고 있지만, 덕분에 위험성을 줄이겠다는 본래 문제는 색이 바라고 말았다.

만약 시스템 레벨을 건드려야겠으면, 그때는 프로그램을 다운로드 하는 방식이 존재한다. 이방식이 불편할 수는 있지만, 어떤 측면에서는 매우 안전하고 매우 편리한 방법이다. 다시 말하면 사용자에게 시스템의 컨트롤할 수 있는 여지가 늘어나는 까닭이다. 사용자가 필요할때 다운로드 받아서 설치하고, 사용자가 필요할 때 실행하고, 사용자가 필요로 할때는 삭제할 수도 있는 것이다. Mac OS X과 Windows 7은 웹에서 다운로드 받은 프로그램에 대해서 한번 더 확인을 요구한다.

iTunes를 생각해보라, 사실 iTunes의 수익의 대부분은 WebObject 기반의 iTunes Store, 즉 웹에서 발생하고 있지만, 굳이 iTunes라는 클라이언트 프로그램을 설치해야 작동하게 되어 있다. 그것은 iTunes가 iPod이라는 녀석을 돌리기 위한 녀석이기 때문이고 그러려면 iPod service와 driver를 설치해야 하기 때문이다. 우리나라 업체 같았다면 진즉에 ActiveX로 드라이버와 서비스를 실행하도록 했을 것이라는데 내기를 걸 수 있다(앞서 말한 개발자가 한 일이 그것이었다). 실제로 동생 녀석이 PMP에 인터넷 강의를 받는걸 보았는데 ActiveX로 만들어진 전용프로그램이 PMP까지 파일을 전송하는 것을 볼 수 있었다. 내 전망이 틀리지 않음을 증명하는 사례라 하겠다.

아무튼 이러한 구조는 Mac OS 기반이었던 iTunes와 iTunes Store가 Windows 환경에서도 성공하도록 만들었다. 즉, 브라우저 종속에서 벗어나자, 플랫폼 종속에서도 벗어났다는 것이다. 그래서 ActiveX를 버리라고 요구하는 것이다.

인터넷 익스플로러 8(IE8)에서 ActiveX 삭제하기 글은 생각외로 인기를 끌었다. 이유는 의외로 많은 프로그램들이 삭제 방법을 제공하지 않기 때문이다. 인터넷 뱅킹에 사용되는 보안 프로그램은 상당수 제공이 되지만 문제는 대개의 웹사이트에서 습관적으로 설치되는 IE들을 삭제하기는 만만치 않다.

거기에 더하여, 시스템의 호환성 문제도 생각해봐야 한다. ActiveX 하에서 돌아가는 프로그램중에서 시스템 레벨까지 건드리는 프로그램은 필연적으로 윈도우나 시스템이 변경될때마다 문제가 발생하지 않으리란 법이 없다. 차라리 모든 국민에게 공짜 백신을 줘라에서 주장했던 것은 차라리 어설픈 드라이버 레벨의 방화벽이나 키로거 방지를 하느니, 제대로된 백신과 방화벽을 설치하도록 하는것이 안전하다는 것이다. 64비트 OS를 사용하다보니 과연 키보드 보안이나 해킹 방지 프로그램이 어떻게 작동할 것인가 걱정을 했었는데 다행히도 이미 64비트 프로그램이 나와 있었다. 아마 초기 64비트 사용자는 고생을 했으리라 미뤄 짐작이 가능하다.

64비트 전환에서 느낀것은 어플리케이션 레벨에서 돌아가는 프로그램은 거의 대부분 문제없이 작동하는 것이었다. 그런데 문제가 있다면 말그대로 드라이버 레벨을 건드리는 보안프로그램이나 ActiveX 밖에 없다. 웹 사이트를 돌아다니고 인터넷 뱅킹을 하는데 OS, 아니 윈도우에 따라 작동유무가 갈려서는 안되기 때문이다. 대법원도 결국 많이 사용하는 윈도우에 집중하라는 것이 효율적이기 때문에 문제가 안된다고 파악한것 같으나, 내심 문제가 있다고 생각한다. 윈도우 버전에 따라서도 얼마든지 잘 작동하지 않을 수 있기 때문이다. 판사가 만약 자신의 윈도우 PC에서 인터넷뱅킹이 잘 작동하지 않았을때도 ActiveX를 옹호하는 판결을 내렸을지 의심스럽다.