์ฃผ๋น 3๋ง ๊ฑด์ด ๋๋ ๋ค์ด๋ก๋๋ฅผ ๊ธฐ๋กํ๋ pac-resolver NPM ํจํค์ง์๋ Node.js ํ๋ก์ ํธ์์ HTTP ์์ฒญ์ ๋ณด๋ผ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปจํ ์คํธ์์ JavaScript ์ฝ๋๊ฐ ์คํ๋ ์ ์๋ ์ทจ์ฝ์ (CVE-2021-23406)์ด ์์ต๋๋ค. ํ๋ก์ ์๋ฒ ์๋ ๊ตฌ์ฑ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
pac-resolver ํจํค์ง๋ ์๋ ํ๋ก์ ๊ตฌ์ฑ ์คํฌ๋ฆฝํธ๊ฐ ํฌํจ๋ PAC ํ์ผ์ ๊ตฌ๋ฌธ ๋ถ์ํฉ๋๋ค. PAC ํ์ผ์๋ ํธ์คํธ ๋ฐ ์์ฒญ๋ URL์ ๋ฐ๋ผ ํ๋ก์๋ฅผ ์ ํํ๋ ๋ ผ๋ฆฌ๋ฅผ ์ ์ํ๋ FindProxyForURL ํจ์๊ฐ ์๋ ์ผ๋ฐ JavaScript ์ฝ๋๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ทจ์ฝ์ ์ ๋ณธ์ง์ ์ด JavaScript ์ฝ๋๋ฅผ pac-resolver์์ ์คํํ๊ธฐ ์ํด Node.js์์ ์ ๊ณตํ๋ VM API๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด V8 ์์ง์ ๋ค๋ฅธ ์ปจํ ์คํธ์์ JavaScript ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
์ง์ ๋ API๋ ์คํ ์ค์ธ ์ฝ๋๋ฅผ ์์ ํ ๊ฒฉ๋ฆฌํ์ง ์๊ณ ์๋ ์ปจํ ์คํธ์ ๋ํ ์ก์ธ์ค๋ฅผ ํ์ฉํ๋ฏ๋ก ์ ๋ขฐํ ์ ์๋ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ํ ๊ฒ์ด ์๋๋ผ๊ณ ๋ฌธ์์ ๋ช ์์ ์ผ๋ก ํ์๋์ด ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ ์ ๋ขฐํ ์ ์๋ ์ฝ๋ ์คํ์ ์ ํฉํ ๋ ๋์ ์์ค์ ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ vm5.0.0 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ก ์ด๋๋ pac-resolver 2์์ ํด๊ฒฐ๋์์ต๋๋ค.
์ทจ์ฝํ ๋ฒ์ ์ pac-resolver๋ฅผ ์ฌ์ฉํ ๋ ๊ณต๊ฒฉ์๋ ํน๋ณํ ์ค๊ณ๋ PAC ํ์ผ ์ ์ก์ ํตํด Node.js๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์ ํธ ์ฝ๋์ ์ปจํ ์คํธ์์ JavaScript ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค(์ด ํ๋ก์ ํธ๊ฐ ์ข ์์ฑ์ด ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ). pac-resolver๋ก. ๋ฌธ์ ๊ฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ Proxy-Agent๋ก, urllib, aws-cdk, mailgun.js ๋ฐ firebase-tools๋ฅผ ํฌํจํ 360๊ฐ ํ๋ก์ ํธ์ ๋ํ ์ข ์์ฑ์ผ๋ก ๋์ด๋์ด ์์ผ๋ฉฐ ์ฃผ๋น ์ด XNUMX๋ฐฑ๋ง ๊ฑด ์ด์์ ๋ค์ด๋ก๋๋ฅผ ๊ธฐ๋กํ๊ณ ์์ต๋๋ค.
pac-resolver์ ์ข
์๋ ์ ํ๋ฆฌ์ผ์ด์
์ด WPAD ํ๋ก์ ์๋ ๊ตฌ์ฑ ํ๋กํ ์ฝ์ ์ง์ํ๋ ์์คํ
์์ ์ ๊ณตํ๋ PAC ํ์ผ์ ๋ก๋ํ๋ ๊ฒฝ์ฐ ๋ก์ปฌ ๋คํธ์ํฌ์ ์ก์ธ์คํ ์ ์๋ ๊ณต๊ฒฉ์๋ DHCP๋ฅผ ํตํ ํ๋ก์ ์ค์ ๋ฐฐํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์
์ฑ PAC ํ์ผ์ ์ฝ์
ํ ์ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru