一種判斷路由器數(shù)據(jù)是否被竄改的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及路由器數(shù)據(jù)領(lǐng)域,特別涉及一種判斷路由器數(shù)據(jù)是否被竄改的方法。
【背景技術(shù)】
[0002]當前我們正生活在“任意互聯(lián)”的時代,網(wǎng)絡(luò)安全正在面臨前所未有的挑戰(zhàn),網(wǎng)絡(luò)數(shù)據(jù)竄改成了常見的網(wǎng)絡(luò)攻擊手段之一。網(wǎng)絡(luò)數(shù)據(jù)竄改通常來源于不同的源節(jié)點或者去往不同的目的節(jié)點。如網(wǎng)頁數(shù)據(jù)竄改,攻擊者通過利用網(wǎng)站服務(wù)器的操作系統(tǒng)和服務(wù)程序的漏洞提升自身權(quán)限,繼而上傳木馬來達到目的。又如攻擊者采取DNS欺騙,竄改DNS的應(yīng)答數(shù)據(jù)包,將被攻擊者的訪問重新定位到攻擊者指定的位置。
[0003]傳統(tǒng)路由器數(shù)據(jù)轉(zhuǎn)發(fā)平面存在潛在的安全風險,攻擊者通過載荷比特流觸發(fā)預(yù)置后門或者服務(wù)漏洞,對路由器進行網(wǎng)絡(luò)攻擊、信息竊取、信息竄改和節(jié)點致癱等。比如:攻擊者利用預(yù)置或者后置的漏洞控制路由器,通過竄改IP地址將業(yè)務(wù)數(shù)據(jù)重定向指定的目的地,并組裝原始報文,從而造成信息泄漏;通過竄改源IP地址,偽造具有虛假源IP數(shù)據(jù)包進行發(fā)送,以達到隱藏發(fā)送者身份、假冒其它網(wǎng)絡(luò)主機等目的,從而造成IP源地址欺騙。
[0004]路由器是信息網(wǎng)絡(luò)互連互通的骨干,其基于路由協(xié)議互連組成了信息網(wǎng)絡(luò)的骨架,保證了網(wǎng)絡(luò)數(shù)據(jù)能夠按照要求從源節(jié)點到達目的節(jié)點。由于核心器件無法實現(xiàn)完全自動可控,路由器上可能存在未知的后門程序,網(wǎng)絡(luò)數(shù)據(jù)存在被惡意竄改或竊取的危險。由于路由器在網(wǎng)絡(luò)中的重要地位和作用,路由器上的數(shù)據(jù)被惡意竄改嚴重威脅到了網(wǎng)絡(luò)的正常運行和用戶的信息安全。
【發(fā)明內(nèi)容】
[0005]本發(fā)明針對以上問題,提供了一種判斷路由器數(shù)據(jù)是否被竄改的方法,該方法可以準確判斷路由器數(shù)據(jù)是否被竄改,以便及時對路由器進行防竄改處理。
[0006]本發(fā)明的技術(shù)方案是:
一種判斷路由器數(shù)據(jù)是否被竄改的方法,含有下列步驟:
步驟1、標識添加過程:
在路由器輸入端,使用預(yù)定的計算方法,根據(jù)標識和報文信息分別計算第一標識特征碼和第一報文特征碼,并將標識、第一標識特征碼及第一報文特征碼附加在報文尾部;
步驟2、標識驗證過程:
在路由器輸出端,使用和輸入端相同的計算方法,根據(jù)標識計算第二標識特征碼;將第二標識特征碼與第一標識特征碼進行比較;若第一標識特征碼和第二標識特征碼相同,則表示標識沒有被竄改;否則表示標識被竄改,同時可認為路由器數(shù)據(jù)已被竄改;
步驟3、報文還原過程:
對于步驟2中標識未被竄改的報文,按照路由器正常處理報文的流程對報文進行還原; 步驟4、報文驗證過程:
步驟4.1:使用和輸入端同樣的計算方法,根據(jù)還原后的報文信息計算第二報文特征碼;
步驟4.2:將第二報文特征碼與第一報文特征碼進行比較;若第一報文特征碼和第二報文特征碼相同,則表示路由器數(shù)據(jù)沒有被竄改,否則表示路由器數(shù)據(jù)已被竄改。
[0007]步驟1中在路由器輸入端設(shè)有計數(shù)器,每進入一個報文,計數(shù)器加1,并將此值作為標識附加在報文尾部。
[0008]步驟2的具體實現(xiàn)方式為:
步驟2.1:在路由器的輸入端,報文標識X通過函數(shù)F(x)計算出標識特征碼F(x)’,F(xiàn)(X)’稱為第一標識特征碼;
步驟2.2:若路由器存在竄改行為,在路由器輸出端,報文標識為X’,通過函數(shù)F(x)計算出標識特征碼F(x’),F(xiàn)(x’)稱為第二標識特征碼;
步驟2.3:比較第一標識特征碼F(x) ’和第二標識特征碼F(x’),若相同,則表示標識沒有被竄改,否則表示標識被竄改,同時可認為路由器數(shù)據(jù)已被竄改。
[0009]步驟1、步驟2和步驟4中的計算方法采用安全哈希算法(Secure Hash Algorithm,SHA),步驟2中的函數(shù)F(x)為安全哈希算法中的SHA-1函數(shù),SHA-1函數(shù)是接收一段明文,然后以一種不可逆的方式將它轉(zhuǎn)換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼,并把它們轉(zhuǎn)化為長度較短、位數(shù)固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。因此,對于任意輸入的標識信息或者報文信息,SHA-1函數(shù)會產(chǎn)生一個160位的第一標識特征碼或者第二標識特征碼。
[0010]步驟3中路由器正常處理報文時會對報文相關(guān)字段進行修改,被修改的相關(guān)字段是TTL值、分片、標志位、偏移量、報文長度和校驗和中任意一個。
[0011 ]步驟3的具體實現(xiàn)方式為:
步驟3.1:針對標識未被竄改的報文,首先TTL值加1,提取標識,利用標識在報文緩存中索引出與該報文具有相同標識的原始報文,提取第一報文特征碼;
步驟3.2:若步驟2中標識未被竄改的報文的分片標志為1,則表示該報文在路由器中做過分片處理;若步驟2中標識未被竄改的報文的分片標志為0,則表示該報文在路由器中沒有做過分片處理;
步驟3.3:如果該報文是原始報文的分片包,則重裝分片包還原出原始報文;如果該報文不是原始報文的分片包,則更新該報文首部校驗和從而還原出原始報文。
[0012]步驟1和步驟4中的報文信息是報文的IP地址、端口號、協(xié)議號、TCPflag和負載。
[0013]本發(fā)明的有益積極效果是:
本發(fā)明在路由器輸入端,通過函數(shù)F(x)計算出第一標識特征碼和第一報文特征碼,分別與在輸出端通過同樣的計算方法計算出的第二標識特征碼和根據(jù)還原后的報文信息計算出的第二報文特征碼進行比較,比較結(jié)果用于判斷路由器數(shù)據(jù)是否在路由器處理過程中被竄改。運用此方法可準確判斷路由器數(shù)據(jù)是否被竄改,以便及時對路由器進行防竄改處理,以保護網(wǎng)絡(luò)的正常運行和用戶的信息安全。
【附圖說明】
[0014]圖1為本發(fā)明的流程圖;
圖2為本發(fā)明標識添加過程的流程圖; 圖3為本發(fā)明標識驗證過程的流程圖;
圖4為本發(fā)明報文還原過程的流程圖;
圖5為本發(fā)明報文驗證過程的流程圖。
【具體實施方式】
[0015]參見圖1至圖5所示,一種判斷路由器數(shù)據(jù)是否被竄改的方法,含有下列步驟:
步驟1、標識添加過程:
在路由器輸入端,使用預(yù)定的計算方法,根據(jù)標識和報文信息分別計算第一標識特征碼和第一報文特征碼,并將標識、第一標識特征碼及第一報文特征碼附加在報文尾部;
步驟2、標識驗證過程:
在路由器輸出端,使用和輸入端相同的計算方法,根據(jù)標識計算第二標識特征碼;將第二標識特征碼與第一標識特征碼進行比較;若第一標識特征碼和第二標識特征碼相同,則表示標識沒有被竄改;否則表示標識被竄改,同時可認為路由器數(shù)據(jù)已被竄改;
步驟3、報文還原過程:
對于步驟2中標識未被竄改的報文,按照路由器正常處理報文的流程對報文進行還原; 步驟4、報文驗證過程:
步驟4.1:使用和輸入端同樣的計算方法,根據(jù)還原后的報文信息計算第二報文特征碼;
步驟4.2:將第二報文特征碼與第一報文特征碼進行比較;若第一報文特征碼和第