이상한 제목, 알아요. 내가 진정으로 묻는 것은 "NSBundles를위한 TrustedBSD MAC 프레임 워크 또는 iOS 샌드 박스를 만들 수 있습니까?" 모듈을 언제든지 "스위치 보드"에 "플러그 인 (plugged in)"또는 "연결 해제 (unplugged)"할 수있는 매우 동적 인 응용 프로그램이 있습니다. 운영하는 사용자가 다른 컴퓨터에 있거나 멀리 떨어진 곳에 있습니다. 사용자가 스위치 보드 모듈이 어떻게 호환 될 수 있는지 알 수있는 방법이 없으며 부재시 시스템을 파손시키지 않아도됩니다. iOS 샌드 박스 및 TrustedBSD (Lion의 Seatbelt.framework)가 프로세스에서이 작업을 수행 할 수 있지만 번들 코드로이 작업을 수행하려면 어떻게해야합니까? 모든 POSIX 통화 및 ObjC 메시징 (바이너리,이 시점에서 .... 코드를 바이너리 아니기 때문에 불가능한 것)의목표 -C에서 NSBundle 샌드 박싱
정적 바이너리 분석 :
것들 나는 생각했습니다.
런타임에 ObjC 메시지를 추적하고 로깅하여 단일 이탈 호출 후에 모듈을 잠급니다. (이것은 POSIX 호출이나 C 호출, 어셈블리에 영향을 미치지 않으며 최소한 하나의 호출이 이미 전송 된 것입니다).
가 XPC와로드 모듈을 사용하여 샌드 박스 외부 프로세스를 만들고 그 과정 노선 스위치를 호출에 PDO를 사용 (매우 드리겠습니다,하지만 난 여기에 스노우 레오파드의 호환성이 필요합니다).어떤 아이디어? 한 번로드 된 번들이 애플리케이션의 PART로 끝나기 때문에 보안 구현시 더 많은 문제가 추가된다는 것을 알고 있습니다.
저는 이것을 완전히 이해합니다. 이것이 제가 묻는 이유입니다. 이것을 할 수 있습니까? (이미 많은 PDO 실행 파일을 가지고 있으므로 XPC 또는 PDO를 피하기 위해 열심히 노력하고 있습니다.) –