提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|行业资讯|编辑:龚雪|2014-06-10 09:53:24.000|阅读 422 次
概述:iOS应用程序因为其特殊性,被攻击的可能也是很高的。在开发过程中,需要从三个方面考虑程序安全性。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
安全地传输用户密码
大 部分的iOS应用都需要连网,通过和服务器端进行通信,获得最新的信息并且将内容展现给用户。由于网络传输过程中有可能经过不安全的中间节点,所以我们应 该对敏感数据加密,用于保证用户信息的安全。黑客可以在受害者的手机上设置网络通信的代理服务器,从而截获所有的网络请求。即使是HTTPS的加密通信, 黑客也可以通过中间人攻击(Man-In-The-Middle Attack,指的是攻击者与通信的两端分别创建独立的联系,并交换其所收到的数据,使通信的两端认为他们正在通过一个私密的连接与对方直接对话,但事实 上,整个会话都被攻击者完全控制)来截取通信内容。
黑客可以在Mac下使用Charles软件(如果在Windows下,可以使用 Fiddler软件)来将自己的电脑设置成代理服务器,从而截取应用的网络请求,分析目标应用在通信协议上是否有安全问题。为了测试,我选取了在国内最大 的两家租车公司(神州租车和一嗨租车)的iOS应用。
图1
从图1可以看到,神州租车和一嗨租车在用户登录时,均采用明文的方式,将密码直接发送给服务器。其中一嗨租车不但采用明文方式发送密码,而且在发送 时使用了Http Get的方式,而GET的URL数据一般都会保存在服务器的Access Log中,所以黑客一旦攻破服务器,只需要扫描Acesss Log,则可以轻易获得所有用户的明文密码(在本文发表前,一嗨租车已修改了登录协议,采用了POST的方式来登录,但仍然传递的是明文密码)。
如 果每一个移动应用都像以上两种应用那样,明文传输用户密码,那么我们可以想象这样一个场景:黑客在咖啡馆或机场等一些公共场所,将自己的电脑设置成与该场 所一样名字的免费Wi-Fi,受害者只要不小心使用了该Wi-Fi,则可能泄漏自己的明文密码。对于大多数普通人来说,他们会使用一样的密码登录他的所有 的账号,这就意味着他的其他账号:例如淘宝或网上银行账号也有被盗的风险。
正 确的做法应该是这样:事先生成一对用于加密的公私钥,客户端在登录时,使用公钥将用户的密码加密后,将密文传输到服务器。服务器使用私钥将密码解密,然后 加盐(Salt,在密码学中是指,通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这个过程称为“加盐”),之 后再多次求MD5,然后再和服务器原来存储的用同样方法处理过的密码匹配,如果一致,则登录成功。这样的做法保证黑客即使截获了加密后的密文,由于没有私 钥,也无法还原出原始的密码。而服务器即使被黑客攻陷,黑客除了暴力尝试,也无法从加盐和多次MD5后的密码中还原出原始的密码。这就保证了用户密码的安 全。
防止通信协议被轻易破解
除了上面提到的明文传输密码的问题外,移动端应用还要面对黑客对于通信协议的破解的威胁。
在 成功破解了通信协议后,黑客可以模拟客户端登录,进而伪造一些用户行为,可能对用户数据造成危害。例如腾讯出品的消除游戏《天天爱消除》,在淘宝上就有很 多售价仅为1元的代练服务,如果真正是人工代练,是不可能卖这么便宜的,只有可能是该游戏的通信协议被破解,黑客制作出了代练的机器人程序。通信协议被破 解除了对于移动端游戏有严重危害外,对于应用也有很大的危害。例如针对微信,黑客可以制作一些僵尸账号,通过向微信公共账号后台发送垃圾广告,达到赢利的 目的。而iPhone设备上的iMessage通信协议居然也被破解了,所以很多iPhone用户会收到来自iMessage的垃圾广告。
对 于以上提到的问题,开发者可以选择类似ProtoBuf(Google提供的一个开源数据交换格式,其最大的特点是基于二进制,因此比传统的JSON格式 要短小得多)之类的二进制通信协议或自己实现通信协议,对于传输的内容进行一定程度的加密,以增加黑客破解协议的难度。图2是我截取的淘宝客户端的通信数 据,可以看到其中的值都不能直观地猜出内容,所以这对于通信协议是有一定的保护作用。
图2
验证应用内支付的凭证
iOS 应用内支付(IAP)是众多应用赢利的方式,通过先让用户免费试用或试玩,然后提供应用内支付来为愿意付费的用户提供更强大的功能,这种模式特别适合不习 惯一开始就掏钱的中国用户。但国内越狱用户的比例较大,所以我们也需要注意应用内支付环节中的安全问题。简单来说,越狱后的手机由于没有沙盒作为保护,黑 客可对系统进行任意地修改,所以在支付过程中,苹果返回的已付款成功的凭证可能是伪造的。客户端拿到付款凭证后,还需要将凭证上传到自己的服务器上,进行 二次验证,以保证凭证的真实性。
另外,我们发现越狱用户的手机上,很可能被黑客用中间人攻击技术来劫持支付凭证。这对于黑客有什么好处呢? 因为苹果为了保护用户的隐私,支付凭证中并不包含任何用户的账号信息,所以我们的应用和服务器无法知道这个凭证是谁买的,而只能知道这个凭证是真的还是假 的。所以在验证凭证时,哪个账号发起了验证请求,我们就默认这个凭证是该账号拥有的。如果黑客将凭证截获,就可以伪装成真实用户来验证凭证或者转手出售获 利。
打个比方,这就类似于很多商场的购物卡一样,由于是不记名的,黑客如果将你买的购物卡偷窃然后去刷卡购物,商场是无法简单地区分出来的。因此,对于应用内支付,开发者除了需要仔细地验证购买凭证外,也需要告知用户在越狱手机上进行支付的风险。
资源分享:
原文地址://www.csdn.net/article/2014-05-28/2819994
通信安全工具:
IP*Works! Internet Toolkit v9.0
IP*Works! S/MIME v9.0 IP*Works! SSH IP*Works! SSL
代码混淆工具:
.NET Reactor v4.9 Dotfuscator DashO Pro v7.3
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
最优化的网络通讯组件包,包含电子邮件、网络管理、文件传送、telnet、 HTTP等功能
IPWorks SSL为桌面或网络应用程序加入安全连接功能
IPWorks S/MIME为邮件、文件、新闻组文章提供S/MIME安全的组件
PreEmptive Protection DotfuscatorDotfuscator是一款.NET混淆器和压缩器,防止您的应用程序被反编译。
DashO for Android and JavaDashO-Pro是第三代的Java混淆器(obfuscator)、压缩机(compactor)、优化工具和水印工具(watermarker)。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢