數據庫安全能力:安全威脅TOP5
- 2019 年 11 月 14 日
- 筆記
在數據庫的安全問題已躍至CSO的工作內容象限榜首的今天,對數據庫安全的防禦是艱苦的旅程,如何讓針對業務安全和數據安全的攻擊成為一場廢鞋底的馬拉松,防止惡意行為者利用漏洞威脅這個「線頭」並最終扯下數據這條「線褲」的全部,讓我們一起來關注在數據庫安全能力建設中識別數據庫的安全威脅。
安全威脅簡介
數據泄露對每個企業都構成威脅,其損失不僅超出了敏感數據、機密數據和品牌損害帶來的實際損失或披露範圍,公司還承擔了與補救和多年法律責任索賠相關的重大財務成本。風險敏感的企業組織必須在數據庫安全性方面保持領先地位,以保護和防禦其數據免受各種外部和內部威脅。
是什麼使您的數據成為主要目標?
根據Verizon2019DBIR報告,黑客的動機可能是受到經濟利益、間諜活動、意識形態或怨恨甚至娛樂的鼓動,71%的泄露事件是出於經濟動機發生的,大多數掠食者通過阻力最小的路徑攻擊最弱的獵物。好消息是,這意味着您的安全性雖然並不一定是完美的,但它已經足以阻止惡意攻擊者—讓他們去其他地方尋找更容易的獵物。
「You don』thave to runfaster than thebear to getaway. You just haveto run fasterthan the guynext to you.」 JIM BUTCHER 「你不必跑得比熊還快才能逃脫。你只要比你旁邊的人跑得快就行了。」—吉姆•巴特
壞消息是許多公司都難以實現一種多重安全防禦方法,該方法可以檢測、監視、預防和緩解威脅。在本文中,我們將討論關係型數據庫面臨的五大數據庫安全威脅。我們還將探討確保大數據安全的需求,大數據通常是依賴敏感數據的業務分析和客戶體驗應用程序的首選存儲庫。
什麼是5大數據庫安全威脅?
1.過多的、不適當的和未使用的特權 2.權限濫用 3. Web應用程序安全性不足 4.審計線索不足 5.不安全的存儲介質
前兩大威脅可以直接歸因於內部威脅的增加。通常,企業網絡被認為受到可保護邊界的下一代防火牆的保護。但是,一旦惡意行為者越過防火牆,大多數企業中就沒有可以檢測到橫向移動並防止重大數據泄露的保護機制,這對數據構成了重大威脅。此外,外部威脅是持續不斷的,內部流程不足會留下管理漏洞,因此,當今的安全最佳實踐要求組織必須採取多層次、多方面的方法來有效保護數據並防止數據泄露。
讓我們一起來詳細探討這五種數據庫安全威脅。
1.過多的、不適當的和未使用的特權
當您授予某人超出其工作職能的數據庫特權時,這些特權可能會被濫用。例如,其工作能力是需要更新員工休假信息的HR,可能會利用過多的數據庫特權,對同事或高管的薪資數據進行未經授權的查詢。此外,當某人在組織內的角色更改時,通常不會更新他對敏感數據的訪問權限,以刪除其新角色不再需要的權限。
統計稱47%的公司用戶擁有過多的權利
應用程序的複雜性和使用的相應數據結構意味着,管理員傾向於默認情況下授予過多的特權,只是為了避免由於缺少訪問特權而導致應用程序失敗的風險。因此,用戶可能被授予遠遠超出其特定工作要求的通用或默認訪問特權,或者他們可能隨時間推移累積這些特權。通常,企業可以保護或「強化」處於高級職位(例如CEO、CFO等)的員工的設備免受外部(和內部)攻擊者的侵害,以保護對這些用戶所需敏感數據的廣泛訪問,這種加強有助於發現威脅情況,終止訪問以及本地存儲數據的潛在破壞。但是,BYOD情況下這不是可行的解決方案。當普通用戶的設備受到攻擊時,很可能更難以檢測到,如果該用戶擁有過多特權,則可能會造成破壞,從而導致大規模數據丟失事件。

2. 權限濫用
在一項來自多個企業數據的長達兩年的研究中表明,在每個企業中人們都使用數據庫服務帳戶來訪問數據庫,並且這些用戶濫用這些特權服務帳戶來直接訪問敏感數據,從而繞過了應用程序界面。
此外,某些「特權用戶」可能會出於未經授權的目的濫用合法的數據庫特權。組織中的某些用戶組由於其職業和活動而有權訪問整個數據庫。特權用戶的兩個主要類別是數據庫系統管理員和開發人員:
數據庫系統管理員(DBA)可以無限制地訪問數據庫中的所有數據。為了獲得最佳安全性,DBA在管理數據庫時不應直接訪問數據庫中的應用程序數據(應用程序數據/表)。當DBA直接通過數據庫而不是應用程序界面訪問應用程序數據時,他繞過了應用程序日誌記錄和檢索限制,並避免了應用程序權限和安全性機制。 當某個使用防泄露方案的客戶端收到以下警告:受信任的DBA已直接通過數據庫而不是通過某應用程序入口訪問了此應用程序表中的敏感數據,這些表包含DBA不應訪問的財務信息。這一發現清楚地說明了內部威脅的風險。開發人員通常可以完全訪問生產數據庫,質量團隊可以快照數據庫以進行測試,而工程師可以調試實時生產系統。在這些情況下,敏感數據都容易受到特權濫用的影響。
什麼是內部威脅?
內部威脅可以分為三類:惡意、疏忽和受到威脅:
惡意內部人威脅來自企業內部或與企業直接相關的人員(如員工、前僱員、供應商、合作夥伴),他們掌握有關企業的安全實踐、數據和計算機系統的內部信息。Palerra曾提交的Insider Threat Spotlight報告指出,平均每50位用戶中就有一位是惡意用戶。
疏忽大意的內部人員是沒有惡意企圖的企業內部人員或與企業直接相關的人員,但是由於粗心大意的行為,他們會將敏感數據暴露,導致於數據泄露。
受威脅的用戶成為利用或接管組織系統的「外部」惡意攻擊者的受害者。外部攻擊者可以使用多種技術來攻擊組織,包括使用直接攻擊、計算機病毒、社會工程學、網絡釣魚和其他不斷發展的技術。Verizon DBIR表示六分之一的用戶會濫用或公開數據。

3. Web應用程序安全性不足
大多數企業組織嚴重依賴應用程序與客戶進行交互,對可公開訪問的應用程序的攻擊有很多類型,可以暴露數據。針對數據庫的兩種常見的Web應用程序攻擊是SQL注入和WebShell。
多年來,SQL注入(SQLi)攻擊一直是Verizon DBIR報告中的頭號威脅。SQLi攻擊是輸入驗證不完整或不充分的結果,它使不良行為者以從未曾預料到的方式通過Web應用程序將SQL命令傳遞給數據庫。

Web Shell攻擊是一種隱蔽方法,用於獲得對服務器的未經授權的遠程訪問。Web Shell是利用Web服務器核心功能(為遠程客戶端提供服務)獲得持久遠程訪問並通過與服務器Shell的接口獲得對服務器的完全或有限控制的後門程序。根據Verizon DBIR由Web Shell後門造成的Web應用程序攻擊破壞數量僅次於憑據被盜。
WebShell可以使用Shell的功能來破壞企業組織數據庫並泄露數據而不被檢測到。攻擊者使用Shell程序的文件瀏覽功能從應用程序的配置文件中查找和竊取合法應用程序使用的數據庫憑據。Shell固有地擁有服務器應用程序/守護進程本身的OS特權,從而使之成為可能。此外,在某些應用程序中,數據庫憑證(用戶名和密碼)以明文形式存儲在配置文件中。

4. 審計線索不足
接下來,我們將討論由內部流程不足或漏洞引起的威脅。監控整個企業中的數據訪問應該是任何生產數據庫的一部分。無法同時監視安全性和合規性異常以及無法收集數據庫活動的適當審計詳細信息,這在許多層面上都構成了嚴重的組織風險。
此外,具有薄弱的(或有時不存在)數據庫審計機制的組織還發現,它們與行業和政府法規要求不符。旨在防止會計錯誤和欺詐行為的薩班斯-奧克斯利法案(SOX),以及醫療保健領域的《醫療保健信息攜帶和責任法案》(HIPAA),都是具有明確數據庫審計要求的法規示例。歐盟新頒佈的通用數據保護條例(GDPR)是第一個對未能滿足嚴格的數據保護措施(包括足以滿足所有個人數據的審計和違規通知要求的數據庫監控功能)的企業處以令人沮喪的罰款數額的條例。
為何審計跟蹤具有挑戰性
第一個原因是,許多企業轉向其數據庫供應商提供的數據庫本地審計功能,或者依賴臨時和手動解決方法,並認為這些方法已足夠。本地審計不會記錄支持安全性和合規性審計或檢測攻擊所需的上下文詳細信息,也不提供事件取證。此外,本地數據庫審計機制由於數據庫服務器的CPU和磁盤資源的不穩定和過度消耗而臭名昭著,這迫使許多企業縮減或完全取消本機審計。最後,大多數本地審計機制是此類數據庫服務器平台所獨有的。例如,Oracle日誌與MSSQL不同,並且MSSQL日誌與DB2不同。對於具有異構數據庫環境的企業,這對實施統一、可擴展的審計流程和報告構成了重大障礙。
報告稱只有19%的公司監控數據庫的活動
具有對數據庫(合法或惡意獲得)的管理訪問權的用戶可以關閉本機數據庫審計以隱藏欺詐性活動。審計功能和職責應與數據庫管理員和數據庫服務器平台分開,以確保職責之間的強烈隔離。
第二個挑戰:審計處理
擁有正確的審計記錄只是保護數據的第一步。第二步是了解數據活動和訪問嘗試記錄,以處理該數據並確定可信威脅。如果您沒有為該任務構建工具,則很難識別訪問數據庫的實體並區分DBA、應用程序、用戶和作業進程。您需要了解對數據庫的哪些訪問是可疑的,例如,登錄失敗嘗試是數據庫訪問中的常見現象。用戶由於忘記或鍵入錯誤的憑據或更改密碼而無法登錄數據庫。但是,當用戶多次未能成功登錄數據庫而從未嘗試過再次登錄時,或者當用戶試圖成功訪問企業中的多個數據庫而未成功時,則是可疑的,可能表明用戶沒有獲得訪問應用程序的授權。
在一些帳戶安全研究中,發現確定了一個用戶,該用戶嘗試訪問一個他從未訪問過的數據庫,然後在不到一個小時的時間內使用四個不同的帳戶而沒有成功,他使用第五個帳戶成功登錄了數據庫,但是該帳戶沒有足夠的特權來對該數據庫執行任何操作。
此活動有多個危險信號:
用戶突然對從未嘗試訪問過的數據庫產生興趣 單個用戶使用多個帳戶 訪問數據庫的帳戶沒有權限,這可能會導致一個結論即該帳戶根本不應該能夠訪問此數據庫
曾數據泄露報告稱超過3500萬條記錄丟失或被盜,其中44%與醫療或醫療保健相關
此事件中將該活動標記為高風險,並提供了一項分析,指出此事件是由受威脅的內部人員實施的。為了識別此類事件,您需要了解哪些用戶是人類用戶(而不是作業進程和應用程序)。然後,您需要了解用戶的正常行為-他們訪問哪些數據庫、使用哪些數據庫帳戶、藉助哪些工具、何時使用它們以及最終定義對等的正常用戶和正常行為的更多詳細信息(數據庫准入因子自學習可參考:數據庫安全能力:安全准入控制矩陣模型構建與實踐)。
不幸的是,當今使用的許多安全系統工具無法識別數據泄露,因為它們無法區分對數據庫的可疑訪問和正常訪問。這些工具產生了太多模糊的告警,這些告警需要進行大量調查分析才能具有可視化,從而造成了過度消耗。通用告警的這種過載是為什麼只研究了不到百分之一的關鍵安全警告的原因。
對等組異常的一個例子是,一個開發人員在其開發工作中訪問一個應用程序表,而另一名開發人員訪問該表以查看同事的個人數據。確定風險級別的關鍵是上下文,特別是要了解用戶和對等用戶的正常表訪問權限。由於惡意內部人員會利用其特權從企業組織中竊取數據,因此無法區分上下文非常危險(請參閱「特權濫用」部分)。
本地審計工具無法區分不正常的用戶訪問和正常的內容,並經常導致過多的告警,所有這些都必須由專業安全人員進行篩選。SIEM工具可以減小此範圍並使其更易於可視化,但是它們缺乏此領域專業知識,並且僅是從源數據中提取出來,並且只為直接調查提供了有限的可操作選項。需要具有反入侵行為分析以及自動化的數據庫監視和檢測功能系統,可以提供關注實際威脅所需的情報,以一種上下文關聯和可操作的方式關注真正的威脅。
5. 不安全的存儲介質
您上次關注存儲介質備份的威脅是什麼時候?通常,它是完全不受保護的。許多管理漏洞涉及數據庫備份磁盤和磁帶的被盜或意外暴露。採取適當措施保護敏感數據的備份副本不僅是數據安全的最佳實踐,而且是許多法規的強制性要求。
此外,特權較高的用戶通常將具有直接訪問數據庫服務器的權限。這種物理上的接觸意味着他們可以插入類似拇指大小的USB驅動器,並直接對數據庫執行SQL命令,這可以關閉本地審計功能並繞過除數據庫服務器內核級別部署的保護機制之外的所有保護機制。我們需要健壯的數據庫監控和防禦工具,不允許這些類型的違規行為的工具。
威脅組合
到目前為止,討論的每種數據庫威脅肯定足以造成數據泄露,但是僥倖的惡意攻擊者會尋找阻力最小的途徑。許多時候,我們看到了多種威脅的組合使用,這些威脅會加快攻擊者對數據的訪問,並簡化其在未被發現的情況下泄漏數據的能力。這裡有一些例子:
當應用程序具有過多特權時,SQL注入或Web Shell會使數據庫受到破壞 由於審計線索不足,難以發現特權濫用 當用戶或應用程序擁有過多特權時,特權濫用會更加嚴重
57%的公司認為數據庫是內部攻擊最脆弱的資產
大數據應用程序的安全威脅不可忽略
大數據應用程序仍處於起步階段,在不根據每個公司的特定需求進行自定義的情況下進行部署,幾乎沒有成熟的商業解決方案。在市場發展的現階段,仍然缺少了解大數據技術並能跟上其快速發展的專家。
在大多數情況下,內部開發人員設計、編寫代碼、測試和部署大數據應用程序和硬件時,卻沒有得到足夠的培訓、需求定義、時間或資源。
人們可能誤認為,大數據「開源」軟件包是一種快速成功的安裝方式,實際上這些系統要複雜得多。構建軟件時的第二個問題是缺乏可行的本機安全性或審計框架,該框架不會妨礙定製解決方法。缺少本地模型使安全性實現變得不容易,並且需要深入的設計和持續不斷的維護。因此,需要考慮的安全和審計功能會被反覆推遲,從而使您的數據容易受到攻擊。
大數據—安全不是重點
大數據領域的某些人認識到對原生安全性和治理能力的需求,有早期的Apache項目正在尋求解決這些需求。不幸的是,這些項目經常有自己的安全問題,這些問題可能直接影響到它們試圖保護的大數據系統的安全性。這些問題包括:
嚮應用程序添加身份驗證過程。這需要更多的安全考慮,會使應用程序更加複雜。例如,應用程序需要定義用戶和角色。基於此類數據,應用程序可以決定是否授予用戶訪問系統的權限。
輸入驗證。我們再次看到困擾RDBMS應用程序的問題又回來了,同樣困擾着NoSQL數據庫。OWASP現在建議測試NoSQL數據庫(例如MongoDB)是否受到SQL注入式攻擊。 應用意識。在每個應用程序都需要管理安全性的情況下,它必須了解每個其他應用程序。這是禁用對任何非應用程序數據的訪問所必需的。 當新的數據類型添加到數據存儲時,數據存儲管理員必須弄清楚並確保哪些應用程序無法訪問該特定數據。 弱代碼。有許多大數據項目和產品,是通過敏捷開發方法實現的,沒有為安全性檢查和測試分配時間或資源。惡意行為者將利用有缺陷的開發方法,探索漏洞加以利用。
重複數據
NoSQL的強大功能也是它的安全性致命弱點。在這些系統中,數據並非嚴格保存在唯一表中。而是,將數據複製到許多表以優化查詢處理。因此,不可能根據特定的敏感表對進行分類。相反,可以在不同位置找到此類數據:交易日誌、個人帳戶詳細信息、代表所有的特定表以及甚至可能沒有考慮到的其他位置。
隱私問題
儘管我們專註於安全性,但是隱私問題也不容忽視。以醫療大數據平台為例,提供商可以共享患者數據。患者可以訪問系統獲取遺傳信息,然後再訪問有關藥物信息的系統。分析此數據的應用程序可以將信息關聯起來,以找到與遺傳和健康有關的購買趨勢。問題在於,最初插入數據時未考慮這種類型的相關性。因此,數據未被匿名化脫敏,從而可以從更大的趨勢圖中查明特定的個人。這將違反包括HIPAA和GDPR在內的多項法規。
如何創建全面的數據安全解決方案
數據安全性需要對數據和用戶活動進行統計。此過程從指紋識別,發現數據庫服務器,然後分域管理進行准入訪問/活動監控,還需要連續的用戶權限管理來阻止特權濫用。最佳實踐的解決方法會考慮到數據訪問的每個實例(包括特權用戶的實例),敏感數據的匿名化脫敏,為用戶和應用程序構建完整的安全配置策略。在異構環境下的數據庫審計日誌方面,及日常行為中關註上下文使用機器自學習,可以準確地識別內部威脅並防止數據泄露。
而加強訪問數據庫的應用程序安全也很重要。SQLi和Web Shell只是Web應用程序面臨的兩種威脅,同時也需要能夠阻止SQLi、Web Shell事件並防止複雜的業務邏輯攻擊的類似高級Web應用防火牆的數據庫業務防火牆,為防止未經授權的數據訪問提供重要的保護。
如您所見對數據庫的此五種威脅需要多重安全防禦機制,僅僅依靠本機工具或忽略外部和內部攻擊者能夠利用並且將會利用的安全漏洞已不再足夠。保護數據庫中的數據對於保護客戶、聲譽和企業業務生存能力至關重要。
註:翻譯整理自某安全白皮書
*本文作者:兩塊,轉載請註明來自FreeBuf.COM