什么是“安全容器”,它在移动安全方面扮演着什么角色?
从根本上说,安全容器是一个应用设计框架,目的在于提高运行在移动设备上应用程序的安全性。让我们来看看移动应用的一些具体问题,然后再看看安全容器有怎样的帮助,以及他们的局限。
从安全角度,移动应用存在一些有趣的特性。传统的web应用程序的大部分处理都是发生在应用自身的web服务器中,而且在应用用户工作站中只存储了一点点信息。然而,移动应用 的一个重大部分是信息处理和存储都发生在用户控制的设备上。这就导致了如下的问题:
如果恶意应用用户试颠覆应用怎么办? 如果设备上的恶意应用试图访问没有被授权的数据怎么办? 如果设备掉到恶意阵营怎么办?
移动设备操作系统,如苹果的iOS和谷歌的Android,提供了技术保护,努力帮助解决这些问题。例如,在应用下载到iOS设备上之前,应用商店之前安装的应用程序就是加密了的。另外,Android和iOS都提供了文件系统加密功能。这和消防安全措施很好,只除了绕过了出现在多个场合中操作系统提供的设施这一话题。
安全容器是什么?
所谓的安全容器是开发用于提供额外的安全层的。通常的安全容器是一个框架,构建应用时使用。这些应用要么提供要用的安全替代功能,而不是移动操作系统提供的功能,要么是在这些操作系统提供的之上的额外安全功能。不同的容器有不同的功能,但这些容器都有共同的选项,就是交替“non-sniffable”移动键盘、应用代码的反调试/反逆向工程、以及改进的加密功能。
提供这些功能的一个目标是,让应用开发人员设计并构建应用程序,使用这些功能进不会感到不舒服。例如,把敏捷数据存储在拥有安全容器的设备上会使用一个开发人员感到舒服,但是只使用移动操作系统提供的功能来存储的话,他们就会感到不安。
这看起来似乎有价值,但是应用开发人员要确实了解容器能够提供什么,以及当受到一个坚决的、知识渊博的攻击者时,这些安全措施又是如何退化的,这很重要,而且风险经理也要时刻注意他们。
安全容器局限是什么?
在一天的结束时,大部分安全容器对于设备硬件都没有做任何的更改,从根本上说,他们只是运行在移动操作系统之上的应用,并且必须要遵循也其它运行在设备的的应用的一样原则。因此,他们所遭受的攻击也会与其它的应用遭受的一样。他们可能提供了反调试和代码模糊功能,来对抗移动操作系统系统所提供的功能,但是攻击者可能会绕过那些保护措施,就如同他们攻击操作系统的本地功能一样。
安全容器的好处是什么?
容器可以提供的一个好处是,提供了比本地操作系统更清楚的支持保护措施细节。作为一个攻击者,如果我能在移动操作系统中找到弱点或漏洞,那么这一发现对于运行在平台上的所有应用都有价值。如果我在具体的容器中找到这一弱点或漏洞,那么它可以再一次地用来对抗部署在这一容器中的应用。这可能会使攻击点专注于操作系统平台,而不是任何具体的容器厂商。
因此,想要提升他们应用安全性的移动应用开发者可以考虑一下安全容器,从而可以看到各种容器提供的移动好处,但也是了解容器主要提供的保护措施也很重要,并适应这些保护措施实施的方式,他们不会像本地操作系统功能那样被轻易绕过。这正是第三方测试应用的价值所在。