黃偉軍
(中國石油新疆職業(yè)技能鑒定中心,新疆 克拉瑪依 834000)
滲透測試作為信息安全等級保護和風險評估的基礎(chǔ)性工作,通過對用戶單位安全性措施的定期嚴格評估,幫助用戶發(fā)現(xiàn)新的威脅,理解當前的信息安全狀況,重新分配其內(nèi)部信息安全資源。信息安全風險評估分析是通過主動滲透測試等多種方式,對信息系統(tǒng)的安全性展開的一種綜合評估分析方法。這個過程包括對系統(tǒng)的弱點、技術(shù)缺陷或漏洞進行主動分析,發(fā)現(xiàn)和挖掘系統(tǒng)中存在的脆弱性漏洞,并利用這些風險漏洞對信息系統(tǒng)中最具價值的核心部分進行攻擊,以竊取核心數(shù)據(jù)及對數(shù)據(jù)庫提權(quán),從而將系統(tǒng)安全風險最大化的暴露出來,然后據(jù)此撰寫技術(shù)脆弱性風險報告,評估當前信息系統(tǒng)的安全現(xiàn)狀,并提出風險防范的解決辦法。
下面通過對某個具有后臺數(shù)據(jù)庫的信息管理系統(tǒng)進行SQL注入攻擊 (一種利用網(wǎng)頁編程人員對用戶輸入信息的合法性不進行必要驗證的漏洞發(fā)起的攻擊行為),通過程序返回的結(jié)果,實現(xiàn)對目標系統(tǒng)核心數(shù)據(jù)庫提取權(quán)限的操作。SQL注入攻擊方式具有一定代表性,近年來一直困擾著眾多企業(yè),成為令企業(yè)數(shù)據(jù)泄密的最大風險。本例中通過模擬實際的攻擊路徑演示,描述網(wǎng)站對外提供Web服務(wù)的安全風險及風險評估的基本過程。
利用端口或漏洞掃描工具對目標主機所在的網(wǎng)段進行探測。本例中使用SuperScan3.0(一款功能強大的免費端口掃描軟件)對目標主機進行端口掃描,查看開放的服務(wù)及端口信息。
圖1 目標主機掃描結(jié)果截圖
從圖1中可看出,目標主機開放了 WWW、FTP和SQL Server服務(wù)??赏ㄟ^密碼字典工具對開放的服務(wù),如FTP、SQL Server進行破解,進一步刺探上述服務(wù)的弱口令信息,或用漏洞掃描工具對目標主機進行滲透攻擊。
訪問目標Web服務(wù)器網(wǎng)址,通過手工驗證注入點的方式,發(fā)現(xiàn)該管理系統(tǒng)的個人信息顯示頁面。本例中內(nèi)部網(wǎng)址http://192.168.10.45/See.asp? ID=46&titleID=36 可能有 SQL 注入漏洞。如圖2~3所示,利用旁注Web綜合檢測程序(數(shù)據(jù)庫爆破工具)對注入點進行攻擊,嘗試破解網(wǎng)站管理員的賬戶和密碼。
圖2 數(shù)據(jù)庫爆破工具使用截圖1
圖3 數(shù)據(jù)庫爆破工具使用截圖2
破解出數(shù)據(jù)庫后臺管理帳號,進入目標主機的后臺管理頁面,找到并登錄網(wǎng)站的管理后臺。通常的網(wǎng)站后臺都允許上傳文件,上傳ASP木馬,通過木馬文件遠程打開網(wǎng)站服務(wù)器的目錄,找到Web目錄中的conn_*.asp文件。這個文件中通常都存有SQLServer的登錄用戶名和口令,可以得到SQLServer口令。
啟動本地的SQLserver客戶端,運行SQL命令,在目標主機中添加賬戶,并利用得到的口令登陸目標數(shù)據(jù)庫。具體步驟如下:
首先,在SQLserver客戶端界面上點“新建查詢”,輸入如下命令激活組件xp_cmdshell。
接著,繼續(xù)輸入命令,添加一個管理員賬號。
然后,開啟目標服務(wù)器的遠程桌面連接。
最后,利用新加入的賬戶和密碼通過遠程桌面的方式登錄到目標服務(wù)器,完成滲透測試攻擊過程。
通過對上述滲透測試過程的簡單分析,可以看出Web服務(wù)器網(wǎng)站一般存在以下幾個風險點:
(1)用戶可以進行登陸或查詢功能的頁面;
(2)對外提供服務(wù)的端口有弱口令存在;
(3)數(shù)據(jù)庫內(nèi)容沒有加密,登陸口令過于簡單;
(4)服務(wù)器沒有進行最小化安裝,存在多余的存儲過程或組件;
(5)重要文件系統(tǒng)沒有進行加密保存。
根據(jù)發(fā)現(xiàn)的風險源,可有針對性地制定信息系統(tǒng)安全風險防范的一般過程。首先,加固用戶網(wǎng)站代碼。本例的網(wǎng)站代碼中有顯性的注入點,如各種輸入表單;也有隱性的注入點,可通過專業(yè)工具來進行挖掘。在客戶端和服務(wù)端,都需對SQL注入點的關(guān)鍵字和特殊字符通過函數(shù)進行過濾,并對用戶輸入從多方面檢驗其合法性。當SQL語句執(zhí)行出錯時,采用自己定制錯誤頁面的方式防止直接將數(shù)據(jù)庫返回的錯誤信息顯示給用戶,以規(guī)范代碼安全性,完成代碼的安全加固。比如本案例中,頁面返回的錯誤信息沒有規(guī)范處理,也沒有對用戶輸入界面進行數(shù)據(jù)過濾,使?jié)B透測試攻擊者找到了SQL注入點。
其次,準確設(shè)置數(shù)據(jù)庫管理系統(tǒng)安全配置項。數(shù)據(jù)庫管理系統(tǒng)常常提供一些安全方面的配置項,比如在SQLServer數(shù)據(jù)庫中,新建一個(而且只建一個)與SA一樣權(quán)限的超級用戶來管理數(shù)據(jù)庫,并使用復雜的密碼,同時養(yǎng)成定期修改密碼的好習慣。使用Windows身份驗證模式,可以使數(shù)據(jù)庫免受大部分Internet工具的侵害。系統(tǒng)自帶的一些存儲過程很容易被黑客用來攻擊或破壞系統(tǒng),如果不需要,就可以將其刪除或禁用,如本例中xp_cmdshell存儲過程就需要禁用。
最后,要配置好操作系統(tǒng)的安全功能。Windows操作系統(tǒng)在硬盤分區(qū)時就應(yīng)該選擇NTFS作為文件系統(tǒng)的格式,因為NTFS文件系統(tǒng)在性能、安全、可靠性方面提供了很多高級功能,通過它可以實現(xiàn)任意文件或文件夾的加密和權(quán)限設(shè)置,以及磁盤配額和壓縮等高級功能。數(shù)據(jù)庫文件和應(yīng)用系統(tǒng)文件是攻擊的重要目標,需要重點保護。我們可以利用操作系統(tǒng)提供的文件權(quán)限設(shè)置和加密功能來保護數(shù)據(jù)庫文件。本例中目標服務(wù)器中的數(shù)據(jù)庫等重要文件沒有加密處理,攻擊者通過木馬程序得到上述文件后可輕易實現(xiàn)數(shù)據(jù)庫的破解。
基于漏洞的滲透測試是當前信息安全評估的主要技術(shù)手段。漏洞的攻擊途徑除操作系統(tǒng)的漏洞外,其他各種中間件軟件,如tomcat、websphere的弱口令,以及各種長期沒有進行更新的應(yīng)用系統(tǒng)軟件,也是攻擊的主要目標源。信息系統(tǒng)的安全性取決于信息系統(tǒng)最薄弱的環(huán)節(jié),所以構(gòu)建立體的、縱深防御的信息安全體系,是信息安全風險評估的最終目標,也是我們信息化安全管理人員不懈努力的方向。