互聯網公司數據安全保護新探索
來自專欄 美團點評技術博客
背景
近年來,數據安全形勢越發嚴峻,各種數據安全事件層出不窮。在當前形勢下,互聯網公司也基本達成了一個共識:雖然無法完全阻止攻擊,但底線是敏感數據不能泄漏。也即是說,伺服器可以被掛馬,但敏感數據不能被拖走。伺服器對於互聯網公司來說,是可以接受的損失,但敏感數據泄漏,則會對公司產生重大聲譽、經濟影響。
在互聯網公司的數據安全領域,無論是傳統理論提出的數據安全生命周期,還是安全廠商提供的解決方案,都面臨著落地困難的問題。其核心點在於對海量數據、複雜應用環境下的可操作性不佳。
例如數據安全生命周期提出,首先要對數據進行分類分級,然後才是保護。但互聯網公司基本上都是野蠻生長,發展壯大以後才發現數據安全的問題。但存量數據已經形成,日以萬計的數據表在增長,這種情況下如何實現數據分類分級?人工梳理顯然不現實,梳理的速度趕不上數據增長速度。
再例如安全廠商提供的數據審計解決方案,也都是基於傳統關係型資料庫的硬體盒子。Hadoop環境下的數據審計方案是什麼?面對海量數據,很多廠商也買不起這麼多硬體盒子啊。
因此,互聯網公司迫切需要一些符合自身特點的手段,來進行數據安全保障。為此,美團點評信息安全中心進行了一些具體層面的探索。這些探索映射到IT的層面,主要包括應用系統和數據倉庫,接下來我們分別闡述。
一、應用系統
應用系統分為兩塊,一是對抗外部攻擊,是多數公司都有的安全意識,但意識不等於能力,這是一個負責任企業的基本功。傳統問題包括越權、遍歷、SQL注入、安全配置、低版本漏洞等,這一類在OWASP的Top10風險都有提到,在實踐中主要考慮SDL、安全運維、紅藍對抗等手段,且以產品化的形式來解決主要問題。這裡不做重點介紹。
1.1 掃號及爬蟲
新的形勢下,還面臨掃號、爬蟲問題。掃號是指撞庫或弱口令:撞庫是用已經泄漏的賬號密碼來試探,成功後輕則竊取用戶數據,重則盜取用戶資金;弱口令則是簡單密碼問題。對於這類問題,業界不斷的探索新方法,包括設備指紋技術、複雜驗證碼、人機識別、IP信譽度,試圖多管齊下來緩解,但黑產也在不斷升級對抗技術,包括一鍵新機、模擬器、IP代理、人類行為模仿,因此這是個不斷的對抗過程。
舉個例子,有公司在用戶登錄時,判斷加速等感測器的變化,因為用戶在手機屏幕點擊時,必然會帶來角度、重力的變化。如果用戶點擊過程中這些感測器沒有任何變化,則有使用腳本的嫌疑。再加上一個維度去判斷用戶近期電量變化,就可以確認這是一台人類在用的手機,還是黑產工作室的手機。黑產在對抗中發現公司用了這一類的策略,則很輕易的進行了化解,一切數據都可以偽造出來,在某寶上可以看到大量的此類技術工具在出售。
爬蟲對抗則是另一個新問題,之前有文章說,某些公司的數據訪問流量75%以上都是爬蟲。爬蟲不帶來任何業務價值,而且還要為此付出大量資源,同時還面臨數據泄漏的問題。
在互聯網金融興起後,爬蟲又產生了新的變化,從原來的未授權爬取數據,變成了用戶授權爬取數據。舉例來說,小張缺錢,在互聯網金融公司網站申請小額貸款,而互聯網金融公司並不知道小張能不能貸,還款能力如何,因此要求小張提供在購物網站、郵箱或其他應用的賬號密碼,爬取小張的日常消費數據,作為信用評分參考。小張為了獲取貸款,提供了賬號密碼,則構成了授權爬取。這和以往的未授權爬取產生了很大的變化,互聯網金融公司可以進來獲取更多敏感信息,不但加重了資源負擔,還存在用戶密碼泄漏的可能。
對爬蟲的對抗,也是一個綜合課題,不存在一個技術解決所有問題的方案。解決思路上除了之前的設備指紋、IP信譽等手段之外,還包括了各種機器學習的演算法模型,以區分出正常行為和異常行為,也可以從關聯模型等方向入手。但這也是個對抗過程,黑產也在逐漸摸索試探,從而模擬出人類行為。未來會形成機器與機器的對抗,而決定輸贏的,則是成本。
1.2 水印
近年來業界也出現了一些將內部敏感文件,截圖外發的事件。有些事件引起了媒體的炒作,對公司造成了輿論影響,這就需要能夠對這種外發行為進行溯源。而水印在技術上要解決的抗魯棒性問題,針對圖片的水印技術包括空間濾波、傅立葉變換、幾何變形等,簡單的說是將信息經過變換,在惡劣條件下還原的技術。
1.3 數據蜜罐
是指製作一個假的數據集合,來捕獲訪問者,從而發現攻擊行為。國外已經有公司做出了對應的產品,其實現可以粗暴地理解為,在一個數據文件上加入了一個「木馬」,所有的訪問者再打開後,會把對應記錄發回伺服器。通過這個「木馬」,可以追蹤到攻擊者細節信息。我們也曾做過類似的事情,遺憾的是,這個數據文件放在那裡很久,都無人訪問。無人訪問和我我們對蜜罐的定位有關,現階段我們更願意把它作為一個實驗性的小玩意,而不是大規模採用,因為「木馬」本身,可能帶有一定的風險。
1.4 大數據行為審計
大數據的出現,為關聯審計提供了更多的可能性,可以通過各種數據關聯起來分析異常行為。這方面,傳統安全審計廠商做了一些嘗試,但從客觀的角度來看,還比較基礎,無法應對大型互聯網公司複雜情況下的行為審計,當然這不能苛求傳統安全審計廠商,這與生意有關,生意是要追求利潤的。這種情況下,互聯網公司就要自己做更多的事情。
例如防範內鬼,可以通過多種數據關聯分析,通過「與壞人共用過一個設備」規則,來發現內鬼。舉一反三,則可以通過信息流、物流、資金流等幾個大的方向衍生出更多符合自身數據特點的抓內鬼規則。
除此之外,還可以通過UEBA(用戶與實體行為分析)來發現異常,這需要在各個環節去埋點採集數據,後端則需要對應的規則引擎系統、數據平台、演算法平台來支撐。
例如常見的聚類演算法:某些人與大多數人行為不一致,則這些人可能有異常。具體場景可以是:正常用戶行為首先是打開頁面,選擇產品,然後才是登錄、下單。而異常行為可以是:先登錄,然後修改密碼,最後下單選了一個新開的店,使用了一個大額優惠券。這裡每一個數據欄位,都可以衍生出各種變數,通過這些變數,最後可以有一個異常判斷。
再例如關聯模型,一個壞人團伙,通常是有聯繫的。這些維度可以包括IP、設備、WiFi MAC地址、GPS位置、物流地址、資金流等若干維度,再結合自己的其他數據,可以關聯出一個團伙。而團伙中如果有一個人標記為黑,則關係圈則會根據關係強弱進行信譽打分降級。
UEBA的基礎是有足夠的數據支撐,數據可以是外部的數據供應商。例如騰訊、阿里都提供一些對外數據服務,包括對IP信譽的判斷等,使用這些數據,可以起到聯防聯控的效果。也可以是內部的,互聯網公司總會有若干條業務線服務一個客戶,這就要看安全人員的數據敏感度了,哪些數據能為自己所用。
1.5 數據脫敏
在應用系統中,總會有很多用戶敏感數據。應用系統分為對內和對外,對外的系統脫敏,主要是防止撞號和爬蟲。對內的系統脫敏,主要是防止內部人員泄漏信息。
對外系統的脫敏保護,可以分層來對待。默認情況下,對於銀行卡號、身份證、手機號、地址等關鍵信息,強制脫敏,以****替換關鍵位置,這樣即使被撞庫或者爬蟲,也獲取不到相關信息,從而保護用戶數據安全。但總有客戶需要看到自己或修改自己的完整信息,這時就需要分層保護,主要是根據常用設備來判斷,如果是常用設備,則可以無障礙的點擊後顯示。如果非常用設備,則推送一個強驗證。
在日常業務中,美團點評還有一個特點。外賣騎手與買家的聯繫,騎手可能找不到具體位置,需要和買家進行溝通,這時至少包括了地址、手機號兩條信息暴露。而對於買家信息的保護,我們也進行了摸索試探。手機號碼信息,我們通過一個「小號」的機制來解決,騎手得到的是一個臨時中轉號碼,用這個號碼與買家聯繫,而真實號碼則是不可見的。地址信息,我們在系統中使用了圖片顯示,在訂單完成之後,地址信息則不可見。
對內系統的脫敏保護,實踐中可以分為幾個步驟走。首先是檢測內部系統中的敏感信息,這裡可以選擇從Log中獲取,或者從JS前端獲取,兩個方案各有優劣。從Log中獲取,要看公司整體上對日誌的規範,不然每個系統一種日誌,對接周期長工作量大。從前端JS獲取,方案比較輕量化,但要考慮性能對業務的影響。
檢測的目的是持續發現敏感信息變化,因為在內部複雜環境中,系統會不斷的改造升級,如果缺少持續監控的手段,會變成運動式工程,無法保證持續性。
檢測之後要做的事情,則是進行脫敏處理。脫敏過程需要與業務方溝通明確好,哪些欄位必須強制完全脫敏,哪些是半脫敏。應用系統許可權建設比較規範的情況下,可以考慮基於角色進行脫敏,例如風控案件人員,是一定需要用戶的銀行卡完整信息的,這時候可以根據角色賦予免疫許可權。但客服人員則不需要查看完整信息,則進行強制脫敏。在免疫和脫敏之間,還有一層叫做半脫敏,是指在需要的時候,可以點擊查看完整號碼,點擊動作則會被記錄。
就脫敏整體而言,應該有一個全局視圖。每天有多少用戶敏感信息被訪問到,有多少信息脫敏,未脫敏的原因是什麼。這樣可以整體追蹤變化,目標是不斷降低敏感信息訪問率,當視圖出現異常波動,則代表業務產生了變化,需要追蹤事件原因。
二、數據倉庫
數據倉庫是公司數據的核心,這裡出了問題則面臨巨大風險。而數據倉庫的治理,是一個長期漸進的建設過程,其中安全環節只是其中一小部分,更多的則是數據治理層面。本文主要談及安全環節中的一些工具性建設,包括數據脫敏、隱私保護、大數據行為審計、資產地圖、數據掃描器。
2.1 數據脫敏
數據倉庫的脫敏是指對敏感數據進行變形,從而起到保護敏感數據的目的,主要用於數據分析人員和開發人員對未知數據進行探索。脫敏在實踐過程中有若干種形式,包括對數據的混淆、替換,在不改變數據本身表述的情況下進行數據使用。但數據混淆也好,替換也好,實際上都是有成本的,在大型互聯網公司的海量數據情況下,這種數據混淆替換代價非常高昂,實踐中常用的方式,則是較為簡單的部分遮蓋,例如對手機號的遮蓋,139****0011來展示,這種方法規則簡單,能起到一定程度上的保護效果。
但有些場景下,簡單的遮蓋是不能滿足業務要求的,這時就需要考慮其他手段,例如針對信用卡號碼的的Tokenization,針對範圍數據的分段,針對病例的多樣性,甚至針對圖片的base64遮蓋。因此需要根據不同場景提供不同服務,是成本、效率和使用的考量結果,
數據遮蓋要考慮原始表和脫敏後的表。原始數據一定要有一份,在這個基礎上是另外複製出一張脫敏表還是在原始數據上做視覺脫敏,是兩種不同成本的方案。另外複製一張表脫敏,是比較徹底的方式,但等於每張敏感數據表都要複製出來一份,對存儲是個成本問題。而視覺脫敏,則是通過規則,動態的對數據展現進行脫敏,可以較低成本的實現脫敏效果,但存在被繞過的可能性。
2.2 隱私保護
隱私保護上學術界也提出了一些方法,包括K匿名、邊匿名、差分隱私等方法,其目的是解決數據聚合情況下的隱私保護。例如有的公司,拿出來一部分去除敏感信息後的數據公開,進行演算法比賽。這個時候就要考慮不同的數據聚合後,可以關聯出某個人的個人標誌。目前看到業界在生產上應用的是Google的DLP
API,但其使用也較為複雜,針對場景比較單一。隱私保護的方法,關鍵是要能夠進行大規模工程化,在大數據時代的背景下,這些還都是新課題,目前並不存在一個完整的方法來解決隱私保護所有對抗問題。2.3 大數據資產地圖
是指對大數據平台的數據資產進行分析、數據可視化展現的平台。最常見的訴求是,A部門申請B部門的數據,B作為數據的Owner,當然想知道數據給到A以後,他是怎麼用的,有沒有再傳給其他人使用。這時候則需要有一個資產地圖,能夠跟蹤數據資產的流向、使用情況。換個角度,對於安全部門來說,需要知道當前數據平台上有哪些高敏感數據資產,資產的使用情況,以及平台上哪些人擁有什麼許可權。因此,通過元數據、血緣關係、操作日誌,形成了一個可視化的資產地圖。形成地圖並不夠,延伸下來,還需要能夠及時預警、回收許可權等干預措施。
2.4 資料庫掃描器
是指對大數據平台的數據掃描,其意義在於發現大數據平台上的敏感數據,從而進行對應的保護機制。一個大型互聯網公司的數據表,每天可能直接產生多達幾萬張,通過這些表衍生出來更多的表。按照傳統數據安全的定義,數據安全第一步是要分類分級,但這一步就很難進行下去。在海量存量表的情況下,該怎樣進行分類分級?人工梳理顯然是不現實的,梳理的速度還趕不上新增的速度。這時候就需要一些自動化的工具來對數據進行打標定級。因此,資料庫掃描器可以通過正則表達式,發現一些基礎的高敏感數據,例如手機號、銀行卡等這些規整欄位。對於非規整欄位,則需要通過機器學習+人工標籤的方法來確認。
綜上,數據安全在業務發展到一定程度後,其重要性越發突出。微觀層面的工具建設是一個支撐,在盡量減少對業務的打擾同時提高效率。宏觀層面,除了自身體系內的數據安全,合作方、投資後的公司、物流、騎手、商家、外包等各類組織的數據安全情況,也會影響到自身安全,可謂「唇亡齒寒」。而在當前各類組織安全水平參差不齊的情況下,就要求已經發展起來的互聯網公司承擔更多的責任,幫助合作方提高安全水平,聯防共建。
作者簡介
鵬飛,美團點評集團安全部數據安全負責人,負責集團旗下全線業務的數據安全與隱私保護。
團隊簡介
美團點評集團安全部彙集國內多名尖端安全專家及諸多優秀技術人才,堅持打造「專業、運營和服務」的理念,共同為集團全線業務的高速發展保駕護航。團隊致力於構建一套基於海量
IDC 環境下橫跨網路層、虛擬化層、Server 軟體層(內核態/用戶態)、語言執行虛擬機層(JVM/Zend/JavaScriptV8)、Web應用層、數據訪問層(DAL)的基於大數據+機器學習的全自動安全事件感知系統並努力打造內置式安全架構和縱深防禦體系,藉助廣闊平台及良機,深度發展,注重企業安全建設方面的實踐,向安全團隊最佳發展方向努力前行。
Coming Soon
《個人信息保護關鍵點識別與思考》
《美團點評千億量級WAF是如何打造的》
《海量IDC下的分散式入侵感知系統設計與實現》
《大型互聯網安全體系成熟度度量》
美團點評集團安全部正在招募Web&二進位攻防、後台&系統開發、機器學習&演算法等各路小夥伴,對在安全和工程技術領域有所追求的同學來說應該是一個很好的機會。如果你想加入我們,歡迎簡歷請發至郵箱zhaoyan17#http://meituan.com。具體職位信息可參考鏈接:FreeBuf招聘站
也許你還想看:
美團配送資金安全治理之對賬體系建設
互聯網企業安全之埠監控
從Google白皮書看企業安全最佳實踐
http://weixin.qq.com/r/9HVSSg3EOFBHrUkp9yDm (二維碼自動識別)
推薦閱讀:
※怎麼用大數據平台建立一個直播質量監控系統?
※坤鵬論:不是二代?年收入100萬這個目標如何實現!
※進入市場3.0時代,用戶不再會對你恪守忠誠,數據潮流也變了…… | Read & ReThink
※電腦知識科普系列(1)文件擴展名
※在大數據領域裡,你們是不是忽略了數據產品這個崗位?