TrustZone ์Šคํ† ๋ฆฌ์ง€์—์„œ ๊ฐœ์ธ ํ‚ค๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋Š” Qualcomm ์นฉ์˜ ์ทจ์•ฝ์ 

NCC๊ทธ๋ฃน ์—ฐ๊ตฌ์ง„ ํญ๋กœ ์„ธ๋ถ€ ์‚ฌํ•ญ ์ทจ์•ฝ์ (CVE-2018-11976)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ARM TrustZone ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒฉ๋ฆฌ๋œ ์—”ํด๋ ˆ์ด๋ธŒ Qualcomm QSEE(Qualcomm Secure Execution Environment)์— ์žˆ๋Š” ๊ฐœ์ธ ์•”ํ˜ธํ™” ํ‚ค์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋‹ค์Œ์—์„œ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์Šค๋ƒ…๋“œ๋ž˜๊ณค SoC๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ํ”Œ๋žซํผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์Šค๋งˆํŠธํฐ์— ๋„๋ฆฌ ๋ณด๊ธ‰๋๋‹ค. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ˆ˜์ • ์‚ฌํ•ญ์€ ์ด๋ฏธ ํฌํ•จ ๋œ 19์›” Android ์—…๋ฐ์ดํŠธ ๋ฐ Qualcomm ์นฉ์šฉ ์ƒˆ ํŽŒ์›จ์–ด ๋ฆด๋ฆฌ์Šค. Qualcomm์ด ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ค€๋น„ํ•˜๋Š” ๋ฐ 2018๋…„ ์ด์ƒ์ด ๊ฑธ๋ ธ์œผ๋ฉฐ, ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” XNUMX๋…„ XNUMX์›” XNUMX์ผ์— Qualcomm์— ์ฒ˜์Œ ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ARM TrustZone ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ”์ธ ์‹œ์Šคํ…œ๊ณผ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋˜์–ด ๋ณ„๋„์˜ ํŠน์ˆ˜ ์šด์˜ ์ฒด์ œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ„๋„์˜ ๊ฐ€์ƒ ํ”„๋กœ์„ธ์„œ์—์„œ ์‹คํ–‰๋˜๋Š” ํ•˜๋“œ์›จ์–ด ๊ฒฉ๋ฆฌ ๋ณดํ˜ธ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•ด ๋ณด์‹ญ์‹œ์˜ค. TrustZone์˜ ์ฃผ์š” ๋ชฉ์ ์€ ์•”ํ˜ธํ™” ํ‚ค, ์ƒ์ฒด ์ธ์‹ ์ธ์ฆ, ๊ฒฐ์ œ ๋ฐ์ดํ„ฐ ๋ฐ ๊ธฐํƒ€ ๊ธฐ๋ฐ€ ์ •๋ณด์— ๋Œ€ํ•œ ๊ฒฉ๋ฆฌ๋œ ํ”„๋กœ์„ธ์„œ ์‹คํ–‰์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ OS์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์€ ๋””์ŠคํŒจ์น˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๊ฐ„์ ‘์ ์œผ๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ฐœ์ธ ์•”ํ˜ธํ™” ํ‚ค๋Š” ํ•˜๋“œ์›จ์–ด๋กœ ๊ฒฉ๋ฆฌ๋œ ํ‚ค ์ €์žฅ์†Œ ๋‚ด์— ์ €์žฅ๋˜๋ฉฐ, ์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด ๊ธฐ๋ณธ ์‹œ์Šคํ…œ์ด ์†์ƒ๋  ๊ฒฝ์šฐ ๋ˆ„์ถœ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์ทจ์•ฝ์ ์€ ํƒ€์›๊ณก์„  ์ฒ˜๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„์— ๊ฒฐํ•จ์ด ์žˆ์–ด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ง„ํ–‰ ์ƒํ™ฉ ์ •๋ณด๊ฐ€ ์œ ์ถœ๋˜๋Š” ํ˜„์ƒ์ด๋‹ค. ์—ฐ๊ตฌ์›๋“ค์€ ๊ธฐ์กด์˜ ๊ฐ„์ ‘ ์œ ์ถœ์„ ์ด์šฉํ•˜์—ฌ ํ•˜๋“œ์›จ์–ด ๊ฒฉ๋ฆฌ๋œ ์ €์žฅ์†Œ์— ์žˆ๋Š” ๊ฐœ์ธ ํ‚ค์˜ ๋‚ด์šฉ์„ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€์ฑ„๋„ ๊ณต๊ฒฉ ๊ธฐ์ˆ ์„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ ํ‚ค์Šคํ† ์–ด. ๋ˆ„์ถœ์€ ๋ถ„๊ธฐ ์˜ˆ์ธก ๋ธ”๋ก์˜ ํ™œ๋™ ๋ถ„์„๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ์‹œ๊ฐ„์˜ ๋ณ€ํ™”๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์‹คํ—˜์—์„œ ์—ฐ๊ตฌ์›๋“ค์€ Nexus 224X ์Šค๋งˆํŠธํฐ์— ์‚ฌ์šฉ๋˜๋Š” ํ•˜๋“œ์›จ์–ด ๊ฒฉ๋ฆฌ ํ‚ค ์ €์žฅ์†Œ์—์„œ 256๋น„ํŠธ ๋ฐ 5๋น„ํŠธ ECDSA ํ‚ค๋ฅผ ๋ณต๊ตฌํ•˜๋Š” ๊ฒƒ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์‹œ์—ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‚ค๋ฅผ ๋ณต๊ตฌํ•˜๋ ค๋ฉด ์•ฝ 12๊ฐœ์˜ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ƒ์„ฑํ•ด์•ผ ํ–ˆ์œผ๋ฉฐ, ์ด๋Š” 14์‹œ๊ฐ„ ์ด์ƒ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋„๊ตฌ ์บ์‹œ๊ทธ๋žฉ.

๋ฌธ์ œ์˜ ์ฃผ์š” ์›์ธ์€ TrustZone ๋ฐ ๊ธฐ๋ณธ ์‹œ์Šคํ…œ์—์„œ ๊ณ„์‚ฐ์„ ์œ„ํ•œ ๊ณตํ†ต ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ ๋ฐ ์บ์‹œ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฒฉ๋ฆฌ๋Š” ๋…ผ๋ฆฌ์  ๋ถ„๋ฆฌ ์ˆ˜์ค€์—์„œ ์ˆ˜ํ–‰๋˜์ง€๋งŒ ๊ณตํ†ต ์ปดํ“จํŒ… ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‚ฐ ์ถ”์  ๋ฐ ์ง€์ ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ณตํ†ต ํ”„๋กœ์„ธ์„œ ์บ์‹œ์— ์ฃผ์†Œ๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. Prime+Probe ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ์บ์‹œ๋œ ์ •๋ณด์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ์‹œ๊ฐ„์˜ ๋ณ€ํ™”๋ฅผ ํ‰๊ฐ€ํ•˜์—ฌ ์บ์‹œ์— ํŠน์ • ํŒจํ„ด์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•จ์œผ๋กœ์จ ๋””์ง€ํ„ธ ์„œ๋ช… ๊ณ„์‚ฐ๊ณผ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๋ฐ ์ฝ”๋“œ ์‹คํ–‰ ์ง•ํ›„๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •ํ™•๋„๊ฐ€ ์ƒ๋‹นํžˆ ๋†’์€ TrustZone์ž…๋‹ˆ๋‹ค.

Qualcomm ์นฉ์—์„œ ECDSA ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„์€ ๊ฐ ์„œ๋ช…์— ๋Œ€ํ•ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ์ดˆ๊ธฐํ™” ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฃจํ”„์—์„œ ๊ณฑ์…ˆ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค(๋กœ๋งˆ ๊ตํ™ฉ ์‚ฌ์ ˆ). ๊ณต๊ฒฉ์ž๊ฐ€ ์ด ๋ฒกํ„ฐ์— ๋Œ€ํ•œ ์ •๋ณด๋กœ ์ตœ์†Œํ•œ ๋ช‡ ๋น„ํŠธ ์ •๋„ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ „์ฒด ๊ฐœ์ธํ‚ค๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ณต๊ตฌํ•˜๋Š” ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

ํ€„์ปด์˜ ๊ฒฝ์šฐ ๊ณฑ์…ˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์ด๋Ÿฌํ•œ ์ •๋ณด๊ฐ€ ์œ ์ถœ๋œ ๋‘ ๊ณณ์ด ํ…Œ์ด๋ธ”์—์„œ ์กฐํšŒ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ์™€ "nonce" ๋ฒกํ„ฐ์˜ ๋งˆ์ง€๋ง‰ ๋น„ํŠธ ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ์ฝ”๋“œ์—์„œ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Qualcomm ์ฝ”๋“œ์—๋Š” ์ œ256์ž ์ฑ„๋„์„ ํ†ตํ•œ ์ •๋ณด ์œ ์ถœ์— ๋Œ€์‘ํ•˜๋Š” ์กฐ์น˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ฐœ๋ฐœ๋œ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์กฐ์น˜๋ฅผ ์šฐํšŒํ•˜๊ณ  XNUMX๋น„ํŠธ ECDSA ํ‚ค๋ฅผ ๋ณต๊ตฌํ•˜๋Š” ๋ฐ ์ถฉ๋ถ„ํ•œ "nonce" ๊ฐ’์˜ ์—ฌ๋Ÿฌ ๋น„ํŠธ๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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