• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種Web認(rèn)證防ARP欺騙的方法

    2018-07-20 01:40:56鄭偉忠
    電腦知識與技術(shù) 2018年13期

    鄭偉忠

    摘要:該文主要介紹WEB認(rèn)證場景下的ARP欺騙技術(shù),提出了一種認(rèn)證過程中解決ARP欺騙的技術(shù),解決了認(rèn)證前ARP欺騙無法抵御的問題。

    關(guān)鍵詞: WEB認(rèn)證;ARP欺騙;TCP窺探

    中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)13-0106-03

    1背景

    WEB認(rèn)證

    Web認(rèn)證是一種基于http技術(shù)對用戶訪問網(wǎng)絡(luò)進(jìn)行控制的身份認(rèn)證方法,這種認(rèn)證方法不需要用戶安裝專用的客戶端認(rèn)證軟件,使用普通的瀏覽器軟件就可以進(jìn)行身份認(rèn)證,有著廣泛的應(yīng)用。

    未認(rèn)證用戶訪問網(wǎng)絡(luò)前需要先使用瀏覽器打開一個(gè)站點(diǎn),部署身份認(rèn)證的網(wǎng)絡(luò)接入設(shè)備(網(wǎng)絡(luò)接入設(shè)備概念比較泛,一般是按以有可能是有線交換機(jī),也有可能是個(gè)無線設(shè)備,也有可能是個(gè)網(wǎng)絡(luò)防火墻或者路由器)會強(qiáng)制瀏覽器訪問Web認(rèn)證服務(wù)器,通常稱為Portal服務(wù)器。用戶通過瀏覽器在Portal服務(wù)器推送的頁面上輸入身份信息進(jìn)行身份認(rèn)證,只有認(rèn)證通過后才可以使用網(wǎng)絡(luò)資源。

    Web認(rèn)證的應(yīng)用場景模型圖如下:

    圖1中,用戶要訪問internet前必須先通過網(wǎng)絡(luò)設(shè)備的認(rèn)證(部署身份認(rèn)證功能的網(wǎng)絡(luò)設(shè)備通常被稱為NAS,Network Access Server),認(rèn)證過程如下:

    1) 用戶在PC上打開瀏覽器,輸入一個(gè)網(wǎng)址,并回車;

    2) 瀏覽器會發(fā)出http請求,這個(gè)請求會被網(wǎng)絡(luò)設(shè)備攔截,并將請求重定向到portal服務(wù)器;

    3) portal服務(wù)器會推送一個(gè)認(rèn)證頁面到瀏覽器,然后用戶輸入身份帳號并進(jìn)行認(rèn)證;

    4) portal服務(wù)器從頁面解析出認(rèn)證信息并發(fā)給NAS;

    5) NAS將認(rèn)證信息通過一定方式(業(yè)界最通用的做法是利用radius協(xié)議來傳輸這些信息),傳遞給認(rèn)證服務(wù)器;

    6) 認(rèn)證服務(wù)器校驗(yàn)身份信息,并將結(jié)果返回給NAS;

    7) NAS根據(jù)認(rèn)證結(jié)果判斷是否允許用戶訪問網(wǎng)絡(luò)。

    圖1中的eportal設(shè)備就是portal服務(wù)器,其主要功能是提供定制化的認(rèn)證頁面并解析認(rèn)證信息;圖1中的SAM設(shè)備是身份認(rèn)證服務(wù)器,用于校驗(yàn)身份準(zhǔn)確性,通常來說這就是一臺radius服務(wù)器,運(yùn)行radius協(xié)議;NAS負(fù)責(zé)根據(jù)認(rèn)證結(jié)果控制用戶是否可以訪問網(wǎng)絡(luò)。Web認(rèn)證的詳細(xì)交互過程如下:

    如圖2所示,整個(gè)交互過程主要由3部分組成:

    1) HTTP重定向

    所謂的重定向,是指瀏覽器原本要訪問的站點(diǎn)是A,但是請求被NAS攔截后,NAS告知瀏覽器跳轉(zhuǎn)去訪問站點(diǎn)B(通過在http報(bào)文中設(shè)置特定指令)。在這里,站點(diǎn)B就是portal服務(wù)器的地址,通過這個(gè)技術(shù)實(shí)現(xiàn)將認(rèn)證頁面推送到瀏覽器。

    2) Portal服務(wù)器和NAS的交互

    Portal服務(wù)器解析用戶在認(rèn)證頁面中輸入的帳號信息,提取并發(fā)送給NAS。另外NAS也會將認(rèn)證結(jié)果反饋給portal服務(wù)器,portal服務(wù)器會將認(rèn)證結(jié)果通過http協(xié)議推送到用戶的瀏覽器界面,讓用戶能看到認(rèn)證結(jié)果。

    3) Radius協(xié)議交互

    Radius協(xié)議是國際互聯(lián)網(wǎng)標(biāo)準(zhǔn)組織IETF定義的一種網(wǎng)絡(luò)身份認(rèn)證通信技術(shù),可以存在多種認(rèn)證信息,且擴(kuò)展性和安全性都很強(qiáng),被業(yè)界廣泛采用。

    ARP欺騙

    在局域網(wǎng)中,每個(gè)設(shè)備都有兩個(gè)地址:1)硬件地址,由于它包含在數(shù)據(jù)鏈路層的幀頭中,更準(zhǔn)確地說應(yīng)該是數(shù)據(jù)鏈路層地址,但實(shí)際上對本地地址進(jìn)行處理的是數(shù)據(jù)鏈路層中的MAC子層,因此習(xí)慣上稱為MAC地址,MAC地址在局域網(wǎng)上代表著IP設(shè)備;2)IP地址,在互聯(lián)網(wǎng)上代表著IP設(shè)備,同時(shí)它也說明了該設(shè)備所屬的網(wǎng)絡(luò)。

    局域網(wǎng)上兩臺IP設(shè)備之間需要通信,必須要知道對方的MAC地址。根據(jù)IP地址來獲知MAC地址的過程稱為地址解析(ARP)。

    ARP是用來綁定MAC地址和IP地址的,以IP地址作為輸入,ARP能夠知道其關(guān)聯(lián)的MAC地址。一旦知道了MAC地址,IP設(shè)備就可以封裝鏈路層的幀,然后將數(shù)據(jù)幀才可以發(fā)送到局域網(wǎng)上去。

    ARP欺騙是指某個(gè)IP設(shè)備對外發(fā)送假的ARP報(bào)文,偽造成其它IP設(shè)備,從而將發(fā)往其他IP設(shè)備的數(shù)據(jù)流引向自己,實(shí)現(xiàn)一些窺探,這種行為會導(dǎo)致其它合法的IP設(shè)備無法通信。如下圖所示:

    如圖所示,局域網(wǎng)中,C是惡意設(shè)備或者中了病毒。A原本要和B通信,為此A需要學(xué)習(xí)到B的ARP信息,而此時(shí)C向A發(fā)出一個(gè)欺騙性的ARP,導(dǎo)致A以為B的MAC地址為C,于是當(dāng)A向B發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)流會發(fā)到C,導(dǎo)致A和B實(shí)際是無法通信的。

    現(xiàn)狀和問題

    由于Web認(rèn)證是基于ip網(wǎng)絡(luò)進(jìn)行通信,因此在認(rèn)證前PC就需要有ip地址和arp等相關(guān)信息,但是由于用戶還沒經(jīng)過認(rèn)證,因此用戶的網(wǎng)絡(luò)信息無法控制,這是個(gè)巨大的漏洞,導(dǎo)致Web認(rèn)證無法防備認(rèn)證前的arp欺騙。

    如圖4所示,A和C連接在NAS下,都需要經(jīng)過認(rèn)證才能訪問網(wǎng)絡(luò),由于是使用Web認(rèn)證,那么NAS顯然要允許A和C在接入網(wǎng)絡(luò)獲取IP地址并進(jìn)行ARP交互。由于A和C都還沒有認(rèn)證,NAS是無法知道A和C發(fā)出的ARP到底是對的還是假的。假設(shè)A要認(rèn)證,C是欺騙者,如果C向NAS發(fā)送了欺騙arp,冒充A,那么A是無法進(jìn)行Web認(rèn)證的,這是因?yàn)镹AS在做http重定向時(shí)需要將http重定向報(bào)文發(fā)給A(見圖2的流程說明)。

    因此本文要解決的技術(shù)問題,就是如何保證Web認(rèn)證的用戶在認(rèn)證前不受ARP欺騙的影響,可以正常認(rèn)證。至于認(rèn)證通過后的情況,目前業(yè)界各大主流網(wǎng)絡(luò)設(shè)備上已經(jīng)有各種各樣的控制手段來防止認(rèn)證后的欺騙,不在本文討論范圍內(nèi)。

    技術(shù)方案

    如圖2所示,終端在做Web認(rèn)證,主要涉及了兩個(gè)通信過程:一個(gè)是http重定向,一個(gè)是訪問portal服務(wù)器。這2個(gè)過程都是基于ip通信,因此只要這兩個(gè)過程可以防止arp欺騙,那么就可以解決認(rèn)證前的arp欺騙。

    上圖是解決方案的示意圖,NAS設(shè)備內(nèi)部新增3個(gè)模塊,一個(gè)硬件模塊和兩個(gè)軟件模塊。接下來我們來解釋這個(gè)系統(tǒng)如何解決前面提到的問題:

    重定向過程的防欺騙

    1) 用戶在Pc的瀏覽器輸入一個(gè)網(wǎng)址(比如www.ruijie.com.cn),并敲擊回車。

    2) Pc的操作系統(tǒng)會通過dns協(xié)議先解析這個(gè)域名對應(yīng)的ip地址,NAS的硬件放行所有DNS報(bào)文,使得PC可以正常解析到ip地址。

    3) Pc解析到ip地址后,會先發(fā)送tcp報(bào)文和這個(gè)網(wǎng)站建立連接(詳細(xì)過程不做介紹,可參考TCP協(xié)議的介紹)。

    4) NAS的“硬件報(bào)文攔截模塊”收到報(bào)文后,根據(jù)預(yù)先設(shè)置的信息,對報(bào)文進(jìn)行攔截,其攔截判斷條件為(1)這個(gè)報(bào)文是tcp報(bào)文(2)報(bào)文對應(yīng)的源ip并沒有認(rèn)證通過(3)報(bào)文對應(yīng)的目的ip不是portal服務(wù)器地址。這三個(gè)條件同時(shí)滿足的條件下,該模塊化會將報(bào)文攔截下來,并送到“tcp報(bào)文嗅探模塊”。

    5) “Tcp報(bào)文嗅探模塊化”收到報(bào)文后,獲取該報(bào)文進(jìn)入nas時(shí)所在的物理端口以及mac地址、ip地址的信息,建立一個(gè)映射表,并緩存起來。然后將報(bào)文送到“http重定向模塊”。

    6) http重定向模塊會建立一個(gè)以http報(bào)文源ip為索引的數(shù)據(jù)庫,當(dāng)收到http報(bào)文時(shí),提取報(bào)文的源ip,然后在數(shù)據(jù)庫中搜索該ip是否存在,如果不存在,證明這是一個(gè)還未認(rèn)證的用戶,于是將源ip加入數(shù)據(jù)庫,同時(shí)向“arp模塊”添加一條靜態(tài)arp(這個(gè)添加靜態(tài)arp的作用在后面解釋)。

    7) 完成上述2個(gè)添加動作之后,“http重定向模塊”向這個(gè)ip推送一個(gè)http重定向頁面,促使這個(gè)源ip對應(yīng)的瀏覽器去訪問portal服務(wù)器,以便進(jìn)行認(rèn)證。

    8) “http重定向模塊”不是按照正常的tcp/ip協(xié)議棧的通信流程將報(bào)文發(fā)到ip協(xié)議棧,而是直接發(fā)送到“tcp嗅探模塊化”。該模塊化收到報(bào)文后,根據(jù)之前建立的數(shù)據(jù)庫選擇報(bào)文發(fā)送到哪個(gè)端口。

    9) 由于在這個(gè)過程中,NAS向終端發(fā)送重定向報(bào)文時(shí)避開了標(biāo)準(zhǔn)的tcp/ip協(xié)議的發(fā)送過程,沒有使用到arp,因此即便存在arp欺騙,也不會對重定向產(chǎn)生影響。

    認(rèn)證過程防ARP欺騙

    1) 終端在收到nas的重定向報(bào)文后就需要去訪問portal服務(wù)器進(jìn)行認(rèn)證,這個(gè)過程也是一個(gè)標(biāo)準(zhǔn)的tcp/ip通信過程。因此在這個(gè)過程中,如果nas受到arp欺騙,也會導(dǎo)致nas在轉(zhuǎn)發(fā)porta和終端的報(bào)文出現(xiàn)錯誤,導(dǎo)致終端無法認(rèn)證。

    2) 在前面的步驟中,“http重定向模塊化”會向arp模塊添加一條靜態(tài)arp表項(xiàng),由于靜態(tài)arp表項(xiàng)的信息來自認(rèn)證終端的報(bào)文源ip和源mac,因此信息準(zhǔn)確,且被設(shè)置為靜態(tài)信息,在終端通信過程中,不會被其他終端所欺騙篡改。

    3) 在前面的步驟中,“http重定向模塊”把源ip加入數(shù)據(jù)庫后,還會啟動一個(gè)定時(shí)器,來維護(hù)這個(gè)靜態(tài)arp表項(xiàng)。因?yàn)榇嬖谶@么一種極端的情況,就是這個(gè)終端出現(xiàn)故障了,那么靜態(tài)arp是不能一直存留在設(shè)備上,否則會浪費(fèi)設(shè)備資源,或者甚至,這個(gè)能發(fā)出http報(bào)文的終端也是一個(gè)欺騙pc,其發(fā)出一個(gè)http報(bào)文后,就不再認(rèn)證了,這個(gè)情況下,維護(hù)一個(gè)定時(shí)器來定時(shí)刪除這個(gè)arp表項(xiàng)可以避免設(shè)備被這種極端欺騙。

    4) 如果終端在定時(shí)器時(shí)間內(nèi)沒有認(rèn)證通過,那么“http重定向模塊“化會將這個(gè)靜態(tài)arp表項(xiàng)刪除。

    總結(jié)起來,解決WEB認(rèn)證前防ARP欺騙,有如下幾個(gè)關(guān)鍵的技術(shù)點(diǎn):

    1) 硬件報(bào)文攔截模塊

    a)放行一切DNS報(bào)文;

    b)實(shí)現(xiàn)一種攔截tcp報(bào)文的特殊邏輯;

    2) TCP報(bào)文嗅探模塊:

    ①根據(jù)窺探到的報(bào)文建立一個(gè)轉(zhuǎn)發(fā)數(shù)據(jù)庫,包括報(bào)文的ip、mac、所在物理端口等。

    ②為“http重定向模塊化”提供http重定向報(bào)文的發(fā)包服務(wù),避免正常的tcp/ip標(biāo)準(zhǔn)

    發(fā)包流程中的arp邏輯導(dǎo)致可能的被欺騙。

    3) http重定向模塊

    ①維護(hù)一個(gè)基于源ip的數(shù)據(jù)庫,該數(shù)據(jù)庫用于置靜態(tài)arp,使得終端和portal服務(wù)器通信時(shí)不會受arp欺騙影響。

    ②維護(hù)一個(gè)基于源ip的定時(shí)器,用戶監(jiān)控靜態(tài)arp表項(xiàng)的生存周期,如果一個(gè)ip重定向后的一段時(shí)間內(nèi)還沒有進(jìn)行認(rèn)證,則刪除對應(yīng)的靜態(tài)arp表項(xiàng),避免可能的http偽造,同時(shí)也節(jié)省硬件表項(xiàng)。

    4 結(jié)束語

    本文中提出了一種防ARP欺騙的技術(shù)方案,解決WEB認(rèn)證環(huán)境下,認(rèn)證前無法防止ARP欺騙的問題,使用這種方案可以用戶在認(rèn)證過程不受ARP欺騙影響,提高了Web認(rèn)證的安全性。

    參考文獻(xiàn):

    [1] 任俠,呂述望.ARP 協(xié)議欺騙原理分析與地獄方法[J].計(jì)算機(jī)工程,2012(9).

    [2] 藝馨,樊孝仁,張政,等.基于Portal認(rèn)證技術(shù)在校園WLAN組網(wǎng)中的應(yīng)用實(shí)踐[J].電腦開發(fā)與應(yīng)用,2015,28(3):23-27.

    穆棱市| 宣汉县| 隆安县| 镇江市| 稻城县| 柞水县| 攀枝花市| 曲松县| 广州市| 筠连县| 峡江县| 顺平县| 攀枝花市| 开封县| 静海县| 库车县| 吴旗县| 郓城县| 宜州市| 连城县| 馆陶县| 绥化市| 孙吴县| 巢湖市| 福海县| 嘉荫县| 莱阳市| 尤溪县| 宜州市| 木兰县| 安图县| 芮城县| 无为县| 罗山县| 济宁市| 化州市| 莱州市| 乌海市| 江口县| 商南县| 南江县|