ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 과거에는 찬사를, 지금은 고민을 주는 인터넷 기술이 된 ActiveX와 Java.
    IT topics 2013. 3. 11. 12:00
    반응형

    한국과 미국, 양쪽에서 지금 웹과 관련된 취약점 공격으로 몸살을 앓고 있다. 무슨 이야기인가 하면 한국은 ActiveX로 인한 다양한 문제점으로 인해 몸살을 앓고 있고 미국은 Java(자바)의 문제점으로 인해 몸살을 앓고 있다는 얘기다. ActiveX와 Java는 언뜻 보면 별로 공통점이 있어 보이지 않지만 주로 문제가 되는 환경이 웹이라는 점, 그리고 양쪽 나라에서 현재까지 가장 많이 사용하고 있는 기술이라는 점이 공통점이다. 뭐 많이 사용하는 만큼 문제점도 많이 생기며 골치도 많이 아파오는 것은 어느 것이든 간에 다 마찬가지인 듯싶다.


    최근 IT 세계에서 핫이슈 중에 하나가 다름 아닌 Java의 취약점을 노리는 해킹 이슈다. Java의 취약점은 매번 나오고 있지만 패치가 이뤄져서 보강이 되기 전에 공격을 해오는 제로데이 취약점 공격에 속수무책으로 당하고 있는 것이 문제다. 과거 Java가 Sun의 관리 하에 있었을 때에는 그나마 이런 버그에 대해서 발 빠른 패치가 이뤄지곤 했는데 Sun이 Oracle로 인수된 이후에 Java의 관리가 Oracle로 넘어간 후에는 제대로 버그 패치가 이뤄지지 않아서 공격당하는 횟수와 강도가 더 많아지고 세진 듯싶다. 주로 Java의 실행기 역할을 담당하는 JVM(Java Virtual Machine, 자바 가상 머신으로 Java 언어로 만들어진 실행 모듈을 동작시켜주는 플랫폼)에 대한 버그가 대부분인데 Java로 만든 서버 등에서 문제가 생기는 것보다는 주로 웹에서 많이 사용하는 Java Applet(애플릿)을 통해서 해킹 시도가 많이 일어난다. 그렇기 때문에 ActiveX와 어떤 면에서는 웹이라는 환경에서 생기는 문제라는 측면에서 비슷하다고 할 수 있다고 말하는 것이다.


    미국에서는 여러 웹브라우저를 사용한다. 우리나라처럼 인터넷 익스플로러가 90% 이상을 차지한다던지 그렇지는 않다. OS도 리눅스를 사용한다던지 맥을 사용한다던지 한다. 윈도가 90% 이상이지 않다는 얘기다. 그것을 안 따진다고 하더라도 미국에서는 일단 다양한 환경에서 잘 돌아갈 수 있게 만든다는 것이 개발자나 사용자 모두 기본이라고 생각한다. 그렇기 때문에 다양한 OS에서, 또 다양한 웹브라우저에서 잘 돌아가는 Java Applet이 마치 웹 표준처럼 많이 쓰이고 있다. 우리나라에서 ActiveX를 많이 사용하듯 말이다. Java Applet은 JVM이 동작하는 어떤 환경에서도 다 동작하니 말이다. 물론 우리나라가 ActiveX를 많이 사용하는데 에는 그만한 이유가 또 있지만 말이다. 이런 Java Applet을 통해서 해커들은 JVM의 취약점을 노려서 해킹을 시도한다. JVM을 해킹해서 설치된 PC 내부로 들어온다는 얘기다. ActiveX를 가장한 악성 코드를 삽입해서 해킹하는 것처럼 말이다. 현재 미국에서 웹을 사용할 때 가급적이면 Java 기능을 끄라고 얘기하는데 Java Applet을 통해서 JVM 해킹이 들어오기 때문이 아닐까 생각이 든다.


    뭐 우리나라에서 ActiveX를 통해서 다양한 해킹 시도가 일어나고 있는 것도 마찬가지다. ActiveX를 통해서 다양한 어플리케이션이 사용자 PC에 설치가 되니 그것을 통해서 해킹을 시도하는 것이 일반화 되어있다. Java Applet을 통해서 JVM을 해킹하는 것이 뭐가 문제가 되나 얘기할 수 있지만 JVM의 경우 시스템(사용자PC나 혹은 서버 등)에 설치되며 해당 시스템의 자원을 사용할 수 있는 권한이 생기기 때문에 Java Applet을 통해서 JVM을 해킹하면 JVM을 통해서 사용자 PC(혹은 서버)의 내부를 조작할 수 있기 때문에 문제가 되는 것이다. 과정은 ActiveX와 다르지만 피해는 얼추 비슷하게 간다고 보면 된다.


    여기서 재미난 이야기를 하나 한다면 최근 우리나라에 웹 표준, 웹 접근성에 대해서 이야기가 나오면서 ActiveX가 엄청나게 공격을 받고 있다. 화려한 그래픽을 사용한다던지 아니면 보안을 위해서 보안 모듈을 설치하는데 대부분이 ActiveX 컨트롤을 이용한다. 그런데 Java Applet을 사용했더라면 적어도 웹 접근성에 있어서는 지금과 같은 욕을 안 먹을 것이 아니냐 하는 얘기가 들린다. 일단 Java 개발자 출신의 지인 이야기를 들어보면 Java Applet으로 만드는 것보다 ActiveX를 이용해서 만드는 것이 훨씬 만들기도 쉽고 결과물도 좋게 나온다고 한다. Java Applet은 태생적으로 속도에 문제(ActiveX는 OS 레벨에서 동작되기 때문에 일반 어플리케이션이 실행되는 것과 비슷한 퍼포먼스를 보이나 Java Applet은 JVM을 거쳐서 웹브라우저에서 실행되는 구조이기 때문에 2~3중의 실행 단계가 있고 JVM 자체의 속도가 그렇게 좋은 편은 아니다. 최근에는 워낙 PC나 서버의 속도가 높아졌기 때문에, 그리고 메모리가 많아졌기 때문에 하드웨어 성능으로 속도의 느림을 보충하고 있다고 보면 된다)가 있기 때문에 2000년대 초중반에 국내에 본격적으로 인터넷이 확산되기 시작할 때에는 고려 대상조차 아니었다고 한다. 그래서 ActiveX가 지금까지 우리나라에 범람하고 있다는 얘기를 하는데 얼추 이해할 수 있을 듯싶다. 개발자 입장에서 Java Applet을 이용하는 것은 엄청난 노가다를 요하기 때문에 말이다. 빠른 시간 안에 결과물을 보기 원하는 한국의 척박한(!) 개발 환경에서 ActiveX는 어쩔 수 없는 선택이었다는 얘기다.


    뭐 어찌되었던 미국에서는 Java로 인해, 한국에서는 ActiveX로 인해 웹 관련 보안에 대한 몸살을 단단히 앓고 있다. 서로 다른 문제점을 갖고 같은 고민을 하는 형국인 셈이다. HTML5가 제대로 표준화되어 퍼지게 되면 이런 몸살은 좀 줄어들까? 아직까지 제대로 표준조차 지정되어있지 않은 상태에서는 한동안은 별다른 대안이 없어 보인다. 한국은 그나마 Microsoft가 발 빠른 대응을 해주지만 미국의 경우 Oracle은 제대로 대응해주지 않아서 더 속을 썩이고 있다는 점이 조금은 다른 상황이라고나 할까.


    결론은 뭐 많이 사용하는 환경, 기술일수록 그것을 통한 공격도 많이 이뤄지고 보안에 대한 취약점도 많이 들어난다는 것. 그래서 그것들을 만든 서비스 업체들은 발 빠르게 패치를 진행해야 한다는 것이다. 적어도 Microsoft는 이런 문제에 대해서 계속 꾸준히 보안 패치를 해놓은 덕분에 불만이 많이 줄어들고 있다. ActiveX가 너무 많이 깔려서 불편해서 짜증나는 것은 어쩔 수 없지만 말이다. Oracle이 계속 Java로 이쪽 시장을 지배하고 싶다면 발 빠른 행동이 중요하다는 생각이 든다. 그리고 현재는 Java Applet에 대한 이야기가 크지만 국내의 개발환경이 대부분 Java로 이뤄지고 있는 상황에서 우리나라도 언제 이런 문제가 닥치게 될지 모를 일이다. 즉, 한국의 개발자들도 이런 문제에 대해서 미리 대비를 해둬야 한다는 이야기다.


    본 포스트는 kocca 콘텐츠산업정보포탈의 콘텐츠갤러리에 기고한 글로 기고된 글은 [여기]에서 보실 수 있습니다.

    반응형

    댓글

Designed by Tistory.