如何发现移动应用程序中的SSL泄密隐患?
来源:互联网 发布:怎么把数据透视表还原 编辑:程序博客网 时间:2024/06/16 19:51
http://netsecurity.51cto.com/art/201408/449772.htm
安全套接层协议(SSL)是现代互联网上的一种根本性技术,让传输中数据能够进行加密、安全传输。不过据Tony Trummer和Tushar Dalvi这两位安全研究人员声称,许多大受欢迎的移动应用程序并没有合理地实施SSL。
Trummer和Tushar都是供职于知名职业社交网站LinkedIn的安全研究人员,他们在近日召开的Defcon安全大会的一场分会上详细介绍了发现结果。这项研究并没有得到其雇主(LinkedIn公司)的资助或赞助,而是利用他们俩自己的时间开展完成的。
这两位研究人员发现,在他们在iOS和安卓平台上测试的许多移动应用程序中,应用程序开发人员禁用了证书机构(CA)的验证机制。而这种验证机制却是确保SSL证书真实而有效的的最佳实践。
核查CA
Trummer和Tushar认为,只要利用简单的测试,就能核查是否与CA取得了联系。他们建议,研究人员应该安装BurpSuite软件(http://portswigger.net/burp/),这个网站应用程序安全测试工具箱既有免费版,也有收费版。Burpsuite可以用作网站流量的代理,为每个主机生成CA签名的证书。
可以配置装有移动应用程序的最终用户设备,以便指向该代理。要是来自该设备的安全SSL流量仍能够通过,这就表明CA验证机制没有在正常工作。
核查主机名称
就SSL而言,这点也很重要:证书名称与所联系的那个网站的名称相一致。为了测试已落实了相应的主机名称核查机制,可以为有别于所测试的目标域的域获得一份有效证书。
Trummer和Tushar都建议,随后应该配置BurpSuite,以便使用测试证书。要是来自移动应用程序的安全SSL流量仍能够通过,那么这表明可能存在问题。
Trummer特别指出,还有一些应用程序发送敏感的信息,比如信用卡数据,却根本没有任何SSL或加密机制。他表示,移动应用程序的开发人员需要接受培训,了解怎样才能合理地实施SSL安全技术。他补充说,厂商们应该落实相应政策,确保传输中数据得到了保护。
Trummer建议,安卓开发人员尤其要注意移动应用程序代码中的TrustManager、SSLSocket和HostName Verifier这些属性。
对iOS开发人员而言,需要特别注意和认真检查的几个方面是现代应用程序代码中的_AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_、SetAllowsAnyHTTPSCertificate和kCFStreamSSLAllowsAnyRoot这些函数。
原文地址:http://www.esecurityplanet.com/mobile-security/how-to-detect-ssl-leakage-in-mobile-apps.html
- 如何发现移动应用程序中的SSL泄密隐患?
- APP安全事件频发,如何第一时间发现隐患?
- 铁道部回应火车票存泄密隐患
- 【如何移动应用程序】
- spring中的并发隐患
- APP漏洞导致移动支付隐患重重,未来之路如何走?
- 浅谈如何防范计算机信息泄密
- 315曝公共WiFi风险,使用SSL证书防泄密
- 如何发现客户端软件中的内存泄露?
- 如何发现程序中的段错误?
- 发现项目中的问题如何解决
- 偶然发现手机存在被欺骗攻击隐患
- 利用线性拟合模型发现测试环境性能隐患
- WiFi不安全?如何设置防止无线网络泄密
- 本地监控软件方案如何防泄密?
- 如何杜绝身份证泄密,危害他人
- 手机是如何泄密个人隐私的
- 手机是如何泄密个人隐私的
- object-c中get/set方法
- Android —— HandlerThread
- Linux 常用命令(二)
- Lambda表达式详解
- Android常见问题总结(五)
- 如何发现移动应用程序中的SSL泄密隐患?
- 从程序员到CTO的Java技术路线图
- 怎样在几何画板中输入因为符号
- 快速傅里叶变换
- SDRAM Internals
- Shell脚本(自动填充函数模板)
- Java获取服务器根目录
- OpenCV 轮廓矩
- C/C++中的malloc、calloc与new的区别