Glibc์—๋Š” Aurora OS ๊ฐœ๋ฐœ์ž๊ฐ€ ์ค€๋น„ํ•œ memcpy ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Aurora ๋ชจ๋ฐ”์ผ ์šด์˜ ์ฒด์ œ(Open Mobile Platform ํšŒ์‚ฌ์—์„œ ๊ฐœ๋ฐœํ•œ Sailfish OS์˜ ํฌํฌ)์˜ ๊ฐœ๋ฐœ์ž๋Š” Aurora ๋ชจ๋ฐ”์ผ ์šด์˜ ์ฒด์ œ ์ œ๊ฑฐ์— ๋Œ€ํ•œ ๊ณต๊ฐœ์ ์ธ ์ด์•ผ๊ธฐ๋ฅผ ๊ณต์œ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹ฌ๊ฐํ•œ ์ทจ์•ฝ์  (CVE-2020-6096)๋Š” ARMv7 ํ”Œ๋žซํผ์—๋งŒ ๋‚˜ํƒ€๋‚˜๋Š” Glibc์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ์ง€๋‚œ XNUMX์›”์— ๊ณต๊ฐœ๋˜์—ˆ์ง€๋งŒ, ์ทจ์•ฝ์ ์ด ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ตœ๊ทผ๊นŒ์ง€ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ œ๊ณต๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ• ๋‹น๋œ ์œ„ํ—˜๋„๊ฐ€ ๋†’์œผ๋ฉฐ memcpy() ๋ฐ memmove() ํ•จ์ˆ˜์—์„œ ํŠน์ • ๋ฐฉ์‹์œผ๋กœ ํ˜•์‹ํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ฝ”๋“œ ์‹คํ–‰์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘๋™ ์ค‘์ธ ์ต์Šคํ”Œ๋กœ์ž‡ ํ”„๋กœํ† ํƒ€์ž…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€ ์ˆ˜์ • ์‚ฌํ•ญ ๋ฐ๋น„์•ˆ ะธ Ubuntu ์•„์ง ๊ณต๊ฐœ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ ์ทจ์•ฝ์ ์€ ๊ณต๊ฐœ๋œ ์‹œ์ ๋ถ€ํ„ฐ ๊ฑฐ์˜ XNUMX๊ฐœ์›”, Glibc ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ†ต๋ณด๋œ ์‹œ์ ๋ถ€ํ„ฐ XNUMX๊ฐœ์›” ๋™์•ˆ ์ˆ˜์ •๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์ทจ์•ฝ์ ์€ ARMv7์šฉ ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด์˜ memcpy() ๋ฐ memmove() ๊ตฌํ˜„์—์„œ ๋‚˜ํƒ€๋‚ฌ์œผ๋ฉฐ ๋ณต์‚ฌ๋œ ์˜์—ญ์˜ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์Œ์ˆ˜ ๊ฐ’์„ ์ž˜๋ชป ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒจ์น˜ ๊ฐœ๋ฐœ ๋ฌธ์ œ๋Š” ํšŒ์‚ฌ์—์„œ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SUSE ะธ ๋ ˆ๋“œํ–‡ ์ž์‚ฌ ํ”Œ๋žซํผ์€ 32๋น„ํŠธ ARMv7 ์‹œ์Šคํ…œ์šฉ์œผ๋กœ ๋นŒ๋“œ๋˜์ง€ ์•Š์•˜๊ณ  ์ˆ˜์ • ์‚ฌํ•ญ ์ž‘์„ฑ์— ์ฐธ์—ฌํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์ž„๋ฒ ๋””๋“œ ๋ฐฐํฌํŒ์˜ ๊ฐœ๋ฐœ์ž๋“ค์€ Glibc ํŒ€์— ์˜์กดํ•ด ์™”์œผ๋ฉฐ ์ˆ˜์ • ์‚ฌํ•ญ ์ค€๋น„์— ์ ๊ทน์ ์œผ๋กœ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์˜ต์…˜ ๋ฐ˜์  ๋ฌธ์ œ๋ฅผ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•ด Huawei๋Š” ์„œ๋ช…๋œ ํ”ผ์—ฐ์‚ฐ์ž(bge ๋ฐ blt)๋กœ ์ž‘๋™ํ•˜๋Š” ์กฐ๋ฆฝ ์ง€์นจ์„ ์„œ๋ช…๋˜์ง€ ์•Š์€ ์•„๋‚ ๋กœ๊ทธ(blo ๋ฐ bhs)๋กœ ๋Œ€์ฒดํ•˜๋ ค๊ณ  ์‹œ๋„ํ•œ๋‹ค๊ณ  ๊ฑฐ์˜ ์ฆ‰์‹œ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. Glibc ๊ด€๋ฆฌ์ž๋Š” ๋‹ค์–‘ํ•œ ์˜ค๋ฅ˜ ์กฐ๊ฑด์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ จ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฐœ๋ฐœํ•œ ํ›„ Huawei ํŒจ์น˜๊ฐ€ ์ ํ•ฉํ•˜์ง€ ์•Š์œผ๋ฉฐ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์กฐํ•ฉ์„ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

Aurora OS์—๋Š” ARM์šฉ 32๋น„ํŠธ ๋นŒ๋“œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์ž์ฒด์ ์œผ๋กœ ์ทจ์•ฝ์ ์„ ํ•ด๊ฒฐํ•˜๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋ ค์šด ์ ์€ ํ•จ์ˆ˜์˜ ํšจ์œจ์ ์ธ ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด ๊ตฌํ˜„์„ ์ž‘์„ฑํ•˜๊ณ  ์ž…๋ ฅ ์ธ์ˆ˜์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์˜ต์…˜์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ช…๋˜์ง€ ์•Š์€ ์ง€์นจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„์ด ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒจ์น˜ ์ž‘์€ ๊ฒƒ์œผ๋กœ ๋ฐํ˜€์กŒ์ง€๋งŒ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋Š” ์‹คํ–‰ ์†๋„๋ฅผ ์œ ์ง€ํ•˜๊ณ  memcpy ๋ฐ memmove ํ•จ์ˆ˜์˜ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ํ”ผํ•˜๋ฉด์„œ ๋ชจ๋“  ์ž…๋ ฅ ๊ฐ’ ์กฐํ•ฉ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์—ˆ์Šต๋‹ˆ๋‹ค.

3์›” ์ดˆ์— Glibc ๊ด€๋ฆฌ์ž์˜ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์™€ Aurora์˜ ๋‚ด๋ถ€ ํ…Œ์ŠคํŠธ ์ œํ’ˆ๊ตฐ์„ ํ†ต๊ณผํ•œ ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์˜ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. XNUMX์›” XNUMX์ผ์— ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์„ ํƒ๋˜์—ˆ๊ณ  ์„ ์  ๋œ Glibc ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์—. ์ผ์ฃผ์ผ ํ›„
์žˆ์—ˆ๋‹ค ์ œ์•ˆ ์ ‘๊ทผ ๋ฐฉ์‹์ด ์œ ์‚ฌํ•œ ๋˜ ๋‹ค๋ฅธ ํŒจ์น˜๋Š” Huawei๊ฐ€ ์ด์ „์— ์ˆ˜์ •ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•œ ๋‹ค์ค‘ ์•„ํ‚คํ…์ฒ˜ ๊ตฌํ˜„์˜ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋Š” ํ•œ ๋‹ฌ์ด ๊ฑธ๋ ธ๊ณ  ๋ฒ•์  ๋“ฑ๋ก ํŒจ์น˜์˜ ์ค‘์š”์„ฑ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
8์›” XNUMX์ผ ์ •์ • ๋ฐ›์•„๋“ค์—ฌ์กŒ๋‹ค ๊ณง ์ถœ์‹œ๋  glibc 2.32 ๋ฆด๋ฆฌ์Šค์˜ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌํ˜„์—๋Š” ๋‘ ๊ฐ€์ง€ ํŒจ์น˜๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ะฟะตั€ะฒั‹ะน ARMv7์šฉ memcpy์˜ ๋‹ค์ค‘ ์•„ํ‚คํ…์ฒ˜ ๊ตฌํ˜„ ์ดˆ ARM์šฉ memcpy() ๋ฐ memmove()์˜ ์ผ๋ฐ˜ ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด ๊ตฌํ˜„์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” Linux๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ˆ˜๋ฐฑ๋งŒ ๋Œ€์˜ ARMv7 ์žฅ์น˜์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฉฐ ์ ์ ˆํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์—†์œผ๋ฉด ์†Œ์œ ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•  ๋•Œ ์œ„ํ—˜์— ์ฒ˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค(ํฌ๊ธฐ ์ œํ•œ ์—†์ด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ๊ฐ€๋Šฅ ์„œ๋น„์Šค ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ณต๊ฒฉ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ). ์˜ˆ๋ฅผ ๋“ค์–ด, ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•œ ์—ฐ๊ตฌ์›๋“ค์ด ์ค€๋น„ํ•œ ์ต์Šคํ”Œ๋กœ์ž‡์€ ๋งค์šฐ ํฐ GET ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๋ฃจํŠธ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ํš๋“ํ•˜์—ฌ ์ž๋™์ฐจ ์ •๋ณด ์‹œ์Šคํ…œ์— ๋‚ด์žฅ๋œ HTTP ์„œ๋ฒ„๋ฅผ ๊ณต๊ฒฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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