英文原文:The second operating system hiding in every mobile phone

  每一部智能手机或其它拥有 3G、LTE 通迅能力的设备实际上都运行着两个操作系统,这是个众所周知但又很少被提起的话题。除了那个我们能看的见的系统(Android、iOs、PalmOS),设备上还运行着一个专门处理无线信号的系统。由于这部分任务是高度依赖时效的,必需有一个实时系统来处理它们。

  这个系统固化在固件中并运行在基频芯片上。据我所知,此类基频芯片上运行的系统都完全是厂商私有的。例如,内置于高通的基频芯片(MSM6280)中的实时操作系统叫做 AMSS,它是基于其私有的 REX 内核开发的,共包含 69 个并行的任务,用来处理从 USB 到 GPS 的所有事务。它运行在一个 ARMv5 的处理器上。

  现在我们的问题很清楚了:人们很难了解这些基频芯片和内置的闭源软件,也没有一个相应的机构来检查它们。这个现象很奇怪,要知道这个小小的芯片上处理的任务对于一部移动设备是多么的重要。你也许会假设这部分实时系统是安全和受到保护的,但实际并非如此。你的设备上可能有这个世界上最安全的主系统,但你仍有另一个系统是你不了解、也没有文档并且是厂商私有的;你所能做的仅仅是去找那些高通、英飞凌或其它家的支持人员。

  基频软件的安全问题不是由于某些失误引起的,从设计之初它就是这样的。基频芯片和无线电的标准是在 80 年代制定的,90 年代完成了根据标准开发的程序——很自然,这些程序反映的是 90 年代人们对安全的认知。例如,那时很少有什么漏洞攻击,所以今天人们可以针对漏洞进行肆意的攻击。更糟糕的是基频芯片对基站来的信号(例如手机信号塔)是 100% 信任的。没有认证,所有内容都自动是可信的。最后,基频芯片通常是主处理器,而运行着应用系统的处理器是从处理器。

  所以,我们有一个完备的操作系统,它运行于 ARM 处理器上,该系统上没有或只有很少的漏洞,它完全相信从所连基站上传来的每一条指令、每一段代码和数据。这样的情况会导致什么?

  有了以上的认知,卢森堡大学安全领域的研究员 Ralf-Philipp Weinmann 对高通和英飞凌的基频芯片软件进行了反向工程,他很容易的找到了一大堆的漏洞,这些漏洞涉及各个模块,每一个都能被加以利用——例如使系统崩溃,甚至让攻击者远程执行代码。不要忘了这:这些都是通过无线信号过来的攻击。其中一个漏洞仅仅只需要从远端发送一个 73 字节的消息就可以执行远程代码。

  这意味着一些疯狂的事情都可以基于这些漏洞实现了。例如,你可以使用 Hayes 指令集打开自动应答。这是一种在 1981 年为调制解调器开发的命令式的语言,然而它在今天智能手机的基频芯片上却还在使用!自动应答可以是静音并且用户不可见的。

  当然,我们也许可以认为那些电信巨头们的手机信号塔中的基站是安全的,然而事实是基站正在变得越来越廉价,并且 eBay 上就能买到——现在甚至连基于开源的基站软件都有了。这种基站可以用来对付手机,放一个在闹市区、金融区或其它机密的地方,你就可以远程打开手机、摄像头、安装木马、给昂贵的国际长途号码打电话/发短信。相信我,死锁住目标手机也是可以的。

  这是一个非常严重的问题,但你却从未听说过。这些软件是如此的底层和复杂,我相信世界上没几个人能真正反里面的每一处都搞懂。

  复杂性导致写一个自己的基站软件很困难。仅仅是 GSM 里面囊括的标准就够让人头大的了,这还不包括其它的。现在你必须加上 UMTS、HSDPA 等等。每一个标准都涵盖了一堆荒谬而复杂的专利。为了确保完成所有这一切,通迅主管部门要求基频软件必需通过认证。

  面对如此这么多的阻力,我们不难明白为什么手机厂商们只是优化并延用那些过时的基频芯片和软件。为了确保兼容性,每一个特性手机上都有相应的处理软件,但这些处理软件实际上是一个黑盒。任何时候有人真正的研究里面的代码,就会发现一堆的问题和臭虫,也就使人不得不思考这种荒唐的情况什么时候才能好转。

  希望本文能使大家有一个清醒的认识,无论是发达国家还是发展中国家,移动通迅设备都是现代社会的基石,可它们的枢轴软件却是质量可疑的、不被人了解的、完全私有的并从未在设计上考虑过安全。

转载于:https://www.cnblogs.com/xingyayang/p/3433874.html

转载-隐藏在手机中的第二个操作系统相关推荐

  1. 隐藏在手机中的第二个操作系统

    本文由 伯乐在线 - NULL_文龙 翻译自 Thom Holwerda.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. 每一部智能手机或其它拥有3G.LTE通迅能力的设备实际上都运行着两个操作系 ...

  2. android app 隐藏应用,教你一招,隐藏我们手机中的APP应用!

    原标题:教你一招,隐藏我们手机中的APP应用! 在我们的生活中,经常会有将手机借给别人的时候,如果我们手机中有不愿意让家人或者同事看的应用,想删除又舍不得,怎样快速的将其隐藏起来呢? 干货君今天发现了 ...

  3. 隐藏在手机中的好玩代码

    手机里面都有一些内置的隐藏代码,也叫作"指令",比如当年在功能机时代就很火的"*#06#"(查看手机真实的IMEI号码),可谓无人不知. 虽然这些代码并不是预留 ...

  4. 安卓手机里的文件怎么隐藏?安卓手机隐藏文件夹的方法

    安卓手机里的文件怎么隐藏?相信很多有的朋友想把手机里的文件给隐藏起来,但又不知如何操作,那么,安卓系统的手机有没有什么软件可以隐藏手机里面的文件夹或文件的软件?安卓手机中的文件怎么隐藏呢?接下来就让小 ...

  5. 三星二级菜单_你知道三星 Galaxy 手机中的这个隐藏菜单吗?

    几十年来,隐藏的代码段一直是计算机软件系统的一部分,也被称为复活节彩蛋,当一组特定的命令(一般是未公开的)被执行之后就会出现.例如,在安卓系统中如果多次点击设备的固件版本号就会出现一个隐藏的界面.今天 ...

  6. 手机中geetest是什么文件_安卓文件隐藏精灵 — 隐藏手机中的小秘密

    手机中的私密文件不想让别人看到肿么办?设置密码保护往往太让别人觉得有东西,忍心删除又舍不得,重命名七改八改还容易弄混淆,因此一款不留痕迹的文件隐藏工具就显得尤为必要了!而今天老夜分享的这款利器就是针对 ...

  7. 手机计算机隐藏游戏,你手机中隐藏着的游戏,90%的人不知道!

    [摘要]手机现在已经离不开我们的生活了.每天捧着手机玩耍的你,有没有发现手机中的隐藏游戏呢? 相信大家对于手机游戏一定不陌生,但是手机系统自带的游戏不知道大家有没有玩过呢?相信应该很多人都不太清楚,( ...

  8. 手机中的图片怎么压缩大小?

    手机中的图片怎么压缩大小?我们的手机中都会保存很多的图片,这些图片有些会很大,怎么将手机中的图片压缩变小呢,下面小编就给大家分享一个将手机中的图片压缩变小的简单方法. 第一种方法:在线压缩 1:(首先 ...

  9. Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果

    转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/18730223),请尊重他人的辛勤劳动成果,谢谢! 写这篇文 ...

最新文章

  1. 第五周项目三-时间类(1)
  2. python语言的理解-终于明白python语言的特点是什么
  3. 字符串的操作方法(第二天)
  4. SQL:使用备份向导、SQL命令、导出数据三种方式对已建立的数据库进行备份
  5. python如何安装scrapy_Python爬虫之Scrapy的安装
  6. 《局域网聊天——Android》
  7. Base64 编解码
  8. Pandas创建DataFrame对象的几种常用方法
  9. 从零开始刷Leetcode——数组(581.605.628)
  10. isPostback 的原理及作用(非常简单)
  11. win10安装双系统
  12. WMB专题之ESQL
  13. 三十一、利用微信搜索抓取公众号文章
  14. 变量之间的相关性研究
  15. 郭敬明:定期关注大数据,指导《小时代》
  16. 洛谷4140 奇数国
  17. 索引,主键,唯一索引,联合索引的区别
  18. 自制hdmi线一头改vga图_这8个习惯你不改,你这辈子都瘦不了!!
  19. android 手机找回密码,如何使用android手机找回以前使用的无线密码
  20. 【PPPYTHON】太阳花代码

热门文章

  1. hbase 单机连接hadoop_随手搭hadoop+hbase(mac单机)
  2. python查询mysql 乱码_python查询mysql中文乱码问题
  3. 数据通信技术_华为数据通信创新峰会在长春圆满举行
  4. python数据处理_时间序列数据处理python 库
  5. 动态DNS——本质上是IP变化,将任意变换的IP地址绑定给一个固定的二级域名。不管这个线路的IP地址怎样变化,因特网用户还是可以使用这个固定的域名 这样看的话,p2p可以用哇...
  6. python 读取二进制文件 转为16进制输出
  7. druid.io 海量实时OLAP数据仓库 (翻译+总结) (1)——分析框架如hive或者redshift(MPPDB)、ES等...
  8. mongodb 压缩——3.0+支持zlib和snappy
  9. HBase底层存储原理——我靠,和cassandra本质上没有区别啊!都是kv 列存储,只是一个是p2p另一个是集中式而已!...
  10. 分布式系统开发的一些相关理论基础——CAP、ACID、BASE