如何发现移动应用程序中的SSL泄密隐患?

译文
安全
安全套接层协议(SSL)是现代互联网上的一种根本性技术,让传输中数据能够进行加密、安全传输。不过据Tony Trummer和Tushar Dalvi这两位安全研究人员声称,许多大受欢迎的移动应用程序并没有合理地实施SSL。

安全套接层协议(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

责任编辑:蓝雨泪 来源: 51CTO.com
相关推荐

2014-09-03 10:43:55

网络·安全技术周刊

2015-11-05 10:16:33

2010-07-28 19:24:10

2013-09-03 15:45:50

2011-02-24 12:20:32

2013-02-22 09:28:45

MEAP软件移动应用开发HTML5

2013-09-24 09:52:33

移动应用虚拟化

2013-01-05 10:28:18

虚拟化移动应用

2014-05-04 09:37:51

2022-01-20 15:33:30

区块链创新初创公司

2014-04-28 09:11:31

应用带宽WLAN建设

2014-05-31 22:54:37

Azure移动服务应用程序

2010-10-15 09:39:22

MeeGoQt

2011-12-06 10:10:59

云计算移动应用

2011-02-22 10:23:43

2021-11-05 11:03:33

云计算开发技术

2015-01-14 09:41:28

跨平台移动应用Linux开发

2012-10-23 14:51:38

2012-05-14 17:35:28

移动Web

2010-08-11 09:45:03

点赞
收藏

51CTO技术栈公众号