ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 오로지 ActiveX 방식만을 피하기 위해서 나온 Non-ActiveX 방식이라 불리는 방식. 과연 이게 맞는 방향일까?
    Security 2015. 2. 16. 11:18
    반응형

    최근은 아니지만 몇달전 천송이코드 관련 사건(?)으로 인해 다시 한번 ActiveX를 비롯한 관련 솔루션들이 재조명(?)을 받은 적이 있다. 뭐 좋은 쪽으로 재조명을 받은 것은 아니고 불편하고 비합리적이고 안전적이지도 않다는 부분에서 말이다. 이미 업계 안에서는 이런 부분이 어쩔 수 없는 상황으로 인해 야기된 것이라고 얘기하고 있지만 사용자들은 그런 변명(?)을 들을 생각을 하지 않는다. 뭐 이건 국가의 수반인 수첩공주께서도 마찬가지일테고 말이지. 결국 ActiveX 퇴출 운동의 정점을 찍으라는 지시에 이번에는 제대로 보안 관련 체계가 잡히려나 싶어서 어느정도 기대는 했는데 나온 방안이라고 하는 것이 너무 골때려서 말이지.


    ActiveX 방식의 문제점은?


    최근 보안 솔루션 업체들을 비롯해서 이들 솔루션을 이용하는 서비스들이 제공하고 있는 Non-ActiveX 방안을 살펴보면 참 생각의 전환이 이렇게도 변할 수 있구나 하는 생각이 들었다. 기존 ActiveX 방식이 갖고 있는 문제점이라고 한다면 간단히 정리해서 멀티 플랫폼, 멀티 웹브라우징 지원이 안된다는 것이다. ActiveX는 MS의 Windows OS에서 동작하는 웹브라우저인 IE에서만 사용할 수 있는 IE 플러그인이다. 그렇기 때문에 Windows가 아닌 애플의 Mac OS X나 우분투, 레드헷 등과 같은 Linux에서도 사용이 불가능하다. 뭐 최근 인기를 끌고 있는 크롬 OS와 같은 웹OS는 말할 것도 없고 말이지. 심지어 같은 Windows OS에서 동작하는 크롬이나 파이어폭스와 같은 비 IE 계열 웹브라우저에서도 사용할 수 없다(참고로 IE 엔진을 사용하는 서드파티 웹브라우저에서는 ActiveX를 사용할 수 있다. 이스트의 스윙 브라우저가 그 대표적인 예일 것이다). 그래서 맥북을 이용하는 사람들이나 리눅스를 이용하는 사람들, 그리고 윈도를 사용하면서도 IE가 아닌 크롬이나 파이어폭스를 사용하는 사람들은 사용할 수 없었다.


    하지만 ActiveX의 가장 큰 문제점은 멀티 웹브라우징이나 멀티 플랫폼의 문제가 아니다. 기존 보안 솔루션들이 ActiveX를 사용하게 된 이유 중 가장 큰 이유가 웹브라우저에서 시스템 자원을 제어할 수 있다는 점이었다. 원래 플러그인이라함은 웹브라우저의 본연의 기능이 아닌 그 이상의 확장된 기능을 사용하게 해주는 것으로 브라우저 확장의 개념이다. 즉, IE에서 기본적으로 제공하지 않는 기능을 제공하기 위해서 확장한 것인데 IE 뿐만이 아니라 크롬이나 파이어폭스도 이런 플러그인들이 존재한다. 하지만 크롬이나 파이어폭스에서 제공하는 플러그인은 해당 웹브라우저 안에서만 동작하는 샌드박스 방식인데 비해 ActiveX는 OS의 시스템 자원까지 같이 제어할 수 있는 게이트웨이 방식이다. 즉, ActiveX를 이용하여 사용자는 웹브라우저가 아닌 시스템 자원을 이용하여 웹브라우저에서 사용할 수 없는 기능들을 사용할 수 있게 한다는 것이다. 그렇기 때문에 보안 솔루션에서 필요로 했던 키보드 제어나 암호화 통신, 그 외에 게임업체에서 그래픽카드의 자원을 사용하는 웹게임을 만들 때 ActiveX를 많이 사용했던 것이다. 하지만 이런 시스템 제어는 곧 해커들에게도 훌륭한 자원 공유 방식이 되어버렸다. ActiveX를 이용하여 사용자의 PC를 좀비PC로 만드는데 일조하게 된 것이다. 이는 시스템 자원을 맘대로 갖다쓰게 만드는 ActiveX의 기본적인 기능이 악용되는 예이기도 하다. 물론 UAC 등을 통해서 시스템 자원에 대한 핸들링을 나름 제어하려고 했지만 뭐 UAC를 꺼버리면, 아니면 관리자 권한으로 풀어버리면 무용지물이 되어버리는 것이 현실이기에 말이지.


    실제로 천송이 코드 문제는 ActiveX 문제 보다는 공인인증서와 관련된 문제가 더 크다. 중국인들이 중국에서 한국 인터넷 쇼핑몰 서비스에 접속해서 결제하려고 하다보니 공인인증서가 필요하게 되었고 국내가 아닌 해외에서 그것도 외국인이 공인인증서를 발급받는 것이 문제가 되기 때문에 제대로 구매가 이뤄지지 않아서 문제가 된 것이 천송이 코트 문제인데 이것이 졸지에 ActiveX 문제로 확대되었다. 물론 ActiveX로 인해서 시스템이 느려지고 절차가 많아지고 또 제대로 되지 않은 것도 문제가 되었지만 실질적인 문제는 결제 시스템에 도입된 공인인증서 관련 문제인데 엉뚱하게 비춰지고 있다는 얘기다. 그래서 우리네 수첩공주께서는 ActiveX가 문제가 되고 있으니 이것을 사용하지 않는 시스템을 만들라고 지시를 했고 Non-ActiveX 방안들이 나오기 시작했다. 그런데 재미난 것은 오로지 Non-ActiveX 방식에만 집중하고 있다는 얘기다.


    Non-ActiveX 방식이라고 나온 방식이...


    이번에 Non-ActiveX 방안으로 나온 것을 보면 ActiveX 대신 실행파일을 설치해서 실행하도록 하고 있다. 간단히 얘기하면 ActiveX도 어떻게 보면 어플리케이션 방식으로 윈도에 설치해서 실행하는 방식인데 IE에서만 실행할 수 있도록 만든 것이다. 그러다보니 IE에서 해당 기능을 사용하기 위해서는 이것저것 물어보는 것도 많고 실행되는데 느려지는 부분도 많았다. 그런데 이것을 윈도에 설치해서 서버 방식으로 실행하게 하고 IE에서 ActiveX가 아닌 서버와 통신하게 함으로 ActiveX 방식을 탈피하겠다고 한다. ActiveX는 웹사이트에 있는 자바 스크립트가 ActiveX를 호출해서 사용하는 방식인데 지금 얘기하는 방식은 자바 스크립트가 자신의 PC에 설치된 서버와 통신해서 처리하는 방식을 뜻한다. ActiveX 방식과 다른 것은 매번 ActiveX를 호출할 때마다 물어보거나 하지 않는다는 점이며 IE 입장에서도 따로 플러그인을 사용하지 않기 때문에 속도가 좀 더 빠르다는 점이다. 실질적인 작업은 설치되어있는 서버 프로그램이 백그라운드에 떠서 진행하기 때문에 웹브라우저 자체의 속도는 향상된다. 그리고 밖에서 볼 때에는 ActiveX 방식이 아닌 그냥 일반 웹사이트 방식처럼 보인다. 그리고 IE에서만 할 수 있는 것이 아니라 크롬이나 파이어폭스 등 비 IE계열 웹브라우저에서도 사용할 수 있다는 점이 기존 방식과는 다른 점이라고 할 수 있다. 지금까지는 각 웹브라우저별로 플러그인을 만들어서 배포하곤 했는데 이제는 그럴 필요가 없다고 한다. 이 방식은 Non-ActiveX 방식이라고 할 수는 있을거 같다.


    하지만 앞서 얘기했듯 ActiveX 방식의 가장 큰 문제점은 시스템 자원을 맘대로 제어할 수 있다는 점이었다. 해커가 노린 부분도 이 부분인데 Non-ActiveX 방식이라고 나온 것을 살펴보면 기존의 방식을 PC 내부의 CS(클라이언트-서버) 방식으로 바꾼 것에 불과하다. 게다가 서버 프로그램을 직접 PC에 설치하는 방식이기 때문에 시스템 자원 사용이 더 용이해졌다. 해커들이 이 부분을 그냥 넘어갈리 만무하다. 지금까지 악성 ActiveX를 설치하게 만든 방식을 이용하여 악성 서버 프로그램 설치를 노릴 것이다. 게다가 멀티 웹브라우징이 가능한 상황이라 IE에서만 문제가 되던 것이 타 웹브라우저까지도 문제가 될 수 있는 소지가 생겼다. 어찌되었던 처음 서비스를 이용하는 사람들은 무조건 해당 서버 프로그램을 설치해야 하기에 말이지. IE, 크롬, 파이어폭스 등 윈도에서 실행되는 웹브라우저 사용자들은 다 말이지. 단순히 ActiveX 방식만을 피하면 된다는 생각이 오히려 더 골때리는 상황을 만들어버렸다는 생각이 든다.


    보안 체계의 변화가 아닌 그저 ActiveX 탈피에만 신경을..


    내가 원했던 Non-ActiveX 방식은 결제 및 보안 시스템의 체계를 좀 이 기회에 바꿨으면 했던 것이다. 공인인증서의 가장 큰 장점은 부인방지, 즉 자기가 했던 것을 거부할 수 없게 만드는 방식이다. 공인인증서는 인터넷 상의 자기증명서와 같은 역할을 하기 때문에 인터넷 인감도장이라는 얘기를 듣는다. 그렇다면 그 인감도장을 필요로 하는 서비스에만 적용시키면 되는 것이다. 관공서 서비스가 대표적인 예일 것이다. 그 나머지는 공인인증서를 사용하지 않는 인증 방식을 사용하면 된다. 아마존이나 이베이와 같은 해외 사이트를 보면 얼추 해답이 나온다. 공인인증서는 본인 인증을 더 확실하게 해야 하는 서비스에만 적용하고 나머지 서비스에는 나름대로의 안전장치를 가미한 다른 인증방식을 이용하면 된다. SMS 인증 방식도 괜찮고 요즘 잘 사용하고 있는 모바일의 지문인식도 나쁘지 않을 것이다. 얼마든지 다른 방식을 적용할 수 있는데 모든 서비스에 죄다 공인인증서를 적용하다보니 문제가 되고 있는 것이다(그것을 그동안 법으로 제한해둔 것이 문제라고 할 수 있을 듯 싶다).


    그런데 오로지 ActiveX 방식의 탈피에만 초점을 맞추다보니 변태적인 방식이 Non-ActiveX 방식으로 떠오르고 있다. 이는 기존의 ActiveX 방식을 기반으로 하는 시스템 구성을 최대한 건드리지 않고 그대로 유지하면서 방식만 바꾸려고 하는 생각에서 나왔다고 할 수 있을 것이다. 서비스를 제공하는 입장에서는 기존에 비싼 돈을 들여서 구축하고 안정화시킨 시스템을 바꿔야 할 필요성을 못느끼지만 정부에서 강한 압박이 오니 어떻게는 면피하기 위해서 보안 솔루션 업체들에게 방안을 갖고오라고 했을 것이고 고객의 명령을 하늘로 생각하는 보안 솔루션 업체 입장에서는 어쩔 수 없이 없는 머리를 짜내서 나온 방안이 ActiveX를 CS 형식으로 바꾼 지금의 방안이 아닐까 하는 생각을 해본다.


    생각해보면 보안 솔루션 업체에 십수년간 다녔기 때문에(물론 지금도 다니고 있지만 약간 보안 카테고리가 다른 쪽으로 와서 이제는 조금 이쪽에서 자유로운? ^^) 업체들의 입장과 서비스 제공자들의 입장을 이해못하는 것은 아니지만 조금만 생각을 넓혀서 사용자들에게 더 편리한 서비스를 제공해주고 그에 합당한 대가를 지불받도록 하는 방법을 강구하는 것이 맞지 않을까 싶다. 해외의 서비스들이 무조건 다 옳고 좋다고는 할 수 없겠지만 왜 그들이 그렇게 판을 키우로 시장을 성장시키고 규모가 커졌는지는 좀 생각해보면 답은 의외로 가까운 곳에 있을거 같은데 하는 생각이 드는데 말이지. 지금과 같은 움직임 안에서 과연 핀테크를 활성화시킬 수 있을까 하는 생각도 들고 말이지.


    참고로 핀테크에 관련해서는 내가 쓴 [이글]을 참고하면 될 듯 싶다.


    참고 #1. 예전에 나 역시 ActiveX 방식에 대해서 얘기한 적이 있었다. 심지어 방송에까지 나와서 말이지. 물론 그 때에는 관련 모듈을 만드는 보안 업체에 재직하고 있었기 때문에 하고 싶은 얘기를 다 하지 못했던 것도 있었고 그 역사와 서비스 업체의 이력을 보면 왜 이렇게 될 수 밖에 없었는지에 대해서 어느정도 이해할 수 있는 맥락이 있기 때문에 말이지. 그리고 엄밀히 따져서 보안 정책의 문제이지 플러그인에 불과한 ActiveX를 이렇게 끌고 들어오려는 것도 좀 문제가 있다는 생각도 든다.

    반응형

    댓글

Designed by Tistory.