長春大學計算機科學技術學院 王紹強 邵 丹 王艷柏
?
網絡滲透測試技術分析研究
長春大學計算機科學技術學院 王紹強 邵 丹 王艷柏
【摘要】隨著Internet的迅速發展,網絡滲透測試技術已成為網絡安全防范的有效措施和重要方法之一,對于提高社會各行業計算機網絡系統的安全性有著重要的意義。本文介紹和分析了網絡滲透技術中常用的端口掃描技術、漏洞掃描技術、緩沖區溢出技術、SQL注入技術和木馬攻擊技術,并提出網絡滲透測試的一般流程和實用方案。
【關鍵詞】網絡安全;滲透測試;漏洞;緩沖區
信息時代高速發展的今天,各種基于網絡的技術與產品應運而生,網絡在經濟、工作和生活的各個領域中的地位變得越來越重要,人類社會對互聯網的依賴程度在增強。但是,網絡技術不斷發展的同時,也帶來了各種不利因素,其中網絡系統安全問題最為棘手。黑客攻擊手段越來越先進,安全漏洞被利用的速度越來越快,攻擊者的數量不斷增加,破壞效果越來越嚴重。構建網絡安全防護僅依靠安全設備是不夠的,被動防范最終會被黑客入侵,主動發現系統存在的漏洞和風險并及時修正才是更有效的辦法。網絡滲透測試實際上就是合法的測試人員模擬黑客入侵和攻擊網絡系統的方法,運用各種滲透技術和自身經驗對目標網絡系統進行滲透攻擊并且做出安全評估,找出系統漏洞和風險所在并及時修正。這種方法是從黑客可能發動攻擊的位置有條件的主動利用各種安全漏洞,強調主動對系統的弱點和漏洞進行分析,是十分有效的積極防御措施。當前廣泛使用的滲透測試技術有端口掃描技術、漏洞掃描技術、緩沖區溢出技術、SQL注入技術和木馬攻擊技術等。
2.1 端口掃描技術
計算機網絡系統中,端口就是進程的地址,數據包到達主機后需依據端口地址送交給相應服務進程。端口掃描就是通過對目標地址的端口進行掃描,可以基本確定目標系統的基本信息,確定其所開放的服務的類型。測試人員一般能夠分析查找出目標系統可能存在的安全弱點,為進一步的網絡滲透提供基礎。端口掃描是滲透測試的基礎。常用的端口掃描工具如X-Scan、 M-Scaner、SSPort和ScanPort等。
2.2 漏洞掃描技術
漏洞掃描大多是依據已公布的漏洞數據,通過掃描方法對目標系統安全的脆弱性進行檢測,發掘能利用的漏洞的一種滲透測試行為。漏洞掃描比端口掃描所做工作更進了一步。可以獲悉該端口上正處于監聽狀態的服務,進一步分析出該服務和服務版本相關的已知安全漏洞。漏洞掃描可從外部和內部分別開展。外部掃描在真實環境下通過網絡對服務器進行外部特征掃描,檢測服務器各類端口的使用分配、提供何種服務、服務的版本以及該服務已知曉的安全漏洞。內部掃描則是從系統內部檢測系統的配置缺陷,檢測發現出有可能被攻擊或利用的各種錯誤配置。漏洞掃描包括HTTP漏洞掃描、SSH漏洞掃描、POP3漏洞掃描、FTP 漏洞掃描等。常用的工具如Windows Vulnerability Scanner、netsparker和Canvas等。
2.3 緩沖區溢出技術
緩沖區溢出攻擊是利用緩沖區溢出原理所進行的攻擊技術。緩沖區是程序分配的臨時存放數據的一塊區域。緩沖區溢出是指向程序的緩沖區寫入超出緩沖區長度的數據,導致它溢出,破壞了程序的數據存放區域,使程序轉而執行其它非法指令以達到攻擊目的。程序在內存中通常分為程序段、數據段和堆棧三部分。程序段里存放機器碼和只讀數據,數據段里存放靜態數據,動態數據則是通過堆棧來存放,它們在內存中的位置如圖1所示。在當前各類網絡安全威脅中,被廣泛利用的超過一半以上都是緩沖區溢出攻擊。根據溢出發生的位置可將緩沖區溢出分為堆棧區溢出、格式化字符串攻擊、靜態數據的緩沖區溢出,其中最為危險的是堆棧溢出,黑客利用堆棧溢出可以在函數返回時改變返回程序的地址,不但可以造成程序運行失敗、系統崩潰重啟動拒絕服務等后果,甚至可以跳轉并且執行一段惡意代碼使非法用戶有機會獲得目標系統的部分或全部的控制權。常用的緩沖區溢出攻擊工具如Metasploit、BoundsChecker 和Vulnserver等。

圖1 數據在內存中的位置
2.4 SQL注入技術
SQL注入攻擊是指通過構建特殊的SQL語句作為參數傳入Web應用程序,通過執行SQL語句進而執行攻擊者所要的操作,其原因是程序開發者沒有對用戶輸入數據的合法性進行判斷,使應用程序存在安全隱患。黑客可以提交一段SQL查詢代碼,根據查詢返回的結果,獲得其想得知的數據。SQL注入攻擊技術技術難度不高、危害性大,甚至利用一些免費SQL注入工具軟件就可以輕易地對存在SQL注入漏洞的網站或者Web應用程序實施攻擊。常見的SQL注入工具如SQLIer、SQLMap、SQL Power Injector和Webpecker等。
2.5 木馬攻擊技術
木馬攻擊是目前常見的網絡攻擊手段之一,危害性大、隱蔽性強,能對計算機信息系統的安全保密構成極大的威脅。木馬程序一般由兩部分組成的,即Server(服務)端程序和Client(客戶)端程序。 其中Server端程序安裝在被目標(被控制)計算機上,Client端程序安裝在攻擊者(控制)計算機上,Server端程序和Client端程序建立起連接就可以實現對遠程計算機的完全控制,危害巨大。常見的木馬工具如特洛伊木馬、冰河和灰鴿子等。
網絡滲透測試過程就是模擬黑客攻擊的過程。首先應收集信息,盡可能更多的獲得要滲透目標的信息。從社會工程學開始,留意目標公司公布的所有資料,從中發現對滲透有價值的信息,如公司使用的服務器和系統平臺,能提供哪些服務,目標公司的物理拓撲等;然后進行地址掃描,對服務器進行端口掃描,漏洞掃描,通過以發布的各種漏洞的報告,結合目標公司發布的信息,找出目標公司有可能出現的漏洞進行滲透攻擊,快速找到滲透注入點。再根據實際情況選擇使用緩沖區溢出攻擊、SQL注入攻擊或木馬攻擊等攻擊技術對目標網絡進行滲透攻擊,最后獲取目標系統的部分甚至全部的權限,滲透測試成功。具體流程如圖2所示。

圖2 網絡滲透測試流程
網絡滲透測試作為一種主動式網絡安全防御方法,已得到用戶和網絡安全測試機構的重視,理論和應用研究也得到了發展。本文主要對常用的滲透測試的技術和測試流程進行了分析和總結,對學習和從事網絡滲透測試的人員有一定的參考和借鑒作用。
參考文獻
[1]袁浩.計算機網絡滲透測試研究[D].重慶大學自動化學院,2006.
[2]劉翠.滲透測試技術的應用分析[J].產業與科技論壇,2014(13):11.
[3]田立軍.滲透性測試技術及方法研究[J].鐵路計算機應用技術,2015(2)
[4]劉帥.SQL注入攻擊及其防范檢測技術的研究[J].電腦知識與技術.2009(10).
[5]許太安.木馬攻擊原理及防御技術[J].網絡安全,2014(3).
[6]卿斯漢.安全協議[M].北京:清華大學出版社,2005.
基金項目:吉林省教育廳“十二五”科學技術研究項目(吉教科合字[2012]第247號)。