數據庫安全001--數據庫漏掃
(數據庫漏洞掃描)主要功能是為一個或多個數據庫創建掃描任務,用戶可以通過自動掃描和手動輸入發現數據庫,經
授權掃描、非授權掃描、弱口令、滲透攻擊等檢測方式發現數據庫安全隱患,形成修復建議報告提供給用戶。數據庫漏掃是數據庫安全評估技術之一,能夠找出數據庫自身的安全漏洞和使用中的安全隱患。
漏掃方式:
授權掃描:授權掃描是指
使用數據庫用戶和口令連接到遠程服務器,執行指定掃描策略的數據庫漏洞檢測。
非授權掃描:非授權掃描是指在
沒有數據庫用戶和口令連接到數據庫服務器的情況下,執行指定掃描策略。
弱口令掃描:弱口令掃描是指使用數據庫用戶和口令連接到遠程服務器,執行對數據庫
中弱口令的檢測。
滲透檢測:模擬黑客對數據庫進行滲透攻擊,如
口令攻擊、SQL注入和緩沖區溢出等。
檢測內容:
DBMS脆弱點:(數據庫管理系統脆弱點)已知數據庫系統自身存在的漏洞,這些漏洞會引發數據泄漏、權限提升或拒絕服務攻擊問題。
弱口令:口令的安全強度不符合安全性要求(口令不復雜,容易猜到),比如使用了111111這樣的口令,很容易被猜到,或暴力破解。
缺省口令:使用數據庫系統安裝的缺省口令,由於這樣的口令是被公眾掌握的,安全隱患很大。
配置缺陷:由於數據庫或系統的配置造成的安全缺陷或風險點。
補丁:數據庫的版本或相應功能版本已經不再被支持了,需要進行升級來實現更好的安全性。
易受攻擊代碼:在數據庫的系統表或存儲程序中存在可能會被利用來進行攻擊的代碼,或存在已經發現的存在漏洞的存儲程序。
程序后門:存儲在數據庫中的可執行程序,如存儲過程、函數,由於不安全的程序造成在某種條件下會觸發安全缺陷。
敏感數據:對數據庫中需要敏感防護的數據項進行掃描,形成敏感數據報告,幫助管理人員檢查安全措施是否得當。
口令攻擊:
一、什么是口令攻擊:
口令是網絡系統的第一道防線。當前的網絡系統都是通過口令(如賬號密碼)來驗證用戶身份、實施訪問控制的。
口令攻擊是指黑客以口令為攻擊目標,破解合法用戶的口令,或避開口令驗證過程,然后
冒充合法用戶(系統管理員或其他殊用戶)潛入目標網絡系統,獲得系統的管理權,竊取系統信息、磁盤中的文件甚至對系統進行破壞。
二、口令攻擊方法
口令攻擊的主要方法
1、社會工程學(social Engineering),
通過人際交往這一非技術手段以欺騙、套取的方式來
獲得口令。避免此類攻擊的對策是加強用戶意識。
2、猜測攻擊。首先使用口令猜測程序進行攻擊。口令猜測程序往往根據用戶定義口令的習慣猜測用戶口令,像名字縮寫、生日、寵物名、部門名等。在
詳細了解用戶的社會背景之后,黑客可以列
舉出幾百種可能的口令,並在很短的時間內就可以
完成猜測攻擊。
3、字典攻擊。如果猜測攻擊不成功,入侵者會繼續擴大攻擊范圍,對
所有英文單詞進行嘗試,程序將按序取出一個又一個的單詞,進行一次又一次嘗試,直到成功。據有的傳媒報導,對於一個有8萬個英文單詞的集合來說,入侵者不到一分半鍾就可試完。所以,如果用戶的口令不太長或是單詞、短語,那么很快就會被破譯出來。
4、窮舉攻擊。如果字典攻擊仍然不能夠成功,入侵者會采取窮舉攻擊。
一般從長度為1的口令開始,按長度遞增進行嘗試攻擊。由於人們往往偏愛簡單易記的口令,窮舉攻擊的成功率很高。如果每千分之一秒檢查一個口令,那么86%的口令可以在一周內破譯出來。
5、混合攻擊,結合了
字典攻擊和窮舉攻擊,先字典攻擊,再暴力攻擊。
避免以上四類攻擊的對策是
加強口令策略。
6、直接破解系統口令文件。所有的攻擊都不能夠奏效,入侵者會
尋找目標主機的安全漏洞和薄弱環節,飼機偷走存放系統口令的文件,然后破譯加密的口令,以便冒充合法用戶訪問這台主機。
7、網絡嗅探(sniffer),通過嗅探器在局域網內嗅探明文傳輸的口令字符串。避免此類攻擊的對策是網絡傳輸采用加密傳輸的方式進行。
8、鍵盤記錄,在目標系統中安裝
鍵盤記錄后門,記錄操作員輸入的口令字符串,如很多間諜軟件,木馬等都可能會盜取你的口述。
9:其他攻擊方式,中間人攻擊、重放攻擊、生日攻擊、時間攻擊。
避免以上幾類攻擊的對策是
加強用戶安全意識,采用安全的密碼系統,注意系統安全,避免感染間諜軟件、木馬等惡意程序。
三、口令攻擊的防護手段
要有效防范口令攻擊,我們要選擇一個好口令,並且要注意保護口令的安全。
1、好口令是
防范口令攻擊的最基本、最有效的方法。最好采用字母、數字、還有標點符號、特殊字符的組合,同時有大小寫字母,長度最好達到8個以上,最好容易記憶,不必把口令寫下來,絕對不要用自己或親友的生日、手機號碼等易於被他人獲知的信息作密碼。
2、注意保護口令安全。不要將口令記在紙上或存儲於計算機文件中;最好不要告訴別人你的口令;不要在不同的系統中使用相同的口令;在輸入口令時應確保無人在身邊窺視;在公共上網場所如網吧等處最好先確認系統是否安全;定期更改口令,至少六個月更改一次,這會使自己遭受口令攻擊的風險降到最低,要永遠不要對自己的口令過於自信。
3、加強用戶安全意識,采用安全的密碼系統,注意系統安全,避免感染間諜軟件、木馬等惡意程序。
SQL注入:
一:什么是sql注入
SQL注入是比較常見的網絡攻擊方式之一,它不是利用操作系統的BUG來實現攻擊,而是
針對程序員編寫時的疏忽,通過SQL語句,實現無賬號登錄,甚至篡改數據庫。
二:SQL注入攻擊的總體思路
1:尋找到SQL注入的位置
2:判斷服務器類型和后台數據庫類型
3:針對不同的服務器和數據庫特點進行SQL注入攻擊
注入步驟:
1:尋找注入點,構造特殊的語句
>>傳入SQL語句可控參數分為兩類
>>> 數字類型:參數不用被引號括起來,如?id=1
>>>其他類型:參數要被引號擴起來,如?name="phone"
2:用戶構造SQL語句(如:'or 1=1#;admin'#(這個注入又稱PHP的萬能密碼,是已知用戶名的情況下,可繞過輸入密碼)
3:將SQL語句發送給DBMS數據庫
4:DBMS收到返回的結果,並將該請求解釋成機器代碼指令,執行必要得到操作
5:DBMS接受返回結果,處理后,返回給用戶
三、SQL注入方法
暫不了解
緩沖區溢出:
一:什么是緩沖區溢出
緩沖區溢出(buffer overflow),是針對程序設計缺陷,向程序輸入緩沖區寫入使之溢出的內容(通常是
超過緩沖區能保存的最大數據量的數據),從而破壞程序運行、趁著中斷之際並獲取程序乃至系統的控制權。
利用緩沖區溢出攻擊,可以
導致程序運行失敗、系統宕機、重新啟動等后果。更為嚴重的是,可以
利用它執行非授權指令,甚至可以取得系統特權,進而進行各種非法操作。
