鄧文艷
山西金融職業學院
數據庫系統安全性測試技術研究
鄧文艷
山西金融職業學院
數據庫系統存儲著大量的數據信息,其本身的安全性非常重要,一旦存在安全問題,將會帶來相應的信息風險,引發數據信息的泄露、丟失或者損壞,因此,需要重視對數據庫系統安全性的測試。本文結合數據庫系統安全性測試的相關內容,對其測試技術進行了研究和討論。
數據庫系統 安全性 測試技術
無論是哪一種軟件系統的開發,都不可能忽略數據庫系統,這是進行數據管理的基礎。通過數據庫系統的安全性測試,能夠幫助技術人員及時發現數據庫中存在的漏洞,從而減少信息泄露的風險。
數據庫系統的安全性測試,主要是針對系統本身對于非法入侵防范能力的檢驗,可以對數據庫系統內存在的保護機制在遭遇非法入侵時的效果進行測試。數據庫安全性測試的內容主要包括三個,一是資源,或者更加直觀的說數據庫中的數據信息以及應用功能,為了對其進行測試,需要羅列出所有需要進行保護的數據和功能,然后分析其對于數據庫用戶的價值,找出可能對這些數據和功能進行利用的非法手段;二是風險,即可能造成用戶損失的事件。在安全性測試中,同樣需要將所有可能發生的風險羅列出來,同時根據風險的誘發因素,將其分為自然風險、人為風險和意外風險,在分析風險發生概率的同時,做好風險危害的預測評估,對于可能引發嚴重后果的風險必須重點關注;三是安全性控制,換言之,就是針對風險的保護措施,對于所有的風險都應該給出相應的保護措施,尤其需要重點關注人為風險以及誤操作帶來的風險。
在進行數據庫系統的安全性測試時,需要合理把握測試策略。通常來講,可以從正向和反向兩個方面進行分析和考慮。正向是立足系統需求、系統設計以及編碼等,對其中可能存在安全隱患的地方信息測試,反向則是從已經明確的缺陷和漏洞出發,尋找軟件系統中可能存在的缺陷,構建相應的缺陷威脅模型,利用模型尋找非法入侵點,進行系統漏洞的掃描檢測。如果數據庫系統對于安全性的要求一般,則可以采用反向測試的策略,如果對于安全性要求較高的系統,則可以綜合運用兩種測試策略,以正向測試為主,反向測試為輔。
2.1 完整性測試
數據的完整性是保證其應用功能的前提,也是必須重點關注的內容,數據完整性的測試,具體來講就是在數據庫中發現不完整、不準確數據信息的過程,多數情況下都是針對數據存儲的方式而言。就目前來看,影響數據庫數據存儲方式的因素是多種多樣的,例如,數據本身的類型、長度等,都可能會造成數據的不完整。在進行數據完整性測試時,可以結合文檔或者代碼進行審查,分析數據庫管理系統是否能夠提供實體完整性定義語句、參照完整性定義語句等。同時,應該對數據庫是否存在事務機制進行檢驗,如果存在,則可以在SQL語句處理執行環節出現錯誤時,通過回滾事務將數據庫恢復到之前事務尚未開始的狀態,從而保證數據庫系統中數據的完整性,也可以實現數據庫的并發訪問。
2.2 防范性測試
一方面,針對SQL注入攻擊的防范測試,需要檢驗所有涉及SQL語句提交的位置,看是否對用戶輸入的字符串進行了準確處理,如果必要,也可以模擬SQL注入攻擊,對數據庫管理系統進行攻擊測試,檢驗管理系統對于攻擊的響應情況;另一方面,針對緩沖區溢出攻擊的防范測試,主要是看緩沖區是否寫入了超出限值長度的內容,導致數據溢出進而破壞程序的堆棧,導致程序放棄執行相應的指令。可以利用相應的攻擊工具向數據庫服務器端口發送可能導致緩沖器溢出的畸形保溫,分析管理系統的響應情況。對于測試人員而言,必須在用戶可能輸入的地方,進行不同長度數據的輸入測試,保證程序能夠對用戶輸入的各種數據進行正確處理,避免數據異常或者數據溢出的情況。
2.3 備份恢復測試
數據庫系統一旦遭到黑客或者病毒的攻擊,又或者出現硬件問題,可能會導致數據信息的丟失,而想要對丟失的數據進行恢復,就必須保證數據庫系統具備良好的備份及恢復功能。如果由于一些意外情況,如硬件故障、網絡中斷、停電等導致了數據的意外丟失,系統應該能夠將數據庫恢復到之前沒有損壞的狀態。
備份恢復測試主要是分析數據庫是否提供數據備份方式,管理系統是否提供數據恢復技術。在進行測試的過程中,應該數據庫服務器的硬盤或者客戶端在備份時是否被惡意拷貝,同時在對數據庫版本進行更新后,應該檢查原來數據庫中的數據是否已經完成備份,確保在備份數據導入時不會出現不兼容的情況。
在當前信息技術飛速發展的背景下,數據庫系統在越來越多的行業和領域中得到了應用,為了保證數據信息安全,應該做好數據庫系統的安全性測試,及時發現數據庫系統中存在的問題和漏洞,對其進行彌補,推動數據庫系統的穩定發展。
[1]張巖.數據局安全性測試研究[J].計算機安全,2012,(11):33-36
[2]張麗蘋.入侵檢測技術在數據庫系統中的應用[J].中國電子商務,2014,(19):44
[3]周薇.數據庫系統安全性測試技術研究[J].計算機技術與發展,2014,34(2)