ํ๋ฆฌ์ค ์ปดํผ๋
์๊ฒฉ์ผ๋ก ์
์ฉ ๊ฐ๋ฅํ ์ทจ์ฝ์ ์ libc ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ธ์ฆ ์ฒ๋ฆฌ๊ธฐ์ ๋ํ ํธ์ถ์ ์ ๋ ฌํ๋ ์ค๋ฅ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค.
๋ช
๋ น์ค์์ ์ธ์๋ฅผ ์ ๋ฌํ๋ /usr/libexec/auth/login_style ํ๋ก๊ทธ๋จ. ์ ํ์ ๋งค๊ฐ๋ณ์ "-s service"๋ฅผ ์ฌ์ฉํ์ฌ login_style์ ํธ์ถํ ๋๋ฅผ ํฌํจํ์ฌ ํ๋กํ ์ฝ ์ด๋ฆ ์ ๋ฌ์ด ํ์ฉ๋ฉ๋๋ค. ์ฌ์ฉ์ ์ด๋ฆ ์์ "-" ๋ฌธ์๊ฐ ์ฌ์ฉ๋๋ฉด login_style์ด ์คํ๋ ๋ ์ด ์ด๋ฆ์ด ์ต์
์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ธ์ฆ ์ ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก "-schallenge" ๋๋ "-schallenge: passwd"๋ฅผ ์ง์ ํ๋ฉด login_style์ ์์ฒญ์ ํธ๋ค๋ฌ ์ฌ์ฉ ์์ฒญ์ผ๋ก ์ธ์ํฉ๋๋ค.
๋ฌธ์ ๋ login_style์ S/Key ํ๋กํ ์ฝ์ด ํ์์ ์ผ๋ก๋ง ์ง์๋๊ณ ์ค์ ๋ก๋ ์ธ์ฆ์ฑ๊ณต ์ ํธ ์ถ๋ ฅ๊ณผ ํจ๊ป ๋ฌด์๋๋ค๋ ์ ์ด๋ค. ๋ฐ๋ผ์ ๊ณต๊ฒฉ์๋ "-schallenge" ์ฌ์ฉ์๋ก ๊ฐ์ฅํ์ฌ ์ธ์ฆ์ ์ฐํํ๊ณ ์ํธ๋ ํค๋ฅผ ์ง์ ํ์ง ์๊ณ ์ก์ธ์ค ๊ถํ์ ์ป์ ์ ์์ต๋๋ค. ์ธ์ฆ์ ์ํด ์ผ๋ฐ libc ํธ์ถ์ ์ฌ์ฉํ๋ ๋ชจ๋ ๋คํธ์ํฌ ์๋น์ค๊ฐ ์ ์ฌ์ ์ผ๋ก ๋ฌธ์ ์ ์ํฅ์ ๋ฐ์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ธ์ฆ์ ์ฐํํ๋ ๊ธฐ๋ฅ์ smtpd(AUTH PLAIN), ldapd ๋ฐ radiusd์์ ํ์ธ๋ฉ๋๋ค.
์ทจ์ฝ์ ์ ์์คํ ์์ ์ฌ์ฉ์์ ์กด์ฌ๋ฅผ ํ์ธํ๋ ์ถ๊ฐ ๋ณดํธ ๊ธฐ๋ฅ์ด ์๊ธฐ ๋๋ฌธ์ sshd์์ ์์ฒด์ ์ผ๋ก ๋ํ๋์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ sshd๋ ์์คํ ์ด ์ทจ์ฝ์ฑ์ ์ทจ์ฝํ์ง ํ ์คํธํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ์ฉ์ ์ด๋ฆ "-sresponse:passwd"์ ์ก์ธ์คํ ๋ sshd๊ฐ login_passwd๊ฐ ํธ์ถ(์ฑ๋ฆฐ์ง)์ ๋งค๊ฐ ๋ณ์๋ฅผ ๋ฐํํ ๋๊น์ง ๋๊ธฐํ๊ณ login_passwd๊ฐ ๋๊ธฐํ๋ฏ๋ก ์ฐ๊ฒฐ์ด ์ค๋จ๋ฉ๋๋ค. ๋๋ฝ๋ ๋งค๊ฐ๋ณ์์ ์ ์ก์ ๊ธฐ๋ค๋ฆฝ๋๋ค(์ด๋ฆ "-sresponse"๋ ์ต์ ์ผ๋ก ์ฌ์ฉ๋จ). ์ ์ฌ์ ์ธ ๋ก์ปฌ ๊ณต๊ฒฉ์๋ su ์ ํธ๋ฆฌํฐ์์ ์ธ์ฆ์ ์ฐํํ๋ ค๊ณ ์๋ํ ์ ์์ง๋ง "-sresponse"๋ผ๋ ์ด๋ฆ์ ์ ๋ฌํ๋ฉด getpwnam_r("-schallenge", ...) ํจ์๋ฅผ ์คํํ ๋ null ํฌ์ธํฐ ๋ฐํ์ผ๋ก ์ธํด ํ๋ก์ธ์ค๊ฐ ์ถฉ๋ํฉ๋๋ค. .
๊ธฐํ ์ทจ์ฝ์ :
- CVE-2019-19520 - ๊ทธ๋ฃน์ "auth"๋ก ๋ณ๊ฒฝํ๋ sgid ํ๋๊ทธ์ ํจ๊ป ์ ๊ณต๋๋ xlock ์ ํธ๋ฆฌํฐ ์กฐ์์ ํตํ ๋ก์ปฌ ๊ถํ ์์น. xlock ์ฝ๋์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฒฝ๋ก์ ์ฌ์ ์๋ ์ฌ์ฉ์ ID(setuid)๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ์๋ง ๊ธ์ง๋๋ฉฐ, ์ด๋ ๊ณต๊ฒฉ์๊ฐ ํ๊ฒฝ ๋ณ์ "LIBGL_DRIVERS_PATH"๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ฝ๋๊ฐ ์คํ๋ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ก๋๋ฅผ ๊ตฌ์ฑํ ์ ์๋๋ก ํฉ๋๋ค. "auth" ๊ทธ๋ฃน์ผ๋ก ๊ถํ ์์ค์ปฌ๋ ์ด์ ํ.
- CVE-2019-19522 - ์์คํ ์์ S/Key ๋๋ YubiKey ์ธ์ฆ์ด ํ์ฑํ๋ ๊ฒฝ์ฐ(๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ง ์์) "auth" ๊ทธ๋ฃน์ ๋ก์ปฌ ์ฌ์ฉ์๊ฐ ๋ฃจํธ๋ก ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค. ์์ xlock ์ทจ์ฝ์ ์ ์ ์ฉํ์ฌ ์ก์ธ์คํ ์ ์๋ "auth" ๊ทธ๋ฃน์ ๊ตฌ์ฑ์์ด ๋๋ฉด /etc/skey ๋ฐ /var/db/yubikey ๋๋ ํ ๋ฆฌ์ ํ์ผ์ ์ธ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ณต๊ฒฉ์๋ ์๋ก์ด /etc/skey/root ํ์ผ์ ์ถ๊ฐํ์ฌ S/Key๋ฅผ ํตํ ๋ฃจํธ ์ธ์ฆ์ ์ํ ์ผํ์ฑ ํค๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- CVE-2019-19519 - su ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ ์กฐ์์ ํตํด ๋ฆฌ์์ค ์ ํ์ ๋๋ฆด ์ ์์ต๋๋ค. ์คํจํ ๊ฒฝ์ฐ ์ธ์ฆ ์๋์ ์ฃผ๊ธฐ์ ๋ฐ๋ณต์ ์๋ฏธํ๋ "-L" ์ต์ ์ ์ง์ ํ ๋ ์ฌ์ฉ์ ํด๋์ค๋ ํ ๋ฒ๋ง ์ค์ ๋๋ฉฐ ํ์ ์๋์์ ์ฌ์ค์ ๋์ง ์์ต๋๋ค. ๊ณต๊ฒฉ์๋ ๋ค๋ฅธ ๊ณ์ ํด๋์ค๋ก ๋ค๋ฅธ ์ฌ๋์ ๋ก๊ทธ์ธ์ ์ ๋ ฅํ๋ ค๋ ์ฒซ ๋ฒ์งธ ์๋์์ "su -l -L"์ ์คํํ ์ ์์ง๋ง ๋ ๋ฒ์งธ ์๋์์ ์ฑ๊ณต์ ์ผ๋ก ์์ ์ ์ธ์ฆํ ์ ์์ต๋๋ค. ์ด ์ํฉ์์ ์ฌ์ฉ์๋ ์ฒซ ๋ฒ์งธ ์๋์์ ์ง์ ๋ ์ฌ์ฉ์ ํด๋์ค์ ํด๋นํ๋ ์ ํ์ ์ค์ ํฉ๋๋ค(์: ์ต๋ ํ๋ก์ธ์ค ์ ๋๋ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ). ๋ฃจํธ ์ฌ์ฉ์๊ฐ ํ ๊ทธ๋ฃน์ ์์ด์ผ ํ๋ฏ๋ก ์ด ๋ฐฉ๋ฒ์ ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ก๋ถํฐ ํ๋๋ฅผ ๋น๋ฆด ๋๋ง ์๋ํฉ๋๋ค.
์ถ๊ฐ์ ์ผ๋ก ์ฃผ๋ชฉํ ์ ์๋ ๊ฒ์
์ถ์ฒ : opennet.ru