“安全容器”提供完整安全移動應用程序
什么是“安全容器”,它在移動安全方面扮演著什么角色?
從根本上說,安全容器是一個應用設計框架,目的在于提高運行在移動設備上應用程序的安全性。讓我們來看看移動應用的一些具體問題,然后再看看安全容器有怎樣的幫助,以及他們的局限。
從安全角度,移動應用存在一些有趣的特性。傳統的web應用程序的大部分處理都是發生在應用自身的web服務器中,而且在應用用戶工作站中只存儲了一點點信息。然而,移動應用 的一個重大部分是信息處理和存儲都發生在用戶控制的設備上。這就導致了如下的問題:
如果惡意應用用戶試顛覆應用怎么辦? 如果設備上的惡意應用試圖訪問沒有被授權的數據怎么辦? 如果設備掉到惡意陣營怎么辦?
移動設備操作系統,如蘋果的iOS和谷歌的Android,提供了技術保護,努力幫助解決這些問題。例如,在應用下載到iOS設備上之前,應用商店之前安裝的應用程序就是加密了的。另外,Android和iOS都提供了文件系統加密功能。這和消防安全措施很好,只除了繞過了出現在多個場合中操作系統提供的設施這一話題。
安全容器是什么?
所謂的安全容器是開發用于提供額外的安全層的。通常的安全容器是一個框架,構建應用時使用。這些應用要么提供要用的安全替代功能,而不是移動操作系統提供的功能,要么是在這些操作系統提供的之上的額外安全功能。不同的容器有不同的功能,但這些容器都有共同的選項,就是交替“non-sniffable”移動鍵盤、應用代碼的反調試/反逆向工程、以及改進的加密功能。
提供這些功能的一個目標是,讓應用開發人員設計并構建應用程序,使用這些功能進不會感到不舒服。例如,把敏捷數據存儲在擁有安全容器的設備上會使用一個開發人員感到舒服,但是只使用移動操作系統提供的功能來存儲的話,他們就會感到不安。
這看起來似乎有價值,但是應用開發人員要確實了解容器能夠提供什么,以及當受到一個堅決的、知識淵博的攻擊者時,這些安全措施又是如何退化的,這很重要,而且風險經理也要時刻注意他們。
安全容器局限是什么?
在一天的結束時,大部分安全容器對于設備硬件都沒有做任何的更改,從根本上說,他們只是運行在移動操作系統之上的應用,并且必須要遵循也其它運行在設備的的應用的一樣原則。因此,他們所遭受的攻擊也會與其它的應用遭受的一樣。他們可能提供了反調試和代碼模糊功能,來對抗移動操作系統系統所提供的功能,但是攻擊者可能會繞過那些保護措施,就如同他們攻擊操作系統的本地功能一樣。
安全容器的好處是什么?
容器可以提供的一個好處是,提供了比本地操作系統更清楚的支持保護措施細節。作為一個攻擊者,如果我能在移動操作系統中找到弱點或漏洞,那么這一發現對于運行在平臺上的所有應用都有價值。如果我在具體的容器中找到這一弱點或漏洞,那么它可以再一次地用來對抗部署在這一容器中的應用。這可能會使攻擊點專注于操作系統平臺,而不是任何具體的容器廠商。
因此,想要提升他們應用安全性的移動應用開發者可以考慮一下安全容器,從而可以看到各種容器提供的移動好處,但也是了解容器主要提供的保護措施也很重要,并適應這些保護措施實施的方式,他們不會像本地操作系統功能那樣被輕易繞過。這正是第三方測試應用的價值所在。