自打进入2018年,苹果似乎就没有过上一天的好日子,远的就有余波未散的电池门、正在发酵的信号门,最近则不仅是AirPods着了火,还有更加火上浇油的,是一向密不透风的iOS源代码此次又双叒叕被泄露了。

苹果又双叒叕搞事情了

此前在知名代码分享平台GitHub,有匿名用户分享了苹果的iBoot源代码,而该源代码属于苹果iOS 9.3.x系统的一部分,从这一代码中,可以看到低阶的32位或64位Arm芯片整合代码、系统驱动代码、内部文档、操作系统工具、系统包工具等。有安全研究人员对此表示,如果对这段代码进行分析,可以用来寻找iOS系统的安全漏洞,并且尽管这一代码属于早前的iOS 9.3.x版本,但在其中不可避免的是同样有一部分代码也可能会被使用在了最新的iOS系统中。

相比于电池门和信号门的反应迟缓,这次苹果可能是真的着急了,火速以美国《数字千年版权法》为依据,要求GitHub删除泄露的源代码。虽然说每一次新iOS系统的发布,都有诸多越狱团队和苹果斗智斗勇,但是这一次在泄露源代码的帮助之下,大牛们完全可以通过这些源代码做出更完美的iOS越狱版本。

据悉,这次泄露的代码主要是iOS设备在开机时检查系统的代码,用于检测系统是否获得苹果签名认证。而通过这部分泄露的代码,将更加容易发现iOS系统的漏洞,并开发出相关的越狱工具,或开放升降级的签名认证。

虽然苹果一直都建议用户更新到最新系统版本以确保安全性,但目前仍然使用iOS 9的也基本都是例如iPhone6这样的老用户,以确保旧的iPhone依旧能够流畅运行。但是由于iOS系统降级如今几乎不太可能,在遭遇安全漏洞的情况下,或将有不少的老用户会纠结是否升级的问题了。

这或许是苹果的“计谋”

根据最新的进展来看,代码泄露人是苹果的前实习生,而苹果在很早之前就知道这份源代码在越狱社区流传的事实,因此在此前苹果发布的声明中表示,“系统的安全性本身也不依赖于源代码的保密”。

考虑到iOS11.3 beta版才刚刚公布不久,早被苹果知晓的“炸弹”就刚刚好在这个时间节点被引爆。从以小人之心度苹果君子之腹的角度来看,难免会觉得iOS 9源代码泄露是苹果“催更”的小套路。

考虑苹果在事件中扮演的角色,目前我们可以确认的是源代码的泄露可能会给越狱带来方便。由于泄露的源代码并不完整,因此这些源代码无法被编译成可执行代码,但是因为提供了iBoot相关内容,所以泄露的源代码将使启动阶段的安全漏洞更容易被发现,而对于越狱工具来说无疑将是福音。

必须承认地是,随着iOS系统的逐渐发展,越狱已经从一个普遍现象成为了极客向的玩法。包括第三方输入法、多任务、分屏模式、浏览器插件等曾经只有越狱独有的功能,也已慢慢出现在iOS系统上,再加上第三方开发者和苹果对于盗版应用的打击,如今可以说,即使开发者们能推出更好用的越狱工具,但目前的境并算不上不理想,也难以有太多用户买账。

封闭的iOS真的很安全

目前来看,对于此次泄露时间的担心,可能只是虚惊一场。根据相关人士的说法,泄露的iBoot源代码是负责iOS系统的恢复模式的部分,需要在设备通过物理方式连接到电脑后,再刷机才能对其造成影响。

苹果的iOS系统由于封闭特性以及有多层安全阀的存在,其手机系统的安全性不仅是软件层面,还有硬件保护层。众所周知,在软件层面,为了保护开发者的版权以及防止盗版应用,iOS有着非常严格的签名保护机制。在运行代码前,系统会对即将运行的代码进行签名校验,并且是运行在系统内核里,只有越狱才能绕开这项机制。而内核在vm_fault_enter中也规定了,绝大部分情况下具有执行位的也需要进行签名有效性检查,如果检查到该页签名无效就会立即终止进程。

在硬件保护上,苹果还使用了Secure Enclave模块来维护系统的安全性。据了解,每个Secure Enclave在制造的过程中都会被分配到一个单独的UID,它不能访问iPhone中的其他系统,甚至苹果本身也不知道这个UID。当手机被启动的时候,一个临时的密钥就会被创建出来,配合手机的UID,用于加密Secure Enclave的内存部分。

苹果曾在相关说明文档中强调,被Face ID和Touch ID采集的信息是“没有第三方”规则的,也就是说除了苹果本身,没有第三方能够使用用户数据的权利。所以说,苹果确实在某种程度上扮演了一个专横父亲的形象,在约束和教育用户的同时,也为用户遮风挡雨。此次的源代码泄露事件,现在来看还不会对固若金汤的iOS造成太大的影响,但是至于未来,封闭性的iOS能否接受住时间的考验,或许只有等待爆发的那天才知道了。

iosios的源码是怎么被泄露_iOS9源码泄露,是真的么?相关推荐

  1. jdk源码分析书籍 pdf_如何阅读源码?

    点击上方"IT牧场",选择"设为星标" 技术干货每日送达! 阅读源码是每个优秀开发工程师的必经之路,那么这篇文章就来讲解下为什么要阅读源码以及如何阅读源码. 首 ...

  2. docker保护python源码_Tensorflow在Docker中运行和源码编译

    本文分享在在Docker中运行Tensorflow和进行源码编译的方法和步骤,包括:编译.构建docker镜像.创建和运行Docker容器.部署完的容器可以通过Jupyter Notebook进行访问 ...

  3. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  4. 要的需求 ip提取网站源码带采集 要求是PHP源码

    求.ip提取网站源码带采集 要求是PHP源码.必须带采集 类似 小峰IP提取网站,安小莫IP提取,迷惘IP提取,冰封IP提取 免费类型的 不要淘宝类型的 200 转载于:https://www.cnb ...

  5. 4月,诚邀你参加源码共读,学会看源码,打开新世界!开阔视野

    大家好,我是若川.很多关注我的新朋友可能不知道我组织了源码共读活动~ 也有很多人不知道我是谁.有人以为我是80后.有人以为我是全职自媒体等等.若川的 2021 年度总结,弹指之间 这篇文章写了我是16 ...

  6. 7个月,4000+人,500+源码笔记,诚邀你参加源码共读~

    大家好,我是若川.按照从易到难的顺序,前面几期(比如:validate-npm-package-name.axios工具函数)很多都只需要花2-3小时就能看完,并写好笔记. 但收获确实很大.开阔视野. ...

  7. Android源码分析(十一)-----Android源码中如何引用aar文件

    一:aar文件如何引用 系统Settings中引用bidehelper-1.1.12.aar 文件为例 源码地址:packages/apps/Settings/Android.mk LOCAL_PAT ...

  8. 一码空传临时网盘源码-带提取码功能

    介绍: 一码空传临时网盘源码,无数据库版V2.0,免费授权. 前端采用layui开发框架,后端是原生PHP,没有使用任何的开发框架. 采用了一个无数据库配置读写类,config文件读写代码来自网络. ...

  9. 源码 解析_最详细集合源码解析之ArrayList集合源码解析

    从今天开始我会将集合源码分析陆陆续续整理,写成文章形成集合源码系列文章,方便大家学习 ArrayList集合源码其实相对比较简单,整个源码结构相对于HashMap等源码要好理解的多:先来看下Array ...

最新文章

  1. Java之IO,BIO,NIO,AIO
  2. 6张信用卡欠款10000到47000不等,会被起诉坐牢吗?
  3. 重口味动漫_每种口味的图标样式
  4. '[linux下tomcat 配置
  5. Orleans 初接触(一) 入门例子
  6. idea部署web项目到tomcat注意事项
  7. SESSION和COOKIE的使用
  8. InfoQ就Spring Boot 2.0 GA版发布采访了项目牵头人Phil Webb
  9. oracle 的自增需要依靠序列和触发器共同实现
  10. JanusGraph学习-安装和使用
  11. HDLCoder的系统设计
  12. HC32F460 浮点运算开启
  13. 微信小程序如何显示富文本,类似v-html,rich-text
  14. android中生成excel
  15. php正则匹配汉字!
  16. 2016/10/30 宝贝蛋,我好想你。
  17. 苹果笔记本能装linux系统吗,为什么很多人买了苹果笔记本后,会重新装一个windows系统?...
  18. Option 82在校园网的应用与实现(转)
  19. 计算机四级考试从零开始,从零开始考公务员,这些步骤要学会!
  20. 公共数据运营模式研究报告 附下载

热门文章

  1. html5文本域边框管理,表单控件之富文本框实践
  2. vue 判断鼠标上下滚动
  3. MATLAB8.6安装慢,matlab 安装及安装完成初始化缓慢问题解决
  4. html设置%3cbody%3e背景颜色,使用css写带纹理渐变背景图的示例代码
  5. linux下vhd win10,VHD双系统(windows10)
  6. postman使用socks4/5代理问题
  7. RNN模型与NLP应用:机器翻译与Seq2Seq模型-7/9
  8. 解决项目中出现问题 Cannot resolve com.xpand:starter-canal:0.0.1-SNAPSHOT
  9. 想念你的夜,一个人流泪,两颗心体会
  10. 长安车机的安装拦截分析(安装应用部分)