本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù),尤其涉及一種中間人攻擊的檢測方法和裝置。
背景技術(shù):
中間人攻擊(MITM,Man-in-the-middle attack)是指攻擊者與通訊的兩端分別創(chuàng)建獨立的聯(lián)系,并交換所接收到的數(shù)據(jù),使通訊的兩端認為各自正在通過一個私密的連接與對方直接對話,但事實上整個會話都被攻擊者完全控制。此外,在中間人攻擊過程中,攻擊者可以攔截通訊雙方的通話并插入新的內(nèi)容。圖1為MITM的示意圖,攻擊者通過會話劫持的手段,使自己處于客戶端和服務(wù)器的中間人位置,以便獲取客戶端和服務(wù)器之間在正常通信時的交互報文,即竊聽數(shù)據(jù)。
安全套接層(SSL,Secure Socket Layer)協(xié)議是互聯(lián)網(wǎng)中最為常用的安全協(xié)議之一,它能夠利用證書驗證服務(wù)器的身份,并對客戶端和服務(wù)器之間的交互信息進行加密,防止被攻擊者竊聽。簡言之,SSL協(xié)議的目的在于通過網(wǎng)絡(luò)的一個不安全通道為兩個應(yīng)用程序之間創(chuàng)建起安全的連接,用以交換數(shù)據(jù),防止數(shù)據(jù)受到竊聽及篡改。SSL協(xié)議的優(yōu)勢在于它是與應(yīng)用層協(xié)議獨立無關(guān)的,圖2為SSL協(xié)議、傳輸控制協(xié)議(TCP,Transfer Control Protocol)、應(yīng)用層協(xié)議三者之間的關(guān)系示意圖,超文本傳輸協(xié)議(HTTP,Hyper Text Transfer Protocol)、簡單郵件傳輸協(xié)議(SMTP,Simple Mail Transfer Protocol)、郵局協(xié)議的第3個版本(POP3,Post Office Protocol-Version 3)、互聯(lián)網(wǎng)郵件訪問協(xié)議(IMAP,Internet Message Access Protocol)、文本傳輸協(xié)議(FTP,F(xiàn)ile Transfer Protocol)等應(yīng)用層協(xié)議可以透明的創(chuàng)建于SSL協(xié)議之上。SSL協(xié)議在應(yīng)用層協(xié)議通信之前就已經(jīng)完成加密算法、通信密鑰的協(xié)商以及服務(wù)器認證等工作,并對在此之后應(yīng)用層協(xié)議所傳送的數(shù)據(jù)進行加密。
SSL協(xié)議不僅保證了通信的私密性和可靠性,而且部署簡單,對網(wǎng)絡(luò)的負擔(dān)也較小,因此在網(wǎng)頁瀏覽、電子郵件、網(wǎng)上銀行等應(yīng)用中獲得了廣泛地使用。然而,中間人攻擊是造成SSL業(yè)務(wù)不安全的一種最常見的且危害指數(shù)最高的技術(shù)。但是,隨著用戶網(wǎng)絡(luò)安全意識的提高,政府和企業(yè)等組織也加強了對網(wǎng)絡(luò)安全的資源投入。例如,許多應(yīng)用服務(wù)器都提供了多種SSL業(yè)務(wù),如Web服務(wù)器、郵件服務(wù)器、FTP服務(wù)器等都提供了SSL加密方式來承載業(yè)務(wù)。
現(xiàn)有的對中間人攻擊的檢測的主要現(xiàn)狀如下:
一方面,目前企業(yè)界主要關(guān)心安全套接層超文本傳輸協(xié)議(HTTPS,HTTP over SSL)的安全性,而對HTTPS的判斷方法主要依賴瀏覽器的安全檢測機制。通常,證書信任鏈由根證書、中間證書、子證書組成;根證書是數(shù)字證書認證機構(gòu)(CA,Certificate Authority)簽發(fā)的證書,是證書信任鏈的起始點;中間證書是通過根證書簽發(fā)的;子證書是通過中間證書/根證書簽發(fā)的。而瀏覽器中間人檢測技術(shù)主要是檢測Web服務(wù)器的證書信任鏈中的各種信息,如檢測頒發(fā)的證書是否在有效期內(nèi)、服務(wù)器域名與證書中的域名是否一致等;并且,某些瀏覽器為了加強中間人攻擊的檢測,引入了嚴格傳輸安全超文本傳輸協(xié)議(HSTS,HTTP Strict Transport Security)等技術(shù),在一定程度上加強了對中間人攻擊的檢測。但是,如果證書信任鏈中被導(dǎo)入了攻擊者證書,就會繞過HSTS檢測。
另一方面,雖然安全套接層簡單郵件傳輸協(xié)議(SMTPS,SMTP over SSL)、安全套接層郵局協(xié)議的第3個版本(POP3S,POP3over SSL)、安全套接層互聯(lián)網(wǎng)郵件訪問協(xié)議(IMAPS,IMAP over SSL)、安全套接層文本傳輸協(xié)議(FTPS,F(xiàn)TP over SSL)等協(xié)議使用比較頻繁,但是與這些協(xié)議相關(guān)的中間人攻擊的檢測技術(shù)比較少,且相關(guān)安全檢測方法還不如HTTPS業(yè)務(wù)的安全檢測方法。
因此,如果關(guān)心HTTPS業(yè)務(wù),就需要尋找HTTPS協(xié)議的特點;如果關(guān)心SMTPS業(yè)務(wù),就需要尋找SMTPS協(xié)議的特點,即對于不同的SSL業(yè)務(wù),需要分別根據(jù)各自的特點進行中間人攻擊的檢測。此外,對HTTPS業(yè)務(wù)的中間人攻擊的檢測方法不一定適用于SMTPS等業(yè)務(wù),因為HTTPS業(yè)務(wù)的安全性雖然高,但是并沒有提升SMTPS業(yè)務(wù)的安全性。如果攻擊者通過HTTPS方式無法進行中間人攻擊,但是由于SMTPS、IMAPS等方式的中間人攻擊的檢測技術(shù)比較弱,則攻擊者可以通過SMTPS、IMAPS等方式進行中間人攻擊,從而導(dǎo)致SSL加密數(shù)據(jù)的泄露,無法徹底解決所有SSL加密業(yè)務(wù)不被中間人攻擊。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供了一種中間人攻擊的檢測方法和裝置,能夠快速檢測出被中間人攻擊的SSL業(yè)務(wù)。
為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
本發(fā)明實施例提供了一種中間人攻擊的檢測方法,所述方法包括:
當(dāng)需要對第一SSL業(yè)務(wù)進行中間人攻擊檢測時,獲取所述第一SSL業(yè)務(wù)的第一加密特征以及預(yù)設(shè)的第二SSL業(yè)務(wù)的第二加密特征;
判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,滿足時,判定所述第一SSL業(yè)務(wù)被中間人攻擊。
上述方案中,所述第一加密特征包括第一證書信任鏈,所述第二加密特征包括第二證書信任鏈;
所述判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,包括:
判斷所述第一證書信任鏈和所述第二證書信任鏈之間是否包括以下三種情形至少之一:第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同、第一證書信任鏈的第一中間證書與第二證書信任鏈的第二中間證書不相同、第一證書信任鏈的第一子證書與第二證書信任鏈的第二子證書不相同;
包括上述情形至少之一時,判定所述第一加密特征和所述第二加密特征之間滿足設(shè)定的被中間人攻擊的條件。
上述方案中,所述第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同,包括:所述第一根證書的第一頒發(fā)者信息與所述第二根證書的第二頒發(fā)者信息不相同;和/或,所述第一根證書的第一主題信息與所述第二根證書的第二主題信息不相同;
所述第一證書信任鏈的第一中間證書與第二證書信任鏈的第二中間證書不相同,包括:所述第一中間證書的第三頒發(fā)者信息與所述第二中間證書的第四頒發(fā)者信息不相同;和/或,所述第一中間證書的第三主題信息與所述第二中間證書的第四主題信息不相同;
所述第一證書信任鏈的第一子證書與第二證書信任鏈的第二子證書不相同,包括:所述第一子證書的第五頒發(fā)者信息與所述第二子證書的第六頒發(fā)者信息不相同;和/或,所述第一子證書的第五主題信息與所述第二子證書的第六主題信息不相同;所述第五頒發(fā)者信息、第六頒發(fā)者信息、第五主題信息、第六主題信息不包括服務(wù)器域名信息和郵箱地址信息。
上述方案中,所述判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,還包括:
當(dāng)所述第一證書信任鏈未包含所述第一中間證書、和/或所述第二證書信任鏈未包含所述第二中間證書時,若所述第一根證書與所述第二根證書相同、且所述第一子證書與所述第二子證書相同,判定所述第一加密特征和所述第二加密特征之間不滿足設(shè)定的被中間人攻擊的條件。
上述方案中,所述第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同,還包括:
所述第一中間證書的第一頒發(fā)者信息與所述第二根證書的第二主題信息不相同;
或,所述第二中間證書的第四頒發(fā)者信息與所述第一根證書的第一主題信息不相同。
上述方案中,所述第一加密特征包括第一證書信任鏈,所述第二加密特征包括第二證書信任鏈;
所述判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,包括:
確定所述第一證書信任鏈包含自簽名證書、且所述第二證書信任鏈未包含自簽名證書時,判定所述第一加密特征和所述第二加密特征之間滿足設(shè)定的被中間人攻擊的條件。
本發(fā)明實施例還提供了一種中間人攻擊的檢測裝置,所述裝置包括:第一處理單元、第二處理單元;其中,
所述第一處理單元,用于當(dāng)需要對第一SSL業(yè)務(wù)進行中間人攻擊檢測時,獲取所述第一SSL業(yè)務(wù)的第一加密特征以及預(yù)設(shè)的第二SSL業(yè)務(wù)的第二加密特征;
所述第二處理單元,用于判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,滿足時,判定所述第一SSL業(yè)務(wù)被中間人攻擊。
上述方案中,所述第一加密特征包括第一證書信任鏈,所述第二加密特征包括第二證書信任鏈;
所述第二處理單元,具體用于:
判斷所述第一證書信任鏈和所述第二證書信任鏈之間是否包括以下三種情形至少之一:第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同、第一證書信任鏈的第一中間證書與第二證書信任鏈的第二中間證書不相同、第一證書信任鏈的第一子證書與第二證書信任鏈的第二子證書不相同;
包括上述情形至少之一時,判定所述第一加密特征和所述第二加密特征之間滿足設(shè)定的被中間人攻擊的條件。
上述方案中,
所述第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同,包括:所述第一根證書的第一頒發(fā)者信息與所述第二根證書的第二頒發(fā)者信息不相同;和/或,所述第一根證書的第一主題信息與所述第二根證書的第二主題信息不相同;
所述第一證書信任鏈的第一中間證書與第二證書信任鏈的第二中間證書不相同,包括:所述第一中間證書的第三頒發(fā)者信息與所述第二中間證書的第四頒發(fā)者信息不相同;和/或,所述第一中間證書的第三主題信息與所述第二中間證書的第四主題信息不相同;
所述第一證書信任鏈的第一子證書與第二證書信任鏈的第二子證書不相同,包括:所述第一子證書的第五頒發(fā)者信息與所述第二子證書的第六頒發(fā)者信息不相同;和/或,所述第一子證書的第五主題信息與所述第二子證書的第六主題信息不相同;所述第五頒發(fā)者信息、第六頒發(fā)者信息、第五主題信息、第六主題信息不包括服務(wù)器域名信息和郵箱地址信息。
上述方案中,所述第二處理單元,具體用于:
當(dāng)所述第一證書信任鏈未包含所述第一中間證書、和/或所述第二證書信任鏈未包含所述第二中間證書時,若所述第一根證書與所述第二根證書相同、且所述第一子證書與所述第二子證書相同,判定所述第一加密特征和所述第二加密特征之間不滿足設(shè)定的被中間人攻擊的條件。
上述方案中,所述第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同,還包括:
所述第一中間證書的第一頒發(fā)者信息與所述第二根證書的第二主題信息不相同;
或,所述第二中間證書的第四頒發(fā)者信息與所述第一根證書的第一主題信息不相同。
上述方案中,所述第一加密特征包括第一證書信任鏈,所述第二加密特征包括第二證書信任鏈;
所述第二處理單元,具體用于:
確定所述第一證書信任鏈包含自簽名證書、且所述第二證書信任鏈未包含自簽名證書時,判定所述第一加密特征和所述第二加密特征之間滿足設(shè)定的被中間人攻擊的條件。
本發(fā)明實施例提供的中間人攻擊的檢測方法和裝置,當(dāng)需要對第一SSL業(yè)務(wù)進行中間人攻擊檢測時,獲取所述第一SSL業(yè)務(wù)的第一加密特征以及預(yù)設(shè)的第二SSL業(yè)務(wù)的第二加密特征;判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,滿足時,判定所述第一SSL業(yè)務(wù)被中間人攻擊??梢?,本發(fā)明實施例通過比對分析待檢測的SSL業(yè)務(wù)和預(yù)設(shè)的SSL業(yè)務(wù)所共有的加密特征,以檢測所述待檢測的SSL業(yè)務(wù)是否被中間人攻擊,從而能夠快速檢測出被中間人攻擊的SSL業(yè)務(wù);此外,適用范圍廣,可便于進行動態(tài)擴展。
附圖說明
圖1為MITM的示意圖;
圖2為SSL協(xié)議、TCP協(xié)議、應(yīng)用層協(xié)議三者之間的關(guān)系示意圖;
圖3為本發(fā)明實施例一中間人攻擊的檢測方法的實現(xiàn)流程示意圖;
圖4為本發(fā)明實施例一中間人攻擊的檢測裝置的組成結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例二中間人攻擊的檢測方法的具體實現(xiàn)流程示意圖。
具體實施方式
實施例一
圖3為本發(fā)明實施例一中間人攻擊的檢測方法的實現(xiàn)流程示意圖,該方法包括:
步驟101:當(dāng)需要對第一SSL業(yè)務(wù)進行中間人攻擊檢測時,獲取所述第一SSL業(yè)務(wù)的第一加密特征以及預(yù)設(shè)的第二SSL業(yè)務(wù)的第二加密特征;
具體地,當(dāng)需要檢測第一SSL業(yè)務(wù)是否被中間人攻擊時,獲取所述第一SSL業(yè)務(wù)的第一加密特征以及預(yù)設(shè)的第二SSL業(yè)務(wù)的第二加密特征,以根據(jù)所述第一加密特征和第二加密特征判斷所述第一SSL業(yè)務(wù)是否被中間人攻擊。
這里,所述第一SSL業(yè)務(wù)和預(yù)設(shè)的第二SSL業(yè)務(wù)是基于SSL加密協(xié)議的不同應(yīng)用層協(xié)議所承載的業(yè)務(wù);例如,對于訪問應(yīng)用服務(wù)器而言,第一SSL業(yè)務(wù)和預(yù)設(shè)的第二SSL業(yè)務(wù)是訪問應(yīng)用服務(wù)器的不同方式,比如第一SSL業(yè)務(wù)是使用HTTPS協(xié)議訪問應(yīng)用服務(wù)器,而預(yù)設(shè)的第二SSL業(yè)務(wù)是使用SMTPS協(xié)議訪問應(yīng)用服務(wù)器;并且,所述預(yù)設(shè)的第二SSL業(yè)務(wù)是未被中間人攻擊的SSL業(yè)務(wù),用于作為參考對象;所述預(yù)設(shè)的第二SSL業(yè)務(wù)可以根據(jù)人工經(jīng)驗、智能算法分析推理等方式進行獲取。
這里,所述第一加密特征、第二加密特征可以是證書信任鏈、證書有效期、證書版本等信息中的任意同一類信息;當(dāng)然,對所述第一加密特征、第二加密特征的范圍還可以進行擴展;本實施例中,以所述第一加密特征、第二加密特征為證書信任鏈中各級證書的通用信息、且所述通用信息為頒發(fā)者信息和主題信息為例進行說明。
由于HTTP、SMTP、POP3、FTP等應(yīng)用層協(xié)議是建立在SSL協(xié)議之上,并且加密通信過程中的加密算法、密鑰協(xié)商和服務(wù)器證書等信息都包含在SSL協(xié)議中,因此,可以把所有SSL業(yè)務(wù)當(dāng)作一個有機整體,提取HTTPS、SMTPS、POP3S、FTPS等協(xié)議共有的SSL加密特征,然后對這些共有的SSL加密特征進行對比、分析,進而判斷SSL業(yè)務(wù)是否被中間人攻擊。
下面通過展示百度網(wǎng)站的證書信任鏈對加密特征進行說明,百度網(wǎng)站的證書信任鏈包含子證書、中間證書、根證書,具體如下所示:
(一)子證書
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Baidu Netcom Science Technology Co.,Ltd/OU=R&D/CN=service operation department/CN=baidu.com;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa10/CN=VeriSign Class 3Secure Server CA-G3;
(二)中間證書
1s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa10/CN=VeriSign Class 3Secure Server CA-G3;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public Primary Certification Authority-G5;
(三)根證書
2s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public Primary Certification Authority-G5;
i:/C=US/O=VeriSign,Inc./OU=Class 3Public Primary Certification Authority;
其中,C表示國家名稱、ST表示州/省名稱、L表示城市名稱、O表示公司/組織名稱、OU表示組織單位名稱、CN表示服務(wù)器域名、emailAddress表示郵箱地址;從上述百度網(wǎng)站的證書信任鏈中,可獲取子證書、中間證書、根證書的主題信息和頒發(fā)者信息作為訪問百度網(wǎng)站的加密特征。
步驟102:判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,滿足時,判定所述第一SSL業(yè)務(wù)被中間人攻擊。
具體地,以所述第二加密特征作為參考,判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,當(dāng)所述第一加密特征和所述第二加密特征之間滿足設(shè)定的被中間人攻擊的條件時,判定所述第一SSL業(yè)務(wù)被中間人攻擊。
這里,當(dāng)所述第一加密特征包括第一證書信任鏈、且所述第二加密特征包括第二證書信任鏈時,所述判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,包括:判斷所述第一證書信任鏈和所述第二證書信任鏈之間是否包括以下三種情形至少之一:第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同、第一證書信任鏈的第一中間證書與第二證書信任鏈的第二中間證書不相同、第一證書信任鏈的第一子證書與第二證書信任鏈的第二子證書不相同;包括上述情形至少之一時,判定所述第一加密特征和所述第二加密特征之間滿足設(shè)定的被中間人攻擊的條件,即表示所述第一SSL業(yè)務(wù)被中間人攻擊。
所述第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同,包括:所述第一根證書的第一頒發(fā)者信息與所述第二根證書的第二頒發(fā)者信息不相同;和/或,所述第一根證書的第一主題信息與所述第二根證書的第二主題信息不相同;
所述第一證書信任鏈的第一中間證書與第二證書信任鏈的第二中間證書不相同,包括:所述第一中間證書的第三頒發(fā)者信息與所述第二中間證書的第四頒發(fā)者信息不相同;和/或,所述第一中間證書的第三主題信息與所述第二中間證書的第四主題信息不相同;
這里,當(dāng)所述第一SSL業(yè)務(wù)的第一證書信任鏈中存在多級中間證書時,可將所述多級中間證書與所述第二SSL業(yè)務(wù)的第二證書信任鏈中的第二中間證書進行多次比較,當(dāng)所述多級中間證書與所述第二SSL業(yè)務(wù)的第二證書信任鏈中的第二中間證書相同時,確定所述第一證書信任鏈的第一中間證書與第二證書信任鏈的第二中間證書相同。
所述第一證書信任鏈的第一子證書與第二證書信任鏈的第二子證書不相同,包括:所述第一子證書的第五頒發(fā)者信息與所述第二子證書的第六頒發(fā)者信息不相同;和/或,所述第一子證書的第五主題信息與所述第二子證書的第六主題信息不相同;所述第五頒發(fā)者信息、第六頒發(fā)者信息、第五主題信息、第六主題信息不包括服務(wù)器域名信息和郵箱地址信息。
這里,所述判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,還包括:當(dāng)所述第一證書信任鏈未包含所述第一中間證書、和/或所述第二證書信任鏈未包含所述第二中間證書時,若所述第一根證書與所述第二根證書相同、且所述第一子證書與所述第二子證書相同,判定所述第一加密特征和所述第二加密特征之間不滿足設(shè)定的被中間人攻擊的條件,即表示所述第一SSL業(yè)務(wù)未被中間人攻擊。
這里,所述第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同,還包括:
所述第一中間證書的第一頒發(fā)者信息與所述第二根證書的第二主題信息不相同;或,所述第二中間證書的第四頒發(fā)者信息與所述第一根證書的第一主題信息不相同。
這里,當(dāng)所述第一SSL業(yè)務(wù)的第一證書信任鏈中未包含根證書時,由于第一證書信任鏈中的中間證書的頒發(fā)者信息就是根證書的主題信息,只是缺少了根證書的頒發(fā)者信息,因此,只要第一證書信任鏈中的中間證書的頒發(fā)者信息與所述第二SSL業(yè)務(wù)的第二證書信任鏈中的根證書的主題信息相同,就可保證根證書的安全性。
這里,當(dāng)所述第一加密特征包括第一證書信任鏈、且所述第二加密特征包括第二證書信任鏈時,所述判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,包括:確定所述第一證書信任鏈包含自簽名證書、且所述第二證書信任鏈未包含自簽名證書時,判定所述第一加密特征和所述第二加密特征之間滿足設(shè)定的被中間人攻擊的條件,即表示所述第一SSL業(yè)務(wù)被中間人攻擊。
這里,自簽名證書是由用戶自己扮演認證授權(quán)(CA,Certificate Authority)機構(gòu),從而自己給自己簽發(fā)的證書;因此,自簽名證書中的頒發(fā)者信息和主題信息相同。一般來說,通過CA機構(gòu)簽發(fā)的證書比自簽名證書的安全性和權(quán)威性要高,自簽名證書被中間人攻擊的可能性要高很多。所以,在SSL加密特征的比較過程中,如果由兩個或兩個以上SSL加密特征構(gòu)成的SSL加密特征庫中同時存在一個CA簽發(fā)證書和一個/多個自簽名證書,就可以確定被中間人攻擊,而且認為自簽名證書被中間人攻擊。
其中,自簽名證書的組成示意如下所示:
Certificate chain
0s:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=Some OrganizationalUnit/CN=localhost.localdomain/emailAddress=root@localhost.locald omain;
i:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=Some OrganizationalUnit/CN=localhost.localdomain/emailAddress=root@localhost.locald omain。
為實現(xiàn)上述方法,本發(fā)明實施例還提供了一種中間人攻擊的檢測裝置,圖4為本發(fā)明實施例一中間人攻擊的檢測裝置的組成結(jié)構(gòu)示意圖,該裝置包括:第一處理單元11、第二處理單元12;其中,
所述第一處理單元11,用于當(dāng)需要對第一SSL業(yè)務(wù)進行中間人攻擊檢測時,獲取所述第一SSL業(yè)務(wù)的第一加密特征以及預(yù)設(shè)的第二SSL業(yè)務(wù)的第二加密特征;
所述第二處理單元12,用于判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,滿足時,判定所述第一SSL業(yè)務(wù)被中間人攻擊。
所述第一處理單元11,具體用于:當(dāng)需要檢測第一SSL業(yè)務(wù)是否被中間人攻擊時,獲取所述第一SSL業(yè)務(wù)的第一加密特征以及預(yù)設(shè)的第二SSL業(yè)務(wù)的第二加密特征,以使第二處理單元12根據(jù)所述第一加密特征和第二加密特征判斷所述第一SSL業(yè)務(wù)是否被中間人攻擊。
這里,所述第一SSL業(yè)務(wù)和預(yù)設(shè)的第二SSL業(yè)務(wù)是基于SSL加密協(xié)議的不同應(yīng)用層協(xié)議所承載的業(yè)務(wù);例如,對于訪問應(yīng)用服務(wù)器而言,第一SSL業(yè)務(wù)和預(yù)設(shè)的第二SSL業(yè)務(wù)是訪問應(yīng)用服務(wù)器的不同方式,比如第一SSL業(yè)務(wù)是使用HTTPS協(xié)議訪問應(yīng)用服務(wù)器,而預(yù)設(shè)的第二SSL業(yè)務(wù)是使用SMTPS協(xié)議訪問應(yīng)用服務(wù)器;并且,所述預(yù)設(shè)的第二SSL業(yè)務(wù)是未被中間人攻擊的SSL業(yè)務(wù),用于作為參考對象;所述預(yù)設(shè)的第二SSL業(yè)務(wù)可以根據(jù)人工經(jīng)驗、智能算法分析推理等方式進行獲取。
這里,所述第一加密特征、第二加密特征可以是證書信任鏈、證書有效期、證書版本等信息;當(dāng)然,對所述第一加密特征、第二加密特征的范圍還可以進行擴展;本實施例中,以所述第一加密特征、第二加密特征為證書信任鏈中各級證書的通用信息、且所述通用信息為頒發(fā)者信息和主題信息為例進行說明。
由于HTTP、SMTP、POP3、FTP等應(yīng)用層協(xié)議是建立在SSL協(xié)議之上,并且加密通信過程中的加密算法、密鑰協(xié)商和服務(wù)器證書等信息都包含在SSL協(xié)議中,因此,可以把所有SSL業(yè)務(wù)當(dāng)作一個有機整體,提取HTTPS、SMTPS、POP3S、FTPS等協(xié)議共有的SSL加密特征,然后對這些共有的SSL加密特征進行對比、分析,進而判斷SSL業(yè)務(wù)是否被中間人攻擊。
下面通過展示百度網(wǎng)站的證書信任鏈對加密特征進行說明,百度網(wǎng)站的證書信任鏈包含子證書、中間證書、根證書,具體如下所示:
(一)子證書
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Baidu Netcom Science Technology Co.,Ltd/OU=R&D/CN=service operation department/CN=baidu.com;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa10/CN=VeriSign Class 3Secure Server CA-G3;
(二)中間證書
1s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa10/CN=VeriSign Class 3Secure Server CA-G3;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public Primary Certification Authority-G5;
(三)根證書
2s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public PrimaryCertification Authority-G5;
i:/C=US/O=VeriSign,Inc./OU=Class 3Public Primary Certification Authority;
其中,C表示國家名稱、ST表示州/省名稱、L表示城市名稱、O表示公司/組織名稱、OU表示組織單位名稱、CN表示服務(wù)器域名、emailAddress表示郵箱地址;從上述百度網(wǎng)站的證書信任鏈中,可獲取子證書、中間證書、根證書的主題信息和頒發(fā)者信息作為訪問百度網(wǎng)站的加密特征。
所述第二處理單元12,具體用于:以所述第二加密特征作為參考,判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,當(dāng)所述第一加密特征和所述第二加密特征之間滿足設(shè)定的被中間人攻擊的條件時,判定所述第一SSL業(yè)務(wù)被中間人攻擊。
這里,當(dāng)所述第一加密特征包括第一證書信任鏈、且所述第二加密特征包括第二證書信任鏈時,所述第二處理單元12判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,包括:判斷所述第一證書信任鏈和所述第二證書信任鏈之間是否包括以下三種情形至少之一:第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同、第一證書信任鏈的第一中間證書與第二證書信任鏈的第二中間證書不相同、第一證書信任鏈的第一子證書與第二證書信任鏈的第二子證書不相同;包括上述情形至少之一時,判定所述第一加密特征和所述第二加密特征之間滿足設(shè)定的被中間人攻擊的條件,即表示所述第一SSL業(yè)務(wù)被中間人攻擊。
所述第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同,包括:所述第一根證書的第一頒發(fā)者信息與所述第二根證書的第二頒發(fā)者信息不相同;和/或,所述第一根證書的第一主題信息與所述第二根證書的第二主題信息不相同;
所述第一證書信任鏈的第一中間證書與第二證書信任鏈的第二中間證書不相同,包括:所述第一中間證書的第三頒發(fā)者信息與所述第二中間證書的第四頒發(fā)者信息不相同;和/或,所述第一中間證書的第三主題信息與所述第二中間證書的第四主題信息不相同;
這里,當(dāng)所述第一SSL業(yè)務(wù)的第一證書信任鏈中存在多級中間證書時,可將所述多級中間證書與所述第二SSL業(yè)務(wù)的第二證書信任鏈中的第二中間證書進行多次比較,當(dāng)所述多級中間證書與所述第二SSL業(yè)務(wù)的第二證書信任鏈中的第二中間證書相同時,確定所述第一證書信任鏈的第一中間證書與第二證書信任鏈的第二中間證書相同。
所述第一證書信任鏈的第一子證書與第二證書信任鏈的第二子證書不相同,包括:所述第一子證書的第五頒發(fā)者信息與所述第二子證書的第六頒發(fā)者信息不相同;和/或,所述第一子證書的第五主題信息與所述第二子證書的第六主題信息不相同;所述第五頒發(fā)者信息、第六頒發(fā)者信息、第五主題信息、第六主題信息不包括服務(wù)器域名信息和郵箱地址信息。
這里,所述第二處理單元12判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,還包括:當(dāng)所述第一證書信任鏈未包含所述第一中間證書、和/或所述第二證書信任鏈未包含所述第二中間證書時,若所述第一根證書與所述第二根證書相同、且所述第一子證書與所述第二子證書相同,判定所述第一加密特征和所述第二加密特征之間不滿足設(shè)定的被中間人攻擊的條件,即表示所述第一SSL業(yè)務(wù)未被中間人攻擊。
這里,所述第一證書信任鏈的第一根證書與第二證書信任鏈的第二根證書不相同,還包括:
所述第一中間證書的第一頒發(fā)者信息與所述第二根證書的第二主題信息不相同;或,所述第二中間證書的第四頒發(fā)者信息與所述第一根證書的第一主題信息不相同。
這里,當(dāng)所述第一SSL業(yè)務(wù)的第一證書信任鏈中未包含根證書時,由于第一證書信任鏈中的中間證書的頒發(fā)者信息就是根證書的主題信息,只是缺少了根證書的頒發(fā)者信息,因此,只要第一證書信任鏈中的中間證書的頒發(fā)者信息與所述第二SSL業(yè)務(wù)的第二證書信任鏈中的根證書的主題信息相同,就可保證根證書的安全性。
這里,當(dāng)所述第一加密特征包括第一證書信任鏈、且所述第二加密特征包括第二證書信任鏈時,所述判斷所述第一加密特征和所述第二加密特征之間是否滿足設(shè)定的被中間人攻擊的條件,包括:確定所述第一證書信任鏈包含自簽名證書、且所述第二證書信任鏈未包含自簽名證書時,判定所述第一加密特征和所述第二加密特征之間滿足設(shè)定的被中間人攻擊的條件,即表示所述第一SSL業(yè)務(wù)被中間人攻擊。
這里,自簽名證書是由用戶自己扮演認證授權(quán)(CA,Certificate Authority)機構(gòu),從而自己給自己簽發(fā)的證書;因此,自簽名證書中的頒發(fā)者信息和主題信息相同。一般來說,通過CA機構(gòu)簽發(fā)的證書比自簽名證書的安全性和權(quán)威性要高,自簽名證書被中間人攻擊的可能性要高很多。所以,在SSL加密特征的比較過程中,如果由兩個或兩個以上SSL加密特征構(gòu)成的SSL加密特征庫中同時存在一個CA簽發(fā)證書和一個/多個自簽名證書,就可以確定被中間人攻擊,而且認為自簽名證書被中間人攻擊。
其中,自簽名證書的組成示意如下所示:
Certificate chain
0s:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=Some OrganizationalUnit/CN=localhost.localdomain/emailAddress=root@localhost.locald omain;
i:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=Some OrganizationalUnit/CN=localhost.localdomain/emailAddress=root@localhost.locald omain。
在實際應(yīng)用中,所述第一處理單元11、第二處理單元12均可由位于終端的中央處理器(CPU)、微處理器(MPU)、數(shù)字信號處理器(DSP)、或現(xiàn)場可編程門陣列(FPGA)等實現(xiàn)。
實施例二
下面通過一個具體示例對本發(fā)明實施例一作進一步地的說明,本實施中,A方式訪問應(yīng)用服務(wù)器是第一SSL業(yè)務(wù),A方式訪問應(yīng)用服務(wù)器的證書信任鏈為第一加密特征,B方式和C方式訪問應(yīng)用服務(wù)器是第二SSL業(yè)務(wù),B方式和C方式訪問應(yīng)用服務(wù)器的證書信任鏈為第二加密特征,A方式訪問應(yīng)用服務(wù)器的證書信任鏈與B方式和C方式訪問應(yīng)用服務(wù)器的證書信任鏈相同是第一加密特征和第二加密特征之間需滿足的條件;圖5為本發(fā)明實施例二中間人攻擊的檢測方法的具體實現(xiàn)流程示意圖,該方法包括:
步驟201:獲取通過A方式訪問應(yīng)用服務(wù)器的SSL加密特征;
具體地,當(dāng)需要檢測通過A方式訪問應(yīng)用服務(wù)器是否被中間人攻擊時,通過openssl、wireshark等工具獲取通過A方式訪問應(yīng)用服務(wù)器的SSL加密特征。
這里,所述A方式是指某一種應(yīng)用協(xié)議基于SSL加密協(xié)議訪問應(yīng)用服務(wù)器;本實施例中,以所述SSL加密特征為證書信任鏈為例進行說明。
步驟202:遍歷獲取通過B方式和C方式訪問應(yīng)用服務(wù)器的SSL加密特征;
具體地,通過遍歷方式尋找應(yīng)用服務(wù)器的其他SSL加密訪問方式B和C,并通過openssl、wireshark等工具獲取通過B方式和C方式訪問應(yīng)用服務(wù)器的SSL加密特征。
這里,將所述通過B方式和C方式訪問應(yīng)用服務(wù)器的SSL加密特征作為參考,即認為通過B方式和C方式訪問應(yīng)用服務(wù)器是未受中間人攻擊的。
步驟203:比較A方式的SSL加密特征中的根證書是否與B方式和C方式的SSL加密特征中的根證書相同,若相同,則執(zhí)行步驟204,否則執(zhí)行步驟207;
具體地,比較A方式訪問應(yīng)用服務(wù)器的SSL加密特征中的根證書是否分別與B方式和C方式訪問應(yīng)用服務(wù)器的SSL加密特征中的根證書相同,若相同,則執(zhí)行步驟204;若不相同,表明A方式訪問應(yīng)用服務(wù)器被中間人攻擊,則執(zhí)行步驟207。
這里,兩個根證書相同為兩個根證書的主題信息和頒發(fā)者信息相同;此外,由于所述通過B方式和C方式訪問應(yīng)用服務(wù)器的SSL加密特征是作為參考的,因此,通過B方式訪問應(yīng)用服務(wù)器的SSL加密特征和通過C方式訪問應(yīng)用服務(wù)器的SSL加密特征是相同的,即B方式訪問應(yīng)用服務(wù)器的SSL加密特征中的根證書與C方式訪問應(yīng)用服務(wù)器的SSL加密特征中的根證書相同,則也可只比較A方式訪問應(yīng)用服務(wù)器的SSL加密特征中的根證書是否與B方式或C方式訪問應(yīng)用服務(wù)器的SSL加密特征中的根證書相同,后續(xù)處理對中間證書、子證書的比較也可只采用上述單一的比較方式。
步驟204:比較A方式的SSL加密特征中的中間證書是否與B方式和C方式的SSL加密特征中的中間證書相同,若相同,則執(zhí)行步驟205,否則執(zhí)行步驟207;
具體地,比較A方式訪問應(yīng)用服務(wù)器的SSL加密特征中的中間證書是否分別與B方式和C方式訪問應(yīng)用服務(wù)器的SSL加密特征中的中間證書相同,若相同,則執(zhí)行步驟205;若不相同,表明A方式訪問應(yīng)用服務(wù)器被中間人攻擊,則執(zhí)行步驟207。
這里,兩個中間證書相同為兩個中間證書的主題信息和頒發(fā)者信息相同。
這里,某些SSL業(yè)務(wù)的證書信任鏈中可能沒有中間證書或者存在多級中間證書,因此可以在SSL加密特征中不比較中間證書的信息或者比較多次中間證書的信息。
這里,某些SSL業(yè)務(wù)的證書信任鏈中也可能沒有根證書,而由于中間證書的頒發(fā)者信息就是根證書的主題信息,只是缺少了根證書的頒發(fā)者信息,因此,只要沒有根證書的SSL業(yè)務(wù)中的中間證書的頒發(fā)者信息與有根證書的SSL業(yè)務(wù)中的根證書的主題信息相同就保證了根證書的安全性。
步驟205:比較A方式的SSL加密特征中的子證書是否與B方式和C方式的SSL加密特征中的子證書相同,若相同,則執(zhí)行步驟206,否則執(zhí)行步驟207;
具體地,比較A方式訪問應(yīng)用服務(wù)器的SSL加密特征中的子證書是否與B方式和C方式訪問應(yīng)用服務(wù)器的SSL加密特征中的子證書相同,若相同,表明A方式訪問應(yīng)用服務(wù)器未被中間人攻擊,則執(zhí)行步驟206;若不相同,表明A方式訪問應(yīng)用服務(wù)器被中間人攻擊,則執(zhí)行步驟207。
這里,兩個子證書相同為兩個子證書的主題信息和頒發(fā)者信息相同。
步驟206:判定A方式訪問應(yīng)用服務(wù)器未被中間人攻擊。
具體地,當(dāng)在步驟205中確定A方式訪問應(yīng)用服務(wù)器的SSL加密特征中的子證書與B方式和C方式訪問應(yīng)用服務(wù)器的SSL加密特征中的子證書相同時,判定A方式訪問應(yīng)用服務(wù)器未被中間人攻擊。
步驟207:判定A方式訪問應(yīng)用服務(wù)器被中間人攻擊;
具體地,當(dāng)在步驟203中確定A方式訪問應(yīng)用服務(wù)器的SSL加密特征中的根證書與B方式和C方式訪問應(yīng)用服務(wù)器的SSL加密特征中的根證書不相同時,判定A方式訪問應(yīng)用服務(wù)器被中間人攻擊;或,當(dāng)在步驟204中確定A方式的SSL加密特征中的中間證書與B方式和C方式的SSL加密特征中的中間證書不相同時,判定A方式訪問應(yīng)用服務(wù)器被中間人攻擊;或,當(dāng)在步驟205中確定A方式的SSL加密特征中的子證書與B方式和C方式的SSL加密特征中的子證書不相同時,判定A方式訪問應(yīng)用服務(wù)器被中間人攻擊。
這里,在一些情況下,證書信任鏈中存在自簽名證書。所謂自簽名證書是用戶或開發(fā)者自己扮演CA機構(gòu),自己給自己簽發(fā)的證書,因此自簽名證書中的頒發(fā)者和主題信息相同。一般來說,通過CA機構(gòu)簽發(fā)的證書比自簽名證書的安全性和權(quán)威性要高,自簽名證書被中間人攻擊的可能性要高很多。所以,在SSL加密特征的比較過程中,如果由兩個或兩個以上SSL加密特征構(gòu)成的SSL加密特征庫中同時存在一個CA簽發(fā)證書和一個或多個自簽名證書,就可以確定被中間人攻擊,而且認為自簽名證書被中間人攻擊。
這里,還可將B方式訪問應(yīng)用服務(wù)器的SSL加密特征和C方式訪問應(yīng)用服務(wù)器的SSL加密特征收集起來,從而形成SSL加密特征庫,并將該SSL加密特征庫存儲在電腦端、或設(shè)備端、或云端等,這樣就不用每次動態(tài)獲取作為參考的SSL加密特征,而只需要周期性的更新該SSL加密特征庫中的文件;并且,SSL加密特征庫還可以處理一些復(fù)雜情況,比如當(dāng)所有SSL業(yè)務(wù)都被中間人攻擊時也可以檢測到。
本發(fā)明實施例關(guān)注的是所有SSL加密業(yè)務(wù),而不是單個SSL加密業(yè)務(wù),可協(xié)同性檢測所有SSL加密業(yè)務(wù),如可以檢測Web服務(wù)器、郵件服務(wù)器、FTP服務(wù)器等;此外,本發(fā)明實施例提供的中間人攻擊的檢測方法不僅適用外網(wǎng)服務(wù)器,也適用內(nèi)網(wǎng)服務(wù)器,是一種通用的安全檢測方法。另外,本發(fā)明實施例提供的中間人攻擊的檢測方法保證了所有SSL加密業(yè)務(wù)的均衡,不僅提高了單個SSL加密業(yè)務(wù)的安全性,還提高了整體SSL加密業(yè)務(wù)的安全性,是一種全面的安全檢測方法。再者,本發(fā)明實施例提供的中間人攻擊的檢測方法不會隨著SSL加密業(yè)務(wù)的增加而發(fā)生本質(zhì)變化,是一種動態(tài)可擴展的安全檢測方法。
實施例三
下面通過一個具體示例對實施例一和實施例二作進一步地的說明,本實施中,使用SMTPS協(xié)議發(fā)送電子郵件是第一SSL業(yè)務(wù),使用SMTPS協(xié)議發(fā)送電子郵件的證書信任鏈為第一加密特征,使用POP3S、IMAPS、HTTPS等協(xié)議發(fā)送電子郵件是第二SSL業(yè)務(wù),使用POP3S、IMAPS、HTTPS等協(xié)議發(fā)送電子郵件的證書信任鏈為第二加密特征,使用SMTPS協(xié)議發(fā)送電子郵件的證書信任鏈與使用POP3S、IMAPS、HTTPS等協(xié)議發(fā)送電子郵件的證書信任鏈相同是第一加密特征和第二加密特征之間需滿足的條件;電子郵件是大多數(shù)組織的主要通信媒體,是用戶不可或缺的通信工具,因此電子郵件安全的重要性毋庸置疑。下面以檢測用戶使用SMTPS協(xié)議發(fā)送電子郵件是否被中間人攻擊為例,詳細說明本實施例的技術(shù)細節(jié)。
第一步,通過openssl、wireshark等工具執(zhí)行命令,獲得命令執(zhí)行結(jié)果后,提取使用SMTPS協(xié)議進行發(fā)送加密郵件的SSL加密特征庫,如下所示:
執(zhí)行命令:
openssl s_client-connect smtp.qq.com:465;
命令執(zhí)行結(jié)果:
……
Certificate chain
0s:/C=CN/ST=Guangdong/L=Shenzhen/O=Shenzhen Tencent Computer Systems Company Limited/OU=R&D/CN=pop.qq.com;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
1s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust Global CA;
……
第二步,查詢發(fā)送加密郵件的POP3S、IMAPS、HTTPS等SSL業(yè)務(wù),再通過openssl、wireshark等工具分別獲取POP3S、IMAPS、HTTPS等SSL業(yè)務(wù)的SSL加密特征庫,獲得命令執(zhí)行結(jié)果后,提取使用POP3S、IMAPS、HTTPS等協(xié)議進行發(fā)送加密郵件的SSL加密特征庫,如下所示:
(1)執(zhí)行命令:
openssl s_client-connect pop.qq.com:995;
命令執(zhí)行結(jié)果:
……
Certificate chain
0s:/C=CN/ST=Guangdong/L=Shenzhen/O=Shenzhen Tencent Computer Systems Company Limited/OU=R&D/CN=pop.qq.com;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
1s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust Global CA;
……
(2)執(zhí)行命令:
openssl s_client-connect imap.qq.com:993;
命令執(zhí)行結(jié)果:
……
Certificate chain
0s:/C=CN/ST=Guangdong/L=Shenzhen/O=Shenzhen Tencent Computer Systems Company Limited/OU=R&D/CN=pop.qq.com;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
1s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust Global CA;
……
(3)執(zhí)行命令:
openssl s_client-connect smtp.qq.com:587;
命令執(zhí)行結(jié)果:
……
Certificate chain
0s:/C=CN/ST=Guangdong/L=Shenzhen/O=Shenzhen Tencent Computer Systems Company Limited/OU=R&D/CN=pop.qq.com;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
1s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust Global CA;
……
(4)執(zhí)行命令:
openssl s_client-connect mail.qq.com:443;
命令執(zhí)行結(jié)果:
……
Certificate chain
0s:/C=CN/ST=Guangdong/L=Shenzhen/O=Shenzhen Tencent Computer Systems Company Limited/OU=R&D/CN=mail.qq.com;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
1s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA-G3;
i:/C=US/O=Geo Trust Inc./CN=Geo Trust Global CA;
2s:/C=US/O=Geo Trust Inc./CN=Geo Trust SSL CA;
i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority;
……
第三步,對比SMTPS的SSL加密特征庫與POP3S、IMAPS等業(yè)務(wù)的SSL加密特征庫;由于除了HTTPS的SSL加密特征庫之外,POP3S、IMAPS等業(yè)務(wù)的SSL加密特征庫沒有根證書信息,所以從中間證書開始比較,發(fā)現(xiàn)所有業(yè)務(wù)的SSL加密特征庫的中間證書都相同,而且所有中間證書都是通過CA權(quán)威機構(gòu)簽發(fā)的;繼續(xù)比較子證書,發(fā)現(xiàn)所有子證書中除了服務(wù)器域名不同外,其他信息都相同;因此,根據(jù)比較邏輯,可以判斷該用戶的當(dāng)前環(huán)境沒有被中間人攻擊。
實施例四
下面通過一個具體示例對實施例一和實施例二作進一步地的說明,本實施例中,通過瀏覽器方式訪問sohu郵箱即使用HTTPS協(xié)議訪問sohu郵箱是第一SSL業(yè)務(wù),通過瀏覽器方式訪問sohu郵箱的證書信任鏈為第一加密特征,使用POP3S、IMAPS、SMTPS等協(xié)議訪問sohu郵箱是第二SSL業(yè)務(wù),使用POP3S、IMAPS、SMTPS等協(xié)議訪問sohu郵箱的證書信任鏈為第二加密特征,通過瀏覽器方式訪問sohu郵箱的證書信任鏈與使用POP3S、IMAPS、SMTPS等協(xié)議訪問sohu郵箱的證書信任鏈相同是第一加密特征和第二加密特征之間需滿足的條件;假如用戶想要檢測通過瀏覽器方式訪問sohu郵箱是否被中間人攻擊,具體過程如下所示:
第一步,通過openssl、wireshark等工具執(zhí)行命令,獲得命令執(zhí)行結(jié)果后,提取通過瀏覽器方式訪問sohu郵箱的SSL加密特征庫,如下所示:
執(zhí)行命令:
openssl s_client-connect mail.sohu.com:443;
命令執(zhí)行結(jié)果:
……
Certificate chain
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Sohu New Media Information Technology Co.Ltd/OU=Application Operator/CN=*.sohu.com;
i:/C=CN/ST=Beijing/L=BJ/O=TEST/OU=faketest/CN=www.test.com/email Address=test@aa.com;
1s:/C=CN/ST=Beijing/L=BJ/O=TEST/OU=faketest/CN=www.test.com/email Address=test@aa.com;
i:/C=CN/ST=Beijing/L=BJ/O=TEST/OU=faketest/CN=www.test.com/email Address=test@aa.com;
……
第二步,查詢訪問sohu郵箱的其他SSL業(yè)務(wù),再通過openssl、wireshark等工具分別獲取POP3S、IMAPS、HTTPS等SSL業(yè)務(wù)的SSL加密特征庫,獲得命令執(zhí)行結(jié)果后,提取使用POP3S、IMAPS、HTTPS等協(xié)議訪問sohu郵箱的SSL加密特征庫,如下所示:
(1)執(zhí)行命令:
openssl s_client-connect mail.sohu.com:995;
命令執(zhí)行結(jié)果:
……
Certificate chain
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Sohu New Media Information Technology Co.Ltd/OU=Application Operator/CN=*.sohu.com;
i:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3Secure Server CA-G4;
1s:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3Secure Server CA-G4;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public Primary Certification Authority-G5;
2s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public Primary Certification Authority-G5;
i:/C=US/O=VeriSign,Inc./OU=Class 3Public Primary Certification Authority;
(2)執(zhí)行命令:
openssl s_client-connect mail.sohu.com:993;
命令執(zhí)行結(jié)果:
……
Certificate chain
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Sohu New Media Information Technology Co.Ltd/OU=Application Operator/OU=Terms of use at www.verisign.com/rpa(c)05/CN=*.sohu.com;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa(c)10/CN=VeriSign Class 3Secure Server CA-G3;
1s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa(c)10/CN=VeriSign Class 3Secure Server CA-G3;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public Primary Certification Authority-G5;
2s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public Primary Certification Authority-G5;
i:/C=US/O=VeriSign,Inc./OU=Class 3Public Primary Certification Authority;
(3)執(zhí)行命令:
openssl s_client-connect mail.sohu.com:465;
命令執(zhí)行結(jié)果:
……
Certificate chain
0s:/C=CN/ST=Beijing/L=Beijing/O=Beijing Sohu New Media Information Technology Co.Ltd/OU=Application Operator/CN=*.sohu.com;
i:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3Secure Server CA-G4;
1s:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3Secure Server CA-G4;
i:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public Primary Certification Authority-G5;
2s:/C=US/O=VeriSign,Inc./OU=VeriSign Trust Network/OU=(c)2006VeriSign,Inc.-For authorized use only/CN=VeriSign Class 3Public Primary Certification Authority-G5;
i:/C=US/O=VeriSign,Inc./OU=Class 3Public Primary Certification Authority。
第三步,比較各個業(yè)務(wù)的SSL加密特征庫,發(fā)現(xiàn)HTTPS的SSL加密特征庫中根證書與其他業(yè)務(wù)的SSL加密特征庫的根證書不同,而且是自簽名證書,可以確定該用戶通過瀏覽器訪問sohu加密郵箱被中間人攻擊。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和范圍之內(nèi)所作的任何修改、等同替換和改進等,均包含在本發(fā)明的保護范圍之內(nèi)。