本公開涉及用于檢查電子證書的技術(shù)。
背景技術(shù):
以往,提出了接受來自客戶端的檢查請求而驗(yàn)證證書的證書驗(yàn)證服務(wù)器(參照非專利文獻(xiàn)1)。
另外,提出一種分析裝置,該分析裝置在終端進(jìn)行了已知的不正當(dāng)通信中的某種不正當(dāng)通信的情況下,在從該不正當(dāng)通信的發(fā)生時(shí)刻起的規(guī)定范圍的時(shí)間段中,終端取得在通信中使用的通信目的地的訪問URL,根據(jù)所取得的各通信目的地的訪問URL在不正當(dāng)通信和其他不正當(dāng)通信中出現(xiàn)的頻度,從各通信目的地的訪問URL中檢測與不正當(dāng)通信關(guān)聯(lián)的通信目的地的訪問URL(參照專利文獻(xiàn)1)。
現(xiàn)有技術(shù)文獻(xiàn)
專利文獻(xiàn)
專利文獻(xiàn)1:日本特開2015-082769號(hào)公報(bào)
非專利文獻(xiàn)
非專利文獻(xiàn)1:株式會(huì)社日立製作所,「<証明書検証サーバ>製品紹介」http://www.hitachi.co.jp/Prod/comp/app/kensho/product.html,平成27年9月24日取得
技術(shù)實(shí)現(xiàn)要素:
發(fā)明要解決的技術(shù)問題
以往,在SSL/TLS等密碼通信中,出于認(rèn)證通信對方的目的,利用電子證書。但是,以往,通過進(jìn)行終端的應(yīng)用來檢查電子證書,所以在應(yīng)用的安裝不完備的情況下,有可能與意料不到的通信目的地進(jìn)行通信。
針對這樣的問題,以往,提出了通過代理服務(wù)器來檢查的方法、強(qiáng)化所利用的應(yīng)用的檢查功能的方法等,但在采用這樣的方法的情況下,針對應(yīng)用,需要進(jìn)行用于利用代理服務(wù)器的設(shè)定、用于檢查功能強(qiáng)化的設(shè)定等,有可能發(fā)生電子證書的漏檢。
另外,在惡意軟件中,為了與C&C服務(wù)器進(jìn)行密碼通信,也有時(shí)使用SSL/TLS協(xié)議,這樣的惡意軟件不使用正當(dāng)?shù)碾娮幼C書的情況也較多。并且,由于本來應(yīng)該進(jìn)行電子證書的檢查的終端應(yīng)用是惡意軟件,所以在終端側(cè)也難以檢查這樣的電子證書。
本公開鑒于上述問題,以降低電子證書的漏檢作為課題。
解決技術(shù)問題的技術(shù)手段
本公開的一個(gè)例子涉及一種信息處理裝置,具備:通信取得單元,其在連接于網(wǎng)絡(luò)的第一終端與第二終端之間的通信到達(dá)對方側(cè)終端之前取得該通信;協(xié)議分析單元,其通過對通過所述通信取得單元取得的通信的協(xié)議進(jìn)行分析,確定該通信中包含的會(huì)話確立用消息,該會(huì)話確立用消息包含成為保密的對象的會(huì)話中的通信對方的電子證書;證書提取單元,其從通過所述協(xié)議分析單元確定了的所述會(huì)話確立用消息中提取電子證書;以及檢查單元,其檢查所提取出的所述電子證書。
本公開能夠作為信息處理裝置、系統(tǒng)、通過計(jì)算機(jī)執(zhí)行的方法或者使計(jì)算機(jī)執(zhí)行的程序來把握。另外,本公開也能夠設(shè)為將這樣的程序記錄于計(jì)算機(jī)之外的裝置、機(jī)械等可讀的記錄介質(zhì)中來把握。此處,計(jì)算機(jī)等可讀的記錄介質(zhì)是指能夠通過電、磁、光學(xué)、機(jī)械或者化學(xué)作用來累積數(shù)據(jù)、程序等信息、并且從計(jì)算機(jī)等讀取的記錄介質(zhì)。
發(fā)明效果
根據(jù)本公開,能夠降低電子證書的漏檢。
附圖說明
圖1是示出實(shí)施方式的系統(tǒng)的結(jié)構(gòu)的概略圖。
圖2是示出實(shí)施方式的網(wǎng)絡(luò)監(jiān)視裝置的硬件結(jié)構(gòu)的圖。
圖3是示出實(shí)施方式的網(wǎng)絡(luò)監(jiān)視裝置的功能結(jié)構(gòu)的概略的圖。
圖4是示出實(shí)施方式的數(shù)據(jù)處理的流程的流程圖。
圖5是示出實(shí)施方式的檢查處理的流程的流程圖。
圖6是示出實(shí)施方式的SSL/TLS會(huì)話確立處理和在這之前執(zhí)行的名字解析處理的流程的序列圖。
圖7是示出實(shí)施方式的SSL/TLS會(huì)話確立處理和在這之前執(zhí)行的與代理服務(wù)器的會(huì)話確立處理的流程的序列圖。
圖8是示出實(shí)施方式的系統(tǒng)的結(jié)構(gòu)的變形的概略圖。
具體實(shí)施方式
以下,根據(jù)附圖,說明本公開的信息處理裝置、方法和程序的實(shí)施方式。但是,以下說明的實(shí)施方式是例示實(shí)施方式,并非將本公開的信息處理裝置、方法和程序限定于以下說明的具體結(jié)構(gòu)。在實(shí)施時(shí),也可以適當(dāng)采用與實(shí)施的形式相應(yīng)的具體結(jié)構(gòu),并且進(jìn)行各種改進(jìn)、變形。
在本實(shí)施方式中,說明在用于監(jiān)視網(wǎng)絡(luò)的系統(tǒng)中實(shí)施本公開的信息處理裝置、方法和程序的情況下的實(shí)施方式。但是,本公開的信息處理裝置、方法和程序能夠針對用于檢查電子證書的技術(shù)而廣泛使用,本公開的應(yīng)用對象不限定于在本實(shí)施方式中示出的例子。
<系統(tǒng)的結(jié)構(gòu)>
圖1是示出本實(shí)施方式的系統(tǒng)1的結(jié)構(gòu)的概略圖。本實(shí)施方式的系統(tǒng)1具備連接多個(gè)信息處理終端90(以下,稱為“節(jié)點(diǎn)90”)的網(wǎng)絡(luò)分段2以及用于監(jiān)視與節(jié)點(diǎn)90相關(guān)的通信的網(wǎng)絡(luò)監(jiān)視裝置20。另外,網(wǎng)絡(luò)分段2內(nèi)的節(jié)點(diǎn)90能夠經(jīng)由路由器10來與經(jīng)由因特網(wǎng)、廣域網(wǎng)在遠(yuǎn)程位置連接了的各種服務(wù)器進(jìn)行通信。在本實(shí)施方式中,網(wǎng)絡(luò)監(jiān)視裝置20連接于網(wǎng)絡(luò)分段2的開關(guān)或者路由器(在圖1所示的例子中,路由器10)與處于其上級的其他開關(guān)或者路由器之間,從而取得通過的數(shù)據(jù)包、幀等。在這種情況下,關(guān)于所取得的數(shù)據(jù)包中的可以不切斷的數(shù)據(jù)包,網(wǎng)絡(luò)監(jiān)視裝置20以進(jìn)行轉(zhuǎn)送的聯(lián)機(jī)(inline)模式進(jìn)行動(dòng)作。
圖2是示出本實(shí)施方式的網(wǎng)絡(luò)監(jiān)視裝置20的硬件結(jié)構(gòu)的圖。此外,在圖2中,關(guān)于網(wǎng)絡(luò)監(jiān)視裝置20以外的結(jié)構(gòu)(路由器10、節(jié)點(diǎn)90等),省略圖示。網(wǎng)絡(luò)監(jiān)視裝置20是具備CPU(Central Processing Unit,中央處理單元)11、RAM(Random Access Memory,隨機(jī)存取存儲(chǔ)器)13、ROM(Read Only Memory,只讀存儲(chǔ)器)12、EEPROM(Electrically Erasable and Programmable Read Only Memory,電可擦除可編程只讀存儲(chǔ)器)、HDD(Hard Disk Drive,硬盤驅(qū)動(dòng)器)等存儲(chǔ)裝置14、NIC(Network Interface Card,網(wǎng)絡(luò)接口卡)15等通信單元等的計(jì)算機(jī)。
圖3是示出本實(shí)施方式的網(wǎng)絡(luò)監(jiān)視裝置20的功能結(jié)構(gòu)的概略的圖。此外,在圖3中,關(guān)于網(wǎng)絡(luò)監(jiān)視裝置20以外的結(jié)構(gòu)(路由器10和節(jié)點(diǎn)90等),省略圖示。通過RAM13讀出在存儲(chǔ)裝置14中記錄的程序并通過CPU11來執(zhí)行,從而網(wǎng)絡(luò)監(jiān)視裝置20作為具備通信取得部21、流管理部22、協(xié)議分析部23、證書提取部24、識(shí)別信息提取部25、檢查部26、信息取得部27、事件處理部28和通信切斷部29的信息處理裝置而發(fā)揮功能。此外,在本實(shí)施方式中,網(wǎng)絡(luò)監(jiān)視裝置20具備的各功能通過作為通用處理器的CPU11來執(zhí)行,但這些功能的一部分或者全部也可以通過一個(gè)或者多個(gè)專用處理器來執(zhí)行。另外,這些功能的一部分或者全部也可以使用云技術(shù)等,通過在遠(yuǎn)程位置設(shè)置的裝置、分散設(shè)置的多個(gè)裝置來執(zhí)行。
通信取得部21在通過與網(wǎng)絡(luò)連接的終端發(fā)送接收的通信的數(shù)據(jù)到達(dá)對方側(cè)終端之前取得該數(shù)據(jù)。此外,在本實(shí)施方式中,在成為由網(wǎng)絡(luò)監(jiān)視裝置20實(shí)施的監(jiān)視和探測的對象的“終端”中,除了與網(wǎng)絡(luò)分段2連接了的節(jié)點(diǎn)90之外,還包括經(jīng)由路由器10與節(jié)點(diǎn)90進(jìn)行通信的其他終端(屬于其他網(wǎng)絡(luò)的節(jié)點(diǎn)、外部服務(wù)器等)。
流管理部22識(shí)別通過通信取得部21取得的數(shù)據(jù)屬于的通信流(以下,也簡稱為“流”),另外,每當(dāng)接收到屬于各個(gè)流的數(shù)據(jù)時(shí),根據(jù)所取得的數(shù)據(jù)、分析結(jié)果、檢查結(jié)果來更新流表(省略圖示),從而對流進(jìn)行管理。此處,流是指用于識(shí)別TCP(Transmission Control Protocol,傳輸控制協(xié)議)的連接、SSL/TLS的會(huì)話等、1組數(shù)據(jù)的發(fā)送接收的單位。
在流表中,針對通過網(wǎng)絡(luò)監(jiān)視裝置20取得的通信的每個(gè)流,管理與該流相關(guān)的信息(以下,稱為“流關(guān)聯(lián)信息”)。在本實(shí)施方式中,通過附加流ID來識(shí)別流,流管理部22能夠?qū)⒘鱅D作為關(guān)鍵字,從流表中檢索出目標(biāo)的流關(guān)聯(lián)信息。另外,通過參照數(shù)據(jù)包的組頭中包括的協(xié)議編號(hào)、發(fā)送源IP地址、接收方IP地址、發(fā)送源端口編號(hào)、接收方端口編號(hào)等來識(shí)別流。因此,當(dāng)接收到與新的流相關(guān)的數(shù)據(jù)包時(shí),流管理部22對流ID進(jìn)行取號(hào),保持與用于識(shí)別上述流的信息的對應(yīng)關(guān)系。
進(jìn)而,流管理部22利用通過通信取得部21取得的多個(gè)數(shù)據(jù)包,根據(jù)該多個(gè)數(shù)據(jù)包分別屬于的流,組建在節(jié)點(diǎn)90與外部服務(wù)器等之間發(fā)送接收的通信的內(nèi)容。
協(xié)議分析部23通過依照預(yù)先設(shè)定的協(xié)議的特征,對通過通信取得部21取得的對象數(shù)據(jù)進(jìn)行分析,從而推測與該流相關(guān)的協(xié)議是否為某種協(xié)議。另外,協(xié)議分析部23通過參照通過流管理部22組建了的通信的內(nèi)容,對協(xié)議進(jìn)行分析,從而確定該通信中包括的、包括成為保密的對象的會(huì)話中的通信對方的電子證書的會(huì)話確立用消息(在本實(shí)施方式中,SSL/TLS握手)。
證書提取部24從通過協(xié)議分析部23確定了的會(huì)話確立用消息中,提取電子證書(服務(wù)器證書和/或認(rèn)證中心證書)。
識(shí)別信息提取部25提取作為節(jié)點(diǎn)90的通信對方的服務(wù)器的識(shí)別信息。此處所提取的服務(wù)器的識(shí)別信息是例如FQDN(Fully Qualified Domain Name,完全合格域名)、IP地址等。另外,識(shí)別信息提取部25也可以通過各種方法提取服務(wù)器的識(shí)別信息。例如,識(shí)別信息提取部25能夠從會(huì)話確立用消息(例如,ClientHello消息的SNI(Server Name Indication,服務(wù)器名稱指示)字段)中提取通信對方的識(shí)別信息。除此之外,識(shí)別信息提取部25也可以從通過通信取得部21取得的通信中的、在會(huì)話確立用消息的發(fā)送接收之前在節(jié)點(diǎn)90與外部服務(wù)器等之間發(fā)送接收的通信中,提取通信對方的識(shí)別信息。此處所說的“在會(huì)話確立用消息的發(fā)送接收之前在節(jié)點(diǎn)90與外部服務(wù)器等之間發(fā)送接收的通信”是指例如用于名字解析的消息發(fā)送接收、用于確立與代理服務(wù)器的會(huì)話的三次握手等。
檢查部26通過對電子證書中包括的一個(gè)或者多個(gè)規(guī)定的字段的值、與預(yù)先定義的、各字段的值可取到的范圍進(jìn)行比較,檢查所提取出的電子證書。另外,檢查部26根據(jù)從外部服務(wù)器取得的信息,檢查電子證書。
另外,檢查部26通過對通過識(shí)別信息提取部25提取出的通信對方的識(shí)別信息與電子證書(服務(wù)器證書)中包括的對象(subject)服務(wù)器信息進(jìn)行比較,檢查會(huì)話中的通信對方的正當(dāng)性。
進(jìn)而,檢查部26通過對會(huì)話確立用消息中包括的、在將被確立的會(huì)話中使用的密碼通信方式(加密套件)、與預(yù)先定義的、在設(shè)置有該信息處理裝置的環(huán)境中被許可的密碼通信方式進(jìn)行比較,進(jìn)一步檢查該會(huì)話的安全強(qiáng)度。
信息取得部27從外部服務(wù)器(例如,認(rèn)證中心)取得與電子證書有關(guān)的信息。在信息的取得中,能夠利用CRL(Certificate Revocation List:證書吊銷列表)、OCSP(Online Certificate Status Protocol,在線證書狀態(tài)協(xié)議)等。
事件處理部28在通過協(xié)議分析部23或者檢查部26探測到事件的情況下,保存與該事件相關(guān)的日志(證跡)或者將探測到該事件通知給用戶。在本實(shí)施方式中,作為被探測的事件,例如有不正當(dāng)?shù)碾娮幼C書的通信、不正當(dāng)?shù)耐ㄐ艑Ψ健⒉粷M足安全策略的通信、未按照協(xié)議的通信、利用惡意軟件進(jìn)行的通信等。更具體地說,事件處理部28在檢查部26的檢查結(jié)果不滿足規(guī)定的基準(zhǔn)的情況下,對節(jié)點(diǎn)90、外部服務(wù)器等或者該信息處理裝置的管理者發(fā)送通知(警告)。進(jìn)而,事件處理部28將檢查部26的檢查結(jié)果作為日志累積到存儲(chǔ)裝置14等中。
通信切斷部29在檢查部26的檢查結(jié)果不滿足規(guī)定的基準(zhǔn)的情況下,例如在判定為檢查結(jié)果不正常的情況下,切斷節(jié)點(diǎn)90與外部服務(wù)器等之間的通信。此外,在本實(shí)施方式中,說明了在判定為檢查結(jié)果不正常的情況下采取切斷該終端的通信的應(yīng)對措施的例子,但在判定為檢查結(jié)果不正常的情況下的應(yīng)對方法不限定于切斷通信。網(wǎng)絡(luò)監(jiān)視裝置20在判定為檢查結(jié)果不正常的情況下,既可以進(jìn)行警報(bào)(警告)的通知,也可以進(jìn)行對進(jìn)行不正常的通信的終端的修復(fù)(例如,惡意軟件的去除、漏洞的去除)。
此外,網(wǎng)絡(luò)監(jiān)視裝置20例如能夠使用對節(jié)點(diǎn)90進(jìn)行利用ARP偽裝的數(shù)據(jù)包發(fā)送目的地的引導(dǎo)的方法、指示路由器10放棄與節(jié)點(diǎn)90相關(guān)的通信的方法、或者變更節(jié)點(diǎn)90屬于的VLAN而進(jìn)行隔離的方法等來切斷通過節(jié)點(diǎn)90進(jìn)行的通信。另外,網(wǎng)絡(luò)監(jiān)視裝置20也能夠直接切斷節(jié)點(diǎn)90接收或者發(fā)送的通信。另外,網(wǎng)絡(luò)監(jiān)視裝置20能夠使用向管理服務(wù)器、節(jié)點(diǎn)90、預(yù)先設(shè)定的管理者終端等發(fā)送通知數(shù)據(jù)包、郵件等的方法、經(jīng)由網(wǎng)絡(luò)監(jiān)視裝置20自身設(shè)置的顯示裝置(顯示器、LED等)而進(jìn)行警告顯示的方法等來通知警報(bào)。
<處理的流程>
接下來,使用流程圖,說明通過本實(shí)施方式的系統(tǒng)1來執(zhí)行的處理的流程。此外,以下說明的流程圖所示的處理的具體內(nèi)容和處理順序是用于實(shí)施本公開的一個(gè)例子。具體的處理內(nèi)容和處理順序也可以根據(jù)本公開的實(shí)施方式而適當(dāng)選擇。
圖4是示出本實(shí)施方式的數(shù)據(jù)處理的流程的流程圖。每當(dāng)通過網(wǎng)絡(luò)監(jiān)視裝置20取得在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)時(shí),執(zhí)行本實(shí)施方式的數(shù)據(jù)處理。
在步驟S101中,取得數(shù)據(jù)。通信取得部21取得在網(wǎng)絡(luò)上傳輸?shù)摹⑴c節(jié)點(diǎn)90和外部服務(wù)器等之間的通信相關(guān)的數(shù)據(jù)。此處,流管理部22通過參照包括對象數(shù)據(jù)的數(shù)據(jù)包的組頭等,識(shí)別對象數(shù)據(jù)屬于的流,在將數(shù)據(jù)分割成多個(gè)數(shù)據(jù)包的情況下,等待被分割而得到的多個(gè)數(shù)據(jù)包的接收,從而取得規(guī)定的單位的數(shù)據(jù)。
更具體地說,當(dāng)通過通信取得部21而新取得通信(輸入數(shù)據(jù)包)時(shí),流管理部22進(jìn)行輸入數(shù)據(jù)包的整形、分類以及向有效的既有流建立關(guān)聯(lián)。另外,網(wǎng)絡(luò)監(jiān)視裝置20針對輸入數(shù)據(jù)包,按照終端單位(發(fā)送源/接收方IP地址(MAC地址)單位)、傳輸層和傳輸層的上級層的協(xié)議(TCP、UDP、ICMP、SSL/TLS等)單位進(jìn)行分類并且與既有流關(guān)聯(lián)起來。然后,流管理部22通過參照流表,取得與所識(shí)別出的流相關(guān)的信息。其后,處理前進(jìn)到步驟S102。
在步驟S102和步驟S103中,進(jìn)行對象數(shù)據(jù)是否為用于SSL/TLS協(xié)議的握手的消息的分析(parse)。協(xié)議分析部23參照對象數(shù)據(jù),進(jìn)行數(shù)據(jù)的分析處理、事務(wù)(transaction)的管理等的分析。例如通過預(yù)先定義的協(xié)議的與數(shù)據(jù)模型的比較等來進(jìn)行分析。
但是,協(xié)議的分析中使用的方法不限定于本公開中的例示。例如,也可以使用針對和該協(xié)議分析部23相關(guān)的協(xié)議的與數(shù)據(jù)模型的一致點(diǎn)、不一致點(diǎn)而累積分?jǐn)?shù)并且對該分?jǐn)?shù)與閾值進(jìn)行比較的方法,判定到此為止接收到的對象數(shù)據(jù)的與該協(xié)議的相似度,從而針對對象數(shù)據(jù)是否為該協(xié)議分析部23負(fù)責(zé)的協(xié)議進(jìn)行分析。此外,在對象數(shù)據(jù)是與該流相關(guān)的第2次以后的數(shù)據(jù)的情況下,即在該協(xié)議分析部23以前分析過與該流相關(guān)的數(shù)據(jù)的情況下,在分析時(shí),除對象數(shù)據(jù)之外,還參照直到上次為止的分析上下文。
在協(xié)議分析之后,在判定為對象數(shù)據(jù)不是SSL/TLS的握手消息的情況下,處理回到步驟S101。另一方面,在協(xié)議分析之后,在判定為對象數(shù)據(jù)是SSL/TLS的握手消息的情況下,處理前進(jìn)到步驟S104。
在步驟S104至步驟S107中,根據(jù)消息的種類,取得檢查所需的信息。協(xié)議分析部23判定所取得的SSL/TLS的握手消息是否為握手消息中的某一種消息(步驟S104)。
在消息的種類是ClientHello的情況下,識(shí)別信息提取部25從所取得的ClientHello消息的SNI字段中,提取作為節(jié)點(diǎn)90的通信對方的服務(wù)器的識(shí)別信息(具體地說,F(xiàn)QDN、IP地址等)(步驟S105)。但是,也可以從在從節(jié)點(diǎn)90向服務(wù)器發(fā)送了的數(shù)據(jù)包中設(shè)定的接收方IP地址中,提取作為節(jié)點(diǎn)90的通信對方的服務(wù)器的識(shí)別信息。
另外,在消息的種類是ServerHello的情況下,協(xié)議分析部23從所取得的ServerHello消息中,提取被建議在將被確立的SSL/TLS的會(huì)話中使用的加密套件(密碼通信方法,具體地說,加密方式、密鑰的強(qiáng)度等)(步驟S106)。
另外,在消息的種類是從服務(wù)器發(fā)送了的Certificate的情況下,證書提取部24從所取得的Certificate消息中,提取作為節(jié)點(diǎn)90的通信對方的服務(wù)器的電子證書(服務(wù)器證書)(步驟S107)。
當(dāng)進(jìn)行SSL/TLS的握手消息中包括的各種信息得以提取后,處理前進(jìn)到步驟S108。
在步驟S108中,判定檢查所需的信息的取得處理是否完成。但是,“取得處理完成”不意味著在步驟S105至步驟S107中取得了能夠取得的全部信息。關(guān)于詳細(xì)情況在后面敘述,例如,由于服務(wù)器的識(shí)別信息也能夠從ClientHello消息的SNI字段以外的數(shù)據(jù)包取得,所以如果從其他數(shù)據(jù)包的取得完成,則不需要步驟S105中的取得。另外,在出于某些理由(在數(shù)據(jù)包中不包括信息等理由)而在步驟S105至步驟S107中無法取得應(yīng)取得的信息的情況下,也開始檢查,所以判定為取得處理完成。在信息的取得處理未完成的情況下,處理回到步驟S101。另一方面,在信息的取得處理完成了的情況下,處理前進(jìn)到步驟S109。
在步驟S109中,執(zhí)行檢查處理。在本實(shí)施方式的檢查處理中,檢查電子證書、會(huì)話中的通信對方的正當(dāng)性和保密通信的安全強(qiáng)度等。關(guān)于檢查的詳細(xì)情況,參照圖5而在后面敘述。當(dāng)檢查完成后,處理前進(jìn)到步驟S110。
在步驟S110和步驟S111中,判定檢查的結(jié)果,在檢查結(jié)果不正常的情況下,進(jìn)行事件處理。在判定為檢查結(jié)果不正常的情況下,事件處理部28進(jìn)行保存證跡、通知管理者等處理。另外,也可以通過通信切斷部29來切斷通信。此外,在判定為檢查結(jié)果不正常的情況下的應(yīng)對方法不限定于切斷通信。網(wǎng)絡(luò)監(jiān)視裝置20在判定為檢查結(jié)果不正常的情況下,既可以進(jìn)行警報(bào)(警告)的通知,也可以進(jìn)行對進(jìn)行不正常的通信的終端的修復(fù)(例如,惡意軟件的去除、漏洞的去除)。其后,本流程圖所示的處理結(jié)束。
圖5是示出本實(shí)施方式的檢查處理的流程的流程圖。在參照圖4來說明了的數(shù)據(jù)處理中,以調(diào)用了步驟S109所示的檢查處理的情況為契機(jī),執(zhí)行本實(shí)施方式的檢查處理。即,圖5所示的流程圖示出圖4的步驟S109所示的檢查處理的詳細(xì)情況。
在步驟S201中,檢查將被確立的會(huì)話中的通信對方的正當(dāng)性。檢查部26通過針對在到此為止的處理中得到的、作為節(jié)點(diǎn)90的通信對方的識(shí)別信息、與服務(wù)器證書中包括的對象服務(wù)器信息(具體地說,subject字段和subjectAltName字段的信息)的一致/不一致進(jìn)行檢查,從而檢查將被確立的會(huì)話中的通信對方的正當(dāng)性。此外,在未得到通信對方的識(shí)別信息的情況下,也可以跳過本步驟的處理。在判定為不是正當(dāng)?shù)耐ㄐ艑Ψ降那闆r下,處理前進(jìn)到步驟S205。另一方面,在判定為是正當(dāng)?shù)耐ㄐ艑Ψ降那闆r下,處理前進(jìn)到步驟S202。
在步驟S202中,檢查所提取出的電子證書是否為正規(guī)的證書。檢查部26例如按以下的次序,檢查SSL服務(wù)器證書的正當(dāng)性。
(1)監(jiān)視SSL/TLS Handshake協(xié)議的Server Certificate消息。此外,在SSL會(huì)話的再利用(SSL會(huì)話高速緩沖)序列中,不發(fā)送Server Certificate消息,所以不檢查該項(xiàng)目。
(2)檢查Server Certificate消息中包括的SSL服務(wù)器證書的內(nèi)容。例如,檢查部26將不滿足以下條件的證書視為不正當(dāng)?shù)腟SL服務(wù)器證書。
·version字段的值是v3(0x02)(不認(rèn)可v3以外的舊的形式)。
·validity字段的“notBefore”與“notAfter”的值是合理的(notBefore是相對于當(dāng)前的過去,notAfter是相對于當(dāng)前的未來)。
·針對extensions字段的“keyUsage(Id:2.5.29.15)”、“extKeyUsage(Id:2.5.29.37)”擴(kuò)展字段設(shè)定正當(dāng)?shù)闹?例如,確認(rèn)設(shè)定了Digital Signature比特位、serverAuth(KeyPurposeId:1.3.6.1.5.5.7.3.1))。
(3)驗(yàn)證是正當(dāng)?shù)恼J(rèn)證中心發(fā)行了的SSL服務(wù)器證書。例如,在滿足以下的某個(gè)條件的情況下,視為自簽名SSL服務(wù)器證書。
·issuer字段與subject字段的值一致。
·不是由可依賴的認(rèn)證中心簽名了的證書。
另外,當(dāng)在證書鏈中包括認(rèn)證中心證書的情況下,也可以使用同樣的方法(各字段的內(nèi)容檢查),檢查該認(rèn)證中心證書。
在按以上的次序進(jìn)行檢查之后,在判定為電子證書不是正規(guī)的證書(是不正當(dāng)?shù)淖C書)的情況下,處理前進(jìn)到步驟S205。另一方面,在判定為電子證書是正規(guī)的證書的情況下,處理前進(jìn)到步驟S203。
另外,為了進(jìn)行更詳細(xì)的檢查,網(wǎng)絡(luò)監(jiān)視裝置20也可以確認(rèn)所提取出的證書所表示的認(rèn)證中心的存在,或者自發(fā)地獲取證書的附加信息來檢查。具體地說,信息取得部27從認(rèn)證中心等外部服務(wù)器取得與電子證書有關(guān)的信息。在信息的取得中,能夠利用CRL、OCSP等。然后,檢查部26使用詢問外部的服務(wù)(CRL、OCSP響應(yīng)器等)而得到的信息,更準(zhǔn)確地檢查證書的有效性。檢查部26對從外部取得的一個(gè)或者多個(gè)信息、與預(yù)先定義的、各信息的值可取到的范圍進(jìn)行比較,檢查電子證書。另外,檢查部26也可以使用上級的認(rèn)證中心證書的密鑰,進(jìn)行檢查服務(wù)器證書的簽名這樣的、通常的終端應(yīng)用進(jìn)行的檢查。
在步驟S203中,檢查在將被確立的會(huì)話中使用的加密套件的安全強(qiáng)度。檢查部26對從會(huì)話確立用消息中提取出的加密套件的內(nèi)容與預(yù)先設(shè)定的規(guī)定的基準(zhǔn)進(jìn)行比較。在判定為加密套件的安全強(qiáng)度不滿足規(guī)定的基準(zhǔn)(例如,通過管理者設(shè)定了的安全策略)的情況下,處理前進(jìn)到步驟S205。另一方面,在判定為加密套件的安全強(qiáng)度滿足規(guī)定的基準(zhǔn)的情況下,處理前進(jìn)到步驟S204。
在步驟S204中,作為檢查結(jié)果,設(shè)定表示檢查結(jié)果正常的意思的值。其后,本流程圖所示的處理結(jié)束,回到圖4所示的數(shù)據(jù)處理。
在步驟S205中,作為檢查結(jié)果,設(shè)定表示檢查結(jié)果不正常的意思的值。其后,本流程圖所示的處理結(jié)束,回到圖4所示的數(shù)據(jù)處理。
<變形1>
接下來,說明取得通信對方的信息的方法的變形。在節(jié)點(diǎn)90處終止通信的客戶端應(yīng)用保持自身想要連接的通信對方的信息,所以能夠使用自身保持的通信對方的信息來檢查通信對方的正當(dāng)性,但本實(shí)施方式所示的網(wǎng)絡(luò)監(jiān)視裝置20在傳送路徑上檢查節(jié)點(diǎn)90的通信對方的正當(dāng)性,所以不具有節(jié)點(diǎn)90的通信對方的信息。因此,網(wǎng)絡(luò)監(jiān)視裝置20需要從通信數(shù)據(jù)取得節(jié)點(diǎn)90的通信對方的信息。通信對方的信息能夠從以下的某一方中取得。
(1)節(jié)點(diǎn)90實(shí)際進(jìn)行通信的服務(wù)器的接收方IP地址
(2)節(jié)點(diǎn)90在名字解析中使用的DNS查詢和回復(fù)中包括的FQDN
(3)節(jié)點(diǎn)90針對HTTP代理請求隧道連接的CONNECT方法的URI
(4)節(jié)點(diǎn)90進(jìn)行的SSL/TLS握手的ClientHello消息中包括的SNI字段
其中,關(guān)于(1)和(4),已經(jīng)使用圖4所示的流程圖進(jìn)行了說明,所以在下面,使用圖6和圖7來說明(2)和(3)。
圖6是示出本實(shí)施方式的SSL/TLS會(huì)話確立處理和在這之前執(zhí)行的名字解析處理的流程的序列圖。該序列圖所示的名字解析處理在使用圖4和圖5來說明了的數(shù)據(jù)處理和檢查處理之前執(zhí)行。在通過通信取得部21取得的通信被協(xié)議分析部23判定為是名字解析協(xié)議的情況下,識(shí)別信息提取部25從用于名字解析的消息(DNS查詢或者回復(fù))中,提取需要進(jìn)行名字解析的通信對方的識(shí)別信息。即,在圖6所示的例子中,識(shí)別信息提取部25從在會(huì)話確立用消息之前發(fā)送接收的通信的內(nèi)容中,提取通信對方的識(shí)別信息。
然后,檢查部26使用通過識(shí)別信息提取部25提取出的識(shí)別信息和在名字解析之后在步驟S105中取得的識(shí)別信息中的某一方或者雙方,檢查通信對方的正當(dāng)性(關(guān)于檢查的詳細(xì)情況,參照步驟S201)。
圖7是示出本實(shí)施方式的SSL/TLS會(huì)話確立處理和在這之前執(zhí)行的與代理服務(wù)器的會(huì)話確立處理的流程的序列圖。該序列圖所示的與代理服務(wù)器的會(huì)話確立處理在使用圖4和圖5來說明了的數(shù)據(jù)處理和檢查處理之前執(zhí)行。在通過通信取得部21取得的通信被協(xié)議分析部23判定為是用于與代理服務(wù)器的連接確立的通信的情況下,識(shí)別信息提取部25從發(fā)送至代理服務(wù)器的會(huì)話確立用消息(HTTP CONNECT方法)中包括的、表示經(jīng)由該中介服務(wù)器的通信的接收方的信息(URI)中,提取通信對方的識(shí)別信息。
其后,代理服務(wù)器(中介服務(wù)器)對節(jié)點(diǎn)90與外部服務(wù)器等之間的通信進(jìn)行中介。即,在圖6所示的例子中,識(shí)別信息提取部25從在會(huì)話確立用消息之前發(fā)送接收的通信的內(nèi)容中,提取通信對方的識(shí)別信息。此外,在與代理服務(wù)器的會(huì)話確立后,SSL/TLS的會(huì)話確立用消息經(jīng)由基于代理服務(wù)器的隧道進(jìn)行發(fā)送接收。
然后,檢查部26使用通過識(shí)別信息提取部25提取出的識(shí)別信息以及在與代理服務(wù)器的會(huì)話確立之后在步驟S105中取得的識(shí)別信息中的某一方或者雙方,檢查通信對方的正當(dāng)性(關(guān)于檢查的詳細(xì)情況,參照步驟S201)。
<變形2>
在上述實(shí)施方式中,說明了以下的例子:網(wǎng)絡(luò)監(jiān)視裝置20連接于開關(guān)或者路由器與處于其上級的其他開關(guān)或者路由器之間,從而取得通過節(jié)點(diǎn)90發(fā)送接收的數(shù)據(jù)包、幀等,對于可以不切斷的數(shù)據(jù)包,以進(jìn)行轉(zhuǎn)送的聯(lián)機(jī)模式進(jìn)行動(dòng)作(參照圖1)。但是,上述實(shí)施方式所示的網(wǎng)絡(luò)結(jié)構(gòu)是用于實(shí)施本公開的一個(gè)例子,在實(shí)施時(shí),也可以采用其他網(wǎng)絡(luò)結(jié)構(gòu)。
例如,網(wǎng)絡(luò)監(jiān)視裝置20也可以通過與開關(guān)或者路由器(在圖1所示的例子中,路由器10)的監(jiān)控端口(鏡像端口)連接,取得通過節(jié)點(diǎn)90發(fā)送接收的數(shù)據(jù)包、幀等(參照圖8)。在這種情況下,網(wǎng)絡(luò)監(jiān)視裝置20按不轉(zhuǎn)送所取得的數(shù)據(jù)包的被動(dòng)模式進(jìn)行動(dòng)作。另外,例如,網(wǎng)絡(luò)監(jiān)視裝置20即使在不與監(jiān)控端口(鏡像端口)連接而僅與網(wǎng)絡(luò)分段2連接的情況下,也包括不是發(fā)給自身的MAC地址的幀地全部取得在網(wǎng)絡(luò)分段2中流過的幀,從而能夠取得通過節(jié)點(diǎn)90發(fā)送接收的數(shù)據(jù)包、幀等。在這種情況下,網(wǎng)絡(luò)監(jiān)視裝置20也按被動(dòng)模式進(jìn)行動(dòng)作。另外,例如,網(wǎng)絡(luò)監(jiān)視裝置20也可以內(nèi)置于路由器或者開關(guān)中。
符號(hào)說明
1 系統(tǒng)
20 網(wǎng)絡(luò)監(jiān)視裝置
90 節(jié)點(diǎn)。