让我们再谈谈 iOS 安全
前言
安全方面的话题总是聊不完的。这不,国外一家有名的专门攻击别人的安全公司 Hacking Team 自己被 Hack 了,结果有 400 多 G 的攻击资料泄漏出来,包括一些 0-day 的漏洞。这里 有别人写的这次攻击的分析。
我大概看了一下这次的泄漏出来的 资料分析,发现里面还有一些涉及 iOS 的安全。比如:
- 一个用于记录密码的 iOS 键盘。
- 一个 iOS 网络底层的代理。
- 一个 MAC OS 木马。
这些攻击都挺难防的,拿 MAC OS 的木马来说,基本上 Mac 用户都是不装杀毒软件的。虽然大部分应用都是从 Mac App Store 上下载,但是也有不少应用是用自己的渠道来发布的,所以用户稍不注意可能就会中招。
《iOS 应用安全攻防实战》
《iOS 应用安全攻防实战》 这本书的中文版将要出版了,邀请我写一篇推荐序。是一本相当不错的 iOS 安全方面的著作,所以在此推荐给大家。
《iOS 应用安全攻防实战》的两位译者实力也很强,都是安全方面的专家。其中:
- 译者肖梓航是 Palo Alto Networks 高级研究员,主要方向是移动平台反病毒和软件安全,也是著名的安全社区「看雪论坛」的版主。
- 译者李俱顺 @s1mbily 曾就职于支付宝大安全,现在是杭州云柚科技联合创始人。
iOS8 应用安全新挑战,也非常适合广大 iOS 开发者用来普及安全知识。
《iOS应用逆向工程》
推荐序
以下为 《iOS 应用安全攻防实战》 推荐序《为你的iOS程序穿上安全的外衣》正文:
从有计算机程序开始,安全问题就一直存在,而互联网的流行使得安全问题被进一步放大,所以现在各大互联网公司对于安全都非常重视。我曾经所在的网易公司就有专门的安全部门。安全部门的同事会扮演黑客的角色,对网易旗下的产品进行各种试探性的攻击,从而发现公司产品在安全方面的问题。
在移动互联网快速发展的今天,iOS 应用由于直接运行在用户的手机上,相比运行在服务器的后台服务,更有可能被黑客攻击。恶意的一些攻击手段包括劫持网络通讯、窃取本地数据以及篡改程序行为。很多人把安全问题完全交给 iOS 系统自带的沙盒(Sandbox),但是仅仅靠沙盒也是不够的。因为如果不做其它的防护,一旦沙盒被攻破,那么程序的安全性就完全无法保障了。
而在中国,这样的问题尤为突出,因为中国对软件的版权保护不力,使得盗版软件流行。而 iOS 应用如果需要安装盗版软件,越狱系统是最为方便的方式(另一种方式是用企业签名)。越狱催生出一些 iOS 盗版应用市场,从而出现一些盗版的游戏、软件以及木马病毒的传播。
做为 iOS 应用的开发者,我们当然不希望自己的游戏被修改成无限道具和金币,自己的应用被修改成无需付费就使用应用内付费功能,更不希望黑客在自己的应用中植入木马,窃取受害用户的帐号密码等敏感信息。而这一切,都是沙盒无法保护的。我们需要做更多的安全方面的工作,才能抬高应用被破解和修改的成本,使得自己的应用更加安全。
但是,「猫和老鼠」的游戏每天都在上演,在我们不断增加防御手段的同时,黑客的攻击手段也在不断升级。所以,安全问题会是一个永不过时的话题,没有绝对意义上的安全。我们能做的,就是不断学习和研究,使得当前自己应用的安全水平已经能够防止大多数别有用心的黑客攻击。
那国内 iOS 安全的现状是什么样呢?就我所知,几乎 99% 的 iOS 应用都没有做破解方面的防护。但是,如果你简单做一些代码混淆、反动态库注入、反调试方面的工作,就可以将应用被破解的难度大大提高。另外,如果你使用 IDA 进行 iOS 代码反汇编的话,你几乎可以看到你想看的所有应用的源码。
那我个人为什么对安全这么感兴趣呢?其实说来话长,我高中时就开始学习编程,当时的梦想是当一名黑客。于是安全方面的学习就一直伴随着我的职业生涯。而我在学习 iOS 移动开发的时候,带着习惯,我也就开始学习 iOS 开发安全方面的知识。
还记得我学习 iOS 开发安全的时候,曾经看过本书的英文版。本书的内容同时包括了攻击和防御相关的内容,非常适合 iOS 开发工程师学习,并且将其中的实践带到自己的应用中,以保护自己的应用不被攻击。我并不期望本书能够解决所有的安全问题,但是我相信,看过本书的朋友,能够将自己的 iOS 应用在安全方面的得分,从不及格提升到 80 分。
最后,感谢本书的作者、译者,以及电子工业出版社在 iOS 安全方面所做的贡献。
让我们再谈谈 iOS 安全的更多相关文章
- 谈谈iOS开发如何写个人中心这类页面--静态tableView页面的编写
本文来自 网易云社区 . 一.本文讲的是什么问题? 在开发 iOS 应用时,基本都会遇到个人中心.设置.详情信息等页面,这里截取了某应用的详情编辑页面和个人中心页面,如下: 我们以页面结构的角度考虑这 ...
- 从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray)
从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray) deque deque双端队列,分段连续空间数据结构,由中控的map(与其说map,不如说是数 ...
- 谈谈iOS Animation
零.前言 这里没有太多的代码细节,只是探索iOS动画的基本概念,以及其抽象模型,数学基础等.我们学习一个知识的时候一般有两个部分,抽象部分和形象部分,抽象好比语言的语法,是规则,形象好比具体的句子,可 ...
- 谈谈iOS中的锁
1 前言 近日工作不是太忙,刚好有时间了解一些其他东西,本来打算今天上午去体检,但是看看天气还是明天再去吧,也有很大一个原因:就是周六没有预约上!闲话少说,这里简单对锁来个简单介绍分享. 2 目录 第 ...
- HTML 5最终确定,八年后,我们再谈谈如何改变世界
从原:http://www.36kr.com/p/216655.html 我们第一次谈论HTML5要改变世界大概是由于乔布斯,他坚持在iOS上不兼容Flash,在Adobe统治多媒体开发的那个年代.这 ...
- 从uibutton的点击谈谈ios的响应事件
最近在做一个项目,接连遇到两个关于点击事件的问题. 1.点击button不能响应事件的. 2.子view的frame超出了父view的容器大小,也不能响应点击事件. 效果图如右: 1.第一张图中的弹出 ...
- 谈谈iOS获取调用链
本文由云+社区发表 iOS开发过程中难免会遇到卡顿等性能问题或者死锁之类的问题,此时如果有调用堆栈将对解决问题很有帮助.那么在应用中如何来实时获取函数的调用堆栈呢?本文参考了网上的一些博文,讲述了使用 ...
- 谈谈 iOS 中图片的解压缩
原文 对于大多数 iOS 应用来说,图片往往是最占用手机内存的资源之一,同时也是不可或缺的组成部分.将一张图片从磁盘中加载出来,并最终显示到屏幕上,中间其实经过了一系列复杂的处理过程,其中就包括了对图 ...
- 【转】谈谈 iOS 中图片的解压缩
转自:http://blog.leichunfeng.com/blog/2017/02/20/talking-about-the-decompression-of-the-image-in-ios/ ...
随机推荐
- MyEclipse出错解决
错误信息: Deployment failure on Tomcat 6.x. Could not copy all resources to C:\Tomcat 6.0\webapps\JavaP ...
- EasyMvc入门教程-基本控件说明(2)定时器
我们有时候希望系统能自动刷新后台数据或者做某个动作,那么定时器的作用就体现出来了. EasyMvc默认提供的服务器可以定时调前端方法与定时调后端方法,先看例子: 定时调客户端事件 实现代码: @Htm ...
- C++中的void类型
Technorati 标签: void,指针 1.1. void类型 void类型其实是一种用于语法性的类型,而不是数据类型,主要用于作为函数的参数或返回值,或者定义void指针,表示一种未知类型. ...
- docker入门小结(三)
本次笔记主要记录教程中的几个实战案例的实际情况 1,使用supervisor管理进程 忘了截图了,就不写了.教程中写的比较清楚. 但是注意,如果刚刚学习了上一章的网络配置,需要将网络的forward打 ...
- sql执行顺序图
http://www.16aspx.com/cmsimages/20130325/664845013.png
- PS中混合模式是什么意思?
PS中图层混合模式中的溶解,变暗,正片叠底,颜色加深,线性加深,叠加,柔光,亮光,强光,线性光,点光,实色混合,差值,排除,色相,饱和度,颜色,亮度各是什么原理? Normal 正常模式,也是 ...
- vuex 中关于 mapState 的作用
辅助函数 Vuex 除了提供我们 Store 对象外,还对外提供了一系列的辅助函数,方便我们在代码中使用 Vuex,提供了操作 store 的各种属性的一系列语法糖,下面我们来一起看一下: mapSt ...
- Java Swing界面编程(25)---事件处理:鼠标事件及监听处理
假设想对一个鼠标的操作进行监听,假设鼠标按下.松开等.则能够使用MouseListener接口. package com.beyole.util; import java.awt.event.Mous ...
- Chrome 插件 CrxMouse 去除后门优化版
说明 CrxMouse 是一款挺不错的 Chrome 插件.仅仅是据说这个插件会在后台偷偷的上传用户的浏览数据,无论上传的内容是不是涉及隐私数据,总让人认为不放心,可是因为插件本身功能还是挺好用的,所 ...
- iOS UITableViewDelegate && UITableViewDataSource 执行顺序
#pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableV ...