상세 컨텐츠

본문 제목

OpenSSL OCSP Status Request Extension취약점(CVE-2016- 6304) 패치!

국내외 보안동향

by 알약(Alyac) 2016. 9. 26. 16:05

본문

OpenSSL OCSP Status Request Extension취약점(CVE-2016- 6304) 패치!


지난주, OpenSSL이 암호화 코드 라이브러리의 취약점 다수를 패치했습니다. 그 중에는 DoS 공격에 악용될 수 있는 높은 위험수준의 취약점인 CVE-2016-6304도 포함되어 있었습니다. 


CVE-2016-6304 취약점은 DoS 공격을 실행하기 위해 타겟 컴퓨터에 연결협상 과정 중 큰 OCSP Status Request Extension을 보내 메모리 고갈을 야기시키는 취약점입니다. 


* OCSP 프로토콜이란?

OCSP (Online Certificate Status Protocol)는 온라인 인증서 상태 프로토콜로 웹 사이트에 첨부된 디지털 인증서의 폐지상태를 파악하기 위해 설계된 프로토콜 입니다.



원리


OpenSSL OCSP Status Request Extension에 존재하는 취약점입니다. 매번 프로토콜 협상 시 OCSP ids 메모리를 할당하도록 하고, 끊임없는 프로토콜 협상을 통하여 서버의 메모리를 지속적으로 소모하도록 하게합니다. 해당 취약점은 디폴트 설정을 사용하는 서버에 영향을 미치며, 심지어 OCSP를 지원하지 않는 서버에도 영향을 미칩니다. 


OpenSSL 1.0.2버전은 ClientHello 길이는 16k, 384바이트로 제한되어 있기 때문에 매번 프로토콜 협상 시 16k 서버 메모리만을 소모합니다. 하지만 최신버전인 1.1.0버전 중에서는 Client Hello 길이값의 제한이 131,396 바이트로 늘어났기 때문에, 1.1.0 버전의 서버에서 해당 취약점을 악용한다면 한번에 64k의 메모리를 소모하도록 할 수 있습니다. 



영향받는 버전


OpenSSL 0.9.8h ~ 0.9.8v

OpenSSL 1.0.1 ~ 1.0.1t

OpenSSL 1.0.2 ~ 1.0.1h

OpenSSL 1.1.0

Ngix 0.8.23 이전 버전

Apache 2.0 이전버전

SSLInsecureRenegotiation 설정이 on으로 되어 있는경우

모든 버전의 SSL3.0, TLS1.0, TLS1.1, TLS1.2



패치방법


최신버전으로 업데이트

OpenSSL 1.0.1u

OpenSSL 1.0.2i

OpenSSL 1.1.0a



업데이트가 불가능한 경우, 컴파일 옵션을 "no-ocsp" 옵션으로 설정




참고 : 

https://www.openssl.org/news/secadv/20160922.txt

http://security.360.cn/cve/CVE-2016- 6304/


관련글 더보기

댓글 영역