iOS
iOS) Sandbox
kangwook
2022. 10. 9. 23:43
iOS) SandBox란?
외부로부터 들어온 프로그램이 보호된 영역에서 동작해 시스템이 부정하게 조작되는 것을 막는 보안 형태
커널 수준에서 강제 적용되는 MacOS의 접근 기술
앱이 손상될 경우 시스템과 사용자 데이터의 손상을 억제하도록 설계되어 있으며, AppStore에 유통되는 모든 앱들은 앱 샌드박스를 적용시켜야만 함
샌드박스의 전략
- App SandBox는 개발자가 앱과 시스템이 어떤식으로 상호작용하게 할건지 설정할 수 있게 한다.
- App SandBox는 사용자가 드래그 앤 드롭, 대화 상자 등 친숙한 인터렉션을 통해 투명하게 앱에게 추가 액세스 권한을 부여할 수 있도록 함
샌드박스의 원칙
각 앱마다 리소스에 대한 접근을 제한함으로써 앱 샌드박스는 해커가 앱의 보안구멍을 뚫었을 경우 사용자 데이터의 도난, 손상, 삭제, 시스템 하드웨어의 해킹에 대한 마지막 방어선을 구축
예를 들어 샌드박스를 사용한 앱은 다음 리소스 중 하나를 사용하려면 그 의도를 반드시 명시해야 함
- Hardware(Camera, Microphone, USB, Printer)
- Network Connections(Inbound or Outbound)
- App Data(Calendar, Location, Contacts)
- User Files(Downloads, Pictures, Music, Movies, User Selected Files)
샌드박스가 적용되는 방식
iOS의 각 앱은 모두 샌드박스화 되어있고, 각 앱을 사용하는 사용자는 각각의 앱의 데이터에만 접근이 가능
외부에 있는 데이터에 접근하기 위해서는 샌드박스 정책에 따라 접근권한을 부여받아야 함