你不能忽視的”十大關鍵Mobile App保安漏洞”

你不能忽視的”十大關鍵Mobile App保安漏洞”

一個流動應用程式的功能即使再完備,用戶體驗再理想,假如無法保障用戶的個人資料,也無用武之地。因著流動裝置的獨特本質,以及它們的使用方法,可衍生出潛在的應用程式保安漏洞。

作為檢示現存的保安設備和措施的起點,你可參照開放網路軟體安全計劃(OWASP)早前發佈的十大網路應用系統安全弱點。不管它們看起來多簡單,實際上也關係到大大小小的公司的運營。

下方列出十大流動應用程式的保安隱患,好讓你知道該如何堵塞漏洞。

一、平台使用不當 (Improper platform usage)

各大平台提供了多樣強大且方便的功能,但若然使用不當,則可能反過來引致保安危機。操作系統多設定了常規的最佳安全做法,卻只有少部分的應用程式會遵從指引。Android intent以及iOS URL Scheme是兩個明顯的例子,它們雖然促進了應用程式之間的溝通,卻也同時容許用戶進入受保護的頁面;其他例子還有通過應用程式的本地存儲功能儲存敏感信息,而不採用安全的存儲工具,例如iOS Keychain。

二、不安全的數據儲存方式 (Insecure data storage)

要提供愉快的應用程式體驗,程式內建的數據儲存功能不可或缺。SQLite和XML可分別用作儲存和傳遞資料,並將其保存為普通格式的文件。現時十分流行將資料同步到雲端儲存的做法,此舉可能把未受保護的數據植入到裝置中,讓網絡罪犯可透過惡意軟件或經修改的程式竊取敏感資料。

三、不安全的通訊方式 (Insecure communication)

為將應用程式的優勢擴至最大,大部分的應用程序均連接至互聯網。如兩方之間的通訊模式不安全,數據將承受被洩之風險;此風險可發生在任何通訊科技身上,例如TCP/IP、Wi-Fi、BLE及NFC等等。而造成風險的成因包括粗劣的傳輸方式,錯誤的SSL版本、薄弱的協商基礎以及透過純文字傳播敏感資料等,著名的例子有出現在2014年的POODLE攻擊行動,揭發出SSL 3.0的漏洞。

四、驗證不足 (Insecure authentication)

驗證程序是保障用戶私隱的重要一環,未經驗證的用戶需要被認出,其訪問也應該被拒絕。這聽來簡單,但應用程式無法識別或保持用戶身份的問題卻時有發生。即使已設置強密碼,若通過不安全的渠道或數據存儲途徑來進行驗證,整個驗證機制仍可能遭到攻擊。由於硬件也可能被盜用並用作偽裝身份,硬件識別碼如UDID(設備的唯一識別碼)的使用應被避免。

五、加密不足 (Insufficient cryptography)

儘管你可能認為只要採用了加密技術就萬無一失,但事實並非如此。假如加密技術未夠先進或強度不足,例如:密碼過短並易於破解、加密類別錯誤等,同樣可招致資料外洩的風險。

六、錯誤授權 (Insecure authorization)

即使認證機制完善,仍可因為授權手法不當而衍生問題。只相信客戶方的授權乃流動應用程式的一大常見問題。要是沒有伺服器端的授權,用戶有機會繞過整個授權機制並提出無法預料的要求。

七、客戶方的代碼質素 (Client code quality)

將部分代碼分發及下載至客戶方的流動裝置屬開發應用程式的慣常做法,然而,此舉卻局限了你處理危機的靈活度。每當客戶方的代碼發生錯誤,往往需要較長的時間才可妥善處理所有受影響的裝置。與傳統的桌面應用程式相似,漏洞如緩衝區溢位(Buffer overflow)及格式化字串弱點(Format string vulnerabilities)有機會引致敏感資料洩露。

八、程式篡改 (Code tampering)

當應用程式被下載至流動裝置,就可能遭受黑客的攻擊。他們的惡意行為包括改動程式碼、存取動態記憶和替換系統原有的API(應用程式介面)等。這意味著黑客或許能夠更程式邏輯,並且繞過客戶方的保安系統,令伺服器面臨保安危機。

九、逆向工程 (Reverse engineering)

逆向工程在科技行業中並不陌生,其技術更可應用到任何流動應用程式上。透過逆向工程,任何貴重的資料、演算法和資產皆可取回,要是再加上其他工具的幫助,整個過程將變得更快捷簡單。黑客可使用壓縮程式來輕易提取APK檔案,並讀取其內的核心資料,包括classes.dex文件。

十、不必要的功能 (Extraneous functionality)

為求易於去除程式中的錯誤,許多開發人員會在產品開發及測試的期間採用超級用戶模式,或佈設「後門」。要是開發運維的過程中有缺失或不足之處,此等後門就很可能存留在最終成品內,導致整個系統的安全受到威脅。另一方面,假如開發人員刻意留下後門,他們將成為日後潛在的黑客。

以上就是流動應用程式(Mobile App)的最常見的十大保安漏洞。請記得大多的漏洞不光流於技術層面, 而制定適當的政策是保護系統安全的不二法門。

(作者Patrick CS FanMobile Business Insights 客座作者, 其英文原文可參考Take action on these top 10 mobile application vulnerabilities now — Patrick Cs Fan)

文字翻譯: Hannah Lai@beNovelty
內容提供: Patrick Fan@beNovelty

翻譯及內容上如有任何問題,歡迎跟我們反映。
We are hiring! For detail, please visit our site http://www.benovelty.com/jobs.html