이번 Android 11에서 부터 외부 저장소의 방식이 Scope Storage라는 형식으로 변화하면서 외부에 있는 개별 private앱 저장공간이 샌드박스형식으로 이루어져있다는 내용을 봤었다. 하지만 처음 보는 단어이기에 그저 구글에서 사용하는 기술인가 정도로 생각했지만 모든 포스팅에서 샌드박스라는 용어가 보여 뭘까하고 찾아보니 IT 보안기술 중 하나였다. 무엇인지 알아보자!
외부로부터 받은 파일을 바로 실행하지 않고 보호된 영역에서 실행시켜 봄으로써 외부로부터 들어오는 파일과 프로그램이 내부 시스템에 악영향을 주는 것을 미연에 방지하는 기술이다.
샌드박스에서 실행되어 안전하다고 검증받은 파일이나 작업은 시스템 변경이 가능하지만, 허용하지 않은 경우에는 변경할 수 없다.
원래 샌드박스, 즉 모래상자는 미국 가정집에서 아이들이 다른 곳에서 놀지 못하게 별도로 공간을 마련해 준 곳을 의미하는데, 외부로부터 들어온 프로그램이나 실행 파일을 가상화 내부에서 시험적으로 동작시켜봄으로써 가상화 밖으로는 영향을 주지 않는다.
안드로이드의 Scope Storage에 대입해서 생각해보면 외부 저장소의 Private 저장공간은 일반적인 저장소가 아닌 가상화되어있는 공간이라고 생각할 수 있다. 외부에서 들어오는 데이터라 그런지 구글에서 적절한 보안을 적용한듯 하다.
위 글을 읽으면 샌드박스는 상당한 보안을 자랑한다고 생각들지만 진화된 공격기법에 뚫리는 경우가 있다고한다.
공격자들은 샌드박스 특유의 코드를 파악해 샌드박스를 감지해 실행을 하지 않거나 일정 시간동안 실행을 중지하는 등의 지능형 악성코드를 개발하여 일정 기간 별다른 악성 행위가 없으면 본 시스템으로 이전시키는 샌드박스 기능의 특성을 이용해 본래 침투할 곳으로 들어간다는 내용이다..ㄷ
그래서 샌드박스 기능은 단독 보안 솔루션으로 사용하기보다는 시그니처 기반의 감지 솔루션, 평판 분석, 정적 분석, 웹 게이트웨이 등 여러 보안 제품과 통합, 연동을 통해 공격에 대응한다고 한다.