趙 兆
(江蘇省電子信息產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)研究院(江蘇省信息安全測評中心),江蘇 無錫 214073)
隨著網(wǎng)絡(luò)新技術(shù)的飛速發(fā)展和各類信息系統(tǒng)的廣泛應(yīng)用,信息安全已成為國家安全重要組成部分,信息安全形勢十分嚴(yán)峻,國內(nèi)外信息安全事件頻繁發(fā)生,如:CSDN、天涯社區(qū)等數(shù)據(jù)庫泄露,造成數(shù)百萬條個(gè)人信息泄露。在《信息系統(tǒng)安全等級保護(hù)測評要求》中規(guī)定,對于三級以上的信息系統(tǒng)應(yīng)進(jìn)行滲透測試,通過滲透測試,可以驗(yàn)證信息系統(tǒng)是否存在明顯漏洞,是否達(dá)到等級保護(hù)要求,有效地督促相關(guān)單位進(jìn)行整改。
因滲透測試是扮演惡意攻擊者,攻擊系統(tǒng)的安全性,本文主要闡述如何采用有效的方法保證測試的實(shí)施,減少對業(yè)務(wù)系統(tǒng)產(chǎn)業(yè)的影響[1]。
滲透測試主要依據(jù)安全專家已經(jīng)掌握的安全漏洞,模擬黑客的攻擊方法對系統(tǒng)進(jìn)行非破壞性的攻擊性測試。滲透測試可以提供安全防御的有價(jià)值的信息。此外有些單位需要提供有說服力的論據(jù)說明不充分的安全可能導(dǎo)致重大損失,執(zhí)行情況良好的滲透測試就可以證明。
人工測試?yán)寐┒磼呙杵骱透挥邪踩?jīng)驗(yàn)的安全工程師的人作經(jīng)驗(yàn)對網(wǎng)絡(luò)中的核心服務(wù)器及重要的網(wǎng)絡(luò)設(shè)備,包括防火墻、交換機(jī)、服務(wù)器等進(jìn)行非破壞性質(zhì)的模擬黑客攻擊,目的是入侵系統(tǒng)并獲取密感信息并將入侵的過程和細(xì)節(jié)產(chǎn)生報(bào)告給用戶[2]。
人工測試與工具掃描可以很好地互相補(bǔ)充。工具掃描有很好的效率,但是存在一定的誤報(bào)率,不能發(fā)現(xiàn)復(fù)雜性、高層次的安全問題;人工測試需要投入的人力資源較大,對測試者的專業(yè)技能要求很高(滲透測試報(bào)告的價(jià)值直接依賴于測試者的專業(yè)機(jī)能),但是非常準(zhǔn)確,能發(fā)現(xiàn)邏輯性更強(qiáng)、更深層次的漏洞[3]。
為保證滲透測試流程可控制的、非破壞性質(zhì)的進(jìn)行,應(yīng)嚴(yán)格依照下圖執(zhí)行,并在執(zhí)行過程中把握好每一個(gè)步驟的信息輸入/輸出,控制好風(fēng)險(xiǎn)(見圖1)。
滲透測試包含以下方法但不局限于以下方法:
(1)信息收集:信息收集是滲透攻擊的前提,通過信息收集可以獲得測試目標(biāo)的架構(gòu)、指紋、類型等信息,測試人員可對信息收集初步了解,建立滲透測試計(jì)劃。
(2)端口掃描:通過對目標(biāo)地址的TCP/UDP端口掃描,確定目標(biāo)系統(tǒng)所開放的服務(wù)的數(shù)量和類型,結(jié)合滲透測試人員的經(jīng)驗(yàn)發(fā)現(xiàn)可能存在或被利用的漏洞。
圖1 滲透測試流程
(3)口令猜解:滲透測試人員通過人工或者利用工作方式對目標(biāo)系統(tǒng)的口令進(jìn)行暴力嘗試,找出目標(biāo)系統(tǒng)存在的弱口令。猜解成功后可登錄目標(biāo)系統(tǒng)進(jìn)行深入挖掘。口令猜解的對象有:Web登錄、FTP、數(shù)據(jù)庫、遠(yuǎn)程管理等。
(4)緩沖區(qū)溢出攻擊:緩沖區(qū)溢出是一種非常普遍、非常危險(xiǎn)的漏洞,在各種操作系統(tǒng)、應(yīng)用軟件中廣泛存在。利用緩沖區(qū)溢出攻擊,可以導(dǎo)致程序運(yùn)行失敗、重新啟動(dòng)、系統(tǒng)宕機(jī)等后果。更為嚴(yán)重的是,可以利用它執(zhí)行非授權(quán)指令,甚至可以取得系統(tǒng)特權(quán),進(jìn)而進(jìn)行各種非法操作。
(5)SQL注入:滲透人員將SQL命令插入Web表單,遞交或輸入域名或頁面請求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令,獲得系統(tǒng)管理員用戶名和密碼。SQL注入是B/S應(yīng)用系統(tǒng)最常見一種攻擊之一。
(6)上傳漏洞攻擊:應(yīng)用系統(tǒng)對需要上傳文件模塊未進(jìn)行嚴(yán)格的上傳文件類型限制,導(dǎo)致滲透測試人員突破上傳文件的限制將惡意文件上傳至服務(wù)器,并成功執(zhí)行。
(7)本地提權(quán):本地提權(quán)漏洞就是滲透測試人員可以通過一個(gè)本來非常低權(quán)限、受限制的用戶,提升到系統(tǒng)至高無上的權(quán)限。
滲透測試人員測試的目標(biāo)系統(tǒng)生產(chǎn)環(huán)境復(fù)雜,信息系統(tǒng)在網(wǎng)運(yùn)行,一旦發(fā)生信息安全問題,將會(huì)對被測評方的系統(tǒng)帶來嚴(yán)重的損害,有可能會(huì)造成系統(tǒng)中斷、數(shù)據(jù)丟失等問題。嚴(yán)重的可能帶來經(jīng)濟(jì)方面的損失。因此測試過程中風(fēng)險(xiǎn)的規(guī)避應(yīng)該得到重視,從而減少對業(yè)務(wù)系統(tǒng)的影響[4]。
為了規(guī)避滲透測試人員操作的不規(guī)范性和測試的可追溯性,應(yīng)建立滲透測試小組,小組由測試人員和審計(jì)人員兩部分組成(見圖2)。
圖2 滲透測試小組組成
測試人員負(fù)責(zé)具體的測試工作,審計(jì)人員負(fù)責(zé)對測試人員進(jìn)行審計(jì)監(jiān)督工作,兩種角色不能由同一自然人承擔(dān)。
3.2.1 滲透人員工具的控制
在滲透測試過程中應(yīng)對測試人員測試過程中發(fā)現(xiàn)的漏洞使用的工具進(jìn)行有效的監(jiān)督,測試中應(yīng)提供測試工具一覽表(見表1),杜絕因工具選擇不當(dāng)造成的將病毒和木馬植入的情況發(fā)生。
3.2.2 滲透測試人員測試流程控制
滲透測試人員在測試過程中應(yīng)按滲透測試流程進(jìn)行,并提供相應(yīng)流程的測試時(shí)間,以便審計(jì)人員準(zhǔn)確獲取測試人員的行為日志。滲透測試人員將測試時(shí)間和測試獲得的漏洞信息記錄在原始記錄內(nèi)(見表2)。
表1 測試工具一覽
表2 測試流程控制
審計(jì)人員按測試人員審計(jì)服務(wù)器如:IPS、上網(wǎng)行為審計(jì)等設(shè)備上獲得測試人員的行為日志,將其記錄在審計(jì)記錄中,提交給客戶(見表3)。
表3 審計(jì)流程控制
為了減少滲透測試對目標(biāo)系統(tǒng)壓力的影響,測試應(yīng)安排在不影響正常業(yè)務(wù)運(yùn)作的時(shí)間段進(jìn)行。
針對測試過程中產(chǎn)生的不可預(yù)知的風(fēng)險(xiǎn),相關(guān)管理人員應(yīng)對系統(tǒng)或關(guān)鍵數(shù)據(jù)進(jìn)行備份,確保相關(guān)的日志審計(jì)功能正常開啟,在出現(xiàn)問題時(shí),可以及時(shí)地恢復(fù)運(yùn)轉(zhuǎn)。
滲透測試模仿企圖利用目標(biāo)系統(tǒng)中潛在漏洞的攻擊者,發(fā)現(xiàn)的任何安全問題都要報(bào)告,并對安全問題造成的影響進(jìn)行評估。在滲透測試過程中應(yīng)避免采用分散的方式,應(yīng)用采用效率高的可以針對很多種不同種類漏洞的方式。滲透測試人員要不斷跟蹤新的漏洞,并對最新的阻力進(jìn)行追蹤。