你的智能手机应用在裸奔吗?

 Communications connectivity 

目前为止, 大多数移动应用用户无从知晓他们的应用是否安全, 他们只能信任开发者,但糟糕的是,安全是开发者最后考虑的事情。在Android智能手机的应用中,由于糟糕的SSL实施, 大量的应用存在着被“中间人攻击“的风险。 几千万用户的个人信息可能会被泄露。

当我们在电脑用浏览器上网的时候, 我们会注意到地址栏上的一个小的锁型图标。 不少人都知道, 这就是SSL的图标。 这是一种基本的网络安全措施用以保证我们的数据流不被截获或篡改。 当我们使用网上银行, 发送电子邮件, 或者网上购物时, 我们不希望别人能够看到我们的联系人地址, 信用卡信息等等。 经过长期的教育, 现在很多用户都知道了, 看到那个SSL的黄色锁型标志, 就代表我们在使用Internet安全链接HTTPS而不是普通的HTTP访问网络。

智能手机的安全“黑箱”

不过, 到了智能手机平台上, 情况有很大的不同。 在移动浏览器里面, SSL标志还是可见的, 而且很多移动浏览器的厂商也会提醒用户是否在采用安全的SSL方式链接。 可是, 移动应用APP呢? 在我们使用移动APP时, 绝大多数应用并不显示SSL的标志甚至访问的URL。 而我们采用移动应用进行网上银行, 通信, 网上购物等种种行为。 而且, 我们的智能手机本身, 就存储了很多我们的个人信息, 如通讯录,日程安排, GPS位置信息等等。 我们如何能够保证移动APP在与它们的服务器链接的通路也是安全的呢? 如果是个人用户, 可能会因此产生个人隐私的泄露。 而如果是企业用户,这样的安全缺陷可能会导致企业信息或者客户信息的泄露。

目前为止, 大多数移动应用的用户无从知晓他们的应用是否安全的, 他们只能信任开发者,但糟糕的是,安全是开发者最后考虑的事情。 为了了解开发者开发的应用的安全性, 首先必须了解开发者采用的安全模式, 然后可以有一些工具来监测应用的安全性。 去年10月份, 德国汉诺威的Leibniz大学的研究团队, 深入Android的内核研究了它的SSL的实施细节, 以及在Android平台上开发者确保应用安全的难易程度。

他们的研究发现, 对普通用户来说, 无法了解某个应用提供的安全性。 安装应用是的提示框基本没用, 因为很多应用使用的权限都会超过提示框提示的权限。 几乎每个应用都会申请网络连接, 但是并不会告诉用户会发送什么内容, 是否采取了安全链接。

此外, 在对从Google Play下载的13500中免费应用进行静态代码分析时, 他们发现, 有1074中(8%)的应用错误使用了SSL。 在SSL链接中, 它们允许任何主机或者允许任何证书的链接。 这样就有可能导致“中间人攻击”(MiTM, 参考本站的文章“诺基亚爆出手机浏览器安全黑幕”), 而进一步的分析则证明了, 这其中的41%的应用, 确实可以被实施“中间人攻击”。 这也就意味着, 由于糟糕的SSL实施, 几千万用户的个人信息有可能被泄露。 这个德国团队在实验中, 就通过中间人攻击截获了银行账户信息, Paypal帐号信息, Google, Facebook, Twitter的账户信息, 他们甚至能够在一个防病毒应用里植入病毒特征码,从而使该防病毒应该彻底失效。

移动应用开发者所犯的主要错误包括对Android的TrustManager在界面的配置时, 对所有证书都选为可信任, 或者在建立安全链接时忘记选定主机名, 以及使用混合模式, 让加密信息和非加密信息在同一页面上显示等。 此外, 值得注意的是, Android 4.0默认信任134种根CA。 这个默认范围也有点大。参考阅读:安全性堪忧,1.85亿Android用户隐私数据面临威胁

自查与补救措施

作为用户, 如何能够判断应用是否安全呢? 德国的研究团队使用的是一个叫做Androguard的工具, 这是一个静态的代码分析工具。 通过分析代码, 可以知道某个应用在哪些地方存在漏洞。

对一般用户来说, 代码分析还是太难了。 其实还可以有一些简单的办法来检查应用是否安全。 比如可以去ZAP的站点。 这个站点提供一个Web界面可以检查Android或者是iOS应用的安全性。 用户可以通过它们的扫描网关进行应用扫描, 也可以上传应用。 它会报告给用户是否应用的认证和传输是安全的, 是否存在数据泄露或者内容是否被暴露给广告网络或者分析工具等等。

对企业移动应用开发者来说, 在开发过程中, 如果你采用了SSL, 你一定要确保SSL加密措施的正确实施。 Android和iOS 都有很全面的如何实施SSL并避免遭受“中间人攻击”的开发指南。 开发者需要认真阅读。

此外, 在移动应用方面, 一些公司也在进行其他的尝试。 如富士通公司最近就宣布在开发一个基于HTML5的系统。 这个系统, 可以根据员工是否处于安全网络内, 决定是否允许员工访问公司数据。 这套系统可以利用员工的手机, 判断员工是否处于Wi-Fi网络里, 还是在刷了公司的近场接触(NFC)卡从而判断用户的网络环境的安全状况。

作为企业CIO或者CTO来说, 在拥抱BYOD的同时, 也必须清楚地了解移动应用的安全问题。 这样才能够保证企业网络和企业数据的安全性。

第一时间获取面向IT决策者的独家深度资讯,敬请关注IT经理网微信号:ctociocom

   

除非注明,本站文章均为原创或编译,未经许可严禁转载。

相关文章:


关于作者

        在TMT领域具有十余年的咨询和创业经验。 目前主要关注信息安全,同时密切关注云计算、社会化媒体、移动、企业2.0等领域的技术创新和商业价值。拥有美国麻省理工学院MBA学位和清华大学经济管理学院学士学位,曾任BDA中国公司高级顾问,服务过美国高通、英特尔、中国网通、SK电讯、及沃达丰等公司。联系邮件:wangmeng@ctocio.com