[해킹 이슈] SSL, 하트블리드(Heartbleed) 1분 이해하기

    보안 이야기 2014.06.05 13:56

     

     

    SSL & Heartbleed 1분 마스터 강의!   

     

    지난 4월 오픈 SSL에 대한 심각한 보안 결함(버그) '하트블리드'가 발견이 되면서,

    웹브라우저와 서버 간 통신 암호가 외부에 새어 나갈 수 있다는 문제가

    보안 업계에서 대두 되었습니다.

    이후 재차 새로운 취약점이 발견되면서

    현재 이를 보완한 추가 패치가 배포되고 있는데요.

     

    SSL하트블리드(Heartbleed)!

    무엇이길래 이렇게 큰 이슈가 된 것일까요?

     

    그럼 지금부터 함께 알아보도록 하겠습니다.

     

     

     SSL (Secure Socket Layer)의 정의

     

    SSL은 사이버 공간에서 전달되는 정보의 안전한 거래를 보장하기 위해 Netscape 가 정한 인터넷 통신규약 프로토콜을 말합니다. 뿐만 아니라 SSL 은 FTP 등 다른 TCP/IP 통신을 하는 어플리케이션에 적용

    이 가능하고, 서버인증 암호화 기능이 있습니다.[i]

     

    이처럼 웹에서 데이터를 암호화하여 전송하는 프로토콜로 많이 쓰이는 것 중에는

    Secure HTTP(S-Http, https) 가 있는데요.

    SSL 은Client – Server 간 암호화된 연결을 하여 데이터가 안전하게 전송되도록 하는 반면,

    S-HTTP 는 각각의 메시지를 암호화하는 방식입니다.

    그래서 SSL 과 S-HTTP 는 서로 대칭되는 프로토콜이라기 보다는 상호 보완적이라 할 수 있수 있습니다.[ii]

     

     

     SSL 활용

     
    SSL은 현재 전세계에서 사용되는 전자 상거래 시 요구되는 개인 정보와

    크레디트카드 정보의 보안 유지에 가장 많이 사용되고 있는 프로토콜입니다.

    또, 전자 상거래에서 최종 사용자와 가맹점간의 지불 정보 보안에 관한 프로토콜로 많이 사용됩니다.

     

     

     SSL의 동작과정

     

    SSL 은 사용자(Client) 와 웹사이트(Server) 그리고 신뢰받은 인증기관 (Trusteed Root Certification Authority) 의 개인키(Private Key)와 공개키 (Public Key) 를 통해 정보를 주고 받는 방식입니다.

    암호화된 데이터를 복호화하기 위해 개인키로 공개키를 암호화하고,공개키로 암호화된 대칭키로

    데이터를 복호화합니다. 따라서 통신구간을 암호화하며 사용자와 서버가 안전한 통신을 할 수 있습니다.

     

    <Figure 1. SSL 동작원리/출처 : 미닉스 블로그[iii]>

     

     

     Heartbleed의 위협

     

    Heartbleed는 2014년 4월 1일에 핀란드의 보안 회사 "코데노미콘"에서 발표한 SSL의 취약점입니다.

    발표에 따르면, 인증 기관에서 인증받은 안전한 웹 서버의 약 17%(약 50만대)가 이 공격으로 개인 키,

     세션 쿠키 및 암호를 훔칠수 있는 상태이며, 한국에서 SSL 을 사용하는 웹 사이트 중 56% 가 Heartbleed

    공격에 취약한 것으로 나타났습니다.

     

     

     

     


     

     

     

    <용어의 유래>


    사용자가 웹사이트에서 서버와 정보를 주고받지 않아도 연결은 계속 유지시킬 필요가 있는데, 이때 “하트비트”라고 불리는 SSL 확장 프로토콜이 사용됩니다. 하트비트는 웹사이트에서 정보를 보호하면서 연결을 유지시키기 위한 시스템으로 원래 엔지니어들이 사용하는 별명이었는데요. 이 사태의 원인은 바로 하트비트의 취약점을 이용하는 것이기 때문에 "하트블리드"라고 명명됐습니다.
     
    Heartbleed Bug Explained – 10 Most Frequently Asked Questions
    (http://thehackernews.com/2014/04/heartbleed-bug-explained-10-most.html?m=1)

     

     

     

     

     Heartbleed의 보안 대책

     

    Open SSL. Project 는 2014년 4월 7일 급하게 공지를 하며,

    아담 랭글리와 보도 몰러가 취약점을 수정하기 위해 준비중이라고 밝혔습니다.

     

     

     

    <이하 원문/2014-04-07, Open SSL 홈페이지>

     

    TLS heartbeat read overrun (CVE-2014-0160)
    ==========================================
    A missing bounds check in the handling of the TLS heartbeat extension can be used to reveal up to 64k of memory to a connected client or server. Only 1.0.1 and 1.0.2-beta releases of OpenSSL are affected including 1.0.1f and 1.0.2-beta1. Thanks for Neel Mehta of Google Security for discovering this bug and to Adam Langley and Bodo Moeller for preparing the fix.
    Affected users should upgrade to OpenSSL 1.0.1g. Users unable to immediately upgrade can alternatively recompile OpenSSL with -DOPENSSL_NO_HEARTBEATS. 1.0.2 will be fixed in 1.0.2-beta2.

     

     

    하트 블리드 사건으로 인터넷 세상 대부분이 단일 암호화 기술에 의존하는 것이 옳은가에 관한 의문이

    제기됐습니다. 존스홉킨스 대학교 암호화 전문가인 매슈 그린은 “단일 기술에 의존하면 버그가 하나만

    발견되더라도 모두가 불안에 떨 수밖에 없다”고 지적했습니다.
    오픈SSL 프로젝트에는 상근 개발자가 1명뿐입니다. 수학 박사학위를 취득한 영국 출신 암호 해석가인

     스티븐 헨슨(46)이 그 주인공이며, 오픈SSL 프로젝트 관리팀에는 스티브 헨슨 말고도 영국 직원 2명과

     독일 개발자 1명이 더 있습니다. 동료들은 스티브 헨슨이 똑똑하지만 오만하며 과중한 업무에 시달리고

    있다고 전했습니다.
    오픈SSL  프로젝트 개발팀에서 자원봉사자로 일하는 제프리 소프는 하드웨어 기술 회사에서 일하는

    본업이 있기 때문에 오픈SSL프로젝트에 투자할 시간이 거의 없다고 말하면서, “더럽고 복잡한 데다가

     문제가 생기기 전까지는 누군가 당연히 해야 할 일이라고 인식되는 면에서 오픈SSL 일은 하수 처리와

    비슷하다”고 표현했습니다.[v]

     

     

     글을 마치며

     

    Open Source, Open Platform 등 공개 S/W와 플랫폼이 많이 생겨나고 있습니다.

    쉬운 사례로는 Open Office 의 사용자가 점점 늘어나며 집단지성이 이뤄낸 성과가 문서편집 Application

    으로 독보적인 독점업계인 Microsoft 의 Office 를 따라잡을 것이라고도 합니다.
    그러나 반대로 생각해보면 무료로 공개되던 Android O/S 는

    O/S 사용 시 MS 에게 특허권에 대한 저작권을 지불해야 하고,

    Google 은 Appstore 의 앱 판매에 따른 Commission 비중을 올리며 숨통을 조이고 있습니다.
    Open Platform 이 정말 장기적으로도 이득이 되는 것일지,

    또 이처럼 엄청난 취약점이 발생하는 것은 아닐지 우려가 됩니다.
     
    References

    [i] Open SSL Organization
    (http://www.openssl.org/)
    [ii] ‘SSL – Secure Sockets Layer’, Webopedia
    (http://www.webopedia.com/TERM/S/SSL.html)
    [iii] 미닉스의 작은 이야기 – [웹툰04] SSL이란 무엇인가 2
    (http://minix.tistory.com/397)
    [v] Danny Yadron, 「Heartbleed Bug's 'Voluntary' Origins」, 2014-04-11
    (http://online.wsj.com/news/articles/SB10001424052702303873604579495362672447986)