์ƒˆ์†Œ์‹

๐Ÿ“ฑ iOS/-- UIKit

(iOS) - ์ƒŒ๋“œ๋ฐ•์Šค (SandBox), chroot ๋ž€?

  • -

SandBox

iOS๋Š” ๊ฐœ์ธ์ •๋ณด์— ๋Œ€ํ•œ ๋ณด์•ˆ์„ ์ง€ํ‚ค๋ฉฐ, ๊ตฌ๋™ํ™˜๊ฒฝ์„ ์•ˆ์ •์ ์œผ๋กœ ํ•˜๊ธฐ ์œ„ํ•ด ์•ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œํ•œํ•˜๊ณ ์žˆ๋‹ค. iOS๋ฅผ ์•ˆ์ „ํ•œ OS๋กœ ๋งŒ๋“œ๋Š” ๋‘๊ฐ€์ง€ ์ œ์•ฝ์ด ์žˆ๋Š”๋ฐ ์ƒŒ๋“œ๋ฐ•์Šค ์ œ์•ฝ๊ณผ, ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค ์ œ์•ฝ์ด ์žˆ๋‹ค.

์ƒŒ๋“œ๋ฐ•์Šค๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์‹œ์— ๊ฒฉ๋ฆฌ๋œ ๊ณต๊ฐ„์„ ์ œ๊ณตํ•˜๊ณ , ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ๋ฒ—์–ด๋‚˜ ํ—ˆ์šฉ๋˜์ง€ ์•Š์€ ์ž‘์—…์„ ๋ชปํ•˜๋„๋ก ๋ฐฉ์ง€ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค.

chroot

Unix์˜ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ™˜๊ฒฝ์ค‘์— chroot๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ์€ ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ root๋กœ ์ธ์‹ํ•˜๋„๋ก ํ•˜๋Š”๊ฒƒ์ด๋‹ค. ์ฆ‰, ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ง€์ •๋œ ๋””๋ ‰ํ† ๋ฆฌ ์™ธ๋ถ€ ํŒŒ์ผ์— ๋Œ€ํ•ด์„œ๋Š” ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ์ด ์˜์—ญ์— ๋Œ€ํ•ด์„œ๋Š” chroot jail์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด๊ฒƒ์„ ์šฐํšŒํ•˜์—ฌ ์ œ์กฐ์‚ฌ๊ฐ€ ์ ‘๊ทผ ๋ถˆ๊ฐ€ํ•˜๋„๋ก ๊ฐ์ถฐ๋‘” ์„ค์ •ํŒŒ์ผ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ํ”ํžˆ ๋งํ•˜๋Š” "ํƒˆ์˜ฅ"์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์ƒŒ๋“œ๋ฐ•์Šค = root directory๊ฐ€ ๋˜๋ฉฐ, ์ƒŒ๋“œ๋ฐ•์Šค ์ œ์•ฝ์€ ์•ฑ ๋‚ด์˜ ๋ฆฌ์†Œ์Šค ์™ธ์— ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ์•ฑ ์™ธ๋ถ€์— ์žˆ์œผ๋ฏ€๋กœ ์•ฑ์€ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์ด ์—†๋‹ค. ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ์•ฑ๋“ค์ด ์žˆ๋Š”๋ฐ, ๊ฑฐ๊ธฐ์— ๋Œ€ํ•ด์„œ๋Š” API๋ฅผ ํ†ตํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ๋ช…์‹œ์  ํ—ˆ๋ฝํ•˜์— ์ง€์ •ํ•œ ๊ธฐ๊ฐ„๋™์•ˆ๋งŒ ์‚ฌ์šฉ์ด ํ—ˆ๊ฐ€๋œ๋‹ค.

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.