안전한 온라인 뱅킹을 위하여 [결론 및 제안]

2009.02.20 글쓴이 youknowit

[제1부: 보안접속 프로그램]

[제2부: 키보드 해킹방지 프로그램]

[제3부: 개인 방화벽, 안티 바이러스 프로그램]

[결론 및 제안]

지난 10여년간 국내의 인터넷 뱅킹이 우리 웹 환경 전반과 웹 이용행태에 끼친 영향은 무시할 수 없다. 정책입안자와 감독관청(금융감독원) 공무원들은 보안 기술에 대한 기초적 지식이 미비한 상태에서, 비록 그 의도는 순수했을지라도, 결과적으로 매우 잘못된 제도를 강행해 오는 불행한 사태를 초래하였다. 그 결과 국내의 보안 상황은 매우 우려스러운 지경에 이르게 되었다고 생각한다.

이러한 사태를 교정하겠다고 “더 많은 보안 프로그램을 ActiveX로 강제 설치”하도록 한다면, 그야말로 회복 불가능한 지경으로 갈 것이다. 금융감독원은 다음과 같은 정책 방향을 진솔하게 검토할 필요가 있다고 생각한다. 보안 프로그램을 많이 설치하기만 하면 안전한 인터넷 뱅킹이 ‘자동으로’ 구현될 것으로 생각하는 것은 오해이다. 이용자에게 올바른 정보를 제공하고, 올바른 선택을 할 수 있도록 안내하고 계몽하는 것에서 진정한 보안이 비로소 시작될 수 있다는 점을 분명히 인식했으면 한다.

첫째, 윈도우를 사용하는 이용자의 경우, 반드시 정품 윈도우를 사용해야만 하는 이유를 분명히 설명한다. 불법 복제 윈도우를 사용하는 경우 보안 업데이트를 제대로 받지 못하므로, 자신의 컴퓨터와 거기에 저장된 개인 파일 및 개인정보는 공격자에게 무방비 상태로 노출된다.

둘째, 운영체제나 웹브라우저는 언제나 최신 버전을 사용할 필요가 있다는 점을 설명해야 한다. 과거 버전은 보안 취약점이 이미 노출되어 있고, 특히 더 이상 유지(maintain; 버그 픽스, 보안 취약점 보완 등의 지속적 작업과 지원이)되지 않는 버전의 웹브라우저를 사용하는 것은 매우 위험하다. MS IE 7은 2006년에 출시되었고, MS IE 8의 출시 준비 버전(release candidate)도 이미 배포되고 있는 상황에서, MS IE6를 계속 사용하도록 은근히 조장하는 현 사태 등은 보안의 상식과 어긋난다.

셋째, 웹서핑 중, 이용자 자신이 그 내용을 분명히 이해하고 명시적, 주체적으로 내려받기를 원하여 내려받은 프로그램이 아니라면, 원칙적으로 자신의 컴퓨터에 설치하지 않도록 안내해야 한다. 특히, 이용자 자신이 요청하지 않았는데 웹사이트가 (이용자도 모르는 사이에) 프로그램을 내려 준 경우, 이것을 설치하겠는지를 묻는 보안 경고창이 뜨게 되는데, 이때에는 원칙적으로 “무조건 No”를 선택하도록 이용자들의 인터넷 이용 습관을 바꾸도록 노력해야 한다. ActiveX가 되었건, 파이어폭스 확장이건, 웹브라우저 플러그인을 사용하여 어떤 서비스를 구현하려는 웹서버는 그러한 플러그인이 배포되는 페이지에 이용자가 접속하기 전 단계에, 다음 페이지에서는 플러그인이 배포된다는 점, 그 플러그인은 어떤 역할을 한다는 점에 대한 정확한 설명을 이용자에게 제공해야 한다. 아무런 事前 설명도 없이, 사이트에 접속하면 난데 없이(“자동으로”) 플러그인이 내려받아지도록 웹사이트 구조를 설계하는 관행은 중단되어야 한다.

넷째, 보안접속은 당연히, 그리고 반드시, 보안서버(ssl 서버)로 구현해야 한다. 은행들이 현재 사용하고 있는 보안접속용 별도 프로그램은 당장 걷어내야 한다. 현재의 시스템에 변경을 가하는 것은 “은행들에게 부담이 되므로 강제할 수 없다”는 주장은 도저히 성립될 수 없다. 보안을 빙자한 보안접속용 별도 프로그램이 고객에게 가하는 타격, 우리 나라 컴퓨터 보안 전반에 가하는 타격은 어떤 이유로도 정당화되거나, 방치, 묵인될 수 없다.

다섯째, 웹브라우저로 보안서버에 접속하면, 보안서버는 고객의 웹브라우저가 수행할 수 있는 최고 수준의 암호화를 이용하여 보안 채널을 형성하게 된다. 즉, 40bit, 56bit, 128bit, 256bit 등의 암호화 수준 중, 서버와 웹브라우저가 공히 수행할 수 있는 최고 수준에서 교신채널의 암호화가 이루어지는 것이다. 그러나, 보안 서버는 최저 수준을 스스로 정할 수 있고, 그 수준에 미달하는 암호화를 하는 웹브라우저는 접속이 불가능하도록 할 수 있다. 은행들이 운영하는 보안서버의 최저 암호화 수준은 128bit로 지정해 두도록 지도해야 한다. 아직 MS IE5.01을 사용하는 이용자도 있을 수 있으나(40bit 수준 암호화; 1999.12 출시), 이런 이용자는 웹브라우저를 업그레이드 해야 한다. 또한 은행 서버는 SSL2 프로토콜을 사용해서는 안되며, 반드시 SSL3/TLS1 프로토콜로 암호화 교신을 해야 한다.

여섯째, 은행서버는 반드시 EV (Extended validation) SSL 인증서를 채택해야 하고, 고객은 전자금융거래 시 웹브라우저 주소창에 EV 인증서 씰(seal)이 나타나고 주소가 https:// 로 시작하는 경우에만 개인정보를 입력하도록 안내해야 한다. http 교신으로 접속한 페이지에서는 이용자들이 전자금융 로그인 아이디, 비밀번호 등을 아예 입력하지 않는 습관을 기르도록 할 필요가 있다.

일곱째, 일회용 비밀번호(OTP 생성기를 사용하거나, 보안카드 또는 기타의 방법으로 구현) 사용을 권장해야 한다.

여덟째, 키보드 해킹방지, 개인 방화벽, 안티 바이러스 프로그램 등을 ActiveX로 “배포”하는 것은 금지해야 한다. 이들 프로그램들은 모두 해당 프로그램의 설치 파일을 이용자가 스스로 판단, 선택하여 내려받아 설치할 수 있도록, 다운로드 링크를 제공하는 방법으로 배포해야 한다. 일단 배포된 프로그램을 “구동”하는 단계에서는 플러그인 방식으로 구동할 수는 있을 것이다.

아홉째, 전자 금융거래에서 ActiveX를 사용하는 것은 원칙적으로 피해야 한다.

이용자들이 자신의 운영체제와 웹브라우저 소프트웨어에 대한 업데이트를 철저히 하고, 전자금융거래는 128 bit 이상의 암호화를 이용한 https 교신으로 수행하며, 전자거래와 관련해서는 웹서버가 (이용자도 모르는 사이에) 내려 준 프로그램을 영문도 모른 채 설치하는 행위를 피하는 습관이 정착한다면, 우리나라 인터넷 뱅킹의 보안은 모두가 만족할 만한 수준으로 회복될 수 있을 것이다.

  • 우분투

    불법 복제 윈도우즈라도 보안 업데이트가 가능하다고 알고 있습니다.

  • http://openweb.or.kr youknowit

    고맙습니다. 다시 확인해 보니, ‘critical’ updates에 한하여 업데이트가 허용되고, ‘중요’ 업데이트는 받을 수 없도록 되어 있는 것 같네요. http://en.wikipedia.org/wiki/Windows_Genuine_Advantage
    그러나, 정품 확인 단계를 통과하지 못하는 이용자는 아예 모든 업데이트를 포기하는 경우가 많지 않을까 짐작합니다.

  • http://alisol.tistory.com 아리솔

    이 문제는 국회의원과 협력이 필요한 부분이라고 생각하여 창조한국당 이용경 의원께 정책 협조 이메일을 보냈습니다. 네티즌들의 관심이 있는 분야라면 국회의원도 힘이 되주고 싶을 것입니다.

    저는 자세한 지식이 없어서 일단 제 나름대로 주장을 적어서 보냈습니다.

    추운 날씨 항상 조심하세요..

  • viz

    전반적으로 올바른 주장을 담고 있는 글이라고 생각합니다만, 현 온라인뱅킹 시스템이 가지는 상대적인 장점은 하나도 언급하지 않으셨네요. “현재 시스템은 도저히 이해 할 수 없는 비상식적인 시스템이고 전반적으로 수정되어야 한다” 라고 마무리하는 것도 좋지만 현 시스템의 장점 역시 고려하셔서 보다 발전적 대안은 찾는 것은 어떨까요?

    제가 나름 현 온라인 뱅킹 시스템을 옹호하는 차원에서 쓴 글을 다음 글타래에서 찾아 볼 수 있습니다.

    http://kldp.org/node/100857#comment-469076

  • http://openweb.or.kr youknowit

    viz/ 관심을 가져주셔서 고맙습니다. 특히 금융권 “현장”에 계시는 분들이 이렇게 논의에 참여해 주셔야 건설적인 해법이 신속히 찾아질 것으로 생각합니다.

    제 생각은 크게 두 가지 입니다.

    첫째, 보안 접속을 위하여 별도의 프로그램을 사용하는 것은 그만하자. http로 접속하도록 강요한 다음 ActiveX를 내려주는 현재의 방식은 피싱공격자에게는 그야말로 안성맞춤인 환경입니다. https 로 접속하고, 아무런 플러그인도 내려받아 설치할 필요가 없도록 해야 합니다.

    그래야, 웹사이트가 마구 내려주는 프로그램에 대하여 이용자에게 “경각심”이 생길 수 있습니다. https로 보안접속을 하면, 피싱 공격도 훨씬 어려워지는 것은 물론이고요.

    둘째, 키보드해킹 방지, 방화벽 등의 프로그램을 사용해서는 안된다는 것이 아니라, 그런 프로그램을 ActiveX로 배포할 이유는 없다는 것입니다. 즉 배포 방법에 대하여 문제를 제기하는 것입니다.

    ActiveX가 “간편하다”, “이용자 편의성”이 있다, 아무것도 모르는 이용자들에게도 적용할 수 있다는 주장은 이제는 전혀 근거가 없게 되었습니다. ActiveX로 배포할때 이용자가 실제로 “몇번을 클릭해야” 하는지를 계산해 보십시오. 다운로드 링크를 제공하는 방식이 오히려 이제는 더 “간편하게” 되었습니다(설치에 까지 “이용자가 행해야 하는 클릭수”가 오히려 적습니다.

    끝으로, 전자서명과 관련된 문제는 제 글에서 본격적으로 다루지는 않았습니다. 전자서명이 유용할 수도 있지만, “법으로 강제할 필요”까지 있는지는 의문입니다. 입법자의 신중한 검토가 필요한 부분이라고 생각합니다.

    일단 전자서명을 채용하기로 하는 경우, 어떻게 하는 것이 바람직한지에 대한 제 생각은 별도의 글을 통하여 개진할 예정입니다.

    계속 관심을 가지고 논의에 참여해 주시면 고맙겠습니다.

  • 박영진

    이 글의 핵심은, active X가 오히려 보안에 위협이 된다는 것이고, 그래서 그 것을 피하는 방법을 제시하는 것으로 보입니다. 그러나 viz님의 의견은 active X에 대한 위협에 대해 대안을 제시하는 것이 없다고 보여집니다. 내가 알기엔, active X 가 아닌 다른 방법으로 보안 기능을 구현하는 데 문제가 없다는 것이 입증되었다고 들었습니다. 더구나 이놈의 active X는 그 혜택을 철저히 보고 있는 microsoft 조차 피하는 기술입니다. 한국 정부의 가엾은 구걸로 다시 부활한다고 언론에 보도되더군요. 그러니 제 경우, 이 글의 취지를 전적으로 지지합니다. active X를 없애고, 브라우저에 내장된 보안 기능을 되도록 활용하는 방향으로 나아가야 합니다. 이 것은 너무나 당연한 이야기입니다.

  • viz

    ActiveX 기술 자체가 절대악은 아닙니다. 실제 기술적인 부분에 대한 상세한 이해 없이 ActiveX는 무조건 나쁘다고 생각하시는 분이 많은 듯 하여 아쉽습니다.

    1. 윈도우즈 상의 IE에서 브라우저와 상호작용을 하면서 높은 권한의 하드웨어 접근 기능을 제공하는 기술은 ActiveX와 Java Signed Applet 뿐입니다. Flex라던지 Silverlight 가 대안이라 주장하는는 것은 기술적인 면을 이해하지 못해서 생기는 오해입니다.

    2. ActiveX는 IE에만 국한된 기술이 아니고 모든 브라우져에서 사용할 수 있는 범용성 있는 기술이기도 합니다. 물론 대부분의 브라우져는 잠재적인 보안문제를 들어 지원하고 있지는 않습니다. (크롬의 경우에는 white-list 기반으로 지원할 예정이라 알고 있습니다. 또한 Mozilla 계열 브라우저의 경우에는 ActiveX 지원을 안하는 것은 반 MS 정책에 따른 것으로 알고 있습니다)

    3. 단지 화면을 이쁘게 만들기 위해 ActiveX를 쓰는 것은 잘못된 일이고 그런 사용사례를 줄이기 위해 MS에서도 노력하고 있습니다. 하지만 브라우저에 새로운 기능을 추가하는 것은 ActiveX가 유일한 대안입니다. Flash나 Silverlight Player, Media Player 자체도 ActiveX 입니다. 그리고 Firefox나 다른 브라우저의 플러그인이라고 해서 ActiveX보다 보안적으로 절대 우월하지 않습니다. 브라우저의 기능을 확장하는 프로그램은 언제나 동등한 보안위험을 가집니다.

    4. 현재 은행권에서 ActiveX 기반의 암호화를 사용하는 것은 비용절감의 측면도 있습니다. ActiveX 기반의 암호화가 SSL 로 전체 페이지를 암호화하는 것 보다 훨씬 비용이 적게 듭니다. SSL은 페이지를 이루는 모든 것(심지어 이미지)까지 암호화 해야 하나 ActiveX를 사용하면 페이지의 부분만 암호화가 가능해 집니다. 은행권 입장에서는 SSL 기반으로 가려면 당장 상당한 비용을 들여 SSL 가속기를 마련해야 하는 부담이 존재합니다. (아니면 현재처럼 화려한 홈페이지를 포기하고 텍스트 위주로 가야겠죠)

    5. 키보드 해킹 방지 등의 프로그램의 설치를 다운로드 방식으로 바꾸는 것은 저도 찬성입니다. 현재는 이상한 노란색 바를 몇번이나 클릭해야 하는 일이 벌어지고 있으니까요. 하지만 그런 프로그램들의 일부분은 ActiveX로 구현할 수 밖에 없습니다. 안그러면 해당 홈페이지에 들어갔을 때만 동작하게 만들 방법이 없으니까요. (언제나 동작하게 만들면 된다고요? 그럼 어떤 은행이 그런 솔루션을 사겠습니까? 현재 비지니스 모델을 부정하지 않는 이상 어쩔 수 없습니다)

    무조건 ActiveX가 나쁘다고 비난 하는 것보다는 정말로 건설적인 대안을 찾아야 합니다.

    1. 공인인증 플러그인의 경우: 국가가 제공하고 오픈소스로 만들면 딱 좋을 듯 합니다. 분명 KISA도 구현체가 있는 것으로 알고 있습니다만… 그러나 현재 영업중인 솔루션 업체의 이익을 침해하게 되고 KISA 등의 기관에 과도한 업무 부담이 가게 되겠죠. (공인 인증 플러그인 관련된 전화문의만 한 은행에서 하루에 수백 건 이상 발생 하는 듯 합니다만…)

    2. 키보드 보안의 경우: 각 키보드 보안 프로그램을 관리하는 프로그램 혹은 그 표준(예를 들어 XP 보안센터가 백신프로그램을 관리하듯)을 국가에서 만들어 주어야 할 듯 합니다. 현재 키보드 보안 시장은 한마디로 ‘개판’ 이죠. 서로를 악성프로그램으로 감지하고 한번에 두개 이상 키보드 보안 프로그램이 돌면 십중 팔구 컴퓨터가 사용불가능 상태에 이르게 되니… 물론 키보드 보안 프로그램의 효용성 자체를 무시해서는 안됩니다. 아무리 좋은 자물쇠를 달아도 용접기로 잘라나면 어쩔 수 없으니 자물쇠를 안달아도 생각하는 사람은 없지 않겠습니까?

    3. 개인 방화벽: 이건 기술적으로 쓸모 없는 쓰레기 입니다. 솔루션 업체가 로비를 잘해서 지금까지는 팔아먹어 왔는데 당장 없어져야 할 놈이죠.

    4. 암호화 플러그인의 경우: 이건 좀 논란의 여지가 있는데… 어차피 공인인증 플러그인을 깔아야 하고 이 플러그인이 페이지 부분암호화 기능을 제공하는데 이런 기능을 쓰지 말라고 하는 건 좀 억지처럼 들립니다. 이쁜 자물쇠 마크와 녹색 주소 막대를 위해 SSL 가속기가 열심히 돌아가면 그만큼 에너지를 소비하고 탄소가 배출되기도 하니까… 저는 지구 온난화 방지를 위해 현재처럼 페이지 부분 암호화를 유지하는 쪽에 한표를 던지겠습니다. ^^

    사실 교수님께서는 제가 위에 적은 내용을 이미 다 알고 있으시라고 믿습니다. 언제나 국내 웹 환경 개선의 위해 노력해 주시는 것도 감사드립니다. 하지만 다시 한번 말씀드리는데 본문처럼 ‘~은 무조건 안좋기 때문에 없어져야 한다’ 보다는 발적적인 결론을 제시해 주시는 것은 어떨까요?

  • http://openweb.or.kr youknowit

    viz/ 현재의 “보안접속” 플러그인은 페이지를 암호화 하는 것이 아니라, 특정한 입력값 등만을 선별적으로 암호화 하므로, 에너지 효율적이라는 견해는 긍정적인 한 측면만 보시는 것 같습니다.

    제가 가장 불안하게 느끼는 것은 민감한 정보를 입력하고 submit 을 누를때 웹주소가 http로만 되어 있을 때 입니다. 과연 이 정보가 암호화 될까, 아니면 그냥 내보내질까?

    웹사이트가 알아서 모든 것을 해 줄테니, 무조건 웹사이트를 믿어라! ??? 바로 이런 접근이 우리 보안 업체의 근본 전제를 이루는 것같이 보여서 씁쓸합니다.

    웹사이트를 무조건 믿을 거라면 도무지 뭣 때문에 보안을 논합니까?

    https가 수행하는 기능은 정보를 암호화 해서 네트워크로 내보낸다는 순전히 기술적 측면 외에, 이용자와 웹서버 간에 “신뢰할 수 있는 교신채널이 확보되어 있는지 여부”를 이용자도 판단할 근거를 제공해 준다는 점입니다.

    이용자는 아무 것도 모르는 바보이니, 그저 웹사이트가 하라는대로 하기만 하면 된다는 것은 근본적으로 잘못된 보안의 출발점입니다.

  • viz

    SSL이라는 이미 널리 쓰이고 있는 방식을 이용함으로서 사용자와 웹서 간의 정보 송수신이 암호화 된다는 것을 인지할 수 있다는 것은 설득력 있군요. HTTPS 페이지에서 비 HTTPS 페이지로 이동시에는 기본적으로 경고창이 뜨도록 되어 있으니까요.

    사실 은행 전산 개발자 입장이나 사용자 입장에서 생각한다면 아무래도 SSL이 더 다은 대안이겠죠. 개발자 입장에서는 페이지 암호화 루틴 집어 넣는 것을 빼먹었어서 중요한 정보가 평문으로 전송되는 불상사(사실 많이 일어 나고 있습니다) 를 막을 수 있고.. 사용자 입장에서도 암호화 되고 있다는게 명확히 눈에 보이니까요.

    일단 SSL 가속기 비용 문제를 잘 해결하고 보안솔루션 업체들의 농간에만 넘어가지 않는다면야 일단 현 금융권에서 보안에 SSL을 적용하는게 크게 어렵지는 않을 듯 합니다.

    ps. 저는 막돼먹은 솔루션 팔아서 먹고 사는 보안회사에 소속되어 있지는 않습니다. 그냥 이쪽 기술과 시장 흐름에 관심있는 개발자고… 은행 개발자 쪽에 가장 가깝겠네요.

    ps2. 흠.. 혹시 SSL을 쓰면 ‘국정원 인증을 받은 암호화 솔루션’을 써야 한다는 금융감독원 규정을 준수할 수 없는거 아닐까요? 저를 비롯한 개발자 중에서는 SSL로 넘어갔으면 하는 사람들이 많은데 윗선에서 이미 인증받은 것을 쓰라는 압력을 받았다는 이야기를 들은 적이 있습니다

  • Hyun

    /viz

    1.
    브라우저에서 하드웨어에 대한 접근권한을 쉽게 해주는것이 ActiveX임에는 분명합니다. 하지만, 금융거래를 할 때 브라우저에서 키보드와 네트웍의 하드웨어에 대한 접근을 할 필요는 없다는게 본문의 내용인 듯 합니다. 즉, 하드웨어에 대한 접근(키보드 보안, 방화벽 등)은 사용자의 선택에 의해 ActiveX가 아닌 별도의 다운로드에 의해 설치해야 한다는 것이죠.
    현재 은행홈페이지에서 하드웨어에 대한 접근의 기능을 뺀다면, Flex등은 충분히 대안이 될 수 있다고 생각합니다.

    2.
    viz님께서 1번, “윈도우즈 상의 IE에서 브라우저와 상호작용을 하면서 높은 권한의 하드웨어 접근 기능을 제공하는 기술은 ActiveX와 Java Signed Applet 뿐입니다.” 라고 말했듯이, ActiveX는 “윈도우즈”에서 밖에 동작하지 않습니다. 물론 리눅스 등 다른 플랫폼에서도 동작하지만, 그건 정상적인 방법이 아니죠.
    또한, “크롬의 경우에는 white-list 기반으로 지원할 예정이라 알고 있습니다.”, “Mozilla 계열 브라우저의 경우에는 ActiveX 지원을 안하는 것은 반 MS 정책에 따른 것으로 알고 있습니다” 이 말은 ActiveX는 -윈도우즈의- IE에서만 완전히 동작한다는 말이되죠.

    3.
    브라우저의 확장기능으로 ActiveX를 선택하는게 문제가 아니라, 무분별하게 “예”를 선택해라는 비선택적 ActiveX가 문제인 듯 합니다. 이 부분은 본문에서도 언급되었구요.
    또한, 2번에서 언급되었듯이, ActiveX는 윈도우즈의 IE에서만 (완전히)동작하므로 저는 브라우저의 확장기능으로 ActiveX를 선택하는건 아주 좋지 않은 선택이라고 봅니다.(물론 플래시 등 다른 플러그인들이 플랫폼 독립적으로 완전히 호환된다고 볼 순 없지만, ActiveX보다는 우월한 성능을 보여준다고 보고있습니다.)

    4.
    이 부분은 완전히 공감이 가지 않는군요. 제가 잘 몰라서 그런지는 모르겠지만, 자기가 인증한 인증서를 이용하면 10분만에 아무 비용없이 내 홈페이지에 SSL을 이용한 페이지를 만들 수 있습니다. 저 또한 그렇게 사용하고 있구요.(인증을 위해 비용이 든다고 알고있지만, 그건 ActiveX도 같지 않을까 합니다.)
    또한, https로 데이터를 보내면서도 이미지 등은 http로 보낼 수 있는걸로 알고있습니다. 즉 원하는 부분만 보안을 적용할 수 있다는 말이죠.

    오픈웹의 내용대로만 된다면, 길거리에서 간단하게(표준 기능이 충분히) 구현된 단말기를 이용해 금융거래를 하는게 가능해 보입니다.
    리눅스를 사용하는 저로써는 ActiveX는 그야말로 “절대악”입니다.

  • viz

    Hyun /

    1. 공인인증체계를 포기하지 않는다면 ‘하드웨어에 대한 접근기능’은 꼭 필요합니다. 그렇지 않으면 하드디스크, USB 디스크, 스마트 카드, 보안토큰(HSM)에 들어있는 인증서와 비밀키에 접근할 방법이 없거든요. 온라인 금융거래에서의 공인인증체계를 포기하는 것은.. 글쎄요.. 완전히 다른 이슈가 되겠군요.

    2. ActiveX를 사용하든 Firefox를 사용하든 근복적인 것은 차이가 없습니다. ActiveX가 보안상 위험한만큼 Firefox 플러그인도 위험 합니다. ActiveX도 몇 번의 yes 클릭을 해야 설치가 되고 firefox 도 (더 짜증나는 딜레이를 참으면서) yes를 클릭해야 설치가 되고요. 두 가지 사이에 근복적인 차이가 있다고 생각하십니까? 현재 은행사이트에서 Firefox 플러그인은 제공안하는 것은 당연히 나쁜짓이 맞지만 그거하고 ActiveX 자체가 나쁜 것하고는 무슨 상관인지 모르겠네요. 이곳의 교수님이나 channy 님 처럼 영향력 있는 분들이 잘못된 ActiveX의 폐해에 대해서 경각심을 일깨워 주신건 참 좋은 일입니다만 어쩌다 ActiveX는 무조건 나쁘다 라는 생각이 이리 널리 퍼지게 되었는지 모르겠습니다. 다시한번 말씀드리지만 글에서 언하신 플래시도 ActiveX로 만들어져 있습니다)

    3. 결론적으로 ActiveX 자체가 나쁜 것이 아니라 ActiveX만 제공하는 것이 나쁜 것이고요. ActiveX 구현과 Firefox 등의 다른 주류 브라우저의 플러그인이나 확장을 통한 구현도 제공하는 것이 당연한 것이겠죠.

  • http://openweb.or.kr youknowit

    viz/ 웹브라우저가 특정 사이트(금융거래 사이트)에 접속하였을 때에만 키보드해킹 방지 프로그램이 실행되게 하려면 반드시 ActiveX 를 사용할 수 밖에 없다는 것도 저는 납득이 가지 않네요.

    아마 제가 기술을 잘 몰라서 그럴지도 모르지만, 이런 대안은 어떨까요?

    첫째,

    • 키보드 해킹방지 ActiveX 파일(cab 파일이지요)이 아니라, 그 속에 포함되어 있는 실제 설치 파일(exe 파일이지요)의 내려 받기 링크,
    • 파이어폭스용 키보드 해킹 방지 플러그인(xpi파일이지요) 내려받기 링크

    를 일목요연하게 제시하고, 각 파일이 수행하는 기능을 안내하는 페이지를 우선 제시한다. 파이어폭스 사용자는 xpi 파일을 내려받고, MS IE 사용자는 exe 파일을 내려받아 실행하도록 안내한다.(두 경우 모두 이용자가 주체적으로 내려받기를 선택한다는 점이 중요합니다)

    둘째, 실제 거래를 수행하는 페이지에서는 javascript 를 사용하여 해당 프로그램이 mime type으로 등록되어 있는지를 확인하거나, ActiveXObject로 인스톨 되어 있는지 확인하는 태그를 사용하고, 설치되어 있지 않은 이용자에게는 “자신의 책임하에 키보드해킹 방지 프로그램을 사용하지 않고 거래하겠는지”를 확인하는 메세지와 함께, 위 페이지(내려받기 페이지)로 가거나, 거래를 진행하거나 선택할 수 있게 한다.

    셋째, ActiveX 를 호출하는 object 태그에서는 codebase 를 지정해 주지 않는다.

    이렇게 하는 경우, 웹서핑 중에 웹서버가 “난데 없이” 내려주는 어떤 프로그램을 이용자가 “영문도 모른채” OK하도록 강요되는 사태는 피할 수 있지 않을까요? (이용자가 행해야 하는 클릭 수도 줄어들걸요, 아마….잘 계산 해 보시면)

    여러번 말씀드렸지만, 이용자가 스스로 선택하여 어떤 파일을 내려받아 설치하도록 하는 설계 구조와, 웹사이트가 “자동으로” 내려주는 파일을 영문도 모르는 채 OK 하도록 하는 설계 구조는 보안 측면에서는 “하늘과 땅 차이” 라고 저는 생각합니다.

    저도 viz 님과 마찬가지로 ActiveX는 “무조건 사용하면 안된다”는 견해를 취하지는 않습니다. 1) 다른 웹브라우저 사용자의 선택을 말살해서는 안된다; 2) 이용자가 주체적으로 판단, 선택하여 내려받을 수 있는 구조를 최대한 준수해야 한다; 3) 난데 없이 웹서버가 내려주는 프로그램에 “무조건 OK”하도록 만드는 것은 보안에 치명적 위협을 가하는 것이다 라는 것이 제 생각입니다.

  • Mountie

    제가 주목하는 중요한 포인트는 “이용자의 선택권”입니다.
    개인보안 방식들(키보드보안, 개인방화벽, 안티바이러스 등)은
    이용자의 선택에 의해서 그냥 제공하는것 그대로 이용하거나
    내 PC가 충분히 안전하다는것을 알고 있는 경우 개인보안 프로그램들을 설치하지 않고 사용하거나
    은행에서 제공하는것도 불안한 이용자는 더 강력한 보안방식을 채택할 수도 있도록 허용하는것이
    더 안전해질 수 있는 방법이라고 생각합니다.

    공인인증 개인키 접근방식에 관해서도
    제한된 권한내에서 개인키에 대하여 접근할 수 있는 경로는 PKCS#11 표준을 따르는 경우 가능하고 실제 그렇게 많이들 사용중입니다.

    공인인증서를 모든 플랫폼에서 항상 사용할 수 없다는것을 우리 모두 다 잘 알고 있으며 이러한 간격은 영원이 존재할것입니다.
    그런데 지금은 공인인증서가 엄청나게 여러곳에서 남발되고 있으며 “나는 계좌조회만 할건데”라고 하더라도 혹시 있을지 모를 공인인증서 사용을 대비하여 전 사이트에 걸쳐(Site Wide) 공인인증서 모듈을 쫙 깔아버리지요.
    그리고 이미 쫙 깔려있으니까 세션 보호용으로도 사용하자는 닭과 달걀 관계가 형성된 상황이지요.

    키보드보안,안티바이러스,개인방화벽 등 이건 이용자 선택에 맞기고
    세션 보호는 SSL로
    공인인증서는 공인인증기관에서 제공하고
    공인 전자서명이 꼭 필요한 순간에만 한번 사용하도록 하고
    공인인증서를 사용할 수 없는 환경에서는 다른 대안을 사용할 수도 있는 다양성이 보장되어야합니다.

    국민들은 이런일에 아주 민감하고
    나자신을 보호하기 위한 최고의 방식을 선택할 준비가 이미 되어 있으며
    은행에서 강요하는 방식이 항상 최고의 방식은 아니지요.

  • oyg

    단적인 예로, 현실적으로 1000만명에게 1만원짜리 OTP발급기를 발급한다고 생각하면 얼마의 비용이 들까싶습니다. 인건비며 단말기며 시스템 구축비용이며 전부다~!
    또한, 이걸 고객이 제돈 주고 사면서까지 은행거래를 할까도 싶구요.

    PKI를 대신할 만한 방안이 뭐가 있는지 묻고 싶습니다. 단순히 보안만을 위한 기술이 아니라, 금융거래에서의 투명성을 나타낼 수 있는 것.
    금융 거래의 투명성을 PKI보다 더 게런티해주는 보안기술이 무엇이 있는지요?

    • http://abnormalweb.blogspot.com/ 불편한웹

      돈주고 구입해야 하는 하드웨어 단말기 형태 말고도 여러가지 방식이 있는 것으로 알고 있는데, 잘 아시는 분들 리플 좀 달아주세요.

      • OTP

        셀폰에서 프로그램 형태로 작동하는 OTP가 있다고 알고 있습니다.

      • http://openweb.or.kr youknowit

        OTP 는 이용자가 소지하는 단말기가 생성하는 방식이거나, 서버가 매 거래마다 다른 암호값을 정하는 방식으로 구현될 수 있습니다.

        OTP 생성기를 구입하거나, 바로 위 댓글처럼 휴대폰에 소프트웨어를 설치해서 휴대폰 자체를 OTP 생성기로 사용하는 방법(http://www.u-otp.co.kr) 등이 있습니다. 여기도 참고

        서버가 생성하는 OTP는 문자메세지 형태로 이용자에게 휴대폰으로 전달되는 방식도 있고(사례), 국내 은행거래에 사용되는 보안카드처럼 매번 요구하는 입력값이 다르게 해두는 것도 OTP의 일종입니다.

        그리고 비밀번호 전부를 입력하도록 요구하지 않고, 비밀번호 중 매번 다르게 무작위로 선택된 일부(예를들어, 셋째, 다섯째, 여섯째 자리; 다음 번에 로그인 할때는 첫째, 넷째, 둘째 자리 등등)만을 입력하도록 요구하는 방식도 OTP 이며, 이것은 아무런 새로운 매체나 단말기를 배포하지 않고도 구현할 수 있는 방법입니다. 영국 HSBC은행, First Direct 은행이 이 방법을 사용합니다.

    • 지니

      아니 그래서 실질적으로 부인방지에 도움도 안되는 있으나 마나한 PKI를 유지하자는 이유가 뭔가요?
      사용자에게 도움이 되는것도 아니고 더군다나 보안에 도움이 되는것도 아니고, 제공자(은행)이 더 편리한것도 아니고요.
      김교수님께서 앞에서 누누히 언급했듯이 현재 공인인증서 방식은 어차피 그냥 단일 비밀번호를 사용하는거나 별반 차이가 없습니다.
      비밀번호가 노출될 정도의 보안 수준이 될 경우에는 공인인증서 파일의 보호도 보장받기 어렵기 때문에…
      그래서 현실적으로 OTP 도입하지 않는다고 칩시다. 그리고 그냥 현행 방식대로 보안카드 방식 + PKI 공인인증서 쓰는거나 교수님 말씀대로 OTP를 병행하거나 아니면 OTP를 형행하지 않더라도, 보안카드 + PKI 공인인증서 폐기… 보안 수준에서 도대체 무슨 차이가 있는거죠???

  • arsky

    키보드 자체에 암호화된 형식을 구현 못하나요?
    무선 키보드 연결시 OS에 특정 번호를 입력하면 연결이 되잖아요
    키보드의 특정 시리얼을 부여하여 컴퓨터와 1:1 암호를 구현하고 키보드에서 신호를 암호화된 값으로 전송하게 되면 중간에 인터럽트 못 할 것으로 보이네요!
    굳이 키보드 보안 프로그램 설치하는 비용으로 치면 비슷해 보이네요!