Skip to main content
QUICK REVIEW

[논문 리뷰] SandBlaster: Reversing the Apple Sandbox

Răzvan Deaconescu, Luke Deshotels|arXiv (Cornell University)|2016. 08. 15.
Digital Games and Media참고 문헌 2인용 수 7
한 줄 요약

SandBlaster는 iOS 7, 8, 9의 Apple 이진 사전 검사 프로파일을 인간이 읽을 수 있는 SBPL(Sandbox Profile Language) 형식으로 역분해하는 소프트웨어 번들입니다. 직렬화된 필터 그래프의 역공학적 분석과 오토마타 재구성 기법을 활용하여 Apple의 사전 검사 정책을 완전히 분석할 수 있으며, 재컴파일 검증을 통해 복원된 프로파일의 문법적 정확성을 입증합니다.

ABSTRACT

In order to limit the damage of malware on Mac OS X and iOS, Apple uses sandboxing, a kernel-level security layer that provides tight constraints for system calls. Particularly used for Apple iOS, sandboxing prevents apps from executing potentially dangerous actions, by defining rules in a sandbox profile. Investigating Apple's built-in sandbox profiles is difficult as they are compiled and stored in binary format. We present SandBlaster, a software bundle that is able to reverse/decompile Apple binary sandbox profiles to their original human readable SBPL (SandBox Profile Language) format. We use SandBlaster to reverse all built-in Apple iOS binary sandbox profiles for iOS 7, 8 and 9. Our tool is, to the best of our knowledge, the first to provide a full reversing of the Apple sandbox, shedding light into the inner workings of Apple sandbox profiles and providing essential support for security researchers and professionals interested in Apple security mechanisms.

연구 동기 및 목표

  • iOS 7, 8, 9에서 사용되는 Apple의 컴파일된 이진 사전 검사 프로파일을 인간이 읽을 수 있는 SBPL 형식으로 역공학하기.
  • 공개 문서 부족과 이진 사전 검사 프로파일의 복잡성으로 인해, 이는 직렬화된 그래프로 저장되어 분석이 어려운 점을 해결하기.
  • 보안 연구자가 iOS 애플리케이션의 사전 검사 정책을 검토, 수정, 검증할 수 있도록 도구 체인을 제공하기.
  • 물리적 기기 없이 .ipsw 펌웨어 파일을 사용하여 추출 및 역분해 프로세스를 자동화하기.
  • 컴파일 과정에서 추가된 암시적 규칙과 표준 정책 구성 요소를 제거하여 복원된 프로파일을 정리하기.

제안 방법

  • 이진 사전 검사 프로파일을 분석하여 필터 전이 및 연산을 나타내는 직렬화된 그래프 구조를 기반으로 역공학하기.
  • 문자열 패턴으로 레이블이 지정된 전이에 대해 상태 제거 기법을 사용하여 NFA 유사 오토마타에서 정규 표현식 재구성하기.
  • 시스템 라이브러리에서 알려진 매핑과 역공학적으로 확보한 패tern을 활용하여 이진 필터 키 및 값을 SBPL 등가로 매핑하기.
  • 기존 도구(예: Blazakis 및 Esser의 도구)를 커스텀 스크립트와 통합하여 .ipsw 펌웨어 파일에서 프로파일 추출 및 역분해를 자동화하기.
  • 암시적으로 추가된 규칙(예: (allow signal (target self))) 및 원래 SBPL에 존재하지 않는 표준 정책 구성 요소를 제거하기 위한 정제 히ュ리스틱 적용하기.
  • Mac OS X에서 복원된 SBPL 프로파일을 재컴파일하여 문법적 정확성을 검증하고, 플랫폼별 토큰 차이를 고려한 소량의 조정 적용하기.

실험 결과

연구 질문

  • RQ1iOS 7, 8, 9의 Apple 이진 사전 검사 프로파일을 인간이 읽을 수 있는 SBPL 형식으로 완전히 역공학할 수 있는가?
  • RQ2특히 제3자 애플리케이션용 컨테이너 프로파일을 포함한 Apple의 기본 사전 검사 프로파일의 구조적 및 의미적 특성은 무엇인가?
  • RQ3암시적 규칙과 컴파일 과정에서 발생하는 잔여물이 복원된 사전 검사 프로파일의 정확도에 어느 정도 영향을 미치는가?
  • RQ4복원된 SBPL 프로파일이 성공적으로 재컴파일되어 원래 정책 행동을 재현할 수 있는가?
  • RQ5다양한 iOS 펌웨어 버전에 걸쳐 역공학 프로세스를 자동화하고 확장할 수 있는가?

주요 결과

  • SandBlaster는 iOS 7, 8, 9의 모든 내장 이진 사전 검사 프로파일을 인간이 읽을 수 있는 SBPL 형식으로 성공적으로 역공학하였다.
  • 소량의 수정만으로도 재컴파일에 성공하여 복원된 프로파일의 문법적 정확성이 검증되었다.
  • 컴파일 과정에서 자동으로 삽입되는 암시적 규칙(예: (allow signal (target self)))를 식별하고 제거하였다.
  • 역공학된 프로파일은 네트워크, 파일, Mach 서비스 액세스 정책을 포함한 세부적인 시스템 호출 제약 조건을 드러냈다.
  • 디컴파일된 프로파일은 원래 SBPL 의미론과 거의 동일했으며, 플랫폼별 토큰 차이 외에는 미세한 조정만 필요로 하였다.
  • 직렬화된 필터 오토마타에서 정규 표현식을 재구성하는 과정이 복잡한 필터 패턴에 대해서도 효과적이고 확장 가능함을 입증하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.