Endpoint Protection

 View Only

클라이언트와 사물 인터넷(IoT)을 위협하는 Heartbleed 

Apr 14, 2014 09:50 AM

Heartbleed와 관련하여 취약한 공개 웹 사이트에 초점이 맞춰지고 있지만 실제로 이 취약점은 훨씬 더 광범위하게 영향을 미치고 있습니다. 대부분의 유명 사이트는 더 이상 취약하지 않습니다. 그렇다고 해서 엔드유저가 마음 놓아도 될 상황은 아닙니다.

Heartbleed는 웹 클라이언트, 이메일 클라이언트, 채팅 클라이언트, FTP 클라이언트, 모바일 애플리케이션, VPN 클라이언트, 소프트웨어 업데이트 프로그램 등 각종 클라이언트 소프트웨어에도 영향을 미칩니다. 즉 SSL/TLS를 통해 통신하고 취약한 버전의 OpenSSL을 사용하는 클라이언트라면 이 공격을 당할 가능성이 높습니다.

뿐만 아니라 Heartbleed는 웹 서버 외에도 프록시, 미디어 서버, 게임 서버, 데이터베이스 서버, 채팅 서버, FTP 서버 등 다양한 서버에 영향을 미칩니다. 하드웨어 장치 역시 안전하지 않습니다. 라우터, PBX(업무용 전화 시스템), 사물 인터넷을 구성하는 무수히 많은 장치도 영향을 받을 수 있습니다.

Heartbleed 취약점을 통해 이러한 소프트웨어 및 하드웨어 서버를 공격하는 방식은 취약한 웹 사이트에 대한 공격과 유사합니다. 하지만 클라이언트에 대한 공격은 정반대의 양상을 띨 수도 있습니다.

일반적으로 알려진 Heartbleed 익스플로잇은 공격자 측 클라이언트가 취약한 서버로 악성 하트비트 메시지를 보내고 해당 서버에서 개인 데이터가 유출되는 방식입니다. 하지만 그 반대의 상황도 가능합니다. 즉 취약한 클라이언트가 서버에 접속하면 이 서버에서 클라이언트에게 악성 하트비트 메시지를 보내는 것입니다. 그러면 클라이언트는 메모리에 남아 있는 추가 데이터를 사용하여 응답하는데, 이때 인증 정보와 기타 개인 데이터가 유출될 우려가 있습니다.

Heartbleed-3486810-fig1-v2.png

그림 1. 서버에 대한 공격과 정반대로 이루어지는 취약한 클라이언트에 대한 공격

다행히 클라이언트가 취약하더라도 현실적으로 그에 대한 익스플로잇 공격에는 어려움이 따를 수 있습니다. 대표적인 두 공격 벡터는 클라이언트에게 악성 SSL/TLS 서버를 방문하도록 지시하거나 다른 무관한 약점을 통해 연결을 하이재킹하는 것인데, 둘 다 공격자 입장에서는 매우 복잡한 방식입니다.

클라이언트를 악성 서버에 연결

클라이언트의 취약점을 공격하는 가장 단순한 예로 취약한 웹 브라우저 등을 이용하는 방법이 있습니다. 이 경우 피해자가 악성 URL을 방문하도록 유도하면 되는데, 그러면 공격자 측 서버가 클라이언트 웹 브라우저 메모리에 접근합니다. 이때 이전의 세션 쿠키, 방문한 웹 사이트, 폼 데이터, 인증 정보 등의 컨텐트가 유출될 위험이 있습니다.

많이 사용되는 웹 브라우저의 대부분은 OpenSSL이 아니라 Heartbleed에 취약하지 않은 NSS(Network Security Services) 라이브러리를 사용합니다. 하지만 명령줄 웹 클라이언트 중 상당수(예: wget, curl)는 OpenSSL을 사용하기 때문에 취약합니다.

공격자가 사용자를 악성 사이트로 유인해야 한다는 점 때문에 위험성이 다소 줄어들 수는 있지만 안심할 수 있는 것만은 아닙니다. 프랑스어 페이지 URL을 입력하면 그 내용을 영어로 자동 번역해 주는 온라인 번역 서비스가 있다고 가정해 보십시오. 하지만 실제로 이 서비스는 은밀하게 자체 백엔드 클라이언트를 사용하여 프랑스어 페이지의 내용을 가져옵니다. 따라서 만약 사용자가 악성 서버 URL을 입력할 경우 백엔드 클라이언트가 익스플로잇의 대상이 되고 공격자는 번역 서비스를 통해 코드, 인증 정보와 같은 중요 정보를 획득하게 됩니다.

연결 하이재킹

위에 설명한 것처럼 클라이언트를 악성 서버로 연결하려면 해당 서버를 방문하라는 지시를 내릴 대상 클라이언트가 있어야 합니다. 하지만 대다수의 클라이언트는 미리 설정되고 하드코딩된 도메인에만 접속합니다. 이러한 경우에도 클라이언트에 대한 익스플로잇이 가능합니다. 일부 WiFi 네트워크와 같이 공개된 공유 네트워크에서는 다른 사람이 트래픽을 보고 변경할 수 있으므로 공격자가 취약한 클라이언트를 리디렉션하는 것이 가능합니다. 일반적으로 암호화를 통해 염탐이나 리디렉션을 차단할 수 있으므로 SSL/TLS(예: HTTPS, 암호화된 웹 브라우징)는 이러한 문제의 해결책 중 하나입니다. 하지만 이러한 SSL/TLS 세션이 완전히 설정되기 전에 악성 하트비트 메시지를 보낼 수 있습니다.

공격자는 공용 네트워크에 접속하여 잠재적인 피해자를 몰래 지켜볼 수 있습니다. 잠재적 피해자가 취약한 클라이언트를 사용하여 합법적인 서버와의 SSL/TLS 연결을 설정할 경우 공격자는 해당 연결을 악성 서버로 리디렉션합니다. SSL/TLS 연결이 완전히 설정되어 리디렉션을 차단하기 전까지 공격자는 악성 하트비트 메시지를 보내 피해자 시스템의 메모리에서 컨텐트를 유출시킵니다. 여기에는 인증 정보와 같은 개인 데이터가 포함될 수도 있습니다. 

Heartbleed-3486810-fig2.png

그림 2. 공격자가 공개된 공유 네트워크에서 하이재킹하여 취약한 클라이언트를 리디렉션하는 방법

앞서 전달한 지침과 함께 아래의 권장 사항도 따르는 것이 좋습니다.

  • 클라이언트 소프트웨어에서 미확인 도메인을 방문하지 마십시오. 이 도메인이 취약한 OpenSSL 라이브러리를 사용하여 하트비트 메시지를 수락할 수 있습니다.
  • 패치가 적용되지 않은 프록시 서비스의 이용을 중지하십시오.
  • 벤더에서 패치를 제공하는 대로 소프트웨어와 하드웨어를 업데이트하십시오.
  • 공개 네트워크에 접속할 때는 Heartbleed에 취약하지 않은 것으로 확인된 VPN 클라이언트와 서비스를 이용하십시오.

Statistics
0 Favorited
0 Views
0 Files
0 Shares
0 Downloads

Tags and Keywords

Related Entries and Links

No Related Resource entered.