楊迎
(北京信息職業技術學院,北京 100018)
由于網絡傳輸層具有較強的脆弱性,網絡傳輸層UDP協議在使用過程中常常會遭受到攻擊性行為,危害網絡傳輸層安全。因此,以網絡傳輸層UDP協議脆弱性利用層面作為切入點,研究網絡傳輸層UDP協議攻擊性行為,是目前較為有效的分析手段。在我國,針對網絡傳輸層UDP協議攻擊性行為本身就并不多見,且主要集中在分析攻擊性行為特征層面,缺乏對攻擊性行為的全方位掌握,導致分析存在很大程度的局限性。為研究網絡傳輸層UDP協議攻擊性行為,必須掌握相關編程語言,從編程角度入手,精準分析網絡傳輸層UDP協議攻擊性行為。Python語言作為一種編程語言,具備互動性、解釋性以及編譯性多種功能,能夠提高腳本的可閱讀性[1]。為此,有理由將Python語言引進到網絡傳輸層UDP協議攻擊性行為研究中,通過Python語言獨具的特點,實現對網絡傳輸層UDP協議攻擊性行為的包嗅探,精準判斷網絡傳輸層UDP協議攻擊性行為,為確保網絡傳輸層UDP協議安全提供支持。
Python語言最大的特點在于其自身的高敏捷性,由于Python語言功能強大,且操作簡單,上手容易,成為很多黑客的攻擊性行為編程軟件[2-3]?;赑ython語言能夠編寫出大量的黑客攻擊性行為腳本,為攻擊性行為的生成提供了APl,大大提高了攻擊性行為的隱蔽度。Python語言雖然在某些特定性能不及R語言,但其操作起來的簡易度遠高于R語言,成為當今黑客的攻擊性行為腳本編寫主要應用軟件。因此,本文以此為依據,基于Python語言研究網絡傳輸層UDP協議攻擊性行為,具體內容如下文所述。
在研究網絡傳輸層UDP協議攻擊性行為過程中,首先可以通過Python語言中的socket模塊,掃描網絡傳輸層UDP協議端口[4]。以IP作為網絡傳輸層UDP協議傳輸中的邏輯地址,在網絡傳輸層UDP協議中選取最具代表性的端口,并且設置安全權限為對外開放,使選取的端口成為攻擊性行為最容易產生的端口節點?;赑ython語言的網絡傳輸層UDP協議攻擊性行為端口掃描過程,如圖1所示。
結合圖1所示,本文選取的代表性端口為80、443以及65535,并采用TCP開放式掃描的方式,掃描網絡傳輸層UDP協議攻擊性行為端口,在掃描結束后,關閉TCP掃描。
在完成網絡傳輸層UDP協議攻擊性行為端口掃描的基礎上,基于Python語言進行UDP協議攻擊性行為的包嗅探[5-6]。設定一臺PC正在基于網絡傳輸層UDP協議向另一臺PC傳遞數據,通過同一以太網,將數據廣播到所有PC中,利用包嗅探技術,創建包嗅探程序,感知UDP協議中是否存在攻擊性行為,在發現UDP協議攻擊性行為后,基于Python語言將模式更改為Promiscuous,使UDP協議攻擊性行為的腳本具有可閱讀性,實現對UDP協議攻擊性行為包嗅探。

圖1 網絡傳輸層UDP協議攻擊性行為端口掃描過程圖Fig.1 Network transport layer UDP protocol aggressive behavior port scanning process diagram

表1 網絡傳輸層UDP協議攻擊性行為威脅權值Tab.1 Threat weights of offensive behaviors in the network transport layer UDP
在基于包嗅探閱讀網絡傳輸層UDP協議攻擊性行為腳本后,構建網絡傳輸層UDP協議攻擊性行為模型。在受到攻擊性行為時,網絡傳輸層UDP協議具有不完全限制,此時可將其視為不完全信息供方博弈。在博弈的過程中,很難對攻擊者的選擇偏好以及攻擊環境條件進行完全掌握。并且,隨機博弈會受到雙方攻擊和防護策略以及網絡信息的運行環境等眾多影響因素干擾,因此將攻擊性行為看作網絡脆弱性利用攻擊依然會存在一定的隨機性?;诖?本文建立網絡傳輸層UDP協議攻擊性行為模型,將攻擊性行為設定為隨機過程,將多階段演化過程與隨機博弈結合,得到攻擊性行為模型。同時,將這一過程看作是多重狀態,并且狀態會隨著時間的推移不斷發生改變的過程。
假設產生網絡傳輸層UDP協議攻擊性行為時,攻擊性行為中包含設備的數量表示為n,每一個可識別的主機設備n中均包括m個脆弱攻擊點。此過程中,假定主機設備最多可與n-1個設備實現互聯,此時可利用主機設備總臺數與脆弱攻擊點個數,進行脆弱性計算。公式如下。

公式(1)中,T表示為每臺主機設備需要處理的脆弱點個數;T總表示為整個安全網絡環境中共需要處理的脆弱性個數。再根據上述公式進一步推導出攻擊性行為的最多連接弧數為:

公式(2)中,Hmax表示為攻擊性行為最多連接弧數;k表示為每臺主機設備的操作權限種類總數;n×k表示為在不考慮輸入數據的空間大小的情況下,狀態階段的個數。利用上述公式,可以充分滿足攻擊性行為的復雜度,進一步滿足攻防雙方推演的需求。利用網絡攻擊圖分解計算可解決攻擊性行為循環攻擊路徑問題以及超長攻擊路徑問題。在實際安全網絡攻擊過程中,攻擊性行為不需要重新獲取攻擊能力,即可完成對全新的安全網絡環境攻擊,因此循環攻擊路徑實際意義并不大。根據以往安全網絡攻擊事件表明,在實際攻擊環境當中,并不會存在超長的攻擊路徑。因此通過上述算法可在只執行以此網絡攻擊圖轉換的前提下,一次性地完成對安全網絡中各脆弱性用例威脅所對應的攻擊路徑。
在基于包嗅探閱讀網絡傳輸層UDP協議攻擊性行為腳本后,計算網絡傳輸層UDP協議攻擊性行為威脅權值,進而判斷其對網絡的保密性威脅及完整性威脅。設網絡傳輸層UDP協議攻擊性行為威脅權值為Fi,可得公式(3)。

公式(3)中,m指的是網絡傳輸層UDP協議攻擊性行為威脅指標賦值;j指的是攻擊性行為攻擊次數,為實數;aij指的是網絡傳輸層UDP協議攻擊完整性威脅度量值;l指的是攻擊性行為特征參數;b指的是網絡傳輸層UDP協議攻擊保密性威脅權值。通過公式(3),得出網絡傳輸層UDP協議攻擊性行為威脅權值。在此基礎上,根據選取的代表性端口為80、443以及65535,制作網絡傳輸層UDP協議攻擊性行為威脅權值基本信息表,如表1所示。
結合表1所示,網絡傳輸層UDP協議攻擊性行為威脅權值越大,意味著網絡傳輸層UDP協議遭受到的攻擊面威脅越大。與此同時,本文結合證據不確定性推理方法,分析其威脅程度。由于在分析時,存在特殊的不確定性推理規則,因此還需要針對特殊情況進行具體分析。假設不確定性的推理規則為F,則F={b1,b2,b3,…,bn}。再假設E表示為支持F成立的假設集合,CF表示為可信度因子,則CF={c1,c2,c3,…,cn},CF主要用于對E成立的條件下,表示F的可信度。當網絡安全脆弱性與證據推理具備一定評價關系時,可給定脆性點對于網絡的威脅性。此時可從安全網絡攻擊性層面分析,利用攻擊圖到攻擊原子i的取值范圍進行映射,對攻擊者達到脆弱性目標的成功率進行綜合評價。最終得出的成功率越高,則說明安全網絡脆弱性利用的威脅程度越大,反之,成功率越低,則說明安全網絡脆弱性利用的威脅程度越小。
通過上文計算得出的網絡傳輸層UDP協議攻擊性行為威脅權值,判斷網絡傳輸層UDP協議攻擊性行為類型。將網絡傳輸層UDP協議攻擊性行為看作網絡傳輸層UDP協議脆弱性利用攻擊,攻擊過程中影響因素可劃分為:攻擊者權限要素、攻擊者可行性要素、攻擊者活躍性要素以及網絡環境漏洞存在性要素。根據網絡傳輸層UDP協議攻擊性的一般情況,得出網絡傳輸層UDP協議攻擊性行為類型,主要包括:會話劫持、欺騙攻擊以及DoS攻擊。當網絡傳輸層UDP協議攻擊性行為的保密性威脅大于完整性威脅時,網絡傳輸層UDP協議攻擊性行為主要為會話劫持。
會話劫持是通過基于在網絡傳輸層UDP協議傳輸數據過程中,黑客基于Python語言更改數據目標接收端的IP地址,從中攔截數據,在完成操作后,再將IP地址改回為目標接收端的IP地址[7]。通過此種方式,產生網絡傳輸層UDP協議攻擊性行為,盜用信息。
當網絡傳輸層UDP協議攻擊性行為的保密性威脅小于完整性威脅時,網絡傳輸層UDP協議攻擊性行為主要為欺騙攻擊。欺騙攻擊是利用ARP協議的缺陷,惡意篡改局域網內的所有報文信息,進而破壞數據完整性。
當網絡傳輸層UDP協議攻擊性行為的保密性威脅與完整性威脅大致相同時,網絡傳輸層UDP協議攻擊性行為主要為DoS攻擊。DoS攻擊主要是通過Python語言在網絡傳輸層UDP協議中植入病毒,導致網絡癱瘓,將網絡上的大量PC并將其變為僵尸PC,實現對網絡傳輸層UDP協議的攻擊。以上3種網絡傳輸層UDP協議攻擊性行為類型,為基于Python語言的網絡傳輸層UDP協議攻擊性行為研究結果。
通過基于Python語言的網絡傳輸層UDP協議攻擊性行為研究,能夠取得一定的研究成果,解決傳統網絡傳輸層UDP協議攻擊性行為研究中存在的問題。由此可見,基于Python語言的網絡傳輸層UDP協議攻擊性行為研究是具有現實意義的。在后期的發展中,應加大Python語言在網絡傳輸層UDP協議攻擊性行為研究中的應用力度,為提高網絡傳輸層UDP協議安全性提供參考。