1. 程式人生 > >美團資料倉庫-資料脫敏

美團資料倉庫-資料脫敏

背景與目標

在資料倉庫建設過程中,資料安全扮演著重要角色,因為隱私或敏感資料的洩露,會對資料主體(客戶,員工和公司)的財產、名譽、人身安全、以及合法利益造成嚴重損害。因此我們需要嚴格控制對倉庫中的資料訪問,即什麼樣的人員或者需求才可以訪問到相關的資料。這就要求對資料本身的敏感程度進行安全級別劃分。資料有了安全等級的劃分,才能更好管理對資料訪問控制,以此來保護好資料安全。
舉個例子簡單的說明下,例如我們倉庫中有一張關於註冊使用者的基本資訊表User,其中有手機號mobile,暱稱username兩個欄位。我們在劃分資料安全層級的時,將使用者mobile的安全等級劃分為L2要高於username的等級L1,並規定只有訪問許可權達到L2的運營部門才能訪問mobile欄位。這樣在公司各個部門需要訪問註冊使用者基本資訊表User時,我們只需檢查訪問者是否來自運營部門,如果是運營部可以訪問mobile,如果不是隻能訪問username資訊了。這樣就有效的防止使用者手機號被不相關工作人員洩露出去,同時也不影響查詢使用者username的需求。
但是往往在實際生產過程中,應用場景會更加複雜,僅靠類似這樣的訪問控制,滿足不了生產的需要,還需要結合其它的途徑,而資料脫敏就是一種有效的方式,既能滿足日常生產的需要,又能保護資料安全。
資料脫敏,具體指對某些敏感資訊通過脫敏規則進行資料的變形,實現敏感隱私資料的可靠保護。這樣可以使資料本身的安全等級降級,就可以在開發、測試和其它非生產環境以及外包或雲端計算環境中安全地使用脫敏後的真實資料集。藉助資料脫敏技術,遮蔽敏感資訊,並使遮蔽的資訊保留其原始資料格式和屬性,以確保應用程式可在使用脫敏資料的開發與測試過程中正常執行。

敏感資料梳理

在資料脫敏進行之前,我們首先要確定哪些資料要作為脫敏的目標。我們根據美團特有的業務場景和資料安全級別劃分(絕密、高保密、保密、可公開,四個級別), 主要從“高保密”等級的敏感資料,開始進行梳理。
這裡我們把敏感資料分成四個維度進行梳理,使用者、商家、終端、公司。

  1. 從使用者維度進行梳理可能有這些敏感欄位如下:手機號碼、郵件地址、賬號、地址、固定電話號碼等資訊(此外個人隱私資料相關還有如:種族、政治觀點、宗教信仰、基因等)
  2. 從商家維度進行梳理:合同簽訂人,合同簽訂人電話等(不排除全域性敏感資料:如商家團購品類等)
  3. 從使用者終端維度進行梳理:能夠可能標識終端的唯一性欄位,如裝置id。
  4. 從公司角度進行梳理:交易金額、代金卷密碼、充值碼等

確定脫敏處理方法

梳理出了敏感資料欄位,我們接下來的工作就是如何根據特定的應用場景對敏感欄位實施具體的脫敏處理方法。
常見的處理方法如下幾種有:

  1. 替換:如統一將女性使用者名稱替換為F,這種方法更像“障眼法”,對內部人員可以完全保持資訊完整性,但易破解。
  2. 重排:序號12345重排為54321,按照一定的順序進行打亂,很像“替換”, 可以在需要時方便還原資訊,但同樣易破解。
  3. 加密:編號12345加密為23456,安全程度取決於採用哪種加密演算法,一般根據實際情況而定。
  4. 截斷:13811001111截斷為138,捨棄必要資訊來保證資料的模糊性,是比較常用的脫敏方法,但往往對生產不夠友好。
  5. 掩碼: 123456 -> 1xxxx6,保留了部分資訊,並且保證了資訊的長度不變性,對資訊持有者更易辨別, 如火車票上得身份資訊。
  6. 日期偏移取整:20130520 12:30:45 -> 20130520 12:00:00,捨棄精度來保證原始資料的安全性,一般此種方法可以保護資料的時間分佈密度。

但不管哪種手段都要基於不同的應用場景,遵循下面兩個原則:
1.remain meaningful for application logic(儘可能的為脫敏後的應用,保留脫敏前的有意義資訊)
2.sufficiently treated to avoid reverse engineer(最大程度上防止黑客進行破解)
以這次脫敏一個需求為例:
美團一般的業務場景是這樣的,使用者在網站上付款一筆團購單之後,我們會將團購密碼,發到使用者對應的手機號上。這個過程中,從使用者的角度來看團購密碼在未被使用者消費之前,對使用者來說是要保密的,不能被公開的,其次美團使用者的手機號也是要保密的,因為公開之後可能被推送一些垃圾資訊,或者更嚴重的危害。從公司內部資料分析人員來看,他們有時雖然沒有許可權知道使用者團購密碼,但是他們想分析公司傳送的團購密碼數量情況,這是安全允許;再有資料分析人員雖然沒有許可權知道使用者具體的手機號碼,但是他們需要統計美團使用者手機的地區分佈情況,或者運營商分佈差異,進而為更上層的決策提供支援。
根據這樣的需求,我們可以對團購密碼做加密處理保證其唯一性,也保留其原有的資料格式,在保密的同時不影響資料分析的需求。同樣,我們將使用者的手機號碼的前7位,關於運營商和地區位置資訊保留,後四位進行模糊化處理。這樣同樣也達到了保護和不影響統計的需求。

因此從實際出發遵循上面的兩個處理原則,第一階段我們在脫敏工具集中,確定瞭如下4種基本型別的脫敏方案(對應4個udf):

欄位名稱 脫敏方法 舉例 脫敏原則
電話號碼(moblie) 掩碼 13812345678-> 13812340000 防止號碼洩露,但保留運營商和地區資訊 (唯一性,由前端繫結或者註冊時約束)
郵件(email) 截斷+ 加密 [email protected] -> [email protected] 保留郵件域資訊
團購密碼(code) 加密 4023926843399219 -> 1298078978 加密後在一定精度上保持唯一性,並與資料型別一致
裝置號(deviceid) 加密 ffbacff42826302d9e832b7e907a212a -> b9c2a61972a19bf21b06b0ddb8ba642d 加密後保持唯一性

確定實施範圍與步驟

通過上面欄位的梳理和脫敏方案的制定,我們對美團資料倉庫中涉及到得敏感欄位的表進行脫敏處理。在資料倉庫分層理論中,資料脫敏往往發生在上層,最直接的是在對外開放這一層面上。在實際應用中,我們既要參考分層理論,又要從美團現有資料倉庫生產環境的體系出發,主要在資料維度層(dim),以及基礎服務資料層(fact)上實施脫敏。這樣,我們可以在下游相關資料報表以及衍生資料層的開發過程中使用脫敏後的資料,從而避免出現數據安全問題。
確認處理的表和欄位後,我們還要確保相關上下游流程的正常執行, 以及未脫敏的敏感資訊的正常產出與儲存(通過更嚴格的安全稽核來進行訪問)。
以使用者資訊表user為例,脫敏步驟如下:
1.首先生產一份ndm_user未脫敏資料,用於未脫敏資料的正常產出。
2.對下游涉及的所有依賴user生產流程進行修改,來確保脫敏後的正常執行,這裡主要是確認資料格式,以及資料來源的工作。
3.根據對應的脫敏方法對user表中對應的欄位進行脫敏處理。

總結

通過上面的幾個步驟的實施,我們完成了第一階段的資料脫敏工作。在資料脫敏方案設計與實施過程中, 我們覺得更重要的還是從特定的應用場景出發進行整體設計,兼顧了資料倉庫建設這一重要考量維度。資料脫敏實施為公司資料安全的推進,提供了有力支援。當然,我們第一階段脫敏的工具集還相對較少,需要補充。 脫敏的技術架構還有待完善和更加自動化。
本文關於資料安全和資料訪問隔離的控制闡述較少,希望通過以後的生產實踐,繼續為大家介紹。

參考

參考文獻如下:

相關推薦

資料倉庫-資料

背景與目標 在資料倉庫建設過程中,資料安全扮演著重要角色,因為隱私或敏感資料的洩露,會對資料主體(客戶,員工和公司)的財產、名譽、人身安全、以及合法利益造成嚴重損害。因此我們需要嚴格控制對倉庫中的資料訪問,即什麼樣的人員或者需求才可以訪問到相關的資料。這就要求對資料本身的敏感程度進行安全級別劃分。資料有了安

Vue全家桶+SSR+Koa2全棧開發網實戰資料

Vue全家桶+SSR+Koa2全棧開發美團網 Vue全家桶+SSR+Koa2全棧開發美團網 獲取資源新增qq+2100776785    新增時請備註    美團 獲取資源新增qq+2100776785    新增時請備註 &n

看看如何進行資料治理平臺的建設與實踐?

背景 作為一家高度數字化和技術驅動的公司,美團非常重視資料價值的挖掘。在公司日常執行中,通過各種資料分析挖掘手段,為公司發展決策和業務開展提供資料支援。經過多年的發展,美團酒旅內部形成了一套完整的解決方案,核心由資料倉庫+各種資料平臺的方式實現。其中資料倉庫整合各業務線的資料,消滅資料孤島;各種資料平臺擁有

爬取網美食資料,看北京上海都愛吃些啥

資料爬取三步曲之前方有坑 工作需求需要採集 OTA 網站的美食資料,某個城市的飯店型別情況等。對於老饕來說這不算個事,然而最後的結果是午飯晚飯都沒有時間去吃了……情況如下: Chrome F12 直接定位 get 請求,response 的結

如何批量採集的商家資料

本文主要介紹“美團商家資料採集爬蟲”(以下簡稱“美團商家爬蟲”)的使用教程及注意事項。 隨著網際網路的發展現在很多人吃飯,購物,消費都選擇團購這種方式,而經過這麼多年的發展,美團的商戶規模也變得十分龐大,這其中也蘊含著無限商機,但如何獲取這些商家資料卻變得越來

西安酒店資料爬取(Python)

一、找到存放資料的檔案,分析其url首先開啟美團酒店部分頁面,審查元素network裡面的xhr部分,會發現一個HotelSearch******的檔案如下圖選中點開的部分:發現所在頁面的酒店存在此檔案裡,然後找出此檔案的Headers,如下圖:Request URL很長,分

python爬蟲爬取西安美食資料

經歷了一週的種種波折,參考了CSDN上N多博主的部落格,終於搞定了美團西安美食資料,在此做簡單記錄:愚蠢如我,不知如何讓爬蟲程式翻下一頁,只好看了前後兩頁請求的網址有什麼不同,後來發現第一頁字尾是‘pn1’,第二頁是‘pn2’,以此類推……所以手動查看了一共有15頁之後,萌生

優選大資料開發崗面試真題-附答案詳細解析

> 公眾號(五分鐘學大資料)已推出大資料面試系列文章—**五分鐘小面試**,此係列文章將會**深入研究各大廠筆面試真題**,並根據筆面試題**擴充套件相關的知識點**,助力大家都能夠成功入職大廠! ![](https://cdn.jsdelivr.net/gh/sunmyuan/cdn/xiaomia

資料倉庫資料混淆

一、什麼是資料混淆? 在技術領域,資料混淆(也成為資料掩蔽)是將測試或開發環境中現有的敏感資訊替換為看起來像真實生產資訊的資訊,但這些資訊無法被任何人濫用。換句話說,測試或開發環境的使用者不需要看到真實生產資料,只要這些資料與真實資料相似即可。因此,資料混淆計劃被用於保護資

DB資料同步到資料倉庫的架構與實踐

背景 在資料倉庫建模中,未經任何加工處理的原始業務層資料,我們稱之為ODS(Operational Data Store)資料。在網際網路企業中,常見的ODS資料有業務日誌資料(Log)和業務DB資料(DB)兩類。對於業務DB資料來說,從MySQL等關係型資料庫的業務資料進行採集,然後匯入到Hive中,是進行

資料平臺-大資料時代的隱私保護利器

什麼是資料脫敏 又稱資料漂白、資料去隱私化或資料變形。是對核心業務資料中敏感的資訊,進行變形、轉換、混淆,使得對業務資料中的身份、組織等隱私敏感資訊進行去除或掩蓋,以保護資料能被合理、安全地利用。 ◆ ◆ ◆ 資料脫敏的重要性 1)敏

Apache Kylin在數十億資料OLAP場景下的實踐

本文根據2016年4月北京Apache Kylin Meetup上的分享講稿整理,略有刪節。 美團各業務線存在大量的OLAP分析場景,需要基於Hadoop數十億級別的資料進行分析,直接響應分析師和城市BD等數千人的互動式訪問請求,對OLAP服務的擴充套件性、穩定性、資料精確性和效能均有很高

資料介紹(大資料平臺 )

資料脫敏(Data Masking),又稱資料漂白、資料去隱私化或資料變形。百度百科對資料脫敏的定義為:指對某些敏感資訊通過脫敏規則進行資料的變形,實現敏感隱私資料 的可靠保護。這樣,就可以在開發、測試和其它非生產環境以及外包環境中安全地使用脫敏後的真實資料集。 可以看到資料脫敏具有幾個關鍵點:

資料平臺

今天給大家介紹的內容主要包括以下四個部分首先是介紹一下美團大資料平臺的架構,然後回顧一下歷史,看整個平臺演進的時間演進線,每一步是怎麼做的,以及一些挑戰和應對策略,最後總結一下,聊一聊我對平臺化的看法。     謝語宸是來自美團的大資料構建平臺的架構師。他在QCon2016北

資料解決方案——金融行業

帆 世平資訊 1周前 一、現狀分析 行業背景 金融行業是高度資訊化的行業,在人們的日常生活中扮演著重要的角色,同時也積累了大量的使用者個人資料,如何保證生產環境資料安全已經成為一個行業難題。 在加強金融(銀行)行業監管的大背景下,對資料安全的要求不斷提高,

資料python

最近在對資料做脫敏的事情,第一次接觸這方面的,所以將自己的做法記錄了下來,希望對大家有所幫助,僅是自己的一點拙見。 1、資料脫敏定義 資料脫敏(Data Masking),又稱資料混淆、資料漂白、資料去隱私化。是一種為使用者提供虛假資料而非真實資料、防止敏感資料濫用的技術,包括靜態脫敏(

Python爬蟲 - 獲取美食資料

這兩天接觸了一下python爬蟲,根據網上的一些部落格寫了下面的程式碼來抓取美團網上的美食資料,記錄一下。 #from bs4 import BeautifulSoup #解析html或xml檔案的庫 import urllib.request import csv import re imp

小程式生活類休閒類專案實戰(使用資料

小程式專案實戰@[TOC] 小程式專案實戰(使用美團資料) 這是生活小程式專案的實戰,只供學習和參考,不做任何商業用途 託管地址[https://gitee.com/mycodegitxuewh/miniProgram_life] 先上圖 不做互動邏輯也可以

java 資料

所謂資料脫敏是指對某些敏感資訊通過脫敏規則進行資料的變形,實現敏感隱私資料的可靠保護。在涉及客戶安全資料或者一些商業性敏感資料的情況下,在不違反系統規則條件下,對真實資料進行改造並提供測試使用,如身份證號、手機號、卡號、客戶號等個人資訊都需要進行資料脫敏。   此隨筆是根據其他文章修改後符合自己專案使用的資

資料加密/】各種資料庫、程式碼加密/解碼的方法

本人菜雞一隻,閱讀該文章之前,有句話我得先說一下: 本文不是來介紹加密演算法的,也不是來解釋加密演算法的過程的。如果本意想研究加密演算法的實現,或者概念。不好意思本文可能囉哩叭嗦還幫不上忙! 前言: 資料加密,也就是資料脫敏。其實就是將一些涉及不是本人就不該看的欄位資料通過某些方法,讓別