五个步骤,保护移动应用免受恶意攻击
英文原文: 5 Steps to Protect Mobile Apps from Attacks
Apple CEO Tim Cook 在今年六月的全球开发者大会上提到过,Apple 公司已有 900 万注册开发者,相比去年增长了 47%。这一数据告诉我们,越来越多的人将自己的技能和创造力投入到了这个行业之中,不过伴随着爆发式开发者和应用数量增长而来的是对这些应用进行恶意攻击。
很多开发人员错误地认为移动领域是不受攻击威胁的,就是这种虚假的安全感导致一些开发者在防范措施上节省成本,结果就会像今年早些时候的 Fandango 应用一样泄露了信息。事实上,移动应用是企业安全区域的入口点,它的安全和 Web 安全同样重要。
那着手这一问题要从何做起呢?Moki,一家专业从事移动应用安全及运营管理的公司,其 CTO Jared Blake 以自身的工作经验,与大家分享了保护应用程序的五个步骤:
1. 重新考虑安全性问题,并将它集成到开发过程中去
在安全方面最常见的错误就是,只把它当做进程中的一个单独步骤来做,其实安全应该是全面而又系统的。当开发者总是在应用开发的最后才去试图拼凑出一个安全方案,那么被攻击的缝隙就已经存在了。有很多开发者在自己固定的代码部分做的很好,但总会忘记去关注一下整个代码库。
2. 掌握基础知识
保护移动应用免受攻击,早期应该做的就是学习最基本的安全威胁是什么。在这里向大家提供一个很宝贵的资源, Open Web Application Security Project (OWASP)报告,它详细的介绍了对移动应用最具攻击性的十大安全威胁,而且每年都会进行更新。这对新开发人员很重要,也许看起来很基本,但根据 OWASP 给出的建议,可以让你知道更多你应该采取的措施。
3. 使用可靠的安全方案。
不要试图想要自己重新来过,所有主流操作系统都有经 NIST 认证并由专家审核过的加密框架。开发者如果想要打造自己的方案,大多都会以常受攻击而结束。
4. 保护静态数据
处理静态数据可能是一个很容易受到攻击的状态,特别是你在收集一些敏感数据时。其实关于避免静态数据受到攻击有多个选择,比如随时擦除数据、关掉任何在你产品环境中用不到的部分,以及实现一个非对称加密的解决方案。后者是可以确保静态数据时安全的,作为能解密数据的私钥是永远不会在设备上呈现的。
5. 证书验证
Apple 的 iOS 7 和 OS X 的“goto fail”bug 给开发者好好上了一课,这个不过绕过了 SSL 验证。尽管使用 SSL 很重要,但如果你不能确保你的证书的话,也就没那么重要了。所以,你要确认自己确实已经验证了证书,从源头上避免在请求的时候就受到攻击。