• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦>學習電腦>網絡知識>網絡技術>

    數據庫安全漏洞分析

    時間: 恒輝636 分享

    數據庫漏洞的存在有多種方式,由于每一個現實的場景由多維組合而成,因此數據庫漏洞對應也可以從不同角度歸類劃分。這種分類將更有利于我們掌握對每種漏洞的防護技術。

    ??????安華金和數據庫安全實驗室主要從以下九個角度對數據庫漏洞進行分類介紹:????

    ??1.從漏洞作用范圍劃分

    ????遠程漏洞:攻擊者可以利用并直接通過網絡發起對數據庫攻擊的漏洞。這類漏洞危害極大,攻擊者能隨心所欲的通過此漏洞危害網絡上可辨識的數據庫。此類漏洞為黑客利用漏洞的主力。

    ??????本地攻擊:攻擊者必須在本機擁有訪問權限的前提下才能發起攻擊的漏洞。比較典型有本地權限提升漏洞,這類漏洞在數據庫中廣泛存在,能讓普通用戶獲得最高管理員權限。??

    ????2. 從漏洞危害等級劃分

    ????漏洞危害等級主要按照CVE的評分來劃分,分為三個檔次:0-3(LOW);4-6(MEDIUM)、7-10(HIGH)。 洞的危害等級劃分是根據一個漏洞對數據庫造成什么影響來劃分的。對數據庫的響的機密性、安全性、可用性影響越大威脅等級越高,反之危險等級越低。舉例說明:

    CVE-2006-1705危險等級是低。它對數據庫系統文件無任何影響,可能會導致數據庫某些配置文件被修改,對數據庫運行無任何影響。

    CVE-2006-1871危險等級是中。它只是很可能造成某些信息泄露,有可能導致數據庫某些配置文件被修改,可能導致數據庫性能下降或小幾率出現斷鏈接。

    CVE-2006-3702危險等級是高。它可以導致所有數據庫系統文件泄露,數據庫完全被破壞,可能導致數據庫徹底宕機。

    ??3. 從受影響系統劃分

    ????現有的操作系統多種多樣,并且每種系統對應多個版本。操作系統主要分為以下五類:dos 系統、windows 系統、unix 系統、linux 系統和其他操作系統。由于漏洞注入點地址和操作系統具體版本有著直接的關系,所以需要按照操作系統的具體版本來劃分。以oracle為例,由于不同的操作系統對緩沖區溢出的防守機制不同,導致這類漏洞基本不存在跨平臺的可能。??

    ??4.從漏洞的危害范圍劃分

    ??????漏洞危害是指漏洞被利用后造成的各種危害。本文的危害是指對數據庫的直接危害或利用數據庫對其他系統造成的危害。這些危害可以分為三類:

    ??????危害數據庫自身,這類漏洞主要是對數據庫自身進行攻擊。這類漏洞在下文中的“5. 從黑客入侵數據庫的技術劃分”一節中有詳細講解。

    ????危害數據庫所在服務器,這類漏洞通過數據庫對服務器進行攻擊。其中手段可分為:通過pl/SQL運行OS命令、通過JAVA運行OS命令、直接通過任務調度程序運行OS命令、使用ALTER SYSTEM運行OS命令,在oracle的某些版本中可以利用oracle編譯本地pl/SQL應用程序的方式來運行OS命令。

    ??危害數據庫所在系統的文件系統,這類漏洞通過數據庫對服務器上的文件系統做攻擊。其中手段可分為:使用 UTL_FILE包訪問文件系統、用JAVA訪問文件系統、利用操作系統環境變量訪問文件系統。

    危害數據庫所在網絡上的其他平臺,這類漏洞通過數據庫對網絡上的其他數據庫和服務進行入侵。

    ??5. 從黑客入侵數據庫技術劃分

    ??????5.1 SQL注入

    ??????SQL本文說所的SQLSQL注入不是web端的,而是針對數據庫自身的SQLSQL注入漏洞。兩者差異很大。 pl/SQL注入的思想非常簡單,

    ????在正常的sql語句中通過嵌入、注釋、轉義符等手段加入針對數據庫漏洞或數據庫設置缺陷的畸形字符串或其他畸形輸入。通過單次或多次這種畸形輸入逐步獲取數據庫中更高權限,最終獲取數據庫中敏感信息或直接奪取數據庫DBA權限。進而可能對數據庫所在的網絡環境和本地服務器造成危害。

    ??手段具體分為:

    代碼注入。代碼注入攻擊多在支持多條SQL語句執行的數據中存在。它是通過黑客在正常語句中加入惡意EXECUTE命令完成攻擊的。

    函數調用注入。函數調用注入是代碼注入的變體,但確是整個SQL注入的核心。它利用數據庫存在漏洞將惡意語句注入其中。具體手法分為:

    注入select /delete/insert/update語句

    注入函數

    注入匿名pl/SQL塊

    游標注入

    利用觸發器

    lateral提權技術

    ????????其中每種技術中還有細分,例如lateral提權技術中最著名的是CREATE ANT TRIGGER 權限提DBA、CREATE ANT VIEW 權限提DBA、EXECUTE ANY PROCEDURE權限提DBA、CREATE PROCEDUER 權限提DBA。

    ??????????緩沖區溢出注入。????這個緩沖區溢出和下文的緩沖區溢出不是一種。這種緩沖區溢出是數據庫系統函數中某些參數被傳入了超過參數長度限制的值,而引發的緩沖區溢出。

    ??針對SQL操作的注入。??最常見的是利用where子句修改SQL語句返回不同的結果集,來達到獲取數據庫敏感信息的目的。

    ????5.2 緩沖區溢出

    ??????緩沖區溢出:這里所說的緩沖區溢出是指源緩沖區的數據向小于自身位數的緩沖區復制數據時,超越目標緩沖區的位數邊界,并且數據庫未對存入數據進行邊界判斷,最終導致目標緩沖區爆滿。目標緩沖區內存改變程序控制流、奪取操作系統、禁止訪問等多種結果。緩沖區溢出主要可以分成四種:靜態數據溢出、棧溢出、堆溢出和格式化串。

    ????????手段具體分為:

    ?????? 棧溢出 。????緩沖區溢出的一種主要是通過利用截取函數返回值來進行棧溢出。方式主要分為兩種,一種是通過緩沖區溢出改變函數邏輯流程;另一種方式是通過緩沖區溢出改變函數返回地址。其中比較常見的為第二種。

    ???? 堆溢出 。????緩沖區溢出的一種,利用原理類似棧溢出,但由于堆中地址是動態分配的,無法準確定位,所以黑客要利用堆溢出需要通過DWORD SHOOT技術來對堆進行掃描,獲取堆溢出中可利用的地址。

    ????靜態數據區溢出。????靜態數據區域存放連續的全局變量和未初始化的靜態變量,緩沖區在這發生溢出稱為靜態數據區溢出。

    ???? 格式化串 。????格式化串漏洞最顯著的例子,就是在*printf()系列函數中按照一定的格式對數據進行輸出。黑客主要是利用printf()系列函數有三條特殊的性質,首先,第一個可以被利用的性質是:*printf()系列函數的參數的個數是不固定的。其次,利用*printf()的一個特殊的格式符%n,黑客就向內存中寫入exploit。再次,利用附加格式符控制跳轉地址的值。

    ????5.3 其他

    ???? 弱口令 。通常指容易被別人猜測到或被解除工具解除的口令均為弱口令,其中很大一部分是數據庫默認口令,其中有一部分是因為缺省密碼產生的。

    ????撞庫。通過已收集到的在其他服務中注冊的用戶名和密碼,對目標數據庫進行訪問嘗試。由于很多人習慣用相同密碼和賬號,因此成功登陸到目標數據庫的可能性大大提高,達成盜取大量敏感信息的目的。????

    暴力解除。通過數據字典(密碼庫)對數據庫的用戶名進行碰撞,最終碰出可以用于訪問數據庫的用戶和密碼組合。????

    6. 從數據庫漏洞成因劃分

    ????輸入驗證錯誤。????????????這種錯誤主要來源于字符串、包等輸入值缺乏正確合理的驗證,從而導致畸形的輸入值進入數據庫系統函數中,對數據庫造成不可預計的后果。

    ???????????? 邊界條件錯誤 。????由于數據庫屬于大型復雜的軟件,軟件內部函數調用過于復雜,有時會出現對某個傳入值的邊界,不同地方限制不同,可能對數據庫造成不良影響。

    ???? 緩沖區溢出錯誤 。????由于數據庫中某些函數中的參數值缺乏邊界限制和檢查,從而暴露出的數據庫漏洞。

    ???? 訪問驗證錯誤 。????訪問驗證錯誤主要在數據庫的網絡監聽上,黑客通過發送欺詐數據包,來騙取數據庫重要信息。

    ???? 意外條件錯誤 。????由于數據庫中邏輯比較復雜,某些很少被觸發的邏輯分支由于軟件周期等原因,未被及時發現而導致的數據庫漏洞。

    ???? 其他錯誤 。??????除了以上五類原因錯誤導致的數據庫漏洞,大部分其他錯誤是由于用戶在使用數據庫時,未能按照數據庫官方要求進行操作和配置,或者是數據庫本身的設計缺陷所引發的漏洞。????

    ??7. 從漏洞利用的結果劃分

    ???? 越權訪問 。訪問原本不可訪問的數據,包括讀和寫。這一條通常是攻擊者的核心目的,而且可造成非常嚴重的災難(如銀行數據被人可寫)。

    ???? 提權 。通過越權等方式,對一個低權限用戶提升權限,一步一步直到提升為DBA權限。利用提權后的賬號竊取數據庫中核心數據。

    ???? 拒絕服務 。攻擊者強制目標數據庫停止提供服務,是黑客常用的攻擊手段之一。其中數據庫端口進行的消耗性攻擊只是拒絕服務攻擊的一小部分,凡是使數據庫服務被暫停甚至所處主機死機,都屬于拒絕服務攻擊。

    ?????? 奪取操作系統 。當黑客通過網絡對數據庫進行攻擊,利用緩沖區漏洞的攻擊會通過劫持被入侵函數中的棧中的函數返回值,來奪取??????函數控制,跳轉到黑客編寫的shellcode。當shellcode打開CMD(windows)即可通過數據庫賬號來操控操作系統,從而奪取整個操作系統的過程。

    ???? 認證繞過 。通常利用認證系統??????的漏洞不用受權就能進入系統。通常認證繞過都是為權限提升或直接的數據訪問服務的。??

    ????8. 從數據庫??存漏洞的位置劃分

    ????由于不同數據庫類似功能的名稱不同本文依oracle為例說明:按照漏洞位置可以分為TNS(監聽)漏洞 、Aurora GIOP server漏洞、XDB組件漏洞、DBMS_CDC_IMPDP漏洞、LT組件漏洞、DBMS_CDC_SUBSCRIBE漏洞、DBMS_CDC_ISUBSCRIBE漏洞、MDSYS.SDO_GEOM_TRIG_INSI漏洞、SYS.CDC_DROP_CTABLE_BEFORE漏洞、DBMS_SCHRDULER漏洞、UTL_FILE漏洞、Data Redaction漏洞、審計漏洞等。??

    ????9. 從漏洞產生的時序上劃分

    ?????????????????????????? 已發現很久的漏洞 。數據庫廠商已經發布補丁或修補方法,很多人已經知曉。這類漏洞通常很多人已經進行了修改,宏觀上看,危??????害較小。

    ??????剛發現的漏洞。數據庫廠????商剛發布補丁或修補方法,知道的人還不多。相對于上一種漏洞其危害性較大,如果此時出現了蠕蟲或傻??瓜化的利用程序,那么會????????導致大批數據庫受到攻擊。這也是一般黑客最多利用的漏洞。??????????????

    ????0day漏洞。還沒有公開的漏洞,在私下交易中的。這類漏洞通常是最危險的,往往是有組織黑客所采用的。

    168391 主站蜘蛛池模板: 国产精品白丝在线观看有码| 八戒八戒神马影院在线观看4| 你是我的女人中文字幕高清| 久久精品视频久久| 免费无码看av的网站| 全彩调教侵犯h本子全彩网站mj| 亚洲免费观看视频| 一本色道久久88综合日韩精品| 毛片手机在线观看| 男人扒女人添高潮视频| 激情综合色五月丁香六月欧美| 波多野结衣免费视频观看| 欧美成人看片一区二区三区| 日韩高清在线观看| 扒开腿狂躁女人爽出白浆| 女人18毛片免费观看| 国产高清一级毛片在线不卡| 国产精品久久久精品三级| 国产在线麻豆精品| 口工里番h全彩动态图| 亚欧洲精品在线视频免费观看| 97人人模人人爽人人少妇| 老师你下面好湿好深视频| 没带罩子让他玩儿了一天| 欧美一区二区三区精品影视| 成人啪精品视频免费网站| 国产精品极品美女自在线| 印度精品性hd高清| 亚洲国产精品sss在线观看AV| 一本伊大人香蕉在线观看| 老汉色av影院| 日本三区四区免费高清不卡| 国产白丝在线观看| 亚洲午夜精品国产电影在线观看| 91香蕉国产在线观看人员 | 被民工蹂躏的雯雅婷| 欧美人成在线观看| 婷婷综合久久中文字幕蜜桃三| 在私人影院里嗯啊h| 啦啦啦在线观看视频直播免费| 久久久综合香蕉尹人综合网|