본문 바로가기

Security Indicator

빗나간 공인인증서 논란- 하

-zdnet 게재 컬럼 입니다.

 

생각하는 방향은 전체적으로 주욱 언급 했습니다. 기본 문제들에 대해서도..

앞으로 조금 더 강하게.. 점진적으로 강하게.. 그렇게 해야죠.

 

 

----------------------

 

빗나간 공인인증서 논란

 

 

브라우저 편향성

 

공인인증서에 대한 비난 중에 브라우저의 편향성을 지적하는 요구는 타당하다. 그러나 국내에서 유독 문제되고 있는 IE만의 문제일까?  2009년 하반기의 데이터를 종합하여 발표한 Cenzic의 자료를 살펴보면 브라우저 별 취약성 동향을 일부 유추 할 수 있다.

 

 <참고 : http://www.cenzic.com/downloads/Cenzic_AppsecTrends_Q3-Q4-2009.pdf >

 

일반적으로 국내의 많은 인터넷 이용자들은 IE를 많이 사용 한다. 그리고 비난하는 측의 초점도 공공기관 및 금융기관이 강제하여 문제가 되고 있다고 주장하기도 한다. 문제점이 많이 발견되고 치명적인 SW IE를 계속 사용하거나 ActiveX의 취약성을 이용해 더 큰 문제가 발생 할 수 있다고도 한다.   그러나 cenzic에서 내놓은 통계치에서는 다른 결과를 살펴 볼 수 있다. Firefox Chrome 그리고 iPhone에서 활용하는 Safari 브라우저에서 발생되는 문제점들도 전체 사용비율에 거의 비례하는 수준으로 나타남을 알 수가 있다. 브라우저에서 발생되는 문제점들은 직접적으로 사용자의 PC나 스마트폰에 영향을 미칠 수 있다.

 

Safari 브라우저의 취약성을 이용해 탈옥을 하지 않은 iPhone의 권한을 획득한 CanSecWest 2010 컨테스트의 결과 (링크 - http://zastita.com/index.php?det=56629)를 보더라도 앞으로의 위험요소를 예측할 수 있다. 결론적으로 브라우저 편향성을 벗어난다고 해서 문제점으로부터 벗어나는 것은 아니며 그 순간부터 또 다른 집중적인 공격의 목표가 하나 더 생기는 것뿐이라고 필자는 생각한다.

 

다양한 브라우저를 지원하고 위험성을 제거하기 위해서는 상당히 많은 노력과 지원이 필요하다. 각 브라우저들마다 지원하는 표준이 미세하게 다른 부분들이 존재하고 제작 철학조차 다른 곳들이 많다. 철학이 다르다는 이야기는 근본적인 제품 설계가 다르다는 관점이며 문제점이 생기는 부분을 다 제거 하기 위해서는 정말 많은 노력이 필요하다는 것을 의미한다. 모든 브라우저를 지원하면서도 근본적인 문제를 탐지하고 제거 할 수 있느냐 하는 점에서는 정말 회의적이라 할 수 밖에 없다. 공인인증서가 문제가 되는 부분도 특정 브라우저에 편향된 부분을 사용량의 변화에 따라 상위 2~3개 정도로 한정하여 지원을 하도록 하고 새로운 개선점들을 주기적으로 논의 하였다면 지금과 같은 논란은 생기지 않았을 것이다. 

 

국내의 환경에서 다양한 종류의 접근성 보다는 다수가 사용하는 분야에 대해 안정성을 확보하는 것이 우선일 수밖에 없음은 인정한다. 또한 영세한 보안업체의 특성상 다양한 브라우저를 지원하고 다양한 운영체제를 지원하면서 근본적인 PC나 스마트폰에 존재하는 악성코드를 제거하며 거래의 안정성을 높이는 것은 사실상 불가능에 가깝다.  다양한 운영체제는 그만큼 다른 방식의 접근을 해야 하고 별개의 개발을 진행 해야 한다. 또한 금융거래에서 피해가 발생 했을 경우 금융기관이 책임을 져야 하는 현재의 상황에서 안정성과 피해 발생 가능성을 낮추는 것이 가장 우선시 될 수 밖에 없고 그 결과 브라우저 편향성이 출현 했다고 볼 수 있다.

 

의도적인 브라우저 편향성은 아니며 PC에 대한 위험요소들이 증가하고 피해가 증가함에 따라 각 단계별 문제해결을 위해 추가적인 도구들이 필요 했을 뿐이다. 해외라고 별반 다를 것은 없다. 봇넷으로 은행계좌를 조정하는 악성코드들의 출현과 최대 2천만대의 PC를 원격 조정하여 정보를 빼내고 거래를 한 사례들은 전 세계적인 이슈라고 볼 수 있다. 뚜렷한 문제 해결 방안은 오로지 백신을 사용하는 것뿐이다. 온라인 거래의 안정성을 유지하려면 PC를 보호 할 수 있는 여러 방안을 고민 할 수 밖에 없을 것이다. 현재의 보안수준에서 해외의 인터넷 뱅킹과 상거래가 만약 국내의 상황과 같은 수준으로 활성화가 된다면 상상 이상의 피해규모를 확인 하게 될 것이다. 현재도 카드를 이용한 거래가 일반적인 해외에서 카드도용에 대한 피해사례는 너무나 일반적인 사례이다.

 

국내의 현실로 돌아오면 국내의 IT 산업 환경에서 위험들을 줄이면서 모든 브라우저를 지원하는 것은 불가능 하였을 것이다. 제한된 자원과 제한된 인력을 가지고 각 브라우저 마다 발생 되는 위협들을 제거 하고 문제를 해결 하는 것은 사실상 불가능한 영역에 속한다. 목적성을 가지고 점진적인 확대 외에는 대안이 없는 실정이다. 그러나 조금 늦은 측면은 문제가 있다고 본다.

 

ActiveX로 설치되는 보안도구

 

앞서 ActiveX로 설치되고 활성화 되는 보안도구들은 다양한 위험들을 제거하여 안정성을 확보하기 위한 목적이라고 기술 했다. 그렇다면 각 도구들의 역할은 어떻게 되어 있을까?

 

 

현재 상태에서 설치 되는 보안도구들과 금융권에서 사용되는 보안적인 기능들을 대부분 열거한 경우이다. 각 케이스마다 역할이 배분되어 있음을 볼 수 있다. 키보드 입력을 탈취하는 것을 방지하기 위한 키보드 보안 솔루션과 악성코드가 활성화 되어 있다면 제거하기 위한 백신의 역할, 비정상적인 외부 연결을 차단하기 위한 방화벽의 역할, 위조된 사이트 여부를 확인하는 피싱 방지 솔루션등 다양한 보안도구들이 각 역할을 수행하고 있다. 핵심은 PC에서 서비스로 전달되는 거래를 안전하게 보호하기 위한 것이다.

 

금융거래로 넘어가면 OTP,보안카드 외에 공인인증서를 사용 하도록 했다. 공인인증서 영역에는 별개의 악성코드를 만들어 백신에 탐지가 되지 않으며 동시에 키보드 보호 솔루션을 회피하면서 키입력을 가로채는 유형이 있어야만 키입력을 가로챌 수 있다. 키 입력 이외에도 OTP 또는 보안카드를 사용하여 추가적인 인증수단을 사용해야만 한다. 최종적으로는 공인인증서의 본인확인 기능 및 부인방지 기능을 서버의 키와 비교하는 방식으로 이루어진다.

 

절차적으로도 상당히 많고 번거롭게 느껴진다. 그러나 각 영역별로 다양한 보호 고민들이 있었으며 그 역할은 충분히 합당하다고 본다. 본래의 목적인 안전성을 기준으로 잡으면 당연한 일이라 할 수 있다.

 

공격자들의 의도를 어렵게 하고 실제 공격 발생 비율을 낮추기 위해서는 단계를 많이 거치도록 하고 여러 조건을 모두 만족해야 하는 상태로 만들어서 어려움을 주어야만 한다.

 

백신에 탐지 되지 않는 악성코드를 만들어야 하고 외부 연결은 숨겨야만 하며 키보드 입력 보호 솔루션을 우회해야만 한다. 이 조건 외에 추가적으로 OTP 혹은 보안카드의 키입력 또한 가로채야만 한다. 최종적으로 공인인증서도 탈취해야 하고 공인인증서의 패스워드까지도 별도로 탈취를 해야만 하는 상황이다. 이 정도의 노력과 실력을 가지고 충분히 다른 이득을 얻을 수 있기 때문에 공격을 하지 않는 것뿐이다. 

 

세상에 완벽한 보안이란 존재하지 않는다. 다만 발생 가능성을 줄여주고 사고가 발생 될 경우에 피해를 최소화 하는 일들이 보안의 업무라고 할 수 있다. 사고 발생 가능성을 줄이기 위해서는 공격이 어렵거나 조건이 많아 지도록 만드는 것은 기본이다.

 

 

OTP의 경우 일회적인 패스워드 사용으로 알고 있으나 현재 발견되는 문제점은 다른 위험으로 출현 할 수 있다. OTP의 경우 화면상의 계좌 정보를 실제 전송시에는 다른 계좌로 바꿔치기 할 수도 있을 것이다. 피싱 방지 솔루션이나 백신은 이런 유형의 악성코드나 코드 변조에 대해서 알려줄 수 있는 기능이 부분적으로 존재한다.  또한 최종적으로 공인인증서를 통해 전송 계좌 및 금액에 대해서 추가 확인이 가능하다. 물론 암호화된 내용으로 전달이 되어 중간에 내용을 가로챈다 하여도 특별한 의미를 가질 수는 없는 상황이다.

 

현재 논의 되고 있는 공인인증서 사용에 대한 규제 철폐 및 ActiveX를 통한 보안도구들의 설치 및 기능이 무력화 될 경우에 발생 될 수 있는 위험성은 상상이상이다. 만약 체계적이고 계층적인 대안 없이 진행 된다면 IT 서비스 산업 자체의 위험레벨은 매우 높은 수준을 계속 유지 하게 될 것이다. 대규모 금융 관련 사고가 터진다 해도 이상치 않을 것으로 본다.

 

 

SSL+OTP ?

 

공인인증서 사용에 대한 규제 철폐를 주장하는 측에서 대안으로 제시하는 것은 SSL +OTP 조합이다. 여러 기술적인 설명이야 차지하고서 보안이라는 관점에서 PC에서 발생되는 이슈를 이 단순한 조합으로 보호 할 수 있다는 것은 넌센스다.

 

 

개념적으로 각 부분별로 발생 될 수 있는 문제들을 간략하게 정리해 보았다. 기존의 보안도구를 설치하지 않는 상황과 인증서에 대한 사용이 선택으로 바뀌게 될 경우 위험 요소들은 충분히 더 있을 수 있다. 현재 간단하게 고민한 문제 부분은 위의 그림과 같다.

 

개인 PC에 설치된 악성코드들은 어떻게 해결 할 것이며 특정 은행이나 기업만을 대상으로 한 악성코드의 대응은 어떻게 할 수 있을 것인가? 또 최근 많이 발견 되고 있는 특정 사이트의 보안 수준을 인위적으로 낮추기 위해 HTML을 변조하여 화면상에 표시하는 경우 대책은 무엇인가?

 

OTP를 입력 한다 하여도 화면상의 계좌와 실제 전송되는 계좌가 다르다면 어떻게 거래 내역을 입증 할 수 있을까? 현재 나타나는 악성코드들로도 충분히 가능한 상황이다. 해외 은행의 거래정보를 탈취하는 Zeus bot의 경우 현재 미국에만 360만개의 Agent Pc가 존재한다.

(http://en.wikipedia.org/wiki/Zeus_(trojan_horse) )

키입력을 가로채는 악성코드가 몇 백만대가 기본으로 설치된 상황에서 만약 미국내의 은행에서 자유로운 타인, 타행계좌로의 입출금이 웹을 통해 가능하게 된다면 재앙을 맞이하는 것은 한 순간이다. 이제는 금융거래를 활성화 하기 위해서는 보호방안을 먼저 고려한 이후에 활성화 해야 하는 상황에 직면한 것이다.  앞으로 상당기간 국내 수준으로 활성화 되기는 어려울 것으로 보고 있다.

 

해외에서는 현재도 금융거래에서 피해가 발생 되고 있으며 향후 피해 규모는 더 확대될 것으로 본다. 2000만대의 PC를 움직인 Mariposa botnet의 경우도 금융거래 정보를 탈취하고 있으며 알려지지 않은 많은 botnet들은 지금도 열심히 각 금융기관을 이용하는 사용자 정보를 부지런히 수집하고 있다. 피해는 앞으로 당연히 더 커질 것이다.

현재 해외 금융기관의 대응수준으로 보면 피해는 더 확대될 수 밖에 없으며 금융거래의 발전과 활성화를 위해서는 PC에 일정수준의 제한을 가해야 하는 것은 필연적이라 보고 있다.

 

해외의 개인PC에 대한 피해상황과 비교하여 국내의 PC 환경도 충분히 나쁜 환경에 처해있다. PC의 권한이 탈취되고 악성코드에 의해 조정이 됨에도 불구하고 금융거래의 피해상황은 미미하다. 이 역할은 보안도구들이 일정수준의 역할을 하고 있고 최종적으로 보안카드,OTP, 공인인증서 조합에 의해 피해를 여러 단계에 걸쳐서 막기 때문에 가능하다.

 

SSL+OTP 조합을 사용 했을 경우 아래의 경우에 대책들이 있어야 한다.

 

키보드 입력 보호는 하지 않는가?

MITM(Man in the Middle attack)을 통한 거래내용의 변경을 하는 악성코드 유형은 대안 있는가?

OTP를 사용할 경우 페이지 변조 여부에 대해서 신뢰 할 수 있는가?

한 지역 혹은 ISP 단위의 침해사고가 발생하여 중간 경유 장비에서 트래픽을 전환할 경우 신뢰성을 확보할 방안은?

또한 ARP Spoofing등을 통해 위조된 주소로 접근 한다면?

DNS 변조로 인해 역시 위조된 주소로 사용자가 접근한다면?

또한 인증서를 위조한 경우에는?

(모든 케이스들이 다 발견된 사례들이다. )

 

이 경우 조작된 거래라는 것을 서비스 서버에서 알 수 있는 방법이 존재하는가? 실제 거래가 발생된 이후에도 거래를 본인이 했다는 것을 확인 할 수 있는 확실한 방안은 존재하는가? 위조되거나 잘못된 거래를 찾아내기 위해서 서비스 업체에서 할 수 있는 방법은 무엇이 있을까? 해외 카드 업계에서 하듯이 특정 장소에서만 허용이 되고 별도의 장소로 이동 했을 경우에는 위험이라고 인식을 하고 알리는 Fraud 판별 시스템을 써야 하겠지만 인터넷에서 위치가 아닌 IP기반으로 움직이는 곳에서 그게 과연 의미가 있을까를 고민해야 한다.

개인의 금융거래에도 문제가 발생 되지만 금융 서비스를 제공하는 측에서도 사실관계 확인을 위한 정보는 거의 얻을 수 없는 상태가 된다. 이 경우 문제 해결이 되지 않는 피해사례들은 속출 할 수 밖에 없다.

 

신뢰성을 기반으로 하여 안전성을 추가하는 것이 금융거래의 선결과제이다. 현재의 SSL+OTP 조합은 상당히 많은 부분에서 취약성을 가진다. 모든 것이 안전하고 치명적인 문제가 없다는 전제하에 추진 할 수 있는 것을 너무 쉽게 주장하고 있다. 현실은 그리 만만한 것이 아니다.

 

 

접근성을 확대 하려는 시도는 보편타당하다. 그러나 금융거래에 있어서는 안전성과 신뢰성이 우선이다. 대안과 방안을 마련하지 않은 상태에서의 무조건적인 접근성 강화는 치명적인 결과를 초래할 것이다. 일단 본인확인이 되지 않는 경우에는 금융거래를 제한하는 것이 필요하고 다양한 보안 방안들을 고려 해야만 한다.

 

Pc에 설치되는 악성코드들을 제거하는 공통적인 대응 방안도 없으며 유포되는 주된 경로인 웹서비스의 안정성 확보도 되지 않은 상태에서 문제인식은 너무 부족한 현실이다.

 

스마트폰에서 접근하는 웹은 웹이 아니고 다른 종류라서 안전할까? 웹서비스의 활용도는 앞으로 더 증가할 수 밖에 없다. 사용자나 공격자나 더 매력적인 내용이다.  앞으로는 웹서비스에서 아이폰용, 안드로이드용 악성코드들도 유포가 될 것이다. 당연한 일이다. 국내는 물론이고 세계적으로도 웹서비스의 변조 및 웹을 통한 데이터베이스 정보의 유출은 여전히 계속 되고 있다. 아이폰이나 안드로이드에서 보는 웹도 동일한 웹이기에 위험성도 동일하다. 거기에 금전적인 이득까지 직접 취할 수 있다면 최초 혹은 처음 발견되는 스마트폰용 악성코드들의 성지가 될 것임은 명확하다.

 

현 상태대로 제한이 철폐되고 접근성이 확대된다면 장담하건대 스마트폰용 악성코드의 출현은 매우 빨리 질 것이다. 오랜 기간 관찰해온 바에 의하면 공격자들에게 그것보다 더 유혹적인 이득은 없을 것이기 때문이다. 

 

 

현재의 인터넷 뱅킹이나 금융거래 모델이 문제점을 가지고 있는 것은 사실이나 문제점을 개선하고 발전 시켜야할 부분이지 없애야 하는 수준은 절대로 아니라고 본다. 당연히 장점을 발전 시켜서 수출을 하거나 전 세계 전자 상거래의 활성화를 위해 기여할 부분이 매우 많은 모델임에도 불구하고 하향평준화를 요구 받고 있는 현실은 어리둥절 하기만 하다.

 

현재 상태의 보안도구들도 통일된 도구들이나 공통적인 규약을 가지고 있지 않은 것은 문제라고 할 수 있다. 공통적인 모듈을 활용 하여 다른 사이트를 가더라도 공통적인 기준을 활용 하여 추가적인 설치를 최소화 하거나 비슷한 기능을 다른 브라우저나 운영체제에서도 할 수 있도록 노력을 해야 할 것이다. 그만큼의 투자는 필요하고 충분한 비용은 지급 되어야 할 것이다. 또한 공인인증서 체계의 접근성을 확대하는 것은 지속적으로 노력을 해야 시대의 변화를 따라 갈 수 있다고 본다.  점진적인 발전 모델로서 가치를 가지는 것이지 현 상태의 유지가 정답은 아닐 것이다.

 

 

 

-       바다란 세상 가장 낮은 곳의 또 다른 이름

 

ps:  

一終無終一 -  이 의미대로 살고자 합니다. 오늘 부터가 되겠죠. 두렵지만 더 큰 꿈과 열정은 항상 있었기에 이젠 다른길로..

조금 정리되면 소회를 한번 올려 볼께요.