X.509 ์ธ์ฆ์„œ๋ฅผ ํ™•์ธํ•  ๋•Œ OpenSSL์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ์•…์šฉ๋จ

๋‘ ๊ฐ€์ง€ ์ทจ์•ฝ์ ์„ ์ˆ˜์ •ํ•œ OpenSSL ์•”ํ˜ธํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 3.0.7์˜ ์ˆ˜์ • ๋ฆด๋ฆฌ์Šค๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฌธ์ œ ๋ชจ๋‘ X.509 ์ธ์ฆ์„œ์˜ ์ด๋ฉ”์ผ ํ•„๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฝ”๋“œ์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋ฉฐ ํŠน์ˆ˜ํ•˜๊ฒŒ ํ”„๋ ˆ์ž„๋œ ์ธ์ฆ์„œ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ž ์žฌ์ ์œผ๋กœ ์ฝ”๋“œ ์‹คํ–‰์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ • ์‚ฌํ•ญ์„ ๊ฒŒ์‹œํ•  ๋‹น์‹œ OpenSSL ๊ฐœ๋ฐœ์ž๋Š” ๊ณต๊ฒฉ์ž์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์•…์šฉ ์‚ฌ๋ก€๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ์ฆ๊ฑฐ๋ฅผ ๊ธฐ๋กํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์˜ ์‚ฌ์ „ ๋ฆด๋ฆฌ์Šค ๋ฐœํ‘œ์—์„œ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ์˜ ์กด์žฌ๊ฐ€ ์–ธ๊ธ‰๋˜์—ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์‹ค์ œ๋กœ ๋ฆด๋ฆฌ์Šค๋œ ์—…๋ฐ์ดํŠธ์—์„œ๋Š” ์ทจ์•ฝ์ ์˜ ์ƒํƒœ๊ฐ€ ์œ„ํ—˜ํ•˜์ง€๋งŒ ์‹ฌ๊ฐํ•œ ์ทจ์•ฝ์ ์€ ์•„๋‹Œ ์ˆ˜์ค€์œผ๋กœ ์ถ•์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— ์ฑ„ํƒ๋œ ๊ทœ์น™์— ๋”ฐ๋ผ ๋ฌธ์ œ๊ฐ€ ๋น„์ •ํ˜• ๊ตฌ์„ฑ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๊ฑฐ๋‚˜ ์‹ค์ œ๋กœ ์ทจ์•ฝ์ ์ด ์•…์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์€ ๊ฒฝ์šฐ ์œ„ํ—˜ ์ˆ˜์ค€์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ์กฐ์ง์—์„œ ์ทจ์•ฝ์ ์„ ์ž์„ธํžˆ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ ๋งŽ์€ ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ ๋ณดํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ์˜ํ•ด ์•…์šฉ ์ค‘ ์ฝ”๋“œ ์‹คํ–‰ ๊ธฐ๋Šฅ์ด ์ฐจ๋‹จ๋œ ๊ฒƒ์œผ๋กœ ๊ฒฐ๋ก ๋‚ฌ๊ธฐ ๋•Œ๋ฌธ์— ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€์ด ๋‚ฎ์•„์กŒ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ผ๋ถ€ Linux ๋ฐฐํฌํŒ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ์ธํ•ด ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” 4๋ฐ”์ดํŠธ๊ฐ€ ์•„์ง ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์Šคํƒ์˜ ๋‹ค์Œ ๋ฒ„ํผ์— ๊ฒน์ณ์ง‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™•์ธ๋œ ๋ฌธ์ œ:

  • CVE-2022-3602 - ์ฒ˜์Œ์—๋Š” ์‹ฌ๊ฐํ•œ ๊ฒƒ์œผ๋กœ ์ œ์‹œ๋œ ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•ด X.4 ์ธ์ฆ์„œ์—์„œ ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ์ด๋ฉ”์ผ ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š” ํ•„๋“œ๋ฅผ ํ™•์ธํ•  ๋•Œ 509๋ฐ”์ดํŠธ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. TLS ํด๋ผ์ด์–ธํŠธ์—์„œ๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•  ๋•Œ ์ทจ์•ฝ์ ์ด ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. TLS ์„œ๋ฒ„์—์„œ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•œ ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ทจ์•ฝ์ ์ด ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ทจ์•ฝ์ ์€ ์ธ์ฆ์„œ์™€ ๊ด€๋ จ๋œ ์‹ ๋ขฐ ์ฒด์ธ์„ ๊ฒ€์ฆํ•œ ํ›„ ๋‹จ๊ณ„์—์„œ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์„ ์œ„ํ•ด์„œ๋Š” ์ธ์ฆ ๊ธฐ๊ด€์ด ๊ณต๊ฒฉ์ž์˜ ์•…์„ฑ ์ธ์ฆ์„œ๋ฅผ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • CVE-2022-3786์€ ๋ฌธ์ œ ๋ถ„์„ ์ค‘์— ์‹๋ณ„๋œ CVE-2022-3602 ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋˜ ๋‹ค๋ฅธ ๋ฒกํ„ฐ์ž…๋‹ˆ๋‹ค. ์ฐจ์ด์ ์€ "."์„ ํฌํ•จํ•˜๋Š” ์ž„์˜์˜ ๋ฐ”์ดํŠธ ์ˆ˜๋งŒํผ ์Šคํƒ์˜ ๋ฒ„ํผ๊ฐ€ ์˜ค๋ฒ„ํ”Œ๋กœ๋  ๊ฐ€๋Šฅ์„ฑ์œผ๋กœ ๊ท€๊ฒฐ๋ฉ๋‹ˆ๋‹ค. (์ฆ‰, ๊ณต๊ฒฉ์ž๋Š” ์˜ค๋ฒ„ํ”Œ๋กœ์˜ ๋‚ด์šฉ์„ ์ œ์–ดํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋ฌธ์ œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถฉ๋Œ์„ ์ผ์œผํ‚ค๋Š” ๋ฐ์—๋งŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

์ทจ์•ฝ์ ์€ OpenSSL 3.0.x ๋ถ„๊ธฐ์—๋งŒ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค(๋ฒ„๊ทธ๋Š” 3.0.x ๋ถ„๊ธฐ์— ์ถ”๊ฐ€๋œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ณ€ํ™˜ ์ฝ”๋“œ(punycode)์—์„œ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค). OpenSSL 1.1.1 ๋ฆด๋ฆฌ์Šค์™€ OpenSSL ํฌํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ LibreSSL ๋ฐ BoringSSL์€ ์ด ๋ฌธ์ œ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ๋น„๋ณด์•ˆ ๋ฒ„๊ทธ ์ˆ˜์ •๋งŒ ํฌํ•จ๋œ OpenSSL 1.1.1s ์—…๋ฐ์ดํŠธ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

OpenSSL 3.0 ๋ธŒ๋žœ์น˜๋Š” Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, โ€‹โ€‹โ€‹โ€‹Debian Testing/Unstable๊ณผ ๊ฐ™์€ ๋ฐฐํฌํŒ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ์ž๋Š” ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ์—…๋ฐ์ดํŠธ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค(Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). SUSE Linux Enterprise 15 SP4 ๋ฐ openSUSE Leap 15.4์—์„œ๋Š” OpenSSL 3.0์ด ํฌํ•จ๋œ ํŒจํ‚ค์ง€๋ฅผ ์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹œ์Šคํ…œ ํŒจํ‚ค์ง€๋Š” 1.1.1 ๋ถ„๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Debian 1, Arch Linux, Void Linux, Ubuntu 11, Slackware, ALT Linux, RHEL 20.04, OpenWrt, Alpine Linux 8 ๋ฐ FreeBSD๋Š” OpenSSL 3.16.x ๋ถ„๊ธฐ์— ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€