OpenSSL 라이브러리에서 중대한 보안 취약점이 발견되었습니다. 이 버그는 Heartbleed 로 불리고 있는데요, 이 취약점으로 인해 누구나 OpenSSL 취약점을 내포하고 있는 버전의 시스템으로부터 메모리 정보를 읽어들일 수 있습니다. 이 메모리 정보는 64K바이트 청크 형태로 읽어볼 수 있으며 이 정보로 부터 비밀키도 얻어낼 수 있습니다. 이 뜻은 이 비밀키를 이용하면 암호화된 정보를 볼 수 있다는 것이며 서비스와 사용자 사이에서 모든 정보를 엿볼수가 있게 됩니다. 공식적으로 이 버그는 CVE-2014-0160 입니다.
이번 취약점이 SSL/TLS 프로토콜상의 구조적인 문제는 아닙니다. OpenSSL 라이브러리의 취약점이며 다음과 같은 버전이 영향을 받습니다 :
- OpenSSL 1.0.1 - 1.0.1f 사이의 버전은 취약합니다.
- OpenSSL 1.0.1g 는 취약하지 않습니다.
- OpenSSL 1.0.0 관련 버전은 취약하지 않습니다.
- OpenSSL 0.9.8 관련 버전은 취약하지 않습니다.
현재 많은 버전들이 취약한 버전으로 이용되고 있는 것으로 판단되는 만큼 OpenSSL 을 사용중인 사용자라면 바로 버전 정보를 확인하여 패치하기를 권장합니다. 만약 지금 시점에서 새로운 버전으로 적용이 힘든경우라면 기존 버전을 다음 옵션으로 재 컴파일 해 사용하여 문제를 일시적으로 해결할 수 있습니다.
-DOPENSSL_NO_HEARTBEATS
또한 이 취약점의 또 다른 문제점은 로그상으로 어떤 추적할 만한 정보를 하나도 남기지 않습니다. 즉, 해당 취약점을 통해 악용되었는지 알기 힘들다는 점입니다.
현 시점에서 이 취약점을 이용한 공격이 많이 퍼지고 있는지는 확인하기 어렵지만 OpenSSL 사용자는 빠른 시일내에 패치할 것을 강력히 권고 합니다.
이 취약점의 세부정보는 다음 사이트에서 더 자세히 얻을 수 있습니다.
http://heartbleed.com/
https://www.openssl.org/news/secadv_20140407.txt
중요한 문제이다 보니 급하게 포스팅을 남깁니다.
[참고] OpenSSL 버전 확인 방법
version 옵션을 사용하면 현재 설치되어 있는 OpenSSL 의 버전을 쉽게 확인할 수 있습니다.
# openssl version
OpenSSL 0.9.8y-fips 5 Feb 2013
from Rigel