본문 바로가기

IOS39

iOS 보안 모델 iOS 보안 모델 하드웨어 수준 보안을 제공 주요기능 보안구조를 하드웨어, 운영체제, 애플리케이션 레벨로 계층화 하드웨어/펌웨어 레벨에서 암호화가 진행 애플리케이션은 샌드박스 기술을 사용함 암호화를 통한 데이터 보호 코드서명 iOS 보안 부트 체엔 보안 부트체인 메커니즘을 사용하여 부트 프로세스에서 보안을 제공 부트 수준에서 감염되는 많은 루트킷과 멀웨어가 있기 때문에 각 단계별로 무결성 검사를 통해 위변조 검증 이것을 통해 iOS가 확인된 애플 디바이스에서만 실행될 수 있음.Boot ROM 절대적으로 신뢰할 수 있는 초기 단계 프로세서(보안칩, CPU)에 코드가 포함되어있어 업데이트 또는 변경 불가 Apple 루트인증서가 포함되어 다음 단계인 LLB(Low Level Bootloader)가 올바르게 서.. 2022. 12. 5.
iOS 앱 덤프하기 frida-ios-dump iOS 앱을 정적분석하기 위해서는 복호화된 ipa파일이 필요하다. 이번 포스트에서는 frida-ios-dump를 이용해 복호화된 ipa파일을 추출하는 법을 알아보겠다. 0. 준비 우선 탈옥된 아이폰, ssh가 접속되는 아이폰이 필요하며, PC에는 frida가 설치되어 있어야한다. 아직 안되어있다면 이전 포스트를 참고하라. https://lucidmaj7.tistory.com/379 아이폰 탈옥하기 with checkra1n (iOS 12.5.6) 집에서 굴러다니던 아이폰6를 unc0ver로 탈옥을 하고 나서 애플 계정세팅을 다시하려고 초기화를 해버렸는데.. 무조건 최신버전으로 올라가버려 12.5.6이되어 버렸다. 때문에 더 이상 내 아이폰6은 lucidmaj7.tistory.com https://luci.. 2022. 10. 19.
iOS 프리다(Frida) 세팅하기 이번 포스트에서는 iOS 앱을 동적 분석하는데 가장 많이 쓰이고 있는 프리다(Frida)를 세팅해 보겠다. Frida를 사용하는데 Windows든 macOS든 상관이 없으므로 Windows에서 진행하겠다. 0. 탈옥, 아이튠즈, python3 설치 아이폰이 PC에서 아이폰으로 인식하기 위해 아이튠즈가 설치 되어있어야 하며, 프리다(Frida)를 설치하고 사용하기 위해 python3를 설치 해야한다. 당연히 아이폰은 탈옥된 아이폰이어야 한다. 아이폰 탈옥 방법은 이전 포스트를 참고하자. https://lucidmaj7.tistory.com/372 아이폰 탈옥하기 (iPhone Jailbreak with unc0ver, Altstore) 어쩌다보니 iOS 보안쪽 프로젝트를 하게 되면서( 보안을 벗어나나..싶.. 2022. 10. 14.
아이폰 탈옥하기 with checkra1n (iOS 12.5.6) 집에서 굴러다니던 아이폰6를 unc0ver로 탈옥을 하고 나서 애플 계정세팅을 다시하려고 초기화를 해버렸는데.. 무조건 최신버전으로 올라가버려 12.5.6이되어 버렸다. 때문에 더 이상 내 아이폰6은 unc0ver로 탈옥이 불가능해졌다. appledb.dev 사이트에서 조회 해본 결과 checkra1n 탈옥툴로 iOS 12.5.6이 올라간 아이폰6를 탈옥 할 수 있는 것으로 나왔다. 바로 실행해본다. 1. checkra1n 다운로드 일단 macOS환경에서 checkra1n사이트에서 툴을 다운로드 받는다. checkra1n 0.12.4 beta 최신버전을 다운로드 받으면 dmg 패키지 파일이 다운로드 된다. checkra1n을 Application폴더로 드래그 앤 드롭 하여 설치한다. 2. checkra1.. 2022. 10. 13.
iOS 버전별 기기별 호환 탈옥툴 조회, 펌웨어 조회 - appledb.dev iOS탈옥툴도 여러가지이며 각 탈옥툴마다 지원하는 iOS버전도 다르다. 현재 iOS 최신버전은 어떤 탈옥 툴을 지원하는지 잘 정리해 두는 사이트가 있어 소개 해본다. https://appledb.dev AppleDB | AppleDB appledb.dev appledb.dev에서는 애플기기별 펌웨어 정보도 모아둔다. 이렇게 12.5.6 최신버전으로 올린 내 아이폰6도 탈옥할 수 있는 툴이 있음을 알 수 있었다. 2022. 10. 13.
iOS개발을 위한 Apple 아카이브 문서 모음 iOS에서 앱을 개발하기 앞서 Apple OS 시스템에 대한 이해가 필요한 것 같다. 단순히 UIkit으로 앱을 만드는 것 보다 좀 더 깊게 알면 좋은데 Apple에서는 이러한 내용을 Apple 아카이브 문서로 모아 두었다. 시간날때 읽어보자. (계속 추가 될 예정이다.) Concurrency Programming Guide: Apple OS에서 동시성 프로그래밍을 제공하는 방법을 알 수 있다. (dispatch queue 등) Threading Programming Guide: Apple OS에서의 쓰레드 프로그래밍 Bundle Programming Guide: 번들에 대하여 File System Programming Guide: 파일시스템 App Sandbox Design Guide: 앱 샌드박스 K.. 2022. 10. 12.
iOS/macOS 번들(Bundle)에 대하여 - Part 1 iOS 개발을 하다보면 번들 ID부터 시작해서..자꾸 접하게 되는 것이 번들(Bundle)이다. 그냥 추상적으로 앱을 묶어놓은 패키지, 앱이 사용하는 공간 정도로 생각하고 있었으나 그 개념이 명확히 몰라 베일에 쌓여있었다. 도대체 번들(Bundle)이란 무엇인가? 왜 번들이 필요할까? macOS에서 응용프로그램에서 앱을 하나 선택해 패키지 보기를 선택하면 무언가 디렉터리로 들어가진다. 분명 .app 확장자를 가지는 파일인데 안에 내용은 마치 폴더와 같은 구조이다. 이 안에는 앱이 쓰는 아이콘, 이미지, 실행 바이너리 등이 들어있다. 어떤 .app확장자를 가지는 응용 프로그램을 열어봐도 동일한 구조의 디렉터리가 나온다. 분명 파일인데 왜 폴더 처럼 구성 되어 있을까? macOS에서 앱을 설치하는 방법 중 .. 2022. 10. 11.
iOS에서 카메라 필터를 만드는 법 조사 (LUT Lookup Image) 한 3년전 GPUImage 라이브러리를 활용하여 카메라 앱을 하나 개발 했었다. 그때 당시 라이트룸으로 한창 사진을 보정해보고 있을 때라 카메라로 찍어서 컴퓨터에서 작업하기 귀찮아 내가 만든 프리셋을 앱으로 만들어 버렸던 것이다.(사실 내가 필요해서 만듦.) https://apps.apple.com/kr/app/moment-july-camera-filters/id1448199130?l=en ‎Moment July - Camera Filters ‎Moment July is a photo filter application which has an atmosphere of July. Every filter in the application feels like bluish and cool and reminds o.. 2022. 10. 10.
아이폰 탈옥하기 (iPhone Jailbreak with unc0ver, Altstore) 어쩌다보니 iOS 보안쪽 프로젝트를 하게 되면서(보안을 벗어나나..싶었는데..) 가장 먼저 필요한 것이 바로 탈옥된 아이폰이다. 탈옥된 아이폰이 있어야 여러가지 취약점 테스트, iOS 시스템의 내부 구조들을 볼 수 있기 때문이다. 아이폰를 꽤 오래 사용하고 있음에도 단 한번도 아이폰을 탈옥시킨 적이 없었다. 내 정보가 들어있는 아이폰의 보안을 무너뜨리기 싫었기 때문이다. 때문에 이번 작업은 나도 처음이다. 주의- 함부로 따라하지 마세요. 0. itunes & icloud 설치 최신 itunes를 설치하자.(마이크로소프트 스토어에서는 설치하지 말고..) https://www.apple.com/kr/itunes/ iTunes 최신 macOS가 음악, 영화, TV 프로그램, 팟캐스트, 오디오북, 그 밖에 다양.. 2022. 10. 6.