오픈웹 관련해서 시끄러운 하루하루…

요 근래 오픈웹에 반감을 가지는 분들이 굉장히 많아지고 있는 것 같다. 뭐 오늘 읽은 내용만 하더라도 아래 정도?

일부 흥미로운 내용들도 있지만 감정에 치우친 글들도 많다. 방준영씨의 경우는 크게 다음 두 가지를 문제 삼고 있는데…

  1. 해외에서 ActiveX 없이 안전하다고? 니네가 페이팔 피싱 사례를 모르는구나?
  2. 공인 인증서는 보안 접속이 아니니까 쓸 필요가 없다고?

이 중 공인 인증서에 관련된 내용을 인용하면 다음과 같다.

그래서 아이디/패스워드만으로 보안을 담보하는 건 안전하지 않고, 돈을 보내고 받는 일은 불편하더라도 공인인증서같은 본인 확인 수단이 필요하다고 생각한다. 그런데 저 교수분의 주장은 공인인증서는 보안 접속이 아니라서 반드시 쓸 필요는 없다고 한다. 보안 접속은 영어로 secure connection이니까 당연히 공인인증서가 시큐어 커넥션일 리 없다. 공인인증서는 영어로 public key certificate니까. 그런데 이게 왜 공인인증서를 안써도 되는 이유가 되는 것인지…?

Founders at Work라는 책에 보면 페이팔 창립자가 인터뷰를 하면서 금융 사기꾼들을 막느라 고생한 이야기에 대해 상당 시간을 할애하고 있다. 특정 회사를 상대로 대규모로, 지속적으로 금융 사기를 벌이는데 못 막아서 쩔쩔 매다가 엄청난 금전 손해를 보거나 아예 어떤 회사는 문까지 닫은 이야기는 한국에서는 상상하기 힘들다. 처음부터 공인인증서 시스템을 만들어 놓고 본인 인증을 철저히 했는데도 그런 일을 당했을까?

김기창 교수님이 오픈웹에서 얘기하고 있다시피 사실 공인 인증서는 보안 접속과 관련된 부분이 아니다. 공인 인증서는 암호화된 통신을 위해 사용하는 것이 아니라 전자 서명에 사용된다. 전자 서명이 뭐냐고? 우선 오래전부터 email 에 사용되는 PGP Signature를 살펴보자.

Enigmail을 사용할 경우 메일을 보낼 때 메일의 내용을 일정 길이로 만들고(Hashing) 이렇게 만든 문자열을 자신의 비밀키를 이용하여 암호화 하여 메일 내용 뒤에 덧붙이게 된다. 메일을 받아보는 사람들은 내 공개키를 이용해서 이 서명을 풀어보고, 이 메일이 내가 보낸 것이라는 것을 확인할 수 있게 된다.

바로 이 개념이 전자 서명이다. 거래를 할 때 내 공인인증서(비밀키)를 이용하여 거래 내역을 서명해쉬를 암호화하여 원문에 덧붙임하면, 은행 등에서는 내 공개키를 이용하여 거래를 한 사람이 나라는 것을 증명할 수 있다.

데이터를 https로 보내건 activeX를 이용해서 암호화 한 뒤 http로 보내건 공인 인증과는 무관하다. 오픈웹에서 하는 얘기는 공인 인증서를 사용하지 말자는 얘기까지는 아니라고 생각한다.

그리고 피싱 문제는 ActiveX로 도배한다고 방지되는 것이 아니다. 이건 정말 사용자가 주의를 기울여야 하는 문제라고 생각한다. 부끄럽지만 나도 페이팔 피싱 사이트에 당한 적이 있다. 피해를 보기 전에 부랴부랴 비밀번호를 바꾸긴 했지만, 아무 생각없이 로그인을 시도했었고, 그로 인해 내 비밀번호가 노출되었던 적이 있다. 아무 ActiveX에나 예를 클릭하고, 의심없이 로그인하는 그런 문제를 피해가려면 어느 정도 교육이 필요하다.

공인 인증서를 사용할 경우 피해를 줄일 수 있는건 분명하지만 현재 상황처럼 ActiveX 도배가 피해를 줄이는 건 아니다. 다시 한 번 말하지만 ActiveX 도배는 답이 아니다.

다음으로 이경문씨의 ‘오픈웹에서 오해하기 쉬운 사실 #2‘을 살펴보자. 이경문씨가 문제삼고 있는 부분은

  1. SSL을 사용할 경우 ActiveX를 사용할 때보다 보안이 월등하다고?

뭐 요정도다. ‘SSL이 그렇게 단단해보일지 모르겠지만 SSL MITM(Man In The Middle) Attack 에 취약하기 때문에 맘만 먹으면 중간에서 데이터를 가로채고 변조할 수 있다. 심지어 서버나 클라이언트 이 둘 모두를 감염시키지 않고도 이런 일을 하는게 가능하다.’ 라는 주장.

사실 이 쪽으로는 잘 모르기 때문에 인터넷을 찾아봤다. 그 중 아래 사이트가 가장 설명을 잘해놓은 것 같다.

간단하게 요약해보면 다음과 같다.

  1. 공격자는 Wireless AP를 가장한다.
  2. 사용자가 인터넷에 접속하기 위해 AP를 찾고 공격자의 허위 AP에 접속하게 된다.
  3. 사용자가 인터넷 뱅킹 사이트에 접속할 경우 변조된 DNS와 사이트를 이용하여 값을 가로챈다.

위에 써진 말 만으로 잘 이해가 안되면 ‘SSL MITM Attack Over Wireless‘에 삽입되어 있는 슬라이드 4페이지를 살펴보는 게 좋을 것 같다.

그런데 이상한게 있다. verisign 등의 상위 인증기관을 통해 인증서를 사인하지 않는다면 유효하지 않은 인증서라는 에러가 나온다. 공격자의 허위 인증서를 상위 기관에서 사인해줄 리가 없고, 이 공격을 당할 경우에는 인증서가 유효하지 않는다는 경고창이 나온다. 하지만 90%의 사용자는 이 경고를 무시해버리는 특성이 있고, 그렇기 때문에 문제가 있다고 주장한다.

그런데, 이게 SSL만의 문제냐면 그렇지 않다. ActiveX기반의 암호화 통신에도 똑같은 공격 방식이 적용될 수 있기 때문이다. 누가 더 안전하고 말고의 문제가 아니란 얘기.

김휘강 – 오픈웹에서 오해하기 쉬운 사실 #1‘의 경우는 기술적이기 보다는 정치적인 이유로 개선되기 힘든 상황을 설명하고 있다. 그런데 간과하고 있는게 있다.

사실 오픈웹은 ‘무조건 걷어내야 한다.’라고만 주장하고 있지는 않다. 다만 다른 곳에서도 사용이 가능하도록 Fall back 을 제공해달라는 것이다. 물론 요새 김기창 교수님이 조금 강경/빡빡하게(혹은 삐딱하게) 주장을 펼치시다 보니 위에 링크를 건 어떤 분의 글처럼 ‘분석을 하기보단 분노 하고 있는 것‘ 일지도 모르겠다.

내가 생각하기에 Microsoft Windows + Internet Explorer 를 사용하는 고객에게는 지금 상황을 그대로 제공하는 건 뭐 맘대로 하라고 두고 싶다. 하지만 이 외의 OS, 이 외의 브라우져에서도 사용할 수 있도록 Fall Back을 제공해달라는 것이다.

Microsoft Windows의 경우 지난 몇 해간 수 없이 많은 보안 취약점이 노출되었고, 이를 공격하기 위한 웜/백도어 등이 수없이 만들어졌다. 물론 Microsoft Windows 사용자 중에는 IT에 지식이 없는 평범한 사용자가 많다보니 더 위험에 많이 노출되었을 수 있을 것 같다. 그런데 이런 상황을 고려하지 않고, 위험에 심하게 노출되어 있는 사용자 환경과 상대적으로 위험에 적게 노출되어 있는 사용자 환경(리눅스/맥)을 동일한 잣대로 평가하고, 동일한 기능을 제공해야한다고 주장하는 것은 옳지 않다.

조금 오래된 글이지만 KLDP에 올라왔던 ‘리눅스, 키보드 보안‘ 글을 살펴보자. 조금 기술적이다보니 관련 지식이 없다면 내용을 이해하기 쉽지 않을 수도 있을 것 같다. 결론을 요약하자면 ‘윈도우 기준으로 키보드 보안 모듈을 요구하는데, 리눅스에는 오히려 이런 보안 모듈을 허용하는 것 자체가 취약점을 노출시키는 것이다.‘ 정도로 얘기할 수 있을 것 같다.

2006년 오픈웹에 올라온 글에서 발췌한 내용을 살펴보자.

ActiveX 플러그인이건, NPAPI 플러그인 이건, 그 플러그인을 호출, 구동하는데 필요한 파라미터 명칭이나, 필드값은 동일하게 설계하면 됩니다. 즉, 서버와 플러그인 간의 인터페이스를 표준화하면 어떤 플러그인이건 간에 서버가 이를 호출하여 사용할 수 있게 됩니다.

내 생각에는 이게 바로 우리가 표준화해야할 ‘공인인증 API‘라고 생각한다.

  1. 공인인증을 위한 Mimetype을 표준화한다.
  2. 이 Mimetype이 object, embed 등의 태그로 삽입되었다면 공인인증 플러그인이 로딩된다.
  3. 공인인증 플러그인이 파이어폭스용 플러그인일지 사파리용 플러그인일지 아님 ActiveX 일지는 중요하지 않다. 공인인증을 위한 API가 표준화되어 있으므로 동일한 코드를 통해 공인인증이 가능해지며, 서로 다른 사이트를 사용하더라도 하나의 공인인증 플러그인이 있으면 된다.

심플하고 우아한 솔루션이 아닌가?

김휘강씨의 글에서처럼 다른 플러그인을 위한 호환 코드를 넣기 보다는 이렇게 인터페이스를 표준화하는 것이 더 나은 방법이라 생각한다.

같은 얘기를 몇 년째 되풀이하고 있다. 심하게 아픈 곳이 있으면 곪아 터지기 전에 수술을 해야한다. 심하게 곪을수록 치료하려면 더 많은 고통이 필요해진다. 우리가 그렇게 많은 것을 요구하는 것은 아니라고 생각한다. 다만 너무나도 당연한 것을 너무나도 당연하게 해결하는 것. 이게 우리가 바라는 것이 아닐까?

Published by

2 thoughts on “오픈웹 관련해서 시끄러운 하루하루…”

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">