FwAnalyzer ํŽŒ์›จ์–ด ๋ณด์•ˆ ๋ถ„์„๊ธฐ์šฉ ์ฝ”๋“œ๊ฐ€ ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ž์œจ์ฃผํ–‰๊ธฐ์ˆ  ์ „๋ฌธ๊ธฐ์—… ํฌ๋ฃจ์ฆˆ(Cruise)๋Š” ์—ด๋ฆผ ํ”„๋กœ์ ํŠธ ์†Œ์Šค ์ฝ”๋“œ Fw๋ถ„์„๊ธฐ๋Š” Linux ๊ธฐ๋ฐ˜ ํŽŒ์›จ์–ด ์ด๋ฏธ์ง€๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ž ์žฌ์ ์ธ ์ทจ์•ฝ์ ๊ณผ ๋ฐ์ดํ„ฐ ์œ ์ถœ์„ ์‹๋ณ„ํ•˜๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” Go ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌ์ž Apache 2.0์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ext2/3/4, FAT/VFat, SquashFS ๋ฐ UBIFS ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ๋ถ„์„์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๋ฅผ ์—ด๋ ค๋ฉด e2tools, mtools, squashfs-tools ๋ฐ ubi_reader์™€ ๊ฐ™์€ ํ‘œ์ค€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. FwAnalyzer๋Š” ์ด๋ฏธ์ง€์—์„œ ๋””๋ ‰ํ„ฐ๋ฆฌ ํŠธ๋ฆฌ๋ฅผ ์ถ”์ถœํ•˜๊ณ  ์ผ๋ จ์˜ ๊ทœ์น™์— ๋”ฐ๋ผ ์ฝ˜ํ…์ธ ๋ฅผ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทœ์น™์€ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ, ํŒŒ์ผ ์œ ํ˜• ๋ฐ ์ฝ˜ํ…์ธ ์™€ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ์€ ํŽŒ์›จ์–ด์—์„œ ์ถ”์ถœ๋œ ์ •๋ณด๋ฅผ ์š”์•ฝํ•˜๊ณ  ๊ฒฝ๊ณ  ๋ฐ ์ฒ˜๋ฆฌ๋œ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•˜๋Š” JSON ํ˜•์‹์˜ ๋ณด๊ณ ์„œ์ž…๋‹ˆ๋‹ค.

ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ ํ™•์ธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋ชจ๋“  ์‚ฌ๋žŒ์˜ ์“ฐ๊ธฐ ์•ก์„ธ์Šค๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ž˜๋ชป๋œ UID/GID ์„ค์ •). suid ํ”Œ๋ž˜๊ทธ์™€ SELinux ํƒœ๊ทธ ์‚ฌ์šฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ ํŒŒ์ผ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์žŠ์–ด๋ฒ„๋ฆฐ ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ์‹๋ณ„ํ•˜๋ฉฐ ์ž ์žฌ์ ์œผ๋กœ ์œ„ํ—˜ํ•œ ํŒŒ์ผ. ์ฝ˜ํ…์ธ ๋Š” ๋ฒ„๋ ค์ง„ ์—”์ง€๋‹ˆ์–ด๋ง ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ•์กฐํ•˜๊ณ , ๋ฒ„์ „ ์ •๋ณด๋ฅผ ๊ฐ•์กฐํ•˜๊ณ , SHA-256 ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๋“œ์›จ์–ด๋ฅผ ์‹๋ณ„/๊ฒ€์ฆํ•˜๊ณ , ์ •์  ๋งˆ์Šคํฌ ๋ฐ ์ •๊ทœ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€ ๋ถ„์„๊ธฐ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํŠน์ • ํŒŒ์ผ ํ˜•์‹์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Android ๊ธฐ๋ฐ˜ ํŽŒ์›จ์–ด์˜ ๊ฒฝ์šฐ ๋นŒ๋“œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ •์˜๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ro.secure=1 ๋ชจ๋“œ, ro.build.type ์ƒํƒœ ๋ฐ SELinux ํ™œ์„ฑํ™” ์‚ฌ์šฉ).

FwAnalyzer๋Š” ํƒ€์‚ฌ ํŽŒ์›จ์–ด์˜ ๋ณด์•ˆ ๋ฌธ์ œ ๋ถ„์„์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ฃผ์š” ๋ชฉ์ ์€ ํƒ€์‚ฌ ๊ณ„์•ฝ ๊ณต๊ธ‰์—…์ฒด๊ฐ€ ์†Œ์œ ํ•˜๊ฑฐ๋‚˜ ๊ณต๊ธ‰ํ•˜๋Š” ํŽŒ์›จ์–ด์˜ ํ’ˆ์งˆ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. FwAnalyzer ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๋ฉด ํŽŒ์›จ์–ด ์ƒํƒœ์˜ ์ •ํ™•ํ•œ ์‚ฌ์–‘์„ ์ƒ์„ฑํ•˜๊ณ  ์ž˜๋ชป๋œ ์•ก์„ธ์Šค ๊ถŒํ•œ ํ• ๋‹น, ๊ฐœ์ธ ํ‚ค ๋ฐ ๋””๋ฒ„๊น… ์ฝ”๋“œ ๋‚จ๊ธฐ๊ธฐ ๋“ฑ ํ—ˆ์šฉํ•  ์ˆ˜ ์—†๋Š” ํŽธ์ฐจ๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ™•์ธ์„ ํ†ตํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ๊ธฐ SSH ์„œ๋ฒ„ ํ…Œ์ŠคํŠธ ์ค‘์— ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋ฆฌ ์ •์˜๋œ ์—”์ง€๋‹ˆ์–ด๋ง ๋น„๋ฐ€๋ฒˆํ˜ธ, ์–ป๊ธฐ ์‰ฌ์šด /etc/config/shadow๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์žŠํ˜€์ง„ ์—ด์‡  ๋””์ง€ํ„ธ ์„œ๋ช… ํ˜•์„ฑ).

FwAnalyzer ํŽŒ์›จ์–ด ๋ณด์•ˆ ๋ถ„์„๊ธฐ์šฉ ์ฝ”๋“œ๊ฐ€ ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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