지금 여러분의 PC에서 "C:\Windows\Downloaded Program Files" 또는 "C:\WINNT\Downloaded Program Files" 를 열어서 확인해보세요. 그 안에 여러분의 PC에 설치된 ActiveX가 있습니다. 이것들이 무엇을 하는것들인지 다 아시는분?



이곳에서 포털 중 그나마 좀 쓸만하게 접속되는 건 구글코리아 뿐이다. 모든 커넥션이 속터지지만 그중에서도 특히 보안 관련한 각종 Active X를 로딩하는 페이지들은 관공서 사이트건 기업 사이트건 예외없이, 나의 인내심 기록을 늘 갱신시킨다.

위의 글은 해외에서 일하는 예전 동료분이 페이스북에 남긴 글입니다. ㅎㅎ 그냥 웃고 넘어가려고 하다가, 오늘받은 메일에서 ActiveX 이야기가 또다시 거론되길래 제가 아는대로 한번 쭈욱~ 정리하고 넘어가려고 합니다.

ActiveX 넌 누구냐?

ActiveX는 웹브라우저가 할 수 있는 기능의 한계를 확장해서 사용할 수 있도록 해주는 Microsoft의 기술 - 웹페이지에 object 태그를 이용해서 Windows에서만 가능한 기능(내컴퓨터안의 파일에 대한 조작)을 가능하도록 만든 기술을 의미합니다. 

Netscape Navigator 와 Internet Explorer(IE)가 서로 시장에서 경쟁을 벌이던 시절(그 당시 Netscape Navigator는 Internet Explorer보다 많은 사용자를 보유하고 있었습니다), 웹브라우저에 동적인 프로그램이 구동되는 Java Applet이 SUN에 의해서 나타나고, 여기에 맞서서 Microsoft는 Windows98안에 Internet Explorer(IE)를 포함시켜서 Windows의 기능을 ActiveX 콘트롤로 웹으로 확장할 수 있도록 제공하는 초강수를 둡니다. 그 결과 Netscape라는 단어는 전설속으로 사라졌고 우리의 책상위에는 파란색 e 모양만 남게 되었죠.


좋아보이는데 ActiveX는 문제가 뭔가?

Windows OS의 기능을 쉽게 이용할 수 있도록 해줘서, 웹브라우저에서 문서 를 편집하거나, PC에 설치된 게임을 실행하거나, 파일공유 등의 기능을 할 수 있도록 해주는 ActiveX는 꽤 훌륭해 보이는데, 그럼 무엇이 문제일까요?

1) 잘못된 생각이죠
인터넷 기술을 특정기업이 주도하는 시장으로 만들어 가는것은, 다양한 사용자의 정보 접근성을 제한하는 그릇된 생각입니다. 모든사람이 정보에 접근할 수 있는 환경을 우선해야 합니다. (http://www.w3.org/WAI/gettingstarted/Overview.html)

2) 윈도우에서만 작동됩니다.
유비쿼터스 네트워크 환경(스마트폰, 태블릿PC 등)에서  작동되지 않기 때문에, 서비스 이용에 불가능합니다. 이미 Microsoft에서도 ActiveX의 문제를 알고 .NET기반의 기술위주로 전략을 수정한지 오래되었습니다. 스마트폰 사용자가 급증하고 있는 요즘은 더욱 이 문제가 두드러지고 있습니다.

3) 좀비PC가 되기 쉽다
ActiveX없이 정상적인 사용이 어려우니까, 사용자들은 관리자 계정으로 사용하게 되고, 무엇인지 모르지만 일단 "예"를 대답해야만 사용할 수 있는것을 습관적으로 알기 때문에, 보안상 고려없이 ActiveX를 다운로드한다.그로 인해 DDoS 공격에 이용되는 좀비PC를 만드는 악성코드 감염경로로 사용되기 쉽습니다.



ActiveX - 누구의 잘못인가?

이런 실상을 The Cost of Mono Culture 라는 글로 해외에 널리 알린 Gen Kanai는 얼마전 미래 웹 기술 포럼에서 "왜 한국인들은 먹거리 안전은 챙기는 촛불 집회는 하면서 개인 정보 안전에는 신경을 쓰지 않는가?"라고 일침을 가했다. - 차니님의 블로그(http://blog.creation.net/275)

기술을 제공한 Microsoft에서도 보안상의 이유로 무분별한 ActiveX의 사용을 자제시키고 있는데, 한국을 이렇게 안전불감증으로 만든 원인은 누구의 잘못일까 생각해보았습니다. 3가지 정도로 압축되네요.

1) Microsoft의 공격적 시장확대 전략
첫째는 웹브라우저의 기능을 확장해서 사용하는것이 아니라, 윈도우즈의 기능을 브라우저에서 사용하도록 제공한 마이크로소프트의 시장확대 전략을 꼽을 수 있습니다. 마이크로소프트사는 자사의 운영체제를 사용하는 사용자에게 보다 좋은 사용자경험을 제공하기 위해서 고심했고, 그로 인해 윈도우즈 위에서만 구동되는 ActiveX 콘트롤을 제공하게 되었죠.

2) 스스로 ActiveX의 전도사를 자청한 정부
90년대말 ETRI주도로 개발된 인증/전자서명 기술은 개인키와 인증서를 독특한 위치(NPKI폴더)에, 독특한 방법으로(개인키는 signPri.key라는 파일 명칭으로, 유저 인증서는 signCert.der 라는 파일 명칭으로 저장하되, 개인키 파일은 SEED 알고리즘으로 암호화하여) 저장하는 형태였습니다. 당시 기술상황에서는 어쩔수 없는 선택이라고도 하지만, 이렇게 인증서 저장 방법이 독특하고 독자적이었기 때문에 인증서를 사용하려면 반드시 플러그인(서버 플러그인/클라이언트 플러그인)을 설치해야만 했습니다.
이같은 플러그인 기반 인증 기술을 당시 정통부(방통위의 전신)는 “공인인증”이라는 이름으로 제도화했고, 금융감독원에 부탁하여 금융기관들은 반드시 공인인증서를 사용하도록 “강제”했습니다(전자금융감독규정 제7조). 따라서 뱅킹/쇼핑 거래는 모두 인증 플러그인을 사용해야 했고, 보안 업계는 “규정을 충족하는” 가장 손쉽고 저렴한 방법으로 액티브액스 플러그인을 채택했던 것이지요. 웹브라우저/운영체제별로 클라이언트 플러그인을 여러개 만들어 배포하는 작업은 금융기관에게도 부담이고(비용/고객지원 요청) 보안업계에게도 힘들고(유지, 보수 업무 증가), 자바애플렛은 당시로는 비교적 덜 친숙한 기술이었습니다. - 오픈웹(http://openweb.or.kr/)
무조건 웹에서 작동되어야 한다던 웹에서 작동되는 프로그램과 PC에서 작동되는 프로그램에 대한 이해가 부족한 관공서의 IT관리자의 웹에대한 맹신과 함께, 독자적 국내기술로 개발한 공인인증기술의 보급을 위하여 ActiveX 콘트롤을 선택한 덕분에, 우리나라의 모든 국민은 ActiveX가 없는 PC로 정상적인 웹서비스를 사용할 수 없는 상황까지 왔습니다.

3) 개발자도 한몫
저는 강력한 ActiveX의 이면에 숨어있는 위험성을 전파하지 않은 엔지니어도 책임이 있다고 생각됩니다. 웹브라우저가 할수 있는 일이 아니라 PC에 설치된 프로그램인것처럼 움직여서 지금 사용자가 키보드의 무슨키를 누르고 있는지 전송할 수 있는 위험을 알려주지 않고, 그냥 고객의 요구사항을 묵묵히 만들어가는 개발자도 한몫한것 같네요. 기술을 하는 사람이 비기술자인 고객을 상대할때, 이런 위험성이 있는 기술이라고 한다면 쉽게 도입하지는 않겠죠.


ActiveX에 대응하는 정부

방송통신위원회는 3월 30일, ActiveX 대체기술 적용 확산, 웹 브라우저 이용 다양화 및 웹환경 고도화 등을 골자로 하는 '인터넷 이용환경 개선 추진계획'을 발표(http://goo.gl/4kCPG)
어제 인터넷기사를 보니 이런것이 떴네요. 자의에 의해서가 아니라, 스마트폰 사용자 증가에 따른 어쩔수 없는 변화라고 생각되지만, 어찌되었던 시간이 지날수록 좀더 좋은 환경이 되어가는것 같습니다. ETRI의 또다른 기술 Smart Sign에 대한 이야기를 들었는데, 아무쪼록 정책을 결정하는 분들이 자신이 들고있는 칼의 날카로움을 한번 더 심도있게 생각해주었으면 하는 바램입니다.

+ Recent posts