요즘 AcitveX에 관련하여 이런저런 얘기들도 많이 오가고있고 많은 글들이 쏟아져나오고 있는것도 안다. 게다가 정부가 이번에 MS에서 나올 차세대 운영체제인 Vista에 ActiveX 사용을 풀어달라고 요청한 사건(?)때문에 한층 더 얘기가 많아지는거 같다(이 부분은 [기사 원문]을 참고). 그렇다면 왜 이리도 많은 얘기들이 나오는걸까? 참고로 내가 이 글을 쓰게 된 동기는 ENTClic님의 블로그에서 글을 보고 느낀것이 있어서이다(^^).

먼저 ActiveX라는게 뭘까? ActiveX는 일단 웹환경에서 돌아가는 프로그램이다. 일반적으로 웹환경은 우리가 얘기하는 사이트(혹은 홈페이지)로 대변할 수 있으며 각 사이트는 HTML문서로 구성되어있다. 그 사이에 XML이니 기타 등등의 여러 기술들이 복합적으로 적용되어 우리에게 보여지고 있는것이다. ActiveX도 마찬가지다. 자바스크립트와 같이 HTML문서 사이에 삽입되어서 호출되어지고 실행되어지는 프로그램이다. 그런데 자바스크립트는 얘기가 안나오고 ActiveX만 문제가 되어지고 있다. 왜인가? 자바스크립트는 웹브라우져(IE, FF 등)에서 해석되어져서 화면에 보여준다. 즉 웹브라우져안에 자바스크립트 해독기가 있어서 스크립트를 해석하고 브라우져에 표현하는 형식이다. 자바스크립트는 PC에 저장이 안된다. 자바스크립트는 설치의 개념이 아니다. 그런데 ActiveX는 다르다. 여러 사이트들을 돌아다니다보면 ActiveX 컨트롤을 설치하라는 문구를 많이보게 된다(대표적으로 인터넷뱅킹을 들 수 있다). 즉, PC에 해당 컨트롤을 설치해야만 한다. 자바스크립트를 사용하는 경우에는 사이트를 제공하는 서버에서 해당 스크립트들이 모두 PC의 웹브라우져로 와서 해석되고 보여지는 것으로 끝나지만 ActiveX의 경우 서버에서 PC의 웹브라우져로 ActiveX 호출 스크립트가 오면 PC에 설치된 ActiveX 컨트롤을 호출하여 실행되어지고 그것이 웹브라우져(혹은 웹브라우져 이외의 곳)에서 보여지는 것이다. ActiveX는 실행프로그램 형식이다(확장자가 EXE(실행가능한 파일형식)로 제공되지는 않고 IE에서만 실행되는 OCX로 제공되지만). 또 그것이 사이트를 제공하는 서버에서 실행되는것이 아니라 사용자 PC에서 실행이 되는 프로그램이다. 이 부분에서 심각한 문제가 일어나고 있다. 보안상 위험이 크다는 것이다. 크래커(해커는 어떤 의미로는 좋은 뜻이다. 많이 알려져있는 의미의 해커는 바로 크래커이다)는 맘만 먹으면 ActiveX 컨트롤을 이용하여 얼마든지 사용자 PC 안으로 들어가서 이것저것 해볼 수 있다는 얘기가 된다.

한국에서 제공하는 대형 포탈 사이트나 언론 사이트, 공공기관 사이트, 은행 사이트에는 ActiveX를 사용하지 않고는 도저히 실행이 불가능할 정도로 ActiveX 컨트롤로 도배를 해놓았다(위에서도 언급했지만 대표적인 사이트들이 인터넷뱅킹이다). 왜 포탈과 언론, 공공기관, 은행에서는 ActiveX를 사용할까? 일단 디자인이 미려하게 나오기 때문이다. 일반적으로 웹표준을 지키는 사이트들을 보면 깔끔하고 정돈된 느낌을 갖지만 이쁘다는 느낌은 잘 안든다. 그러나 ActiveX 기반의 사이트들을 보면 꽤 이쁘게 화면구성을 할 수 있다. 또한 ActiveX는 편리하다(개발자 입장에서이다). HTML형식이나 자바스크립트 등을 이용하여 특수한 기능을 갖는 버튼이나 화면을 만들려면 골치가 좀 아프다. 하지만 ActiveX를 이용하면 위의 형식보다는 좀 쉽게 만들 수 있다. 이유인즉, ActiveX는 PC에서 돌아가는 실행파일 형식이다. 실행파일은 웹에서 표현할 수 있는 것보다 더 풍부한 표현을 할 수 있다(대표적인 예로 암호화 처리 등이다). 자바스크립트 등으로도 구현할 수 있지만 ActiveX는 많은 윈도계열 프로그램을 개발하는 개발자들이 사용하는 Visual Studio를 이용하여 MFC 프로그래밍을 하듯 비슷한 기능을 만들어낼 수 있다. 더 강력하고 뛰어난 웹컨트롤을 만들 수 있다는 얘기다. 이것은 ActiveX가 웹브라우져에서 해석이 되는것이 아니라 PC에 설치된 OS에서 해석되어 실행되기 때문에 가능한 일이다. 이와같은 이유로 한국의 많은 웹사이트들은 ActiveX를 애용(?)하고 있는 현실이다.

그렇다면 왜 문제가 될까? 왜 정부에서 나서서 MS에 머리를 조아리며 ActiveX를 Vista에서 허용해달라고 했을까? 이는 ActiveX가 갖는 보안상 문제점과 한국의 웹 현실 때문이다. 위에서 언급했던대로 한국의 대부분의 포탈 사이트들과 언론 사이트, 공공기관 사이트, 은행 사이트에서 ActiveX를 떡칠을 하듯 도배하면서 만들어졌다. 이유는 위에서 언급했던대로 디자인의 미려함과 개발의 편의성때문이다. 사용자는 같은 환경이라면 이쁜 환경을 좋아한다(같은 값이면 다홍치마라는 속담이 있듯). 그러나 웹표준을 따라서 개발을 하게되면 개발기간도 길어지고 디자인도 이쁘게 잘 나오질 못한다(대신 깔끔하고 정돈된 느낌이 강하다. 웹표준으로 짠 사이트들을 보면 말이다). 또한 키보드 보안이나 공인인증서 설정등의 좀 귀찮은 작업을 자바스크립트 등의 웹스크립트로 작성을 하게되면 개발기간이 길어지게 된다. 개발기간을 단축하기 위해 ActiveX를 사용하게 되는 것이다. 개발기간에 관련하여 또 하나의 얘기를 하고자 한다. 어떤 사업이던 시작을 하기 위해서는 설계를 하고 시장조사를 하고 여러날을 심사숙고하고 토론한 다음에 결정을 하고 사업을 하게된다. 웹사이트 개발도 마찬가지다. 설계를 하고 디자인을 하고 프로토콜을 결정한 후에 개발에 들어가게 된다. 그런데 90년대말 IMF이후에 갑자기 불어닥친 IT열풍(.net 열풍이라고도 한다)으로 인해 웹서비스를 제공하는 회사들이 갑자기 불어났다. 웹서비스 제공 회사들이 난립을 하게된 것이다. 그러다보니 사업자 입장에서는 타회사보다 더 빨리 서비스를 시작하기 위해 개발일정을 촉박하게 잡기 시작했다. 설계하고 디자인하고 규약을 정한 후 개발 및 테스트를 해야하는데 그러한 순서를 무시하고 설계, 디자인을 대충하고 일단 서비스가 되도록 개발일정을 짜버린 것이다. 그 개발일정에 맞추다보니 서비스에 맞는 컨트롤등을 만들어야 하는데 그럴 시간이 별로 없으니까 다른 사이트에서 돌아가고 있는 웹소스를 복사하여 제대로 분석도 못하고 붙여서 사용하는 경우가 많아졌다. 일단 웹사이트가 돌아가게만 해야하는 상황때문에 많은 개발자들이 제대로 개발도 못하고 copy & paste(복사-붙이기)만 해서 사이트를 만드는 현상이 일어난 것이다. 물론 개발자들은 회의때 프로토콜 정의나 웹표준에 맞춘 설계 및 개발을 얘기했을 것이다. 하지만 의사결정권자(CIO 혹은 CEO)가 그런것을 따지는가? 일단 일정에 맞춰서 개발을 하라고 명령을 했을 것이고 결정권이 없는 개발자들은 어쩔 수 없이 개발일정에 맞추기 위하여 그러한 작업을 했을것이다(라고 추측한다). 즉, 개념없는 의사결정권자 때문에 ActiveX 컨트롤 사용이 늘었다라는 추측도 할 수 있다. 이렇게 한국의 대부분의 대형 포탈 사이트와 언론, 은행, 공공기관 사이트들이 ActiveX 컨트롤 없이는 당장에 아무것도 할 수 없는 상황에 처해있다. IT 강국이라 불리는 한국에서 저런 서비스들을 사용하지 못하면 이미지에 아주 먹칠을 하는 것이다. 그리고 ActiveX 컨트롤을 대체할 수 있는 기술을 이용하여 웹서비스들을 대체하기 위해서는 시간과 돈이 그만큼 많이 들어간다. 정부입장에서는 그러한 제원을 당장에 마련할 수는 없을것이다. 그보다는 MS Windows Vista를 설치하고 각종 공공기관 사이트에서 제대로 작업을 못해서 들어오는 민원을 해결할 생각을 하니 깜깜했을 것이다. 그 귀찮음을 귀차니즘의 대명사인 우리들의 공무원들께서 어찌 감당하실 것인가. 그래서 정부가 나서서 MS에 머리를 조아려 ActiveX 컨트롤을 Vista에서 제대로 지원할 수 있도록 허용해달라고 조아리는 것이다.

그러면 왜 Vista에서는 ActiveX 컨트롤을 지원하지 못하도록 막은 것일까? 이유는 바로 보안상 결함때문이다. 위에서 언급한대로 ActiveX 컨트롤은 PC에서 실행되는 실행파일이다. 서비스제공자가 맘만 먹으면 개인PC에 설치된 ActiveX를 이용하여 얼마든지 PC안에 있는 정보들을 유출할 수 있는 것이다. 이것은 상당히 심각한 버그다. 그래서 MS는 XP SP2에서부터 ActiveX 컨트롤을 막는 시도를 해왔다. MS도 인정한 것이다. 자기들이 개발의 편의성을 위해 만든 컨트롤이 해킹의 위험도 함께 내포한다는 사실을 말이다. Vista에서도 ActiveX 컨트롤을 막지만 MS Office 2007에서는 아예 ActiveX 컨트롤을 제공하지 않는다고 한다(MS에서도 점차 계속 ActiveX 컨트롤 사용을 자제하고 있다). MS는 ActiveX 관련 버그를 고치기 위한 수만은 패치들을 내놓았다. 하지만 버그는 계속 발견되고 그 버그들중 상당수가 ActiveX 컨트롤 관련 버그다. 그래서 MS는 차기OS인 Vista에서 아예 버그의 온상인 ActiveX를 막은것이다. MS입장에서는 아마도 당연한 생각일지도 모른다.

그러면 앞으로 어떻게 해야할까? 대형 포탈 사이트와 금융기관, 언론기관, 은행등 서비스를 제공하는 업체쪽에서는 ActiveX로 점철된 사이트를 웹표준으로 바꿔야 할 필요가 있다. 지금 충분히 ActiveX를 대체할 많은 기술들이 개발되어지고 있다(물론 표준을 지키면서 사용할 수 있는 기술들이다). 그러한 웹표준을 따르는 사이트로 점점 개편해나가야 할것이다. 그렇게되면 요즘 많이 이슈가 되고있는 OS에 종속적인, 혹은 특정 웹브라우져에 종속적인 사이트가 아닌 웹표준을 지원하는 모든 웹브라우져(인터넷익스폴러뿐만 아니라 파이어폭스, 오페라, 사파리 등등)에서 해당 사이트의 모든 서비스들을 원활이 제공받을 수 있을것이다. 또한 보안상 중요한 부분이 있고 웹표준으로는 도저히 감당할 수 없는 내용을 제공해야 하는 서비스라면 아예 별도의 응용프로그램으로 각 OS에 맞도록 제공을 하자(이 부분은 object님의 블로그에 서도 확인할 수 있다). 이미 신한은행이 Mac용 인터넷뱅킹 프로그램을 제공하고 있다. 충분히 대안은 있다. 즉, 서비스 업체들은 ActiveX 사용을 줄이면서 웹표준으로 점점 개편을 하고 최종적으로는 웹표준에 맞는 사이트로 재탄생을 하는 것이다(이러면서 부가적으로는 웹개발자들이 많이 필요로하게 되고 그러면 산업향상에도 도움이 될지도 모르겠다). 충분히 가능한 일이다. 사업자가 제대로된 IT 개념을 갖고 인내로 꾸준히 투자만 한다면 말이다(과연 현실속에서 가능할련지는 모르겠다).

위에서 주저리주저리 써놨다. 결론은 이거다. 개발 편의주의와 디자인에만 매달린 결과로 한국의 대부분의 대형 사이트들은 OS는 윈도, 웹브라우져는 IE(인터넷익스폴러)에만 제대로 돌아가는 반쪽짜리 사이트들이 되었다. 이것은 IT 강국이라고 자칭하는 한국이 스스로의 명성에 똥칠을 하고있는 것이다. 한국이 글로벌 마케팅을 한다 뭐한다 하지만 이렇게 어느 하나에만 종속되어있는 서비스만을 제공한다면 절대로 글로벌 마케팅에서 성공할 수 없다. 전세계적으로 IE의 사용율은 높지만 IE말고도 다른 웹브라우져를 사용하는 사용자도 전세계적으로 만만치 않게 있다는 사실에 주목할 필요가 있다. 그런 사용자들까지 아우르려면 웹표준으로 다시 재정비하는것이 절실히 필요할 것이다.

블로그 이미지

스마트 학주니

학주니의 시선으로 본 IT 이슈와 사회 전반적인 이슈에 대한 블로그

댓글을 달아 주세요

  • Favicon of http://recreater.tistory.com BlogIcon 박하군 2007.01.21 21:40 신고  댓글주소  수정/삭제  댓글쓰기

    굳이 개발한 마이크로소프트에서도 쓰지말기를 권장한걸 우리나라는 너도나도 쓰는지 모르겠습니다 -0-;; 좋은거 하나없는걸.. 비즈타에서 ActiveX안되죠.. 아마 웹표준을 지켰더라면 우리나라 인터넷은 아마 난리가 났겠죠;;

    • Favicon of http://poem23.tistory.com BlogIcon 학주니 2007.01.22 10:15 신고  댓글주소  수정/삭제

      웹표준을 지키고도 지금과 비슷한 사이트들은 얼마든지 만들 수 있습니다..
      글에서 썼듯 개발 편의주의때문에 지금의 이지경까지 왔다고 생각이 드네요..

  • Favicon of http://peterent.com/ENTClic/ BlogIcon ENTClic 2007.01.23 00:12 신고  댓글주소  수정/삭제  댓글쓰기

    국내 인터넷 환경은 지금 썩을대로 썩었지요.
    빨리 뭔가 조치를 취하지 않는다면 인터넷 대란으로 이루어질수도 있는 상황입니다.
    정부나 개발자들도 이를 모르는 것은 아니지만 너무나 멀리 깊이 파고든 문제라 쉽지는 않겠지요..

    • Favicon of http://poem23.tistory.com BlogIcon 학주니 2007.01.23 00:32 신고  댓글주소  수정/삭제

      일단 대형사이트들부터 하나하나 바꿔나가면 어느정도 실효성을 거둘 수 있지 않을까 생각해봅니다..
      그런데 정말 쉽지만은 않은 문제에요.. -.-;

  • Favicon of http://Junios.net BlogIcon Junios 2009.10.13 17:43 신고  댓글주소  수정/삭제  댓글쓰기

    그냥 글 읽으러 왔다가 적고 갑니다. 개발 편이적, 화면이 미려해서 등등 여러가지 이유라고 적으셨지만, 왜 액티브 엑스가 나왔는지 그게 어떤걸 하지는 정확히 알지못하고 그냥 나쁘다라고만 생각을 하시는군요. 원래 엑티브 엑스가 나왔던건 브라우져는 샌드박스 보안 모델이라서 로컬 자원을 사용할수가 없습니다. 그래서 로컬 자원을 활용하기 위해서 만든것이죠. 플래시나 실버라이트 등과 같은것도 액티브 엑스 입니다. 엑티브 엑스는 플러그인 프로그램입니다. 로컬 자원을 사용해야 플래시 같은 벡터 그래픽을 처리 할수 있기때문이죠. 그러나 플래시나 실버라이트는 IE뿐만 아니라 파이어폭스, 오페라등과 같은 브라우져에서 돌아갑니다. 그건 파이어폭스나 오페라에서 돌아가는 똑같은 플러그인을 만들어서 설치하기때문입니다. NP플러그인이라고 하고 파이어폭스는 XPCOM이라는 방법을 발전 시켜놨습니다. 액티브 엑스를 써서 무조건 나쁜것이 아니라 다른 대안이 있는데 마구잡이로 사용해서 문제인겁니다. 그리고 은행 사이트에 들어가면 액티브 엑스를 설치한다고 나온다고 하지만 그 이유는 옛날 거슬러 올라가서 대한민국이 그누구보다도 먼저 상용으로 인터넷 뱅킹을 시작했습니다. 그래서 암호화 방식이 필요 했습니다. 그러나 그당시에는 브라우져가 지원하는 암호화 방식의 비트수는 64비트 CPU가 좋아서 부루트포스 공격을 시안에 뚫리게 됩니다. 256비트 암호화 방식은 미국보안법에 막혀서 외국으로 수출이 되지 않던 시절입니다. 이에 우리의 머리좋은 대한민국 사람들은 액티브 엑스를 이용해서 암호화를 만들어서 사용하게 합니다. 그래서 시작이 된거죠 1차 브라우져전쟁에서 승리해서 대부분의 사용자가 IE를 사용하던 시절이 있었기에 가능했습니다. 그후에 SSL이라던지 표준이 정해져서 암호화가 브라우져만으로 가능한 시기가 왔습니다. 그리고 우리나라에서 금융권 사이트에서는 암호화뿐만 아니라 키보드 해킹 방지 같은 사항을 기본으로 해야됩니다. 그것은 플러그인 프로그램이 있어야 가능합니다. 액티브 엑스로 만들었겠지요. 인제 시간이 흘러서 여러가지 브라우져가 나오고 표준이야기가 나오고 있습니다. 그러나 실실적으로는 IE이외 브라우져 사용률은 회사입장에서 얼마 되지 않습니다. 그런데 회사에서 돈을 들여가면서 두가지 버전의 플러그인 프로그램을 만들까요? 전혀 그렇지 않습니다. 그냥 무조건 액비트엑스가 안좋다. 무조건쓰지 말자는건. 지금 잘 쓰시는 플래시도 쓰지 말고 게임을 웹에서 실행시키는 방법도 없애자라는것과 같습니다. 액티브 엑스가 비스타에 와서 문제가 되는건 그전까지는 액티브 엑스로 모든 디렉토리, 레지스트리 등등 건드렸지만 비스타이후에는 보안관련해서 그런 작업을 하기 위해서는 권한 획득을 하거나 다른 디렉토리로 옮겨서 사용해야 합니다. 보안적인 이슈때문에 그렇죠. 그런 노력을 안한것이지 마소가 액티브 엑스를 버렸네 하는것과는 다른이야기 입니다. 플래시나 실버라이트처럼 RIA라고 동영상과 기타 미려한 그래픽을 위해서는 필요한 것이지요. 그냥 무조건 나쁘다 왜 나왔는지 등의 이야기가 없어서 적어봤습니다.

    • 학주니 2009.10.13 23:22 신고  댓글주소  수정/삭제

      ActiveX의 탄생에 대한 이야기는 잘 알고 있습니다. MS 역시 현재 한국 사이트의 이러한 용도로 ActiveX를 사용하게 될줄은 몰랐겠지요. 한국 인터넷 사이트의 현재 모습에 비춰봤을 때 디자인과 개발편의성이 강력한 이유였다는 생각이 들어서 쓴 글입니다(글고보니 무려 2년전 글이군요. 2년반전 글이네요 -.-).

      한국 인터넷 시장의 지배적 웹브라우저인 IE와 경제적으로 효율적인 대응(?)을 위해 ActiveX 컨트롤을 사용했다는 것, 또 그 당시의 암호화 기술을 위해서 써야만 했다는 것은 잘 알고 있습니다만 이후에 충분히 대체할 수 있는 기술이 있음에도 경제적인 이유만으로 안했다는 것(물론 키보드 보안기술은 애매하기는 하지만)이 문제라는 생각입니다. 그리고 지금도 계속 문제가 되고 있지요. 어제인가 외환은행 인터넷뱅킹을 윈7에서 해봤는데 퍽퍽 죽더라고요. 여전히 문제가 있는 상황입니다.

    • Favicon of http://jxisml.tistory.com BlogIcon 약간의여유 2014.11.12 17:19 신고  댓글주소  수정/삭제

      좋은글 잘 읽었습니다. 엑티브 X가 지금도 사용되고 있습니다. 하지만 회사들도 그 문제점을 파악해서 없애려고 노력하고 있습니다. 아마도 한국에서 윈도우즈 익스플로러가 많이 사용되고 있는 이유 중 하나가 엑티브 엑스 때문이었는데, 점점 크롬이 몰아내고 있는 추세네요.
      기술발전과 경제적 합리성을 모두 고려할 수밖에 없겠지요.