本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及到數(shù)據(jù)安全傳輸,具體涉及一種擬態(tài)數(shù)據(jù)傳輸服務(wù)器及數(shù)據(jù)傳輸方法。
背景技術(shù):
在互聯(lián)網(wǎng)環(huán)境下,數(shù)據(jù)傳輸有可靠數(shù)據(jù)傳輸和不可靠數(shù)據(jù)傳輸。在TCP/IP協(xié)議棧下,可靠數(shù)據(jù)傳輸?shù)牡湫蛥f(xié)議是傳輸控制協(xié)議(TCP),不可靠數(shù)據(jù)傳輸是用戶數(shù)據(jù)報(bào)協(xié)議(UDP),此外針對(duì)TCP傳輸流式數(shù)據(jù)中遇到的問(wèn)題,人們提出了流控傳輸協(xié)議(SCTP)。雖然IETF針對(duì)這些協(xié)議定義了RFC,但由于操作系統(tǒng)的不同以及實(shí)現(xiàn)人員的理解差異,在不同操作系統(tǒng)下即使同樣的協(xié)議,也出現(xiàn)差異。客戶端通過(guò)向服務(wù)端發(fā)送連接請(qǐng)求,根據(jù)服務(wù)端發(fā)回的響應(yīng),可判斷服務(wù)端使用的是哪種操作系統(tǒng)、哪個(gè)系統(tǒng)版本以及哪種協(xié)議。這就為網(wǎng)絡(luò)攻擊者提供了攻擊對(duì)象的必要信息。
為使攻擊者不能準(zhǔn)確地判斷服務(wù)端所采用系統(tǒng)及其他信息,本發(fā)明借鑒生物學(xué)中的擬態(tài)思路,使服務(wù)端在不同時(shí)期、針對(duì)不同的客戶端,做出不同的響應(yīng),使客戶端不能準(zhǔn)確地判斷服務(wù)端的有關(guān)信息,從而達(dá)到干擾客戶端判斷的目的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種服務(wù)端擬態(tài)數(shù)據(jù)傳輸方法,該方法使客戶端不能準(zhǔn)確地判斷服務(wù)端的有關(guān)信息,阻止攻擊者進(jìn)一步實(shí)施有針對(duì)性的攻擊。
為達(dá)到上述發(fā)明目的,本發(fā)明一種擬態(tài)數(shù)據(jù)傳輸服務(wù)器,所述服務(wù)器包含:擬態(tài)協(xié)議特征管理模塊、擬態(tài)協(xié)議選擇模塊和擬態(tài)協(xié)議數(shù)據(jù)傳輸模塊;
所述擬態(tài)協(xié)議特征管理模塊,用于采用協(xié)議特征數(shù)據(jù)庫(kù)的形式管理若干的協(xié)議特征,所述協(xié)議特征包含:協(xié)議類(lèi)型、操作系統(tǒng)類(lèi)型、階段碼和響應(yīng)碼;所述協(xié)議特征數(shù)據(jù)庫(kù)可以獨(dú)立于擬態(tài)協(xié)議特征管理模塊設(shè)置或者位于擬態(tài)協(xié)議特征管理模塊上。
所述擬態(tài)協(xié)議選擇模塊,用于基于客戶端的請(qǐng)求偽裝一個(gè)包含特定的操作系統(tǒng)和協(xié)議類(lèi)型的虛擬服務(wù)器,并將虛擬服務(wù)器采用的特定操作系統(tǒng)和協(xié)議類(lèi)型的相關(guān)信息發(fā)回發(fā)出請(qǐng)求的客戶端;
其中,所述特定的操作系統(tǒng)和協(xié)議類(lèi)型來(lái)自于協(xié)議特征數(shù)據(jù)庫(kù);
所述擬態(tài)協(xié)議數(shù)據(jù)傳輸模塊,用于基于擬態(tài)協(xié)議選擇模塊為客戶端構(gòu)建的虛擬服務(wù)器完成一次會(huì)話中客戶端和服務(wù)端之間的數(shù)據(jù)傳輸。
可選的,上述服務(wù)器還包含:協(xié)議特征采集模塊,用于采用人類(lèi)工程學(xué)的方法,或者安裝相應(yīng)操作系統(tǒng)或客戶端實(shí)測(cè)的方法采集協(xié)議特征,并將采集得到的協(xié)議特征的特征碼存入?yún)f(xié)議特征數(shù)據(jù)庫(kù);其中,采用協(xié)議特征采集模塊采集得到的協(xié)議特征通過(guò)所述擬態(tài)協(xié)議特征管理模塊輸入到協(xié)議特征數(shù)據(jù)庫(kù)。
可選的,上述服務(wù)器還包含:解析模塊,用于基于服務(wù)器得到的用戶請(qǐng)求,判斷客戶端的協(xié)議類(lèi)型。
上述擬態(tài)協(xié)議選擇模塊進(jìn)一步包含:
操作系統(tǒng)類(lèi)型獲取模塊,用于采用如下方法之一獲取服務(wù)器的虛擬操作系統(tǒng)的類(lèi)型:
方法一:根據(jù)服務(wù)器接收的客戶端的IP地址、端口號(hào)、請(qǐng)求時(shí)間和階段碼,計(jì)算得到操作系統(tǒng)類(lèi)型;
方法二,采用隨機(jī)方法確定操作系統(tǒng)類(lèi)型;
方法三,采用客戶端的請(qǐng)求命令發(fā)出時(shí)間確定操作系統(tǒng)類(lèi)型;
響應(yīng)碼獲取子模塊,用于根據(jù)解析得到的客戶端的協(xié)議類(lèi)型、虛擬操作系統(tǒng)的類(lèi)型、客戶端發(fā)送的階段碼為鍵值,搜索協(xié)議特征數(shù)據(jù)庫(kù),得出響應(yīng)碼,以此響應(yīng)碼對(duì)客戶端請(qǐng)求做出響應(yīng);
記錄子模塊,用于采用四元組列表記錄為一個(gè)客戶端設(shè)定的虛擬操作系統(tǒng)類(lèi)型,所述四元組列表包含的元素依次為:客戶端IP、端口號(hào)、操作系統(tǒng)類(lèi)型和協(xié)議類(lèi)型。
此外,本發(fā)明還提供了一種擬態(tài)數(shù)據(jù)傳輸方法,該數(shù)據(jù)傳輸方法采用上述擬態(tài)數(shù)據(jù)傳輸服務(wù)器為客戶端傳輸數(shù)據(jù),所述數(shù)據(jù)傳輸方法包含:
步驟101)客戶端發(fā)出服務(wù)請(qǐng)求,建立服務(wù)器和客戶端的連接;
步驟102)以客戶端發(fā)送的客戶端IP地址、端口號(hào)和協(xié)議類(lèi)型為鍵值獲得服務(wù)器端的虛擬操作系統(tǒng)的類(lèi)型;
其中,虛擬操作系統(tǒng)的類(lèi)型包含:服務(wù)器實(shí)際采用的操作系統(tǒng)和未被服務(wù)器實(shí)際采用而存儲(chǔ)在協(xié)議特征數(shù)據(jù)庫(kù)的操作系統(tǒng);
步驟103)以客戶端的協(xié)議類(lèi)型,虛擬操作系統(tǒng)的類(lèi)型和客戶端發(fā)送的階段碼為鍵值,搜索協(xié)議特征數(shù)據(jù)庫(kù),進(jìn)而得到響應(yīng)碼或響應(yīng)例程,并基于得到的響應(yīng)碼或響應(yīng)例程進(jìn)行客戶端和服務(wù)器之間的一次會(huì)話的數(shù)據(jù)傳輸;
其中,協(xié)議特征數(shù)據(jù)庫(kù)為用于存儲(chǔ)采集得到的協(xié)議特征的特征碼,所述協(xié)議特征包含:協(xié)議類(lèi)型、操作系統(tǒng)類(lèi)型、階段碼和響應(yīng)碼。
可選的,上述步驟102)進(jìn)一步包含:
步驟102-1)服務(wù)端得到客戶端請(qǐng)求之后,判斷得到協(xié)議類(lèi)型;
步驟102-2)采用如下方法之一獲取針對(duì)一個(gè)客戶端的虛擬操作系統(tǒng)類(lèi)型:
方法一,依據(jù)客戶端的IP地址、端口號(hào)、請(qǐng)求時(shí)間和階段碼,計(jì)算得到操作系統(tǒng)類(lèi)型;
方法二,采用隨機(jī)方法確定操作系統(tǒng)類(lèi)型;
方法三,根據(jù)請(qǐng)求時(shí)間確定操作系統(tǒng)類(lèi)型。
上述步驟103)以協(xié)議類(lèi)型、虛擬操作系統(tǒng)類(lèi)型、階段碼為鍵值,搜索協(xié)議特征數(shù)據(jù)庫(kù),得出響應(yīng)碼,以此響應(yīng)碼對(duì)客戶端請(qǐng)求做出響應(yīng)為客戶端提供數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有下列優(yōu)點(diǎn):本發(fā)明解決了攻擊方準(zhǔn)確判斷服務(wù)端所使用操作系統(tǒng)、協(xié)議版本的問(wèn)題,一定程度上減少了被攻破的概率。
附圖說(shuō)明
圖1本發(fā)明實(shí)施例提供的擬態(tài)數(shù)據(jù)傳輸應(yīng)用場(chǎng)景示意圖;
圖2本發(fā)明實(shí)施例提供的擬態(tài)數(shù)據(jù)傳輸系統(tǒng)的傳輸過(guò)程示意圖;
圖3本發(fā)明實(shí)施例提供的實(shí)施例中TCP擬態(tài)數(shù)據(jù)傳輸例。
具體實(shí)施方式
下面結(jié)合附圖和表格詳細(xì)說(shuō)明本發(fā)明的技術(shù)方案。
本發(fā)明提供一種擬態(tài)數(shù)據(jù)傳輸服務(wù)器及基于該服務(wù)器的數(shù)據(jù)傳輸方法,所述數(shù)據(jù)傳輸方法使客戶端不能準(zhǔn)確地判斷服務(wù)器的有關(guān)信息,進(jìn)而阻止?jié)撛诘墓粽邔?duì)服務(wù)器實(shí)施有針對(duì)性的攻擊。
為達(dá)到上述發(fā)明目的,本發(fā)明的一種擬態(tài)數(shù)據(jù)傳輸服務(wù)器,包括:擬態(tài)協(xié)議特征管理模塊、擬態(tài)協(xié)議選擇模塊和擬態(tài)協(xié)議數(shù)據(jù)傳輸模塊。在本發(fā)明中,擬態(tài)協(xié)議特征管理模塊負(fù)責(zé)協(xié)議特征的管理,所述協(xié)議特征包括協(xié)議類(lèi)型、操作系統(tǒng)類(lèi)型、階段碼、響應(yīng)碼等。在本發(fā)明中,擬態(tài)協(xié)議選擇模塊負(fù)責(zé)接到客戶端請(qǐng)求之后選擇特定協(xié)議模式進(jìn)行響應(yīng)處理。其中擬態(tài)協(xié)議數(shù)據(jù)傳輸模塊負(fù)責(zé)在協(xié)議被選中之后,在一次會(huì)話期間保持同一種版本的協(xié)議,一致性地完成服務(wù)器和客戶端的數(shù)據(jù)傳輸。
上述擬態(tài)協(xié)議特征管理模塊采用的管理方法指該模塊管理協(xié)議特征時(shí)采用的方 法。所述協(xié)議特征包括協(xié)議類(lèi)型、操作系統(tǒng)類(lèi)型、階段碼、響應(yīng)碼,以協(xié)議特征庫(kù)的形式出現(xiàn)。協(xié)議特征的采集可采用人類(lèi)工程學(xué)的方法,或者安裝相應(yīng)操作系統(tǒng),利用客戶端實(shí)測(cè)的方法。在采集得到協(xié)議特征之后,由擬態(tài)協(xié)議特征管理模塊輸入到協(xié)議特征數(shù)據(jù)庫(kù),輸入的過(guò)程可以有人機(jī)界面。
上述擬態(tài)協(xié)議選擇模塊采用的協(xié)議選擇方法指服務(wù)端得到客戶端請(qǐng)求之后,判斷出協(xié)議類(lèi)型,由擬態(tài)協(xié)議選擇模塊依據(jù)某個(gè)函數(shù)(所述函數(shù)可以但并不限制采用哈希函數(shù)),以客戶端的IP地址、端口號(hào)、請(qǐng)求時(shí)間、階段碼為輸入,計(jì)算得到虛擬操作系統(tǒng)類(lèi)型;其中也可采用隨機(jī)方法或請(qǐng)求時(shí)間確定操作系統(tǒng)類(lèi)型。以協(xié)議類(lèi)型(此處的協(xié)議類(lèi)型為當(dāng)客戶端請(qǐng)求到達(dá)時(shí)采用常規(guī)的分析方法確定)、虛擬操作系統(tǒng)類(lèi)型、階段碼為鍵值,搜索協(xié)議特征庫(kù),得出響應(yīng)碼,以此碼對(duì)客戶端請(qǐng)求做出響應(yīng),并在(客戶端IP、端口號(hào)、操作系統(tǒng)類(lèi)型、協(xié)議類(lèi)型)四元組列表中記錄操作系統(tǒng)類(lèi)型。從而可偽裝特定的操作系統(tǒng)和協(xié)議實(shí)現(xiàn)。
上述服務(wù)器還包含:解析模塊,用于基于服務(wù)器得到的用戶請(qǐng)求,判斷客戶端的協(xié)議類(lèi)型。
上述擬態(tài)協(xié)議數(shù)據(jù)傳輸模塊采用的數(shù)據(jù)傳輸方法指服務(wù)端和客戶端之間的服務(wù)連接建立之后,以(客戶端IP、端口號(hào)、協(xié)議類(lèi)型)為鍵值,找出操作系統(tǒng)類(lèi)型,再以(協(xié)議類(lèi)型、操作系統(tǒng)類(lèi)型、階段碼)為鍵值,搜索協(xié)議特征庫(kù),得到響應(yīng)碼或響應(yīng)例程,之后進(jìn)行相應(yīng)數(shù)據(jù)傳輸。這樣就保持了對(duì)特定客戶端特定端口的響應(yīng)一致性。
上述服務(wù)器還包含:協(xié)議特征采集模塊,用于采用人類(lèi)工程學(xué)的方法,或者安裝相應(yīng)操作系統(tǒng)或客戶端實(shí)測(cè)的方法采集協(xié)議特征,并將采集得到的協(xié)議特征的特征碼存入?yún)f(xié)議特征數(shù)據(jù)庫(kù);其中,采用協(xié)議特征采集模塊采集得到的協(xié)議特征通過(guò)所述擬態(tài)協(xié)議特征管理模塊輸入到協(xié)議特征數(shù)據(jù)庫(kù)。
此外,本發(fā)明還提供了一種數(shù)據(jù)傳輸方法,該數(shù)據(jù)傳輸方法采用上述記載的擬態(tài)數(shù)據(jù)傳輸服務(wù)器為客戶端傳輸數(shù)據(jù),所述數(shù)據(jù)傳輸方法包含:步驟101)客戶端發(fā)出服務(wù)請(qǐng)求,建立服務(wù)器和客戶端的連接;步驟102)以客戶端發(fā)送的客戶端IP地址、端口號(hào)和協(xié)議類(lèi)型為鍵值獲得服務(wù)器端的虛擬操作系統(tǒng)的類(lèi)型;其中,虛擬操作系統(tǒng)的類(lèi)型包含:服務(wù)器實(shí)際采用的操作系統(tǒng)和未被服務(wù)器實(shí)際采用而存儲(chǔ)在協(xié)議特征數(shù)據(jù)庫(kù)的操作系統(tǒng);步驟103)以客戶端的協(xié)議類(lèi)型,虛擬操作系統(tǒng)的類(lèi)型和客戶端發(fā)送的階段碼為鍵值,搜索協(xié)議特征數(shù)據(jù)庫(kù),進(jìn)而得到響應(yīng)碼或響應(yīng)例程,并基于得到的響應(yīng)碼或響應(yīng)例程進(jìn)行客戶端和服務(wù)器之間的一次會(huì)話的數(shù)據(jù)傳輸;其中,協(xié)議特征數(shù)據(jù)庫(kù)為用于存儲(chǔ)采集得到的協(xié)議特征的特征碼,所述協(xié)議特征包 含:協(xié)議類(lèi)型、操作系統(tǒng)類(lèi)型、階段碼和響應(yīng)碼。
上述步驟102)進(jìn)一步包含:
步驟102-1)服務(wù)端得到客戶端請(qǐng)求之后,判斷得到協(xié)議類(lèi)型;
步驟102-2)采用如下方法之一獲取針對(duì)一個(gè)客戶端的虛擬操作系統(tǒng)類(lèi)型:
方法一,依據(jù)函數(shù)(此處函數(shù)包含但不限于采用哈希函數(shù)),以客戶端的IP地址、端口號(hào)、請(qǐng)求時(shí)間、階段碼為輸入,計(jì)算得到操作系統(tǒng)類(lèi)型;
方法二,采用隨機(jī)方法確定操作系統(tǒng)類(lèi)型;
方法三,根據(jù)請(qǐng)求時(shí)間確定操作系統(tǒng)類(lèi)型。
上述步驟103)以協(xié)議類(lèi)型、虛擬操作系統(tǒng)類(lèi)型、階段碼為鍵值,搜索協(xié)議特征數(shù)據(jù)庫(kù),得出響應(yīng)碼,以此響應(yīng)碼對(duì)客戶端請(qǐng)求做出響應(yīng)為客戶端提供數(shù)據(jù)。
下面結(jié)合附圖和具體實(shí)施例,對(duì)本發(fā)明所提供的一種服務(wù)端擬態(tài)數(shù)據(jù)傳輸方法作進(jìn)一步闡述。
實(shí)施例
下面結(jié)合附圖1、附圖2、附圖3說(shuō)明服務(wù)端擬態(tài)數(shù)據(jù)傳輸方法。如圖1所示,是擬態(tài)數(shù)據(jù)傳輸應(yīng)用場(chǎng)景。在本場(chǎng)景中,真實(shí)服務(wù)端可偽裝成不同的服務(wù)端,所述偽裝的服務(wù)端采用虛擬操作系統(tǒng)和指定的協(xié)議類(lèi)型。如圖3所示,是假定傳輸協(xié)議采用TCP時(shí)的擬態(tài)數(shù)據(jù)傳輸例。下面結(jié)合該例參照?qǐng)D2說(shuō)明本發(fā)明。
假定我們采用人類(lèi)工程學(xué)方法,得到Windows XP、Windows NT、Linux 2.6和FreeBSD相應(yīng)TCP Reno實(shí)現(xiàn)的特征碼,并存入?yún)f(xié)議特征庫(kù)。
假定客戶端使用的是Windows XP,其IP地址為192.168.1.1(端口號(hào)1054),發(fā)起TCP SYN分組到服務(wù)端,此時(shí)的時(shí)間為2015年6月23日3時(shí)17分25秒。服務(wù)端接收到該TCP SYN分組后,利用IP分組的協(xié)議類(lèi)型可判斷是TCP,再以(192.168.1.1,1054,2015年6月23日3時(shí)17分25秒,SYN)為擬態(tài)協(xié)議選擇模塊的輸入,假定得到的操作類(lèi)型為Windows NT;以(TCP,Windows NT,SYN)搜索協(xié)議特征庫(kù),得到響應(yīng)碼(假定為90),客戶端在得到該響應(yīng)碼后就判定服務(wù)端的操作系統(tǒng)為Windows NT,采用TCP Reno。服務(wù)端在(客戶端IP、端口號(hào)、操作系統(tǒng)類(lèi)型、協(xié)議類(lèi)型)四元組列表中記錄(192.168.1.1,1054,Windows NT,TCP Reno)。
在該客戶端的后續(xù)數(shù)據(jù)傳輸節(jié)點(diǎn),服務(wù)端則可一致性地使用Windows NT/TCP Reno對(duì)之進(jìn)行處理。
綜上所述,采用人類(lèi)工程學(xué)方法采集得到Windows XP操作系統(tǒng)、Windows NT操作系統(tǒng)、Linux 2.6操作系統(tǒng)和FreeBSD操作系統(tǒng)相應(yīng)TCP Reno實(shí)現(xiàn)的特征碼,并將特征碼通過(guò)擬態(tài)協(xié)議特征管理模塊存入?yún)f(xié)議特征數(shù)據(jù)庫(kù)。
說(shuō)明文檔中的其他內(nèi)容針對(duì)本專(zhuān)業(yè)領(lǐng)域內(nèi)的普通技術(shù)人員,均可進(jìn)行技術(shù)實(shí)現(xiàn),這里不再贅述。
最后所應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制。盡管參照實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。