-
요즘 문제가 되는 ActiveX에 대하여..IT topics 2007. 1. 19. 18:34반응형요즘 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말고도 다른 웹브라우져를 사용하는 사용자도 전세계적으로 만만치 않게 있다는 사실에 주목할 필요가 있다. 그런 사용자들까지 아우르려면 웹표준으로 다시 재정비하는것이 절실히 필요할 것이다.
반응형댓글