如何避免恶意软件:详解 iOS 应用安全机制

标签: 恶意软件 ios 应用 | 发表时间:2014-12-31 04:37 | 作者:
出处:http://sspai.com/feed

前言

近几年移动设备性能的飞跃式发展,使得更为强大的移动 App 成为可能。这些 App 在极大地丰富了我们生活的同时,也带来了潜在的安全隐患。不像桌面电脑,我们的移动设备上存储了大量的个人隐私,许多网站也将「短信验证码」作为用户身份验证的关键一环。这些信息一旦泄露,后果不堪设想。而在诸多移动平台中,iOS 以其几乎百毒不侵的安全性著称。本文将深入剖析苹果在 iOS 内设下的层层应用安全机制,解构 iOS 「金刚不坏之身」背后的秘密。

App 也有身份证:「数字签名」

就像人类一样,在 iOS 中,每个 App 都必须持有自己的「身份证」——数字签名。iOS 中的签名检查机制就像一名严格的警察,任何应用程序都必须持有有效的签名才能被获准运行。这些「数字签名」来自开发者的「身份证」——「数字证书」。没有数字签名或者签名无效的程序都会被 iOS 拒之门外。那么,苹果设置这个「身份证检查」的用意何在呢?

由于给 App 签名必须使用苹果发放的证书,苹果得以将开发者分发 App 的途径限制为两条。第一种是通过 App Store 。开发者必须加入「iOS 开发者计划」才能获得苹果发放的「开发者证书」并为他们的 App 签名。之后,他们的 App 还必须经过苹果的严格审核才能上架 App Store 并提供下载。苹果的审查过程确保了所有在 App Store 上架的 App 都不存在任何恶意行为,因此 App Store 是最安全的获取 App 的渠道。

发布 App 的另一条路径是加入苹果的「iOS 企业开发者计划」。有些企业需要特制的内部 App ,但出于保密目的又无法公开在 App Store 上上架这些 App 。注册了「iOS 企业开发者计划」的公司可以使用苹果发放的「企业证书」自行签名 App 并在企业内发放给员工安装。虽然通过这种途径分发的 App 没有经过 App Store 审核,但是在「企业证书」没有泄露的情况下没有人能假冒这些企业开发恶意软件。即便证书真的发生了泄露,苹果也能迅速撤销对应的企业证书来防止恶意软件的扩散。

无论是哪种途径,要想发布 iOS 软件,开发者或者任何组织都必须先向苹果公司注册来获取证书以便给自己的 App 发放「身份证」——数字签名。在注册的过程中,开发者或组织的真实身份信息都会被苹果登记在案。这种做法能很好地震慑恶意软件的开发者。毕竟一旦自己的小勾当被发现,就要被苹果查水表了。相比之下,Android 虽然也要求 App 在安装之前拥有数字签名,但并不要求用于签名的证书来自 Google 。因此,即便发现了恶意软件,Google 很难追踪幕后的开发者是谁,也无法撤销对应的证书来阻止恶意软件。

为了避免被发现,一些不怀好意的开发者会尝试通过往用户已安装的程序中注入恶意代码来实现入侵,但这一切都逃不过 iOS 的法眼。在 App 运行时,iOS 会持续检查 App 所有代码的签名。一旦发现 App 被恶意篡改,iOS 就会立刻阻止该程序的运行。iOS 这样严格的签名检查虽然一定程度上牺牲了用户的自由度(不能运行未签名或经过第三方修改 App ),但换来的是极高的安全性。

我的东西你别乱动:沙盒保护

一个恶意软件想要搞点破坏,总得读读写写点文件。即便一个恶意软件通过了iOS 的签名检查,它也没法造成任何破坏,因为苹果在 iOS 中使用了非常简单粗暴的方法来保护设备安全——沙盒机制。我们可以把自己的设备想象成一个巨大的房子,每个房间里都住着一个 App 。这些房间的们都从外部被反锁,任何一个 App 都无法离开自己的房间去访问或者修改其他 App 在他们房间里储存的信息。如果程序 A 想要和程序 B 进行交流,他们只能求助于不断游走于房间之间的保安——iOS。程序 A 会把要给程序 B 的文件交给 iOS ,并向 iOS 提出对应的请求。iOS 会随后验证请求是否合法并把文件和程序 A 的请求转交给程序 B 。B 处理完之后再通过 iOS 转交回 A 。App 也无法读取、修改操作系统的文件,或者在未经你授权的情况下读取你的某项个人资料。这看似繁琐的流程确保了 iOS 的高度安全。假如你刚下载的一个 App 想要偷偷读取你的支付宝密码,它一定会立马被 iOS PIA 飞。尽管这样「一刀切」的政策使得 iOS 不能像其他操作系统一样具有极高的扩展性,但也从根本上解决掉了设备的安全问题。

那「Wirelurker」是怎么回事?

看了这么多,你肯定有点半信半疑:如果 iOS 像你说的这么安全,那又怎么解释前段时间爆发的「Wirelurker」?首先,Wirelurker 通过企业证书绕过了 iOS 的代码签名检查来安装在设备上。其次, Wirelurker 是一个双平台的病毒,它不仅可以感染 iOS 设备,也可以感染 Mac 设备。在未越狱设备上,虽然 Wirelurker 的 iOS 版本受限于 iOS 的沙盒机制,无法访问用户隐私,但 Wirelurker 的作者十分聪明:由于只要用户在第一次连接时选择了「信任」某台电脑, iOS 就会允许该电脑读取设备上存储的个人资料,病毒作者于是借此通过使用 Mac 版的 Wirelurker 来实现了对沙盒机制的绕过。在 Mac 带有 Wirelurker 的情况下,所有「信任」了该电脑的 iOS 设备都会被感染。而在已越狱设备上,Wirelurker 的 iOS 版本就更加可以大施拳脚,肆无忌惮地读取设备上包括通讯录、短信、支付宝数据等等隐私信息。

你可以做些什么

尽管 iOS 有着非常强大的安全保护机制,但世界上并不存在绝对安全的操作系统。作为用户,笔者推荐你采取以下几个措施来确保自己设备的安全。

第一,请不要越狱。尽管越狱能让你享受各种插件带来的乐趣,它也让苹果精心设计的安全机制功亏一篑。

第二,只从 App Store 获取 App 。App Store 上的所有 App 都在发布前经过苹果审查,确保他们不存在任何恶意代码。笔者非常不建议你使用「苹果助手」一类号称「免费正版」的软件。这类「助手」通过非法盗取企业证书,重新签名被盗版的 App 来伪装成企业应用以绕过 iOS 的签名检查。通过这种途径获得的 App 十分不稳定,经常发生闪退。此外,由于 App 的数字签名已经不是原开发者的签名,这些 App 有被篡改并被植入恶意代码的风险。一个外表是「星巴克」的 App 内心可能实际上是「猩疤客」。最重要的是,这是彻头彻尾的盗版,是严重的盗窃行为,根本不是所谓的「免费正版」。

第三,不要随意「信任」计算机。在你将设备第一次连接至某台电脑时,iOS 会弹出对话框询问你是否「信任」这台计算机。一旦你选择了「信任」,这台电脑就有权访问你存储在设备上的所有个人信息。尽管 iOS 可以阻止安装在设备中的 App 窃取你的隐私,但是像「Wirelurker」这样的恶意软件还是可以通过感染被设备「信任」的电脑来绕过沙盒机制并读取你存储在设备中的资料。

第四,谨慎赋予 App 隐私读取权限。在某个 App 第一次申请读取你的某项隐私(例如照片、通讯录、使用麦克风或相机等等)之前,iOS 都会询问你是否批准。如果你认为某个 App 不需要读取你的资料(例如,一个游戏要求读取你的通讯录和照片),那么请坚定地按下「不允许」。独立的隐私权限控制是 iOS 的另一大优点。在 Android 上,你只能要么同意一个 App 读取它所想读取的所有个人隐私,要么不安装这个 App 。

写在最后

不像 Android 和我们熟悉的 Windows 电脑,苹果在 iOS 中设下了极严格、极坚固的 App 安全保护机制。尽管你看不到他们,但在背后时时刻刻他们都在保护你的设备。因此,你不必在信息安全上过多地花费心思,只需尽情在 App 的世界中畅游。让自己隐于无形,可能也就是安全保护的最高境界吧。



文章来源 少数派 ,原作者 iCruiser ,转载请注明原文链接



喜欢少数派?欢迎关注我们的微博:@少数派sspai ,微信公众号: sspaime
少数派( http://sspai.com )

相关 [恶意软件 ios 应用] 推荐:

如何避免恶意软件:详解 iOS 应用安全机制

- - 少数派
近几年移动设备性能的飞跃式发展,使得更为强大的移动 App 成为可能. 这些 App 在极大地丰富了我们生活的同时,也带来了潜在的安全隐患. 不像桌面电脑,我们的移动设备上存储了大量的个人隐私,许多网站也将「短信验证码」作为用户身份验证的关键一环. 这些信息一旦泄露,后果不堪设想. 而在诸多移动平台中,iOS 以其几乎百毒不侵的安全性著称.

恶意软件分析环境 cuckoo+malwasm

- - 开源中国社区最新新闻
分析恶意软件malicious ware有很多方法. 请容我不自量力推荐两个开放源代码的免费系统 Cuckoo和 MalWasm. 这是一个虚拟化环境下的恶意软件分析系统. 基于虚拟化进行程序分析有很多优点:. 整机内存可以dump出来,并且可以随时做snapshot;. 无论杀毒软件如何吹嘘它们的启发式分析引擎,但是xss的故事已经证明区区XOR加密就可以将他们全部bypass.

Apple:年度最佳 iOS 应用榜单

- jicknan - 爱范儿 · Beats of Bits
过去的一年堪称苹果的丰收年,革命性的 iPad 和大卖特卖的 iPhone 4 的各种故事贯穿了整个 2010,然而,除去优秀的硬件设计,iOS 的真正竞争力,在于它那恐怖的 30 万应用. 今天,苹果公布了 2010 的最佳 iOS 应用榜单(应该是北美的统计). 1:美国人对于职棒的爱超过了一切,在总榜单上,MLB.com 的免费应用甚至超过了愤怒小鸟.

《金融时报》移除iOS应用

- yonghai - Solidot
《金融时报》成为第一家因苹果应用内订阅分成政策而移除iOS应用的世界知名媒体. 金融时报发言人Tom Glover表示,他们是在与苹果友好协商后决定移除应用,表示iTunes对基于广告的应用来说仍然是一个重要渠道. 苹果的新政策要求从应用内内容销售和订阅中提取三成收入. 为了遵循苹果要求,Amazon、Barnes & Noble、Kobo、Google和《华尔街日报》决定从应用内移除购买功能.

iOS应用下载“量价齐升”

- ItTalks - 《商业价值》杂志
专注于研究苹果公司的咨询公司Piper Jaffray’s Gene Munster近期发布了一份研究报告. 报告显示,2011年,iOS设备用户正在以更大的热情购买付费应用,而付费iOS应用的价格也普遍得到提升. Piper Jaffray详细监测了自App Store上线以来,包括终端数量、应用下载数量、付费应用数量、免费应用数量、收入等在内的各种数据.

官方的 Blogger for iOS 应用发布

- 橙子 - 谷奥——探寻谷歌的奥秘
尽管已经有iOS应用支持直接发布文章到Blogger,但第三方用着就是别扭. 于是今天Google推出了官方的Blogger for iOS应用,支持的功能包括:. 发布和编辑博文,也可保存为草稿. 可直接拍摄照片或选择图片库里的照片发布. 支持iPhone、iPad和iPod touch,需要3.1.3以上版本,内含中文界面.

《MovieCat!》挑战电影达人(iOS应用)

- Leomg - 36氪
我一直都认为自己是一个电影爱好者,自诩电影达人. 但是现在我发现自己其实是一个伪电影爱好者. 我彻底被MovieCat!(电影猫)打败了. 《MovieCat!》是一款电影知识问答类的iOS游戏. 在游戏中,主角是各种造型的猫咪,它出演电影中的各种角色、片段. 在游戏的过程中电影猫会想你提出很多和该电影相关各种问题,让各个玩家挑战自己对电影的熟悉程度.

HTML5能否取代Android和iOS应用?

- - CSS库
大量新生移动设备的兴起,改变了互联网的未来. 在技术的发展上, HTML5会取代App应用吗. 在HTML5规范中,已经加入了相机、磁力罗盘、GPS信息的支持. 很多新兴浏览器也已经开始支持这些新特性. 能否用一个统一的HTML5来替代 android和 ios并行开发的双重成本呢. 以下译自Michael Mahemoff的一篇文章,详细分析了HTML5能否取代Android和iOS应用程序.

我常用的 iOS 应用(2013版)

- - 無標題文檔
我不是版本控,所以至今才给我的 iPad 更新到了 iOS6,顺便过滤和重新安装了些应用. 很久以前我就盘点过经常使用的软件( 1、 2、 3、 4 ),所以干脆这里也整理下. 通常好用的软件都会「很有名」而且用很久了,估计大家也都早已经认识. 这次的 iOS 软件或许对 iOS 重度用户说起来有些火星请勿见笑,就权当大家做个参考吧.

iOS应用崩溃日志揭秘

- - 移动开发 - ITeye博客
转自  http://www.raywenderlich.com/zh-hans/30818/ios应用崩溃日志揭秘. Soheil Moayedi Azarpour, 他是一名独立iOS开发者. 作为一名应用开发者,你是否有过如下经历?. 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作.