๐ฅ log4j ์ทจ์ฝ์ (log4shell), ์ด๊ฒ ๋ญ๋ฐ?
๐ ํ ์ค ์์ฝ
- log4j์ผ ์ ์ ์ ๋ง์ ์ ๋ขฐํ์ง ๋ง!
โ
log4j ์ทจ์ฝ์ (log4shell)
โ๏ธ์ฐ๋ฆฌ์ ๋
ธ๋ง๋์ฝ๋, ๋๊ผด๋ผ์ค๊ฐ log4j์ ๋ํด ์์ฃผ ์ฝ๊ณ , ์ดํดํ๊ธฐ ํธํ๊ฒ ์ค๋ช
์ ํด์คฌ์ต๋๋ค. ๋๊ผด๋ผ์ค์ ๋ง์ ๋ฐ๋ผ ์์ฝํ์๋ฉด 'log4j'๊ฐ ์ ์ ์ ํ
์คํธ๋ฅผ ์ ๋ขฐ(๋ช
๋ น์ด๋ก์จ)ํจ์ผ๋ก์จ, ๋ฐ์ํ๋ ์์ฃผ ํฐ ๋ฌธ์ ์
๋๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ ์ ๊ทผ ๊ถํ์ด '๋๊ตฌ๋'์๊ฒ ์ด๋ ค๋ฒ๋ฆฐ ๊ฒ์ด์ฃ .
โ๏ธ ์ด๋ฒ ์ฌํ๋ 12์ 9์ผ ์๋ฆฌ๋ฐ๋ฐ ๋ณด์ํ์ ์ํด ์ฒ์ ๊ณต์ํ๋์ต๋๋ค. ํ์ง๋ง ๋ ํฐ ๋ฌธ์ ๋ ํด๋ผ์ฐ๋ํ๋ ์ด์ ๋ฐ๋ฅด๋ฉด 12์ 1์ผ๋ถํฐ ์ด๋ฏธ ํดํน์ ์ฌ์ฉ๋๋ค๊ณ ํฉ๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ ๋ฌธ์ ๋ '์๋ฌด๋ ๋ชฐ๋๋ค'๋ ๊ฒ๋๋ค. (์กฐ๊ธ ๋ ์๋ฃ๋ฅผ ์ฐพ์๋ณด๋ 11์ 24์ผ์ ์๋ฆฌ๋ฐ๋ฐ ๊ทธ๋ฃน์์ ๋ณด๊ณ ๋๋ค๋ ๋ด์ค๊ฐ ์๋ค์. (https://www.npr.org/2021/12/10/1063278227/minecraft-software-flaw)
โ๏ธ ์ด ์ทจ์ฝ์ ์ RCE(Remote Code Execution), ์ฆ '์๊ฒฉ ์ฝ๋ ์คํ'์ผ๋ก ํด์ปค๊ฐ ๋ช
๋ น์ด๋ฅผ ํตํด ๋ฐ์ดํฐ๊ฐ ๋ค์ด์๋ ์๋ฒ๋ฅผ ์์ ์์ฌ๋ก ์ด์ฉํ ์ ์์์ต๋๋ค. ์ ์ธ๊ณ ์๋ง์ ๊ธฐ์
์ด log4j๋ฅผ ์ฌ์ฉํ๋ ์ค์ด๊ณ , ๊ทธ๋ค ๋ํ ํดํน์ ๋์์ด์์ฃ . ์ฌ๋ฌ๋ถ๋ค์ด ์๋ ๊ธฐ์
ํ
์ฌ๋ผ, ์๋ง์กด, ์ ํ ๋ฑ๋ฑ ๋ง์
๋๋ค.
โ
์๋ ์ ์ด๋ ๊ฒ ๋ง์ด ์ฌ์ฉํ๋๋ฐ?
โ๏ธ log4j ์์คํ
์ด JAVA์ ์ฐ๊ด์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค. log4j๋ JAVA์ ์์คํ
ํจํค์ง ์ค ํ๋๋ก, Oracle(์ค๋ผํด)์ ๋ฐ๋ฅด๋ฉด 2015๋
130'์ต'๊ฐ ๊ธฐ๊ธฐ์์ ๊ตฌ๋ ์ค์ด๋ผ๊ณ ํฉ๋๋ค. ์ง๊ธ์ ๋ ๋์ง ์์์๊น์? ์์ฐจ, ์ฌ๊ธฐ์ Javascript๋ JAVA๋ ์์ฐํ ๋ค๋ฅธ ์ฝ๋๋๊น ํผ๋ํ๋ฉด ์ ๋ฉ๋๋ค.
โ๏ธ ๋ค์ ๋์์ค๋ฉด ์์ฃผ ์ ๋ช
ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(JAVA) + ์์ฃผ ๋ง์ด ์ฌ์ฉํ๋ ํจํค์ง(log4j)๊ฐ ๊ฒฐํฉํ ํ๋ก๊ทธ๋จ ์์์, ๊ฒฐํจ์ด ๋ฐ๊ฒฌ๋๋ฉด์ ๊ฑฐ๋ํ ์ํ์ด ๋ฐ์ํ๊ฒ ๋ ๊ฒ์
๋๋ค.
โ
log4j๊ฐ ๋ญ๋ฐ, ๊ทธ๋ ๊ฒ ๋ง์ด ์จ?
โ๏ธ๋ก๊ทธ๋ '์ผ์ด ๋ฐ์ํ ๊ฒ์ ๊ธฐ๋กํ ๋ฐ์ดํฐ'์
๋๋ค. ์ฌ๋ฌ๋ถ์ด ์ด๋ ํ ํ๋์ ํ์ ๋, ๊ทธ๊ฒ์ ๊ธฐ๋กํ๋๋ก ๋๋ ๊ฒ์ด ๋ฐ๋ก log4j์
๋๋ค. ์ด๋ฆ์์๋ถํฐ ๋ฌด์์ ์ํ ๊ฒ์ธ์ง ๋ํ๋ด์ฃ . log4j๋ '์๋ฐ๋ฅผ ์ํ ๋ก๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ'๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฝ์๋ฅผ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์์.
'log + for + JAVA'
โ
log4j ์ทจ์ฝ์ ์ ์ ๋ขฐ์ ๊ด๋ จ ์๋ค.
โ๏ธ ๋ณดํต ์ ์ ๊ฐ ํ
์คํธ๋ฅผ ์
๋ ฅํ์ ๋, ์ด๋ ์ฝ๋๋ก ์ธ์๋์ง ์์ต๋๋ค. ์ฆ, ์ ๋ขฐํ ์ ์๋ ์ฌ์ฉ์๋ก ๋ฑ๋ก๋์ด ์๋ ์ ์ ๋ค์ ํ
์คํธ๋ฅผ ์
๋ ฅํ์ ๋, ๋ด์ฉ ๊ทธ๋๋ก ์ถ๋ ฅ๋ฉ๋๋ค. ํ
์คํธ ํ๋ ์ฐฝ์ 2+2๋ฅผ ์
๋ ฅํ์ ๋, '2+2'๋ผ๋ ๋ด์ฉ์ด ์ถ๋ ฅ๋๋ ๊ฑฐ์ฃ .
โ๏ธ ํ์ง๋ง, ์ ์ ๊ฐ ์ ๋ขฐ๋ฅผ ์ป์์ ๋, ์ด '2+2'๊ฐ ์ฝ๋๋ก์ ์ฝํ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ํ
์คํธ ํ๋ ์ฐฝ์๋ '2+2=4'๋ผ๋ ๊ณต์์ ๋ฐ๋ผ '4'๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค. ๋ชจ๋ ๋ถ๋ถ์์ ๊ทธ๋ฐ ๊ฒ์ ์๋๊ณ ์ ๋ ์์ธํ ์ค๋ช
ํ๊ธด ์ด๋ ต์ต๋๋ค. log4j์๋ Lookup ํ๋ฌ๊ทธ์ธ์ด ์์ต๋๋ค.
โ๏ธ ์ฌ๊ธฐ์ Lookup ํ๋ฌ๊ทธ์ธ์ jndi๋ฅผ ์ถ๊ฐํ๊ณ , ์ถ๊ฐํ jndi์์ ์ทจ์ฝ์ ์ด ๋ฐ์ํ๊ฒ ๋ ๊ฒ์
๋๋ค. Lookup ๊ธฐ๋ฅ์ ์ ์ ๋ฅผ ์ด๋ ์ ๋ '์ด์ง ์ ๋ขฐ'ํฉ๋๋ค. ์ ์ ๋ฅผ ์ด์ง ์ ๋ขฐํ๋ jndi์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ฉด ์๋ฒ๊ฐ ๋ฐ์ํ์ฌ ๊ทธ ์ ์ ์๊ฒ ์๋ฒ ์ ๋ณด์ ๋ด์ฅ๋ ๋ช
๋ น์ด๋ฅผ ์คํํ๊ฒ ๋ฉ๋๋ค.
โ๏ธ ๊ทธ๋ ๊ฒ ๋๋ฉด ๊ทธ ์ ์ ๋ ํด๋น ์๋ฒ๋ฅผ ๋ง์๋๋ก ํ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค. ๋๊ผด๋ผ์ค๋ ์ฌํ ์ ์ ๋ค์ด ์ ํ, ํ
์ฌ๋ผ, ๋ง์ธํฌ๋ํํธ์์ ํด๋น ๋ด์ฉ์ ์คํํ๊ณ , ๊ทธ์ ๋ฐ๋ผ ๋ฐ์ํ๋ค๋ ์ฌ์ค์ ์คํฌ๋ฆฐ์ท์ ํตํด ๋ณด์ฌ์ค๋๋ค.
โ
์ด์ ๋ถํฐ๋ ๋ด ๋ง๋ก ์์ฝํ๋ค.
โ๏ธ ๋น์ ๊ณต์ ์ฌ๋ฌ๋ถ๋, ์ดํดํ๊ธฐ ์ด๋ ค์ ์ฃ ? ์ ๋ ์ง๊ธ ์ดํดํ๊ธฐ ์ด๋ ค์์. ๊ทธ๋์ ์ ๊ฐ ๊ทธ๋ฅ ์ฝ๊ฒ ์ค๋ช
ํด๋ณด๊ธฐ๋ก ํ ๊ฒ์. ํ๋ฆด ์๋ ์์ผ๋, '์ด์ง ์ ๋ขฐ'ํ๊ณ ๋ค์ผ์ธ์.
'log4j lookup ๊ธฐ๋ฅ โ ์ ์ ๋ฅผ ์ด์ง ์ ๋ขฐ โ ์ ์ ๋ช
๋ น์ด ์
๋ ฅ โ ๋ฐฑ์๋ ์๋ฒ์ ์์ฒญ'
โ๏ธ ์ฆ, ์๋ฒ ์ ๊ทผ ๊ถํ์ด ์๋ ์ฌ๋์ด ์๋์๋, ๊ทธ ์๋ฒ์ ๋ช
๋ น์ ๋ด๋ฆด ์ ์๋ ์ํฉ์ด '๋๋ค๋ ๊ฑฐ ๊ฐ์ต'๋๋ค. 1๊ธ ๋ณด์ ๋ฌธ์๋ฅผ ๊ถํ์ด ์๋ ์ฌ๋์ด ์์ฒญํ๋๋ฐ, ๋ด์ฃผ๋ ๊ฐ๋
์๋๊น์? ์ด๋ ต์ง๋ง, ๊ทธ๋ ๊ฒ ์ ๋ ์๊ฐํ๊ธฐ๋ก ํ์ต๋๋ค.
โ๏ธ ์ด ๋ฌธ์ ๋๋ฌธ์ ํด๋ผ์ฐ๋๋ฅผ ์ด์ํ๋ ๊ณณ๊ณณ์์ ๋๋ฆฌ๊ฐ ๋ฌ์์ด์. ์ ๋ NHN ํด๋ผ์ฐ๋๋ฅผ ์ฌ์ฉํ๋ ์ ์ด ์๋๋ฐ, ๋์ ๋ฐฉ์์ ๋ํด์ ๋ฌธ์๊ฐ ๊ณ์ ์ค๋๋ผ๊ณ ์. ์ผ๋ฐ์ธ๋ค์ ์์ง ๋ชปํ์ง๋ง, ๋ณด์ ์ฌํญ์์๋ ์์ฃผ ํฐ ๋ฌธ์ ์๋ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค. ์ฃผ๋ณ๋ถ๋ค์๊ฒ ๋ฌผ์ด๋ด๋ ์ ํ ๋ชจ๋ฅด๊ธด ํ๋๋ผ๊ณ ์. ๋ฌผ์ด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์์.
'์ ๊ทธ๋?'
โ๏ธ ์ ๋ ์ด๋ฌํ ์ ๋ณด๋ฅผ ์์งํ๊ฑฐ๋ ๊ด์ฌ์ด 1๋ ์์๋ค๋ฉด ์ด๊ฒ ๋ฌด์จ ๋ฌธ์ ์๋์ง, ์ ํฐ์ผ์ด ๋ฐ์ํ ๊ฑด์ง ๋ฑ ์ ํ ๋ชฐ๋๊ฒ ๋๋ผ๊ณ ์. ๋ํ, ์ด๋ฒ ๋ฌธ์ ๋ฅผ ๋๊ตฌ์๊ฒ ํธ์ํ ์๋ ์๋ ๊ฒ, log4j๋ฅผ ๋ง๋๋ ์ฌ๋๋ค์ '๋ฌด๋ฃ๋ก ๋ฐฐํฌ'ํ๊ณ ์๊ธฐ ๋๋ฌธ์ด์์.
โ๏ธ ๋๊ผด๋ผ์ค์ ๋ง์ฒ๋ผ ์์ผ๋ก ์ด๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ํ์์ ํตํด ๊ฐํํ๋ ๋ฐฉํฅ์ด ์ฐ์ ๋์ด์ผ ํ์ง ์์๊น ํฉ๋๋ค. ๊ณผ๊ฑฐ WOW(์๋์ค๋ธ์ํฌ๋ํํธ) ์ ๋ณด(?)์๋, ํผ์์ ์ด์ฌํ ์ฌ๋ฅ๊ธฐ๋ถ๋ก ์ ๊ณตํ๋ ๋ถ์ด ์ํ๊ณ ์ ์๋ฌ๋ ธ์๋ ์ด์ผ๊ธฐ๊ฐ ๋ ์ค๋ฅด๋ค์. ๊ทธ๋ถ๋ ํ์ ํ์๊ณ์ข๋ก ์กฐ๊ธ ๋์์ง ๊ฒ์ผ๋ก ์๊ณ ์์ต๋๋ค. ํ์ฌ๋ ์ด๋ค์ง ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง์.๐ค
โ๏ธ ์ฌํผ, ์๋ ๋จธ๋ฆฌ ์ฅ์ด์ง ๋ด์ log4j์ ๋ํด์ ์ ๋ฆฌํด๋ดค์ต๋๋ค. ์ฌ์ ํ ์ดํด๊ฐ ์ ์ ๊ฐ์ง๋ง ํฐ ํ๋ฆ ์, ๋งฅ๋ ์ ์์ฃผ ์์ฒญ ์ํํ ์ํฉ์ด์๋ค๋ ์ฌ์ค์ ์๊ฒ ๋์ต๋๋ค. ์ ๋๋ก ์์ง ๋ชปํ๋ ์ข ๋ต๋ตํ ์ธก๋ฉด์์ ํ๋ก๊ทธ๋๋ฐ์ ์ข ์ ๋๋ก ๋ฐฐ์๋ณผ๊น๋ผ๋ ์ํํ ์๊ฐ๋ ํ์ต๋๋ค๋ง, ๊ณง๋ฐ๋ก ์ ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.๐ ์ ๋ ๋จ์ง ์ด ๊ธ์ ํตํด, ์ด ๊ธ์ ์ฝ๋ ๋ถ๋ค์ด ์ดํดํ๋๋ฐ '์ด์ง'์ด๋ผ๋ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋ผ๋ ๋ง์์
๋๋ค.