何靜
如今企業(yè)嚴(yán)重依賴數(shù)據(jù),其中很大一部分?jǐn)?shù)據(jù)由敏感信息組成。隨著組織成為越來越敏感信息的保管人,數(shù)據(jù)泄露的頻率也相應(yīng)增加。在某些情況下,數(shù)據(jù)泄露的起源是在組織之外,黑客通過破壞帳戶成功逃避組織;而在其他情況下,數(shù)據(jù)泄露涉及內(nèi)部參與者,包括打算損害組織并可能擁有合法憑據(jù)的惡意員工或承包商。
根據(jù)2018年的Verizon數(shù)據(jù)泄露調(diào)查報(bào)告,涉及數(shù)據(jù)泄露的最重要資產(chǎn)是數(shù)據(jù)庫服務(wù)器。這并不奇怪,因?yàn)榇罅康拿舾袛?shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中,這就是數(shù)據(jù)庫安全性如此重要的原因。
問題是,更現(xiàn)實(shí)的目標(biāo)不是試圖阻止數(shù)據(jù)泄露,而是在早期發(fā)現(xiàn)漏洞。早期違規(guī)檢測(cè)比違規(guī)預(yù)防更實(shí)用的原因通常是惡意用戶已經(jīng)在組織內(nèi)部,濫用其訪問敏感數(shù)據(jù)的合法權(quán)限。為了快速檢測(cè)潛在的數(shù)據(jù)泄露,需要能夠識(shí)別違規(guī)的“早期跡象”。
早在2011年,洛克希德·馬丁就將“網(wǎng)絡(luò)殺傷鏈”定義為識(shí)別和預(yù)防網(wǎng)絡(luò)入侵攻擊的模型。它定義了攻擊者在典型的網(wǎng)絡(luò)攻擊中采取的步驟。網(wǎng)絡(luò)殺傷鏈的7個(gè)步驟如下:
偵察:獲取盡可能多的有關(guān)目標(biāo)的信息,選擇目標(biāo);
武器化:選擇最適合該任務(wù)的工具;
交付:在目標(biāo)上使用武器化捆綁發(fā)起攻擊;
利用漏洞:利用漏洞在受害者系統(tǒng)中執(zhí)行代碼;
安裝:安裝工具接入點(diǎn);
命令和控制:?jiǎn)⒂冒l(fā)送遠(yuǎn)程命令以持久訪問目標(biāo)網(wǎng)絡(luò);
目標(biāo)行動(dòng):采取行動(dòng),例如:數(shù)據(jù)銷毀,滲透或加密。
被招募或意外感染,被外部黑客攻陷,攻擊者繼續(xù)進(jìn)行偵察階段,這個(gè)階段類似于原始網(wǎng)絡(luò)殺戮鏈中的偵察階段,其目標(biāo)是盡可能多地獲取有關(guān)數(shù)據(jù)或資產(chǎn)的信息;在選擇目標(biāo)并獲取足夠的信息后,進(jìn)入開發(fā)階段;攻擊者將嘗試獲取對(duì)數(shù)據(jù)的訪問權(quán)限,可以通過升級(jí)其特權(quán)來實(shí)現(xiàn);授予訪問權(quán)限后,攻擊者將嘗試獲取敏感數(shù)據(jù),此階段可以是大型文件下載或?qū)γ舾袛?shù)據(jù)的特定訪問;最后一步是從組織中提取數(shù)據(jù)。
深度防御原則是分層安全性可以改善整體安全狀況,如果攻擊導(dǎo)致一個(gè)安全機(jī)制失敗,則其他機(jī)制仍可提供保護(hù)。
為了更好地保護(hù)數(shù)據(jù)庫中的數(shù)據(jù),需要在潛在攻擊鏈的每一步識(shí)別可疑活動(dòng)。如果未能在特定步驟檢測(cè)到攻擊,我們?nèi)杂袡C(jī)會(huì)在以下步驟中捕獲它。當(dāng)然,最好是能夠盡早發(fā)現(xiàn)攻擊,最好是在惡意或受到攻擊的個(gè)人獲取數(shù)據(jù)訪問權(quán)之前。
系統(tǒng)表存儲(chǔ)數(shù)據(jù)庫的元數(shù)據(jù)。這些表包含有關(guān)所有對(duì)象、數(shù)據(jù)類型、約束、配置選項(xiàng)、可用資源、有效用戶及其權(quán)限的信息等信息。攻擊者希望在攻擊的偵察階段訪問系統(tǒng)表,以便探索組織中的數(shù)據(jù)庫,甚至更改數(shù)據(jù)庫權(quán)限。使用系統(tǒng)表訪問檢測(cè)偵察攻擊的挑戰(zhàn)是最少量的誤報(bào)警,其依賴于合法用戶定期訪問系統(tǒng)表以執(zhí)行其臨時(shí)任務(wù)。
為了成功執(zhí)行此任務(wù),將機(jī)器學(xué)習(xí)邏輯與領(lǐng)域知識(shí)相結(jié)合,并將大量源和提示相關(guān)聯(lián),以形成整體畫面,區(qū)分對(duì)敏感系統(tǒng)表的訪問和對(duì)非敏感系統(tǒng)表的訪問。
利用大量的性能分析周期來研究不同類系統(tǒng)表的日常訪問模式。這些周期包括:
用戶正?;顒?dòng):了解用戶通常如何操作和訪問系統(tǒng)表;
數(shù)據(jù)庫正?;顒?dòng):了解組織內(nèi)的用戶如何訪問特定數(shù)據(jù)庫中的系統(tǒng)表;
組織正?;顒?dòng):了解在整個(gè)域中訪問敏感系統(tǒng)表的方式;
社區(qū)正?;顒?dòng);使用來自不同客戶的系統(tǒng)表訪問模式的數(shù)據(jù),以了解全局正常系統(tǒng)表活動(dòng)。
利用其他提示來識(shí)別對(duì)敏感表的合法訪問,將合法用戶(如DBA)與攻擊者分開。通過分析他們嘗試訪問系統(tǒng)表的數(shù)據(jù)庫數(shù)量,在同一時(shí)間范圍內(nèi)組織中數(shù)據(jù)庫失敗的登錄次數(shù)等來識(shí)別惡意用戶。
我們可以看到攻擊者在攻擊當(dāng)天訪問了幾個(gè)數(shù)據(jù)庫中的新系統(tǒng)表,將這些信息與他們?cè)诠舢?dāng)天也無法登錄某些數(shù)據(jù)庫的事實(shí)相結(jié)合,表明存在可疑活動(dòng)。
攻擊者將繼續(xù)嘗試從組織中竊取敏感數(shù)據(jù),這是肯定的。我們的目標(biāo)是在任何實(shí)際的傷害或任何敏感數(shù)據(jù)暴露之前盡早發(fā)現(xiàn)潛在的漏洞。發(fā)現(xiàn)可疑的系統(tǒng)表訪問是在偵察階段捕獲攻擊者的關(guān)鍵步驟。如果在偵察階段未檢測(cè)到攻擊,仍然可以識(shí)別數(shù)據(jù)泄露攻擊鏈中的異常,使用深度防御方法,借助領(lǐng)域知識(shí)專業(yè)知識(shí)和機(jī)器學(xué)習(xí)算法,此方法允許在數(shù)據(jù)泄露的所有階段檢測(cè)威脅。