JSP ์ฝ”๋“œ ๋Œ€์ฒด ๋ฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒŒ์ผ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” Apache Tomcat์˜ ์ทจ์•ฝ์ 

์ค‘๊ตญ ํšŒ์‚ฌ์ธ ์ฐจ์ดํ‹ด ํ…Œํฌ(Chaitin Tech)์˜ ์—ฐ๊ตฌ์›๋“ค์€ ์ทจ์•ฝ์  (CVE-2020-1938)์—์„œ Apache Tomcat, Java Servlet, JavaServer Pages, Java Expression Language ๋ฐ Java WebSocket ๊ธฐ์ˆ ์˜ ์˜คํ”ˆ ์†Œ์Šค ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์€ ์ฝ”๋“œ๋ช… Ghostcat๊ณผ ์‹ฌ๊ฐํ•œ ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€(9.8 CVSS)์œผ๋กœ ์ง€์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๊ธฐ๋ณธ ๊ตฌ์„ฑ์—์„œ ๋„คํŠธ์›Œํฌ ํฌํŠธ 8009๋กœ ์š”์ฒญ์„ ์ „์†กํ•˜์—ฌ ์„ค์ • ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ์„ ํฌํ•จํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋ชจ๋“  ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

์ทจ์•ฝ์ ์€ AJP ํ”„๋กœํ† ์ฝœ์— ์กด์žฌํ•˜๋ฉฐ, ํ˜ธ์ถœ๋˜์ง€ ์•Š์€ ๊ตฌํ˜„ ์˜ค๋ฅ˜. HTTP(ํฌํŠธ 8080)๋ฅผ ํ†ตํ•œ ์—ฐ๊ฒฐ ์ˆ˜๋ฝ ์™ธ์—๋„ Apache Tomcat์€ ๊ธฐ๋ณธ์ ์œผ๋กœ AJP ํ”„๋กœํ† ์ฝœ(์•„ํŒŒ์น˜ JServ ํ”„๋กœํ† ์ฝœ, ํฌํŠธ 8009)๋Š” HTTP์™€ ๋™๋“ฑํ•œ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ Tomcat ์„œ๋ฒ„ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ๋˜๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์—์„œ Tomcat๊ณผ์˜ ํ†ต์‹  ์†๋„๋ฅผ ๋†’์ผ ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

AJP๋Š” ๊ณต๊ฐœ ๋Œ€์ƒ์ด ์•„๋‹Œ ํŒŒ์ผ์„ ์–ป๋Š” ๊ฒƒ์„ ํฌํ•จํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„์˜ ํŒŒ์ผ์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. AJP๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„์—๋งŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ Tomcat์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ์€ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ธ์ฆ ์—†์ด ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. WEB-INF, META-INF ๋ฐ ServletContext.getResourceAsStream() ํ˜ธ์ถœ์„ ํ†ตํ•ด ์ œ๊ณต๋œ ๊ธฐํƒ€ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋‚ด์šฉ์„ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒŒ์ผ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AJP๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•ก์„ธ์Šค ๊ฐ€๋Šฅํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์„ JSP ์Šคํฌ๋ฆฝํŠธ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” 13๋…„ ์ „์— ์ถœ์‹œ๋œ Tomcat 6.x ๋ธŒ๋žœ์น˜ ์ดํ›„๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ง์ ‘์ ์ธ Tomcat ๋ฌธ์ œ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์˜ํ–ฅ์„ ๋ฏธ์น˜๋‹ค JWS(Red Hat JBoss Web Server), JBoss Enterprise Application Platform(EAP) ๋ฐ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋…๋ฆฝํ˜• ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ฐ™์ด ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ œํ’ˆ ๋ด„ ๋ถ€ํŒ…. ์œ ์‚ฌํ•œ ์ทจ์•ฝ์ (CVE-2020-1745) ์„ ๋ฌผ ์›น ์„œ๋ฒ„์—์„œ ๋ฌผ๊ฐ€์—์„œ ๋ฌผ๋Ÿฌ๊ฐ€๋Š” ๋ฌผ๊ฒฐWildfly ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. JBoss ๋ฐ Wildfly์—์„œ AJP ํ”„๋กœํ† ์ฝœ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ standalone-full-ha.xml, standalone-ha.xml ๋ฐ domain.xml์˜ ha/full-ha ํ”„๋กœํŒŒ์ผ์—์„œ๋งŒ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. Spring Boot์—์„œ AJP ์ง€์›์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. XNUMX๊ฐœ ์ด์ƒ์˜ ์•…์šฉ ์‚ฌ๋ก€๊ฐ€ ์—ฌ๋Ÿฌ ๊ทธ๋ฃน์—์„œ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค(
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Tomcat ๋ฆด๋ฆฌ์Šค์—์„œ ์ˆ˜์ •๋œ ์ทจ์•ฝ์  9.0.31, 8.5.51 ะธ 7.0.100 (์œ ์ง€๋ณด์ˆ˜ ๋ถ„๊ธฐ 6.x ๋‹จ์ข…). ๋‹ค์Œ ํŽ˜์ด์ง€์—์„œ ๋ฐฐํฌํŒ์˜ ์—…๋ฐ์ดํŠธ ๋ชจ์–‘์„ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ๋น„์•ˆ, Ubuntu, RHEL, ํŽ˜๋„๋ผ, SUSE, FreeBSD์˜. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ Tomcat AJP ์ปค๋„ฅํ„ฐ ์„œ๋น„์Šค๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ˆ˜์‹  ์†Œ์ผ“์„ localhost์— ๋ฐ”์ธ๋”ฉํ•˜๊ฑฐ๋‚˜ ์ปค๋„ฅํ„ฐ ํฌํŠธ = "8009"๋กœ ๋ผ์ธ์„ ์ฃผ์„ ์ฒ˜๋ฆฌ). ะฝะฐัั‚ั€ะพะธั‚ัŒ ์„œ๋น„์Šค๊ฐ€ mod_jk ๋ฐ mod_proxy_ajp(mod_cluster๋Š” ์ธ์ฆ์„ ์ง€์›ํ•˜์ง€ ์•Š์Œ)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค๋ฅธ ์„œ๋ฒ„ ๋ฐ ํ”„๋ก์‹œ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ "๋น„๋ฐ€" ๋ฐ "์ฃผ์†Œ" ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ๋œ ์•ก์„ธ์Šค.

์ถœ์ฒ˜ : opennet.ru

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