기타 Hacker News · 2일 전

보안 취약점 잡고 속도까지 3배 빨라졌다는 신형 WebP 디코더 공개

핵심 요약
  • 기존 libwebp의 보안 취약점을 해결하기 위해 Rust 기반으로 작성된 신규 WebP 디코더 'wpd'가 공개되었습니다.
  • 메모리 안전성을 확보했을 뿐만 아니라 벤치마크 결과 멀티스레드 환경에서 최대 3.19배 빠른 성능을 기록했습니다.
  • BSD 2-Clause 오픈소스 라이선스로 무료 배포되며 향후 사이버 보안 기업들과의 협력을 추진할 계획입니다.
요약 개발사 Halide Compression에서 기존 구글의 C 언어 기반 WebP 디코더인 libwebp를 대체하기 위해 Rust 언어로 개발된 오픈소스 WebP 디코더 'wpd'를 공개했습니다. 이미지 디코더는 운영체제(OS)부터 샌드박스 처리된 웹 브라우저까지 온갖 소프트웨어에서 신뢰할 수 없는 외부 데이터를 직접 처리하는 특성상 메모리 안전성 결함에 매우 취약합니다. 실제로 2023년 발생한 libwebp 취약점(CVE-2023-4863)은 크롬, 파이어폭스, 시그널, MS 팀즈 등 수십억 대의 기기에 치명적인 보안 위협이 되었으며, CISA의 악용 취약점 목록에도 등재된 바 있습니다. 크로미움 개발진에 따르면 고위험 보안 버그의 약 70%가 이러한 메모리 안전성 문제에서 비롯됩니다. wpd는 이 문제를 해결하기 위해 Rust 언어로 작성되어 검증 가능한 메모리 안전성을 확보했습니다. 성능 확보를 위해 일부 루틴에 손으로 직접 작성한 어셈블리(SIMD)를 도입했으나, 이를 비활성화하고 컴파일하더라도 신뢰성이 검증된 zerocopy 크레이트 외에는 메모리 안전성이 유지되도록 설계되었습니다. 또한 벤치마크 결과에 따르면 안전성뿐만 아니라 속도 면에서도 libwebp를 압도합니다. 단일 스레드 기준 손실 압축은 1.19배, 무손실 압축은 2.74배 빠르며, 멀티스레드 환경에서는 병렬 애니메이션 디코딩 덕분에 손실 압축 2.68배, 무손실 압축은 3.19배까지 빠른 성능을 기록했습니다. wpd는 BSD 2-Clause 라이선스로 무료 배포되며, 향후 사이버 보안 기업들과 협력해 글로벌 소프트웨어의 보안을 강화해 나갈 계획입니다.
Sponsored · 광고