상세 컨텐츠

본문 제목

OpenSSL, 치명적인 서비스 거부 및 인증서 검증 취약점 수정

국내외 보안동향

by 알약4 2021. 3. 26. 09:00

본문

 

 

OpenSSL fixes severe DoS, certificate validation vulnerabilities

 

OpenSSL 프로젝트가 OpenSSL 제품에 숨어있는 심각도 높은 취약점 2개인 CVE-2021-3449, CVE-2021-3450에 대한 보안 권고를 발행했습니다.

 

OpenSSL은 보안 통신을 설정해야 하는 네트워킹 애플리케이션 및 서버를 빌드하는데 흔히 사용되는 소프트웨어 라이브러리입니다.

 

해당 취약점은 아래와 같습니다.

 

CVE-2021-3449: NULL 포인터 역참조로 인한 서비스 거부 취약점으로 OpenSSL 클라이언트가 아닌 서버 인스턴스에만 영향을 미침

CVE-2021-3450: 부적절한 인증 기관(CA) 인증서 검증 취약점으로 서버, 클라이언트 인스턴스 모두에 영향을 미침

 

단 한 줄로 수정된 DoS 취약점

 

OpenSSL TLS 서버 내 DoS 취약점(CVE-2021-3449)으로 인해 서버는 핸드셰이크 재협상 과정에서 클라이언트가 악성 ClientHello 메시지를 보내는 경우 충돌을 일으킬 수 있습니다.

 

“TLSv1.2 재협상 ClientHello는 signature_algorithms 확장을 생략하지만 signature_algorithms_cert 확장을 포함할 경우 NULL 포인터 역참조가 발생하여 충돌 및 서비스 거부 공격이 발생합니다.”

 

이 취약점은 TLSv1.2와 재협상이 활성화된 1.1.1 및 1.1.1j 버전을 실행하는 OpenSSL 서버에만 영향을 미칩니다.

 

그러나 이 OpenSSL 서버 버전이 기본 구성이기 때문에, 활성화된 많은 서버들이 잠재적으로 취약할 수 있습니다. OpenSSL 클라이언트는 이 취약점에 영향을 받지 않습니다.

 

다행히도 DoS 취약점은 peer_sigalgslen0으로 수정하는 것으로 해결됐습니다. 

 

 

<이미지 출처 : https://github.com/openssl/openssl/commit/fb9fa6b51defd48157eeb207f52181f735d96148>

<DoS, CVE-2021-3449로 이어지는 NULL 포인터 이슈를 수정>

 

  

 CA 인증서는 다른 인증서를 발행할 수 없어야 합니다.

 

인증 기관(CA) 인증서 검사 우회 취약점인 CVE-2021-3450X509_V_FLAG_X509_STRICT 플래그와 관련이 있습니다.

 

해당 플래그는 OpenSSL에서 손상된 인증서를 사용할 수 없도록 하고, X509 규칙을 통해 인증서를 엄격히 인증하는데 사용됩니다.

 

하지만 회귀 취약점으로 인하여 해당 버전에서 플래그가 기본적으로 설정되지 않기 때문에 OpenSSL 버전 1.1.1h 및 이후 버전 (수정된 버전인 1.1.1k 버전은 제외)은 이 문제에 취약합니다.

 

더욱 더 엄격한 검사를 위해 OpenSSL 버전 1.1.1h 부터 명시적으로 인코딩된 타원 곡선 파라미터가 있는 체인 내 인증서를 허용하지 않는 검사가 추가되었습니다. 이 검사의 구현 오류는 체인에 있는 인증서가 유효한 CA의 인증서인지 확인하는 검사 결과가 오버라이트(Overwrite) 되었음을 의미합니다."

 

이는 OpenSSL 인스턴스가 비 CA 인증서가 다른 인증서의 발급자가 아니어야 한다는 것을 확인하는데 실패한다는 의미이므로, 공격자가 이를 악용할 가능성이 있습니다.

 

이 두 취약점은 OpenSSL 1.0.2 버전에도 영향을 주지 않습니다.

 

두 취약점은 OpenSSL 1.1.1k에서 모두 수정되었으며, 사용자는 해당 버전으로 업그레이드하여 인스턴스를 보호할 것을 권장합니다.

 

 

 

 

 

출처:

https://www.bleepingcomputer.com/news/security/openssl-fixes-severe-dos-certificate-validation-vulnerabilities/

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

https://github.com/openssl/openssl/commit/fb9fa6b51defd48157eeb207f52181f735d96148

 

관련글 더보기

댓글 영역