2016-01-11 16:22:35 621浏览
iOS逆向工程最突出的应用领域就是与安全相关的。例如开发者通过iOS逆向工程作用于一个App,鉴别出这个软件的安全等级;安全专家通过逆向iOS病毒,来找到杀毒的方法;安全公司通过逆向iOS系统电话、短信功能,来构建一个手机防火墙……
coding学堂iOS开发培训之逆向工程与安全:
1、评定安全等级
iOS中那些具有交易功能的App一般会先加密敏感数据,然后将加密过的数据存储在本地或通过互联网传输。而如果安全意识不够强,就完全有可能将重要的用户信息(如银行账号和密码)直接用明文保存或传输,安全隐患极大。假如一个有名望的公司考虑推出一款App,为了让自己App的质量能够对得起用户的信任,该公司请一家安全公司帮忙评估这个App的安全性。这家安全公司自然是不会被授权使用这个App源代码的,也就是说,正向分析其安全性不可行,所以他们只有通过逆向工程,来尝试“攻击”这个App,然后依据结果评定其安全等级。
补充说明:前面在介绍“维度攻击”的概念时已经提及,App虽然可以将低维的攻击防守得如铜墙铁壁一般,但是挡不住高维的逆向攻击。不过不可以据此得出App不安全的结论,因为iOS逆向工程的使用均来自一个前提:iOS越狱。普通用户可能不知道,在将iOS设备越狱之后,即将整个平台都置于风险之中,此时也就更谈不上App的绝对安全了。在这种环境下,我们使用这些逆向工程技术来分析评估目标App中可被攻击点有多少,可攻击点越少的自然就是越安全的。
2、逆向恶意软件
iOS是智能移动终端操作系统,它同计算机操作系统已没有本质区别。从第一代开始,它就已具备了上网功能,而互联网正是恶意软件传播的最好媒介。2009年暴露的Ikee病毒是iOS上公开的第一款蠕虫病毒,它会感染那些已经越狱并且安装了SSH,但是又没有更改其默认root密码“alpine”的iOS设备,并且将它们的锁屏背景图改成一个英国歌手的照片。对于恶意软件的开发者来说,他们通过逆向工程定位系统和软件漏洞,利用漏洞渗透进目标主机,获取敏感数据,甚至为所欲为。对于杀毒软件的开发者来说,他们通过逆向工程剖析病毒样本,观察病毒行为,尝试杀掉被感染主机上的病毒,并总结出可以防范病毒的方法。
3、检查软件后门
开源软件的一大好处是其具有较好的安全性。成千上万的程序员浏览并修改开源软件的代码,代码中几乎不可能存在任何后门,软件的安全问题往往在大自于天下之前就能及时得iPhone上安装360、金山、腾讯等各家手机安全助手,这些服务程序的权限极高,无一例外都拥有超强的能力,可以访问用户的通话记录、短信记录甚至更多,但我们不知道它们会不会收集不该收集的用户信息,并把这些信息上传到自己的服务器。这种“有或没有”的结论一直是个争议,我们得不到可信的官方数据,那么就只能通过逆向工程来检查该软件是否存在类似的后门。补充说一句,这些手机安全助手的开发者们本身也是逆向工程的高手,善用矛的同时也善用盾,想要达到同台PK的水平需要积累锻炼足够长的时间才行。
4、去除软件使用限制
iOS开发者通过App Store或Cydia出售自己的App,作为他们最主要的经济来源之一。在软件的世界里,收费与盗版永远是同时存在的,而不少iOS开发者也在自己的App里加入了反盗版的功能。但这场矛与盾的战争永远不会停止,再好的防御也会有被攻破的一天,防止盗版几乎是一项不可能完成的任务。比如,Cydia上最知名的“共享”源xsellize能够在几乎所有收费软件发布后的3天内对其完成破解,让他们的用户免费享受到收费软件的功能。
随着iOS系统的不断更新和突破,未来的软件市场iOS主导地位愈加不可撼动。而与此共同走向辉煌的就是iOS开发者们。扣丁学堂官网顶级讲师录制了iOS开发教程视频讲座免费提供给那些钟爱于IT行业的人才,由浅入深的带你入门iOS开发技术。