原文參考:
發表: Michelle Drolet - Mirchelle Drolet現任Towerwall的CEO。Towerwall位於美國 馬薩諸塞州,為一間女性所有的網路安全軟體公司。
翻譯及整理:叡揚資訊 資訊安全事業處
當應用程式在時程限制下程開發時,無法進行充分且完整的測試,進而導致遭遇問題的風險提高。然而建置一套功能齊全的行動應用程式,需要花費大量時間進行開發且經過嚴格的測試。就如同美國民主黨遭遇到的案例一樣,該黨舉辦的總統候選人之票選活動,因票選應用程式的功能並未經過完整且充分的測試,導致在愛荷華州民主黨總統候選人投票結果的發生延遲。除了政治及其他可能的原因之外,各地的網路安全專家都被此緊急狀況嚇壞了。難過的是,這並不是什麼新鮮事,因為行動應用程式常跟隨Bugs及弱點被發布。Kryptowire在2019年11月份,針對來自29個不同的Android裝置製造商進行分析,發現手機中預先安裝好的應用程式含有146個漏洞。我們正在討論的是全新手機的安全性,在使用者尚未安裝任何App前。
拋開政治和可能的動機不談,各地的網路安全專家都對這種倉促的開發方式感到震驚。可悲的是,這已經不是什麼新鮮事了,因為手機應用程式在發佈時經常會出現BUG和漏洞。當Kryptowire在去年11月分析了29家不同廠商的Android全新手機上的預裝應用程式時,發現了146個漏洞。潛在的風險對公司及其客戶來說是巨大的,尤其是在資料隱私成為一個更大的議題,越來越嚴謹的法規帶來更嚴格的懲罰,民眾對於隱私的期望值也隨之提升。任何組織在開發APP或聘請第三方單位為開發時都必須考慮到安全問題以及依據適當的準則進行測試。
在開發流程中,常常遭遇開發結束後才考慮到安全問題。事實上,安全性問題應隨著專案開始即開始考慮,並在開發過程中制定安全開發生命週期計劃(SDLC),且確保在設計階段就與網路安全專家進行諮詢。雇用的人員必須具備行動應用的相關專業知識,並且授權他們遵循文件計畫,在必要時影響設計及開發以確保完整性。考慮到行動應用程式將處理的資料類型並堅持內建端到端加密。盡可能地限制存取權限並考慮採用二階段身份認證方式。此外,須考慮應用程式的合規性,現行法規正緊鑼密鼓地訂定相關規範。從專案開始即開始進行安全性考量,比起完成開發後之問題修改,將更加輕鬆及明智。
從開始即花時間建立分析也會帶來不少優勢。欲確保任何您開發的行動應用程式符合目的並且能夠符合初始訂定之需求,您必須站在使用者角度能夠分析應用程式的使用的方式、行為。分析可有效提升應用程式的效率及使用者體驗。強大的監控系統在進行安全測試時也非常有用。詳細的應用程式報告可讓開發人員追蹤至問題源頭、瞭解漏洞的位置以及進行修復工程。Logs記載得越詳細,即越方便開發人員修改Bug以及避免潛在的攻擊。
從剛開發時考量安全的部分重要性在於您可以從第一天開始設計和實施測試計畫。越早發現問題、處理問題將越便宜也越容易。僅有單元測試以及內部的Bug搜尋是不夠的是不足的,應將各類測試類別、自動化測試納入開發流程的其中一環。對於處理機敏資料的行動應用程式,您需要聘請外部安全專家進行經過驗證的應用程式滲透測試。如果是用於繪製投票結果圖表的行動應用程式,建議由更廣泛的網路安全社群進行測試。
在發現弱點及漏洞上得到越多幫助對您來說越有優勢。聘僱無利益關係的第三方人員在開發行動應用程式上是很重要的。您需要安全專家,在不受時間壓力下提下提供公平、公正的安全性評估。當在測試環境上通過測試後,嘗試使用者實際會使用的設備和平台上進行大部分測試。確保模擬器和其他測試方法沒有掩蓋潛在的問題。
發現任何漏洞只是第一步,您還需要去處理被發現的問題。針對測試人員遇到的每個問題進行風險評估,將有效的幫助您進行問題分類。當您確認弱點已經被有效率地處理且選擇修復的方法不會導致其他Bugs前,你需要幾輪的修復及進一步應用程式測試。行動應用程式測試應該是一個持續的流程,在持續使用的行動應用程式中持續進行更新及改善。需要了解的是不論行動應用程式經過多嚴格的測試、發佈到更大的社群或是經過Beta測試甚至到發布最終版本,我們都會持續發現新的問題。提供一個簡單的報告來說明用戶遇到的任何問題,對於開發團隊調查問題是更加便利明智的。
以下清單,幫助您快速記得幾項重要的特點:
在您發布應用程式前,您需要對您的應用程式的功能及安全性抱有信心,而測試是信心的唯一來源。
進一步相關解決方案:Kryptowire