Mozilla์์ ๊ฐ๋ฐํ ์ํธํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ NSS(๋คํธ์ํฌ ๋ณด์ ์๋น์ค) ์ธํธ์์ ์ฌ๊ฐํ ์ทจ์ฝ์ (CVE-2021-43527)์ด ํ์ธ๋์์ต๋๋ค. ์ด๋ ๋ค์์ ์ฌ์ฉํ์ฌ ์ง์ ๋ DSA ๋๋ RSA-PSS ๋์งํธ ์๋ช ์ ์ฒ๋ฆฌํ ๋ ๊ณต๊ฒฉ์ ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค. DER ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ(๊ณ ์ ์ธ์ฝ๋ฉ ๊ท์น). ์ฝ๋๋ช BigSig๋ผ๋ ์ด ๋ฌธ์ ๋ NSS 3.73 ๋ฐ NSS ESR 3.68.1์์ ํด๊ฒฐ๋์์ต๋๋ค. ๋ฐฐํฌํ์ ํจํค์ง ์ ๋ฐ์ดํธ๋ Debian, RHEL, Ubuntu, SUSE, Arch Linux, Gentoo, FreeBSD์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์ง Fedora์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ NSS๋ฅผ ์ฌ์ฉํ์ฌ CMS, S/MIME, PKCS #7 ๋ฐ PKCS #12 ๋์งํธ ์๋ช ์ ์ฒ๋ฆฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ํ๊ฑฐ๋ TLS, X.509, OCSP ๋ฐ CRL ๊ตฌํ์์ ์ธ์ฆ์๋ฅผ ํ์ธํ ๋ ๋ฐ์ํฉ๋๋ค. ์ทจ์ฝ์ ์ TLS, DTLS ๋ฐ S/MIME์ ์ง์ํ๋ ๋ค์ํ ํด๋ผ์ด์ธํธ ๋ฐ ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ , ์ด๋ฉ์ผ ํด๋ผ์ด์ธํธ ๋ฐ NSS CERT_VerifyCertificate() ํธ์ถ์ ์ฌ์ฉํ์ฌ ๋์งํธ ์๋ช ์ ํ์ธํ๋ PDF ๋ทฐ์ด์ ๋ํ๋ ์ ์์ต๋๋ค.
LibreOffice, Evolution ๋ฐ Evince๋ ์ทจ์ฝํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ก ์ธ๊ธ๋ฉ๋๋ค. ์ ์ฌ์ ์ผ๋ก ์ด ๋ฌธ์ ๋ Pidgin, Apache OpenOffice, Suricata, Curl, Chrony, Red Hat Directory Server, Red Hat Certificate System, Apache http ์๋ฒ์ฉ mod_nss, Oracle Communications Messaging Server, Oracle Directory Server Enterprise Edition๊ณผ ๊ฐ์ ํ๋ก์ ํธ์๋ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฒ์ฆ์ ์ํด NSS์๋ ํฌํจ๋ ๋ณ๋์ mozilla::pkix ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ Firefox, Thunderbird ๋ฐ Tor ๋ธ๋ผ์ฐ์ ์์๋ ์ทจ์ฝ์ ์ด ๋ํ๋์ง ์์ต๋๋ค. 2015๋ ๊น์ง NSS๋ฅผ ์ฌ์ฉํ์ง๋ง ์ดํ BoringSSL๋ก ์ ํํ Chromium ๊ธฐ๋ฐ ๋ธ๋ผ์ฐ์ (NSS๋ก ํน๋ณํ ๊ตฌ์ถ๋์ง ์์ ๊ฒฝ์ฐ)๋ ์ด ๋ฌธ์ ์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
ํด๋น ์ทจ์ฝ์ ์ secvfy.c ํ์ผ์ vfy_CreateContext ํจ์์ ์๋ ์ธ์ฆ์ ํ์ธ ์ฝ๋ ์ค๋ฅ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์์ ์ธ์ฆ์๋ฅผ ์ฝ์ ๋์ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ ์ธ์ฆ์๋ฅผ ์ฒ๋ฆฌํ ๋ ๋ชจ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. DER๋ก ์ธ์ฝ๋ฉ๋ ๋์งํธ ์๋ช ์ ํ์ธํ ๋ NSS๋ ์๋ช ์ ๊ณ ์ ํฌ๊ธฐ ๋ฒํผ๋ก ๋์ฝ๋ฉํ๊ณ ํด๋น ๋ฒํผ๋ฅผ PKCS #11 ๋ชจ๋์ ์ ๋ฌํฉ๋๋ค. ์ถ๊ฐ ์ฒ๋ฆฌ ์ค์ DSA ๋ฐ RSA-PSS ์๋ช ์ ๋ํ ํฌ๊ธฐ๊ฐ ์๋ชป ํ์ธ๋์ด ๋์งํธ ์๋ช ์ ํฌ๊ธฐ๊ฐ 16384๋นํธ๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ VFYContextStr ๊ตฌ์กฐ์ ํ ๋น๋ ๋ฒํผ์ ์ค๋ฒํ๋ก๊ฐ ๋ฐ์ํฉ๋๋ค(2048๋ฐ์ดํธ๊ฐ ๋ฒํผ์ ํ ๋น๋์ง๋ง ์๋ช ์ด ๋ ํด ์ ์๋์ง๋ ํ์ธ๋์ง ์์ต๋๋ค)).
์ทจ์ฝ์ ์ด ํฌํจ๋ ์ฝ๋๋ 2003๋ ๊น์ง ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ ์ ์์ง๋ง 2012๋ ๋ฆฌํฉํ ๋ง์ด ์ํ๋ ๋๊น์ง๋ ์ํ์ด ๋์ง ์์์ต๋๋ค. 2017๋ ์๋ RSA-PSS ์ง์์ ๊ตฌํํ ๋ ๊ฐ์ ์ค์๊ฐ ์์์ต๋๋ค. ๊ณต๊ฒฉ์ ์ํํ๊ธฐ ์ํด ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ป๊ธฐ ์ํด ํน์ ํค์ ๋ฆฌ์์ค ์ง์ฝ์ ์ธ ์์ฑ์ด ํ์ํ์ง ์์ต๋๋ค. ๋์งํธ ์๋ช ์ ์ ํ์ฑ์ ํ์ธํ๊ธฐ ์ ๋จ๊ณ์์ ์ค๋ฒํ๋ก๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ฒฝ๊ณ๋ฅผ ๋๋ ๋ฐ์ดํฐ ๋ถ๋ถ์ ํจ์์ ๋ํ ํฌ์ธํฐ๊ฐ ํฌํจ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ธฐ๋ก๋๋ฏ๋ก ์์ ์ต์คํ๋ก์ ์์ฑ์ด ๋จ์ํ๋ฉ๋๋ค.
์ด ์ทจ์ฝ์ ์ Google Project Zero์ ์ฐ๊ตฌ์๋ค์ด ์๋ก์ด ํผ์ง ํ ์คํธ ๋ฐฉ๋ฒ์ ์คํํ๋ ๋์ ๋ฐ๊ฒฌํ์ผ๋ฉฐ ๋๋ฆฌ ํ ์คํธ๋ ์ ์๋ ค์ง ํ๋ก์ ํธ์์ ์ฌ์ํ ์ทจ์ฝ์ ์ด ์ด๋ป๊ฒ ์ค๋ซ๋์ ๊ฐ์ง๋์ง ์์ ์ ์๋์ง๋ฅผ ์ ๋ณด์ฌ์ค๋๋ค.
- NSS ์ฝ๋๋ ์ต์ฒจ๋จ ํ ์คํธ ๋ฐ ์ค๋ฅ ๋ถ์ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์๋ จ๋ ๋ณด์ ํ์ ์ํด ์ ์ง ๊ด๋ฆฌ๋ฉ๋๋ค. NSS์ ์ทจ์ฝ์ ์ ์๋ณํ๋ฉด ์๋นํ ๋ณด์์ ์ ๊ณตํ๋ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ด ๋ง๋ จ๋์ด ์์ต๋๋ค.
- NSS๋ Google์ oss-fuzz ์ด๋์ ํฐ๋ธ์ ์ฐธ์ฌํ ์ต์ด์ ํ๋ก์ ํธ ์ค ํ๋์์ผ๋ฉฐ Mozilla์ libFuzzer ๊ธฐ๋ฐ ํผ์ง ํ ์คํธ ์์คํ ์์๋ ํ ์คํธ๋์์ต๋๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋๋ 2008๋ ๋ถํฐ Coverity ์๋น์ค์ ์ํด ๋ชจ๋ํฐ๋ง๋๋ ๊ฒ์ ํฌํจํ์ฌ ๋ค์ํ ์ ์ ๋ถ์๊ธฐ์์ ์ฌ๋ฌ ๋ฒ ํ์ธ๋์์ต๋๋ค.
- 2015๋ ๊น์ง NSS๋ Google Chrome์์ ์ฌ์ฉ๋์์ผ๋ฉฐ Mozilla์๋ ๋ณ๊ฐ๋ก Google ํ์์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฒ์ฆ๋์์ต๋๋ค(2015๋ ๋ถํฐ Chrome์ BoringSSL๋ก ์ ํํ์ง๋ง NSS ๊ธฐ๋ฐ ํฌํธ์ ๋ํ ์ง์์ ๊ทธ๋๋ก ์ ์ง๋ฉ๋๋ค).
๋ฌธ์ ๊ฐ ์ค๋ซ๋์ ๊ฐ์ง๋์ง ์์ ์ฃผ์ ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- NSS ๋ชจ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํผ์ง ํ ์คํธ๋ ์ ์ฒด์ ์ผ๋ก ์ํ๋์ง ์๊ณ ๊ฐ๋ณ ๊ตฌ์ฑ ์์ ์์ค์์ ์ํ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด, DER์ ๋์ฝ๋ฉํ๊ณ ์ธ์ฆ์๋ฅผ ์ฒ๋ฆฌํ๋ ์ฝ๋๋ ๋ณ๋๋ก ๊ฒ์ฌ๋์์ต๋๋ค. ํผ์ง ์ค์ ๋ฌธ์ ์ ์ทจ์ฝ์ ์ ๋ฐํ์ํค๋ ์ธ์ฆ์๋ฅผ ์ป์ ์ ์์์ง๋ง ํด๋น ๊ฒ์ฌ๊ฐ ํ์ธ ์ฝ๋์ ๋๋ฌํ์ง ๋ชปํ๊ณ ๋ฌธ์ ๋ ๋ฐ์ํ์ง ์์์ต๋๋ค. ๊ทธ ์์ฒด๋ฅผ ๊ณต๊ฐํฉ๋๋ค.
- ํผ์ง ํ ์คํธ ์ค์๋ NSS์ ์ ์ฌํ ์ ํ์ด ์๋ ๊ฒฝ์ฐ ์ถ๋ ฅ ํฌ๊ธฐ(10000๋ฐ์ดํธ)์ ์๊ฒฉํ ์ ํ์ด ์ค์ ๋์์ต๋๋ค(์ผ๋ฐ ๋ชจ๋์ ๋ง์ ๊ตฌ์กฐ๋ ํฌ๊ธฐ๊ฐ 10000๋ฐ์ดํธ๋ฅผ ์ด๊ณผํ ์ ์์ผ๋ฏ๋ก ๋ฌธ์ ๋ฅผ ์๋ณํ๋ ค๋ฉด ๋ ๋ง์ ์ ๋ ฅ ๋ฐ์ดํฐ๊ฐ ํ์ํจ). . ์ ์ฒด ํ์ธ์ ์ํด์๋ ์ ํ์ด 224-1๋ฐ์ดํธ(16MB)์ฌ์ผ ํ๋ฉฐ ์ด๋ TLS์์ ํ์ฉ๋๋ ์ต๋ ์ธ์ฆ์ ํฌ๊ธฐ์ ํด๋นํฉ๋๋ค.
- ํผ์ฆ ํ ์คํธ ์ฝ๋ ์ ์ฉ ๋ฒ์์ ๋ํ ์คํด. ์ทจ์ฝํ ์ฝ๋๋ฅผ ์ ๊ทน์ ์ผ๋ก ํ ์คํธํ์ง๋ง ํ์ํ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ์ ์๋ ํผ์ ๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์๋ฅผ ๋ค์ด fuzzer tls_server_target์ ๋ฏธ๋ฆฌ ์ ์๋ ๊ธฐ์ฑ ์ธ์ฆ์ ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆ์ ํ์ธ ์ฝ๋ ํ์ธ์ TLS ๋ฉ์์ง ๋ฐ ํ๋กํ ์ฝ ์ํ ๋ณ๊ฒฝ์ผ๋ก๋ง ์ ํํ์ต๋๋ค.
์ถ์ฒ : opennet.ru