◆饒 迎 翟易坤
一種區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法
◆饒 迎 翟易坤
(中國(guó)電子科技集團(tuán)公司電子科學(xué)研究院 北京 100041)
現(xiàn)有因特網(wǎng)采用的是不區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法,使得服務(wù)終端的端口開(kāi)放狀態(tài)很容易被惡意訪問(wèn)終端掃描確認(rèn),進(jìn)而被其攻擊或是利用。為此,本文提出了一種區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法,服務(wù)終端僅對(duì)其永久信任的訪問(wèn)終端無(wú)條件地開(kāi)放端口,并提供所需的應(yīng)用服務(wù);僅在自身的資源使用量值未達(dá)到預(yù)設(shè)的最大閾值時(shí),為其非永久信任的訪問(wèn)終端開(kāi)放特定的端口,且僅為其暫時(shí)信任的訪問(wèn)終端提供所需的應(yīng)用服務(wù)。該方法能夠增大惡意訪問(wèn)終端攻擊或是利用服務(wù)終端的難度,提升服務(wù)終端的安全性能。
訪問(wèn)終端身份;端口開(kāi)放;安全
在現(xiàn)有的因特網(wǎng)中,端口扮演著一個(gè)十分重要的角色,特別是一些為典型應(yīng)用分配的知名端口,例如:HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)使用的80端口。此外,當(dāng)服務(wù)終端為特定應(yīng)用提供服務(wù)時(shí),服務(wù)終端將開(kāi)放與該應(yīng)用對(duì)應(yīng)的端口,監(jiān)聽(tīng)與該應(yīng)用相關(guān)的請(qǐng)求,并提供相應(yīng)的應(yīng)用服務(wù)。例如:網(wǎng)頁(yè)服務(wù)器將開(kāi)放80端口,監(jiān)聽(tīng)HTTP請(qǐng)求并提供HTTP服務(wù)。不僅如此,一旦某臺(tái)服務(wù)終端開(kāi)放某個(gè)特定端口,即是將該端口開(kāi)放給整個(gè)因特網(wǎng)的所有訪問(wèn)終端,且不會(huì)對(duì)訪問(wèn)終端的身份加以區(qū)分。因此,因特網(wǎng)中的任意訪問(wèn)終端都能將數(shù)據(jù)包發(fā)送至該臺(tái)服務(wù)終端。
現(xiàn)有因特網(wǎng)采用的不區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法主要存在以下問(wèn)題:在該方法的支持下,惡意訪問(wèn)終端能夠通過(guò)端口掃描技術(shù)確認(rèn)被掃描端口的開(kāi)放狀態(tài),并找到因特網(wǎng)中的脆弱服務(wù)終端,進(jìn)而非法占用脆弱服務(wù)終端的資源,或是將脆弱服務(wù)終端作為工具以實(shí)施后續(xù)的網(wǎng)絡(luò)攻擊。更糟糕的是,一旦某個(gè)端口開(kāi)放,所有發(fā)往該端口的數(shù)據(jù)包均將會(huì)從網(wǎng)絡(luò)層轉(zhuǎn)發(fā)至運(yùn)輸層乃至應(yīng)用層,而不論該數(shù)據(jù)包的來(lái)源是否是被信任的訪問(wèn)終端,這使得惡意訪問(wèn)終端更加容易消耗其它服務(wù)終端的資源,實(shí)現(xiàn)對(duì)其它服務(wù)終端的攻擊。
為此,本文提出了一種區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法。該方法將訪問(wèn)終端的身份劃分為兩大類別:永久信任的訪問(wèn)終端與非永久信任的訪問(wèn)終端。其中,非永久信任的訪問(wèn)終端又分為兩大子類別:暫時(shí)信任的訪問(wèn)終端與不信任的訪問(wèn)終端。服務(wù)終端僅對(duì)其永久信任的訪問(wèn)終端無(wú)條件地開(kāi)放端口并提供所需的服務(wù);僅在自身的資源使用量值未達(dá)到預(yù)設(shè)的最大閾值時(shí),為其非永久信任的訪問(wèn)終端動(dòng)態(tài)分配用于獲取該服務(wù)終端應(yīng)用服務(wù)的模擬端口號(hào),且僅為其暫時(shí)信任的訪問(wèn)終端提供所需的應(yīng)用服務(wù)。如此,不信任的訪問(wèn)終端無(wú)法獲取服務(wù)終端提供的應(yīng)用服務(wù),無(wú)法過(guò)多地占用服務(wù)終端的資源,難以實(shí)現(xiàn)對(duì)服務(wù)終端的攻擊。
區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法將訪問(wèn)終端的身份分為兩大類別:永久信任的訪問(wèn)終端與非永久信任的訪問(wèn)終端。判斷訪問(wèn)終端的身份類別的依據(jù),是該訪問(wèn)終端的IP地址是否存在于服務(wù)終端的永久信任終端列表中。若是,訪問(wèn)終端的身份類別為永久信任的訪問(wèn)終端;否則,訪問(wèn)終端的身份類別為非永久信任的訪問(wèn)終端。此外,非永久信任的訪問(wèn)終端還將細(xì)分為兩個(gè)子類別:暫時(shí)信任的訪問(wèn)終端與不信任的訪問(wèn)終端。判斷訪問(wèn)終端的身份子類別的依據(jù),是該訪問(wèn)終端所發(fā)送應(yīng)用服務(wù)數(shù)據(jù)包中攜帶的訪問(wèn)端口號(hào),是否是接收該應(yīng)用服務(wù)數(shù)據(jù)包的服務(wù)終端為其分配的模擬端口號(hào)。若是,訪問(wèn)終端的身份子類別為暫時(shí)信任的訪問(wèn)終端;否則,訪問(wèn)終端的身份子類別是不信任的訪問(wèn)終端。
特別指出的是,在永久信任終端列表中記錄有服務(wù)終端永久信任的全部訪問(wèn)終端的IP地址。由于單個(gè)訪問(wèn)終端的IP地址占用32比特(IPv4地址)或是128比特(IPv6地址)的存儲(chǔ)空間,因此,若是為服務(wù)終端永久信任的每個(gè)訪問(wèn)終端均分配32比特或是128比特的存儲(chǔ)空間,當(dāng)服務(wù)終端永久信任的訪問(wèn)終端數(shù)目過(guò)多時(shí),服務(wù)終端需要耗費(fèi)大量的存儲(chǔ)空間記錄服務(wù)終端永久信任的若干訪問(wèn)終端的IP地址,且服務(wù)終端需要耗費(fèi)大量的計(jì)算資源與時(shí)間判斷訪問(wèn)終端的IP地址是否存在于服務(wù)終端的永久信任終端列表中。為緩解上述問(wèn)題,區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法將采用Bloom Filter存儲(chǔ)服務(wù)終端的永久信任終端列表,記錄服務(wù)終端永久信任的若干訪問(wèn)終端的IP地址。
在區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法中,服務(wù)終端對(duì)連接請(qǐng)求數(shù)據(jù)包的處理流程如圖1所示,具體包括如下步驟:
圖1 服務(wù)終端對(duì)連接請(qǐng)求數(shù)據(jù)包的處理流程
步驟1,當(dāng)服務(wù)終端的網(wǎng)絡(luò)層接收到來(lái)自訪問(wèn)終端的連接請(qǐng)求數(shù)據(jù)包時(shí),服務(wù)終端將判斷訪問(wèn)終端的身份類別。若訪問(wèn)終端的身份類別是永久信任的訪問(wèn)終端,執(zhí)行步驟2-4;若訪問(wèn)終端的身份類別是非永久信任的訪問(wèn)終端,執(zhí)行步驟5;
步驟2,服務(wù)終端的網(wǎng)絡(luò)層將接收到的連接請(qǐng)求數(shù)據(jù)包轉(zhuǎn)發(fā)至該服務(wù)終端的運(yùn)輸層;
步驟3,服務(wù)終端的運(yùn)輸層接受訪問(wèn)終端的連接請(qǐng)求;
步驟4,服務(wù)終端返回一個(gè)連接允許數(shù)據(jù)包至訪問(wèn)終端。此時(shí),服務(wù)終端將端口無(wú)條件地開(kāi)放給了它永久信任的訪問(wèn)終端;
步驟5,服務(wù)終端判斷當(dāng)前自身的資源使用量值(至少包括:寬帶使用量值、CPU使用量值、內(nèi)存使用量值)是否達(dá)到預(yù)設(shè)的最大閾值。若是,執(zhí)行步驟6;否則,執(zhí)行步驟7-9;
步驟6,服務(wù)終端丟棄訪問(wèn)終端發(fā)送的連接請(qǐng)求數(shù)據(jù)包。此時(shí),服務(wù)終端的資源使用量值達(dá)到預(yù)設(shè)的最大閾值,不向非永久信任的訪問(wèn)終端開(kāi)放任何端口;
步驟7,服務(wù)終端的網(wǎng)絡(luò)層將接收到的連接請(qǐng)求數(shù)據(jù)包轉(zhuǎn)發(fā)至服務(wù)終端的運(yùn)輸層;
步驟8,服務(wù)終端的運(yùn)輸層接受訪問(wèn)終端的連接請(qǐng)求;
步驟9,服務(wù)終端為訪問(wèn)終端動(dòng)態(tài)地分配一個(gè)用于獲取后續(xù)應(yīng)用服務(wù)的模擬端口號(hào),并返回一個(gè)攜帶該模擬端口號(hào)的連接允許數(shù)據(jù)包至訪問(wèn)終端。在此,模擬端口號(hào)(P)的具體計(jì)算公式為:P=hash(SIP,CIP,K,PT)mod 65535。其中,SIP為服務(wù)終端的IP地址、CIP為訪問(wèn)終端的IP地址,K為服務(wù)終端自身的密鑰,PT為目的應(yīng)用服務(wù)的真實(shí)端口號(hào)。此時(shí),服務(wù)終端的資源使用量值未達(dá)到預(yù)設(shè)的最大閾值,有條件地向其非永久信任的訪問(wèn)終端開(kāi)放特定的端口。
在區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法中,服務(wù)終端對(duì)應(yīng)用服務(wù)數(shù)據(jù)包的處理流程如圖2所示,具體包括如下步驟:
決策團(tuán)隊(duì)從時(shí)效性、有效性、可操作性、完備性4個(gè)方面{c1,c2,c3,c4}衡量各個(gè)方案的優(yōu)劣。首先,決策人員利用CFGJ給出相關(guān)決策信息如表2所示;然后將CFGJ轉(zhuǎn)換為PD-HFLTS,如表3所示。
圖2 服務(wù)終端對(duì)應(yīng)用服務(wù)數(shù)據(jù)包的處理流程
步驟1,當(dāng)服務(wù)終端的網(wǎng)絡(luò)層接收到來(lái)自訪問(wèn)終端的應(yīng)用服務(wù)數(shù)據(jù)包時(shí),服務(wù)終端將判斷訪問(wèn)終端的身份類別。若訪問(wèn)終端的身份類別是永久信任的訪問(wèn)終端,執(zhí)行步驟2-3;若訪問(wèn)終端的身份類別是非永久信任的訪問(wèn)終端,執(zhí)行步驟4;
步驟2,服務(wù)終端的網(wǎng)絡(luò)層將接收到的應(yīng)用服務(wù)數(shù)據(jù)包先后轉(zhuǎn)發(fā)至該服務(wù)終端的運(yùn)輸層和應(yīng)用層;
步驟3,服務(wù)終端的應(yīng)用層將為訪問(wèn)終端提供其所需的應(yīng)用服務(wù)。此時(shí),服務(wù)終端將端口無(wú)條件的開(kāi)放給了其永久信任的訪問(wèn)終端,并為該訪問(wèn)終端提供所需的應(yīng)用服務(wù);
步驟4,服務(wù)終端判斷當(dāng)前自身的資源使用量值是否達(dá)到預(yù)設(shè)的最大閾值。若是,執(zhí)行步驟5;否則,執(zhí)行步驟6;
步驟5,服務(wù)終端丟棄訪問(wèn)終端發(fā)送的應(yīng)用服務(wù)數(shù)據(jù)包。此時(shí),服務(wù)終端的資源使用量值達(dá)到預(yù)設(shè)的最大閾值,不向非永久信任的訪問(wèn)終端開(kāi)放任何端口,也不為其提供應(yīng)用服務(wù);
步驟6,服務(wù)終端判斷訪問(wèn)終端的身份子類別。若訪問(wèn)終端的身份子類別是暫時(shí)信任的訪問(wèn)終端,執(zhí)行步驟7-8;若訪問(wèn)終端的身份子類別是不信任的訪問(wèn)終端,執(zhí)行步驟9;
步驟7,服務(wù)終端的網(wǎng)絡(luò)層將接收到的應(yīng)用服務(wù)數(shù)據(jù)包先后轉(zhuǎn)發(fā)至該服務(wù)終端的運(yùn)輸層和應(yīng)用層;
步驟8,服務(wù)終端的應(yīng)用層將為訪問(wèn)終端提供其所需的應(yīng)用服務(wù)。此時(shí),服務(wù)終端的資源使用量值未達(dá)到預(yù)設(shè)的最大閾值,有條件地為其暫時(shí)信任的訪問(wèn)終端提供所需的應(yīng)用服務(wù);
步驟9,服務(wù)終端丟棄訪問(wèn)終端發(fā)送的應(yīng)用服務(wù)數(shù)據(jù)包。此時(shí),服務(wù)終端的資源使用量值雖未達(dá)到預(yù)設(shè)的最大閾值,但仍拒絕為其不信任的訪問(wèn)終端提供所需的應(yīng)用服務(wù)。
與現(xiàn)有因特網(wǎng)采用的不區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法相比,在本文提出的區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法中,服務(wù)終端僅對(duì)其永久信任的訪問(wèn)終端無(wú)條件地開(kāi)放端口。如此,非永久信任的訪問(wèn)終端無(wú)法通過(guò)常規(guī)的端口掃描技術(shù)確認(rèn)被掃描端口的真實(shí)開(kāi)放狀態(tài),被掃描服務(wù)終端的安全性將得到一定的保障。此外,服務(wù)終端僅在自身的資源使用量值未達(dá)到預(yù)設(shè)的最大閾值時(shí),為其非永久信任的訪問(wèn)終端動(dòng)態(tài)地分配用于獲取該服務(wù)終端的應(yīng)用服務(wù)的模擬端口號(hào),且僅為其暫時(shí)信任的訪問(wèn)終端提供所需的應(yīng)用服務(wù)。如此,不信任的訪問(wèn)終端無(wú)法將數(shù)據(jù)包傳遞至該服務(wù)終端的應(yīng)用層,進(jìn)而無(wú)法獲取該服務(wù)終端提供的應(yīng)用服務(wù),無(wú)法過(guò)多地占用該服務(wù)終端的資源,難以實(shí)現(xiàn)對(duì)該服務(wù)終端的攻擊。
本文提出了一種區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法,使得服務(wù)終端能夠根據(jù)訪問(wèn)終端的身份類別以及自身的資源使用量值,確定是否向訪問(wèn)終端開(kāi)放端口以及是否為訪問(wèn)終端提供所需的應(yīng)用服務(wù)。與現(xiàn)有因特網(wǎng)中采用的不區(qū)分訪問(wèn)終端身份的端口開(kāi)放方法相比,本文提出的新方法能夠增大惡意訪問(wèn)終端攻擊或是利用服務(wù)終端的難度,提升服務(wù)終端的安全性能。
[1]李瑞民.網(wǎng)絡(luò)掃描技術(shù)揭秘[M].北京:機(jī)械工業(yè)出版社,2012.
[2]張玉清.網(wǎng)絡(luò)攻擊與防御技術(shù)[M].北京:清華大學(xué)出版社,2011.
[3]石利平.基于TCP協(xié)議的端口掃描技術(shù)[J].電腦開(kāi)發(fā)與應(yīng)用,2011.
[4]S Geravand,M Ahmadi. Bloom filter applications in network security:A state-of-the-art survey[J]. Computer Networks,2013.
[5]H Yan,J Guan.Survey of bloom filter[J]. Telecommunications Science,2010.
[6]劉元珍.Bloom Filter及其在網(wǎng)絡(luò)中的應(yīng)用綜述[J].計(jì)算機(jī)應(yīng)用與軟件,2013.
[7]Y Liu.Survey on bloom filter and its applications in networks[J].Computer Applications & Software,2013.
[8]陶敬,馬小博,趙娟等.基于資源可用性的主機(jī)異常檢測(cè)[J].電子科技大學(xué)學(xué)報(bào),2007.
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2018年6期