金融行業移動App安全標準化建設研究

技術那些事發表於2020-08-04

隨著移動網際網路的廣泛應用,移動金融服務迎來了爆發式增長的時代,打破了傳統金融服務在空間和時間上的限制,根據《中國網際網路絡發展狀況統計報告》統計可知,截止2017年12月,我國使用網上支付的使用者規模達到 5.31億,較2016年底增加5661萬人,年增長率為11.9%,使用率達68.8%。根據《2017支付體系執行總體情況》統計可知,2017年,銀行業金融機構共處理電子支付業務1 525.80億筆,金額2 419.20萬億元,較2016年均有不同程度的增長。

在移動網際網路時代,移動金融在生活中扮演著越來越重要的角色,移動金融正以前所未有的速度改變著人們的工作和生活方式,移動金融將成為連線客戶的主要渠道,併成為客戶源的主要入口和資料採集入口,移動金融是決定金融市場成敗的關鍵因素。

移動金融APP安全概述

移動金融給人們的生活帶來了極大的便利,但是隨著移動金融市場的需求快速增長,移動金融APP的開發與應用也是成幾何級數量遞增,移動金融APP在沒有安全防範意識和安全開發規範的限制下迅速發展,在APP應用安全性方面的缺失直接成為阻礙移動金融前進的主要原因。

於是我們可以看到,近幾年針對移動金融APP的攻擊持續不斷,逆向破解、病毒植入、仿冒侵權、資訊擷取等攻擊給移動金融行業的安全造成了極大的威脅,每年對企業造成直接經濟損失高達1500億元,嚴重影響了企業收益,也對使用者的隱私和財產的安全造成了極大的損害。而且,黑客和黑產從業者的攻擊技術和手段在快速的更新迭代,一旦我們的防禦能力不能與之相匹敵,出現“道高一尺魔高一丈”的技術代差,那麼“人為刀俎我為魚肉”的悲劇將不可避免的發生。

移動金融APP安全標準化工作的意義

正是基於當前嚴峻的移動金融安全形勢,2018年8月14日,中國人民銀行辦公廳下發《中國人民銀行辦公廳關於開展支付安全風險專項排查工作的通知》銀辦發〔2018〕146號(以下簡稱146號文),開展支付安全風險專項排查,旨在要求商業銀行、非銀行支付機構、清算機構等從業機構切實加強風險防控意識,提高風險防控水平,保障金融體系的健康與安全。

從全面保障移動金融網路安全的角度來看,貫徹落實146號文,開展移動金融網路安全標準化工作,是進一步夯實移動金融行業健康發展的根基,是移動金融行業切實落實《中華人民共和國網路安全法》的集中體現,對提升移動金融網路安全防護水平,保障移動金融網路安全具有重要意義。 

移動金融APP安全政策和標準

網路安全法律政策

當前國內外在圍繞網際網路金融相關網路安全出臺的法律政策方面,已經逐漸形成繁雜細密的監管和制度體系,為網際網路金融提供可實施的規範。

國外情況

歐盟GDPR

GDPR是英文“General Data Protection Regulation”的縮寫,通常翻譯為“通用資料保護條例”,是歐盟議會和歐盟理事會在2016年4月通過,在2018年5月開始強制實施的規定,目的在於遏制個人資訊被濫用,保護個人隱私。

GDPR本質上來說是一版強制執行隱私條例,規定了企業在對使用者的資料收集、儲存、保護和使用時的新標準;另一方面,對於自身的資料,也給予了使用者更大處理權。因為考慮到全球性是寫入網際網路基因內到屬性,幾乎所有的服務都會受到影響,所以生活照歐洲之外的人其實也會從此條例中獲益。

GDPR規定了所有歐盟的公民所享有的數字生活中的權利,在歐洲,事實上也是目前世界範圍內,GDPR是最完善、最嚴格的隱私保護規定。

國內情況

中國人民銀行146文

由中國人民銀行辦公廳釋出《關於開展支付安全風險專項排查工作的通知》(銀辦發〔2018〕146號),通知稱為進一步加強移動支付領域網路與資訊保安管理,有效防範移動支付風險,切實保障消費者合法權益,人民銀行決定開展支付安全風險專項排查工作 。

金融行業移動App安全標準化建設研究

按照《支付安全風險專項排查列表》開展專項排查,主要內容如下:

一、針對客戶端應用軟體安全,排查客戶端應用軟體關於敏感資訊、資料傳輸等方面存在的安全隱患;

二、針對支付系統安全管理,排查支付業務系統在系統安全、交易安全、資料保護、業務連續性、賬戶管理、內控管理等方面存在的問題;

三、針對支付交易安全管理,督查支付交易報文規範化改造、終端資訊註冊等工作落實情況,排查支付產品質量管理方面存在的不足,切實防範支付業務安全風險;

需要得到重視的是,央行往期排查主要聚焦在支付系統安全,而這一次的排查重點增加了對客戶端應用軟體安全的要求,客戶端安全已經受到重視,未來在這方面的監管要求將越來越高。 

金融行業移動App安全標準化建設研究

等保2.0

等保全稱為“資訊系統安全等級保護”,現改為“網路安全等級保護”,是指對網路和資訊系統按照重要性等級分級別保護的一種工作。安全保護等級越高,安全保護能力就越強。

這套制度標準的實施為資訊系統安全開闢了一條可落地可操作的道路。不僅為各資訊系統提供體系化的指導,根據各自責任落實相應技術措施,避免安全工作的不作為、或亂作為;同時為落實資訊系統安全工作提供方向和依據,明確法律法規要求,讓安全工作有法可依;還致力於落實保障個人資訊、資金等安全,為個人隱私提供保護傘

為了配合《網路安全法》的實施,同時適應移動互聯新技術發展情況下網路安全等級保護工作的開展,新標準針對共性安全保護需求提出安全通用要求,針對移動互聯新技術個性安全保護需求提出安全擴充套件要求,形成新的網路安全等級保護基本要求標準,移動互聯安全擴充套件要求標準如下:

金融行業移動App安全標準化建設研究

移動金融APP安全威脅分析

Top 10 漏洞型別

(1)通訊資料明文傳送

客戶端APP與伺服器端互動的資料通過明文的通訊通道傳輸

(2)通訊資料可解密

客戶端APP與伺服器互動的資料傳輸加密,但資料依然可以被解密

(3)敏感資料本地可破解

客戶端APP將敏感資料(如登入密碼,手勢密碼等)以明文儲存在本地,或加密 儲存但通過逆向分析程式可以破解該資料

(4)除錯資訊洩露

客戶端APP將開發時幫助除錯的資訊列印出來,這些資訊通常包含一些敏感的引數,訊息的明文等。

(5)敏感資訊洩露

客戶端APP程式碼中洩露敏感資料,如對稱加密金鑰,非對稱加密中的私鑰,認證使用的共享金鑰,不應該被暴露的後臺伺服器管理地址等等。

(6)密碼學誤用

客戶端APP程式碼中使用了不安全的密碼學實現,例如固定硬編碼的對稱加密,ECB模式的對稱加密,CBC模式中的IV固定,不安全的公鑰進行非對稱加密等。

(7)功能洩露

客戶端APP中高許可權等行為和功能(如傳送簡訊,讀取聯絡人等)沒有被安全的保護,被其他無授權的應用程式除錯或訪問。

(8)可二次打包

客戶端APP可被修改程式碼後,重新打包釋出在市場上供使用者下載

(9)可除錯

客戶端APP能夠被除錯,動態的提取,修改執行時的程式資料和邏輯

(10)程式碼可逆向

客戶端APP的邏輯能夠被輕易獲取和逆向,得到程式碼和程式中的敏感資料

典型業務場景

應用仿冒

移動金融APP應用井噴式增長,導致市場大量金融應用堆積,種類繁多,魚目混雜,這些應用良莠不齊,甚至有些為惡意應用。由於使用人數較多,伴隨著越來越多的仿冒應用參雜其中,給使用者群體造成損失也是巨大的。

應用仿冒場景中,企業版應用被惡意者反編譯破解,加入惡意程式碼後重新打包釋出,或者整個程式都是惡意程式碼,只是利用了一部分企業版的資原始檔圖片等,這類惡意程式投入市場,會嚴重影響其他使用者的資金安全。

二次打包漏洞,通常是由於企業沒有對程式程式碼進行安全加固,通過這種漏洞,惡意者可以獲取整個程式的邏輯程式碼,從而進行惡意應用的偽造危害使用者。

經過統計分析,大部分金融行業的APP應用存在此類問題,缺乏必要的保護措施。

協議破解

移動金融的使用者資料最為真實和最為完整,為保證使用者資料資訊不被洩露,廠商定製化了多種多樣的加密協議來保護資料傳輸安全,在複雜的網路環境中,如果加密資料的演算法被破解,那一切保護措施將形同虛設。

協議破解場景中,通常是由於客戶端程式碼被逆向,加密演算法程式碼邏輯資訊被提取,對演算法進行重構解密,這樣一來,加密的資料流量就可以被解密獲取。

演算法重構風險,通常是由於設計者在設計演算法的時候沒有采用行業標準處理,或者採用了固定的金鑰或者填充模式,在加上沒有對核心演算法程式碼進行保護,導致整個加密演算法被逆向分析,進而導致網際網路傳輸的加密資料被解密明文獲取。

支付篡改

移動支付經過多年的發展,越來越多的商戶和消費者注重移動支付裝置的便捷性,在多元化的消費支付場景中,除了轉賬之外還有聚合二維碼等方式,離線支付等便捷性帶來的就是支付的安全問題,一旦在不可信的裝置發生了交易,使用者的資金安全時刻都處於危險之中。

支付篡改場景中,通常是由於客戶端核心支付邏輯被篡改,或者是核心程式碼被重構導致改變了原有的支付的性質,從而實現惡意支付。

程式碼篡改風險,通常是由於沒有對核心程式碼進行虛擬化處理,或者沒有對程式執行環境進行檢測,導致攻擊者可以更改程式執行的邏輯,從而破壞支付安全。

移動金融APP安全標準化體系

移動金融的發展,符合監管是基本要求,金融機構安全標準化在加速落地,

網路安全標準化需求

根據我國移動金融行業發展的實際需求,結合上文歸納的安全威脅,移動金融APP安全影響範圍涵蓋了軟硬體裝置,系統,協議與介面以及平臺等各方面,目前主要存在如下標準化需求。

1、移動平臺存在系統漏洞,雖然平臺本身有比較規範的安全機制,如應用許可權控制;核心層通過沙箱機制 隔離不同程式的資源,並輔助獨特的記憶體管理機制和程式間通訊機制等,由於本身的開源性,推廣開放等因素,這些問題一旦被攻擊者利用,使用者的利益將收到侵害,解決該問題需要對移動平臺環境進行檢測感知。

2、移動開發語言存在先天性缺陷,具有代表性的java,C#語言為了保證它們的高階特性(比如反射),程式編譯過後並沒有成為可執行的二進位制檔案,而是一種中間語言,在編譯的過程中保留了源程式的絕大部分資訊,只有很少的資訊丟失,這樣一來,中間語言可以在一定程度上反編譯為程式語言,反編譯出來的程式其結構和功能都是完備的;組合語言就是使用助記符和地址標號來替代原來的二進位制機器語言,減少的記憶和計算(地址可由編譯程式計算),但仍有一一對應的特點,所以機器語言可以反彙編到組合語言,具有代表的有C/C++語言,解決該問題必須對程式進行加密處理。

3、常規資訊保安領域中能夠直接使用的基礎共性標準相對較少,缺乏針對性很強的安全需求分析方法,參考架構,概念模型等內容,故需要就解決此類問題制定支撐性等基礎安全規範。

4、當前移動金融相關各類服務需要相應安全管理標準支撐。隨著移動金融的的普及深入,以安全漏洞修復為代表的網路服務頻率越來越高,黑客可藉助此類服務通過利用簽名漏洞或偽造簽名等手段植入相應後門,從而進行資金詐騙;為防範此類安全風險,除了加固相 應安全功能外,還應對服務管理提出相應安全要求,包括在服務平臺層面,並且安全事件不可避免的發生後應急響應管理同樣需要標準化指引。

5、針對移動金融APP的安全測評類測試標準缺少,常規的風險評估測試標準並不完全適用。目前常規的自動化檢測平臺只能判斷APP是否採用了加固手段,無法判斷加固手段的強弱以及其產品效能,需要採用更深層次的測試標準來驗證其安全性。

體系框架圖

金融行業移動App安全標準化建設研究

標準體系內容

基於上述標準化需求分析,結合資訊保安標準體系通用框架,現將移動金融APP安全標準體系框架定義為“基礎通用”、“技術要求”、“服務管理”、“測評規範”四個部分,同時根據各具體標準類在內容、技術等級上的共性和區別,對四部分做進一步細分,形成內容基本完整、結構基本合理的12個子類。

基礎通用

基礎通用類標準主要包括防禦檢測、程式碼防護、資源加密等三個大類標準。防禦檢測是用來衡量APP執行環境的安全性,是保證APP在整個執行階段的安全基礎,只有基於安全可靠的環境才能按照開發者企業的意願正常執行APP流程,為APP啟動過後的業務執行提供可靠執行環境;程式碼保護是用於彌補開發語言先天性缺陷(反編譯/反彙編),針對不同語言環境以及應對不同業務場景提供通用的安全防護和方法;資源加密應用於核心使用者資料的二次加密,在防禦檢測的基礎上升級防禦手段。

技術要求

技術要求類標準主要包括設計規範,編碼規範,防護規範等三類標準。設計規範標準基於軟體安全架構設計的基本原則,結合應用軟體通用安全需求,提供一個安全依據;編碼規範標準旨在規避開發編碼過程中常見的安全性問題;防護規範提供一個安全基線的配置。

服務管理

服務管理類標準主要包括漏洞修復,應急響應,平臺運營等三類標準。漏洞修復標準主要是針對目前已有業務模式中存在的安全威脅提供防護方法和控制措施;應急響應標準主要是針對各類突發的安全事件的應急預案的制定和實施,以及相應維護管理要求提供支援;服務運營標準主要是針對金融APP服務運營平臺的安全問題,提出相應的安全運維要求。

測評規範 

測評規範類標準主要包括風險評估、產品測評、系統測評等三類標準。風險評估類標準主要針對不同業務功能定義相應的風險評估流程、方法等內容;產品測評類、系統測評類標準 主要針對產品級、系統級兩個層面的移動安全要求給出相應測試評價方法,以滿足各層級廠商、測評機構和監管組織機構的需求。

相關文章