移動應用開發:新的威脅如何解決?
與web應用相比,移動應用的安全實踐有什么不同?
我向Jeffery Payne和Dan Cornell問了此問題,Jeffery Payne是軟件咨詢機構Coveros的CEO,Dan Cornell是位于德克薩斯州,圣安東尼奧的安全咨詢公司Denim Group的總裁。這兩個位安全專家在最廣泛的意義上,對安全規則進行了強調,這些安全規則既適用web應用,也適合于移動應用開發項目。
從威脅建模、到源代碼分析和滲透測試,軟件團隊應該采取措施來確保應用程序的整個生命周期的安全,包括策劃、編碼、測試和部署,Payne和Cornell說。
但是他們也指出的一些關鍵的方法,使移動應用引入新安全挑戰兩位專家對于應用安全的一些看法。
Jeffery Payne:當涉及到安全時,軟件就是軟件,而且運用所有平常的規則。移動應用改變的一件關鍵事情是,我們使用它的方式。這應用運行在智能手機上,然后我們可以把手機裝在口袋中,我們走路的時候也一直帶著它。但我們的手機很容易丟失或被偷,這是***的安全所在。
也就是說,開發人員要仔細考慮移動應用存儲數據的方式,這樣當有人拿走你的手機,也不能輕易訪問那些數據。***實踐包括加密敏感數據——即信用卡號碼、客戶信息和社交安全密碼。做這些已經足夠了,但是移動應用迫使開發人員思考移動設備可用環境下的安全性;屏幕很小,鍵盤受限,用戶一直在使用。我們越是鎖定安全性,移動應用就越難以使用。從事web應用的開發人員不必在這個問題上費心。
另一個選擇是將數據存儲在隨機存取存儲器(RAM),這里應用程序可以輕易訪問,但卻隱藏于視圖之外。在此情況下,確保應用從RAM中自動清除數據很關鍵——除去這一點,它幾近***。
Dan Cornell:對于移動應用,軟件開發團隊可以采取的最重要安全措施是,進行小組練習,小組成員映射出移動應用組件,創建出可視的系統和數據庫的描述圖,移動應用借此來彼此溝通。可視化的方法是非常有效的,因為它允許開發人員和測試人員知道數據流是如何通過應用程序的,了解到哪一點是必須確保安全的。
這種練習的附加好處還有,它準確地傳達了企業移動應用程序的復雜性,這幫助團隊成員超越了傳統的思想,即移動應用是小的、簡單的。這對于***代移動應用來說,可能是對的,***代移動應用只執行一個簡單的任務,而不會能企業應用中訪問數據。但今天開發的移動應用很重要。圖表方法也允許團隊思考移動應用應該在哪里存儲數據。對于計劃階段中,討論每一點上的風險和好處很重要,因此在應用完成后,進行架構修改不僅費時,而很昂貴。