国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于中間人攻擊的SSL VPN運行參數(shù)深度檢測?

2015-09-18 01:22:06周志洪李建華姚立紅
信息安全與通信保密 2015年1期
關(guān)鍵詞:中間人服務(wù)端IP地址

許 輝,周志洪,2,李建華,姚立紅,3

(1.上海交通大學(xué)電子信息與電氣工程學(xué)院,上海200240;2.上海交通大學(xué)深圳研究院,深圳518057;

3.信息網(wǎng)絡(luò)安全公安部重點實驗室,上海201204)

基于中間人攻擊的SSL VPN運行參數(shù)深度檢測?

許 輝1,周志洪1,2,李建華1,姚立紅1,3

(1.上海交通大學(xué)電子信息與電氣工程學(xué)院,上海200240;2.上海交通大學(xué)深圳研究院,深圳518057;

3.信息網(wǎng)絡(luò)安全公安部重點實驗室,上海201204)

SSL VPN以其部署簡單、安全可靠的優(yōu)勢成為目前遠程接入市場上的主流方案,被廣泛應(yīng)用于電子商務(wù)、電子政務(wù)等領(lǐng)域。文中在深入分析了SSL證書驗證機制的基礎(chǔ)上,通過采用主動式的中間人攻擊方式,提出了一種SSL VPN深度檢測的方法,實現(xiàn)了對于SSL VPN產(chǎn)品運行參數(shù)的深度檢測,這些檢測信息可進一步被監(jiān)管機構(gòu)用于對SSL VPN產(chǎn)品的管理和評估。

SSL VPN;中間人攻擊;運行參數(shù);證書;檢測

0 引言

SSL VPN是采用SSL協(xié)議來實現(xiàn)遠程接入的一種隧道傳輸技術(shù),用于確保內(nèi)部資源在各分支機構(gòu)間快捷而安全地共享。由于其具有部署簡單、免客戶端、運維成本低等諸多優(yōu)勢,目前被廣泛應(yīng)用于電子商務(wù)、電子政務(wù)等領(lǐng)域。然而,SSL VPN服務(wù)器遭受網(wǎng)絡(luò)攻擊的事卻時有發(fā)生,如2014年9月以來,雅虎、微軟、蘋果等企業(yè)VPN服務(wù)器均遭遇攻擊,與此同時,國內(nèi)SSL VPN產(chǎn)品市場上仍然存在不達標(如沒有采用國家密碼管理局指定的安全算法等)等現(xiàn)象,在目前國內(nèi)SSL VPN產(chǎn)品市場需求高速增長的背景下[1],這類安全隱患可能對企業(yè)、政府、用戶等造成極大的損失,因而對于運行于企事業(yè)機構(gòu),尤其是政府、銀行等關(guān)鍵領(lǐng)域的SSL VPN產(chǎn)品的運行參數(shù)進行檢測顯得尤為必要。本文基于中間人攻擊手段,提出了一種SSL VPN運行參數(shù)深度檢測方法,通過成為客戶端和服務(wù)端間通信的中間人,進行截獲和轉(zhuǎn)發(fā)報文,并在本地后臺進行報文解析,完成了對于密碼算法、IP及物理地址、隨機數(shù)等一系列運行參數(shù)的提取。此外,在檢測完成后還進行了現(xiàn)場恢復(fù)處理,以免對被檢測產(chǎn)品的后續(xù)運行造成額外的干擾。

1 SSL VPN中間人攻擊原理分析

1.1 SSL VPN協(xié)議概述

VPN(Virtual Private Network,虛擬專用網(wǎng)絡(luò))技術(shù)研究開始于20世紀90年代,其目的是通過隧道技術(shù)在不安全的網(wǎng)絡(luò)中建立一條安全的通道,通過使用端到端的認證和加密來保證數(shù)據(jù)的安全性。在VPN使用的安全協(xié)議中,SSL(Secure Sockets Layer,安全套接層)是目前較為成熟的VPN通信協(xié)議,該協(xié)議最初由網(wǎng)景(Netscape)公司于1994年開發(fā),并成為了Web訪問服務(wù)中最主要的安全機制,后經(jīng)IETF標準化并更名為TLS,目前最新版本為2011年TLS 1.2的修訂版[2]。SSL VPN位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,能夠為高層的應(yīng)用層協(xié)議(如HTTP、FTP等)提供端到端的安全連接,SSL VPN的安全連接分為兩個階段:握手階段和數(shù)據(jù)傳輸階段[3],其中握手階段依次完成:

·算法協(xié)商:協(xié)商本次會話使用的密碼套件;

·身份驗證:通過證書驗證會話雙方的身份;

·確定工作密鑰:利用密鑰交換算法生成工作密鑰,用于數(shù)據(jù)傳輸階段的會話加解密和校驗。

握手階段結(jié)束后,服務(wù)端和客戶端即可開始進行數(shù)據(jù)安全傳輸。

1.2 SSL VPN中間人攻擊原理

中間人攻擊(Man-In-The-Middle Attack,簡稱 MITM)是最常見也是最有效的網(wǎng)絡(luò)攻擊方式之一,例如最近被報道的蘋果iCloud服務(wù)器、微軟賬號系統(tǒng)等遭遇大規(guī)模攻擊等事件均與中間人攻擊有關(guān)。如圖1所示,中間人攻擊模式是指將“中間人”插入到“客戶端-服務(wù)端”的通信路徑中,對雙方的會話信息進行攔截、篡改、轉(zhuǎn)發(fā),從而達到攻擊的目的[4]。中間人攻擊主要包括ARP 欺騙(ARP Cache Poisoning)、DNS劫持(DNS Spoofing)、HTTP會話劫持(HTTP Session Hijack)及SSL欺騙(SSL Sniff/SSL Strip)等。

上述攻擊方式中,ARP欺騙和SSL欺騙是應(yīng)用于SSL VPN中間人攻擊場景的兩類主要的方式。兩者的區(qū)別在于:前者通常需要偽造SSL證書以騙取客戶端的信任,而后者則采用將HTTPS替換為HTTP的思路來達到攻擊的目的[5]。

相對于被動式的抓包解析檢測方案而言,結(jié)合中間人攻擊方式的SSL VPN運行參數(shù)檢測,可以解析出SSL VPN中被加密的運行參數(shù),如密鑰交換算法、SSL正式會話的主密鑰等,使得檢測程度更為深入,檢測項目更為全面。

圖1 中間人攻擊示意圖

2 SSL VPN檢測關(guān)鍵技術(shù)研究

在對SSL VPN的運行參數(shù)進行檢測的過程中,涉及到的關(guān)鍵功能包括SSL VPN證書偽造及檢測現(xiàn)場恢復(fù)。

2.1 SSL VPN證書偽造

在SSL VPN的身份驗證環(huán)節(jié),客戶端主要通過驗證服務(wù)端的數(shù)字證書來確認與之會話的服務(wù)端的合法身份。數(shù)字證書驗證流程主要包括:客戶端首先查找服務(wù)端證書的頒發(fā)者(Issuer)字段,并根據(jù)該字段前往操作系統(tǒng)的證書存儲區(qū)查找匹配對應(yīng)的CA根證書,只有同時滿足(1)頒發(fā)者查找匹配成功、(2)服務(wù)端證書指紋(Thumbprint)驗簽成功這兩個條件,才能夠確保服務(wù)端證書是合法的。

為了使得檢測“中間人”通過證書驗證環(huán)節(jié),通常有兩種方式:一種是獲取服務(wù)端的CA根機構(gòu)(或其信任的機構(gòu))簽發(fā)的合法證書,默認被操作系統(tǒng)所信任,能夠順利通過證書驗證;另一種是通過偽造證書的方式,并基于用戶查看證書之后確認無誤,會選擇忽略警告提示的假設(shè),也能夠順利通過證書驗證。后一種假設(shè)有其合理性,目前對于大多數(shù)國內(nèi)機構(gòu)而言,采用自簽發(fā)證書并要求用戶信任的模式[6],而用戶也通常會忽略瀏覽器“此網(wǎng)站的安全證書存在問題”(IE)或“您的連接不是私密連接”(Chrome)等警告信息,而選擇點擊“繼續(xù)瀏覽此網(wǎng)站(不推薦)”鏈接,使得服務(wù)端得以順利通過證書驗證環(huán)節(jié)。在該假設(shè)基礎(chǔ)上,使得處于“中間人”位置的SSL VPN檢測者得以獲取客戶端的信任。

2.2 檢測現(xiàn)場恢復(fù)

在SSL VPN的運行參數(shù)檢測完成后,“客戶端-中間人-服務(wù)端”通信路徑將會斷開。在整個檢測過程中,對客戶端的ARP緩存表進行了更改(即插入了錯誤的ARP解析條目),而這將可能影響到客戶端下一次與服務(wù)端的SSL VPN連接,直接造成無法訪問的錯誤,因而有必要對檢測造成的后續(xù)影響進行修復(fù)。此處的修復(fù)方案分為兩種:主動式修復(fù)、被動式修復(fù)。兩種方案的設(shè)計依次如下:

1)主動式,即直接更新客戶端的ARP緩存表,刪除掉服務(wù)端IP地址對應(yīng)的條目。從而當(dāng)客戶端再次訪問SSL VPN服務(wù)端時,由于其ARP緩存表中找不到ARP服務(wù)端IP地址,客戶端ARP協(xié)議將會發(fā)出ARP請求(廣播),利用服務(wù)端的ARP回復(fù)來更新ARP緩存表。

2)被動式,即利用ARP緩存表的老化機制。默認情況下,ARP緩存表有一個老化時間計時器,在計時時間內(nèi)(如Windows是10分鐘),若某條目沒有被更新或被調(diào)用,則該條目將會被自動刪除。這個老化時間因設(shè)備和系統(tǒng)而異,具體需要參考產(chǎn)品說明。因而若客戶端下一次訪問時間距此次訪問時間超過客戶端的ARP緩存表的老化時間,ARP緩存表中的錯誤條目將會被自動刪除,從而使得客戶端在下次訪問時能夠重新根據(jù)服務(wù)端的ARP回復(fù)包新建正確的ARP解析條目。

3 檢測系統(tǒng)的設(shè)計與實現(xiàn)

利用中間人攻擊方式對SSL VPN產(chǎn)品進行運行參數(shù)的檢測,其核心內(nèi)容包含如下三個部分:

1)將檢測“中間人”無縫地插入到“客戶端-服務(wù)端”通信路徑中。該部分的設(shè)計流程包括會話報文的偵聽、服務(wù)器證書的偽造以及檢測中間人的網(wǎng)絡(luò)接入。

2)在本地后臺進行報文解析,獲取運行參數(shù);

3)在完成運行參數(shù)的檢測后,將網(wǎng)絡(luò)環(huán)境恢復(fù)到初始狀態(tài),避免對以后的SSL連接造成影響。該部分和第2)部分在參數(shù)檢測和現(xiàn)場恢復(fù)中綜合實現(xiàn)。

3.1 會話報文的偵聽

為了使得檢測“中間人”插入后,一方面可以截獲到客戶端發(fā)起的SSL連接報文,另一方面又不會干擾到客戶端的非SSL連接(如HTTP連接等),首先應(yīng)對檢測“中間人”的聯(lián)網(wǎng)參數(shù)進行配置。步驟依次為:

1)開啟iptables防火墻的NAT表的重定向功能:將SSL連接(端口號為443)報文轉(zhuǎn)發(fā)到本地端口10000進行偵聽。以下命令即可實現(xiàn):

# iptables-t nat-A PREROUTING -p tcp--dport 443-j REDIRECT – to-ports 10000

2)開啟Linux內(nèi)核IP層轉(zhuǎn)發(fā)功能,確??蛻舳说姆荢SL報文不會被攔截造成客戶端出現(xiàn)斷網(wǎng),從而引起客戶端的警惕。以下命令可以完成該目標:

#sysctl-w net.ipv4.ip_forward=1

3.2 服務(wù)器證書的偽造

如圖2所示,在SSL VPN的握手階段,服務(wù)端會將自己的數(shù)字證書Server Certificate發(fā)送給客戶端進行驗證,如果證書驗證不通過,客戶端將會發(fā)送unknown_ca的致命錯誤,并同時斷開連接。

圖2 SSL VPN身份驗證

結(jié)合前文提到的偽造證書通過驗證的可行性論證,可以采用以下方案:

1)根據(jù)算法協(xié)商階段的密碼套件列表,字段集合,在本地預(yù)先生成密鑰交換算法集合(如SM2、RSA等)的公私密鑰對;

2) 利用 SSL_get_peer_certificate(SSL ?ssl)庫函數(shù)從服務(wù)端SSL套接字中提取出X509格式的證書信息后,制作副本;

3)在副本基礎(chǔ)上修改頒發(fā)者Issuer信息(例如可將Issuer的最末尾一個域,如O域或C域,追加一個空格),并將原始公鑰Public Key替換為本地生成的公鑰;最后用本地私鑰進行簽名。

很顯然在篡改證書之后,客戶端瀏覽器在操作系統(tǒng)的“受信任的根證書頒發(fā)機構(gòu)”存儲區(qū)無法查找到該頒發(fā)者,會提示用戶該證書不可信任,然而如果用戶打開客戶端瀏覽器的證書,與操作系統(tǒng)的相應(yīng)CA根證書(通過在Windows運行命令窗口中鍵入certmgr.msc命令)的身份相關(guān)的字段進行比對時,從視覺上是無法查找出異常的,因為偽造的證書僅僅在Issuer字段的末尾多出了一個空格。而結(jié)合前文的假設(shè),用戶極有可能忽略警告繼續(xù)瀏覽,從而使得偽造的證書順利通過身份驗證環(huán)節(jié)。

3.3 檢測中間人的網(wǎng)絡(luò)接入

在完成上述準備工作后,即可將檢測“中間人”插入到“客戶端-服務(wù)端”通信路徑中。首先需要偽裝成服務(wù)端,與客戶端建立連接。實現(xiàn)該目標的方法有多種,在局域網(wǎng)中最有效的方法是采用ARP欺騙[7]。

在OSI網(wǎng)絡(luò)模型中,第二層數(shù)據(jù)鏈路層是使用MAC地址進行報文轉(zhuǎn)發(fā)的,而第三層網(wǎng)絡(luò)層則采用IP地址進行報文轉(zhuǎn)發(fā),因此需要一種路由機制去保存和維護IP地址和MAC地址之間的這種對應(yīng)關(guān)系,ARP緩存表就用于達成該目的。ARP欺騙,即是攻擊者向目標設(shè)備發(fā)送惡意ARP指令,迫使目標設(shè)備修改原本正確的對應(yīng)關(guān)系,從而使得數(shù)據(jù)包被惡意發(fā)送至錯誤的目的地,達到劫持會話的目的。具體而言,可利用ARPSpoof開源工具在root權(quán)限下發(fā)起ARP欺騙攻擊,命令如下:

#arpspoof[-i interface][-t target]host

其中interface為檢測“中間人”的默認網(wǎng)卡接口,target為客戶端的IP地址,host則為服務(wù)端的IP地址。該命令的作用是告知客戶端,IP地址host綁定的網(wǎng)卡MAC是interface。該命令執(zhí)行后,客戶端發(fā)往服務(wù)端IP地址的數(shù)據(jù)報文將被全部被檢測“中間人”截獲。需要注意的是,此處只需欺騙 “客戶端”即可,無需使用ARP雙向欺騙,同時欺騙客戶端和服務(wù)端,因為在之后的會話中,服務(wù)端的所有SSL數(shù)據(jù)包只會發(fā)往檢測“中間人”,并不會發(fā)往客戶端。因而ARP欺騙服務(wù)端并不是必要的。

3.4 參數(shù)檢測與現(xiàn)場恢復(fù)

本地后臺程序主要用于處理SSL數(shù)據(jù)包,同時與服務(wù)端建立SSL連接,以便順利地將通信路徑切換為“客戶端-中間人-服務(wù)端”。本地程序處理流程如圖3所示:

圖3 SSL VPN運行參數(shù)檢測流程

在檢測過程中,本地偵聽端口10000記錄下了客戶端和服務(wù)端的全部會話數(shù)據(jù)包,并記錄在了session.dat數(shù)據(jù)文件中。需要注意的是,Socket連接時使用connect()及accept()進行應(yīng)答,SSL連接時使用 SSL_connect()、SSL_accept()、SSL_read()、SSL_write()進行應(yīng)答,否則可能出現(xiàn)錯誤。SSL會話結(jié)束后,可采用前述的主動式或被動式的現(xiàn)場恢復(fù)方式,恢復(fù)客戶端的ARP緩存表,以免對客戶端和服務(wù)端的下一次會話造成影響。

4 運行參數(shù)分析

現(xiàn)場實測的網(wǎng)絡(luò)環(huán)境為:SSL VPN服務(wù)器的IP地址為192.168.95.15,檢測機器的操作系統(tǒng)為Ubuntu 12.04,客戶端的IP地址為192.168.95.10。在上述SSL VPN現(xiàn)場檢測過程中,檢測獲得的session.dat數(shù)據(jù)文件包含了服務(wù)端和客戶端的全部會話報文。與此同時,本地的后臺解析程序也按照SSL VPN握手協(xié)議和記錄層協(xié)議規(guī)定的格式對運行參數(shù)進行提取[8],此處也可借助Wireshark內(nèi)置的協(xié)議解析工具來提取檢測信息,并將解析出的結(jié)果輸入到testing.dat數(shù)據(jù)文件。其中在會話過程中能解析出的字段如表1所示。

表1 運行參數(shù)字段列表

在上述解析出的參數(shù)中,如客戶端隨機數(shù)和服務(wù)端隨機數(shù)可進一步作為隨機性檢測的素材,用于驗證SSL VPN生成的隨機數(shù)是否滿足國家密碼管理局《隨機性檢測規(guī)范》的要求,而算法參數(shù)也能被相關(guān)部門用于與安全相關(guān)的管理與審計工作。

5 結(jié)語

SSL VPN作為遠程接入領(lǐng)域的主流方案,在市場需求持續(xù)增長的同時也出現(xiàn)了一些運行參數(shù)不達標的情況,這有可能給企業(yè)、用戶等造成巨大的損失。本文通過深入理論研究和完善的檢測方案設(shè)計,提出了一種SSL VPN運行參數(shù)深度檢測方法。該方法結(jié)合中間人攻擊方式完成了SSL VPN運行參數(shù)的深度檢測,檢測結(jié)果可進一步被監(jiān)管機構(gòu)用作對SSL VPN產(chǎn)品的管理和評估的素材,并能夠在監(jiān)管部門的需求基礎(chǔ)上,進行后續(xù)的模塊擴展與集成,有一定的現(xiàn)實意義。

[1] 黃海峰.中國VPN市場進入快速增長期 服務(wù)成競爭關(guān)鍵[J].通信世界,2013(21):42.

[2] Dierks T.,et al.The TLS Protocol Version 1.2[S].RFC 5246,New York:IETF,2008.

[3] Eric Rescorla.SSL and TLS:Designing and Building Secure Systems[M].AW Educational Publishers Inc 2001.

[4] Moxie Marlinspike.New Tricks for Defeating SSL in Practice[EB/OL].http://www.blackhat.com/pre-sentations/bh-dc-09/Marlinspike/,2009.

[5] 張恒伽,施勇,薛質(zhì).基于SSL Strip的HTTPS會話劫持[J].信息安全與通信保密,2009(10):80-82.

[6] 馮宇彥.電子政務(wù)亟待解決的問題:CA根證書的統(tǒng)一管理[J].保密科學(xué)技術(shù),2014(05):35-38.

[7] 石利平.ARP欺騙研究綜述[J].計算機與現(xiàn)代化,2011(06):193-198.

[8] GM/T 0023-2014,SSL VPN技術(shù)規(guī)范[S].國家密碼管理局,2014.

Operational Parameters Test for SSL VPN based on MITM

XU Hui1,ZHOU Zhi-h(huán)ong1,2,LI Jian-h(huán)ua1,YAO Li-h(huán)ong1,3

(1.School of Electronic Information and Electrical Engineering Shanghai Jiao Tong University,Shanghai 200240,China;2.Shenzhen Research Institute of Shanghai Jiao Tong University,Shenzhen Guangdong 518057,China;3.Key Lab of Information Network Security,Ministry of Public Security,Shanghai 201204,China)

For its convenient deployment and security,SSL VPN now becomes the mainstream solution of remote access market,and thus is widely applied in e-Commerce and e-Government fields.Based on a deep analysis of SSL certificate verification mechanism,a method for SSL VPN parameters test based on active MITM attack technology is proposed,thus to implement operational parameters test of SSL VPN devices,and the test results may be used in management and assessment of SSL VPN devices by supervisory authorities.

SSL VPN;MITM;operational parameter;certificate;test

TP393.06

A

1009-8054(2015)01-0095-04

2014-11-13

國家自然科學(xué)基金項目(No.60903191),上海市優(yōu)秀技術(shù)帶頭人計劃(No.13XD1425100)

許 輝(1989—),男,碩士,主要研究方向為網(wǎng)絡(luò)與信息安全;

周志洪(1979—),男,博士,講師,主要研究方向為計算機網(wǎng)絡(luò);

李建華(1965—),男,博士,教授,主要研究方向為計算機網(wǎng)絡(luò);

姚立紅(1979—),女,博士,高級工程師,主要研究方向為安全操作系統(tǒng)?!?/p>

猜你喜歡
中間人服務(wù)端IP地址
夾在妻子和弟弟中間,怎樣當(dāng)好中間人?
中老年保健(2021年3期)2021-08-22 06:51:34
鐵路遠動系統(tǒng)幾種組網(wǎng)方式IP地址的申請和設(shè)置
云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
在Windows Server 2008上創(chuàng)建應(yīng)用
基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用
黑龍江電力(2017年1期)2017-05-17 04:25:16
無線網(wǎng)絡(luò)的中間人攻擊研究
《天盛律令》對買賣借典“中間人”的規(guī)制
西夏學(xué)(2016年2期)2016-10-26 02:21:34
“鴿子”玩升級 黑你沒商量
通過QQ郵件查看好友IP地址
丽江市| 太康县| 宜兴市| 司法| 浦城县| 鄂州市| 墨江| 新竹县| 宁乡县| 安泽县| 桑植县| 平罗县| 辽源市| 古蔺县| 和田市| 左权县| 宜黄县| 西华县| 孟津县| 博兴县| 庆云县| 左权县| 山东| 宜州市| 聊城市| 秦皇岛市| 楚雄市| 新蔡县| 宁夏| 荣昌县| 团风县| 涞源县| 类乌齐县| 潍坊市| 姚安县| 班玛县| 灵宝市| 原阳县| 灌云县| 林西县| 葫芦岛市|