數(shù)據(jù)安全實踐之數(shù)據(jù)資產(chǎn)管理
前言
在企業(yè)安全建設中,資產(chǎn)管理是很多安全工作的基礎(chǔ)。而數(shù)據(jù)資產(chǎn)管理可以幫助我們更準確的發(fā)現(xiàn)安全風險,執(zhí)行更有效的控制措施,在數(shù)據(jù)安全體系化建設中也有著舉足輕重的作用。
數(shù)據(jù)安全視角的數(shù)據(jù)資產(chǎn)
整體架構(gòu)與價值
數(shù)據(jù)資產(chǎn)管理主要分為三部分:數(shù)據(jù)采集,數(shù)據(jù)整合與識別,數(shù)據(jù)使用。
- 數(shù)據(jù)調(diào)取,訪問的權(quán)限管控,根據(jù)數(shù)據(jù)目錄,數(shù)據(jù)負責人,建立管控流程
- 識別重要數(shù)據(jù)系統(tǒng),接口,推進安全防護項目,包括數(shù)據(jù)加密,脫敏,認證,日志等改造
- 數(shù)據(jù)泄露事件的告警,溯源,審計,提供基礎(chǔ)數(shù)據(jù)和綜合分析平臺
數(shù)據(jù)資產(chǎn)收集
數(shù)據(jù)一般在數(shù)據(jù)庫,文件中靜態(tài)存儲,也通過應用,工具等方式進行流轉(zhuǎn)。
1. 數(shù)據(jù)類型和數(shù)據(jù)分布的收集
(1) 全內(nèi)網(wǎng)網(wǎng)絡掃描識別數(shù)據(jù)庫服務器IP、端口、服務類型
nmap -sP 獲取存貨主機
- nmap -sV -iL [nmaptest.txt] 數(shù)據(jù)庫端口服務發(fā)現(xiàn)
(2) DBA或者運維申請數(shù)據(jù)庫查詢權(quán)限,如DBA有管理平臺或相關(guān)數(shù)據(jù),也可以直接對接收集數(shù)據(jù)
(3) 獲取數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型
獲取庫名:
- $SQL = 'show databases';
獲取表明:
- SELECT
- table_name 獲取表明
- FROM
- INFORMATION_SCHEMA.COLUMNS
獲取表結(jié)構(gòu)(字段,數(shù)據(jù)類型,注釋):
- SELECT
- COLUMN_NAME 列名,
- COLUMN_TYPE 數(shù)據(jù)類型,
- DATA_TYPE 字段類型,
- CHARACTER_MAXIMUM_LENGTH 長度,
- IS_NULLABLE 是否為空,
- COLUMN_DEFAULT 默認值,
- COLUMN_COMMENT 備注
- FROM
- INFORMATION_SCHEMA.COLUMNS
- where
- -- db為數(shù)據(jù)庫名稱,到時候只需要修改成你要導出表結(jié)構(gòu)的數(shù)據(jù)庫即可
- -- table_schema ='db'
(4)數(shù)據(jù)樣本信息獲取
每個庫表獲取10-20條樣本數(shù)據(jù)
- select * from [table] limit 0,20
獲取20條樣本,也可以根據(jù)需要調(diào)整閾值
2. 數(shù)據(jù)所屬應用,應用數(shù)據(jù)接口
應用一般從CMDB或公司的資產(chǎn)管理平臺中獲取,注意的是需要有一個唯一標識將應用和數(shù)據(jù)庫進行關(guān)聯(lián)。
應用數(shù)據(jù)接口可以通過網(wǎng)絡流量分析獲取流量中所有被訪問接口URL。
提取URL和HOST加入資產(chǎn)列表:
Request判斷是否是敏感請求
Resbonse判斷是否是敏感請求
數(shù)據(jù)分級分類
等級劃分一般企業(yè)為四級分發(fā),L1-L4級。L1為***息,L2位秘密信息(或內(nèi)部公開),L3為保密信息,L4為絕密信息。
針對不同的數(shù)據(jù)類型設定密級,根據(jù)公司情況信息密級可能不同:
- L4:如生物識別信息,密碼,公司重大計劃或戰(zhàn)略數(shù)據(jù)等
- L3:如電話,住址,畫像,個人喜好等
- L2:如姓名,國籍,日常統(tǒng)計數(shù)據(jù)等
- L1:昵稱,公開評論,已發(fā)布公告等
數(shù)據(jù)資產(chǎn)管理中閾值數(shù)據(jù)分級分類字典,如:
敏感數(shù)據(jù)識別
1. 結(jié)構(gòu)化數(shù)據(jù)敏感數(shù)據(jù)識別
- 基于關(guān)鍵字的敏感數(shù)據(jù)打標:通過字段名稱,注釋信息
- 基于正則的敏感數(shù)據(jù)打標:通過樣本數(shù)據(jù)
- 基于機器學習的敏感數(shù)據(jù)打標:整個表中所有字段名,樣本數(shù)據(jù),與其他表的相似度進行訓練
如對賬號字段打標:
- var i= fieldName.toLowerCase().indexOf("user");
- var j = fieldName.toLowerCase().indexOf("id");
- var a = fieldDesc.indexOf("登錄名");
- var b = fieldDesc.indexOf("用戶名");
- var rexEmail =/[0-9a-zA-Z\_\.]{1,19}@[0-9a-zA-Z\_\.]{1,23}\.[com,cn,net,org,edu,gov,hk,tw]{1,3}/;
- var rexMobile = /((^1(3|8)\d{9})|(^(14(5|7|9)|17[0135678]|15[012356789]|19[89]|16[6])\d{8}))$/;
- return ((rexEmail.test(fieldValue) || rexMobile.test(fieldValue)) && (i != -1 ||j != -1))||(a!= -1 ||b != -1);
2. 敏感數(shù)據(jù)接口識別
從流量中獲取數(shù)據(jù)包對response的body內(nèi)容進行數(shù)據(jù)解析:
- 通過正則提取是否含有批量敏感數(shù)據(jù),如匹配***,手機號等。
- 通過格式化body內(nèi)容,并匹配關(guān)鍵字可以進一步提升識別率和檢出率。
如果匹配到敏感數(shù)據(jù),提升準確率可適當調(diào)證匹配個數(shù)閾值,提取request中的url加入敏感數(shù)據(jù)接口,并獲取域名,數(shù)據(jù)類型,統(tǒng)計訪問量等信息。
3. 文件等數(shù)據(jù)
采用DLP產(chǎn)品對文件進行識別和審計
文件系統(tǒng),郵件系統(tǒng),辦公終端,移動終端等。
數(shù)據(jù)資產(chǎn)應用場景
場景一:敏感數(shù)據(jù)接口監(jiān)控和日志審計:
- 監(jiān)控非授權(quán)訪問,過度權(quán)限,高頻獲取數(shù)據(jù)
- 建立人員行為畫像,對行為進行風險評分
場景二:數(shù)據(jù)訪問權(quán)限申請:
- 線上系統(tǒng)/應用間數(shù)據(jù)調(diào)取的權(quán)限控制
- 人員從應用內(nèi),DB,大數(shù)據(jù)平臺訪問/導出數(shù)據(jù)的權(quán)限控制
場景三:數(shù)據(jù)泄露事件溯源:
- 人員行為畫像,系統(tǒng)數(shù)據(jù)畫像分析數(shù)據(jù)源
- 數(shù)據(jù)接口的訪問日志/流量溯源
- 通過數(shù)據(jù)資產(chǎn)分布溯源