首页
社区
课程
招聘
[原创] 内核开发系列2 - 硬件及内核基础知识之SEP
发表于: 2022-2-7 23:45 15438

[原创] 内核开发系列2 - 硬件及内核基础知识之SEP

2022-2-7 23:45
15438

Security Enclave Processor (SEP)

SEP 是 iPhone 的系统加密单元(System Encryption Processor)的简称。它是 iPhone 系统中的一部分,负责对 iPhone 的数据进行加密和解密。


SEP 位于 iPhone 的硬件层面,与 CPU 和内存等硬件设备相互独立。它采用了高强度的加密技术,可以有效保护用户的数据安全。


当用户的 iPhone 被锁定时,SEP 就会对存储在 iPhone 中的数据进行加密。只有当用户输入正确的密码时,SEP 才会解密数据,并允许用户访问 iPhone 中的内容。


此外,SEP 还可以通过 Touch ID 和 Face ID 等生物识别技术,来提高 iPhone 的安全性。通过 SEP,用户可以放心地存储敏感信息.


checkra1n越狱CPU A11不能设置指纹和密码就是这个原因,因为A11的SEP无法破解. 只能关闭. 现在网上的资料是相当少的,相关的源码也还没看到.

固件文件在ipsw包的Firmware/all_flash/sep-firmware.xx.RELEASE.im4p中.

内存地址在Device Tree的/chosen/memory-map.SEPFW中.


网上少有的资料(全英文):https://patents.google.com/patent/US8832465

22: Memory Controller

    TZ0 Config: Trust Zone 0 Config  更多详情请看原文


------------------------------------------


 iBoot 和 iPhone SEP 没有直接的联系和通信。iBoot 是一个引导程序,它的主要作用是检查和验证 iPhone 的软件和硬件,并启动操作系统。iPhone SEP 是一个硬件组件,它提供安全存储和处理敏感数据,如用于 Touch ID 和 Face ID 的生物识别信息。


  iBoot 和 iPhone SEP 之间不需要直接通信,因为它们所执行的任务不同。iBoot 只负责检查和验证 iPhone 的硬件和软件,然后启动操作系统,它并不需要直接使用 iPhone SEP 提供的数据。iPhone SEP 主要负责处理和保护敏感数据,它与 iBoot 之间也没有直接的通信。


------------------------------------------


ARM EL0~EL3 是 ARM 架构中的几个特殊的处理器环境级别(Exception Level),它们对应了不同的处理器模式,分别用于运行不同层次的软件。


ARM EL0:这是最低的处理器环境级别,对应于应用程序模式,用于运行用户应用程序。

iBoot 是 iPhone 的引导程序,它位于 iPhone 系统的最顶层,负责启动 iPhone 并加载操作系统内核。


当用户按下 iPhone 的电源键时,iBoot 就会开始工作。它首先检查硬件状态,确保 iPhone 可以正常启动。然后,它会读取系统镜像文件并加载到内存中,并将控制权交给操作系统内核。


iBoot 还负责管理 iPhone 的固件更新过程。当用户下载并安装新的固件时,iBoot 会更新系统镜像文件,并保存在 iPhone 的存储空间中。下次 iPhone 启动时,iBoot 会自动加载新的固件。



-----------------------


iBoot 是 iPhone 的核心部分,它对于 iPhone 的正常运行至关重要。因此,iBoot 的代码通常是不对外公开的,并且采用了多重加密技术,以防止恶意破解。

ARM EL1:这是中级的处理器环境级别,对应于操作系统内核模式,用于运行操作系统内核。


ARM EL2:这是高级的处理器环境级别,对应于虚拟机模式,用于运行虚拟机监管程序。


ARM EL3:这是最高的处理器环境级别,对应于安全模式,用于运行安全管理程序。


处理器环境级别之间是有关系的,比如 ARM EL1 可以调用 ARM EL2,但 ARM EL2 不能调用 ARM EL1。通常,用户应用程序会运行在 ARM EL0,操作系统内核会运行在 ARM EL1


-----------------------


  ARM64 架构的处理器具有 32 个 64 位通用寄存器,编号从 x0 到 x31,每个通用寄存器都可以存储 64 位数据。此外,还有若干个 64 位特殊寄存器,如 PC 寄存器、SP 寄存器、CPSR 寄存器等。


  下面是 ARM64 架构的处理器所有的寄存器:


  - x0~x31:通用寄存器,可用于存储和访问数据。

  - PC:程序计数器,用于记录当前正在执行的指令的地址。

  - SP:堆栈指针,用于指向当前堆栈顶部。

  - CPSR:当前状态寄存器,用于记录当前处理器的状态。

  - SPSR:保存状态寄存器,


------------------------------------------


Checkra1n 是一款用于破解 iPhone 的越狱工具,它的原理是利用了一个名为 checkm8 的漏洞。


checkm8 是一个针对 iPhone 的漏洞,它存在于 iPhone 的硬件层面。由于 checkm8 漏洞涉及到硬件部分,因此不受软件更新的影响,无法通过软件更新来修复。


Checkra1n 通过利用 checkm8 漏洞,来获取 iPhone 的硬件访问权限,从而实现 iPhone 的越狱。这意味着,通过 Checkra1n 越狱后,用户可以获得更多的系统控制权限,并能安装非官方的应用程序和插件。


目前,Checkra1n 只能用于破解 iPhone 5s 至 iPhone X,不支持 iPhone 11 系列和新款 iPhone。同时,由于 Checkra1n 依赖于 checkm8 漏洞,因此当 Apple 修复了 checkm8 漏洞时,Checkra1n 也将无法使用。


------------------------------------------





有更多资料可以在评论区回复




更多待更新...


---


内核开发系列

[内核开发系列1 - 从越狱隐藏到自定义越狱](https://bbs.pediy.com/thread-270824.htm)

**内核开发系列2-硬件及内核基础知识**

**内核开发系列3-基于QEMU和iBoot泄露源码内核开发调试**

**内核开发系列4-基于Corellium内核开发调试**

[内核开发系列5 - 从checkra1n了解Kernel Patch](https://bbs.pediy.com/thread-270825.htm)


更多待更新...


----

原创内容,转载或内核开发交流可Q: 3#1#0#4#1#9#0#6#2 (倒序) 


----



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2022-12-8 15:32 被alice编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//