요약:
오픈 소스 암호화 소프트웨어 프로젝트인 LibreSSL은 2026년 10월 22일에 공식 버전 4.4.0을 출시했습니다. 이는 4.4.x 시리즈의 첫 번째 안정 릴리스이며 OpenBSD 8.0과 함께 제공됩니다. 새 버전은 보안 위험이 있는 eMudhra 루트 인증서 제거, SHA-3 알고리즘의 실행 효율성 최적화, TLS, DTLS 및 X.509 인증서 처리 시 발생하는 여러 문제 해결에 중점을 두고 다양한 보안 수정, 성능 개선 및 플랫폼 호환성 업데이트를 제공합니다.

자세히 알아보기:
https://www.libressl.org/
원래 OpenBSD 프로젝트에서 출시된 LibreSSL은 보안과 코드 단순성에 초점을 맞춘 암호화된 통신 소프트웨어 라이브러리입니다. OpenSSL 코드에서 파생되었지만 개발 과정에서 일부 오래된 인터페이스와 복잡한 기능이 점차 제거되고 보안, 유지 관리성 및 최신 암호화 프로토콜을 위해 지속적인 조정이 이루어집니다. LibreSSL은 OpenBSD의 암호화 기반을 제공할 뿐만 아니라 Linux, FreeBSD, NetBSD, macOS 및 Windows와 같은 다양한 운영 체제에서 실행할 수 있는 이식 가능한 버전도 제공합니다.버전 4.4.0의 가장 중요한 변경 사항 중 하나는 기본 신뢰할 수 있는 루트 인증서 세트의 조정입니다. 개발 팀은 인증서 시스템의 일부 하위 인증 기관이 강도가 부족한 키를 사용했기 때문에 eMudhra의 emSign ECC 루트 CA - G3 루트 인증서를 기본 cert.pem 인증서 파일에서 제거했습니다. 호환성상의 이유로 개발자는 영향을 받지 않는 중간 인증서도 추가했습니다.
이 조정에는 HTTPS 연결의 인증서 신뢰 메커니즘이 포함됩니다. 브라우저, 운영 체제 및 암호화 소프트웨어는 일반적으로 신뢰할 수 있는 루트 인증서를 사용하여 웹사이트 인증서가 신뢰할 수 있는 조직에서 발급되었는지 여부를 확인합니다. 인증서 시스템에 키 강도 부족과 같은 보안 문제가 있는 경우 공격자는 약점을 이용하여 인증서를 위조하거나 일부 신뢰 검사를 우회하려고 시도할 수 있습니다. 따라서 위험한 루트 인증서를 제거하면 관련 보안 위험을 줄이는 데 도움이 될 수 있습니다.
개발팀에서는 업그레이드 시 로컬 인증서 파일을 확인해야 함을 특별히 상기시켜 드립니다. 기존 cert.pem, openssl.cnf 및 x509v3.cnf 파일은 LibreSSL을 다시 설치할 때 더 이상 자동으로 덮어쓰이지 않으므로 패키지 관리자가 구성 병합을 자동으로 처리하지 않는 경우 사용자는 인증서 변경 사항을 수동으로 확인하고 병합해야 할 수 있습니다. 개발팀에서는 루트 인증서 항목 "CN=emSign ECC Root CA - G3"이 더 이상 cert.pem에 포함되어 있지 않은지 확인할 것을 권장합니다.
성능 측면에서 LibreSSL 4.4.0은 SHA-3 알고리즘의 구현을 개선하고 언롤링 루프 및 인터리브 처리와 같은 최적화 방법을 채택하여 관련 계산의 실행 효율성을 향상시킵니다. SHA-3은 데이터 무결성 확인, 디지털 서명 및 기타 보안 프로토콜에 사용할 수 있는 암호화 해시 알고리즘입니다. 이번 개선은 주로 알고리즘 구현 자체를 목표로 합니다. 실제 성능 향상은 프로세서 아키텍처, 컴파일러 및 특정 작업 부하에 의해 영향을 받습니다.
새 버전은 또한 여러 플랫폼에서 컴파일 및 런타임 호환성을 향상시킵니다. macOS 측에서는 netcat(nc) 네트워크 기능 관련 문제가 수정되었으며, macOS 27.0에 대한 빌드 지원이 추가되었습니다. Windows 환경에서 개발팀은 상수 시간 대정수 산술 코드에서 오류 코드를 생성하는 ARM64 최적화 프로그램을 포함하여 MSVC 컴파일러의 일부 문제를 해결했으며 Windows 호환성 계층의 네트워크 연결, 파일 읽기 및 쓰기, 스레드 동기화도 개선했습니다.
Linux 및 기타 Unix 계열 시스템의 경우 새 버전은 AArch64 플랫폼에서 SHA 어셈블리 지원을 개선하고 RISC-V, MIPS 및 기타 아키텍처에 대한 어셈블리 구현 구성을 추가하거나 개선합니다. 또한 CMake 빌드 시스템은 이제 Autotools 빌드 방법과 일치하는 컴파일러 및 링커 보안 완화 옵션을 사용하여 보안 강화 측면에서 다양한 빌드 프로세스에서 생성된 소프트웨어를 보다 일관되게 만듭니다.
LibreSSL 4.4.0에는 TLS 및 DTLS 프로토콜 구현 측면에서 여러 가지 수정 사항도 포함되어 있습니다. 개발팀은 양측이 상호 지원하는 암호화 그룹이 없는 경우 TLS 1.3 서버의 처리 로직을 개선하고 핸드셰이크 프로세스의 일부 문제를 수정했습니다. DTLS 관련 개선 사항에는 핸드셰이크 메시지 처리, 시퀀스 번호 기록 및 데이터 큐가 포함되며, 연결 안정성과 프로토콜 처리의 일관성을 향상시키는 것을 목표로 합니다.
X.509 인증서 확인은 업데이트의 또 다른 중요한 영역입니다. 새 버전은 IPv6 주소 리터럴을 올바르게 처리하고 특별히 구성된 사용자 정보가 호스트 이름 확인을 우회하지 못하도록 방지하는 등 인증서 이름 제약 조건의 URI 호스트 이름 확인 문제를 수정합니다. 또한 개발팀은 인증서 구문 분석 및 확인 프로세스에서 보안 위험을 더욱 줄이기 위해 인증서 체인 확인, 이메일 주소, 주체 이름 확인 등의 로직도 개선했습니다.
LibreSSL 4.4.0은 또한 범위를 벗어난 쓰기, 범위를 벗어난 읽기, 널 포인터 액세스 및 일부 버퍼의 잘못된 메모리 릴리스를 포함하여 메모리 안전 문제를 일으킬 수 있는 여러 가지 결함을 수정합니다. 또한 개발팀은 프로그램이 실패 후 적절하게 초기화되지 않은 데이터를 계속 사용하는 것을 방지하기 위해 일부 암호화 작업의 오류 처리 메커니즘을 조정했습니다.
호환성 측면에서 새 버전은 libtls의 TLS 1.3 기본 키 교환 그룹을 X25519MLKEM768로 조정합니다. 이 조합은 TLS 연결을 위한 미래 보장형 양자 보안 기능을 제공하는 것을 목표로 기존 타원 곡선 키 교환 X25519와 포스트 양자 키 캡슐화 메커니즘 ML-KEM을 결합합니다. 이는 LibreSSL을 사용하는 모든 애플리케이션이 자동으로 동일한 구성을 활성화한다는 의미는 아니며, 특정 동작은 여전히 애플리케이션이 libtls를 호출하는 방식과 해당 연결 설정에 따라 달라집니다.
또한 개발 팀은 오해의 소지가 있는 이름인 tls_peer_cert_chain_pem()을 가진 인증서 체인 인터페이스를 더 이상 사용하지 않으며, 대신 개발자에게 tls_peer_cert_chain_verified_pem() 또는 tls_peer_cert_bundle_unverified_pem()과 같은 인터페이스를 사용하여 확인된 인증서 체인 데이터와 확인되지 않은 인증서 체인 데이터를 보다 명확하게 구분할 것을 권장했습니다. 또한 프로젝트는 더 이상 필요하지 않은 프로토콜 처리 논리와 레거시 인터페이스를 제거하여 오래된 코드를 계속 정리하고 있습니다.
LibreSSL 프로젝트는 새 버전이 코드 보안, 신뢰성 및 이식성을 지속적으로 개선한다는 목표를 이어가고 있으며 커뮤니티가 지속적으로 피드백과 개선 제안을 제출하는 것을 환영한다고 밝혔습니다. 시스템 유지관리자 및 소프트웨어 개발자에게 4.4.0은 일반 버전 업그레이드일 뿐만 아니라 주의가 필요한 인증서 신뢰 변경 사항 및 보안 수정 사항도 포함되어 있습니다.
일반적으로 LibreSSL 4.4.0의 초점은 새로운 암호화 알고리즘을 도입하는 것이 아니라 기존 암호화 인프라를 더욱 강화하고 일반적으로 사용되는 알고리즘의 성능을 최적화하며 다양한 운영 체제 및 프로세서 아키텍처에서의 호환성을 향상시키는 것입니다. TLS 연결 설정, 인증서 확인 또는 암호화된 데이터 처리를 위해 LibreSSL을 사용하는 소프트웨어 프로젝트의 경우 업그레이드하기 전에 인터페이스 호환성과 로컬 인증서 구성을 확인하고 자체 환경에 따라 테스트 및 배포를 준비해야 합니다.
댓글