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를 옹호하는 판결을 내렸을지 의심스럽다.   

5 thoughts on “ActiveX 개발자의 변명과 이에 대한 반박

  1. nwkee

    그건 클라이언트가 요청하는거지..

    사실 공학도가 예/아니오로 답을 해도 잘 모르는 클라이언트가 요청을 하면
    공학도는 해내야 플젝이 끝나거든.

    왜 시스템 레벨에서 해야하는걸 강요하나고?

    갑은 을이 모든걸 해주길 바래. 그게 이유다

    Reply
    1. 푸른곰

      그런 이유도 존재하리라고 생각했습니다. 결국 그 개발자도 을이었을테니까요.

      하지만 그 개발자의 변명은 ‘클라이언트가 무엇을 요청했는데 할 수있는 방법이 ActiveX뿐이다’였으니까요. 차라리 nwkee님처럼 클라이언트가 그렇게 하랬다 그랬다면 갑을 공격했을지 모르겠습니다. 아무튼 발아점이 ‘할수 있는 방법이 그것뿐이다’라는 대답이었기 때문에, 일단 저로써는 거기에 집중하였습니다.

      또, 한편으로 모든 클라이언트가 ActiveX라는 기술에 의지하려고 할까요? ActiveX로 할 수 있는 일을 그대로 할 수 있다면 굳이 클라이언트는 ActiveX에 목 매달 필요는 없을 겁니다. ActiveX 외로는 해보지 않았기 때문에, 늘 해왔기 때문에 요구하는 것은 당연히 ActiveX일 수밖에 없습니다. 개발자들은 클라이언트 요구가 그렇다, 대안이 없다 그러면서 스스로가 ActiveX에서 벗어나질 않습니다. 그러면 고객은 당연히 ActiveX를 택합니다. 끊임없는 순환입니다. 그런면에서 개발자의 ‘변명’이 되는것입니다.

      저는 크로스 플랫폼까지는 바라지 않습니다. 순전히 시스템 보안과 유지관리 측면에서 분리가 필요하다고 보는 입장입니다. 어플릿을 배포하는 방법은 ActiveX 말고도 대안은 충분히 있습니다. 시스템 레벨을 접근하는 것은 피할 수 없는 문제입니다. 인터넷에서 다운로드 받은 MP3를 접속해 음악을 다운로드하고, 프린터로 출력을 해야하니까요. 그게 왜 항상 ActiveX 컴포넌트에 의지해야 할 문제가 되는 것일까요?

      Reply
  2. rice

    갑에 대한 말은 단순 핑계.. 그 이상도 그 이하도 아니죠… 무슨 클라이언트가 요청합니까? 어이 없습니다. 게으른 개발자의 전형입니다.. 만약 갑이 정말 그렇다면 그 정도는 설득 할 수 있어야 한다고 보고. 저도 현재 을의 입장이나. 막무가내식의 갑은 요즘엔 별로 안 보이더군요.. (전 개발쪽은 아닙니다) 자신에 대한 프라이드와 실력에 믿음을 가진 개발자라면 이 정도는 깔끔하게 프리젠테이션을 통한다던지 협상(너무 거창한가요?)을 한다던지, 설득이라도 해서 자신이 옳다고 하는 것에 대해 확신을 줘야죠… 그리고 전문 지식이 부톡한 갑이 active-x를 쓰던지 뭘 쓰던지 알게 뭡니까?? 오히려 제가 갑의 입장이라면 어느 브라우저에서도 사용 가능 하고 보안에대한 충분한 대비가 되어 있다고 존나 칭찬해 주겠습니다…ㅡ.ㅡ

    Reply
    1. 모르는데 야부리 터는건 한국인 종특인가?

      개발쪽 아니면 말을 마세요 ㅅㅂ

      Reply
  3. siekensou

    nwkee//그러니까 그런걸 요청하는 갑자체가 잘못됬다는 글 아니냐 답답아.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *