• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于機(jī)器學(xué)習(xí)的應(yīng)用系統(tǒng)深度指紋識別技術(shù)及應(yīng)用*

    2023-10-21 12:17:46賀彥鈞
    通信技術(shù) 2023年9期

    賀彥鈞,朱 磊,黃 煒

    (中國電子科技集團(tuán)公司第三十研究所,四川 成都 610041)

    0 引言

    隨著互聯(lián)網(wǎng)的迅速發(fā)展和智能化應(yīng)用的普及,對數(shù)據(jù)的隱私保護(hù)和安全性的要求越來越高。在網(wǎng)絡(luò)安全領(lǐng)域,指紋識別技術(shù)被廣泛用來識別和驗(yàn)證用戶的身份,以保護(hù)敏感信息和資源的安全。傳統(tǒng)的指紋識別技術(shù)主要集中在人體指紋的識別上,但隨著技術(shù)的進(jìn)步和應(yīng)用場景的改變,深度指紋識別技術(shù)逐漸引起了研究者和工程師的關(guān)注。深度指紋識別技術(shù)是一種基于機(jī)器學(xué)習(xí)的指紋識別方法,通過訓(xùn)練模型和學(xué)習(xí)特征來實(shí)現(xiàn)更準(zhǔn)確和可靠的指紋識別。與傳統(tǒng)的指紋識別技術(shù)相比,深度指紋識別技術(shù)具有更高的靈活性和擴(kuò)展性。它能夠識別各種類型的指紋,包括人體指紋、網(wǎng)絡(luò)活動指紋、行為指紋等,以滿足不同領(lǐng)域的應(yīng)用需求。深度指紋識別技術(shù)是通過深度學(xué)習(xí)模型來提取和學(xué)習(xí)指紋數(shù)據(jù)的特征,從而實(shí)現(xiàn)指紋的分類和識別,并通過分析指紋的局部特征和上下文信息,達(dá)到更高的識別準(zhǔn)確率和魯棒性。

    因此,本文面向信息安全測試領(lǐng)域,在應(yīng)用系統(tǒng)進(jìn)行漏洞檢測時,針對如何快速獲取應(yīng)用系統(tǒng)指紋信息,如何根據(jù)應(yīng)用系統(tǒng)指紋信息進(jìn)行自適應(yīng)漏洞檢測等問題,提出了“基于機(jī)器學(xué)習(xí)的深度指紋識別技術(shù)及應(yīng)用”思路,幫助測試人員快速準(zhǔn)確找到應(yīng)用系統(tǒng)漏洞,及時通知系統(tǒng)開發(fā)人員進(jìn)行整改修復(fù),做好網(wǎng)絡(luò)安全防護(hù)工作,進(jìn)一步保障系統(tǒng)安全穩(wěn)定運(yùn)行。

    1 研究思路

    1.1 概述

    目前針對Web 服務(wù)器指紋識別的主流研究主要通過分析大量HTML 數(shù)據(jù),包括HTML 源碼關(guān)鍵字和特殊文件及路徑,來識別Web 組件[1-2],探測以下幾個請求和返回信息進(jìn)行Web 應(yīng)用指紋判斷:網(wǎng)站響應(yīng)頭部信息(Response header)、HTML頁面內(nèi)META 標(biāo)簽信息、HTML 內(nèi)腳本語言信息(JavaScript,JS)、層疊樣式表(Cascading Style Sheets,CSS)等引用鏈接信息、特殊統(tǒng)一資源定位(Uniform Resource Locator,URL)地址及參數(shù)、特定文件名、文件內(nèi)容及文件的數(shù)字摘要(Hash 值)。

    主流的Web 指紋識別技術(shù)是基于特征匹配實(shí)現(xiàn)的,包括特殊靜態(tài)文件Hash 值和關(guān)鍵字段兩類特征。特殊靜態(tài)文件可以是js、css 文件,也可以是圖片、默認(rèn)圖標(biāo)favicon.ico 等。關(guān)鍵字段特征包括HTTP 響應(yīng)頭里的關(guān)鍵字段特征信息、正常或錯誤頁面里的關(guān)鍵字段特征、文件資源路徑里的關(guān)鍵字段特征。

    1.2 研究思路

    本文通過基于機(jī)器學(xué)習(xí)的應(yīng)用系統(tǒng)深度指紋識別技術(shù)及應(yīng)用的研究,實(shí)現(xiàn)了一種使用基于機(jī)器學(xué)習(xí)的自動化安全測試工具。該系統(tǒng)首先通過基于機(jī)器學(xué)習(xí)的數(shù)據(jù)對安裝在Web 服務(wù)器上的軟件(操作系統(tǒng)、中間件、框架、CMS 等)進(jìn)行標(biāo)識和深度識別;其次利用識別后的精確數(shù)據(jù),使用安全檢查工具(The Metasploit Framework,MSF)對標(biāo)識的軟件執(zhí)行有效的數(shù)據(jù)分析和安全測試;最后生成掃描結(jié)果報告。該系統(tǒng)自動執(zhí)行上述處理,如圖1 所示。

    圖1 系統(tǒng)處理步驟

    用戶的操作只輸入目標(biāo)Web 服務(wù)器的頂部URL(TOP UR),系統(tǒng)就自動爬取收集目標(biāo)服務(wù)器的數(shù)據(jù)信息,獲取域名信息,探測Web 應(yīng)用程序的目錄結(jié)構(gòu),識別Web 應(yīng)用程序的技術(shù)棧,發(fā)現(xiàn)敏感信息等。通過系統(tǒng)智能化分析,用戶可以在不花費(fèi)時間和精力的情況下自動識別Web 服務(wù)器的構(gòu)建特征信息、組件信息和脆弱性信息等。

    2 研究內(nèi)容及方法

    2.1 HTTP 信息收集爬蟲技術(shù)

    HTTP 信息收集爬蟲技術(shù)是一種利用HTTP 協(xié)議進(jìn)行信息收集和抓取的技術(shù)方法。它通過模擬HTTP 請求,訪問目標(biāo)網(wǎng)站的不同頁面,獲取網(wǎng)頁內(nèi)容并提取有用的信息。

    本文利用爬蟲技術(shù)收集目標(biāo)網(wǎng)站的HTTP 響應(yīng)報文包,在用戶輸入TOP URL 后,自動擴(kuò)展目標(biāo)網(wǎng)站資源、路徑鏈接,進(jìn)行原始響應(yīng)數(shù)據(jù)的爬取。信息收集爬蟲技術(shù)基本原理為:網(wǎng)絡(luò)爬蟲通過HTTP 鏈接輸入并向目標(biāo)站點(diǎn)發(fā)起請求,即發(fā)送一個Request 請求,請求數(shù)據(jù)可以包含Headers(附加信息)、Cookies 等信息,等待后臺的響應(yīng)。后臺正常接收并響應(yīng)返回一個Response 響應(yīng)數(shù)據(jù),響應(yīng)報文中的響應(yīng)體包含網(wǎng)頁信息,可能有HTML、文檔、圖片、視頻等資源文件或者JSON 數(shù)據(jù)等[3]。HTML解析可以使用網(wǎng)頁解析庫和正則表達(dá)式進(jìn)行處理。如果是JSON 的話,可以直接轉(zhuǎn)成JOSN 對象進(jìn)行解析。如果是其他資源文件,就先保存等待爬取完成后處理。爬蟲可以用不同種形式來存儲網(wǎng)頁信息、生成文本文檔,或者直接保存到數(shù)據(jù)庫。

    本文通過Scrapy 框架來實(shí)現(xiàn)信息收集爬蟲技術(shù)。Scrapy 是一個為了爬取網(wǎng)站內(nèi)容、提取結(jié)構(gòu)性數(shù)據(jù)而編寫的開源爬蟲應(yīng)用框架??梢赃\(yùn)用在數(shù)據(jù)挖掘、信息處理或者存儲歷史數(shù)據(jù)等一系列程序中。使用Scrapy 框架可以方便地自定義爬蟲的爬取規(guī)則,此外,還有很多穩(wěn)定的開源庫幫助本文進(jìn)行前置后續(xù)處理。

    HTTP 信息收集爬蟲技術(shù)的實(shí)現(xiàn)步驟如下:

    (1)確定目標(biāo)網(wǎng)站:首先需要確定要爬取的目標(biāo)網(wǎng)站,包括網(wǎng)站的URL 和要抓取的頁面。

    (2)構(gòu)建爬蟲程序:根據(jù)所選的編程語言和爬蟲框架,編寫爬蟲程序。爬蟲程序需要實(shí)現(xiàn)URL管理、HTTP 請求、頁面分析以及數(shù)據(jù)存儲等功能。

    (3)發(fā)送HTTP 請求:爬蟲根據(jù)URL 隊(duì)列中的待訪問URL,構(gòu)造HTTP 請求,并發(fā)送給目標(biāo)服務(wù)器。HTTP 請求中包含請求方法(GET、POST 等)、請求頭(headers)、請求體(body)等信息。

    (4)處理服務(wù)器響應(yīng):爬蟲接收到目標(biāo)服務(wù)器返回的HTTP 響應(yīng),并根據(jù)響應(yīng)的狀態(tài)碼和內(nèi)容進(jìn)行處理。常見的響應(yīng)狀態(tài)碼有200 表示成功,404 表示頁面不存在等。

    (5)頁面分析和信息提?。号老x對服務(wù)器返回的HTML 頁面進(jìn)行解析和分析,根據(jù)頁面分析技術(shù)提取出所需的信息,如文字、鏈接、圖片等。

    (6)數(shù)據(jù)存儲:將提取的信息進(jìn)行存儲,可以選擇合適的存儲方式,如文本文件、數(shù)據(jù)庫等。

    (7)循環(huán)迭代:根據(jù)需要,爬蟲可以設(shè)置循環(huán)迭代的邏輯,不斷發(fā)送HTTP 請求,抓取多個頁面的信息,還可以通過設(shè)置抓取深度、時間間隔等方式進(jìn)行控制。

    2.2 目標(biāo)指紋識別技術(shù)

    面向特定目標(biāo)的指紋識別技術(shù)主要利用基于字符串匹配的識別技術(shù)和基于機(jī)器學(xué)習(xí)的識別技術(shù),對前面的爬蟲收集的HTTP 響應(yīng)數(shù)據(jù)集進(jìn)行處理分析,從而識別目標(biāo)的深度指紋信息。

    2.2.1 基于字符串匹配識別

    (1)原理

    基于字符串匹配目標(biāo)指紋識別技術(shù)是一種通過字符串匹配來識別目標(biāo)的技術(shù)。它在文本、代碼、日志等數(shù)據(jù)中查找指定的字符串,從而實(shí)現(xiàn)目標(biāo)的定位和識別。

    基于字符串匹配的目標(biāo)指紋識別技術(shù)的原理主要包括以下幾個方面。

    ①字符串匹配算法:字符串匹配算法是基于目標(biāo)字符串和待搜索字符串之間的比較,從而確定是否存在匹配的子串。常見的字符串匹配算法包括暴力匹配法、KMP(Knuth-Morris-Pratt)算法、BM(Boyer-Moore)算法等。本文通過KMP 算法實(shí)現(xiàn)字符串匹配和目標(biāo)識別。

    ②目標(biāo)定義和關(guān)鍵詞提?。涸谑褂米址ヅ淠繕?biāo)識別技術(shù)之前,需要明確目標(biāo)的定義和關(guān)鍵詞的提取。目標(biāo)可以是一個特定的字符串,也可以是一組字符串的組合。關(guān)鍵詞提取是通過文本分析和數(shù)據(jù)挖掘技術(shù),從大量的文本數(shù)據(jù)中提取出與目標(biāo)相關(guān)的關(guān)鍵詞,用于目標(biāo)識別和匹配。

    ③輸入數(shù)據(jù)預(yù)處理:在進(jìn)行字符串匹配目標(biāo)識別之前,通常需要對輸入數(shù)據(jù)進(jìn)行預(yù)處理。這包括去除無關(guān)字符、轉(zhuǎn)換大小寫、分割文本等操作。預(yù)處理可以提高匹配效率和準(zhǔn)確性,減少干擾和誤判。

    ④匹配模式設(shè)計:匹配模式設(shè)計是指設(shè)計和實(shí)現(xiàn)匹配規(guī)則和模式,對目標(biāo)字符串進(jìn)行匹配。匹配模式可以是簡單的字符串匹配,也可以是模式匹配、正則表達(dá)式匹配等更復(fù)雜的匹配方法。根據(jù)目標(biāo)的特征和匹配的需求,選擇合適的匹配模式進(jìn)行目標(biāo)識別。

    ⑤目標(biāo)識別和處理:基于字符串匹配的目標(biāo)識別技術(shù)可以通過掃描輸入數(shù)據(jù),并根據(jù)預(yù)先定義好的匹配模式和關(guān)鍵詞,檢測出目標(biāo)的位置和存在。一旦識別出目標(biāo),就可以進(jìn)行后續(xù)的處理,如記錄日志、生成報告、觸發(fā)事件等。

    (2)實(shí)驗(yàn)驗(yàn)證

    爬蟲所爬取的數(shù)據(jù)如圖2 所示。通過字符串匹配可識別出為Drupal 的CMS 系統(tǒng),如圖3 所示。

    圖2 爬蟲數(shù)據(jù)

    圖3 字符串匹配識別

    2.2.2 基于機(jī)器學(xué)習(xí)的指紋識別

    (1)樸素貝葉斯算法原理

    貝葉斯算法主要用于對目標(biāo)進(jìn)行分類,其算法思想主要基于貝葉斯原理,關(guān)鍵在于計算各類值之間的數(shù)據(jù)聯(lián)合分布[4]。

    由于樸素貝葉斯是假定貝葉斯模型中的所有屬性都是相對獨(dú)立的,因此在屬性具有特定值的條件下,可以通過將所有屬性乘以具有特定類標(biāo)簽的概率來獲得類的概率值,是一種有監(jiān)督學(xué)習(xí)算法[5]。計算流程如下文所述。

    步驟1:計算特征值y被分類為xi類別的后驗(yàn)概率p(xi|y):

    式中:p(xi)和p(y)為xi和y特征值的先驗(yàn)概率。最大化p(y|xi)可以實(shí)現(xiàn)分類的目的。

    步驟2:已知HTTP 指紋特征y包含n維特征向量,則y可表示為y=(y1,y2,…,yn),結(jié)合公式(1)可知:

    步驟3:將公式(2)中的p(xi)和p(y1,y2,…,yn)看作常量,則可簡化為:

    式中:xf為指紋樣本y的分類結(jié)果。

    (2)特征選取

    指紋特征輸入到貝葉斯模型前,需要將響應(yīng)內(nèi)容從不同的特征維度進(jìn)行表示,以便貝葉斯模型能夠?qū)W習(xí)到響應(yīng)內(nèi)容的特征[6-7]。本文主要從響應(yīng)內(nèi)容的4 個特征維度進(jìn)行考量,具體特征維度如表1 所示。

    表1 選取的特征維度

    (3)歸一化

    HTTP 請求特征和URL 特征在數(shù)據(jù)分布區(qū)間上存在差異,容易導(dǎo)致模型訓(xùn)練不收斂,因此采用公式(4)對特征向量進(jìn)行歸一化:

    式中:y為歸一化后的特征元素;x為待歸一化的特征元素;xmax和xmin分別為特征元素的最大值和最小值。

    (4)算法流程

    步驟1:通過URL 地址發(fā)送請求,并獲取返回的響應(yīng)信息。

    步驟2:對響應(yīng)信息的3 個特征維度進(jìn)行特征編碼,并且對數(shù)據(jù)進(jìn)行歸一化處理。

    步驟3:將歸一化后的數(shù)據(jù)向量作為貝葉斯模型的輸入,輸出結(jié)果即為預(yù)測結(jié)果。

    預(yù)測流程如圖4 所示。

    圖4 預(yù)測流程

    (5)實(shí)驗(yàn)驗(yàn)證

    由 于Apache、Joomla !、Typeo、Drupal 等 每個軟件的特性都略有不同,將它們組合起來進(jìn)行識別。樸素貝葉斯利用訓(xùn)練數(shù)據(jù)學(xué)習(xí)。與簽名庫不同的是,當(dāng)無法在一個特性中識別軟件時,樸素貝葉斯是基于HTTP 響應(yīng)中包含的各種特性隨機(jī)識別的,如圖5 可以識別為CMS Joomla 系統(tǒng)。這是因?yàn)闄C(jī)器學(xué)習(xí)識別模塊學(xué)會了Joomla 的特征,例如“Cookie名稱(f00e6….9831e)”和“Cookie值(0eba9….7f587)”。在本文的數(shù)據(jù)分析中,Joomla 在許多情況下使用32個小寫字母作為Cookie 名稱和Cookie 值。訓(xùn)練數(shù)據(jù)如圖6 所示。

    圖5 響應(yīng)set-cookie 值

    圖6 訓(xùn)練數(shù)據(jù)

    基于機(jī)器學(xué)習(xí)指紋識別實(shí)驗(yàn)獲取的目標(biāo)數(shù)據(jù)如圖7 所示,包括產(chǎn)品名稱、產(chǎn)品版本、組件名、操作系統(tǒng)版本。

    圖7 基于機(jī)器學(xué)習(xí)的指紋識別數(shù)據(jù)結(jié)果

    2.3 目標(biāo)安全缺陷利用技術(shù)

    Metasploit是一個被廣泛使用的安全測試工具,它可以幫助安全專業(yè)人員發(fā)現(xiàn)和利用計算機(jī)系統(tǒng)中的安全漏洞。它擁有強(qiáng)大的功能和廣泛的支持,可以幫助用戶從安全測試者的角度來檢測和修復(fù)系統(tǒng)漏洞?;跈C(jī)器學(xué)習(xí)的指紋識別軟件在安全測試中的作用是識別目標(biāo)系統(tǒng)的運(yùn)行環(huán)境。通過分析系統(tǒng)的響應(yīng)和標(biāo)識信息,目標(biāo)指紋識別軟件可以確定目標(biāo)系統(tǒng)使用的操作系統(tǒng)、服務(wù)和軟件版本等重要信息。這些信息對于成功利用系統(tǒng)漏洞至關(guān)重要,因?yàn)椴煌牟僮飨到y(tǒng)和服務(wù)可能存在不同的漏洞。

    本文通過基于機(jī)器學(xué)習(xí)指紋識別軟件與Metasploit 工具配合執(zhí)行,檢查被測目標(biāo)是否受到漏洞的影響,來自動化實(shí)現(xiàn)目標(biāo)安全缺陷利用,如圖8 所示。

    圖8 應(yīng)用思路

    整體應(yīng)用思路過程如下文所述。

    (1)數(shù)據(jù)收集:機(jī)器學(xué)習(xí)指紋識別軟件通過掃描目標(biāo)系統(tǒng)收集關(guān)鍵特征數(shù)據(jù),如操作系統(tǒng)版本、軟件配置等。

    (2)特征提取和訓(xùn)練:收集到的特征數(shù)據(jù)被提供給機(jī)器學(xué)習(xí)算法進(jìn)行訓(xùn)練。這個訓(xùn)練過程會建立一個指紋庫,其中包含已知的漏洞特征和與之相應(yīng)的利用。

    (3)特征匹配:在執(zhí)行利用之前,使用指紋識別軟件對目標(biāo)系統(tǒng)進(jìn)行掃描,并提取目標(biāo)系統(tǒng)的特征;然后,與指紋庫中已知的漏洞特征進(jìn)行匹配,如果匹配成功,就意味著目標(biāo)系統(tǒng)可能存在與已知漏洞對應(yīng)的安全缺陷。

    (4)目標(biāo)缺陷利用:機(jī)器學(xué)習(xí)指紋識別軟件通過Metasploit 框架的遠(yuǎn)程過程調(diào)用(Remote Procedure Call,RPC)服務(wù)與Metasploit 工具進(jìn)行通信連接,實(shí)現(xiàn)安全測試流程自動化。一旦匹配到目標(biāo)系統(tǒng)的漏洞,Metasploit 框架可以根據(jù)匹配結(jié)果自動選擇相應(yīng)的漏洞利用模塊進(jìn)行測試。這樣,目標(biāo)缺陷利用的過程可以自動化和精確地執(zhí)行。

    將Metasploit 和基于機(jī)器學(xué)習(xí)的指紋識別軟件結(jié)合使用,可以提高安全測試的效率和成功率。首先,Metasploit 通過使用模塊來實(shí)現(xiàn)對目標(biāo)系統(tǒng)的漏洞利用。Metasploit 擁有大量的模塊,包括掃描器、漏洞利用器、Payload 生成器等。用戶可以根據(jù)目標(biāo)系統(tǒng)的特點(diǎn)選擇相應(yīng)的模塊進(jìn)行測試和利用。其次,Metasploit 可以根據(jù)目標(biāo)指紋識別軟件提供的信息選擇適當(dāng)?shù)哪K進(jìn)行漏洞測試和利用。例如,如果目標(biāo)系統(tǒng)被識別為運(yùn)行著一個特定版本的Web服務(wù)器軟件,Metasploit 可以選擇相應(yīng)的漏洞利用模塊來檢測和利用該軟件版本的安全漏洞。同樣重要的是,Metasploit 還可以使用Payload 生成器來生成定制的載荷。用戶可以根據(jù)目標(biāo)系統(tǒng)的特點(diǎn)選擇合適的Payload 生成器來生成特定的載荷,以實(shí)現(xiàn)對目標(biāo)系統(tǒng)的完全控制。

    目標(biāo)安全缺陷利用驗(yàn)證效果見圖9。

    圖9 目標(biāo)安全缺陷驗(yàn)證效果

    綜上所述,這種結(jié)合使用的目標(biāo)安全缺陷利用方法可以幫助安全測試人員更準(zhǔn)確、高效地對目標(biāo)系統(tǒng)進(jìn)行評估和測試。

    3 結(jié)語

    基于機(jī)器學(xué)習(xí)的應(yīng)用系統(tǒng)深度指紋識別技術(shù)是面向信息安全測試領(lǐng)域的智能安全測試技術(shù)。本文在深入研究信息收集爬蟲技術(shù)和基于機(jī)器識別的指紋識別技術(shù)的基礎(chǔ)上,實(shí)現(xiàn)了相關(guān)功能模塊,結(jié)合基于Metasploit 的目標(biāo)安全缺陷利用實(shí)現(xiàn),進(jìn)行實(shí)網(wǎng)目標(biāo)測試實(shí)驗(yàn),提高了互聯(lián)網(wǎng)目標(biāo)安全測試的效率和成功率,且實(shí)驗(yàn)驗(yàn)證結(jié)果符合預(yù)期。

    出国| 洮南市| 闽清县| 博兴县| 浠水县| 营口市| 靖远县| 泾川县| 南昌县| 白沙| 丹寨县| 泰州市| 乐东| 措勤县| 依安县| 徐闻县| 宽甸| 宜兴市| 西华县| 泸州市| 石河子市| 扬中市| 乌兰县| 宣武区| 东阿县| 鄯善县| 平定县| 太和县| 阳新县| 汉川市| 德保县| 三台县| 海原县| 瑞金市| 宜章县| 松滋市| 岗巴县| 当雄县| 罗山县| 景德镇市| 通州市|