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