本文目录一览:
IOS开发时必须知道的哪些事
x网络安全
1. 安全地传输用户密码
大部分的iOS应用都需要连网,通过和服务器端进行通信,获得最新的信息并且将内容展现给用户。由于网络传输过程中有可能经过不安全的中间节点,所以我们应该对敏感数据加密,用于保证用户信息的安全。黑客可以在受害者的手机上设置网络通信的代理服务器,从而截获所有的网络请求。即使是HTTPS的加密通信,黑客也可以通过中间人攻击(Man-In-The-Middle Attack,指的是攻击者与通信的两端分别创建独立的联系,并交换其所收到的数据,使通信的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上,整个会话都被攻击者完全控制)来截取通信内容。
黑客可以在Mac下使用Charles软件(如果在Windows下,可以使用Fiddler软件)来将自己的电脑设置成代理服务器,从而截取应用的网络请求,分析目标应用在通信协议上是否有安全问题。为了测试,我选取了在国内最大的两家租车公司(神州租车和一嗨租车)的iOS应用。
2. 防止通信协议被轻易破解
除了上面提到的明文传输密码的问题外,移动端应用还要面对黑客对于通信协议的破解的威胁。
在成功破解了通信协议后,黑客可以模拟客户端登录,进而伪造一些用户行为,可能对用户数据造成危害。例如腾讯出品的消除游戏《天天爱消除》,在淘宝上就有很多售价仅为1元的代练服务,如果真正是人工代练,是不可能卖这么便宜的,只有可能是该游戏的通信协议被破解,黑客制作出了代练的机器人程序。通信协议被破解除了对于移动端游戏有严重危害外,对于应用也有很大的危害。例如针对微信,黑客可以制作一些僵尸账号,通过向微信公共账号后台发送垃圾广告,达到赢利的目的。而iPhone设备上的iMessage通信协议居然也被破解了,所以很多iPhone用户会收到来自iMessage的垃圾广告。3. 验证应用内支付的凭证
iOS应用内支付(IAP)是众多应用赢利的方式,通过先让用户免费试用或试玩,然后提供应用内支付来为愿意付费的用户提供更强大的功能,这种模式特别适合不习惯一开始就掏钱的中国用户。但由于国内越狱用户的比例比较大,所以我们也需要注意应用内支付环节中的安全问题。简单来说,越狱后的手机由于没有沙盒作为保护,黑客可以对系统进行任意地修改,所以在支付过程中,苹果返回的已付款成功的凭证可能是伪造的。客户端拿到付款凭证之后,还需要将凭证上传到自己的服务器上,进行二次验证,以保证凭证的真实性。
本地文件和数据安全
1. 程序文件的安全
iOS应用的大部分逻辑都是在编译后的二进制文件中,但由于近年来混合式(Hybrid)编程方式的兴起,很多应用的部分功能也采用内嵌Web浏览器的方式来实现。例如腾讯QQ iOS客户端的内部,就有部分逻辑是用Web方式实现的。由于iOS安装文件其实就是一个zip包,所以我们可以通过解压,看到包内的内容。以下是我解开腾讯QQ客户端,看到的其qqapi.js文件的内容。
本地数据安全
iOS应用的数据在本地通常保存在本地文件或本地数据库中。如果对本地的数据不进行加密处理,很可能被黑客篡改。比如一款名为《LepsWorld 3》的游戏,打开它的本地文件,可以很容易地找到,它使用了一个名为ItempLifes的变量保存生命数值(如图4所示)。于是我们可以简单修改该值,达到修改游戏参数的目的。而在淘宝上,也可以找到许多以此挣钱的商家。对于本地的重要数据,我们应该加密存储或将其保存到keychain中,以保证其不被篡改。
源代码安全
通过file、class-dump、theos、otool等工具,黑客可以分析编译之后的二进制程序文件,不过相对于这些工具来说,IDA的威胁最大。IDA是一个收费的反汇编工具,对于Objective-C代码,它常常可以反汇编到可以方便阅读的程度,这对于程序的安全性,也是一个很大的危害。因为通过阅读源码,黑客可以更加方便地分析出应用的通信协议和数据加密方式。
总结
由于移动互联网的快速发展,人们的购物、理财等需求也在移动端出现,这使得移动应用的安全性越来越重要。由于部署在用户终端上,移动应用比服务器应用更容易被攻击,大家也需要在移动应用的网络通信、本地文件和数据、源代码三方面做好防范,只有这样才能保证应用的安全。
https怎么解决中间人劫持攻击
1、搜索引擎优先收录网站:谷歌、百度、搜狗、360搜索。
2、浏览器安全信任强制:国外主要浏览器谷歌、火狐等,增加安全不非安全的直接标志。
3、APP ios苹果上线商城与微信小程序强制SSL证书,第一条件HTTPS协议。
4、SSL证书可以防止网站劫持、网站数据采集、用户信息泄漏等。
5、形象地址栏的明显的小锁安全标志,有助于网友更放心的访问网站。
6、SSL证书已成为互联网入门身份证的专业窗口,传统的HTTP传输将越来越少。
7、客户端与服务器HTTPS加密传输隐私数据密文传输,即使截获也无法解密。
8、EV企业SSL证书地址栏直接显示企业名称,实名信息一目了然。
总结:SSL比行业中的网站认证要更好,因为网站认证只是一个图标代表形象而已,而且很多浏览器是不显示的,SSL证书是知根知底的加密传输,并且所有浏览器都会显示。
小火箭shadowsock版本是多少?
小火箭更新至2.1.6版本后,增加了MITM 功能。 ios系统的shadowrocket(小火箭)是功能强大的科学上网软件,支持shadowsocks,shaodowsocksR,V2Ray。中国区通过爱思助手或者pp助手助手将ipa文件安装到手机。