πŸ“± iOS/-- UIKit

(iOS) - μƒŒλ“œλ°•μŠ€ (SandBox), chroot λž€?

Newmon 2021. 8. 4. 19:04

SandBox

iOSλŠ” κ°œμΈμ •λ³΄μ— λŒ€ν•œ λ³΄μ•ˆμ„ 지킀며, κ΅¬λ™ν™˜κ²½μ„ μ•ˆμ •μ μœΌλ‘œ ν•˜κΈ° μœ„ν•΄ μ•±μ˜ κΈ°λŠ₯을 μ œν•œν•˜κ³ μžˆλ‹€. iOSλ₯Ό μ•ˆμ „ν•œ OS둜 λ§Œλ“œλŠ” 두가지 μ œμ•½μ΄ μžˆλŠ”λ° μƒŒλ“œλ°•μŠ€ μ œμ•½κ³Ό, λ°±κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€ μ œμ•½μ΄ μžˆλ‹€.

μƒŒλ“œλ°•μŠ€λŠ” ν”„λ‘œκ·Έλž¨ μ‹€ν–‰μ‹œμ— 격리된 곡간을 μ œκ³΅ν•˜κ³ , λ‹€λ₯Έ 곳으둜 λ²—μ–΄λ‚˜ ν—ˆμš©λ˜μ§€ μ•Šμ€ μž‘μ—…μ„ λͺ»ν•˜λ„둝 λ°©μ§€ν•˜λŠ” κΈ°μˆ μ΄λ‹€.

chroot

Unix의 ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ ν™˜κ²½μ€‘μ— chrootκ°€ μžˆλŠ”λ°, 이것은 ν˜„μž¬ 싀행쀑인 ν”„λ‘œκ·Έλž¨μ˜ 디렉토리λ₯Ό root둜 μΈμ‹ν•˜λ„λ‘ ν•˜λŠ”κ²ƒμ΄λ‹€. 즉, ν˜„μž¬ 싀행쀑인 ν”„λ‘œκ·Έλž¨μ—μ„œ μ§€μ •λœ 디렉토리 μ™ΈλΆ€ νŒŒμΌμ— λŒ€ν•΄μ„œλŠ” μ ‘κ·Όν•  수 μ—†λ‹€. κ·Έλž˜μ„œ 이 μ˜μ—­μ— λŒ€ν•΄μ„œλŠ” chroot jail이라고 ν•˜λ©°, 이것을 μš°νšŒν•˜μ—¬ μ œμ‘°μ‚¬κ°€ μ ‘κ·Ό λΆˆκ°€ν•˜λ„λ‘ 감좰둔 μ„€μ •νŒŒμΌμ— μ ‘κ·Όν•˜λŠ” 것을 ν”νžˆ λ§ν•˜λŠ” "νƒˆμ˜₯"이라고 ν•œλ‹€.

λ”°λΌμ„œ μƒŒλ“œλ°•μŠ€ = root directoryκ°€ 되며, μƒŒλ“œλ°•μŠ€ μ œμ•½μ€ μ•± λ‚΄μ˜ λ¦¬μ†ŒμŠ€ 외에 λ‹€λ₯Έ λ¦¬μ†ŒμŠ€μ— μ ‘κ·Όν•˜μ§€ λͺ»ν•œλ‹€. 그리고 μ‚¬μš©μž λ°μ΄ν„°λŠ” λͺ¨λ‘ μ•± 외뢀에 μžˆμœΌλ―€λ‘œ 앱은 μ‚¬μš©μžμ˜ 데이터에 λŒ€ν•œ μ ‘κ·Ό κΆŒν•œμ΄ μ—†λ‹€. ν•˜μ§€λ§Œ μ‚¬μš©μž 데이터가 λ°˜λ“œμ‹œ ν•„μš”ν•œ 앱듀이 μžˆλŠ”λ°, 거기에 λŒ€ν•΄μ„œλŠ” APIλ₯Ό ν†΅ν•˜μ—¬ μ‚¬μš©μžμ˜ λͺ…μ‹œμ  ν—ˆλ½ν•˜μ— μ§€μ •ν•œ κΈ°κ°„λ™μ•ˆλ§Œ μ‚¬μš©μ΄ ν—ˆκ°€λœλ‹€.