路 海 張偉燕 李 芬 王新宇
(1.中國工程物理研究院計算機應用研究所 綿陽 621900)(2.華中科技大學計算機學院 武漢 430074)
基于投影尋蹤的NAT識別技術
路海1張偉燕1李芬1王新宇2
(1.中國工程物理研究院計算機應用研究所綿陽621900)(2.華中科技大學計算機學院武漢430074)
摘要隨著網絡的發展,網絡地址轉換(NAT)技術的應用越來越普及,緩解了網絡IP地址枯竭的問題,然而也帶來了一定的安全隱患。因此,有效地識別NAT變得十分有必要。論文提出一種基于網絡流量的NAT識別技術,引入投影尋蹤技術,通過網絡流量特征對NAT進行識別。使用基于量子粒子群的投影尋蹤算法,將量子粒子群的全局搜索能力與投影尋蹤對高維數據的降維能力的結合。核心是獲取網絡中IP地址設備的流量特征數據,通過算法把高維數據投影到低維子空間上,從而將NAT設備與普通設備分隔開,實現NAT的識別。
關鍵詞網絡地址轉換; 網絡地址轉換識別; 流量特征; 投影尋蹤; 量子粒子群算法
Class NumberX196
1引言
網絡地址轉換(Network Address Translation,NAT)是一種將IP數據包中的內部私有IP地址與一個公網IP地址進行互相轉換的技術,實質是通過動態維護一個映射表,將內部IP地址及端口映射到外部地址上。NAT技術有效地解決了IP地址資源匱乏的問題,同時實現了私有網絡與公共網絡IP地址之前的映射互訪,有效地將內外網分隔開來,使得公共外網無法直接訪問局域網內的主機,防范了來自公共網絡的非法攻擊。
NAT技術實現的方式有三種:靜態地址轉換(Static NAT)、動態地址轉換(Dynamic NAT)以及端口多路復用(Port Address Translation,PAT)。
然而,NAT技術使得私有網絡中的主機對于公共網絡是透明的,無法對網絡中的所有設備用戶進行識別認證,對于網絡的監管帶來了一定的安全隱患,對網絡安全帶來了安全威脅。因此很有必要找到一種方法能行之有效地識別區分一個網絡中是否存在NAT設備。
NAT流量識別方法[4]一般采用被動檢測方法,即被動收集監聽網絡中的數據流量,通過數據包的首部或內容來進行NAT的檢測。NAT的被動檢測方法大致可以分為兩類:基于TCP/IP協議特征字段的識別方法與基于應用層信息的識別方法。
傳統的各種NAT識別方法依賴于IP數據包中的特殊字段,但是這些方法受到了操作系統等諸多制約。因此,本文引入投影尋蹤技術,通過網絡流量特征對NAT進行識別。投影尋蹤分析方法[5]的基本原理:其基本思想是利用計算機技術,把高維數據通過某種組合,投影到低維(1~3維)子空間上,并通過極小化(或極大化)某個投影指標,尋找出能反映原高維數據結構或特征的投影,在低維空間上對數據結構進行分析,以達到研究和分析高維數據的目的。
使用基于量子粒子群的投影尋蹤算法,將量子粒子群的全局搜索能力與投影尋蹤對高維數據的降維能力的結合。核心是獲取網絡中IP地址設備的流量特征數據,通過算法把高維數據投影到低維子空間上,從而將NAT設備與普通設備分隔開,實現NAT的識別。
2投影尋蹤技術
2.1粒子群算法
粒子算法(PSO)[12]通過個體間的競爭與合作來實現高維空間中最優解的搜索,可以解決復雜的優化問題。
PSO算法的基本思想:首先初始化粒子群體,每個粒子個體代表該優化問題的一個可行解,并且每一個粒子個體都由被優化問題的目標函數確定一個適應值。群體中每個粒子將在解空間中按一個速度決定粒子的方向和距離規則運動。然后粒子們就追隨當前的最優粒子在解空間中搜索,經過多次迭代搜索,最后得到問題的最優解。在每一次迭代中,粒子通過跟蹤兩個“極值”來更新自己。第一個就是粒子本身所找到的最優解,這個解叫做個體極值pbest。另一個極值是整個種群目前找到的最優解,這個極值是全局極值gbest。
在找到上述兩個最優值時,粒子根據如下公式更新自己的速度和新的位置:
(1)
(2)
式中,vid為粒子i飛行速度矢量的第d維分量,xid為粒子i位置矢量的第d維分量,c1、c2為常數,稱學習因子,分別調節向全局最好粒子和個體最好粒子方向飛行的最大步長,rand()是[0,1]上的隨機數,w為慣性權重。
式(1)右邊由三部分組成,第一部分為“慣性”或“動量”部分,反映了粒子的運動“習慣”,代表粒子有維持自己先前速度的趨勢;第二部分為“認知”部分,反映了粒子對自身歷史經驗的記憶,代表粒子有向自身歷史最佳位置逼近的趨勢;第三部分為“社會”部分,反映了粒子間協同合作與知識共享的群體歷史經驗,代表粒子有向群體或鄰域歷史最佳位置逼近的趨勢,根據經驗,通常c1=c2=2,i=1,2,…,D。vid是粒子的速度,vid∈[-vmax,vmax],vmax是常數,由用戶設定用來限制粒子的速度。rand()是介于[0,1]之間的隨機數。
2.2量子粒子群算法
由于在經典的PSO系統中,粒子的收斂是以軌道的形式實現的,并且又由于粒子的速度總是有限的,因此在搜索過程中粒子每個迭代步的搜索空間是一個有限的區域,不能覆蓋整個可行空間。因此一般的PSO算法不能保證以概率1收斂到全局最優解,這正是一般PSO算法的最大缺陷,而在量子空間中,粒子的聚集性通過在粒子運動中心存在的某種吸引勢產生的束縛態來描述,而處于量子束縛態的粒子可以以一定的概率密度出現在空間任何點,滿足聚集態的性質的粒子可以在整個可行解空間中進行搜索,但不會發散到無窮遠處。
量子粒子群優化算法[6]是從量子力學的角度提出的一種新的PSO算法,這個算法簡單易行,不僅參數個數少,并且在搜索能力上也優于PSO算法。該算法的整個流程和基本PSO大體上相同,不同點是粒子位置的更新公式不同,如下:
p=a*pbest(i)+(1-a)*gbest
(3)
(4)
其中,a,u為[0,1]之間的隨機數,mbest是粒子群pbest的中間位置,b為收縮擴張系數,在QPSO的收斂過程中線性遞減,G為當前進化代數,T為最大進化代數。QPSO中粒子位置的更新按照以上公式進行,沒有速度更新。
3基于投影尋蹤的NAT技術識別
NAT流量識別本質上是將網絡上的NAT設備與普通設備進行劃分。因此,本文采用基于兩子粒子群算法的投影尋蹤算法,通過收集網絡中IP地址的網絡流量,基于流量特征進行設備劃分,從而實現NAT技術識別。
3.1投影尋蹤聚類方法模型
基本思想是:利用計算機技術,把高維數據通過某種線性組合投影到低維子空間,對于投影過程的構造,采用投影指標函數(目標函數)來衡量投影后保留原始數據結構特征的可能性大小,它是用于衡量投影到低維空間的數據是否有意義的目標函數,找到一個或幾個投影方向,使它的指標值達到最大或最小,然后根據該投影值對高維數據聚類。其中,構造投影指標函數及優化投影方向是應用投影尋蹤方法能否成功的關鍵[7]。
最佳投影方向即為最能夠顯示高維數據內部結構特征的那個方向。從信息提取的程度上來說,對數據信息保留最完整、信息利用最充分的方向就是最佳投影方向,那么,對投影方向的優化其實是找出最能反映數據特征的投影指標。如果數據的結構特征較復雜,一個投影方向難以完全表示,則允許存在反映數據整體結構的多個投影方向。總而言之,能夠將高維的原始數據清晰地投影在低維空間上,并且保證投影后的數據分布結構是有意義的,能滿足這個條件的投影方向都是最佳投影方向。
模型的建立:
步驟1:樣本評價指標集的歸一化處理
設各指標值的樣本集為{x*(i,j)|i=1,2,…,n;j=1,2,…,p},其中x(i,j)為第i個樣本第j個指標值,n,p分別為樣本數和指標數。歸一化處理如下:
對于越大越優的指標:
(5)
對于越小越優的指標:
(6)
其中,xmax(j)、xmin(j)分別為第j個指標值的最大值和最小值,x(i,j)為指標值歸一化的序列。
步驟2:構造投影指標函數
Q(a)投影尋蹤方法就是把p維數據{x(i,j)|j=1,2,…,p},轉化為以a={a(1),a(2),a(3),…,a(p)}為投影方向的一維投影值z(i):

(7)
根據{z(i)|i=1,2,…,n}進行K均值聚類。要求投影值z(i)的散布特征應為:局部投影點盡可能密集,最后凝聚成若干個點團,而在整體上投影點團之間盡量散開。因此,投影指標函數為
Q(a)=Sz*Dz
(8)
(9)
(10)
其中,Sz為投影值z(i)的標準差,Dz為投影值z(i)的局部密度,E(z)為序列{z(i)|i=1,2,…,n}的平均值,R為局部密度的窗口半徑,可取rmax+p/2≤R≤2p,一般取R=0.1*Sz,r(i,j)表示樣本之間的距離,r(i,j)=|z(i)-z(j)|,u(t)為一單位階躍函數,當t≥0時,其值為1,當t<0時其函數值為0。
步驟3:優化投影指標函數
當各指標值的樣本集給定時,Q(a)只隨投影方向a變化。不同的投影方向反映不同的結構特征,最佳投影方向就是最大可能暴露高維數據特征結構的投影方向,通過優化投影指標函數來尋找最佳投影方向,即
最大化目標函數:
Max:Q(a)=Sz*Dz
(11)
約束條件:

(12)
這是一個以{a(j)|j=1,2,…,p}為優化變量的復雜非線性優化問題,用傳統的優化方法處理較難。本文利用幾種智能優化算法的實數編碼解決其高維全局尋優問題,即優化投影方向,使目標函數達到極值時,得到最佳投影方向。
步驟4:聚類
把由步驟3求得的最佳投影方向a帶入式(7)后可得各樣本的投影值{z(i)|i=1,2,…,n},將任意兩個樣本的投影值進行比較,二者越接近,表示這兩個樣本越傾向于分為同一類。本文引入K均值聚類算法對投影值進行聚類,投影值屬于某一類,則對應的原始數據樣本屬于同一類別。
3.2基于投影尋蹤的量子粒子群算法模型
基于QPSO的投影尋蹤聚類算法采用基于投影方向的實數編碼,一個編碼對應了一組投影方向,而且p維的投影方向組成每個粒子的位置,因此粒子采用的編碼結構為:x1x2…xp。
而且算法中,投影目標函數確定適應度f(x):
f(x)=Q(x)
(13)
約束條件處理為
(14)
算法的計算流程為:
1) 根據式(5)或(6)對原始數據進行歸一化處理;
2) 隨機產生滿足約束條件式(12)的初始種群,根據式(13)計算每個粒子的適應度;
3) 對每個粒子,比較它的適應度值和經歷過的最好位置pbest的適應度值,如果更好,更新pbest;
4) 對每個粒子,比較它的適應度值和群體所經歷的最好位置gbest的適應度值,如果更好,更新gbest;
5) 根據式(4)更新粒子位置,生成新的粒子群體;
6) 對群體中的不合法個體按式(14)進行修正;
7) 如果達到結束條件(足夠好的位置或最大迭代次數),則結束,否則轉2)。
3.3NAT流量特征參數選取
實際網絡中,NAT設備因為內部網絡中具有一定數量主機,其網絡流量特征相比于普通設備會有很大的不同。因此,找出合適的NAT流量特征是影響識別效果的關鍵因素,通過分析這些流量特征,得出實驗所需的NAT流量特征參數集。
通過分析比較,可發現NAT設備具有如下流量特征:
1) 流量與報文數
由于NAT設備后具有一定數量主機,因此相比普通設備,NAT設備往往網絡流量與報文數量會比較大。因此對于NAT設備流量特征,選取IP地址的流量字節數與報文數作為參數。
2) 流數目
NAT設備相比普通設備,流(即五元組)的數目總體比較多,而一臺普通主機,相對來說傳輸的流數目較少。因此,可選取流數目作為參數。
3) 端口的數目
由于大多數NAT設備的公網IP地址較少,因此大多采用端口多路復用(PAT)的方式。在這種方式下,內部網絡的多個IP地址映射到一個公網IP地址的不同端口上,因此在內部網絡的主機與外部網絡的通訊過程中,NAT設備往往使用多個端口,而相較而言,一臺普通設備使用的端口數較少。因此流量特征參數可選用不同設備的通信端口數。
4) TCP連接數
NAT設備后由于具有一定數量的主機,因此網絡的TCP連接更為頻繁,總的并發TCP連接數較多。
5) DNS報文的數量
由于NAT設備后的主機訪問網站數量、頻率較多,因此訪問不同域名時發出的DNS請求頻率較高,DNS請求的報文數量也更多,而一臺普通主機在一段時間內不會產生較多的DNS請求。因此可采用DNS報文數作為參數。
6) IP地址數
因為NAT設備后有較多主機,與其通信的網絡設備較多,因此NAT網絡流量的報文中IP地址(源、目的IP地址)相對普通設備較多,普通設備在一段時間內往往只與少數IP地址設備進行通信。因此可以選用同一IP地址通信的IP地址數作為流量特征參數。
4實驗及結果分析
4.1實驗數據采集
本文采用網絡環境共有38臺設備主機,其中有6臺為NAT設備,每臺NAT設備后接入4臺主機組成一個NAT子網,然后NAT設備與14臺普通主機共同接入一個帶有鏡像端口的交換機,數據采集時,交換機會自動將流經所有被鏡像端口的網絡數據流量復制一份到鏡像端口。通過在鏡像端口處連接的一臺單獨普通主機作為數據采集器進行網絡流量數據采集。
本文的數據是通過在數據采集器端使用yaf和silk軟件進行采集分析的。Yaf將鏡像端口獲得的網絡流數據轉換成IPFIX流文件,然后交由silk工具處理,輸出silk流文件,并以二進制格式寫入文件。然后通過silk工具的rwfilter命令進行參數過濾。
根據上文總結,本文采用數據集中六個流量特征值作為實驗參數,如表1所示。

表1 NAT流量特征參數
4.2結果分析
本次實驗收集了24h內網絡中的數據流量,通過使用基于量子粒子群算法的投影尋蹤算法得到的投影值如圖1所示。

圖1 投影值
圖1中橫坐標表示設備編號,其中1~6號為NAT設備,7~20號為普通設備。縱坐標為每個設備的數據參數投影值。可以從圖中看出,通過投影,將NAT設備和普通設備進行了劃分,從而能夠快速找出NAT設備。
當然,算法還是可能受到諸多方面的影響,例如網絡環境中可能出現普通主機的流量特征值較大的情況,但是,在設備數量較多、網絡穩定、數據采集時間長的情況下,算法依然能夠較為準確地進行NAT識別。
5結語
隨著網絡的迅速發展,NAT技術的運用越來越普及。在NAT技術帶來便利的同時,也帶來了安全隱患。因此,如何在網絡中識別出NAT設備變得十分有必要。
本文針對現有的NAT識別方法普遍依賴于IP數據包中的特殊字段等缺點,引入投影尋蹤技術,通過網絡流量特征對NAT進行識別。使用基于量子粒子群的投影尋蹤算法,將量子粒子群的全局搜索能力與投影尋蹤對高維數據的降維能力的結合。核心是獲取網絡中IP地址設備的流量特征數據,通過算法把高維數據投影到低維子空間上,從而將NAT設備與普通設備分隔開,實現NAT的識別。
本文在投影尋蹤聚類模型中引入量子粒子群算法(QPSO),使兩者有機結合,充分利用QPSO的全局快速收斂性和投影尋蹤聚類模型的降維能力,有效解決了高維數據聚類計算量大效率低的問題,使其優勢互補。并通過實驗對收集的數據進行了基于量子粒子群算法的投影尋蹤算法,將投影值投影到二維坐標軸進行分析。實驗結果表明該方法能夠有效地識別NAT設備。
參 考 文 獻
[1] P. Srisuresh, M Holdrege. IP Network Address Translator(NAT) Terminology and Consideration[S]. RFC2663,1999-08.
[2] P. Srisuresh, K. Egevang. Traditional IP Network Address Tranlator(Traditional NAT) RFC3022, Internet Engineering Task Force, January 2001, 2001.
[3] Zhu Hongliang, Li Rui. An Integrative Model and System for Detecting NATted Hosts[C]//ICIECS2009, Wuhan, China. Dec. 2009.
[4] 譚超.現代NAT檢測技術的原理與應用[J].儀器儀表用戶,2006,13(5):130-133.
TAN Chao. The principle and application of modern NAT detect technology[J]. Electronic Instrumentation Customer,2006,13(5):130-133.
[5] 付強,趙小勇.投影尋蹤模型原理及其應用[M].北京:科學出版社,2006.
FU Qiang, ZHAO Xiaoyong. The principle and application of Projection Pursuit Model[M]. Science Press,2006.
[6] 張群,雷秀娟,馬千知.量子粒子群在投影尋蹤聚類中的應用[J].計算機工程與應用,2011,47(2):190-193.
ZHANG Qun, LEI Xiujuan, MA Qianzhi. Application of Quantum-behaved Particle Swarm Optimization in projection pursuit clustering[J]. Computer Engineering and Applications,2011,47(2):190-193.
[7] 王李近,胡欣欣,寧正元.基于粒子群優化的投影尋蹤聚類模型及其應用[J].南京信息工程大學學報,2010,2(4):320-323.
WANG Lijin, HU Xinxin, NING Zhengyuan. Projection pursuit cluster model based on particle swarm optimization and its application[J]. Journal of Nanjing Unviersity of Information Science & Technology,2010,2(4):320-323.
[8] 朱應武,楊家海,張金祥.基于流量信息結構的異常檢測[J].軟件學報,2010,21(10):2573-2583.
ZHU Yingwu, YANG Jiahai, ZHANG Jinxiang. Anomaly Detection Based on Traffic Information Structure[J]. Journal of Software,2010,21(10):2573-2583.
[9] Lakhina A, Crovella M, Diot C. Mining anomalies using traffic feature distributions[C]//Proc. of the 2005 Conf. on Applications, Technologies, Architectures, and Protocols for Computer Communications. Pennsylvania,2005:217-228.
[10] G Tsirtsis, P Srisuresh. Network Address Translation-Protocol Translation(NAT-PT)[S]. RFC2766,2000-02.
[11] 龍海峽,須文波,孫俊.基于QPSO的數據聚類[J].計算機應用研究,2006(12):40-45.
LONG Haixia, XU Wenbo, SUN Jun. Data Clustering Based on Quantum-behaved Particle Swarm Optimization[J]. Application Research of Computers,2006(12):40-45.
[12] 段曉東,王存睿,劉向東.粒子群算法及其應用[M].沈陽:遼寧大學出版社,2007.
DUAN Xiaodong, WANG Cunrui, LIU Xiangdong. Particle Swarm Optimization and Application[M]. Shenyang: Liaoning University Press,2007.
[13] 田錚,林偉.投影尋蹤方法與應用[M].西安:西北工業大學出版社,2008.
TIAN Zheng, LIN Wei. Projection Pursuit Method and Application[M]. Xi’an: Northwestern Polytechnical University Press,2008.
NAT Identification Technology Based on Projection Pursuit
LU Hai1ZHANG Weiyan1LI Fen1WANG Xinyu2
(1. Institute of Computer Application, Chinese Academy of Engineering Physics, Mianyang621900)(2. School of Computer Science & Technology, Huazhong University of Science and Technology, Wuhan430074)
AbstractWith the development of network, network address translation(NAT) technology is more and more widly applied, which relieves the problem of network IP address exhaustion, and brings some potential risk. Therefore, the effective identification of NAT become very necessary. This paper proposes a NAT identification technology based on network flow, introducing the projection pursuit technique, analysising on the characteristics of network flow to identify NAT. Using projection pursuit based on quantum particle swarm algorithm, combing the quantum particle swarm global search ability and the high-dimensional data dimension reduction ability of the projection pursuity. Core is to obtain the feature data of the network equipment flow, using the algorithm to project the high-dimensional data to low-dimensional subspace, which will separate the pervasive devices and the NAT devices, to achieve the identification of NAT.
Key WordsNAT, NAT detection, network flow feature, projection pursuit, quantum particle swarm optimization
收稿日期:2015年12月10日,修回日期:2016年1月26日
作者簡介:路海,男,研究員,研究方向:計算機網絡和信息安全。張偉燕,男,碩士,高級工程師,研究方向:數據庫技術和信息安全。李芬,女,博士,高級工程師,研究方向:網絡和信息安全。王新宇,男,碩士研究生,研究方向:網絡和信息安全。
中圖分類號X196
DOI:10.3969/j.issn.1672-9722.2016.06.027