近几周,苹果和FBI的“口水大战”持续刷屏中,前天美国国家安全局(NSA)前雇员爱德华.斯诺登斥FBI称自己不能解锁苹果手机是扯淡的新闻再次刷频各大网站。

那么问题来了,难道以FBI的能力真的无法解锁一部小小的iphone?理论上来说,其实还不止一种方法解锁苹果手机。

1、使用聚焦离子束和酸强制拆除iphone

这种方法是一种危险的解决方案,使用酸拆解苹果芯片,然后用聚焦离子束(非常精确的原子锯)切开芯片的外层结构,使二进制码裸露的快闪内存上,一个位组、一个位组的读取资讯。这样做的缺点是,对于操作的精度要求极高,稍微不慎就会损坏芯片,将导致上面的所有内容永久遭到破坏,无法恢复。

这种“霸王硬上弓”的方法失败率极高,而且成本高昂。FBI如此紧迫想得到这部5C手机的犯罪数据和其它恐怖分子的联系方式,恐怕不会轻易尝试。

2、越狱解锁

运行iOS系统的iPhone内置锁定和擦除功能,这无法避免。iPhone进入DFU模式,首先加载内存镜像,验证其加密签名,然后启动镜像。这个过程事实上很简单,且很难被破解。当然,破解这一过程也并非不可能,因为iOS设备开机后采用一种称为可信引导的方式进入系统,SecureROM是首先被引导的部分,但SecureROM存在bug,这种bug使得处于DFU模式的设备无需先验证加密签名就能够运行镜像。

迄今为止已有6个SecureROM bug被发现,利用这些bug,越狱者就能找到方法绕过加密签名验证。这种bug吸引越狱者蜂拥而至,因为SecureROM代码被整合进硬件中,所以设备一旦售出就无法被修复,只有通过硬件升级才能解决。

已被发现的bug有在SecureROM加载内存镜像过程中的,有验证签名过程中的,也有USB通讯过程中的。无论出现在哪里,bug总能迫使iPhone启动未验证的固件。如果发现第七个SecureROM漏洞,越狱者就能在iPhone上运行自己定制的固件了。

该漏洞同样会赋予FBI创建自己所需的定制固件,并利用这固件攻破PIN码的能力。但这种方法的难点在于可能没有这样的bug存在,亦或bug确实存在但没有人知道是什么。

另外据一些批评家指出,政府组织(也许是NSA)可能已经找到第七个漏洞。而之所以与苹果打官司,是为了掩盖已越狱iPhone的事实。

3、获得苹果公司编写的新固件

罪犯的iphone5c固件已经升级到iOS9,系统需要设置6位密码,开锁密码需手动在屏幕上点按输入,而且两密码之间输入间隔不得小于80毫秒,单位是毫秒哦。如果输入错误达到10次,手机里的数据将永久被锁定,再无任何办法可解密了。

所以FBI要求苹果专门为这只手机开发一个新固件,但新固件要具备2个特性:

1、取消输入错误10次自动永久锁定的功能

2、可以用外接键盘代替屏幕点按来输入密码

这样,FBI就能用自动化穷举法穷举出嫌疑犯的手机密码,但80毫秒的限制依然很恶心,每秒智能尝试8到9次,真是慢的让人恼火。

其实苹果的数码签章技术可以规定这个新固件只用于解锁嫌疑犯的iphone5c,但苹果依然不能这么多,一旦这个“破解版固件”流传出去,黑客会透过其它手机伪装成这支iphone5C手法进行破解活动。

4、阻止苹果手机擦除加密密钥

苹果处理iPhone加密密钥的方法更复杂,用来加密整个磁盘的并非PIN码与硬件ID结合的密钥。二者结合产生的密钥是被用来加密第二密钥(藏身于iPhone闪存中),而第二密钥才被用来加密整个磁盘。如此一来,修改PIN码只能导致重新加密第二密钥。

受损耗均衡的影响,正常闪存上的数据很难被安全擦除。为延长寿命,闪存支持的擦写次数有限。有时候,覆盖闪存驱动器上的文件实际上可能并没有成功覆盖,只是在其它位置写入了新文件,而旧文件的内容可能会被保留下来。

如此特性使闪存无法成为存放可被删除加密密钥的理想场所。苹果的解决方法是在闪存上留出经特殊处理的区域:“effaceable storage”。“effaceable storage”并不属于正常的文件系统,不受损耗均衡的影响。它里面的文件删了就是删了,没有恢复的可能。

因此,当iPhone因为错误的PIN码输入、远程擦除指令或内置重置功能而擦除数据的时候,effaceable storage区域的内容将被彻底抹去。

effaceable storage区域同样支持读取和写入,原则上effaceable storage区域的内容可以被备份和安全地保存。

如果在iPhone上输错PIN码10次,effaceable storage就会从备份中恢复,然后新一轮PIN码输入就可以开始,这一过程可以无限重复。

去年2月,9to5Mac发布的一段来自中国深圳的视频,就展示了类似过程。视频里,一部16GB的iPhone闪存芯片被剥离下来并放进闪存读卡器中。结果闪存上的所有内容都被读取出来,也包括effaceable storage区域。视频还显示,在原来闪存芯片的地方放入128GB芯片,结果所有内容包括加密和数据都被恢复。

FBI可能会采用同样的方法,但无需不断拆下和焊接上芯片,只要安装某种插口就行,并且整个过程可以简单地利用机械控制。

更奇异的方法是在iPhone和闪存芯片间放置某种中间控制器,这控制器将允许读取指令,但会阻止擦写数据。这中间控制器又被成为硬件只读隔离保护器,在司法程序中经常见到,用来防止修改SATA、SCSI和USB磁盘物证。

很显然,要开发出类似的用于闪存芯片的控制器并非难事。如此一来就能跳过擦除/恢复过程,只要隔几次重启一下手机就行。

But,以上这些方法并未出现一例被成功用于解锁苹果iphone 5C,另据坊间消息称, FBI 应该是和 NSA(美国国家安全局),CIA(美国中央情报局)以及五角大楼的网络安全团队寻求过帮助,不过,未能取得任何的进展。多次“跪求”苹果后,也被库克高冷地拒绝了。

本文转自d1net(转载)

竟然有这么多方法可以获得iphone5C的数据,FBI你高兴不?相关推荐

  1. 接口里面的方法都是抽象方法吗_单元格区域选取,竟然有这么多种方法,你都造吗?...

    在日常工作中, 怎么能少了Excel表格,相信我,如果你能把Excel用到极致,工作效率可是瞬间提升的,当然,可能还附带升职加薪哟! 关于单元格及单元格区域的选取可以说是Excel中最基本的操作之一, ...

  2. python使用imbalanced-learn的ClusterCentroids方法进行下采样处理数据不平衡问题

    python使用imbalanced-learn的ClusterCentroids方法进行下采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜 ...

  3. python使用imbalanced-learn的AllKNN方法进行下采样处理数据不平衡问题

    python使用imbalanced-learn的AllKNN方法进行下采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class ske ...

  4. python使用imbalanced-learn的NearMiss方法进行下采样处理数据不平衡问题

    python使用imbalanced-learn的NearMiss方法进行下采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class s ...

  5. python使用imbalanced-learn的TomekLinks方法进行下采样处理数据不平衡问题

    python使用imbalanced-learn的TomekLinks方法进行下采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class ...

  6. python使用imbalanced-learn的OneSidedSelection方法进行下采样处理数据不平衡问题

    python使用imbalanced-learn的OneSidedSelection方法进行下采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏 ...

  7. python使用imbalanced-learn的SMOTE方法进行上采样处理数据不平衡问题

    python使用imbalanced-learn的SMOTE方法进行上采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class skew ...

  8. python使用imbalanced-learn的SVMSMOTE方法进行上采样处理数据不平衡问题

    python使用imbalanced-learn的SVMSMOTE方法进行上采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class s ...

  9. python使用imbalanced-learn的ADASYN方法进行上采样处理数据不平衡问题

    python使用imbalanced-learn的ADASYN方法进行上采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class ske ...

最新文章

  1. 入门单片机选择51还是stm32?入门单片机有哪些好的教学视频?
  2. simulink和psim仿真结果不同_案例展示金属增材制造过程仿真分析 (下篇)- 微观尺度...
  3. 研发手Q推广遇到的一系列问题
  4. boost::geometry::azimuth用法的测试程序
  5. 大剑无锋之后台运行程序并输出日志到某文件【面试推荐】
  6. 常用编码软件简单使用记录 2 : 非自主编码器
  7. 3. Browser 对象 - Navigator 对象
  8. C#进制转换(二进制转十进制 十进制转16进制等)
  9. 【语音去噪】基于matlab先验信噪比的维纳滤波算法语音去噪【含Matlab源码 572期】
  10. odoo13 订单模板设置_ERP输出嵌入公章的采购订单电子档,其实真的不难
  11. 材料模拟python_关于材料计算,模拟,仿真什么区别?
  12. 极米旗舰级新品极米H5强势来袭:画质性能在线,硬核配置拉满
  13. Fine-grained prosody modeling in neural speech synthesis using ToBI representation
  14. iPhone前置排线教程
  15. ZeroTier + win10 远程桌面(替代TeamViewer)
  16. 读《Ideal MHD》(1)-磁流体力学方程组推导
  17. 京东股权众筹投后总结和反思2(冲动不要紧,有后悔药)
  18. ROS系统之安装系列(一):安装步骤
  19. 微信小程序发现的一些小问题以及解决方案集合以及注意点
  20. 服务器ftp日志文件在哪里,ftp服务器的日志在哪

热门文章

  1. 详解大端模式和小端模式
  2. wind__质押股份
  3. Apache Flink 1.13.0 正式发布,流处理应用更加简单高效!
  4. Docker详解---四、数据卷应用详解(将容器内部的应用配置文件挂在到宿主机)
  5. spring ioc原理(转载,侵删)
  6. Pytorch-Mobile-Android(2)
  7. 致大一计科软件新生——对专业方向以及个人忠告
  8. 更改antdDesign 筛选周默认周的开始周时间
  9. PhtoShop改变图片背景色
  10. Selector.select()