淺談基于數(shù)據(jù)分析的網(wǎng)絡(luò)態(tài)勢感知

態(tài)勢感知(Situational Awareness郑兴,SA)的概念最早在軍事領(lǐng)域被提出坐儿。20世紀(jì)80年代律胀,美國空軍就提出了態(tài)勢感知的概念,覆蓋感知(感覺)貌矿、理解和預(yù)測三個層次累铅。90年代,態(tài)勢感知的概念開始被逐漸被接受,并隨著網(wǎng)絡(luò)的興起而升級為“網(wǎng)絡(luò)態(tài)勢感知(Cyberspace Situation Awareness站叼,CSA)”,指在大規(guī)模網(wǎng)絡(luò)環(huán)境中對能夠引起網(wǎng)絡(luò)態(tài)勢發(fā)生變化的安全要素進(jìn)行獲取菇民、理解尽楔、顯示以及最近發(fā)展趨勢的順延性預(yù)測投储,而最終的目的是要進(jìn)行決策與行動。本文將圍繞以下話題討論網(wǎng)絡(luò)態(tài)勢感知中的幾個常見問題:

  • 網(wǎng)絡(luò)感知的基礎(chǔ):網(wǎng)絡(luò)分層阔馋、傳感器
  • 網(wǎng)絡(luò)分析技術(shù):SNMP玛荞、NetFlow、sFlow呕寝、NetStream勋眯、Packet Capturing
  • 網(wǎng)絡(luò)數(shù)據(jù)可視化: WireShark、NTopng下梢、Ganglia客蹋、GeoIP

一、網(wǎng)絡(luò)感知的基礎(chǔ)

1孽江、沒有任何一個傳感器是全能的

測量一個網(wǎng)絡(luò)的一般步驟如下:首先獲得網(wǎng)絡(luò)拓?fù)鋱D讶坯,網(wǎng)絡(luò)的連接方法、潛在的觀察點(diǎn)列表等岗屏;然后確定潛在觀察點(diǎn)辆琅,確定該位置所能看到的流量;最后这刷,確定最優(yōu)的覆蓋方案婉烟。在復(fù)雜網(wǎng)絡(luò)中,沒有任何一個傳感器能夠全面覆蓋暇屋,需要多種傳感器配合使用似袁。按照采集的領(lǐng)域,傳感器可以分為三類:

  • 網(wǎng)絡(luò):入侵檢測系統(tǒng)(IDS)率碾、NetFlow采集器叔营、TCP采集器(如tcpdump)
  • 主機(jī):駐留在主機(jī)上,監(jiān)控主機(jī)上的活動(文件訪問所宰、登錄注銷)绒尊、網(wǎng)卡流量
  • 服務(wù):郵件消息、特定服務(wù)的HTTP請求

2仔粥、網(wǎng)絡(luò)分層對傳感器的影響

總的來說婴谱,網(wǎng)絡(luò)傳感器的焦點(diǎn)是OSI模型中的第2層~第4層,而服務(wù)傳感器的焦點(diǎn)是第5層及以上躯泰。分層對網(wǎng)絡(luò)流量的影響中谭羔,還需要考慮最大傳輸單元(MTU):數(shù)據(jù)幀尺寸的上限,影響到介質(zhì)中可以傳送的封包的最大尺寸麦向,以太網(wǎng)的MTU為1500字節(jié)瘟裸,即IP封包不會超過這個尺寸。OSI模型第5層會話層需要考慮的情況是會話加密诵竭,加密后的信息無法直接理解话告;在第6層和第7層中兼搏,必須知道協(xié)議細(xì)節(jié),才能提取有意義的信息沙郭。

二佛呻、網(wǎng)絡(luò)分析技術(shù)

網(wǎng)絡(luò)流量反映了網(wǎng)絡(luò)的運(yùn)行狀態(tài),是判別網(wǎng)絡(luò)運(yùn)行是否正常的關(guān)鍵病线。如果網(wǎng)絡(luò)所接收的流量超過其實(shí)際運(yùn)載能力吓著,就會引起網(wǎng)絡(luò)性能下降。網(wǎng)絡(luò)中流量的各種參數(shù)主要包括:接收和發(fā)送數(shù)據(jù)報送挑、丟包率绑莺、數(shù)據(jù)報延遲。

1让虐、SNMP

SNMP( Simple Network Management Protocol )包含一個應(yīng)用層協(xié)議(application layer protocol)紊撕、數(shù)據(jù)庫模型(database schema),和一組數(shù)據(jù)對象赡突。SNMP的第一個RFC系列出現(xiàn)在1988年(RFC1065-1067)对扶,第二版(RFC1441–1452)作了修訂,由于第二版的新安全系統(tǒng)被認(rèn)為過于復(fù)雜而不被廣泛接受惭缰,因此出現(xiàn)了兩個方案:SNMP v2c(基于社區(qū)浪南,RFC1901–1908)、SNMP v2u(基于用戶漱受,RFC1909–1910)络凿。SNMP第三版(RFC3411-3418)主要增加了安全性方面的強(qiáng)化:信息完整性,保證數(shù)據(jù)包在發(fā)送中沒有被竄改昂羡;認(rèn)證絮记,檢驗(yàn)信息來自正確的來源;數(shù)據(jù)包加密虐先,避免被未授權(quán)的來源窺探怨愤。

基于SNMP協(xié)議定義的計(jì)數(shù)器:ifInOctets、ifOutOctets蛹批,兩次采樣的差值除以間隔時間即可獲得平均流量撰洗。需要注意的是計(jì)數(shù)器的數(shù)據(jù)類型有兩種:counter32和counter64。counter32計(jì)數(shù)的最大值是2的32次方減1腐芍,當(dāng)超過4G的時候差导,計(jì)數(shù)器就會清零。如果是大流量猪勇、高精度采樣(間隔時間低于1分鐘)设褐,需要考慮使用counter64(ifHCInOctets、ifHCOutOctets),否則可能出現(xiàn)數(shù)據(jù)偏差,例如:

snmpwalk -v 2c -c public -u username 192.168.1.10 ifHCInOctets
IF-MIB::ifHCInOctets.1 = Counter64: 5020760
IF-MIB::ifHCInOctets.2 = Counter64: 12343743
IF-MIB::ifHCInOctets.3 = Counter64: 7123
IF-MIB::ifHCInOctets.21 = Counter64: 3854

2络断、RMON

SNMP是基于TCP/IP裁替、應(yīng)用最廣泛的網(wǎng)管協(xié)議,但是也有一些明顯的不足貌笨,如:SNMP使用輪詢方式采集數(shù)據(jù)信息,在大型網(wǎng)絡(luò)中輪詢會產(chǎn)生巨大的網(wǎng)絡(luò)管理通訊報文襟沮;不支持管理進(jìn)程的分布式管理锥惋,它將收集數(shù)據(jù)的負(fù)擔(dān)加在網(wǎng)管站上,網(wǎng)絡(luò)管理站會成為瓶頸开伏;只能從這些管理信息庫中獲得單個設(shè)備的局部信息膀跌,標(biāo)準(zhǔn)管理信息庫MIB-II(RFC1213)和各廠家的專有MIB庫主要提供設(shè)備端口狀態(tài)、流量固灵、錯誤包數(shù)等數(shù)據(jù)捅伤,要想獲得一個網(wǎng)段的性能信息是比較困難。

因此IETF提出了RMON(Remote Network Monitoring巫玻,RFC2021)以解決SNMP所面臨的局限性丛忆。RMON 由 SNMP MIB 擴(kuò)展而來,網(wǎng)絡(luò)監(jiān)視數(shù)據(jù)包含了一組統(tǒng)計(jì)數(shù)據(jù)和性能指標(biāo)仍秤,它們在不同的監(jiān)視器(或稱探測器)和控制臺系統(tǒng)之間相互交換熄诡。它可以主動地監(jiān)測遠(yuǎn)程設(shè)備,對設(shè)備端口所連接的網(wǎng)段上的各種流量信息進(jìn)行跟蹤統(tǒng)計(jì)诗力,如某段時間內(nèi)某網(wǎng)段上報文總數(shù)等凰浮。只要給予探測器足夠的資源,它還可以對數(shù)據(jù)設(shè)備進(jìn)行防防性監(jiān)視苇本,設(shè)備主動地對網(wǎng)絡(luò)性能進(jìn)行診斷并記錄網(wǎng)絡(luò)性能狀況袜茧,在發(fā)生故障時可以把信息及時通知管理者,相關(guān)信息分為統(tǒng)計(jì)量瓣窄、歷史笛厦、告警、事件等四個組康栈,可以預(yù)置規(guī)則递递。

3、NetFlow vs sFlow vs NetStream

NetFlow最早由 Cisco 研發(fā)的流量匯總標(biāo)準(zhǔn)啥么,最初用于網(wǎng)絡(luò)服務(wù)計(jì)費(fèi)登舞,本意不是為了流量分析和信息安全。它通過路由器提供收集IP網(wǎng)絡(luò)流量的能力悬荣,分析的NetFlow數(shù)據(jù)(UDP packets)感知網(wǎng)絡(luò)流量和擁塞情況菠秒。NetFlow的核心概念流(Flow),NetFlow直接從 IP Packet 中復(fù)制信息,包含來源及目的地践叠、服務(wù)的種類等字段:

  1. Source and destination IP address
  2. Input and output interface number
  3. Source and destination port number
  4. Layer 4 Protocol
  5. Number of packets in the flow
  6. Total Bytes in the flow
  7. Time stamp in the flow
  8. Source and destination AS
  9. TCP_Flag & TOS

NetFlow vs IPFIX NetFlow 的主力實(shí)現(xiàn)版本是 v5言缤,但是 v5 主要針對 IPv4 存在很多限制,因此 Cisco 推出了基于模版的 NetFlow v9 禁灼。在NetFlow v9 的基礎(chǔ)上管挟,IETF在2008年發(fā)布了標(biāo)準(zhǔn)化的 IPFIX( Internet Protocol Flow Information eXport)(RFC5101/5102),IPFIX 提供了幾百種流字段弄捕。另外僻孝,Juniper也有一套自己的標(biāo)準(zhǔn) J-Flow

sFlow (Sampled Flow, 采樣流守谓,RFC3176 )是另一種一種基于報文采樣的網(wǎng)絡(luò)流量監(jiān)控技術(shù)穿铆,主要用于對網(wǎng)絡(luò)流量進(jìn)行統(tǒng)計(jì)分析。sFlow 2001年由lnMon公司提出來斋荞,目前是IEFE的一個開放標(biāo)準(zhǔn)荞雏,可提供完整的第二層到第四層、全網(wǎng)絡(luò)范圍內(nèi)的流量信息平酿。sFlow 關(guān)注的是接口的流量情況凤优、轉(zhuǎn)發(fā)情況以及設(shè)備整體運(yùn)行狀況,因此適合于網(wǎng)絡(luò)異 常監(jiān)控以及網(wǎng)絡(luò)異常定位染服,通過 Collector 可以以報表的方式將情況反應(yīng)出來别洪,特別適合于企業(yè)網(wǎng)用戶 。sFlow Agent內(nèi)嵌于網(wǎng)絡(luò)設(shè)備中柳刮,在 sFlow 系統(tǒng)中收集流量統(tǒng)計(jì)數(shù)據(jù)發(fā)送到 Collector 端供分析挖垛。

NetStream 是H3C定義的一套網(wǎng)絡(luò)流量的數(shù)據(jù)統(tǒng)計(jì)方法。它需要由特定的設(shè)備支持秉颗,首先由設(shè)備自身對網(wǎng)絡(luò)流進(jìn)行初步的統(tǒng)計(jì)分析痢毒,并把統(tǒng)計(jì)信息儲存在緩存區(qū)。值得注意的是蚕甥,NetStream(IPv6)功能需要跟華為購買License哪替,并且NetStream功能和sFlow功能不能同時在同一接口板上配置。如果接口板已經(jīng)配置sFlow功能菇怀,則不能配置NetStream功能凭舶。

綜上所述,各種 NetFlow 方案都是基于網(wǎng)絡(luò)硬件設(shè)施生成或者軟件封包為流爱沟,不同的廠商標(biāo)準(zhǔn)不同帅霜,尤其需要考慮兼容性。同時呼伸,各種機(jī)制都可能對硬件造成性能問題身冀,特別是舊的型號存在更大的風(fēng)險,一般不輕易開啟。無論是硬件(中高端設(shè)備)還是軟件(nProbe搂根、nDPI)珍促、NetStream(IPv6),都意味著昂貴的費(fèi)用剩愧,需要充分考慮成本預(yù)算猪叙。

4、NetFlow的其它替代方案

基于軟件替代路由采集隙咸,基本都是采用封包的思路沐悦,將pcap文件當(dāng)作數(shù)據(jù)源或者直接從網(wǎng)絡(luò)接口上封包,通過解析Header聚合成流格式或者更豐富的輸出五督。常見的產(chǎn)品如下:

5、協(xié)議和用戶識別

我們可以把數(shù)據(jù)包想像成一封信瓶殃。根據(jù)解析數(shù)據(jù)報報頭的內(nèi)容充包,可以分析IP地址、端口號遥椿、協(xié)議基矮、報文格式等特征,分類后可以實(shí)現(xiàn)對各種應(yīng)用層協(xié)議的準(zhǔn)確識別冠场,如P2P(迅雷)家浇、即時通信(QQ、微信)碴裙、VPN钢悲、郵件等。當(dāng)然舔株,這只能算是“淺度”的數(shù)據(jù)包檢測莺琳,就好像是看看信封上的發(fā)件人和收件人 。

“深度”的數(shù)據(jù)包檢測载慈,可以理解成對信件內(nèi)容的探查──相比起暴力打開信封惭等,這種基于機(jī)器學(xué)習(xí)的技術(shù)更具有藝術(shù)性。它并不實(shí)際解讀數(shù)據(jù)包的內(nèi)容办铡,而是搜集周邊信息辞做,對數(shù)據(jù)流進(jìn)行“肖像刻劃”(Profiling)。國內(nèi)某研究團(tuán)隊(duì)曾發(fā)表論文“網(wǎng)絡(luò)流量分類寡具,研究進(jìn)展與展望”秤茅,文章提到了多種使用機(jī)器學(xué)習(xí)進(jìn)行“深度數(shù)據(jù)包檢測”(Deep Packet Inspection,DPI)的技術(shù)晒杈。對“墻”有興趣的同學(xué)可以深入了解,http://riboseyim.github.io/2017/05/12/GFW/ 嫂伞。

三、網(wǎng)絡(luò)數(shù)據(jù)可視化

1、面向流向分析的可視化

文中開頭我們就提到測量網(wǎng)絡(luò)的第一步就是獲得網(wǎng)絡(luò)拓?fù)鋱D帖努,如果要獲得全局角度實(shí)時感知能力撰豺,需要在拓?fù)涞幕A(chǔ)之上疊加通過各種網(wǎng)絡(luò)分析技術(shù)獲得的流量/Flow/事件等信息,進(jìn)而處理分析網(wǎng)絡(luò)異常流量拼余。能夠?qū)嵱玫臄?shù)據(jù)分析具有相當(dāng)?shù)膹?fù)雜性污桦,需要專門的工具軟件,區(qū)分正常流量數(shù)據(jù)和異常流量數(shù)據(jù)匙监、對于“異常模式”的算法訓(xùn)練都有一定門檻凡橱,因此存在大量的開源和商業(yè)解決方案。


2亭姥、面向故障診斷的可視化

  • 抓包工具:tcpdump稼钩、TShark、 WinDump
  • 圖形化工具:wireshark(客戶端)达罗、ntopng(webUI)
  • 自定義編程:R坝撑、Python(Python-Scapy)、Graphviz工具包

一個典型的故障場景:兩個服務(wù)之間發(fā)生故障粮揉、無法收發(fā)信息肛循,可以通過tcpdump的抓包丛塌,并將抓包結(jié)果在WireShark上分析,基于染色的方式通信失敗的報文被高亮提示。TCP通信中客戶端向服務(wù)端發(fā)送tcp zero window(表示沒有window可以接收新數(shù)據(jù))只怎,如果出現(xiàn)該特征一般可以確定故障是由接收端服務(wù)器TCP緩沖區(qū)占滿的引起何暮,應(yīng)將排查方向鎖定在接收端买猖。關(guān)于網(wǎng)絡(luò)數(shù)據(jù)包的捕獲询筏、過濾、分析的具體實(shí)現(xiàn)細(xì)節(jié)螃概,可以參考:Packet Capturing:關(guān)于網(wǎng)絡(luò)數(shù)據(jù)包的捕獲矫夯、過濾和分析

wireshark應(yīng)用案例:TCP Window Zero

在企業(yè)應(yīng)用中,網(wǎng)絡(luò)監(jiān)測數(shù)據(jù)通常需要與基礎(chǔ)監(jiān)控平臺融合才能發(fā)揮最大價值(開源的方案Zabbix/Ganglia/Nagios/Graphite等)吊洼。Collectd與Ganglia是競爭關(guān)系训貌,都是C語言開發(fā),數(shù)據(jù)輸出都是RRDTool,性能應(yīng)該差不多冒窍,Collectd不包含圖形化組件递沪。zabbix是覆蓋面比較廣的綜合套件,除了采集還有告警等其它管理功能综液,專業(yè)性和大規(guī)模應(yīng)用方面可能就不太強(qiáng)款慨。Nagios在思路方面比較接近zabbix,走的是綜合性路子,側(cè)重于告警方案:“Ganglia is more concerned with gathering metrics and tracking them over time while Nagios has focused on being an alerting mechanism.” 在Ganglia項(xiàng)目中提供了一個 gmond_proxy 可以搭配 sFlow-RT 支持 NetFlow/sFlow 的數(shù)據(jù)收集谬莹,如果是自己實(shí)現(xiàn) sFlow-RT 類似的組件也需要考慮對 Logstash/splunk的支持檩奠。

開源項(xiàng)目 開發(fā)語言 定位 說明
Collectd C 數(shù)據(jù)采集器 不包含圖形化組件
Ganglia C桩了,PHP(front-end) 數(shù)據(jù)采集器 包含一個Web圖形化組件
Zabbix C,PHP(front-end) Server-Client 不包含圖形化擴(kuò)展插件
Nagios C 埠戳,PHP(front-end) Core+Plugins 包含多種圖形化擴(kuò)展插件
Grafana Go 指標(biāo)數(shù)據(jù)的可視化展現(xiàn)板 需要提前對數(shù)據(jù)進(jìn)行時序化處理井誉,例如 InfluxDB 等

3、面向安全分析的可視化

  • 流向&協(xié)議:Ntopng
  • 地理位置服務(wù)整胃,根據(jù)IP地址確定改地址的物理位置信息(坐標(biāo)):MaxMind GeoIP
  • 安全威脅情報服務(wù)颗圣,通過信息共享渠道了解識別攻擊者的來源、類型和安全廠商確認(rèn)情況屁使,做到知己知彼在岂。



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蛮寂,隨后出現(xiàn)的幾起案子蔽午,更是在濱河造成了極大的恐慌,老刑警劉巖酬蹋,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祠丝,死亡現(xiàn)場離奇詭異,居然都是意外死亡除嘹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進(jìn)店門岸蜗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來尉咕,“玉大人,你說我怎么就攤上這事璃岳∧甓校” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵铃慷,是天一觀的道長单芜。 經(jīng)常有香客問我,道長犁柜,這世上最難降的妖魔是什么洲鸠? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮馋缅,結(jié)果婚禮上扒腕,老公的妹妹穿的比我還像新娘。我一直安慰自己萤悴,他們只是感情好瘾腰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著覆履,像睡著了一般蹋盆。 火紅的嫁衣襯著肌膚如雪费薄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天栖雾,我揣著相機(jī)與錄音楞抡,去河邊找鬼。 笑死岩灭,一個胖子當(dāng)著我的面吹牛拌倍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播噪径,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼柱恤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了找爱?” 一聲冷哼從身側(cè)響起梗顺,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎车摄,沒想到半個月后寺谤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吮播,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年变屁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片意狠。...
    茶點(diǎn)故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡粟关,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出环戈,到底是詐尸還是另有隱情闷板,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布院塞,位于F島的核電站遮晚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏拦止。R本人自食惡果不足惜县遣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望创泄。 院中可真熱鬧艺玲,春花似錦、人聲如沸鞠抑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搁拙。三九已至秒梳,卻和暖如春法绵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背酪碘。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工朋譬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人兴垦。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓徙赢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親探越。 傳聞我的和親對象是個殘疾皇子狡赐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容