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