• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      SQL注入式攻擊下的數(shù)據(jù)庫安全

      2021-04-25 14:05:34史旭寧姜楠蔣青山
      電腦知識與技術(shù) 2021年9期
      關(guān)鍵詞:身份認(rèn)證數(shù)據(jù)加密數(shù)據(jù)庫安全

      史旭寧 姜楠 蔣青山

      摘要:隨著數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速成長,數(shù)據(jù)庫已經(jīng)應(yīng)用到各行各業(yè),同時,數(shù)據(jù)的安全問題也隨之推上浪尖。本文將從應(yīng)用的角度出發(fā),論述了SQL Server安全措施;同時,本文對SQL注入式攻擊的原理、步驟、危害進行必要講解,并著重闡述對SQL注入式攻擊的防范措施。

      關(guān)鍵詞:數(shù)據(jù)庫安全;SQL注入;身份認(rèn)證;數(shù)據(jù)加密;字符規(guī)范

      中圖分類號:TP311? ? ? 文獻(xiàn)標(biāo)識碼:A

      文章編號:1009-3044(2021)09-0025-02

      開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

      1 緒論

      隨著數(shù)據(jù)庫和網(wǎng)絡(luò)技術(shù)的迅速成長,數(shù)據(jù)庫已經(jīng)應(yīng)用到各行各業(yè),所謂的“模式”也隨之發(fā)生變化,就當(dāng)下而言,最為主流的模式便是Web前臺加后臺服務(wù)器的模式。后臺服務(wù)器最核心的部分當(dāng)屬后臺數(shù)據(jù)庫,故一個服務(wù)器的Web服務(wù)器是否安全,很大程度上取決于Web端的安全控制,以及數(shù)據(jù)庫的安全檢測與防護。盡管開發(fā)者早已認(rèn)識到這一點,但數(shù)據(jù)庫攻擊的案例卻屢見不鮮:從互聯(lián)網(wǎng)剛興起時雅虎的數(shù)據(jù)泄漏,到2011年CSDN的用戶信息被盜,再到“12306”的數(shù)據(jù)泄漏等等。這一切都在告訴我們:web服務(wù)器的安全還是要不斷提升。

      2 數(shù)據(jù)庫的安全機制

      數(shù)據(jù)庫的安全機制一般需要滿足三方面要求:首先,需要滿足數(shù)據(jù)庫、數(shù)據(jù)語義、操作等方面的完整性;其次,數(shù)據(jù)庫授權(quán)了用戶才能獲得數(shù)據(jù)、并且對用戶的行為進行記錄,審計;再次, 數(shù)據(jù)庫授權(quán)用戶對數(shù)據(jù)獲取和各種操作[1]。此安全機制包含以下6項內(nèi)容:

      2.1身份認(rèn)證

      身份認(rèn)證是數(shù)據(jù)庫管理系統(tǒng)提供的第一道保護屏障,這個證明形式不是唯一的,有著多樣性,比如動態(tài)口令鑒別,靜態(tài)口令鑒別,數(shù)字證書鑒別, 生物特征鑒別,智能卡識別等。

      2.2訪問控制

      訪問控制是數(shù)據(jù)庫安全中的核心技術(shù),主要指訪問主體對訪問客體權(quán)限的定義,并將其登記到數(shù)據(jù)字典中進行合法權(quán)限的檢查,主要有登錄權(quán)限、確定訪問權(quán)限以及操作權(quán)限3個部分[2]。

      2.3系統(tǒng)文件

      作為數(shù)據(jù)庫系統(tǒng)的運行平臺,操作系統(tǒng)(OS)為數(shù)據(jù)庫系統(tǒng)提供著安全保護,相反,因為數(shù)據(jù)庫以文件的形式存在于操作系統(tǒng)中,而且操作系統(tǒng)自身的安全配置和漏洞也會引發(fā)不安全事件,入侵者也會因為OS的原因竊取或篡改數(shù)據(jù)庫文件和數(shù)據(jù),所以,使用安全性高一些的系統(tǒng),對OS進行安全配置和系統(tǒng)修補,加強OS的安全管理,對其用戶管理和權(quán)限進行合理分配,也是數(shù)據(jù)庫管理系統(tǒng)安全機制管理手段之一[3]。

      2.4數(shù)據(jù)庫加密

      數(shù)據(jù)庫的加密包含加密保護存儲的敏感數(shù)據(jù),以及加密保護傳輸過程來控制非法訪問,從而數(shù)據(jù)庫的加密包含加密保護存儲的敏感數(shù)據(jù),以及加密保護傳輸過程來控制非法訪問[4],加密過程首先是將明文數(shù)據(jù)通過使用加密技術(shù)加密成密文數(shù)據(jù),查詢時,進行逆向操作,又將密文數(shù)據(jù)去掉解密,還原成明文數(shù)據(jù),這樣即便硬盤丟失也不會擔(dān)心泄密,當(dāng)然成本也隨之提高。

      2.5數(shù)據(jù)庫審計

      數(shù)據(jù)庫審計包括實時監(jiān)控數(shù)據(jù)庫,記錄各類操作行為的機制,數(shù)據(jù)庫審計能夠跟蹤、定位, 及時發(fā)現(xiàn)數(shù)據(jù)庫系統(tǒng)的異常使用,阻斷各類違規(guī)操作,總之,管理人員可以通過數(shù)據(jù)庫審計得到有效的預(yù)警機制和行為記錄。

      2.6.備份和恢復(fù)

      任何一個數(shù)據(jù)庫系統(tǒng)總是避免不了會發(fā)生故障,所以,定期對數(shù)據(jù)庫進行備份是非常必要的,為了提高數(shù)據(jù)恢復(fù)的概率,可以將數(shù)據(jù)保存在多個存儲設(shè)備中,并將最初的數(shù)據(jù)文件進行備份。

      3 SQL注入式攻擊

      SQL注入式攻擊,簡單地說就是利用程序漏洞,繞過程序的權(quán)限,將SQL命令插入到頁面請求的查詢字符串或者輸入域進行攻擊,結(jié)果是輕則獲得敏感信息和數(shù)據(jù),重則控制服務(wù)器。

      圖1是典型的SQL注入式攻擊圖:

      3.1攻擊原理

      SQL注入式攻擊有直接攻擊法和間接攻擊法兩種,前者是直接將代碼插入到用戶輸入變量,該變量與SQL命令串聯(lián)在一起,故稱之為直接攻擊法;后者是將惡意代碼注入字符串中,該字符串存于表中并連接動態(tài)SQL命令來執(zhí)行惡意SQL代碼[5]。

      下面將再現(xiàn)一個最簡單的登錄頁面 login.asp ,源代碼如圖2所示:

      登錄驗證腳本checkuser.asp如圖3所示:

      此 Web 網(wǎng)站用戶欄若輸入sysop'and 1=1--,則在 checkuser.asp 中, “--”為注釋語句。SQL 語句中已經(jīng)正確放入輸入的 SQL 條件并執(zhí)行,最終獲取到自己想要的各種信息。

      3.2 攻擊步驟

      3.2.1 SQL注入漏洞的判斷

      首先,定期查看IIS日志中的文件信息,如果IIS中的日志數(shù)量持續(xù)增加,就有SQL注入攻擊的可能;其次,如果數(shù)據(jù)庫出現(xiàn)一些含有大量外來信息的臨時的表格,而且這些表格與我們平時的表格有不同的結(jié)構(gòu),這也是受到SQL注入攻擊的一種現(xiàn)象;最后,可以依據(jù)檢驗用戶輸入的數(shù)據(jù)等信息進行判斷。

      檢測注入漏洞最簡單的方法是在用戶輸入變量的時候,輸用一個單引號" ' ",比如在登錄時,用戶名填為:1',因為這個額外的單引號,有缺陷的代碼就會結(jié)束當(dāng)前的語句,并返回一個提示報錯的頁面或是數(shù)據(jù)庫錯誤的提示,即說明存在SQL注入漏洞。

      SQL注入漏洞通常存在于:

      (1) Web表單輸入域;

      (2) UOL的一部分SQL查詢中;

      (3) 存儲在緩存中的參數(shù),并且這些參數(shù)要回傳給服務(wù)器;

      (4) 頁面的隱藏字段。

      3.2.2收集信息

      在SQL進一步的攻擊之前,會收集提示的數(shù)據(jù)庫報錯信息、了解目標(biāo)系統(tǒng)的輸出機制,判斷數(shù)據(jù)庫類型、了解SQL語句、表名、字段名以及查詢方式,用戶的權(quán)限以及數(shù)據(jù)庫和操作系統(tǒng)的交互程度是非常有必要的,然后根據(jù)SQL注入漏洞與數(shù)據(jù)表名、字段名等對數(shù)據(jù)庫進行攻擊[6]。

      3.2.3提取數(shù)據(jù)

      使用“having 1=1”語句枚舉一個表的所有列來獲得數(shù)據(jù)庫的結(jié)構(gòu),獲取了數(shù)據(jù)庫結(jié)構(gòu)便容易讀出表中數(shù)據(jù),如圖4所示:

      3.2.4與OS交互的兩種方式

      (1)執(zhí)行系統(tǒng)命令;

      (2)攻擊者可以通過讀取、配置系統(tǒng)文件來執(zhí)行命令;

      3.2.5擴大影響

      以攻破的主機作為主陣地,為了擴大攻擊范圍,使用“select * from sysservers” 在 MS SQL Server 中可查詢網(wǎng)絡(luò)中的其他主機,然后使用 OPENROWSET 命令入侵其他主機事輕而易舉的事情。

      4 數(shù)據(jù)庫安全防范措施

      4.1服務(wù)器安全配置

      服務(wù)器的安全設(shè)置可以參見第一章的內(nèi)容。主要從身份認(rèn)證、訪問控制、數(shù)據(jù)庫加密、數(shù)據(jù)庫審計和備份、恢復(fù)等方面考慮。

      4.2數(shù)據(jù)加密

      對數(shù)據(jù)的加密主要是防止物理性攻擊。在登錄服務(wù)器時可以使用Windows和SQL身份認(rèn)證混合模式,且將登錄名稱、密碼等數(shù)據(jù)加密保存。鑒于有些存儲過程很容易被利用,將不必要的存儲過程刪除, 也是一個防范的措施。

      4.3數(shù)據(jù)過濾和字符規(guī)范

      4.3.1對于動態(tài)構(gòu)造SQL查詢的場合,可用以下方法

      (1)限制查詢數(shù)據(jù)庫賬戶權(quán)限。使用不同賬戶執(zhí)行Query、INSERT、UPDATE或DELETE命令等操作。

      (2)替換單引號,為了防止攻擊者修改 SQL 命令的含義,也就是說,把所有單獨出現(xiàn)的一個單引號換成兩個單引號。

      (3)避免輸入或者直接刪除連字符,原因是此類查詢的后面已被注釋,攻擊者只需要取得合法用戶名,就可以輕松獲得訪問權(quán)限。

      4.3.2 使用存儲過程來執(zhí)行所有的查詢,數(shù)據(jù)庫的權(quán)限只容許在一定的存儲過程中執(zhí)行

      限制用戶可以輸入的字符長度。那么大于這個長度就不被認(rèn)可,這將極大增加數(shù)據(jù)庫安全系數(shù)。

      保障合法數(shù)據(jù)。在服務(wù)器端和客戶端分別進行數(shù)據(jù)檢查,保障輸入內(nèi)容只包含合法數(shù)據(jù)。

      使用參數(shù)化語句并盡可能使用SQL Server數(shù)據(jù)庫自帶的安全參數(shù),數(shù)據(jù)庫工程師在開發(fā)產(chǎn)品時要盡量采用參數(shù)化語句,通過參數(shù)來傳遞這個變量,因為輸入的變量不是直接嵌入到SQL語句,這種方法可以提升設(shè)定執(zhí)行計劃能夠使用的固定次數(shù),降低了數(shù)據(jù)庫的工作壓力,提高了運行效率,對防范SQL注入攻擊起到了重要作用,同時也保護了用戶的隱私和安全[7]。

      5結(jié)束語

      在互聯(lián)網(wǎng)高速發(fā)展的背景下, SQL注入已顯然成為B/S系統(tǒng)一個很嚴(yán)重的安全問題。本文對數(shù)據(jù)庫的安全機制,SQL注入式攻擊原理、攻擊方式、類型做了詳細(xì)闡述,同時重點分析了如何有效防范SQL注入式攻擊,關(guān)于如何防范還有待進一步研究探索。

      參考文獻(xiàn):

      [1] 袁玫,林志英,劉勁松.網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用教程[M].北京:人民郵電出版社,2003:13.

      [2] 薛玉芳,李潔瓊,李亞軍.數(shù)據(jù)庫安全與防護性的技術(shù)研究[J].中國新技術(shù)新產(chǎn)品,2011(3):20.

      [3] 劉雪梅.基于SQL Server數(shù)據(jù)庫的安全性對策探究[J].電腦編程技巧與維護,2019(9):96-98.

      [4] 劉博.數(shù)據(jù)庫加密技術(shù)在WEB平臺的研究與應(yīng)用[D].西安:西安電子科技大學(xué),2007.

      [5] 牛方華,楊大哲,劉瑞芳.電力信息系統(tǒng)結(jié)構(gòu)化查詢語言注入攻擊原理及安全防護[J].山西電力,2014(4):38-40.

      [6] 徐嘉銘.SQL注入攻擊原理及在數(shù)據(jù)庫安全中的應(yīng)用[J].電腦編程技巧與維護,2009(18):104-106.

      [7] 于雷.SQL數(shù)據(jù)庫注入攻擊的Java Web防御對策[J].電腦迷,2017(22):27.

      【通聯(lián)編輯:光文玲】

      猜你喜歡
      身份認(rèn)證數(shù)據(jù)加密數(shù)據(jù)庫安全
      管理信息系統(tǒng)中數(shù)據(jù)庫安全實現(xiàn)方法
      活力(2019年21期)2019-04-01 12:16:50
      淺談高速公路數(shù)據(jù)庫安全審計
      大數(shù)據(jù)時代個人隱私的保護
      價值工程(2016年35期)2017-01-23 18:15:46
      校園網(wǎng)云盤系統(tǒng)存在的安全問題及對策
      AES和RSA混合加密技術(shù)在網(wǎng)絡(luò)數(shù)據(jù)傳輸中的應(yīng)用
      基于指紋身份認(rèn)證的固定通信臺站干部跟班管理系統(tǒng)設(shè)計
      云數(shù)據(jù)存儲安全關(guān)鍵技術(shù)研究
      一種基于虛擬專用網(wǎng)及數(shù)據(jù)加密技術(shù)的企業(yè)財務(wù)會計記錄直報系統(tǒng)的實現(xiàn)方案
      軟件工程(2016年8期)2016-10-25 15:57:29
      Kerberos身份認(rèn)證協(xié)議的改進
      科技視界(2016年11期)2016-05-23 08:31:38
      基于USB存儲設(shè)備的透明監(jiān)控系統(tǒng)
      科技視界(2016年9期)2016-04-26 12:25:25
      托克托县| 乐亭县| 报价| 新河县| 宁强县| 华安县| 长春市| 邻水| 仁布县| 隆子县| 桐乡市| 永善县| 吉木乃县| 万盛区| 九龙县| 乌海市| 扎赉特旗| 大安市| 镶黄旗| 定日县| 常德市| 长葛市| 福清市| 曲靖市| 宁武县| 全椒县| 阳原县| 衡南县| 三江| 讷河市| 大名县| 普格县| 建瓯市| 黔南| 巩留县| 新闻| 湘潭市| 武城县| 芜湖县| 府谷县| 托克托县|