文/王暉
隨著移動智能終端的普及和移動互聯網新技術的快速發展,石化油品銷售企業為加快轉型發展積極適應移動互聯需求,建設面向客戶的移動應用系統。堅持“以客戶為中心”的理念,建立互聯網模式的營銷模式,構建融入互聯網思維的移動應用平臺,有效提高客戶黏性,優化客戶數據模型,強化客戶服務能力,進一步提升企業競爭力。移動應用在給企業、客戶產生效率和便捷的同時,移動應用的安全問題也日益凸顯。如何解決移動應用業務場景中所面臨的安全風險,將是企業在互聯網時代運營的嚴峻挑戰。
結合銷售企業面向客戶移動APP的業務場景,對典型應用漏洞進行分析,主要包括以下六種類型漏洞。
在面向客戶的移動APP中,會員管理模塊中通常含有客戶姓名、身份證號碼、手機號、加油卡號等基本信息。攻擊者通過注冊APP賬號登錄系統,利用Burpsuite工具進行流量劫持,通過修改登錄請求中返回的用戶ID進行遍歷,即可獲取和查看所有用戶信息,從而造成嚴重的客戶信息泄露的事件。
在移動APP的支付環節都有嚴格的邏輯判斷和校驗機制,但是在其他不涉及金額的功能模塊中可能會被忽視。如積分兌換模塊中,開發人員忽視了對積分數據類型、長度進行嚴格限制,缺乏對數據間關聯的邏輯判斷和驗證。攻擊者抓取數據包,利用這些邏輯漏洞對積分數據進行任意修改,從而造成客戶相關數據被惡意篡改。
在會員管理模塊中通常預留會員頭像上傳的功能。如果服務器端沒有對上傳數據格式、大小及內容進行嚴格限制,將導致存在任意文件上傳的漏洞。攻擊者抓取上傳頭像的數據包,修改上傳路徑并上傳木馬文件,通過系統提權等方式從而達到入侵和控制服務器的目的。

表1:移動APP應用威脅分析
靜態分析方式對通過詞法分析、語法分析、控制流、數據流分析等技術驗證代碼中存在的結構性漏洞、安全漏洞等問題。一方面通過靜態分析在關鍵位置通過代碼注入技術跟蹤代碼執行邏輯,另一方面通過邏輯判斷的返回值,破解未加密或簡單加密的移動應用,可能會導致用戶密碼、配置文件、資源文件等重要信息的暴露。
由于短信平臺沒有對發送的號碼進行次數限制或者時間范圍進行限制,從而攻擊者可以利用截獲發送短信的數據包,進行多次重發包便可發起短信轟炸攻擊。
由于開發人員的疏忽,在進行增刪查等操作時沒有嚴格判斷數據所對應的客戶。如領券中心模塊中,由于客戶查詢權限限制不嚴,導致可越權查詢其他客戶的電子抵扣券等信息,從而可以冒用、盜用其他客戶電子券。
基于威脅建模的風險管理流程,采用STRIDE模型,結合移動應用場景對每個數據流進行分析,識別數據流之間的關聯關系和威脅,通過威脅發生的可能性對移動應用造成危害的嚴重程度進行量化,從而對系統的整體風險進行管理。
主要流程如下:在熟悉移動應用功能和多樣化的業務應用場景基礎上,分析業務操作數據流,確定數據流之間的關聯性。建立威脅建模模型,根據威脅建模識別系統脆弱性和風險,確定風險和影響分析,最后,制定風險消減措施及漏洞修復建議。

圖1:業務場景的數據流分析
銷售企業移動APP應用場景主要有:油卡服務、領券中心、客戶服務、營銷活動、易捷商城、支付服務、積分服務、會員中心等模塊。了解和熟悉每個應用場景和功能,模擬每個應用場景,根據不同的業務操作處理,在APP客戶端處理、傳輸、存儲信息的過程劃分為不同的數據流。
威脅分析中采用數據流圖,體現與系統發生交互的外部實體之間的數據流關系。系統整體業務場景數據流是指系統所有業務場景與外部實體交互的數據流。如APP登錄、下單、支付等環節。總體上對數據流進行分析,然后按照業務場景進行細分,對單個業務場景的每一個交互過程繼續細分。在此基礎上,針對單個業務場景劃分二層數據流。按照這種思路,持續的業務場景細分,使得顆粒度更細,分層的數據流更加細化。如圖1所示。
業務場景威脅建模分析采用STRIDE模型,從欺騙、篡改、否認、信息泄露、拒絕服務、權限提升六個方面分析威脅。結合業務場景的數據流,移動APP應用威脅分析如表1所示。
根據威脅模型分析,識別移動應用的脆弱性和風險。具體分為四類:常規安全、組件安全、數據安全、代碼安全。
3.4.1 常規安全
SQL注入攻擊、XSS跨站腳本攻擊、命令執行、文件上傳漏洞、中間人攻擊、任意文件遍歷/下載、逆向工程。
3.4.2 組件安全
組件暴露、拒絕服務、權限提升、手勢密碼認證繞過。
3.4.3 數據安全
(1)身份認證,未授權訪問、缺少雙因子認證、認證繞過;
(2)會話管理,會話標識可猜測、未設置會話超時機制、會話標識使用私有數據;
(3)敏感數據存儲:敏感數據不安全存儲、密鑰編碼、應用數據備份風險;
(4)敏感數據傳輸:數據明文傳輸、客戶端未進行證書校驗、敏感數據為雙重加密傳輸。
3.4.4 代碼安全
惡意程序攻擊、釣魚攻擊、動態調試、不安全的第三方SDK包。
風險確定過程通常采用滲透測試和源碼審計兩種方式進行判斷確認。從移動應用的入口,跟蹤應用程序的數據輸入,分析移動應用與外部系統、客戶端及系統內部之間的數據交互過程。重點關注敏感數據傳輸過程及跨信任邊界的數據流。
移動應用安全體系發展從普通的單點防御走向縱深的立體防御,整體上覆蓋移動應用軟件開發全生命周期,移動應用安全的防護更加趨向于“泛安全”管理。
全生命周期的移動安全體系覆蓋移動應用的各個階段:開發設計階段、移動應用發布階段、移動應用運維階段、數據運營推廣階段。這個四個階段形成閉環流程,持續循環完善移動應用的安全體系建設。
發揮數據的價值,以數據分析作為安全響應和安全策略的源頭,數據驅動的安全感知、威脅情報觸發的安全防護。結合業務場景構建威脅分析流程,基于威脅模型生成威脅指數,建立用戶、環境、行為的可信度,通過自我學習不斷提升,從而實現移動應用的本質安全。
移動應用安全作為移動互聯網時代信息安全重點關注方向,信息安全的應對策略也正在發生的轉變:從已知威脅到未知威脅,從單點安全到縱深防御,從策略驅動到數據驅動,從安全工具到安全服務。在新的發展趨勢下,銷售企業在適應互聯網新零售業態的驅動下,建設面向客戶的移動應用系統,建立基于威脅建模的風險管理流程,不斷優化完善移動應用的安全管理體系,達到保護數據安全的最終目的。