移動應(yīng)用開發(fā)給企業(yè)帶來了全新的問題,特別是在軟件安全領(lǐng)域。通常應(yīng)用商店的開發(fā)人員可能會擔(dān)心代碼被盜,然后被反向編譯。這對于花費(fèi)大量時間和資源創(chuàng)建出應(yīng)用的個人開發(fā)人員或者小型團(tuán)隊而言無疑是滅頂之災(zāi)。但是最終分析表明,通常應(yīng)用本身只能帶來數(shù)千美元的利潤,即使有什么問題帶來的損失也不是很大。相比較而言,不安全的應(yīng)用對于企業(yè)級公司而言,可能會造成的敏感信息丟失,資產(chǎn)的被盜或者客戶個人和財務(wù)數(shù)據(jù)信息的泄露,這些所導(dǎo)致的損失則會達(dá)到百萬甚至數(shù)十億美元。不幸的是,很多企業(yè)剛剛第一次嘗試構(gòu)建移動應(yīng)用——他們可能還沒有意識到這么小的應(yīng)用程序上的錯誤可能會導(dǎo)致的嚴(yán)重后果。
更大不意味著更安全
企業(yè)過去通常嚴(yán)格控制它們的基礎(chǔ)架構(gòu)。Dan Cornell,Denim Group的CTO,提及一種常見的和安全性錯誤認(rèn)知相關(guān)的缺陷。”移動應(yīng)用的安全的確非常重要,因為不僅僅要考慮到設(shè)備上的代碼。你在改變你的系統(tǒng)。在基于Web的系統(tǒng)上會出現(xiàn)這樣的情況,”這里是我的代碼,這里是我的系統(tǒng),系統(tǒng)在服務(wù)器端,但是攻擊者在防火墻的另一邊。“
“而移動應(yīng)用,”他補(bǔ)充道,“你需要將一些計算和數(shù)據(jù)放到不受信任的設(shè)備上。這些設(shè)備可能會被盜,也可能被root了,可能會在eBay上出售或者發(fā)生任何其他情況。這些都使得保證移動應(yīng)用的安全性非常復(fù)雜。”
當(dāng)想要安全保護(hù)移動應(yīng)用時,很多細(xì)節(jié)需要考慮。在服務(wù)的交互端口最容易產(chǎn)生問題。根據(jù)Cornell所說,”這不僅僅有關(guān)于在設(shè)備上運(yùn)行的代碼,還有關(guān)于支持設(shè)備代碼的在企業(yè)Web服務(wù)上運(yùn)行的代碼,還有關(guān)于移動應(yīng)用程序調(diào)用的第三方服務(wù)的代碼。我們觀察到的最嚴(yán)重的問題存在于這些不同組件的交互部分。“
數(shù)據(jù)保護(hù)需要持續(xù)投入
數(shù)據(jù)泄露對于移動應(yīng)用而言是個很嚴(yán)重的問題——可能以很多方式發(fā)生。這是Gartner的一名分析師Van Baker的觀點(diǎn)。數(shù)據(jù)傳輸,存儲和使用都可能引入風(fēng)險。”一方面,需要認(rèn)證請求進(jìn)入的用戶,因為他們還沒有進(jìn)入你的網(wǎng)絡(luò)。他們通過公開的移動電話網(wǎng)絡(luò)進(jìn)入,因此必須確保他們的確是你想要給予權(quán)限訪問公司系統(tǒng)的用戶。這是第一層次的挑戰(zhàn),能夠通過活動的目錄實(shí)現(xiàn)或者LDAP實(shí)現(xiàn)來完成認(rèn)證。“
“接下來,”Baker繼續(xù)道,“如果你要發(fā)送敏感信息給這些移動應(yīng)用程序,需要確保加密了數(shù)據(jù)的傳輸。如果這些數(shù)據(jù)留存在移動設(shè)備里,需要確保留存數(shù)據(jù)被加密,這樣才能保證公司資產(chǎn)在這些設(shè)備上的安全。”
保持這些數(shù)據(jù)在企業(yè)的監(jiān)控下也很困難。不能期望員工一直謹(jǐn)慎使用他們自己的設(shè)備,并且只下載公司授權(quán)的應(yīng)用。這些設(shè)備里,個人和業(yè)務(wù)的混合使用給保證移動應(yīng)用安全的開發(fā)人員帶來了全新的挑戰(zhàn)。”大家可能在這些包含敏感信息的移動設(shè)備上安裝工作相關(guān)的應(yīng)用程序,并且他們想要安裝不被公司控制的個人應(yīng)用,”Baker說。“可能可以使用類似容器技術(shù)的隔離技術(shù),并且在移動應(yīng)用里構(gòu)建策略來阻止類似拷貝/粘貼或者轉(zhuǎn)發(fā)到域外的操作。”這些是移動應(yīng)用程序員面臨的一些挑戰(zhàn),而開發(fā)臺式機(jī)應(yīng)用程序時完全無需考慮到這些。
開發(fā)人員是否需從之前的錯誤中吸取教訓(xùn)?
Cornell一針見血——開發(fā)人員和商務(wù)人員必須意識到一些安全問題可能會發(fā)生。“我們已經(jīng)意識到移動系統(tǒng)里,特別是從安全性角度來看,開發(fā)團(tuán)隊在犯一些很久以來就一直存在的錯誤,”他說。“我們一開始在Web應(yīng)用程序里看到這些錯誤。例如需要登錄的管理功能通常沒有被很好地保護(hù)(比如管理員目錄,大家都嫌煩,而設(shè)置成無需密碼登錄)。”
隨著時間的流逝,開發(fā)人員也意識到了這些問題。但是隨著AJAX應(yīng)用的興起,安全性問題又日益嚴(yán)重,因為服務(wù)無需做認(rèn)證或者授權(quán)檢查 -- 自然企業(yè)又不得不自嘗惡果。歷史總是在不斷重演。“移動應(yīng)用出現(xiàn)后,支撐應(yīng)用的服務(wù)之前都沒有接受到過任何惡意流量,”Cornell說。“他們只從授權(quán)的移動客戶端接收請求。當(dāng)開始攻擊這些服務(wù)的時候,它們自然迅速淪陷了?;蛘撸绻麌L試將這些服務(wù)的標(biāo)識符增加時,你就會發(fā)現(xiàn)這些服務(wù)根本就沒有考慮到授權(quán)或者認(rèn)證。這是開發(fā)團(tuán)隊之前就犯過的錯誤,現(xiàn)在在新的上下文環(huán)境里又重新犯錯了。”
但是Cornell承認(rèn)企業(yè)級開發(fā)團(tuán)隊學(xué)習(xí)速度很快。“他們正在學(xué)習(xí)如何進(jìn)行移動開發(fā),同時如何保證移動開發(fā)的安全性。”但愿他們能夠通過對過去發(fā)生的錯誤的學(xué)習(xí)來避免問題,而不是需要在以后重新將這些問題再次經(jīng)歷一遍。當(dāng)面對移動應(yīng)用安全性問題時,企業(yè)已經(jīng)意識到他們無法承受這方面的錯誤。