앱 샌드박스는 커널 레벨에서 앱이 데이터에 접근하는 것을 제한하는 기술이다.
샌드박스의 목적은 앱이 손상되었을 때, 사용자 데이터나 시스템에 위험이 되지 않도록 하는 것이다.
샌드박스는 해커의 공격이 성공했을 때 발생하는 피해를 최소화하는 기술이다.
앱을 실행하는 사용자가 앱에 대한 모든 권한을 가진다.
따라서 보안이 한번 뚫리면 이제 그 앱은 해커가 원하는 대로 무엇이든 할 수 있는 수단이 된다.
샌드박스는 앱이 시스템과 어떻게 상호작용할 지 개발자가 정의할 수 있게 해준다.
시스템은 정의된 대로 앱에게 시스템에 접근할 수 있는 권한을 주고 그 이상은 허용하지 않는다.
샌드박스는 사용자에게 투명하게 추가적인 접근을 허용한다.
즉 사용자 상호작용을 통해 사용자에게 권한 허용에 대해 알린다.
핵심은 앱이 어떤 데이터나 시스템에 마음대로 접근하는 것이 아니라 개발자와 사용자에게 인지된 만큼만
접근하도록 하는 것이다.
즉 해킹에 의해 손상 되었더라도 앱 샌드박스에 의해 허용된 영역만 접근 할 수 있기 때문에
접근이 허용 안된 영역은 보호가 가능하다는 것 이다.⇒ 피해를 최소화.
또한 해커가 앱의 제어권을 뺏어 시스템이나 데이터에 접근하는 경우, 샌드박스는 현재 어떤 작업이 수행되려고 하는지 사용자에게 알리게 되므로 한 번 더 시스템과 데이터를 보호할 수 있다.
만약 사용자를 통한 접근이 아니라면 런타임에 차단된다.