-
Notifications
You must be signed in to change notification settings - Fork 1
Assumptions and Limitations
Luke Deshotels edited this page Dec 9, 2016
·
7 revisions
- We are not missing any important sandbox-extensions that modify a process's privileges (This is an important but scary assumption, and we should really deal with it before writing the paper. We will need to know which sandbox-extensions each process is likely to get.)
- All the mach-services we find are active
- All processes are equally exploitable
- Sandboxes profiles are assigned based on the following features
- Executable is a keyboard extension
- Executable's filepath matches './mobile/Containers/Bundle.'
- Executable has com.apple.private.security.container-required entitlement key
- Executable has seatbelt-profiles entitlement key
- Executable references sandbox_init or apply_container in its binary
- Our jailbreak did not modify the access control architecture
- A process does not call a library function if it does not contain a string with the name of the function. We also assume that the presence of such a string implies that the library function will be called.
- All Apple developed executable identifiers match ‘^com.apple..*’.
- The executable we analyze will all run on the device at some point / they are not just dead code
- A process can be compromised by reading a file that has been written to by another compromised process
- The following processes can be treated as entry points for attackers
- Third party apps
- Third party app extensions
- Afcd
- Siri?
- etc.
- Optional access control features
- Network
- Drivers
- Frameworks
- Access Control Lists
- User data
- iOS versions
- iOS 9.0.2
- Set up two modes (with jailbreak and with firmware filesystem)