咨询邮箱 咨询邮箱:service@yitianxinda.com 咨询热线 咨询热线:400-668-3065 微博 微信
软件开发公司如何保护你的iOS应用程序用户数据?_北京软件开发公司
发表日期:2015-08-31 11:49:00    文章编辑:宜天信达    浏览次数:
软件开发公司移动应用安全检查表:
请问你的iOS应用程序保护用户数据?
移动开发的技巧:如何检查你的移动应用程序的安全性照片由奥利弗昆兰
 
上周我们开始谈论应用安全评估移动应用程序开发过程中的一个重要方面。我们以前的文章涵盖的话题iOS的渗透测试任何开发者都可以-也应该-如果iOS应用他或她对机密信息进行交易的作品,例如信用卡号码,帐户凭据,等,今天我们将继续讨论移动应用程序的安全性测试注重保护用户的数据。
 
数据安全的里程碑
对一个移动应用程序的安全性时,开发商进行三大检查:客户端,服务器端和协议的数据传送。这些任务可以进一步分成更小的:
 
检查信息是如何通过互联网发送
检查隐私设置
检查数据如何存储
通过模拟外部攻击的安全评价(渗透测试)
让我们看一看。
 
网站流量分析
iOS应用程序使用不同的方式交换或传输数据:
 
加密协议像HTTP。
如何检查:是否这些协议用于传输机密数据。
安全协议,如HTTPS。
如何检查:是SSL证书验证?并应用程序接受任何SSL证书?
非标准协议和底层数据传输协议。
隐私
在这里,我们检查应用程序访问任何用户数据没有问。
 
数据存储
在一个iOS设备的标准应用程序的安装过程中,系统将创建一个在/ var /移动/应用程序的唯一ID的文件夹。典型的文件夹结构,在应用程序的根文件夹看起来如下:
 
一个典型的应用程序的文件夹结构
 
在这里,我们应该注意:
 
plist文件 — 的内容是什么?是否有任何隐藏的选项?
钥匙扣 — 存储是什么?都是密码加密的安全?
高速缓存 — 什么是缓存?
日志 — 是过程的记录?没有任何机密资料落入记录?
渗透测试
渗透测试是一个强大的工具,包括应用程序的潜在漏洞的开发有助于估计应用程序的机会去对抗真正的恶意攻击。我们强烈建议你做渗透测试如果你的应用程序与银行卡或其他机密信息。对于某些类型的应用程序,如移动支付应用程序,这个测试是必须的。如果你是新的领域,指的是我们的渗透测试教程。
 
案例研究:“用卡支付应用的安全审计
出于演示的目的,我们要真正的应用程序,通常用在俄罗斯,并进行安全审计。该应用程序被称为“用卡支付”这是一个手机充值的应用程序,允许用户对无线载波扩音器支付。
 
AppStore的描述:没有时间来支付你的手机吗?现在你可以快速和容易的 — 与你的智能手机。没有排队*。没有任何隐藏的费用!只要下载这个应用程序,你可以用VISA或万事达卡付款到扩音器。
 
*是的,在俄罗斯的时候,你付你的无线电话,你偶尔会进入队列等待时间。
 
附加信息:我们会使用扩音器服务指南的凭据登录/密码对。服务地址取决于特定的区域,在新西伯利亚地区为例。
 
测试装置:iPhone 3G。
 
初步分析
扩音器服务指南系统允许该无线运营商客户管理他们的扩音器账户:改变关税,添加和删除额外的选项,对于具体服务如电话和短信的请求报告,花费积分,等。
 
因此,主要的安全问题:
 
如何保证用户的应用程序保密账户数据安全?应用程序该如何抵御服务指南一个未经授权的访问?
其他的问题:
 
在银行卡号码储存?这是信息加密?
它可能在这个程序注册卡擅自支付?
应用流量分析
超文本传输协议
 
这里所有的清洁。没有加密的协议用于传输数据的安全。
 
HTTPS
 
所有的清洁以及在这里。所有的证书验证。
 
应用流量分析
 
我不能安装在设备上 portswiggerca.crt— 设备重新启动,每次我想。这就是为什么我连接不通过代理而直接。
 
渠道转移银行卡号码
 
由于该设备不支持多任务,我不能检查银行卡数据传输通道。这个使命我必须登录没有代理,同时检查发送数据代理。
 
隐私
再次清洁。我还没有发现任何未经授权的用户访问数据。
 
数据存储
认证
 
 
数据分析显示该应用程序的用户应该了解的几个弱点:
 
安全风险!在授权的过程中,一个authdata.xml文件在文件创建的文件夹,其中的用户名/密码对加密服务的谎言。
安全风险!重启后自动应用程序日志。
安全风险!当应用程序关闭时,与未加密的密码authdata.xml文件仍保留在文档文件夹。该文件不是用户即使标志的账号删除。
上面说的是因为“记住密码”选项是默认的。如果你按退出,关闭“记住”选项,关闭应用程序,该应用程序会自动登入后重启。
 
也许,“记住”选项不保存数据,如果“进入”按钮没有被按下。
 
当恶意用户试图登录错误的凭据,应用程序将显示一个错误信息。然而,黑客可以简单地重新启动应用程序,它将允许用户自动。
 
好消息是:如果你把“记住”选项从授权开始,该authdata.xml文件不会被创建。
 
银行卡数据
 
苹果拒绝了老卡,显示一个错误信息,说卡已过期。当我试图发送虚假数据错误的届满日期,应用程序显示一个错误信息,使银行不能购买的测试。
 
当我终于进入了一个有效的信用卡数据,确认屏幕出现。我不得不进入一个测试付款金额。在这一步,我不知道如果程序记住了卡的数据或不。据推测,该数据存储在远程服务器上。让我们用tcpdump检查这个假设。
 
重要!加上“S”使用Wireshark遵循TCP流选项(按CTR + C停止记录)。这也将确保包不切。
 
 
 
总结
不幸的是,我们找到了应用程序的重点不是足够安全的下。任何恶意的用户可以访问帐户的数据很容易。获得的登录名和密码会让黑客改变配置参数,如无线运营商资费和服务获取机密信息,如电话和短信发送。
 
软件开发公司的结论:我们不推荐这个应用程序的用户。我们坚决支持这个应用程序的开发者更重视安全的做法,并确保他们不把扩音器用户数据的风险。
相关文章推荐