999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于活躍節(jié)點庫的以太坊加密流量識別方法

2020-09-10 06:50:46胡曉艷童鐘奇吳樺許昱瑋
網(wǎng)絡空間安全 2020年8期
關鍵詞:實驗信息

胡曉艷,童鐘奇,吳樺,許昱瑋

〔1.東南大學網(wǎng)絡空間安全學院,江蘇南京 211189;2.計算機網(wǎng)絡和信息集成教育部重點實驗室(東南大學),江蘇南京 211189;3.網(wǎng)絡空間國際治理研究基地(東南大學),江蘇南京 211189;4.網(wǎng)絡通信與安全紫金山實驗室,江蘇南京 211111〕

1 引言

區(qū)塊鏈是一種由多方共同維護,能夠?qū)崿F(xiàn)數(shù)據(jù)一致存儲、不可篡改、多方訪問、去中心化的記賬技術,也稱為分布式賬本技術。區(qū)塊鏈技術誕生于中本聰名為《比特幣:一種點對點式的電子現(xiàn)金系統(tǒng)》[1]的論文中,它為進一步解決互聯(lián)網(wǎng)中的信任問題、安全問題和效率問題提供了新的解決方案,也為金融等行業(yè)的發(fā)展帶來了新的機遇和挑戰(zhàn)。近年來,區(qū)塊鏈技術的應用逐漸廣泛,據(jù)Cisco預測[2],2027年區(qū)塊鏈行業(yè)將占全球GDP的10%,但隨之而來的監(jiān)管問題也變得愈發(fā)突出。區(qū)塊鏈匿名性和多方維護的設計,使得區(qū)塊鏈的有效監(jiān)管十分棘手。

作為區(qū)塊鏈中的代表性應用,以太坊在中本聰提出的區(qū)塊鏈結(jié)構(gòu)基礎上,引入了私有RLPx加密協(xié)議對數(shù)據(jù)打包和加密,進一步加強了其匿名性,這也使得以太坊成為了驅(qū)使網(wǎng)絡安全事件發(fā)生的催化劑。據(jù)PeckShield統(tǒng)計[3],僅2019年就有超177起區(qū)塊鏈安全事件發(fā)生,造成的經(jīng)濟損失高達76.79億美元。因此,監(jiān)管以太坊流量從而及時發(fā)現(xiàn)攻擊行為對以太坊的穩(wěn)定運行至關重要,而以太坊流量監(jiān)管的第一步就是對以太坊加密流量的識別。

已有研究中的加密流量識別方法可以分為數(shù)據(jù)分組負載隨機性檢測方法[4,5]、基于有效負載的識別方法[6,7]和基于機器學習的識別方法[8]。數(shù)據(jù)分組隨機性檢測方法需要對數(shù)據(jù)流中不完全隨機加密特征字段進行識別;基于有效負載的識別方法分析提取數(shù)據(jù)中未加密部分進行識別;基于機器學習的識別方法通過提取加密流特征,結(jié)合機器學習方法,實現(xiàn)加密流量識別。而國內(nèi)外涉及以太坊加密流量的研究集中在對以太坊應用的識別和對以太坊拓撲結(jié)構(gòu)的構(gòu)建上。對以太坊應用識別主要是對在以太坊平臺上開發(fā)的Dapps的識別[11],其本質(zhì)還是對傳統(tǒng)TLS流量的分類,不是針對以太坊私有協(xié)議加密流量的研究;對以太坊節(jié)點拓撲的構(gòu)建是通過NetFlow流[12]或者主動探測[13]的方法收集以太坊節(jié)點信息,構(gòu)建以太坊拓撲結(jié)構(gòu),這些方案也沒有對以太坊加密流量進行深入研究,無法準確識別以太坊加密流量。

綜上所述,為夯實以太坊網(wǎng)絡監(jiān)管的第一步,本文提出一種基于活躍節(jié)點的以太坊加密流量識別方法,通過活躍節(jié)點庫過濾以太坊節(jié)點,提高了識別效率,進一步實現(xiàn)以太坊加密流量準確識別。

2 以太坊相關背景

2.1 基礎架構(gòu)

以太坊的基本機構(gòu)如圖1所示,一般將其分為自底向上的6層結(jié)構(gòu)。數(shù)據(jù)層定義了區(qū)塊內(nèi)部數(shù)據(jù)存儲格式、區(qū)塊的鏈式相連方式以及以太坊錢包地址采用的非對稱加密方法;網(wǎng)絡層則定義了以P2P為基礎的RLPx數(shù)據(jù)格式化打包和數(shù)據(jù)傳播協(xié)議;共識層則采用了POW(Proof of Work,工作量證明)和POA(Proof of Authority,授權(quán)證明)共識方法;激勵層定義了礦工成功打包區(qū)塊和運行以太坊合約時的獎勵方法;合約層包含了以太坊所有的智能合約,是以太坊實現(xiàn)自定義的、具備圖靈完備性的分布式應用的基礎,它運行在獨立的以太坊虛擬機EVM上;應用層是在以太坊平臺上,使用智能合約編寫的不同的去中心化應用。本文主要關注的是以太坊的網(wǎng)絡層中RLPx協(xié)議的加密方法和通信過程,因此,下面將主要介紹RLPx協(xié)議的基本概念和相關內(nèi)容。

圖1 以太坊分層結(jié)構(gòu)

2.2 RLPx協(xié)議

RLPx跟隨RLP(Recursive Length Prefix)命名,RLP是以太坊中采用的數(shù)據(jù)序列格式化的方法。RLPx協(xié)議中定義了基于UDP的不加密節(jié)點發(fā)現(xiàn)過程和基于TCP的加密數(shù)據(jù)傳輸過程。

圖2是RLPx連接建立過程的示意圖。由于以太坊基于P2P設計,因此當一個節(jié)點加入以太坊網(wǎng)絡時,首先是節(jié)點的發(fā)現(xiàn)過程。RLPx基于UDP實現(xiàn)了其他節(jié)點的發(fā)現(xiàn)。起始時通過Ping內(nèi)部預置的一些公開節(jié)點,對返回Pong的節(jié)點進一步發(fā)送請求獲取鄰居節(jié)點信息,并用K桶保存這些節(jié)點信息。

在建立TCP連接前,會通過UDP的Ping-Pong來確認連接的可用性。連接建立過程中首先會通過Enchandshake握手過程確定此次連接的臨時通信密鑰。EncHandshake握手過程中雙方使用自身信息隨機的各自生成一個私鑰,然后將對應公鑰發(fā)送給另一方,最后雙方通過手中的私鑰和對方的公鑰生成一個共享密鑰,此次連接的信道上將會使用此共享密鑰加密傳輸信息。該共享密鑰只在本次通信過程中保持有效,保證了以太坊的完備的前向安全性。隨后將會進行狀態(tài)的同步和區(qū)塊同步等操作,保證節(jié)點與整個以太坊信息的一致。

由于以太坊通信內(nèi)容都采用了RLP方法進行序列格式化,并且定義的通信內(nèi)容格式間也存在著相似性,導致UDP報文在大小和內(nèi)容之間存在著很多的重復性,TCP報文在握手過程和通信內(nèi)容大小上也存在很多的相似,這些相似的內(nèi)容為識別以太坊加密流量提供了可用的特征。本文因此提出了一種基于以太坊活躍節(jié)點的以太坊加密流量識別方法。下一章將會介紹算法的整體設計。

3 算法設計

本文將會介紹基于活躍節(jié)點庫的以太坊加密流量識別方法的具體設計。圖3是整個算法實現(xiàn)的結(jié)構(gòu)圖。

圖2 RLPx協(xié)議通信過程

圖3 以太坊加密流量識別算法結(jié)構(gòu)圖

算法包含了兩個主要部分,節(jié)點庫設計部分和流量處理部分。核心節(jié)點庫存儲支撐以太坊運行的核心節(jié)點信息,活躍節(jié)點庫基本覆蓋區(qū)域內(nèi)所有的以太坊節(jié)點。因此,可以認為區(qū)域內(nèi)所有的以太坊流量不是從活躍節(jié)點庫中發(fā)出的就是以活躍節(jié)點庫中的節(jié)點為目的地址。算法首先判斷流量源宿地址是否在活躍節(jié)點庫中存在記錄,對存在記錄的流量轉(zhuǎn)入流量處理部分。在流量處理部分會分別對UDP流量和TCP流量進行識別,將以太坊UDP報文識別結(jié)果作為TCP識別的基礎,同時采用UDP和TCP識別結(jié)果共同更新維護活躍節(jié)點庫中信息。下面是對這兩部分的詳細介紹。

3.1 節(jié)點庫設計

以太坊節(jié)點庫包含以太坊核心節(jié)點庫和以太坊活躍節(jié)點庫。以太坊維護機構(gòu)為保證以太坊POW共識算法的可靠性,維持以太坊的正常運行,設置了部分以太坊節(jié)點并公開了這些節(jié)點的信息。此外,以太坊會在Geth等工具中內(nèi)置一些以太坊節(jié)點以保證新節(jié)點加入時能與鄰居節(jié)點建立連接。本文引入核心節(jié)點庫存儲這兩種節(jié)點信息,在算法起始時填充活躍節(jié)點庫。

活躍節(jié)點庫包含了當前區(qū)域內(nèi)所有活躍的以太坊節(jié)點的信息,活躍節(jié)點庫初始由核心節(jié)點庫填充,隨著算法的運行,活躍節(jié)點庫不斷趨于收斂,最終實現(xiàn)對整個區(qū)域內(nèi)以太坊活躍節(jié)點的記錄。不同區(qū)域中活躍節(jié)點庫的信息可能有所區(qū)別,而整個以太坊的核心節(jié)點庫信息保持一致。

3.2 流量識別方法

由于以太坊流量中包含了UDP流量和TCP流量,因此針對兩者采用不同的處理方式。以太坊在建立TCP連接前會通過UDP的Ping-Pong探測節(jié)點的可用性或獲取相關的鄰居節(jié)點信息,因此,算法首先會針對UDP流量進行識別。

如圖4所示,以太坊UDP定義了四種結(jié)構(gòu),包括Ping、Pong、FindNode和Neighbors。以太坊Ping-Pong過程是對等節(jié)點對某另一個節(jié)點可用性的探測過程。FindNode用來向自己的鄰居節(jié)點查詢距離目的節(jié)點比較近的鄰居節(jié)點。Neighbors是對FindNode的回應,包含了該節(jié)點中距離目的節(jié)點較近的節(jié)點的信息。此外,以太坊RLPx協(xié)議中對UDP流量是不加密的,因此以太坊的UDP流量表現(xiàn)出了極高的相似性,報文大小、報文順序等都有著極高的統(tǒng)一性。

對于探測節(jié)點是否可用的Ping-Pong過程,一條UDP流中可能會包含一次或多次重復的Ping-Pong,Ping報文的內(nèi)容大小約為127B,而Pong包內(nèi)容稍大,約為150B;針對鄰居節(jié)點信息獲取的過程,首先會是一次或者多次的節(jié)點可用性的探測,當節(jié)點可用時會發(fā)送一個FindNode報文,對等節(jié)點也返回一個Neighbors報文,該次的鄰居節(jié)點信息獲取過程結(jié)束。其中,F(xiàn)indNode內(nèi)容大小固定為171B,且返回的Neighbors是固定的兩個1057B和425B的報文。此外,以太坊會選用較高的通信端口,初始的默認端口號為30303,若端口號30303被占用會重新選擇端口,一般選用10000以上的端口號。

針對以太坊TCP流量,其RLPx協(xié)議一共定義了以太坊TCP中的12種報文格式,為區(qū)分其中的相似報文,在發(fā)送相似報文前會發(fā)送一個固定大小的標識報文標識將要發(fā)送的報文格式。此外,以太坊TCP的Enchandshake是通信的第一步,由連接發(fā)起方開始,雙方交換一次大小約500B的自身信息實現(xiàn)Enchandshake握手。

圖4 以太坊UDP報文數(shù)據(jù)結(jié)構(gòu)

綜上,當一個待識別流的源、宿地址在以太坊活躍節(jié)點庫中存在記錄時,轉(zhuǎn)入以太坊流量識別過程。首先判斷雙方是否存在UDP流量,進而判斷UDP端口是否是較高端口,其次結(jié)合UDP的Ping-Pong報文大小、Ping-Pong報文順序以及NodeFide報文Neighbors報文的大小、順序進一步確定是否是以太坊UDP流量。對確認存在以太坊UDP流量的節(jié)點進行記錄,更新活躍節(jié)點庫信息,轉(zhuǎn)入對TCP流量的識別。對于TCP流量,首先通過高端口號初步判斷是否是以太坊TCP流量,在TCP握手后判斷是否進行Enchandshake握手過程,最后,對傳輸內(nèi)容的報文大小進行統(tǒng)計,設置閾值,該閾值反映了流量中標識報文和相似行為報文的出現(xiàn)頻率,滿足高端口特性、進行了Enchandshake并且統(tǒng)計結(jié)果高于閾值的即為以太坊TCP流量,同時更新以太坊活躍節(jié)點庫中信息。

4 實驗結(jié)果與分析

4.1 實驗數(shù)據(jù)準備

為獲取以太坊核心節(jié)點信息,本文使用網(wǎng)絡爬蟲方法爬取以太坊節(jié)點統(tǒng)計網(wǎng)站ethernodes.org中公開節(jié)點,共爬取了5,672個公開節(jié)點填充核心節(jié)點庫。由于缺乏可用的以太坊流量數(shù)據(jù)集,本文參考使用了文獻[13]中NodeFinder的設計,同時為了保證收集到足夠可用的TCP流量,本文延長了NodeFinder中的連接保持時間至2min,一般會在此時間內(nèi)完成多次交易的轉(zhuǎn)發(fā)和區(qū)塊的同步。為保證最終實驗結(jié)果的準確性,需要保證活躍節(jié)點庫達到收斂。考慮到現(xiàn)實情況中識別是一個持續(xù)的過程,本文采用兩組數(shù)據(jù)進行實驗,第一組數(shù)據(jù)是模擬現(xiàn)實環(huán)境對活躍節(jié)點庫進行填充。第二組數(shù)據(jù)中混入背景流量,測試實驗結(jié)果。本文設置了兩臺位于同一子網(wǎng)中的設備分別抓取了實驗數(shù)據(jù)一和實驗數(shù)據(jù)二,具體實驗數(shù)據(jù)如表1所示。

表1 實驗數(shù)據(jù)

4.2 實驗結(jié)果

為研究UDP中報文大小范圍設置對結(jié)果的影響,在排除425B和1057B的固定大小的UDP報文的影響后,本文分別設置算法中UDP報文大小范圍從[110,200]至[110,320],實驗結(jié)果如圖5所示。為研究TCP中閾值對實驗準確率的影響,本文分別對閾值為7%至15%進行了實驗,實驗結(jié)果如圖6所示。

圖5 報文范圍對UDP識別結(jié)果的影響

由圖5可以看出,隨著UDP報文大小范圍的增加,準確率先降低再升高再降低,精確率持續(xù)降低,召回率在[110,300]處提升明顯。這是因為以太坊UDP報文在剔除425B、1057B兩種固定大小的報文后,主要分布在[110,200]和[280,300]的區(qū)間內(nèi),而報文大小范圍的增加會導致將非以太坊流量誤判為以太坊流量的比例增加。因此,準確率會在[110,280]和[280,300]之間提升,而整體呈現(xiàn)下降趨勢,精確率則會因為誤判的增加而持續(xù)降低,召回率在[110,280]和[280,300]也會有顯著提升而整體呈現(xiàn)緩慢上升趨勢。

由圖6可以看出,隨著閾值的不斷升高,準確率和精確率不斷上升,而召回率程現(xiàn)下降趨勢。這是因為隨著閾值的提升,將以太坊流量誤判為非以太坊流量的比例不斷上升,將非以太坊流量誤判為以太坊流量的比例都不斷下降,但將以太坊流量誤判為非以太坊流量的上升趨勢較將非以太坊流量誤判為以太坊流量的下降趨勢更不明顯,因此整體呈現(xiàn)的效果就是準確率和精確率緩慢提升,而召回率不斷下降。

圖6 閾值對TCP結(jié)果的影響

5 結(jié)束語

本文進行了以太坊加密流量識別的研究,提出了一種基于以太坊活躍節(jié)點庫的以太坊加密流量識別方法,在獲取區(qū)域內(nèi)以太坊節(jié)點信息構(gòu)建以太坊活躍節(jié)點庫的基礎上,針對以太坊UDP和TCP流量分別進行了識別,在實驗中得到了較高的識別準確率、精確率和召回率。

但是,由于目前尚無針對以太坊加密流量識別的工作,因而實驗結(jié)果中缺乏對比實驗,針對這一缺憾,本文后續(xù)工作將會跟進學術界最新進展,在出現(xiàn)了相關研究工作時進行對比實驗。

猜你喜歡
實驗信息
記一次有趣的實驗
微型實驗里看“燃燒”
做個怪怪長實驗
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
NO與NO2相互轉(zhuǎn)化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
《實驗流體力學》征稿簡則
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 久久久久久久久久国产精品| 日本免费精品| 国产日本欧美亚洲精品视| 欧美a级完整在线观看| 91亚洲精品国产自在现线| 色综合激情网| AV网站中文| 亚洲综合色在线| 伊大人香蕉久久网欧美| 亚洲精品第1页| 成人午夜网址| 伊人91在线| 亚洲全网成人资源在线观看| 性激烈欧美三级在线播放| 婷婷丁香在线观看| 欧美成人午夜在线全部免费| 欧美午夜小视频| 国产精品伦视频观看免费| 国产亚洲欧美日本一二三本道| 亚洲国产欧美国产综合久久 | 九色视频在线免费观看| 亚洲人成人伊人成综合网无码| 免费福利视频网站| 一级黄色片网| 久久精品人妻中文系列| 中国国产高清免费AV片| 亚洲福利一区二区三区| 久久精品国产在热久久2019| 亚洲人成网站18禁动漫无码| 伊人五月丁香综合AⅤ| 欧美日韩在线第一页| www.亚洲国产| 波多野结衣中文字幕一区| 亚洲一级毛片免费看| 精品欧美一区二区三区久久久| 国产免费怡红院视频| 国产99久久亚洲综合精品西瓜tv| 久精品色妇丰满人妻| 亚洲乱码在线播放| 免费一级全黄少妇性色生活片| 午夜久久影院| 午夜无码一区二区三区| 综合五月天网| 99久久人妻精品免费二区| 日韩欧美网址| 在线国产91| 日本一区二区三区精品国产| 99国产精品免费观看视频| 欧美成人二区| 欧美成人精品一区二区| 狠狠做深爱婷婷久久一区| 国产精品99久久久| 在线网站18禁| 国产成人永久免费视频| 在线无码九区| 国产真实乱子伦精品视手机观看 | 亚洲成a人片在线观看88| 国产精品所毛片视频| 亚洲狠狠婷婷综合久久久久| 免费中文字幕在在线不卡 | 精品偷拍一区二区| 亚洲天堂在线免费| 婷婷久久综合九色综合88| 丁香婷婷激情网| 国产成人综合在线视频| 毛片久久久| 国内精品视频在线| 国产麻豆永久视频| 亚洲欧美成aⅴ人在线观看| 亚洲黄色高清| 国产清纯在线一区二区WWW| 亚洲中文字幕无码爆乳| 国产第三区| 国产毛片网站| 67194成是人免费无码| yjizz国产在线视频网| 美女无遮挡免费视频网站| 亚洲综合天堂网| 国产在线一区二区视频| 99在线国产| 国产Av无码精品色午夜| 国产一级特黄aa级特黄裸毛片|