【《基于強(qiáng)化學(xué)習(xí)的蜜網(wǎng)架構(gòu)概述》12000字】_第1頁
【《基于強(qiáng)化學(xué)習(xí)的蜜網(wǎng)架構(gòu)概述》12000字】_第2頁
【《基于強(qiáng)化學(xué)習(xí)的蜜網(wǎng)架構(gòu)概述》12000字】_第3頁
【《基于強(qiáng)化學(xué)習(xí)的蜜網(wǎng)架構(gòu)概述》12000字】_第4頁
【《基于強(qiáng)化學(xué)習(xí)的蜜網(wǎng)架構(gòu)概述》12000字】_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于強(qiáng)化學(xué)習(xí)的蜜網(wǎng)架構(gòu)概述目錄TOC\o"1-3"\h\u27867基于強(qiáng)化學(xué)習(xí)的蜜網(wǎng)架構(gòu)概述 I314891.1分階段響應(yīng)式蜜網(wǎng)整體架構(gòu) I165281.2基于可信度推理的攻擊連接分類 IV115341.2.1攻擊連接分類的知識(shí)庫建立 IV185631.2.2攻擊連接分類的推理機(jī)制 VII189541.2.3攻擊連接的透明重定向 X96491.3基于Q-learning的自適應(yīng)蜜罐 XI77331.3.1自適應(yīng)蜜罐決策模型的建立 XII198901.3.2基于強(qiáng)化學(xué)習(xí)的自適應(yīng)蜜罐決策算法 XVI分階段響應(yīng)式蜜網(wǎng)整體架構(gòu)傳統(tǒng)蜜網(wǎng)在面臨惡意網(wǎng)絡(luò)攻擊時(shí),通常作為一個(gè)整體對(duì)攻擊進(jìn)行響應(yīng),由此產(chǎn)生的直接結(jié)果是蜜網(wǎng)收集的各種攻擊日志數(shù)量巨大且不分類地混雜在一起,不利于針對(duì)某一類攻擊行為進(jìn)行分析和研究,加重研究人員的分析工作和分析難度。針對(duì)這一缺點(diǎn),本文提出了分階段響應(yīng)的蜜網(wǎng)架構(gòu),對(duì)網(wǎng)絡(luò)攻擊進(jìn)行階段劃分,根據(jù)網(wǎng)絡(luò)攻擊目前的階段來分模塊對(duì)其進(jìn)行響應(yīng)。分階段響應(yīng)對(duì)網(wǎng)絡(luò)攻擊整個(gè)過程進(jìn)行解耦,可以更好地響應(yīng)和分析某個(gè)類型的網(wǎng)絡(luò)攻擊,同時(shí)也簡化了蜜網(wǎng)的部署。同時(shí),蜜網(wǎng)分階段的響應(yīng)策略能夠?qū)粽哌M(jìn)行全方位的捕獲,逐層遞進(jìn)地了解攻擊者的行為。蜜網(wǎng)要對(duì)網(wǎng)絡(luò)攻擊分階段進(jìn)行響應(yīng),前提是需要將網(wǎng)絡(luò)攻擊劃分成不同的階段。洛克希德·馬丁的計(jì)算機(jī)事件響應(yīng)小組提出了網(wǎng)絡(luò)攻擊鏈[44],許多研究采用該攻擊鏈模型用于描述攻擊過程[45]。網(wǎng)絡(luò)攻擊鏈將攻擊劃分為7個(gè)階段,分別是目標(biāo)偵察、武器化、交付、漏洞利用、安裝、命令和控制、行動(dòng)。MIT的Okhravi等[46]提出了一種多階段攻擊模型,將網(wǎng)絡(luò)攻擊劃分目標(biāo)偵察、信息獲取、漏洞利用開發(fā)、發(fā)起攻擊和持續(xù)這5個(gè)階段。上述兩種常見的攻擊階段劃分對(duì)于蜜網(wǎng)而言過于細(xì)化,容易造成功能的重復(fù)從而減少針對(duì)性,同時(shí)也會(huì)造成一定程度的資源浪費(fèi)。本文根據(jù)蜜網(wǎng)的結(jié)構(gòu)和不同類型蜜罐的特性,將網(wǎng)絡(luò)攻擊劃分為三個(gè)階段,分別是攻擊的準(zhǔn)備階段、實(shí)施階段和后續(xù)階段。攻擊的準(zhǔn)備階段是攻擊者確定攻擊的目標(biāo)和目的,收集目標(biāo)主機(jī)的相關(guān)信息例如開放的端口、運(yùn)行的服務(wù)、支持的協(xié)議等,最具代表性的攻擊方式為拓?fù)鋻呙?。攻擊的?shí)施階段是發(fā)起具體惡意行為,攻擊者在前一階段的基礎(chǔ)上建立SSH連接,做出進(jìn)一步攻擊例如對(duì)目標(biāo)主機(jī)進(jìn)行權(quán)限提升、漏洞利用、下載惡意軟件等。攻擊的后續(xù)階段指是針對(duì)當(dāng)前目標(biāo)主機(jī)的攻擊行為完成后,掩蓋活動(dòng)行跡,以備下次再次進(jìn)入目標(biāo)主機(jī),甚至擴(kuò)大攻擊范圍,利用已被控制的主機(jī)作為跳板,發(fā)動(dòng)對(duì)其他目標(biāo)主機(jī)的攻擊。針對(duì)上述網(wǎng)絡(luò)攻擊階段的劃分和蜜網(wǎng)中不同類型蜜罐的特性,本文提出的分階段響應(yīng)式蜜網(wǎng)系統(tǒng)分為三個(gè)階段來響應(yīng)攻擊者。對(duì)于攻擊的準(zhǔn)備階段,蜜網(wǎng)系統(tǒng)包含了實(shí)時(shí)的拓?fù)淠M、端口映射、流量轉(zhuǎn)發(fā)等功能,并且定義了一系列可供訪問的端口,這些端口與真實(shí)的系統(tǒng)一一對(duì)應(yīng)。當(dāng)攻擊者向蜜網(wǎng)發(fā)起SSH連接請(qǐng)求時(shí),攻擊從準(zhǔn)備階段過渡到實(shí)施階段。由于目前大部分的網(wǎng)絡(luò)攻擊是攻擊者利用攻擊工具、惡意軟件、僵尸網(wǎng)絡(luò)等采取的自動(dòng)化攻擊,本蜜網(wǎng)系統(tǒng)支持對(duì)攻擊進(jìn)行分類,識(shí)別自動(dòng)化攻擊和人為攻擊。蜜網(wǎng)首先對(duì)攻擊者發(fā)起的SSH連接進(jìn)行解析,根據(jù)相關(guān)特性數(shù)據(jù)和自定義的推理規(guī)則建立攻擊連接分類的推理知識(shí)庫,再根據(jù)可信度理論推理判斷出攻擊連接的類型。根據(jù)分類結(jié)果,蜜網(wǎng)對(duì)其進(jìn)行針對(duì)性響應(yīng)。對(duì)于攻擊的后續(xù)階段,蜜網(wǎng)系統(tǒng)在誘騙攻擊者的同時(shí)需要保證業(yè)務(wù)網(wǎng)絡(luò)的安全。分階段響應(yīng)式蜜網(wǎng)架構(gòu)圖如下圖所示:圖3-1分階段響應(yīng)式蜜網(wǎng)架構(gòu)圖對(duì)于攻擊的準(zhǔn)備階段,蜜網(wǎng)主要由低交互蜜罐進(jìn)行響應(yīng)。該階段支持對(duì)ICMP協(xié)議、TCP協(xié)議、UDP協(xié)議等的模擬,同時(shí)支持對(duì)端口掃描的模擬。根據(jù)當(dāng)前真實(shí)的網(wǎng)絡(luò)環(huán)境,模擬出與真實(shí)環(huán)境高度相似的網(wǎng)絡(luò)環(huán)境。同時(shí),該功能支持蜜罐的一對(duì)多映射,可以生成多個(gè)具有虛擬IP的蜜罐節(jié)點(diǎn),擴(kuò)大了虛擬拓?fù)涞囊?guī)模同時(shí)簡化了蜜網(wǎng)部署,提高了蜜網(wǎng)的誘騙性。對(duì)于攻擊的實(shí)施階段,蜜網(wǎng)主要由中交互蜜罐和高交互蜜罐進(jìn)行響應(yīng)。首先,蜜網(wǎng)先對(duì)攻擊連接進(jìn)行分類,蜜網(wǎng)采用了基于可信度推理的攻擊連接分類策略,將攻擊連接分為自動(dòng)化攻擊和人為攻擊。自動(dòng)化攻擊大多為來自僵尸網(wǎng)絡(luò)或者惡意軟件發(fā)起的簡單的、連續(xù)重復(fù)的預(yù)定義命令攻擊,中交互蜜罐足以應(yīng)對(duì)。而人為攻擊則是由富有經(jīng)驗(yàn)的黑客實(shí)施的,攻擊者有可能識(shí)別中交互蜜罐從而斷開連接,需要使用高交互蜜罐提供真實(shí)的系統(tǒng)環(huán)境。如果是自動(dòng)化攻擊,SSH連接重定向到中交互蜜罐;如果是人為攻擊,SSH連接則重定向到高交互蜜罐。其中,中交互蜜罐為基于強(qiáng)化學(xué)習(xí)的自適應(yīng)蜜罐,較傳統(tǒng)的中交互蜜罐,自適應(yīng)蜜罐具有更佳的攻擊數(shù)據(jù)捕獲能力。根據(jù)強(qiáng)化學(xué)習(xí)生成的交互策略,自適應(yīng)蜜罐在響應(yīng)自動(dòng)化攻擊時(shí)能最大程度地捕獲攻擊信息。高交互蜜罐提供真實(shí)的操作系統(tǒng)和服務(wù),因其真實(shí)性,高交互蜜罐的誘騙程度和交互程度遠(yuǎn)遠(yuǎn)高于其他蜜罐,能夠從容響應(yīng)人為攻擊,從而提高蜜網(wǎng)的甜度。通常自動(dòng)化的攻擊不包括攻擊的后續(xù)階段,后續(xù)階段大多屬于人為攻擊,因此,對(duì)于攻擊的后續(xù)階段,蜜網(wǎng)主要由高交互蜜罐進(jìn)行響應(yīng)。根據(jù)以上的分析可以看出,蜜網(wǎng)系統(tǒng)工作的核心集中在攻擊的實(shí)施階段,此部分包括兩個(gè)關(guān)鍵技術(shù),基于可信度推理的攻擊連接分類和基于強(qiáng)化學(xué)習(xí)的自適應(yīng)蜜罐,下面將分別對(duì)其進(jìn)行介紹?;诳尚哦韧评淼墓暨B接分類在攻擊流量經(jīng)過攻擊準(zhǔn)備階段到達(dá)攻擊實(shí)施階段時(shí),本文提出了基于可信度推理的攻擊連接分類策略,其含義是將SSH攻擊來源分為兩類:自動(dòng)化攻擊和人為攻擊。自動(dòng)化攻擊大多為來自僵尸網(wǎng)絡(luò)或者惡意軟件發(fā)起的簡單的、連續(xù)重復(fù)的預(yù)定義命令攻擊,自適應(yīng)蜜罐足以應(yīng)對(duì)。而人為攻擊則是由富有經(jīng)驗(yàn)的黑客實(shí)施的,攻擊者有可能識(shí)別自適應(yīng)蜜罐從而斷開連接,需要使用高交互蜜罐提供真實(shí)的系統(tǒng)環(huán)境。攻擊連接的分類有利于針對(duì)不同攻擊智能化響應(yīng),合理分配資源的同時(shí)更長時(shí)間地觀察攻擊者行為,分類收集數(shù)據(jù)。攻擊連接分類的知識(shí)庫建立本文提出的攻擊連接分類是根據(jù)SSH會(huì)話的相關(guān)特性例如IP地址信譽(yù)、會(huì)話過程中下載的惡意軟件、攻擊者輸入命令時(shí)間等作為推理的知識(shí),基于可信度推理對(duì)知識(shí)進(jìn)行數(shù)值化表述從而推出最終結(jié)論。本文使用的是IF-THEN類型的規(guī)則,在可信度推理模型中,知識(shí)庫由產(chǎn)生式規(guī)則組成。IF-THEN規(guī)則中IF部分屬于假設(shè),也就是前提證據(jù),通常用證據(jù)E表示,例如“該IP地址的信譽(yù)很差”。規(guī)則中THEN部分屬于假說,也就是知識(shí)的結(jié)論H,例如根據(jù)上述的證據(jù)造成的結(jié)論為“攻擊連接將被重定向到自適應(yīng)蜜罐中”。規(guī)則除了上述兩個(gè)部分外,通常還包括WITH部分,用于指定規(guī)則的MB或者M(jìn)D值。在本文中,SSH攻擊類型分為自動(dòng)化攻擊和人為攻擊,因此,可信度推理模型用于評(píng)估兩個(gè)結(jié)論:H1:會(huì)話應(yīng)該重定向到自適應(yīng)蜜罐(攻擊屬于自動(dòng)化攻擊)。H2:會(huì)話應(yīng)該重定向到高交互蜜罐(攻擊屬于人為攻擊)。用于評(píng)估上述兩個(gè)結(jié)論的推理知識(shí)基于SSH會(huì)話的相關(guān)特性組成,由于這些知識(shí)的先驗(yàn)概率和條件概率很難得知,知識(shí)的可信度CF值難以計(jì)算,因此本文直接給出知識(shí)的CF值、其信任增長度MB和不信任增長度MD。用于評(píng)估結(jié)論H1的具體推理知識(shí)和其相關(guān)參數(shù)數(shù)值如下表所示:表3-1H1的推理知識(shí)庫IFTHENWITHCF取值范圍具體說明E1H10.8[0,1]IP地址有負(fù)面信譽(yù)。聲譽(yù)值來自ReputationA,其取值范圍為0,1,數(shù)值越大信譽(yù)越差。在本文中數(shù)值簡化為0,0.5范圍的取值為0,(0.5,1]的取值映射到0,1。例如0.3為0,0.7為0.4。E2aH10.5[0,1]檢查在本次會(huì)話中,該IP地址是否反復(fù)訪問蜜罐。根據(jù)訪問的次數(shù),每增加一次,數(shù)值增加0.1,最大值為1。E2bH1-0.20或1該IP地址是否首次訪問蜜罐。如果是首次訪問,數(shù)值為1,否則為0。E3H10.6[0,1]檢查蜜罐是否檢測(cè)到來標(biāo)準(zhǔn)服務(wù)正在監(jiān)聽的IP地址的連接,例如22、80、443端口等。每增加一個(gè)標(biāo)準(zhǔn)服務(wù)數(shù)據(jù)增加0.2,最大值為1。E4H10.20或1如果蜜罐檢測(cè)到來自某個(gè)國家的IP地址的通信,該國家屬于自動(dòng)攻擊記錄數(shù)量最高的國家,則該值設(shè)置為1,否則為0。E5H10.20或1如果建立連接的客戶端沒有定義的termsize,因此它不是由用戶在窗口中運(yùn)行的,則該值被設(shè)置為1。E6H10.40或1如果建立連接的客戶端是僵尸網(wǎng)絡(luò)通常使用的客戶端之一,如LibSSH,則該值設(shè)置為1,否則為0。E7aH10.7[0,1]根據(jù)以往的研究和經(jīng)驗(yàn),如果使用典型的僵尸網(wǎng)絡(luò)攻擊的命令,每增加一條命令數(shù)值增加0.1,最大值為1。E7bH10.5[0,1]評(píng)估會(huì)話中輸入的命令數(shù)量。如果命令由操作符(如||或&&)連接,則復(fù)合命令中的每個(gè)命令都單獨(dú)計(jì)數(shù)。如果有60個(gè)命令,則該值設(shè)置為1。在范圍[20,59],第20個(gè)以上的每個(gè)命令將該值加0.025。如果命令少于20個(gè),則該值設(shè)置為0。E7cH10.5[0,1]評(píng)估會(huì)話中輸入的命令數(shù)量。如果輸入了15個(gè)或更多相同的命令,則該值設(shè)置為1。在[4,14]范圍中,第4個(gè)以上的每個(gè)相同命令都將該值加0.1,最大值為1。E8H10.6[0,1]檢查攻擊者是否下載了一個(gè)文件,該文件經(jīng)VirusT測(cè)試后,被五種以上的反病毒軟件標(biāo)記為惡意軟件。如果有5到25種對(duì)其進(jìn)行了標(biāo)記,則每超過5種,該值就會(huì)增加0.04。如果一個(gè)標(biāo)記了它,則值為0.7,如果兩個(gè)標(biāo)記了它,則值為0.5,最大值為1。E9H10.7[0,1]評(píng)估從會(huì)話開始時(shí)輸入命令的次數(shù)。它通過將SSH會(huì)話的長度除以命令的數(shù)量來計(jì)算每個(gè)輸入命令的平均時(shí)間。如果平均時(shí)間小于1.5秒,則該值設(shè)置為1。如果時(shí)間在[1.5,2.5]范圍,1.5處的初始值設(shè)為0.9,每十分之一秒從該值中減去0.1。超過2.5秒,該值為0。E10H10.90或1如果所有的命令都是在一秒鐘內(nèi)輸入的,則大概率為自動(dòng)化攻擊,因此該值為1。用于評(píng)估結(jié)論H2的具體推理知識(shí)和其相關(guān)參數(shù)數(shù)值如下表所示:表3-2H2的推理知識(shí)庫IFTHENWITHCF取值范圍具體說明E1H20.30,1IP地址具有正面信譽(yù)。信譽(yù)值的具體表示和計(jì)算同上表。該證據(jù)使用相同的值。E2aH20.10或1該IP地址是否首次訪問蜜罐。如果是首次訪問,數(shù)值為1,否則為0。E2bH2-0.50,1檢查在本次會(huì)話中,該IP地址是否反復(fù)訪問蜜罐。根據(jù)訪問的次數(shù),每增加一次,數(shù)值增加0.1,最大值為1。E3aH20.30,1檢查蜜罐是否檢測(cè)到來自沒有服務(wù)正在監(jiān)聽的IP地址的連接,意味著該IP地址所在的主機(jī)沒有端口打開,或者沒有非標(biāo)準(zhǔn)服務(wù)(高端口號(hào))正在運(yùn)行。端口查詢通過Shodan搜索引擎工具來完成。如果沒有任何服務(wù),值為0.1,每增加一個(gè)非標(biāo)準(zhǔn)服務(wù),數(shù)值增加0.1,最大值為1。E3bH20.10,1檢查蜜罐是否檢測(cè)到來自標(biāo)準(zhǔn)服務(wù)正在監(jiān)聽的IP地址的連接,例如22、80、443端口等。同時(shí)至少存在一個(gè)非標(biāo)準(zhǔn)服務(wù)正在監(jiān)聽,每增加一個(gè)標(biāo)準(zhǔn)服務(wù)數(shù)據(jù)增加0.1,最大值為1。E4H20.20或1如果蜜罐檢測(cè)到來自某個(gè)國家的IP地址的連接,而該國家不屬于自動(dòng)攻擊記錄數(shù)量最高的國家,則將數(shù)值設(shè)置為1,否則為0。E5H20.20或1如果建立連接的客戶端有自定義的termsize(終端窗口大小),意味著該用戶已經(jīng)在窗口中打開了客戶端,則將數(shù)值設(shè)置為1,否則為0。E6H20.30或1如果建立連接的客戶端時(shí)攻擊者常用的客戶端之一,例如Putty或OpenSSH,則將數(shù)值設(shè)置為1,否則為0。E7aH20.7[0,1]根據(jù)以往的研究和經(jīng)驗(yàn),如果攻擊者使用的命令是典型的人為攻擊者或者是復(fù)雜的惡意軟件,則每增加一條命令,數(shù)值增加0.1,最大值為1。E7bH20.5[0,1]評(píng)估攻擊者在會(huì)話中輸入的唯一命令的數(shù)量。如果命令是由操作符(||,&&等)組合而成的復(fù)合命令,每個(gè)命令是單獨(dú)計(jì)算的。每增加一條唯一命令,數(shù)值增加0.1,最大值為1。E7cH2-0.90或1如果SSH客戶端只發(fā)送了一個(gè)輸入,并且該客戶端屬于僵尸網(wǎng)絡(luò)常用的客戶端,則將數(shù)值設(shè)置為1,否則為0。該規(guī)則基于觀察僵尸網(wǎng)絡(luò)行為的經(jīng)驗(yàn)。E8aH20.40或1如果攻擊者下載的文件在VirusT測(cè)試時(shí)未被任何反病毒軟件標(biāo)記為惡意軟件,則該值設(shè)置為1,否則為0。E8bH20.3[0,1]檢查攻擊者是否下載了一個(gè)文件,該文件經(jīng)VirusT測(cè)試后,被不到三種反病毒軟件標(biāo)記為惡意軟件。如果沒有標(biāo)記,則該值設(shè)置為0。如果一個(gè)標(biāo)記了它,則值為0.7,如果兩個(gè)標(biāo)記了它,則值為0.5。E8cH2-0.5[0.3,1]檢查攻擊者是否下載了一個(gè)被VirusT測(cè)試時(shí)被兩個(gè)以上的反病毒軟件標(biāo)記為惡意軟件的文件。從三次檢測(cè)的值開始,每增加一次數(shù)值增加0.1,最大值為1。E9H20.4[0,1]評(píng)估從會(huì)話開始時(shí)攻擊者輸入命令的次數(shù)。它通過將SSH會(huì)話的長度除以命令的數(shù)量來計(jì)算每個(gè)輸入命令的平均時(shí)間。如果平均時(shí)間高于3.5秒,則表示為人為攻擊,該值設(shè)置為1。如果時(shí)間在[2.5,3.5]范圍內(nèi),每十分之一秒加0.1的值。2.5秒以下表示自動(dòng)化攻擊,因此該值為0。E10H20.70或1通過檢查是否檢測(cè)到人為特定的鍵盤敲擊來評(píng)估攻擊是否是人為攻擊。這些鍵是方向箭頭、刪除和退格鍵。如果檢測(cè)到,則將數(shù)值設(shè)置為1,否則為0。攻擊連接分類的推理機(jī)制可信度推理模型的實(shí)質(zhì)是從具有不確定性的初始證據(jù)開始,一步一步運(yùn)用相關(guān)的不確定性知識(shí)推出最終結(jié)論和其可信度的過程。每次使用不確定性知識(shí)推出結(jié)論的過程中,都需要通過前提證據(jù)的不確定性和知識(shí)的不確定性去計(jì)算結(jié)論的不確定性也就是結(jié)論的可信度。CF(3-1)因CFH,E>0時(shí),CFH,因此,結(jié)論可信度計(jì)算的公式可變?yōu)椋篊F(3-2)本文在攻擊連接分類的推理過程中,根據(jù)上一節(jié)中給出的規(guī)則也就是推理的知識(shí),以及知識(shí)相關(guān)的可信度和信任增長度M,通過上述公式可計(jì)算得出兩個(gè)結(jié)論H1和H2的最終CF值。對(duì)于結(jié)論H1和H2,結(jié)論總體可信度表示為CFH,E1&E2&…&En。如果CFH1的值高于CFH2M(3-3)結(jié)論總體可信度CFH,E1&E2&…&EnCF(3-4)f(3-5)在推理過程中,當(dāng)推理知識(shí)多于兩條時(shí),先計(jì)算前兩條知識(shí)的可信度形成一條新的組合知識(shí),再和下一條知識(shí)進(jìn)行推理,一次向下繼續(xù)推理,直至使用完所有的推理知識(shí)得到最終的結(jié)論總體可信度。即:CF(3-6)CF(3-7)……CFH,E1&E2&…&En其中,基于單條知識(shí)評(píng)估某個(gè)結(jié)論的可信度CF值根據(jù)3.2.1中表3-1和3-2知識(shí)庫中的相關(guān)規(guī)則和參數(shù)值直接計(jì)算得到,之后再依據(jù)上述公式計(jì)算某個(gè)結(jié)論的總體可信度CF。綜上所述,攻擊連接分類的推理機(jī)制流程如下圖所示:圖3-2攻擊連接分類的推理機(jī)制流程推理的基礎(chǔ)是獲取SSH會(huì)話的相關(guān)特性,即解析會(huì)話獲取相關(guān)的屬性數(shù)據(jù)。例如,根據(jù)ReputationA評(píng)估得出當(dāng)前攻擊者發(fā)起SSH會(huì)話請(qǐng)求的IP地址的信譽(yù)值為0.7,說明該IP地址具有負(fù)面信譽(yù),依據(jù)表3-1的規(guī)則計(jì)算得到對(duì)于IP地址信譽(yù)值這條知識(shí)E1的CF值為0.4。在獲取推理相關(guān)的屬性數(shù)據(jù)后,按照表3-1和3-2計(jì)算得出評(píng)估兩個(gè)結(jié)論的每一條知識(shí)的可信度CF值,為之后計(jì)算結(jié)論的總體可信度建立基礎(chǔ)。之后,再根據(jù)每條知識(shí)的CF值、M值和上述的推理計(jì)算公式,推理得到最終結(jié)論。攻擊連接分類的推理機(jī)制算法如下:算法3.1攻擊連接分類的推理機(jī)制算法輸入:SSH連接session輸出:攻擊連接推理結(jié)論H1.解析SSH會(huì)話。SSH代理接收會(huì)話連接session,通過解析會(huì)話連接屬性獲取session的會(huì)話標(biāo)識(shí)、IP地址、SSH客戶端別名、終端窗口大小、輸入命令、命令輸入時(shí)間、命令輸入數(shù)量、嘗試連接時(shí)使用的密碼。2.計(jì)算結(jié)論H1、H2對(duì)應(yīng)的知識(shí)CF值。首先,獲取評(píng)估結(jié)論H1對(duì)應(yīng)的知識(shí)集合和評(píng)估結(jié)論H2對(duì)應(yīng)的知識(shí)集合。接著,根據(jù)定義的知識(shí)庫的規(guī)則,計(jì)算Evidence1和Evidence2中每條知識(shí)的M值。最后,根據(jù)可信度計(jì)算的公式計(jì)算Evidence1和Evidence2中每條知識(shí)的CF值。3.計(jì)算結(jié)論H1的總體CF值。首先,根據(jù)多條知識(shí)計(jì)算結(jié)論可信度的公式和單條知識(shí)E1-1、E1-2的CF值計(jì)算兩條知識(shí)的聯(lián)合可信度值CF(H1,E1-1&E1-2)得到新的可信度值CF1。接著,再次依據(jù)多條知識(shí)計(jì)算結(jié)論可信度的公式和單條知識(shí)E1-3的CF值和聯(lián)合可信度值CF1計(jì)算三條知識(shí)的知識(shí)的聯(lián)合可信度值CF(H1,E1-1&E1-2&E1-3)得到新的可信度值CF2。然后,知識(shí)不斷累加,直到迭代完知識(shí)集合Evidence1中所有的知識(shí),計(jì)算得到評(píng)估結(jié)論H1的總體CF值。4.計(jì)算結(jié)論H2的總體CF值。計(jì)算過程同H1的計(jì)算,知識(shí)合集使用Evidence2。5.比較H1和H2的總體CF值。如果結(jié)論H1的總體CF值大于結(jié)論H2的總體CF值,則說明結(jié)論H1的可信度高于結(jié)論H2,推理結(jié)果為H1;如果結(jié)論H1的總體CF值小于結(jié)論H2的總體CF值,則說明結(jié)論H1的可信度低于結(jié)論H2,推理結(jié)果為H2。6.得出最終推理結(jié)論H。攻擊連接的透明重定向依據(jù)可信度理論對(duì)攻擊連接分類后,SSH會(huì)話需要重定向到對(duì)應(yīng)的蜜罐,自動(dòng)化攻擊重定向到自適應(yīng)蜜罐,人為攻擊重定向到高交互蜜罐。為了使蜜網(wǎng)有效工作,攻擊連接的重定向需要屏蔽攻擊者,使得攻擊者無法感知交互對(duì)象的變動(dòng)。本文采用SSH代理對(duì)SSH會(huì)話進(jìn)行管理和重定向。SSH代理對(duì)攻擊者和蜜罐雙方交換的所有網(wǎng)絡(luò)流量進(jìn)行解密和重新加密,記錄和過濾攔截器發(fā)送的命令及其輸出。對(duì)于SSH代理,前人的研究大多集中在基于SSH協(xié)議的多種Python實(shí)現(xiàn),例如集成Twisted框架[47]。組織CZ.INC創(chuàng)建了HaaS-proxy項(xiàng)目[48],該項(xiàng)目中HaaS代理應(yīng)用程序?qū)亩丝?2(SSH協(xié)議)傳入的流量轉(zhuǎn)發(fā)到HaaS服務(wù)器,其中Cowriehoneypot模擬設(shè)備記錄被執(zhí)行的命令,可以更好地觀察通過SSH或Paramiko帶來的威脅。SSH協(xié)議的多種實(shí)現(xiàn)方式都符合RFC文檔的規(guī)定,但是容易被攻擊者識(shí)別從而發(fā)現(xiàn)蜜罐的存在。當(dāng)實(shí)現(xiàn)攻擊連接透明重定向時(shí),本文的SSH代理需要解決以下兩個(gè)問題:(1)如何將SSH客戶端的實(shí)例重定向到另一臺(tái)蜜罐主機(jī)。(2)如何讓攻擊者意識(shí)不到重定向。針對(duì)客戶端實(shí)例的重定向,本文的SSH代理通過execve()函數(shù)用不同的命令行參數(shù)重新啟動(dòng)SSH實(shí)例。由于SSH客戶端依賴文件描述符來與攻擊者通信,寫入stdout或stderr的數(shù)據(jù)被發(fā)送給攻擊者,從stdin讀取的數(shù)據(jù)由SSH實(shí)例接收。根據(jù)執(zhí)行操作中保存的文件描述符,SSH代理能夠重新啟動(dòng)SSH實(shí)例。SSH客戶端的重新啟動(dòng)會(huì)建立到目標(biāo)服務(wù)器的新連接。這意味著客戶端和服務(wù)器都試圖向攻擊者發(fā)送一些額外的數(shù)據(jù),即:a.將目標(biāo)服務(wù)器的主機(jī)密鑰添加到已知主機(jī)的信息。b.輸入用戶名的提示。c.輸入密碼的提示。d.MOTD(成功連接后的歡迎界面)e.上次登錄信息。f.初始化shell提示符,通常采用user@hostname形式。消除攻擊連接重定向帶來的額外數(shù)據(jù)是解決攻擊者無感知問題的關(guān)鍵。本文的SSH代理禁止提示輸入用戶名和密碼,以及通知攻擊者服務(wù)器主機(jī)密鑰已添加到已知主機(jī)的文本。同時(shí),SSH代理通過使用啟發(fā)式算法抑制在會(huì)話期間的所有其他輸出。當(dāng)重定向發(fā)生并且成功建立到目標(biāo)的連接(包括成功的身份驗(yàn)證)時(shí),發(fā)送給攻擊者的所有數(shù)據(jù)都會(huì)被阻止,直到檢測(cè)到來自攻擊者的新輸入。由于MOTD,最后的登錄信息和shell提示在用戶登錄后快速發(fā)送,攻擊者在序列結(jié)束前不允許發(fā)送任何命令。除此之外,會(huì)話在被重定向之前,攻擊者可能會(huì)執(zhí)行改變機(jī)器狀態(tài)的命令,例如下載文件、創(chuàng)建目錄、改變當(dāng)前目錄等,這些命令導(dǎo)致的提示符的變化在整個(gè)會(huì)話期間一直存在。因此,在攻擊者連接到自適應(yīng)蜜罐實(shí)例后,SSH代理需要記錄攻擊者的所有輸入,并在檢測(cè)到其shell提示后將它們重放給重定向目標(biāo),使得重定向后的SSH服務(wù)器也就是蜜罐的歷史記錄更加可信和可靠?;赒-learning的自適應(yīng)蜜罐對(duì)于自動(dòng)化攻擊的捕獲,本文設(shè)計(jì)的自適應(yīng)蜜罐應(yīng)具有以下幾點(diǎn)特性:1.針對(duì)自動(dòng)化攻擊能夠盡可能地獲取攻擊者的信息。自動(dòng)化攻擊的本質(zhì)是攻擊者基于固定決策模式連續(xù)執(zhí)行的攻擊命令序列,這種序列化的攻擊由于其決策方法與決策樹類似,其模型與自動(dòng)機(jī)類似。本文提出的自適應(yīng)蜜罐在決策過程中,能夠通過對(duì)攻擊命令的采集和分析構(gòu)建攻擊命令自動(dòng)機(jī),并選擇最優(yōu)地響應(yīng)策略,更大程度地獲取攻擊者的信息。2.在自適應(yīng)蜜罐響應(yīng)攻擊的行為決策中集成強(qiáng)化學(xué)習(xí)模塊。攻擊者的攻擊命令決策充滿了不確定性,強(qiáng)化學(xué)習(xí)能夠不依賴于環(huán)境是否可知,這意味著關(guān)于攻擊者行為的響應(yīng)決策能夠與觀察到的轉(zhuǎn)移概率相互獨(dú)立,從而對(duì)未知的模型做出決策。3.自適應(yīng)蜜罐的數(shù)據(jù)源主要為攻擊者的攻擊命令。攻擊者的攻擊命令主要由攻擊者所發(fā)出的Linux的bash命令(如iptables,curl,sudo,wget,chmod777)以及通過bash分隔符拼接而成的復(fù)雜腳本構(gòu)成。4.自適應(yīng)蜜罐的自適應(yīng)性主要體現(xiàn)在,自適應(yīng)蜜罐的響應(yīng)后攻擊者的攻擊命令決策符合自適應(yīng)蜜罐的預(yù)期時(shí),該響應(yīng)在該狀態(tài)下能夠得到獎(jiǎng)勵(lì)。當(dāng)蜜罐受到攻擊時(shí),自適應(yīng)蜜罐從交互過程中學(xué)習(xí),并隨著時(shí)間的推移制定出處于某一狀態(tài)下對(duì)應(yīng)的最佳策略,隨著自適應(yīng)蜜罐為每個(gè)攻擊事件獲得獎(jiǎng)勵(lì),學(xué)習(xí)過程最終得到收斂。本文針對(duì)自動(dòng)化攻擊的捕獲,設(shè)計(jì)并提出了一種基于強(qiáng)化學(xué)習(xí)的自適應(yīng)蜜罐,通過選用行為策略和目標(biāo)策略相異的Q-learning算法在與攻擊者交互過程中學(xué)習(xí)當(dāng)前狀態(tài)下的最佳交互策略,以實(shí)現(xiàn)最大程度收集攻擊者信息的目的。本節(jié)介紹基于強(qiáng)化學(xué)習(xí)的自適應(yīng)蜜罐決策算法的設(shè)計(jì),首先介紹了自適應(yīng)蜜罐決策模型的建立,接著描述了自適應(yīng)蜜罐狀態(tài)空間和動(dòng)作空間,然后給出了Q獎(jiǎng)勵(lì)函數(shù)的建立,最后提出了自適應(yīng)響應(yīng)蜜罐決策算法,并給出算法的完整流程。自適應(yīng)蜜罐決策模型的建立對(duì)于攻擊者而言,攻擊者的任務(wù)是在未知的環(huán)境中盡可能地獲取環(huán)境信息以達(dá)成攻擊目的。而自適應(yīng)蜜罐的目的則是通過采取最佳的響應(yīng)策略,盡可能多地獲取攻擊者的特征。自動(dòng)化攻擊的本質(zhì)是攻擊者基于固定決策模式連續(xù)執(zhí)行的攻擊命令序列,如果將一次攻擊命令視為一個(gè)狀態(tài),自動(dòng)化攻擊整個(gè)過程可抽象為一個(gè)有向無環(huán)圖,每一個(gè)狀態(tài)即為一個(gè)輸入的攻擊命令。自動(dòng)化攻擊的決策模型如下圖3-3所示。圖3-3自動(dòng)化攻擊決策樹模型圖中描述了攻擊者在攻擊過程當(dāng)中的決策樹模型。其中代表著攻擊者的攻擊命令,代表著攻擊者在攻擊序列中采取了后采取的概率。其中,(3-9)在式(3-9)中,代表攻擊者采取了后可能采取的命令總數(shù)。對(duì)于自適應(yīng)蜜罐而言,其響應(yīng)自動(dòng)化攻擊時(shí)應(yīng)在上述有向無環(huán)圖中選擇最長路徑,最大程度獲取攻擊者信息,延長交互時(shí)間,消耗其資源。自適應(yīng)蜜罐每一次與攻擊者交互,本質(zhì)上為響應(yīng)攻擊者的一次輸入命令,蜜罐通過強(qiáng)化學(xué)習(xí)在交互過程中學(xué)習(xí)攻擊者行為信息,使其在每一次響應(yīng)攻擊命令時(shí)作出最佳決策,延長路徑,避免攻擊者識(shí)別蜜罐從而終止SSH會(huì)話。自適應(yīng)蜜罐響應(yīng)自動(dòng)化攻擊的過程可以抽象為馬爾可夫決策過程,通常用五元組S,A,P,R,γ描述其學(xué)習(xí)過程。其中,S為狀態(tài)空間,指智能體能在環(huán)境中探索到的所有狀態(tài),在自適應(yīng)蜜罐中則表示攻擊者在蜜罐中輸入的命令。A是動(dòng)作空間,指智能體能在環(huán)境中執(zhí)行的所有動(dòng)作,在自適應(yīng)蜜罐中表示蜜罐對(duì)于攻擊者的命令采取的動(dòng)作。P是狀態(tài)轉(zhuǎn)移概率矩陣,記錄了智能體狀態(tài)空間中所有狀態(tài)轉(zhuǎn)移到另一個(gè)狀態(tài)的概率,在自適應(yīng)蜜罐系統(tǒng)中狀態(tài)轉(zhuǎn)移概率矩陣是未知的。R為獎(jiǎng)勵(lì)函數(shù),定義了智能體執(zhí)行動(dòng)作后的獎(jiǎng)勵(lì)值,一般表現(xiàn)形式為狀態(tài)-動(dòng)作對(duì)的數(shù)值,在自適應(yīng)蜜罐中,獎(jiǎng)勵(lì)函數(shù)根據(jù)蜜罐的目的進(jìn)行定義。γ是折扣因子,體現(xiàn)了未來獎(jiǎng)勵(lì)和當(dāng)前獎(jiǎng)勵(lì)的關(guān)系,在自適應(yīng)蜜罐中,γ=1,代表自適應(yīng)蜜罐的當(dāng)前選取的動(dòng)作將會(huì)影響未來獎(jiǎng)勵(lì)。最初,蜜罐采取的行動(dòng)將是隨機(jī)的(ε-貪婪的),隨著更多的攻擊發(fā)生,它將學(xué)習(xí)最優(yōu)值來填充Q表并采取相應(yīng)的行動(dòng)。具體的詳細(xì)定義和描述如下:狀態(tài)空間S攻擊者從建立SSH會(huì)話開始,不斷試圖在蜜罐中執(zhí)行一系列二進(jìn)制命令,直到完成其攻擊目標(biāo),常見的步驟為探測(cè)系統(tǒng)環(huán)境——下載并執(zhí)行二進(jìn)制惡意文件——篡改訪問記錄,典型的攻擊序列為ssh→uname結(jié)合上述自動(dòng)化攻擊的決策模型,本文將狀態(tài)空間定義為一系列的二進(jìn)制命令集合S,攻擊者發(fā)出的一系列命令定義為i0,iL:已知的LinuxBash命令,如wget,cd,mount,chmod等C:自定義的攻擊命令,如執(zhí)行下載好的腳本文件sh./attack_system.shCC:混合命令,指通過&&、||等bash分隔符或運(yùn)算符連接的多個(gè)命令O:其他命令。不能夠被處理的命令,如回車和一些未知的命令??紤]到攻擊者結(jié)束SSH會(huì)話的命令意味著攻擊者已經(jīng)離開了蜜罐,因此,本文定義的狀態(tài)空間可表示為:S=L∪C∪CC∪O(3-10)動(dòng)作空間A自適應(yīng)蜜罐的價(jià)值在于其能夠通過與攻擊者的交互收集、學(xué)習(xí)攻擊命令,從而推測(cè)攻擊意圖。對(duì)于攻擊者攻擊流量尤其是SSH的攻擊流量,大部分都呈現(xiàn)自動(dòng)化且重復(fù)的特點(diǎn)。而Heliza等蜜罐的行為如Delay操作只是為了延遲攻擊者交互的時(shí)間,這種行為對(duì)于進(jìn)一步區(qū)分自動(dòng)化攻擊的無法提供更多有用的信息。因此,本文設(shè)置的動(dòng)作空間僅關(guān)注獲取攻擊者的命令決策邏輯的響應(yīng)動(dòng)作,延長攻擊者交互時(shí)間的響應(yīng)動(dòng)作則不在本文的考慮范圍內(nèi)。在每個(gè)狀態(tài)下,我們將自適應(yīng)蜜罐可以執(zhí)行的動(dòng)作記為ak具體動(dòng)作定義如下:允許動(dòng)作allow:允許攻擊者在蜜罐控制臺(tái)執(zhí)行Linux命令。允許動(dòng)作使得自適應(yīng)蜜罐呈現(xiàn)與高交互蜜罐類似的行為特征,提高蜜罐的誘騙程度。阻止動(dòng)作block:阻止攻擊者在蜜罐控制臺(tái)中Linux命令的執(zhí)行。當(dāng)攻擊者向蜜罐輸入命令時(shí),命令不會(huì)被執(zhí)行,并返回系統(tǒng)錯(cuò)誤信號(hào)。替代動(dòng)作substitute:替代蜜罐控制臺(tái)中的Linux命令的輸出,攻擊者的命令并不會(huì)被執(zhí)行,而是向攻擊者顯示替換后的虛假響應(yīng)。例如當(dāng)攻擊者執(zhí)行wget命令下載定制化的惡意工具時(shí),自適應(yīng)蜜罐返回網(wǎng)絡(luò)錯(cuò)誤“未找到頁面”,這可能誘導(dǎo)攻擊者暴露其他惡意工具。侮辱動(dòng)作insult:修改Linux命令的輸出,返回與攻擊者源IP地址相對(duì)應(yīng)的語言侮辱信息。當(dāng)攻擊為自動(dòng)化攻擊時(shí),其會(huì)忽略自適應(yīng)蜜罐執(zhí)行的侮辱動(dòng)作,繼續(xù)執(zhí)行攻擊命令;而當(dāng)攻擊為人為攻擊時(shí),攻擊者對(duì)于自適應(yīng)蜜罐的侮辱動(dòng)作有兩種可能的響應(yīng):第一種可能性下,攻擊者認(rèn)為侮辱信息為管理員所發(fā),對(duì)其進(jìn)行回應(yīng);另一種則是攻擊者提前結(jié)束SSH會(huì)話。此動(dòng)作主要充當(dāng)反圖靈測(cè)試,測(cè)試的目的是驗(yàn)證攻擊是否為自動(dòng)化攻擊。通過攻擊連接分類后,繼續(xù)停留在自適應(yīng)蜜罐的攻擊流量應(yīng)為自動(dòng)化攻擊,該侮辱動(dòng)作用于進(jìn)一步提高并驗(yàn)證其分類準(zhǔn)確性。因此,本文定義的動(dòng)作空間可表示為:A=allow,block,substitute,insult獎(jiǎng)勵(lì)函數(shù)R基于自適應(yīng)蜜罐的強(qiáng)化學(xué)習(xí)為了能夠獲取某一狀態(tài)下對(duì)命令的最佳響應(yīng),需要在環(huán)境下不斷地進(jìn)行訓(xùn)練。在訓(xùn)練過程中,本文把能夠延長攻擊者攻擊的action都定義會(huì)獲得獎(jiǎng)勵(lì)。獎(jiǎng)勵(lì)函數(shù)設(shè)定為能夠增加攻擊序列中命令的數(shù)量。由Wagener推出的Heliza蜜罐,其設(shè)置的獎(jiǎng)勵(lì)函數(shù)一共有兩個(gè)目標(biāo)。第一個(gè)目標(biāo)是在命令決策轉(zhuǎn)換的過程中盡可能地收集攻擊者的相關(guān)信息,第二個(gè)目標(biāo)是延長攻擊者交互的持續(xù)時(shí)間,通過延長攻擊者的交互時(shí)間分析攻擊者對(duì)于攻擊命令的認(rèn)知能力。Heliza對(duì)于這第一個(gè)目標(biāo)的分析主要通過sudo和wget這兩個(gè)狀態(tài)作為實(shí)例,并比較了每個(gè)動(dòng)作計(jì)算的Q值,第二個(gè)目標(biāo)是將蜜罐上捕捉到的決策轉(zhuǎn)換數(shù)與標(biāo)準(zhǔn)的高交互蜜罐進(jìn)行比較。由Pauna提出的RASSH蜜罐與Heliza相同,采用了相同的強(qiáng)化學(xué)習(xí)算法和參數(shù)。RASSH與Heliza設(shè)立的獎(jiǎng)勵(lì)函數(shù)與Heliza類似,設(shè)立的目標(biāo)也是為了收集攻擊者攻擊命令決策的相關(guān)信息以及延長攻擊者的交互時(shí)間。RASSH和Heliza使用的公式如下所示。r(3-12)基于狀態(tài)/動(dòng)作(si,a如果輸入字符串I是定制的攻擊者命令C,那么獎(jiǎng)勵(lì)r如果輸入字符串I是Linuxbash命令L,那么獎(jiǎng)勵(lì)rt如果輸入字符串I被確定為Insult命令,則計(jì)算相對(duì)于Y或ENTER的最小歸一化Levenstein距離,其中Y=C∪本文因?yàn)镮nsult和Delay操作與自動(dòng)化攻擊無關(guān),所采用的簡化動(dòng)作集只有允許(allow)、阻止(block)和替代(substitute)。這種動(dòng)作集的設(shè)計(jì)意味著,假設(shè)自適應(yīng)蜜罐接收到的攻擊命令是I,如果是bash命令L、定制化命令C或是復(fù)合命令CC,那么自適應(yīng)蜜罐將對(duì)此action進(jìn)行獎(jiǎng)勵(lì)。例如,“iptablesstop”是輸入的字符串命令,它將Linux系統(tǒng)上iptabl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論