不該被忽視的業務應用層資料安全
方興(FlashSky) 全知科技CEO
轉載請保留個人和公司資訊。
被忽視的業務應用層資料安全
當今,資料已經成為非常重要的資源,而且未來隨著大資料、人工智慧等技術的應用,資料的重要性會越來越高。但無論是在Gartner的資料安全產品體系中,還是國內外的資料安全標準中,對資料安全相關的體系或要求,基本都只是對映到資料儲存層或資料外發鏈路層;很少看見對業務應用層的資料安全的體系或要求,即使有也非常的模糊(唯一看見有比較細緻的業務應用層要求的是人行的<網路資料安全指南>裡有,為人行點贊)。
在真實的實踐中,業務應用層的資料安全風險是非常之高,特別對於業務系統執行在網際網路上的企業,來自應用層的資料風險事件可能會佔到一大半以上;忽視應用層的資料安全體系的建設,會對企業資料安全帶來非常嚴重的影響。
真實場景中的業務應用層的資料安全風險主要包括如下三類。
(一):網際網路上的業務應用層的資料攻防對抗
黑灰產、競爭對手、定向營銷廣告,商業趨勢分析,情報分析、政治傾向分析的形形色色的團體,都在網際網路上進行著資料的掘金。
如果企業在網際網路上提供相關的業務服務,就會成為這些資料掘金團體針對的物件,通過獲取企業在網際網路上暴露的資料,來謀取商業的利益。比如客戶的交易資料,詐騙分子會用它來實施詐騙,企業的競爭對手會用來分析GMV,一些廣告廠商可能會用它針對你的客戶進行定向的廣告騷擾,劍橋公司則可能會用它來分析你的客戶的個人治偏好等等。
這些資料掘金團體,並非像我們認為的技術黑客那樣,使用高階的黑客級系統漏洞通過攻擊業務系統來獲取資料,他們主要獲取資料的手段有:
-
資料爬蟲獲取資料:爬蟲主要通過批量訪問企業正常提供給客戶的功能頁面或介面來獲取資料的手段。因為搜尋引擎也是爬蟲方式獲取頁面,很多企業並沒有認識到爬蟲獲取資料的風險。資料風險由一個重要特性就是資料的關聯性推導性,導致很多我們覺得沒有風險的資料,卻在這些資料掘金團體手上,通過資料的關聯與橋接,把這些普通的資料可以分析出具有很高風險敏感資料,下面分享幾個真實的案例:
- 追蹤使用者的ID來推導使用者註冊時間:使用者的ID一般都覺得沒啥敏感。但是以前大家習慣用資料庫遞增欄位來生成使用者的ID,本質上遞增ID是暴露了使用者註冊時間的,對於社交類的業務應用可能價值不大,但是針對涉及到商業功能性的如電商、金融、出行等業務應用,使用者註冊時間越新,可能對業務規則和功能的瞭解越少,針對這類使用者實施欺詐的成功概率就越高,所以一些黑灰產會通過爬取最新的ID以及生成時間,來做定向的詐騙,如電商體系裡,通過資料識別新商家實施欺詐就是一個發案率很高的場景。
- 獲取使用者的屬性資料來還原使用者主體:如果詐騙分子知道了某使用者最近與其他使用者發生的具體互動行為並有使用者的一種聯絡方式如電話\郵箱、IM,如購買了一張機票,詢問過某教育機構孩子上學的事情,就可以偽冒互動物件來欺詐使用者。所以涉及互動的行為資訊需要透出時,需要做匿名化保護。比如電商業務下,有使用者公開評論商家的這一功能,其實就是顯性化使用者發生了購買商品這種互動行為的資訊。如果沒有對使用者真實ID進行保護,詐騙分子就可以據此實施詐騙,也可以針對這個使用者進行很多偏好分析。但即使通過加密ID來做匿名化保護,但還是發現難以阻止外部獲取資料的團體關聯上真實使用者。原因就是之前這些團隊已經獲取了大量和真實使用者關聯的屬性資料,即使你在評論時做了ID加密保護,但如果還有這些屬性資料的透出,如頭像資料,通過這些屬性資料進行關聯分析,又能關聯回真實的身份ID。資料掘金團體會爬取一切有資料透出的資料進行大資料關聯,不僅僅是保護一些關鍵資料就足夠的。
- 利用統計學抽樣分析:專業的大資料分析團隊,會構造一些模型,通過抽樣資料的獲取和分析,就能非常精確的分析出實際業務的商業機密。比如定向爬取一些抽樣商家和SKU的交易筆數和商品單價的資訊,可以精準推算出電商的GMV,酒店的開房率、航空公司的機票滿座率等等。
- 爬蟲的對抗也非常激烈,最早的爬蟲,是使用多IP的中心化程式,一般可以通過IP過濾反爬,後期爬蟲也使用分散式的鏈路,比如在多個肉雞上植入VPN代理,這時就需要根據機器行為特徵進行檢測來反爬,或者通過介面加密客戶端解密的方式來反爬,但反爬技術會較大影響效能和客戶體驗。同時,一些專業爬蟲團隊,甚至會專門開發一個客戶端外掛,然後給使用者付費,讓這些使用者安裝,外掛會注入程式碼到使用者使用的需要爬取資料企業的客戶端應用上,伴隨使用者的真實正常使用時,來爬取資料。即使你技術檢測到了,但如果要封這些真實使用者的賬號,可能會引發一波真實使用者的投訴引發業務端質疑,讓你投鼠忌器。
- 應用客戶端木馬植入竊取資料:針對有特定應用客戶端的企業,比如XX酒店集團的入住系統,XX電商的商家CRM系統,黑灰產團伙會定製開發只針對這個客戶端的特定木馬,只針對這個客戶端應用的模組,進行篡改注入竊取資料的程式碼,這樣在正常使用者的工作人員使用時竊取資料。這種木馬不修改系統檔案,而這些應用客戶端也只是特定企業自己的企業應用,很少會有簽名機制,因此所有安全廠商的防毒和木馬也無法判斷是否被篡改,因此都基本無法檢測到。這種木馬第一次植入大多是通過人肉的定向方式植入,比如偽冒應聘人員去電商應聘客服人員,去酒店前臺聊天,然後植入到工作環境,有了第一臺控制肉雞,之後的版本更新,橫向擴充套件再通過遠端控制端來控制。擁有較多分支機構,或者通過生態化運營模式的企業,是最容易遭受這種資料竊取模式攻擊的,可是很多這類企業大批量資料丟失後,往往資料丟失的原因都查不到,對這種資料竊取風險基本處於無知狀態。
- 資料截留:一類是開發一些附加功能的APP,比如社保查詢APP,免費提供給使用者使用,來擷取資料。高階一點的,開發或將收費的SDK逆向修改成免費的SDK,吸引一些APP開發廠商嵌入到自己APP的裡面,通過使用者的使用,再從中截留資料。還有一些資料公司,幫助一些有資料的部門提供對外的資料服務,然後截留資料。
- 打入、收買內部員工或竊取員工COOKIE:黑灰產會採用應聘或收買客服、快遞員等基層崗位但能接觸到資料的打入企業內部來竊取或購買資料。很多基層員工缺乏安全意識和技術能力,有時候黑灰產也會通過金錢、釣魚方式獲取這些人員的登入COOKIE,然後偽冒他們的身份來獲取資料。
- 利用生態鏈獲取資料:很多時候,我們需要給合作伙伴提供資料的介面,這些介面可能被生態合作伙伴濫用,而且大多數生態合作伙伴自身的安全能力非常薄弱。因此針對保護的比較完善的企業,黑灰產可能會從生態合作伙伴入手,通過收買和攻擊生態合作伙伴來獲取資料。另外一個很大的風險是我們開給生態合作伙伴往往只有一個企業賬號,但對方會由多個員工來共享這個賬號,其中一個員工的離職,一般並不會同時來更新這個共享的賬號密碼,這個離職員工就成為非常高風險的存在,他可以脫離掉原來我們對合作夥伴的約束繼續使用賬號獲取資料用於其他用途。以前某企業就發生過,離職員工繼續使用賬號登入第三方收費的徵信系統獲取個人徵信敏感資料,既導致了個人隱私資料洩露的風險,還給某企業帶來了很大的財務損失。另外,針對第三方公開使用只有單方面服務協議的資料服務,也需要謹慎對待。使用對方的資料服務,本質也會向對方迴流自己的業務資料,比如A企業對外提供一個惡意電話號碼識別服務,B企業使用A企業這個服務來驗證自己的新註冊使用者是否是正常使用者,但本質上B就向A透露了自己新註冊使用者的資訊,如果沒有對等的法律約束,A企業完全可以對B企業進行商業分析,甚至把這些資訊售賣給B企業的競爭對手,廣告推銷商,甚至詐騙團伙。
同時,圍繞有資料透出的頁面和介面,黑灰產會研究更多的資料攻防手段:
- 偽脫敏識別:很多頁面或介面對資料的脫敏,都只是採用前端的JS進行脫敏,識別出來後可以還原回真實的未脫敏資料。還有一些把恢復脫敏資料的介面也直接暴露在外網,獲取資料的人通過呼叫可以恢復回未脫敏資料。
- 關聯還原脫敏資料:當前大量的資料脫敏演算法,都只是簡單的掩碼脫敏,真實的保護效果堪憂。比如手機號脫敏大家往往脫敏在139後面的4位,如139XXXX1111,這4位的頭2位其實是區域程式碼,如果業務在其他可以關聯使用者的地方還透出了客戶的區域位置,這個脫敏效果就只等於脫敏了2位。如果還同時透露出頭像這樣的屬性資料,攻擊者只需要暴露列舉100的可能的手機號,然後進行頭像對比,就能精準還原回未脫敏的手機號碼。
- API越權攻擊:很多針對個人的使用者,都可以通過統一的介面檢視自己的資訊,只是不同使用者使用的是自己的使用者ID作為引數。但如果沒有對水平許可權進行控制,就可以通過更改這個ID列舉出其他使用者的資訊,就會導致批量使用者資訊被爬取。還有有一些介面,通過提供畸形的引數還能導致輸出所有的使用者資訊。
- 撞庫:利用已經洩露的第三方的系統的使用者名稱和密碼資訊,來撞庫,撞庫成功後,再爬取這個賬戶的資料和資訊,也會使用這些賬戶,成為他們偽冒身份獲取資料或進行黑灰產活動的傀儡賬戶。比如郵箱系統這類的賬戶資料洩露,同步撞庫多個郵箱系統,撞庫成功後拖這個賬戶的各類網站註冊郵件,信用卡賬單郵件,就可以形成這個賬號的徵信畫像。
- 這些掘金資料的團體之間,還會相互交換資料,最後會掌握到非常驚人的個人隱私和企業商業資料的資料量。這裡的風險在於,即使這個團隊利用這些資料只做合法的業務比如為一些研究機構提供資料,為一些商業趨勢進行分析判斷,但這些團隊內部對資料的安全管理基本都是非常混亂的。這些資料很大可能,會被他們的內部員工再次進行竊取售賣,最後落入到電話營銷、詐騙,竟對、國外資料掮客之手,造成個人隱私風險、國家安全風險和你自己的商業機密洩露風險。
(二):業務應用層的資料違規操作風險
即使只是供內部合法使用者使用的業務應用,也面臨著很多資料安全的風險:
-
內部作案
- 資料篡改:一些有經濟價值的資料,內部人員可以通過業務違規操作篡改資料,達到牟利的目的。比如改學生考試的學分、消除交通的違規記錄等。但大多業務系統的審計,細粒度不夠,審計記錄對具體的操作資料內容也缺乏,導致這類資料篡改風險事件比較難查處。
- 資料竊取:資料廣泛的使用使得很多內部員工因為工作需要可以接觸到資料。利用工作之便,一些客服會售賣客戶資料給你的競爭對手搶客戶(某教育培訓企業案例),一些人員可以檢視企業客戶的交易資料以分析客戶商業機密然後在股市上進行非法的證券交易(某能源企業案例),離職員工也很有動力去搞一批資料為自己未來的職業生涯或創業道路奠定基礎(如某果的幾個起訴自動駕駛技術被離職人員竊取的案例)。這些業務應用層資料的風險廣泛存在,而且很難檢測和保護(終端或網路層的DLP從技術角度而言是比較容易被攻擊者對抗的),而且即使技術上能對抗,但在應用層,有許可權的使用者對資料是所見即所得了,並不一定需要下載到終端上才能作案,通過拍照,列印,手動記錄,小批量但敏感的資料就能繞過目前所有的防禦措施。
- 終端使用權不可控:另外就是裝置移動化帶來的,終端的使用權並不一定時時都控制在員工的手上。比如這個案例:A廠某部門的員工老被競爭對手定向挖角,估計是通訊錄被惡意洩露。通過調查發現某員工賬號頻繁在晚上10點左右訪問被挖角部門員工的通訊錄,但最後調查發現也不是這個員工作的案,而是他的女友是一個獵頭,每天會乘他洗澡時,以玩遊戲為名獲得他手機的使用權,再以他賬號身份在企業內部應用上查閱員工通訊錄,拍照後提供給競爭對手的人力部門去挖角。
- 研發人員植入應用層後門竊取資料:在應用層的後門,很難進行程式碼的REVIEW檢查,而竊取資料的商業價值讓一些程式設計師也鋌而走險。例如某運營商的研發人員,在應用程式碼裡放置後門直接把使用者的交易資料吐到自己控制的伺服器上竊取資料進行售賣,某證券交易服務商的開發人員,在應用程式碼裡放置後門,將內部收費的行情和交易資料外發給他外部的一個伺服器進行售賣。
- 內部人員利用應用層中轉竊取資料:某大廠內部管理很嚴格,內部員工為了把資料竊取出去,通過WEB應用伺服器作為中轉來竊取資料,他先把內部搞到的大量敏感資料通過檔案上傳到有外部訪問通道的WEB應用伺服器上,因為這個操作都在公司信任環境域內,即使被安全監測機制發現,也會被認為該員工是在運維WEB應用伺服器。然後員工在外網,通過WEB應用伺服器的URL路徑下載這個敏感檔案,由於很少有WAF去識別敏感資料內容下載的風險,因此成功繞過了資料保護機制。
(三):業務應用層的資料合規風險
從歐盟GDPR起,國內外對個人資料和重要資料的合規要求也越來越嚴格,參照相應的規範要求。在業務應用層需要注意如下的資料合規風險:
- 資料採集合規:目前政府在主抓APP的資料採集合規。除此之外,APP把採集到的資料上傳到業務應用服務端這一層,也應該有一些相應的合規保護措施,如資料加密傳輸、資料儲存時的脫敏,涉及對生物識別資料的處理等。
- 賬戶登出後的資料合規:一些法律規定了賬戶被登出後的資料合規要求,比如通過前端應用應不能再檢視到這個登出賬號的相關資訊等。
- 資料釋出時的合規:涉及個人資料和重要資料需要對外發布時,應該有相應的審批機制,保護措施,以及審計日誌資訊。
- 資料處理活動記錄:採集的個人資料,被用於那些用途,具體會被那些系統處理,需要形成資料處理活動記錄,用於個人資訊保安影響評估。
- 資料共享的審批審計:個人資料和重要資料,需要對第三方共享資料時,應該有相應的審批機制,保護措施,以及審計日誌資訊,用於個人資訊保安影響評估。
- 資料出境的審批審計:個人資料和重要資料,需要出境時,應該有相應的審批機制,保護措施,以及審計日誌資訊。同時,如果有個人資料和重要資料的頁面和URL,被境外IP或賬戶訪問時,應該識別是否有相應許可權,並進行完備的審計記錄,用於資料出境影響評估。
五:全知應用層資料安全產品
針對應用層的資料風險,全知科技研發了天權應用資料安全系統,通過旁路流量接入,無需使用者改造任何現有系統,幫助客戶快速低成本的應對應用層的各類複雜的資料風險,核心能力包括:
-
敏感資料暴露頁面和介面自動識別:這是實施應用層資料安全工作的基礎,可以幫助客戶快速自動化的梳理涉敏應用和涉敏頁面和介面,在此基礎上,可以實施相應的應用層資料安全風險治理的工作,包括:
- 對新增涉敏應用和透出面進行管理:針對新發現的涉敏應用和涉敏資料透出面進行確認,確保敏感資料透出符合業務規範要求。確定許可訪問涉敏應用的信任域(比如可以劃分為網際網路域、生態合作方域,內部域,內部域可以根據部門進一步劃分),可以發現異常涉敏應用和涉敏透出面(很可能就是資料竊取後門、未關閉的資料服務除錯介面、某員工資料竊取中轉下載的URL,傳輸竊取資料的WEBSHELL),以及業務未經報備向第三方共享敏感資料的風險。
- 對涉敏應用和透出面的變更進行管理:監控涉敏應用和透出面的變化,及時核查和更新相應管理機制。避免相應風險。
- 對失活的涉敏應用和透出面進行管理:如果涉敏應用和涉敏透出面長期沒有被訪問,應該通知業務方及時下線,避免被黑灰產成為擴大其資料的獲取面。
- 脫敏檢查:檢查涉敏透出面的資料是否應該有脫敏機制,以及脫敏方式和演算法強度是否安全,降低資料未脫敏暴露的風險。
- 許可權檢查:檢查涉敏應用和涉敏透出面是否有許可權驗證,避免產生水平許可權問題。
-
資料流向監控:通過資料流向的監控,對以下風險進行控制,包括:
- 非信任域資料流向監控:根據涉敏應用設定的可以流向的信任域,檢查資料的流向是否符合約定的信任域,對非約定信任域的資料流向風險進行調查和響應。
- 資料出境出境監控:針對境外主機的資料訪問請求,或者標記為出境的涉敏介面的資料訪問請求,進行資料出境流向的監控和審計。
- 異常資料流向核查:可以監控異常資料流向,如無出境的涉敏應用有境外的資料流向,無XX省的業務分支機構有XX省的資料流向;以及發現大量敏感資料去向的內部主機,進行安全核查。並針對這些去向主機實施相應策略的安全保護機制,如大量敏感資料會流向某印表機列印,就需要對這臺印表機進行相應的保護。
-
對大批量資料訪問異常進行監控
- 頁面和介面的爬蟲識別:防爬技術一般都會對網路效能和使用者體驗帶來較大影響,所以比較經濟的方式是針對高危介面和頁面進行防爬。應用的頁面和介面不斷變化,攻擊者也可能通過摸索不斷髮現新的有爬取價值的頁面和介面。一般企業的業務量如果比較大,爬蟲行為就會隱藏在大批量流量中,從總量上看很難把爬蟲的流量給區分出來。通過對涉敏介面的梳理和定向監控分析,就可以發現針對具體頁面和介面的爬蟲,以及他們獲取的敏感資料型別和內容,就能在頁面和介面一級,比較有針對性的對抗爬蟲,並且通過爬蟲獲取的資料型別,可以更全面從攻擊者視角瞭解自己透出資料的真實風險來調整自己的資料安全保護策略(比如以前不知道使用者ID的透出風險,看見大量爬蟲爬取使用者ID,就應該知道使用者ID也是有較高風險的資料需要保護了)。
- 多賬戶/多身份訪問識別:識別賬號共用情況和某人以多身份訪問的情況,比如同IP多賬號,同賬號多IP等,發現高風險賬號,進行相關治理。
- 身份攻擊:識別撞庫等偽冒身份批量獲取資料的行為。
-
使用者資料行為審計
- 離職資料獲取行為審計:針對離職員工,分析其較長時間訪問資料的行為和快離職階段訪問資料的行為,以及具體訪問的敏感資料內容、量級,分析離職人員離職的資料風險。
- 資料操作行為審計:針對高價值的資料,審計員工對這些資料的操作行為,分析特定人員的資料操作風險。
- 特定規則審計:可以依據行為、操作、賬號、資料內容等多個維度自定義審計規則,落地內部審計規範,比如內部人員的業務操作針對親友的迴避制度。
-
資料溯源
- 洩露事件溯源:通過溯源系統,根據已知洩露的資料內容,快速定位到可疑的洩露人員,可疑的洩露應用和介面等資訊,快速調查確定資料洩露原因。
- 資料路徑追蹤溯源:針對較複雜的場景,根據關鍵的資料內容,聚合和這個資料相關的操作,資料流轉的路徑,幫助分析整個事件的過程,以進一步改進整個體系。