목록自習/iOS (4)
학사 나부랭이
Sandbox Architecture 1. 확장을 승인하는 특권 앱 2. 샌드박스가 시스템 콜을 승인 또는 거부 3. 자격이 조건을 만족 4. 확장이 조건을 만족 5. 몇몇 시스템 앱이 컨테이너 프로파일을 사용 6. 데몬은 고유한 프로필을 소유 7. 몇몇 시스템 앱은 고유한 프로필을 소유 8. AppleMatch.kext(Kernel Extensions)가 정규 표현식을 처리 Overview https://owasp.org/www-pdf-archive/OWASP_Bucharest_AppSec_2018_-_Breaking_the_iOS_Sandbox_-_Razvan_Deaconescu.pdf https://arxiv.org/pdf/1608.04303v1.pdf https://chromium.googleso..
애플 디바이스에 응용 프로그램이 동작하려고 할 때, 앱 스토어에 배포할 때, 인앱 결제를 할 때 인증을 받아야 하는데, 여기서 인증서를 요청해야 해요. 그러니까 실제 자신의 디바이스에 구동을 시키고 싶다면 꼭 해야 하는 절차예요. 애플만이 자신들이 만든 디바이스에 어떤 소프트웨어를 실행하게 할 수 있어요.「アップルだけが自分たちが作ったデバイスにあるソフトを実行させる事を許すのです。」 실제로 앱이 실행될 때마다 애플로부터 인증을 받았는지 요구해요. 우선 iOS에 자신이 만든 앱을 등록하는 과정은 대략적으로 아래와 같아요. 1. 개발자가 애플에게서 iOS 디바이스에 앱을 설치할 수 있는 권한을 얻어야 해요. 그러니까, 개발자는 애플에서 인증을 받은 개발자가 되어야 하는 허가제이죠. 이 인증서를 통해 애플은 개발자..
iOS는 정보보호와 안정적인 구동 환경을 위해 다방면으로 앱의 기능을 제한하죠. 백그라운드 프로세스 제약도 그중 하나예요. 왜 이런 백그라운드 프로세스에 제약을 뒀을까요? 먼저 보안을 위해서인데요. 일반 앱이 백그라운드에서 자유롭게 돌아갈 수 있다는 거는 악성 프로그램도 마찬가지로 무한으로 백그라운드 프로세싱을 즐긴다는 거죠. 그래서 허가된 조건 하에서만 백그라운드에서 작동할 수 있도록 해요. 그리고 자원을 아끼기 위해서 인데요. 무엇보다 스마트"폰"인데 백그라운드 프로세스로 인해서 전화받는 작업이 원활하지 못하면 본말전도라고 생각해서 제약을 둔 거 같아요. 그런데, 아이폰으로 카톡도 잘 되고, 음악도 잘 되는데 이건 어떻게 구현했을까요? 바로 멀티태스킹인데요, iOS4 이후부터 본격적으로 지원되었으며 ..
Sandbox - 어린이가 안전을 위해 모래통 안에서만 놀게 하는 것에서 유래 서드파티 앱은 샌드박스 처리 즉, 격리되어 있기에 자신의 폴더에 있는 데이터 외에는 접근할 수 없어요. 즉, 다른 앱에서 저장한 파일, 시스템 파일 및 자원 등을 수정 및 접근할 수 없고, 접근하려면 샌드박스 정책에 따라 접근 권한을 부여받아야 해요. 각 앱은 설치 시 랜덤으로 지정되는 파일 저장용 고유 디렉터리가 할당되고 거기가 해당 앱의 홈 디렉터리가 되어요. 샌드박스가 없다면? 앱에 모든 접근 권한을 줄 경우, 편의성과 수행의 자유도가 높지만 해당 앱이나 프레임워크에 취약점이 있을 경우 공격자가 해당 취약점을 이용해 접근, 공격자가 모든 데이터나 자원에 접근해 악용할 수 있죠. 하지만 샌드박스를 적용할 경우, 공격자는 해..