๐Ÿ’ฅ 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์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ ๊ฐ€์ง€๋งŒ ํฐ ํ๋ฆ„ ์ƒ, ๋งฅ๋ž‘ ์ƒ ์•„์ฃผ ์—„์ฒญ ์œ„ํ—˜ํ•œ ์ƒํ™ฉ์ด์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ์ œ๋Œ€๋กœ ์•Œ์ง€ ๋ชปํ•˜๋‹ˆ ์ข€ ๋‹ต๋‹ตํ•œ ์ธก๋ฉด์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ข€ ์ œ๋Œ€๋กœ ๋ฐฐ์›Œ๋ณผ๊นŒ๋ผ๋Š” ์œ„ํ—˜ํ•œ ์ƒ๊ฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค๋งŒ, ๊ณง๋ฐ”๋กœ ์ ‘๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.๐Ÿ™„ ์ €๋Š” ๋‹จ์ง€ ์ด ๊ธ€์„ ํ†ตํ•ด, ์ด ๊ธ€์„ ์ฝ๋Š” ๋ถ„๋“ค์ด ์ดํ•ดํ•˜๋Š”๋ฐ '์‚ด์ง'์ด๋ผ๋„ ๋„์›€์ด ๋๊ธฐ๋ฅผ ๋ฐ”๋ผ๋Š” ๋งˆ์Œ์ž…๋‹ˆ๋‹ค.

์• ํ”Œ๋„ ๋‹นํ–ˆ๋‹ค! ์ตœ์•…์˜ ๋ณด์•ˆ์‚ฌํƒœ "Log4J" ์„ค๋ช…ํ•ด๋“œ๋ฆผ. 10๋ถ„์ปท.

YouTube

์• ํ”Œ๋„ ๋‹นํ–ˆ๋‹ค! ์ตœ์•…์˜ ๋ณด์•ˆ์‚ฌํƒœ "Log4J" ์„ค๋ช…ํ•ด๋“œ๋ฆผ. 10๋ถ„์ปท.

2021๋…„ 12์›” 30์ผ ์˜ค์ „ 6:23

๋Œ“๊ธ€ 0