移動應用程序開發(fā)需關注的八大安全問題
業(yè)務經理需要確保銷售和IT管理人員在構建移動應用程序時能夠保護客戶的數據,不會向外部的攻擊者打開無法預料的安全漏洞。下面,我們給出企業(yè)在開發(fā)移動應用程序之前需要考慮的八大問題:
一、移動設備上的軟件風險與傳統的企業(yè)軟件有什么不同?
移動設備應用程序的定義決定了它存在于企業(yè)環(huán)境之外的手持設備上,如一個客戶的設備。不妨設想一下這種設備被竊取,而其中的軟件又被惡意人員實施了逆向工程的情況。還有,如果某人正在胡亂地修補、改變你的移動應用程序,你幾乎是很難知道的。對于攻擊的預防和檢測,必須依賴于檢測移動設備與內部服務器的交互方式上。
二、這些移動應用程序如何與內部服務器交互?
許多人將對移動安全的重視主要放在了設備的安全上。事實上,多數風險存在于移動設備與面向外部的服務器進行交互的過程中。企業(yè)的風險建模和測試方式應該反映這個現實問題。如果設備被竊取,其中的代碼被逆向工程,適當水平的攻擊者就可以確認接收內部請求(即移動設備發(fā)送的請求)的目標服務器。這樣,服務器就必須能夠承受不同的應用程序攻擊和網絡攻擊。
三、企業(yè)內部擁有管理這種風險的技能和技巧嗎?
由于對移動設備應用程序的需求不斷增長,即使開發(fā)經驗不太豐富的軟件開發(fā)人員也受到企業(yè)領導的青睞。但是,企業(yè)應重視移動開發(fā)領域的內部技巧,或招聘適當的移動安全專家,用以強化移動應用程序的安全性。
四、移動代碼的開發(fā)人員是否比其它開發(fā)人員更理解安全概念呢?
不幸的是,許多人的回答者否定的,但移動代碼的安全問題必然會改變這種狀況。如今,該領域中的許多才能都來自現實世界,來自封閉的設備開發(fā)領域。用這種才能開發(fā)的移動應用程序只能是過于粗糙,無法承受來自互聯網的攻擊的。而且,如果開發(fā)人員對移動環(huán)境不夠熟悉,會帶來一些安全隱患。
五、在完成一次會話后,能否確保機密的客戶信息不留在移動設備上?
軟件開發(fā)人員應當編寫這樣的代碼:在客戶已經完成瀏覽會話后,不準許再保留私密數據。這是因為有些移動設備易于攻擊。同時,企業(yè)必須采取措施杜絕某些瀏覽器或操作系統繞過這些控制,要及時修補移動瀏覽器和操作系統的漏洞。
六、一旦與移動應用程序相關的客戶數據丟失或受破壞,應部署哪些過程進行應對呢?
應當把事件響應過程設計到移動領域中,無論是內部人員還是外部人員都應如此。要以客戶數據的損失情況為基礎進行評估和訓練。在某個嚴重的漏洞被暴光之時,你已經準備好斷開移動設備的措施了嗎?
七、什么機構(企業(yè)、設備供應商、移動操作系統供應商等)需要為安全問題負責?
在架構問題上,企業(yè)都有多種關鍵的依賴,如果發(fā)生了損害,誰要為環(huán)境的哪個方面負責呢,是設備、操作系統或是應用程序呢?理解這個問題有助于你管理移動應用程序的安全事件。
八、為了開發(fā)更安全的移動應用程序,需要部署哪些開發(fā)方法呢?
你要問一下這些問題:考慮到移動環(huán)境所固有的弱點,移動應用程序的開發(fā)方法是否已經發(fā)生了改變?你為移動代碼制定了哪些編碼標準?如何強化這些標準?經常檢查這些標準嗎?是否僅針對高版本的程序檢查標準呢?最先進的移動開發(fā)項目必須遵循企業(yè)的標準,這樣才能開發(fā)出更安全的軟件。必須強化、補充這些標準,其目的是為了反映與移動應用程序有關的更復雜的威脅模式。
精明的安全管理人員都應當在開發(fā)和部署移動應用程序前就關注這些問題,而不是在開發(fā)的后期。任何企業(yè)必須盡快地定義其移動安全的策略,遏制移動應用程序給企業(yè)帶來的風險。