ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 왜 한국의 인터넷 뱅킹은 윈도 기반의 인터넷 익스플로러에서만 동작할 수 밖에 없었을까?
    Security 2012. 4. 18. 08:59
    반응형
    며칠 전에 지인과 메신져로 얘기한 내용들 중에서 왜 한국의 인터넷 뱅킹은 윈도 기반에 인터넷 익스플로러(IE)에서만 사용할 수 밖에 없게 되었을까라는 부분이 있었다. 요즘은 다양한 웹브라우저에 윈도 뿐만이 아니라 리눅스나 맥과 같은 타 OS도 많이 사용되고 있는 환경인데 인터넷 뱅킹이나 관공서, 쇼핑몰 사이트는 윈도 기반에 IE에서만 동작하는 경우가 많아서 왜 그렇게 될 수 밖에 없었나에 대한 얘기를 좀 나눴다.

    개인적으로는 보안업계에서 7~8년정도 있었기 때문에 지금의 이런 현상이 나올 수 밖에 없는 배경에 대해서 어느정도는 알고 있다. 그리고 그 배경을 설명해줬는데 지인은 꽤 많은 도움이 되었다고 해서 고마워하더라(나중에 저녁이나 얻어먹어야겠다 -.-). 그래서 오늘은 그때 지인과 한 이야기를 정리해서 적어볼까 한다. 나 역시 직접적인 관계가 아닌 주변 사람들로부터 들음으로 안 내용이기 때문에 내용의 신빙성에 대해서는 장담하지 못한다. 하지만 각종 소문과 관계자들로부터 직접 들은 이야기 등을 종합해서 나름대로 풀어볼까 한다.


    인터넷 뱅킹이나 쇼핑몰 사이트에 접속하기 위해서는 수많은 ActiveX 컨트롤들이 설치된다. 이유는 다양하지만 가장 큰 이유는 보안 강화 때문이다. 인터넷 뱅킹을 통해서 이체나 조회 등의 액션을 취할 때나 쇼핑몰 사이트에서 물건을 사고 결재를 할 때 돈이 오가는 상황이기에 철저한 보안 환경 기반에서 안전하게 거래할 수 있게 하기 위해서 설치되는 보안 솔루션들이 ActiveX 형태로 제공되기 때문에 필요한 ActiveX 컨트롤이 깔리게 되는 것이다.

    다만 다들 아시다시피 ActiveX 컨트롤은 윈도에서만 동작되며 IE에서만 사용할 수 있다. 그래서 맥이나 리눅스를 사용하는 PC에서는 사용할 수 없으며 같은 윈도를 사용하더라도 파이어폭스나 크롬에서는 사용할 수 없다. ActiveX는 IE에 의존적인 어플리케이션 형식이기 때문이다. 그렇다면 왜 보안업체들은 ActiveX를 이용해서 보안 모듈을 만들었을까?

    인터넷을 이용해서 각종 금융거래가 본격화되기 시작한 것은 2000년대 중반부터다. 본격적으로 인터넷을 통한 금융거래가 시작되면서 금융당국은 안전하게 거래할 수 있는 보안에 대한 이슈를 제기하기 시작한다. 은행의 창구에서 거래할 때에는 통장 비밀번호와 인감도장이나 자필서명이 필요하다. 그것으로 당사자임을 인정하고 거래를 하기 때문이다. 텔레뱅킹에서는 통장 비밀번호 및 텔레뱅킹 암호, 그리고 보안카드를 이용한다. 인터넷 뱅킹에서도 그런 인증 수단이 필요했고 그런 인증을 인터넷이라는 공개된 네트워크를 통해서 전송하는데 있어서 보호할 수 있는 장치가 필요했다.

    그래서 정부는 인터넷을 통한 금전거래에 대해서 보안지침을 만들어서 내리는데 해킹을 통해서 거래 관련 정보가 유출되는 것을 방지하기 위한 각종 보안 규제를 담게 된다. 그 대표적인 것이 암호화 통신과 암호화 통신 위에서의 신뢰성 있는 암호화 인증 방식, 그리고 인증 정보를 입력하는 키 입력에 대한 보안 등이 그것이다. 그리고 거래에 직접적인 절차 안에서는 국가에서 인정하는 공인인증서를 이용하도록 하는 것도 지침에 포함되었다. 정부라고는 하지만 이런 보안 지침들은 대부분 국정원에서 내려주며 그 가이드라인에 따라서 은행 등의 금융권 회사에서 보안 수준을 유지하도록 보안업체에 의뢰해서 인터넷 뱅킹 서비스를 만들게 되는 것이다.

    2000년대 중반에 국정원(금융위원회나 금융감독원이 지침을 내렸다는 얘기도 있지만 워낙 밀실 정치에서 나온 이야기인지라 국정원에서 지침을 내렸다는 설이 가장 유력한 것이 사실이다. 금융위나 금감원이나 국정원이나 다 똑같겠지만 -.-)으로부터 인터넷 뱅킹에 대한 보안지침이 내려오면서 은행 등은 인터넷 뱅킹 서비스를 개발하는데 보안업체들을 통해서 보안 모듈을 만들어서 공급받게 된다. 그런데 시기를 보면 2000년대 중반이며 그 당시의 대한민국의 대다수 사람들은 윈도 XP를 사용하고 있었으면 웹브라우저로는 IE6를 사용하고 있었다. 그렇기 때문에 보안업체들은 보안의 타겟을 윈도 기반의 IE 웹브라우저를 잡게 되었다.

    국정원의 인터넷 뱅킹 관련 보안 가이드라인에도 어느정도 언급이 되어있지만 그 가이드라인에서 제시하는 것들이 암호화 통신과 키보드 해킹 방지 등 그 당시에는 HTML이나 자바 스크립트 등으로는 해결할 수 없는 수준의 것들이었다. 웹브라우저 안에서 웹브라우저의 영역을 벗어나는 작업을 해야만 했기 때문이다. 그렇기 때문에 ActiveX 컨트롤을 주목하게 되었으며 적어도 그 당시에 윈도 환경에서 IE6에서 사용하기에는 더 없이 좋은 방식이었기 때문에 보안업체들은 너도나도 할 것 없이 ActiveX를 기반으로 보안 모듈을 만들게 된 것이다.

    즉, ActiveX를 이용한 보안모듈 제공은 적어도 그 시대에 있어서는 문제가 안되는, 오히려 환영받는 기술이었다는 것이다. 하지만 문제는 지금에 와서 웹표준이 이슈화되고 윈도 이외의 타 OS를 사용하는 사람들이 많아지면서, 또 윈도 안에서도 IE 외에 파이어폭스나 크롬과 같은 다른 웹브라우저를 사용하는 사람들이 많아지면서 ActiveX 기반의 보안 모듈이 오히려 사용성을 저해하는 요인으로 지목받고 있다는 것이다. 시대가 바뀌었는데 과거의 기술을 그대로 사용하고 있기에 생기는 문제라는 것이다.

    그렇다면 시대에 맞춰서 인터넷 뱅킹 서비스를 하는 은행과 보안 모듈을 제공하는 보안업체가 타 OS나 웹브라우저를 지원하면 이런 문제가 없지 않으냐 라고 할 수도 있을 것이다. 맞다. 시대에 맞춰서 기술을 바꿔서 업그레이드를 했다면 이런 문제는 없었을 것이다. 하지만 여기에는 또 다른 문제점이 있었다.

    은행을 포함한 금융권에서 인터넷 뱅킹이나 결제 관련 서비스를 만든 이후에 꽤 오랫동안 안정화 작업을 해왔다. 그리고 지금에까지 이른 것이다. 하지만 타 OS나 타 웹브라우저를 지원하기 시작하면 지금까지 안정화된 서비스에 불안정성을 추가하게 된다. 즉, 신기술을 도입하면서 생기는 안정화 작업이 계속 들어가야 한다는 것이다. 또한 이미 안정화된 상태에서 불안전 요소로 인해 서비스에 문제가 생기면 지금 은행 입장에서 고객 서비스의 거의 핵심이라고 할 수 있는 인터넷 뱅킹에 문제가 생기게 되면 이미지에 안좋은 영향을 끼치면서 또한 수익에서 큰 문제가 생긴다. 운영하는 입장이나 경영하는 입장에서는 이래저래 욕을 먹고 있더라도 잘 돌아가고 있는 서비스에 불안요소를 추가할 필요를 못느낀다는 것이다.

    또한 윈도 이외의 OS 지원을 하기 위해서, 또 IE 이외의 타 브라우저를 지원하기 위해서는 추가 개발 공수가 들어간다. 비용과 시간이 들어가며 과거에 윈도 기반에 IE에서 작업해왔던 안정화 작업을 또 거쳐야 한다는 부담감이 있다. 보안업체 입장에서도 현재의 인력이나 여력으로는 ActiveX 기반으로 만든 보안모듈의 안정화 및 커스터마이징에도 빠듯하다. 그런데 따로 공수를 들여 타 OS나 타 웹브라우저를 지원할 수 있게 하기 위해서는 비용과 시간이 마찬가지로 들어가는데 그게 투자하기가 어려운 것이 사실이다. 국내에서 알다시피 아직까지 윈도 사용자가 타 OS 사용자들보다 압도적으로 많고 크롬이나 파이어폭스의 사용율이 높아지고 있다고는 하지만 IE 사용자가 훨씬 더 많은 현실에서 투자 비용 대비 수익율로 따져봤을 때 다수가 사용하는 환경 지원에 몰두하는 것이 더 이익성이 높기 때문에 개발투자를 하지 못하는 것이 현실이다. 물론 요즘은 과거와 달리 해외 시장도 같이 노리기 위해 타 브라우저와 타 OS 지원을 투자라는 명목하에 만들기도 하지만 말이다.

    그렇다면 이런 얘기가 나올 수 있을 듯 싶다. 해외에서는 SSL을 이용한 보안 통신과 OTP(One time password)를 이용한 방식으로 안전하게 금융거래를 하는데 국내에서는 이런 것을 왜 도입하지 않느냐라고 말이다. 거기에는 국정원도 그렇고 국내 금융관련 담당자들의 노파심이 한몫하고 있다. SSL이나 OTP 방식은 웹브라우저에서 기본으로 제공해줄 수 있는 방식이다. 그런데 웹브라우저 자체는 국내 개발이 아닌 해외 개발, 즉 외산 제품이라는 것이다. 국정원은 보안 가이드라인을 제시하면서 국내에서 만든 암호화 방식 등 국내에서 핸들링이 가능한 범위를 제시했다. 문제가 생기면 바로 해결할 수 있어야 한다는 조건 때문에 그렇다. 하지만 SSL과 OTP 방식에 문제가 생기면 이것을 핸들링 할 방법이 없다. 그리고 2000년대 중반에는 SSL이나 OTP 방식이 대중화되지 않았을 때다. 그 때 만든 지침이 지금까지 내려져오고 있는데 이것들을 허용할 리가 있을까 싶다.

    즉, 정리하면 이렇다. 2000년대 중반에 만들어진 인터넷 금융 거래 관련 보안 지침은 지금도 계속 유효하고 있으며 그 때의 환경에서 만들어진 보안 모듈과 인터넷 뱅킹 서비스들이 지금까지 안정화 작업을 거치면서 유지되어 왔기 때문에 잘 돌아가는 서비스에 대해서 위험부담을 앉으며 타 브라우저나 타 OS를 지원하는 것에 대해서 부담감을 느끼고 있는 은행권의 경영진들의 판단으로 인해 지금의 문제들이 계속 나오고 있는 것이다. 또한 국내 기술로만 해야 한다는 국정원의 보안 가이드라인이 시대에 맞춰서 바뀌지 못한 것도 지금의 문제를 만드는 데 한몫을 하고 있는 것이다.

    물론 앞으로는 좀 달라질 수 있을 것이다. 웹표준 준수에 대한 사용자들의 목소리가 점점 커지고 있으며 ActiveX를 만든 MS마저 ActiveX에 대한 지원을 하지 않겠다고 밝힌 상황이다. 그리고 인터넷 뱅킹에서 모바일 뱅킹으로 점점 트랜드가 넘어오고 있는 상황에서 계속 ActiveX를 이용한 보안에만 고집할 수 있는 상황은 지나갔다. 멀티 플랫폼(멀티 OS, 멀티 웹브라우저)에서 사용할 수 있는 보안 모듈 개발을 각 보안 업체들이 시작했고 어느정도 성과를 보이고 있는 중이기에 인터넷 뱅킹도 조만간 달라지지 않겠느냐 하는 생각이 든다.

    재미난 것은 ActiveX 문제는 어찌보면 해커들이 해킹을 위해서 이용한 것이 국내에서는 인터넷 뱅킹과 맞물려서 꽤나 재미나게 여론 형성이 되었다는 것이다. 사용자들은 사이트에서 설치하라고 ActiveX 설치를 제시하면 내용도 안보고 설치한다. 그런 습성이 있다. 왜? 내용을 다 파악하기에는 어렵기도 하고 귀찮기도 하기 때문이다. 이런 성향을 해커들이 이용해서 해킹 툴 설치를 ActiveX를 이용해서 하게 되는데 국내에서는 ActiveX가 보안을 위해서 사용되니 아이러니하게 골때리는 상황이 되는 것이다.

    국내에서 ActiveX 문제를 얘기할 때 사용자의 동의없이 설치되는 것을 얘기한다. 하지만 인터넷 뱅킹을 예로 들어보면 사용자 동의 없이는 설치가 안된다. 물론 설치가 안되면 사용을 할 수 없기 때문에 설치할 수 밖에 없는 것이 현실이지만 어찌되었던 물어는 본다. 그리고 보안 모듈로 설치된 ActiveX가 서로 충돌나서 문제가 되는 경우가 있는데 이것은 보안업체들이 만든 보안 모듈이 서로 다르지만 보안해야 하는 영역이 비슷하기 때문에 충돌되는 것이다. 이 부분은 보안업체들이 나서서 해결해야 하는데(그래도 많이 해결은 되고 있다) 자사의 이익 우선 정책 등으로 인해 제대로 안되는 것이 사실이다. 뭐 이런 문제점을 갖고 있기는 하지만 현실은 바뀌기가 쉽지 않다는 것이 그렇다.

    기술은 발전하고 사용자들의 성향은 나날이 높아져가는데 기술을 지배하려는 정책이 기술을 못따라오고 있다. 또 정책을 만드는 사람들의 마인드 역시 트랜드를 따라오지 못하고 있다. 이게 가장 큰 문제라는 생각이 든다.


    ps) 서두에서도 썼지만 정확한 내용은 아니다. 이런저런 업계에서 들리는 소문과 관련된 분들의 이야기를 종합해서 나름 분석해서 쓴 글이니 틀린 부분이 있으면 얘기해주길 바란다.

    반응형

    댓글

Designed by Tistory.