JP2023125089A - 情報処理システム、推定方法及びプログラム - Google Patents
情報処理システム、推定方法及びプログラム Download PDFInfo
- Publication number
- JP2023125089A JP2023125089A JP2022029028A JP2022029028A JP2023125089A JP 2023125089 A JP2023125089 A JP 2023125089A JP 2022029028 A JP2022029028 A JP 2022029028A JP 2022029028 A JP2022029028 A JP 2022029028A JP 2023125089 A JP2023125089 A JP 2023125089A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- encrypted
- communication
- encrypted communication
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims description 64
- 238000004891 communication Methods 0.000 claims abstract description 175
- 230000008569 process Effects 0.000 claims description 51
- 230000006835 compression Effects 0.000 claims description 34
- 238000007906 compression Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 description 49
- 238000012806 monitoring device Methods 0.000 description 40
- 238000010586 diagram Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 8
- 238000007689 inspection Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】電子証明書が暗号化される暗号化通信の場合にも、暗号化された通信を復号化することなく、不審な電子証明書の利用を推定することを課題とする。【解決手段】情報処理システムに、ネットワークに接続された第一の端末と第二の端末との間で行われる暗号化通信に係るデータを取得するデータ取得部21と、取得された前記データのうち、前記暗号化通信を確立するために前記第二の端末から前記第一の端末に送信される暗号化メッセージが、データサイズに係る所定の条件を満たす場合に、該暗号化メッセージに前記第二の端末に係る不審な電子証明書が含まれていると推定する推定部25と、を備えた。【選択図】図3
Description
本開示は、不審な電子証明書の利用を検出するための技術に関する。
従来、ネットワークに接続された第一の端末と第二の端末との間の通信に係るデータを、相手側端末へ到達する前に取得する通信取得部と、取得されたデータに係る通信のプロトコルを解析することで、当該データに含まれる、秘匿化の対象となるセッションにおける通信相手の電子証明書を含むセッション確立用メッセージを特定するプロトコル解析部と、特定されたセッション確立用メッセージから電子証明書を抽出する証明書抽出部と、抽出された電子証明書及び前記セッションにおける通信相手の正当性を検査する検査部と、通信取得部によって取得されたデータのうち、前記セッション確立用メッセージの送受信の前に第一の端末と第二の端末との間で送受信されるデータから、前記通信相手の識別情報を抽出する識別情報抽出部と、を備え、検査部は、識別情報抽出部によって抽出された前記通信相手の識別情報と、前記電子証明書に含まれる対象サーバー情報とを比較することで、前記セッションにおける通信相手の正当性を検査する情報処理装置が提案されている(特許文献1を参照)。
従来、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)等の暗号化通信では、攻撃者による不審な通信を検出するために、通信相手の電子証明書を検査する方法が用いられている。この方法では、例えば、検査の結果、検査対象の電子証明書が自己署名証明書(所謂、オレオレ証明書)等であった場合に、当該電子証明書を利用する通信を不審な通信として検出する。
しかし、近年普及が進んでいる暗号化技術であるTLS1.3では、TLS1.2等の従来の暗号化技術と比較し、セッション確立の際に暗号化されるパラメータ(ハンドシェイクパラメータ)が増加しており、電子証明書についても、他のパラメータと同様に、暗号化されて受け渡しが行われる仕様になっている。このように電子証明書が暗号化される暗号化通信では、一旦暗号化通信を復号化した上で解析を行うことも可能であるが、暗号化通信を復号化するために高価な装置を導入する等、セキュリティ対策にかかる負担が増大してしまうという問題がある。
本開示は、上記した問題に鑑み、電子証明書が暗号化される暗号化通信の場合にも、暗号化された通信を復号化することなく、不審な電子証明書の利用を推定することを課題とする。
本開示の一例は、ネットワークに接続された第一の端末と第二の端末との間で行われる暗号化通信に係るデータを取得するデータ取得手段と、取得された前記データのうち、前記暗号化通信を確立するために前記第二の端末から前記第一の端末に送信される暗号化メッセージが、データサイズに係る所定の条件を満たす場合に、該暗号化メッセージに前記第二の端末に係る不審な電子証明書が含まれていると推定する推定手段と、を備える情報処理システムである。
本開示は、情報処理装置、システム、コンピュータによって実行される方法またはコンピュータに実行させるプログラムとして把握することが可能である。また、本開示は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的又は化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
本開示によれば、電子証明書が暗号化される暗号化通信の場合にも、暗号化された通信を復号化することなく、不審な電子証明書の利用を推定することが可能となる。
以下、本開示に係る情報処理システム、情報処理装置、方法及びプログラムの実施の形態を、図面に基づいて説明する。但し、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係る情報処理システム、情報処理装置、方法及びプログラムを以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の態様に応じた具体的構成が適宜採用され、また、種々の改良や変形が行われてよい。
[第一の実施形態]
本実施形態では、本開示に係る情報処理システム、情報処理装置、方法及びプログラムを、ネットワークを監視するためのシステムにおいて実施した場合の実施の形態について説明する。但し、本開示に係る情報処理システム、情報処理装置、方法及びプログラムは、不審な電子証明書であるか否かを推定するための技術について広く用いることが可能であり、本開示の適用対象は、実施形態において示した例に限定されない。なお、本実施形態及び後述する他の実施形態において、「不審な電子証明書」とは、正当な電子証明書であるか疑わしい電子証明書である。
本実施形態では、本開示に係る情報処理システム、情報処理装置、方法及びプログラムを、ネットワークを監視するためのシステムにおいて実施した場合の実施の形態について説明する。但し、本開示に係る情報処理システム、情報処理装置、方法及びプログラムは、不審な電子証明書であるか否かを推定するための技術について広く用いることが可能であり、本開示の適用対象は、実施形態において示した例に限定されない。なお、本実施形態及び後述する他の実施形態において、「不審な電子証明書」とは、正当な電子証明書であるか疑わしい電子証明書である。
<システムの構成>
図1は、本実施形態に係るシステムの構成を示す概略図である。本実施形態に係るシステム9は、1又は複数のクライアント端末装置8、クライアント端末装置8に係る通信を監視するためのネットワーク監視装置1、クライアント端末装置8が接続されるネットワークセグメント2、ルータ3、スイッチ4、及び1又は複数のサーバ装置7を備える。ネットワークセグメント2内のクライアント端末装置8は、インターネットや広域ネットワークを介して遠隔地において接続された各種のサーバ装置7と、プロキシ(プロキシサーバ)又はルータ(図1の例では、ルータ3)を介して通信可能である。本実施形態において、ネットワーク監視装置1は、プロキシ又はルータ(図1の例では、ルータ3)と、その上位にあるネットワークセグメント2のスイッチ(スイッチングハブ)、ルータ又はゲートウェイ(図1の例では、スイッチ4)との間に接続されることで、通過するパケットやフレーム等を取得する。図1に示されたシステム構成の場合、ネットワーク監視装置1は、取得したパケットのうち、遮断しなくてもよいパケットについては転送するインラインモードで動作する。
図1は、本実施形態に係るシステムの構成を示す概略図である。本実施形態に係るシステム9は、1又は複数のクライアント端末装置8、クライアント端末装置8に係る通信を監視するためのネットワーク監視装置1、クライアント端末装置8が接続されるネットワークセグメント2、ルータ3、スイッチ4、及び1又は複数のサーバ装置7を備える。ネットワークセグメント2内のクライアント端末装置8は、インターネットや広域ネットワークを介して遠隔地において接続された各種のサーバ装置7と、プロキシ(プロキシサーバ)又はルータ(図1の例では、ルータ3)を介して通信可能である。本実施形態において、ネットワーク監視装置1は、プロキシ又はルータ(図1の例では、ルータ3)と、その上位にあるネットワークセグメント2のスイッチ(スイッチングハブ)、ルータ又はゲートウェイ(図1の例では、スイッチ4)との間に接続されることで、通過するパケットやフレーム等を取得する。図1に示されたシステム構成の場合、ネットワーク監視装置1は、取得したパケットのうち、遮断しなくてもよいパケットについては転送するインラインモードで動作する。
図2は、本実施形態に係るシステムのハードウェア構成を示す図である。ネットワーク監視装置1は、クライアント端末装置8とサーバ装置7との間で行われる通信を監視するための装置である。本実施形態では、ネットワーク監視装置1は、クライアント端末装置8とサーバ装置7の間で送受信されるデータを取得し、取得されたデータを解析することにより、クライアント端末装置8とサーバ装置7との間で行われる暗号化通信に不審な電子証明書(サーバ証明書)が利用されているか否かを推定する。
ネットワーク監視装置1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、EEPROM(Electrically Erasable and Programmable Read Only Memory)やHDD(Hard Disk Drive)等の記憶装置14、及びNIC(Network Interface Card)等の通信ユニット15、等を備えるコンピュータである。但し、ネットワーク監視装置1の具体的なハードウェア構成に関しては、実施の態様に応じて適宜省略や置換、追加が可能である。また、ネットワーク監視装置1は、単一の筐体からなる装置に限定されない。ネットワーク監視装置1は、所謂クラウドや分散コンピューティングの技術等を用いた、複数の装置によって実現されてよい。なお、ネットワーク監視装置1は、L2ブリッジ、L3ルータ、NAT(Network Address Translation)装置、スイッチ、又はプロキシに内包されてもよい。
サーバ装置7は、ユーザに対して様々なサービスを提供するためのコンピュータである。サーバ装置7は、CPU、ROM、RAM、記憶装置、通信ユニット等(図示は省略)を備えるコンピュータである。但し、サーバ装置7の具体的なハードウェア構成に関しては、実施の態様に応じて適宜省略や置換、追加が可能である。また、サーバ装置7は、単一の筐体からなる装置に限定されない。サーバ装置7は、所謂クラウドや分散コンピューティングの技術等を用いた、複数の装置によって実現されてよい。
クライアント端末装置8は、ユーザによって使用されるコンピュータであり、ユーザは、これらのクライアント端末装置8を介してサーバ装置7によって提供される各種サービスを利用する。クライアント端末装置8は、CPU、ROM、RAM、記憶装置、通信ユニット、入力装置、出力装置等(図示は省略)を備えるコンピュータである。但し、クライアント端末装置8の具体的なハードウェア構成に関しては、実施の態様に応じて適宜省略や置換、追加が可能である。また、クライアント端末装置8は、単一の筐体からなる装置に限定されない。クライアント端末装置8は、所謂クラウドや分散コンピューティングの技術等を用いた、複数の装置によって実現されてよい。
図3は、本実施形態に係るネットワーク監視装置(情報処理システム)の機能構成の概略を示す図である。なお、図3においては、ネットワーク監視装置1以外の構成(ルータ3、スイッチ4、サーバ装置7、クライアント端末装置8等)については、図示を省略している。ネットワーク監視装置1は、記憶装置14に記録されているプログラムが、RAM13に読み出され、CPU11によって実行されて、ネットワーク監視装置1に備えられた各ハードウェアが制御されることで、データ取得部21、プロトコル判定部22、セッション再開判定部23、特定部24及び推定部25を備える装置として機能する。なお、本実施形態及び後述する他の実施形態では、ネットワーク監視装置1の備える各機能は、汎用プロセッサであるCPU11によって実行されるが、これらの機能の一部又は全部は、1又は複数の専用プロセッサによって実行されてもよい。また、ネットワーク監視装置1が備える各機能部は、単一の筐体からなる装置(1の装置)に実装されるものに限定されず、遠隔に及び/又は分散して(例えば、クラウド上に)実装されてもよい。
データ取得部21は、ネットワークに接続されたサーバ装置7とクライアント端末装置8との間で送受信されるデータを取得する。データ取得部21は、パケット受信部21A及びパケット組み立て部21Bを備える。パケット受信部21Aは、サーバ装置7とクライアント端末装置8との間で送受信される複数のパケットを、相手先に到達する前に受信する。パケット組み立て部21Bは、パケット受信部21Aにより受信されたパケットが、送信時にフラグメント化(分割)されたパケットである場合、当該パケットのヘッダ等を参照することで、分割されたパケットを元のパケットに組み立てる(再構成する)。
例えば、あるパケットが送信時に複数のパケットに分割されると、分割後の各パケットのヘッダには、同一の識別番号や、元のパケットのどの部分に相当するかを示す情報等が含まれるため、パケット組み立て部21Bは、これらの情報を基にパケットの組み立てを行う。なお、パケット組み立て処理は、通信フロー(セッション)毎に行われる。通信フローは、2つのノード間のセッションの開始から終了までの一連の通信を示す単位である。具体的には、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、及びプロトコル等の属性が同じものは同一の通信フローとして識別される。そのため、通信フローは、パケットのヘッダを参照することで識別される。以上より、データ取得部21は、サーバ装置7とクライアント端末装置8との間で送受信されるデータ(TLSメッセージ)を取得する。
プロトコル判定部22は、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信のプロトコルを判定する。本実施形態では、プロトコル判定部22は、取得されたデータに係る暗号化通信のプロトコルが、電子証明書を暗号化する暗号化通信プロトコルである、TLS1.3であるか否かを判定する。このプロトコルの判定処理は、暗号化通信を確立するために、暗号化通信に先んじて行われるハンドシェイクにおいて送受信されるメッセージ(以下、「ハンドシェイクメッセージ」と称する)を参照することで行われる。
本実施形態では、プロトコル判定部22は、データ取得部21により取得されたTLSメッセージのうち、暗号化されていないハンドシェイクメッセージである、ClientHelloメッセージ(以下、「ClientHello」と称する)及びServerHelloメッセージ(以下、「ServerHello」と称する)を参照することで、プロトコルを判定する。具体的には、プロトコル判定部22は、ClientHello及びServerHello内の「extension(拡張)」フィールドの「supported_version」を参照し、夫々の「supported_version」にTLS1.3を示す情報が含まれている場合、当該ハンドシェイクメッセージにより確立される暗号化通信のプロトコルを、TLS1.3と判定する。
本実施形態では、上述した判定処理により、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信のプロトコルが、所定の暗号化通信プロトコル(TLS1.3)と判定された場合に、後述する推定処理(不審な証明書を利用しているかを推定する処理)が行われる。
なお、本実施形態では、TLS1.3による暗号化通信であるかを判定する際、上述の通り、ClientHello及びServerHelloを参照するが、TLS1.3であるか否かを判定可能であれば、この例に限定されない。そのため、例えば、ClientHello及びServerHelloの一方のみを参照するようにしてよい。また、本実施形態では、上述の通り、後述する推定処理を行う対象の暗号化プロトコルを、TLS1.3とするが、電子証明書を暗号化するプロトコルであれば、他の任意のプロトコルであってもよい。
セッション再開判定部23は、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信が、フルネゴシエーションにより確立される通信であるか、つまり、セッションを再開することで行われる通信(セッション再開シーケンス)でないかを判定する。例えば、TLS1.3の場合は、PSK(Pre-Shared Key、事前共有鍵)を用いてセッションを再開することにより、ハンドシェイクを完全に実行しなくても新規の接続(暗号化通信)を行うことが可能である。このPSKを用いてセッションを再開する場合は、ハンドシェイクにおいて電子証明書を送信する必要がないため、この場合には、ハンドシェイクメッセージには電子証明書が含まれない。そのため、本実施形態では、暗号化通信を確立する際にPSKが用いられているか否かを判定し、PSKが用いられていない場合(セッション再開でない場合)、つまり、フルネゴシエーションが行われる場合(セッションを確立する場合)にのみ、後述する推定処理が行われることとする。
本実施形態では、セッション再開判定部23は、サーバ装置7とクライアント端末装置8との間で送受信されるハンドシェイクメッセージを参照することで、フルネゴシエーションであるかを判定する。例えば、セッション再開判定部23は、セッション再開要求に係るメッセージであるClientHelloを参照し、ClientHello内の「extension」フィールドに「pre_shared_key」が存在しないか、又は、「pre_shared_key」は存在するがそのデータの長さ(Length)がゼロである場合に、当該ハンドシェイクメッセージにより確立される暗号化通信を、フルネゴシエーションにより確立される通信であると判定する。
特定部24は、データ取得部21により取得されたデータから、サーバ装置7とクライアント端末装置8との間で送受信されるハンドシェイクメッセージを特定する。特に、特定部24は、サーバ装置7の電子証明書を含み得る、サーバ装置7からクライアント端末装置8に送信される暗号化されたハンドシェイクメッセージを特定する。TLS1.3の場合、ServerHello以降のメッセージが全て暗号化されるため、例えば、パケットのヘッダ等により、どのTLSメッセージに電子証明書が含まれるかを特定することが困難である。以下、TLS1.2とTLS1.3とのハンドシェイク(暗号化通信(TLSコネクション)を開始するためのネゴシエーション)の違いについて説明する。
図4は、従来のTLS1.2におけるハンドシェイクの流れを示すシーケンス図である。図4では、TLS1.2におけるハンドシェイクにおいて、サーバとクライアントとの間で送受信されるTLSメッセージを示す。また、図4では、暗号化されるメッセージについて、その矢印を破線で表す。図4に示す通り、TLS1.2では、サーバ証明書(電子証明書)を含む「ServerCertificate」メッセージは、暗号化されることなくクライアントに送信される。そのため、電子証明書を含むメッセージか否かは、受信したメッセージ(パケット)のTLSヘッダを参照することで特定することが可能である。具体的には、パケットのペイロード(TLSペイロード)に格納されているデータの種類を示す、TLSヘッダ内の「Content Type(Handshake Type)」を参照することにより、電子証明書を含むメッセージか否かを特定することが可能である。
図5は、本実施形態に係るTLS1.3におけるハンドシェイクの流れを示すシーケンス図である。図5では、TLS1.3におけるハンドシェイクにおいて、サーバとクライアントとの間で送受信されるTLSメッセージを示すが、図5に示されていないTLSメッセージが含まれていてもよい。また、図5でも、暗号化されるメッセージについて、その矢印を破線で表す。図5に示す通り、TLS1.3では、電子証明書を含む「Certificate」メッセージは、暗号化された上でクライアントに送信される。そのため、電子証明書を含むメッセージか否かを、受信したメッセージ(パケット)のTLSヘッダを参照することで特定することは困難である。具体的には、ハンドシェイクに係るメッセージ(Certificate)であるにも関わらず、TLSヘッダ内の「Content Type(Handshake Type)」は、アプリケーションデータ(暗号化データ)であることを示す情報となるため、TLSヘッダによりサーバ証明書を特定することは困難である。
そのため、本実施形態では、暗号化通信を確立する際のハンドシェイクメッセージにおけるメッセージの順番から、サーバ装置7からクライアント端末装置8に送信される暗号化されたハンドシェイクメッセージを特定する。そして、少なくともこの特定されたハンドシェイクメッセージの中に、電子証明書を含むメッセージ(Certificate)が含まれると推定することが可能である。
図5に示すように、TLS1.3では、ServerHelloの後、サーバから、「Certificate」メッセージを含む各種TLSメッセージ(ハンドシェイクメッセージ)がクライアントに送信されると、クライアントから「Finished」メッセージが送信される。なお、クライアントから送信されるメッセージは「Finished」メッセージに限定されず、状況に応じて、「Alart」メッセージ等がサーバに送信される。そのため、特定部24は、ServerHelloが送信されてから、クライアントからデータ(TCPパケット)が送信されるまでの間に送受信された暗号化メッセージを、サーバ装置7からクライアント端末装置8に送信される暗号化されたハンドシェイクメッセージ(電子証明書を含み得るTLSメッセージ)と特定することが可能である。
推定部25は、不審な電子証明書を含むメッセージを推定する。本実施形態では、メッセージのデータサイズに基づき、不審な電子証明書を含むメッセージを推定する。推定部25は、例えば、(1)暗号化メッセージのデータサイズに基づき、電子証明書を含むメッセージを推定した上で、(2)推定された当該メッセージのデータサイズに基づき、当該推定されたメッセージに含まれる電子証明書が不審なものであるか(当該メッセージに不審な電子証明書が含まれるか)を推定する。以下、(1)と(2)夫々の推定方法について、説明する。
<(1)電子証明書を含むメッセージの推定>
通常、サーバ装置7から送信される暗号化されたハンドシェイクメッセージのうち、Certificateメッセージ以外のメッセージは、Certificateメッセージに比べてデータサイズが小さくなる。そのため、特定部24により特定された暗号化メッセージのうち、所定のデータサイズ(第二の閾値)を超えるメッセージを、電子証明書を含むメッセージと推定することが可能である。例えば、推定部25は、特定部24により特定された暗号化メッセージのデータサイズが400バイトを超える場合に、当該暗号化メッセージを、電子証明書を含むメッセージと推定する。なお、第二の閾値は、400バイトに限定されず、任意の値に設定可能である。また、暗号化メッセージのデータサイズは、TLSペイロードの長さを示す、TLSヘッダ内の「Length」を参照することで取得することが可能である。
通常、サーバ装置7から送信される暗号化されたハンドシェイクメッセージのうち、Certificateメッセージ以外のメッセージは、Certificateメッセージに比べてデータサイズが小さくなる。そのため、特定部24により特定された暗号化メッセージのうち、所定のデータサイズ(第二の閾値)を超えるメッセージを、電子証明書を含むメッセージと推定することが可能である。例えば、推定部25は、特定部24により特定された暗号化メッセージのデータサイズが400バイトを超える場合に、当該暗号化メッセージを、電子証明書を含むメッセージと推定する。なお、第二の閾値は、400バイトに限定されず、任意の値に設定可能である。また、暗号化メッセージのデータサイズは、TLSペイロードの長さを示す、TLSヘッダ内の「Length」を参照することで取得することが可能である。
<(2)電子証明書が不審であるかの推定>
一般的に、自己署名証明書(オレオレ証明書)等の不正なサーバ証明書は、正当なサーバ証明書と比べて情報が少なく、データサイズが小さくなる傾向がある。この特徴に着目し、上述した第二の閾値を超える暗号化メッセージのうち、所定のデータサイズ(第一の閾値)未満であるメッセージを、不審な電子証明書を含むメッセージであると推定することが可能である。例えば、推定部25は、特定部24により特定された暗号化メッセージのデータサイズが、400バイトを超過し且つ1200バイト未満である場合に、当該暗号化メッセージを、不審な電子証明書を含むメッセージと推定する。なお、第一の閾値は、1200バイトに限定されず、任意の値に設定可能である。なお、暗号化メッセージのデータサイズは、上述した通り、TLSヘッダ内の「Length」を、参照することで取得することが可能である。
一般的に、自己署名証明書(オレオレ証明書)等の不正なサーバ証明書は、正当なサーバ証明書と比べて情報が少なく、データサイズが小さくなる傾向がある。この特徴に着目し、上述した第二の閾値を超える暗号化メッセージのうち、所定のデータサイズ(第一の閾値)未満であるメッセージを、不審な電子証明書を含むメッセージであると推定することが可能である。例えば、推定部25は、特定部24により特定された暗号化メッセージのデータサイズが、400バイトを超過し且つ1200バイト未満である場合に、当該暗号化メッセージを、不審な電子証明書を含むメッセージと推定する。なお、第一の閾値は、1200バイトに限定されず、任意の値に設定可能である。なお、暗号化メッセージのデータサイズは、上述した通り、TLSヘッダ内の「Length」を、参照することで取得することが可能である。
上述の通り、推定部25は、特定部24により特定された暗号化メッセージが、データサイズに係る所定の条件を満たす場合に、当該暗号化メッセージに不審な電子証明書が含まれていると推定する。なお、上述した例では、データサイズに係る所定の条件を、暗号化メッセージのデータサイズが所定の範囲内(第二の閾値を超過し且つ第一の閾値未満)の大きさであることとして説明した。但し、データサイズに係る所定の条件は、上述した例に限定されず、例えば、暗号化メッセージのデータサイズが所定の大きさ(例えば、1000バイト)であること、としてもよい。
<処理の流れ>
次に、本実施形態に係るネットワーク監視装置(情報処理システム)によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容及び処理順序は、本開示を実施するための一例である。具体的な処理内容及び処理順序は、本開示の実施の態様に応じて適宜選択されてよい。
次に、本実施形態に係るネットワーク監視装置(情報処理システム)によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容及び処理順序は、本開示を実施するための一例である。具体的な処理内容及び処理順序は、本開示の実施の態様に応じて適宜選択されてよい。
図6は、本実施形態に係るデータ処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、ネットワーク監視装置1において、データ取得部21によりパケットの受信及び組み立てが行われた結果、ClientHello及びServerHelloが取得されたこと等を契機として開始される。つまり、本フローチャートに示された処理は、ネゴシエーション毎に実行される。なお、以下の説明(図6の説明)で用いられる「ClientHello」及び「ServerHello」は、本フローチャートの開始の契機となったClientHello及びServerHelloを示す。
ステップS101では、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信のプロトコルが、TLS1.3であるかが判定される。プロトコル判定部22は、ClientHello及びServerHello(「supported_version」)を参照することで、暗号化プロトコルがTLS1.3であるかを判定する。サーバ装置7とクライアント端末装置8との間で行われる暗号化通信のプロトコルがTLS1.3と判定された場合(ステップS101のYES)、処理はステップS103へ進む。一方、TLS1.3でないと判定された場合(ステップS101のNO)、推定処理を行わないため、本フローチャートに示された処理は終了する。
ステップS103では、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信が、フルネゴシエーションにより確立される通信であるか(セッション再開に係る通信でないか)が判定される。セッション再開判定部23は、ClientHello(「pre_shared_key」)を参照することで、フルネゴシエーションが行われるかを判定する。サーバ装置7とクライアント端末装置8との間で行われる暗号化通信が、フルネゴシエーションにより確立される通信であると判定された場合(ステップS103のYES)、処理はステップS106へ進む。一方、フルネゴシエーションが行われないと判定された場合(ステップS103のNO)、推定処理を行わないため、本フローチャートに示された処理は終了する。なお、ステップS101及びステップS103は、順不同である。
ステップS106では、ClientHello及びServerHelloに続くTLSメッセージ(TLSレコード)に対して推定処理が行われる。推定処理の詳細は、図7を用いて後述する。その後、本フローチャートに示された処理は終了する。
図7は、本実施形態に係る推定処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、図6におけるステップS103で、フルネゴシエーションと判定されたことを契機として開始される。なお、以下の説明(図7の説明)で用いられる「ClientHello」及び「ServerHello」は、図6に示されたフローチャートの開始の契機となったClientHello及びServerHelloを示す。
ステップS201では、サーバ装置7とクライアント端末装置8との間で送受信されるデータが取得される。データ取得部21は、ServerHelloに続くパケット(TLSメッセージ)を取得する。その後、処理はステップS202へ進む。
ステップS202では、取得されたデータが、クライアント端末装置8からサーバ装置7に送信されたデータ(TCPパケット)であるかが判定される。特定部24は、ステップS201で取得されたパケットのIPヘッダ等を参照することにより、当該取得されたパケットが、クライアント端末装置8からサーバ装置7へ送信されたパケットであるかを判定する。取得されたパケットが、クライアント端末装置8からサーバ装置7へ送信されたパケットであると判定された場合(ステップS202のYES)、暗号化されたハンドシェイクメッセージについては既に検査済みであるため、本フローチャートに示された処理は終了する。一方、クライアント端末装置8からサーバ装置7へ送信されたパケットでないと判定された場合(ステップS202のNO)、処理はステップS203へ進む。
ステップS203では、取得されたデータが、サーバ装置7からクライアント端末装置8に送信されたアプリケーションデータ(暗号化データ)であるかが判定される。特定部24は、ステップS201で取得されたパケットのヘッダ(TLSヘッダ)を参照し、ヘッダ内の「Content Type」が、アプリケーションデータであることを示す情報である場合に、アプリケーションデータ(暗号化データ)であると判定する。また、特定部24は、ステップS201で取得されたパケットのIPヘッダ等を参照することにより、当該取得されたパケットが、サーバ装置7からクライアント端末装置8へ送信されたパケットであるかを判定する。
取得されたデータが、サーバ装置7からクライアント端末装置8に送信されたアプリケーションデータであると判定された場合(ステップS203のYES)、処理はステップS204へ進む。一方、サーバ装置7からクライアント端末装置8に送信されたアプリケーションデータでないと判定された場合(ステップS203のNO)、ステップS201に戻り、後続するデータ(パケット)が取得される。なお、ステップS203でNOに進む場合とは、サーバ装置7からクライアント端末装置8に送信される、暗号化されていないハンドシェイクメッセージに該当する場合であり、当該ハンドシェイクメッセージとしては、ChangeCipherSpecメッセージが例示される。
ステップS204では、アプリケーションデータ(暗号化メッセージ)のデータサイズが第二の閾値を超過しているかが判定される。推定部25は、例えば、ステップS201で取得されたパケットのTLSヘッダ内の「Length」を参照することで、暗号化メッセージのデータサイズが第二の閾値を超過するかを判定する。
暗号化メッセージのデータサイズが第二の閾値を超過すると判定された場合(ステップS204のYES)、当該暗号化メッセージに電子証明書が含まれると推定され、処理はステップS205へ進む。一方、第二の閾値を超過しないと判定された場合(ステップS204のNO)、サーバ装置7からクライアント端末装置8に送信されるCertiicateメッセージ以外の暗号化メッセージ(CertificateVerifyメッセージやFinishedメッセージ等)と推定され、ステップS201に戻り、後続するデータ(パケット)が取得される。
ステップS205では、暗号化メッセージ(アプリケーションデータ)のデータサイズが第一の閾値未満であるかが判定される。推定部25は、例えば、ステップS201で取得されたパケットのTLSヘッダ内の「Length」を参照することで、暗号化メッセージのデータサイズが第一の閾値未満であるかを判定する。暗号化メッセージのデータサイズが第一の閾値未満と判定された場合(ステップS205のYES)、処理はステップS206へ進む。一方、第一の閾値未満でないと判定された場合(ステップS205のNO)、正当な電子証明書を含むメッセージであると推定され、本フローチャートに示された処理は終了する。
ステップS206では、不審な電子証明書が利用されていると推定される。推定部25は、ステップS201で取得されたパケット(暗号化メッセージ)を、不審な電子証明書を含むメッセージと推定する。その後、本フローチャートに示された処理は終了する。
上述の通り、本実施形態に係る情報処理システムによれば、暗号化メッセージのデータサイズに基づき不審な証明書か否かを判定することで、TLS1.3のように電子証明書が暗号化される暗号化通信の場合にも、暗号化された通信を復号化することなく、不審な電子証明書の利用を推定すること(マルウェア通信を検出すること)が可能となる。そのため、本実施形態に係る情報処理システムによれば、暗号化通信を復号化するために高価な装置を導入する等の負担が生じず、セキュリティ対策を容易に行うことが可能である。
[第二の実施形態]
上記説明した第一の実施形態では、暗号化されたメッセージのデータサイズに基づくことで、当該メッセージに不審な証明書が含まれているかを推定する例について説明した。但し、ハンドシェイク中に送信される電子証明書(サーバ証明書)は、証明書を圧縮する拡張(TLS1.3の場合、「compress_certificate」拡張)を用いることにより、データが圧縮された上で送信される場合がある。この場合、圧縮後の電子証明書は圧縮前よりそのデータサイズが小さくなる。そのため、不審な証明書であるかを推定するために用いられる所定の条件(データサイズ)は、電子証明書を圧縮する場合としない場合とで異なることが望ましい。よって、以下に説明する第二の実施形態では、電子証明書が圧縮される場合を考慮した、不審な証明書の推定方法の例について説明する。なお、第一の実施形態において説明した構成及び処理内容については、同一の符号を付し、説明を省略する。
上記説明した第一の実施形態では、暗号化されたメッセージのデータサイズに基づくことで、当該メッセージに不審な証明書が含まれているかを推定する例について説明した。但し、ハンドシェイク中に送信される電子証明書(サーバ証明書)は、証明書を圧縮する拡張(TLS1.3の場合、「compress_certificate」拡張)を用いることにより、データが圧縮された上で送信される場合がある。この場合、圧縮後の電子証明書は圧縮前よりそのデータサイズが小さくなる。そのため、不審な証明書であるかを推定するために用いられる所定の条件(データサイズ)は、電子証明書を圧縮する場合としない場合とで異なることが望ましい。よって、以下に説明する第二の実施形態では、電子証明書が圧縮される場合を考慮した、不審な証明書の推定方法の例について説明する。なお、第一の実施形態において説明した構成及び処理内容については、同一の符号を付し、説明を省略する。
<システムの構成>
本実施形態に係るシステムの構成及びハードウェア構成は、図1及び図2を参照して説明した第一の実施形態と概略同様であるため、説明を省略する。
本実施形態に係るシステムの構成及びハードウェア構成は、図1及び図2を参照して説明した第一の実施形態と概略同様であるため、説明を省略する。
図8は、本実施形態に係るネットワーク監視装置(情報処理システム)の機能構成の概略を示す図である。なお、図8においては、ネットワーク監視装置1以外の構成については、図示を省略している。ネットワーク監視装置1は、記憶装置14に記録されているプログラムが、RAM13に読み出され、CPU11によって実行されて、ネットワーク監視装置1に備えられた各ハードウェアが制御されることで、データ取得部21、プロトコル判定部22、セッション再開判定部23、特定部24及び推定部25に加え、圧縮判定部26及び条件管理部27を備える装置として機能する。以下、圧縮判定部26及び条件管理部27について説明するが、その他の機能部については、第一の実施形態と概略同様であるため、説明を省略する。
圧縮判定部26は、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信が、圧縮された電子証明書を利用する通信(電子証明書を圧縮する拡張(以下、「圧縮拡張」と称する)を利用する通信)であるかを判定する。本実施形態では、圧縮判定部26は、TLS1.3以上で利用可能な圧縮拡張である「TLS Certificate Compress」を利用する通信か否かを判定する。具体的には、圧縮判定部26は、ClientHelloを参照し、ClientHello内の「extension」フィールドに「compress_certificate」拡張が存在する場合に、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信を、圧縮拡張を利用する通信であると判定する。
条件管理部27は、不審な証明書か否かを推定するために用いられる所定の条件(閾値)を管理する。本実施形態では、条件管理部27は、圧縮拡張を利用しない通信の場合に利用される第一の閾値と、圧縮拡張を利用する通信の場合に利用される第三の閾値とを管理する。具体的には、条件管理部27は、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信が圧縮拡張を利用する通信であると判定された場合に、第一の閾値よりも小さい値である第三の閾値を設定(算出)する。つまり、圧縮拡張を利用する通信の場合は、不審な証明書か否かの推定を行うための第一の閾値を、より小さい値に変更することになる。例えば、条件管理部27は、第三の閾値を、第一の閾値(例えば、1200バイト)を0.8倍した値(例えば、960バイト)に設定する。
これより、圧縮拡張を利用しない通信の場合は、不審な証明書の推定処理に第一の閾値(例えば、1200バイト)が用いられ、圧縮拡張を利用する通信の場合は、不審な証明書の推定処理に第三の閾値(例えば、960バイト)が用いられる。なお、所定の条件が、暗号化メッセージのデータサイズが所定の大きさであること、である場合は、例えば、圧縮拡張を利用しない通信の場合は、データサイズが1000バイトである場合に不審な電子証明書と推定し、圧縮拡張を利用しない通信の場合は、データサイズが800バイトである場合に不審な電子証明書と推定する。
以上の通り、圧縮拡張を利用する通信でない場合と、圧縮拡張を利用する通信である場合とで、推定処理に利用される所定の条件を異ならせることが可能となる。具体的には、圧縮拡張を利用する通信でない場合に用いられる所定の条件(第一の条件)は、暗号化メッセージのデータサイズが、第一の所定の範囲内(第二の閾値を超過し且つ第一の閾値未満)の大きさであることである。一方、圧縮拡張を利用する通信である場合に用いられる所定の条件(第二の条件)は、例えば、暗号化メッセージのデータサイズが、第二の所定の範囲内(第二の閾値を超過し且つ第三の閾値未満)の大きさであることである。
また、所定の条件が、暗号化メッセージのデータサイズが所定の大きさであること、である場合は、例えば、第一の条件は、データサイズが第一の所定の大きさ(例えば、1000バイト)であることであり、第二の条件は、データサイズが第一の大きさより小さい第二の所定の大きさ(例えば、800バイト)である。これより、圧縮された電子証明書に対しても、不審な電子証明書か否かを適切に推定することが可能となる。つまり、電子証明書が圧縮される場合を考慮した、不審な証明書の推定処理を行うことが可能となる。
なお、第三の閾値を第一の閾値に比べてどの程度小さくするか(小さくする割合)は、任意に設定可能であるため、上述した0.8倍に限定されるものではない。また、第一の閾値と同様に、第二の閾値についても、圧縮拡張を利用する通信である場合に、より小さい値に変更した閾値(第四の閾値)が設定されるようにしてもよい。この場合、推定部25は、当該閾値(第四の閾値)を用いることで、電子証明書を含むメッセージか否かを推定する。更に、本実施形態では、圧縮拡張を利用する通信と判定された場合に、第一の閾値をより小さい値に変更する(第三の閾値を算出する)処理を行うが、第三の閾値が算出されるタイミングはこの例に限定されない。そのため、例えば、事前準備において、第一の閾値と同様に、第三の閾値についても設定されておくようにしてもよい。
<処理の流れ>
次に、本実施形態に係るネットワーク監視装置(情報処理システム)によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容及び処理順序は、本開示を実施するための一例である。具体的な処理内容及び処理順序は、本開示の実施の態様に応じて適宜選択されてよい。
次に、本実施形態に係るネットワーク監視装置(情報処理システム)によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容及び処理順序は、本開示を実施するための一例である。具体的な処理内容及び処理順序は、本開示の実施の態様に応じて適宜選択されてよい。
図9は、本実施形態に係るデータ処理の流れの概要を示すフローチャートである。図9に示したデータ処理は、図6を参照して第一の実施形態において説明した処理(ステップ)と、ステップS104及びステップS105を追加した点が異なる。なお、これらの処理(ステップ)以外の処理については、第一の実施形態(図6)と同一の符号を付し、説明を省略する。以下、本実施形態において追加された処理である、ステップS104及びステップS105について説明する。
ステップS104では、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信が、圧縮拡張を利用する通信(圧縮された電子証明書を利用する通信)であるか判定される。例えば、圧縮判定部26は、ClientHelloを参照し、ClientHello内の「extension」フィールドに「compress_certificate」拡張が存在する場合に、圧縮拡張を利用する通信であると判定する。圧縮拡張が利用されると判定された場合(ステップS104のYES)、処理はステップS105へ進む。一方、圧縮拡張が利用されないと判定された場合(ステップS104のNO)、処理はステップS106へ進む。
ステップS105では、閾値(第一の閾値)が変更される。条件管理部27は、ステップS106(図7のステップS205)で用いられる第一の閾値を、より小さい値に変更する(第三の閾値の設定)。その後、処理はステップS106へ進む。ステップS105の処理により、圧縮拡張を利用する通信の場合(ステップS104のYESから、ステップS106に進む場合)は、ステップS205の処理において、第三の閾値(第一の閾値より小さい値)が用いられる。一方、圧縮拡張を利用しない通信の場合(ステップS104のNOから、ステップS106に進む場合)は、ステップS205の処理において、第一の閾値が用いられることとなる。なお、ステップS101、ステップS103、並びにステップS104及びステップS105は、順不同である。
なお、本実施形態に係る推定処理については、第一の実施形態において図7を参照して説明した内容と概略同様であるため、説明を省略する。但し、上述した通り、本実施形態では、ステップS205において用いられる第一の閾値が、圧縮拡張を利用する通信と圧縮拡張を利用しない通信とで異なる点が、第一の実施形態とは異なる。
[第三の実施形態]
上記説明した第一の実施形態では、暗号化されたメッセージのデータサイズに基づくことで、当該メッセージに不審な証明書が含まれているかを推定する例について説明した。具体的には、第一の実施形態では、暗号化メッセージのデータサイズが所定の範囲内(第二の閾値を超過し、且つ、第一の閾値未満)の大きさである場合に、当該暗号化メッセージに不審な電子証明書が含まれていると推定する例について示した。
上記説明した第一の実施形態では、暗号化されたメッセージのデータサイズに基づくことで、当該メッセージに不審な証明書が含まれているかを推定する例について説明した。具体的には、第一の実施形態では、暗号化メッセージのデータサイズが所定の範囲内(第二の閾値を超過し、且つ、第一の閾値未満)の大きさである場合に、当該暗号化メッセージに不審な電子証明書が含まれていると推定する例について示した。
但し、この所定の範囲内の大きさ(長さ)を有する暗号化メッセージであっても、正当な電子証明書である可能性がある。このように、不審な証明書と推定される所定の条件を満たすようなメッセージ(電子証明書)であっても、正当な電子証明書については、不審な証明書と推定されないことが望ましい。よって、以下に説明する第三の実施形態では、正当な証明書に関する情報を予めホワイトリストに登録しておくことで、正当な証明書を検査対象から除外した上で、不審な証明書を推定する方法の例について説明する。なお、第一の実施形態において説明した構成及び処理内容については、同一の符号を付し、説明を省略する。
<システムの構成>
本実施形態に係るシステムの構成及びハードウェア構成は、図1及び図2を参照して説明した第一の実施形態と概略同様であるため、説明を省略する。
本実施形態に係るシステムの構成及びハードウェア構成は、図1及び図2を参照して説明した第一の実施形態と概略同様であるため、説明を省略する。
図10は、本実施形態に係るネットワーク監視装置(情報処理システム)の機能構成の概略を示す図である。なお、図10においては、ネットワーク監視装置1以外の構成については、図示を省略している。ネットワーク監視装置1は、記憶装置14に記録されているプログラムが、RAM13に読み出され、CPU11によって実行されて、ネットワーク監視装置1に備えられた各ハードウェアが制御されることで、データ取得部21、プロトコル判定部22、セッション再開判定部23、特定部24及び推定部25に加え、正当条件保持部28及び正当判定部29を備える装置として機能する。以下、正当条件保持部28及び正当判定部29について説明するが、その他の機能部については、第一の実施形態と概略同様であるため、説明を省略する。
正当条件保持部28は、正当な電子証明書を利用する通信を識別するための条件(不審な電子証明書か否かを推定する対象(検査対象)から除外する条件)を保持する。ユーザは、予め、正当な電子証明書が利用される通信を特定することが可能である場合、当該通信を識別可能とするため、ホワイトリストに、当該通信を識別するための条件(通信情報)を登録する。そして、ホワイトリストに登録された条件に合致する通信においては、不審な電子証明書かを推定する処理が行われないようにすることが可能である。正当条件保持部28は、このようにユーザにより登録された、正当な電子証明書を利用する通信を識別するための条件(以下、「正当条件」と称する)を保持する。但し、正当条件は、予めユーザにより登録される場合に限定されず、その他の方法により登録されるようにしてもよい。以下、保持される正当条件の例について説明する。
正当条件保持部28は、例えば、正当条件として、以下に示した通信情報(1)~(3)のうち少なくとも一の情報に係る条件を保持する。以下、各条件(通信情報)について夫々説明する。
(1)SNI(ドメイン名)
(2)IPアドレス(IPv4/IPv6アドレス)
(3)TLSフィンガープリント(Fingerprint)
(1)SNI(ドメイン名)
(2)IPアドレス(IPv4/IPv6アドレス)
(3)TLSフィンガープリント(Fingerprint)
<(1)SNI>
SNI(Server Name Identification)は、1つのIPアドレスで複数のドメイン名(ホスト名)のサーバ証明書を運用可能とするTLSの拡張機能である。具体的には、ハンドシェイク時に、クライアントがアクセスしたいドメイン名を伝えることで、サーバ側がIPアドレス毎ではなくドメイン名によって異なる電子証明書を使い分けることが可能となる。よって、本実施形態では、正当な証明書を利用するドメイン名をホワイトリストに登録しておくことで、当該ドメイン名による電子証明書を含むメッセージを、検査対象から除外することが可能となる。この場合の正当条件は、「クライアントによりアクセスされるドメイン名が、登録(保持)されているドメイン名に合致すること」である。
SNI(Server Name Identification)は、1つのIPアドレスで複数のドメイン名(ホスト名)のサーバ証明書を運用可能とするTLSの拡張機能である。具体的には、ハンドシェイク時に、クライアントがアクセスしたいドメイン名を伝えることで、サーバ側がIPアドレス毎ではなくドメイン名によって異なる電子証明書を使い分けることが可能となる。よって、本実施形態では、正当な証明書を利用するドメイン名をホワイトリストに登録しておくことで、当該ドメイン名による電子証明書を含むメッセージを、検査対象から除外することが可能となる。この場合の正当条件は、「クライアントによりアクセスされるドメイン名が、登録(保持)されているドメイン名に合致すること」である。
<(2)IPアドレス>
正当な証明書を利用するサーバ装置7を予め特定することが可能である場合、当該サーバ装置7のIPアドレス(IPv4アドレスやIPv6アドレス等)をホワイトリストに登録しておくことで、当該IPアドレスから送信されるメッセージを、検査対象から除外することが可能となる。この場合の正当条件は、「メッセージの宛先又は送信元のIPアドレスが、登録(保持)されているIPアドレスに合致すること」である。
正当な証明書を利用するサーバ装置7を予め特定することが可能である場合、当該サーバ装置7のIPアドレス(IPv4アドレスやIPv6アドレス等)をホワイトリストに登録しておくことで、当該IPアドレスから送信されるメッセージを、検査対象から除外することが可能となる。この場合の正当条件は、「メッセージの宛先又は送信元のIPアドレスが、登録(保持)されているIPアドレスに合致すること」である。
<(3)TLSフィンガープリント>
フィンガープリンティング(Fingerprinting)は、通信の特徴から、人の指紋のようにデバイス(端末)を識別する技術であり、TLSフィンガープリンティングは、サーバにアクセスしてきたクライアントを、受信パケット(ClientHello)の特徴を用いることで識別する(ブラウザの種類まで識別可能)技術である。予め、正常な通信(正当な証明書が利用される通信)に係る特徴をフィンガープリント(ClientHelloから得られる情報)により取得可能である場合、当該フィンガープリントの情報をホワイトリストに登録しておくことで、正常な通信に係るメッセージを、検査対象から除外することが可能となる。この場合の正当条件は、「受信されたClientHello内の情報(フィンガープリント)が、登録(保持)されているフィンガープリントに合致すること」である。
フィンガープリンティング(Fingerprinting)は、通信の特徴から、人の指紋のようにデバイス(端末)を識別する技術であり、TLSフィンガープリンティングは、サーバにアクセスしてきたクライアントを、受信パケット(ClientHello)の特徴を用いることで識別する(ブラウザの種類まで識別可能)技術である。予め、正常な通信(正当な証明書が利用される通信)に係る特徴をフィンガープリント(ClientHelloから得られる情報)により取得可能である場合、当該フィンガープリントの情報をホワイトリストに登録しておくことで、正常な通信に係るメッセージを、検査対象から除外することが可能となる。この場合の正当条件は、「受信されたClientHello内の情報(フィンガープリント)が、登録(保持)されているフィンガープリントに合致すること」である。
例えば、主要ブラウザによるSSL/TLS通信と、マルウェアによるSSL/TLS通信とでは、ClientHelloで利用される拡張(extension)に異なる点がある。具体的には、主要ブラウザでは様々な拡張が用いられるのに対し、マルウェアでは、特定用途である等の理由で、限られた拡張のみが用いられる。そのため、主要ブラウザによる通信の特徴として、主要ブラウザによる通信の場合にClientHelloで利用される拡張の数や種類等をホワイトリストに登録しておくことで、主要ブラウザによる通信に係るメッセージを、検査対象から除外することが可能となる。
なお、正当条件保持部28は、上記説明した通信情報(1)~(3)のうち少なくとも何れか一つの通信情報(例えば、(1)のみ)を利用した条件を保持すればよい。また、(1)~(3)は、正当条件に用いられる通信情報の一例であり、(1)~(3)以外の通信情報が正当条件に用いられてよい。
正当判定部29は、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信が、正当な電子証明書を利用する通信であるかを判定する。具体的には、データ取得部21により取得されたデータが、正当条件保持部28により保持されている正当条件を満たすか(正当条件に合致するか)を判定し、正当条件を満たす場合に、正当な電子証明書を利用する通信であると判定する。
例えば、正当条件が上記(1)の通信情報を利用した条件である場合、正当判定部29は、ClientHelloを参照し、ClientHello内の「server_name」に格納されたドメイン名が、ホワイトリストに登録されたドメイン名の何れかに合致する場合に、正当な電子証明書を利用する通信であると判定する。
また、例えば、正当条件が上記(2)の通信情報を利用した条件である場合、正当判定部29は、ClientHelloを含むパケットのヘッダ内にある宛先IPアドレス及び/又はServerHelloを含むパケットのヘッダ内にある送信元IPアドレスを参照することで、正当な電子証明書を利用する通信であるかを判定する。例えば、正当判定部29は、ClientHelloに該当するパケットのヘッダ内の宛先IPアドレスが、ホワイトリストに登録されたIPアドレスの何れかに合致する場合に、正当な電子証明書を利用する通信であると判定する。
また、例えば、正当条件が上記(3)の通信情報を利用した条件である場合、正当判定部29は、ClientHelloを参照し、ClientHello内の「extension」フィールドに含まれる拡張の数やパラメータ値等が、ホワイトリストに登録された拡張の数やパラメータ値に合致する場合に、正当な電子証明書を利用する通信であると判定する。
本実施形態では、上述した判定処理により、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信が、予めホワイトリストに登録されている正当な電子証明書を利用する通信でないと判定された場合に、不審な証明書を利用しているかを推定する処理が行われる。
これより、正当な電子証明書が利用されると予め特定されている通信に係るデータを検査対象から除外した上で、不審な証明書を推定する処理を行うことが可能である。つまり、不審な証明書と推定される条件(所定の条件)を満たすようなメッセージ(電子証明書)であっても、正当な電子証明書については不審な証明書と推定されないようにすることが可能である。
<処理の流れ>
次に、本実施形態に係るネットワーク監視装置(情報処理システム)によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容及び処理順序は、本開示を実施するための一例である。具体的な処理内容及び処理順序は、本開示の実施の態様に応じて適宜選択されてよい。
次に、本実施形態に係るネットワーク監視装置(情報処理システム)によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容及び処理順序は、本開示を実施するための一例である。具体的な処理内容及び処理順序は、本開示の実施の態様に応じて適宜選択されてよい。
図11は、本実施形態に係るデータ処理の流れの概要を示すフローチャートである。図11に示したデータ処理は、図6を参照して第一の実施形態において説明した処理(ステップ)と、ステップS102を追加した点が異なる。なお、ステップS102以外の処理については、第一の実施形態(図6)と同一の符号を付し、説明を省略する。以下、本実施形態において追加された処理である、ステップS102について説明する。
ステップS102では、ホワイトリストの条件に合致するかが判定される。正当判定部29は、サーバ装置7とクライアント端末装置8との間で行われる暗号化通信が、予め登録した、正当な電子証明書を利用する通信であるかを、ホワイトリストの条件(正当条件)に合致するか否かで判定する。ホワイトリストの条件に合致する(予め登録した正当な電子証明書利用である)場合(ステップS102のYES)、推定処理を行う必要はないため、本フローチャートに示された処理は終了する。一方、ホワイトリストの条件に合致しない(予め登録した正当な電子証明書利用でない)場合(ステップS102のNO)、処理はステップS103へ進む。なお、ステップS101~ステップS103は、順不同である。
以上より、予め正当な電子証明書と判断されている電子証明書を利用する通信については、推定処理が行われないようにすることが可能となる。なお、本実施形態に係る推定処理については、第一の実施形態において図7を参照して説明した内容と概略同様であるため、説明を省略する。
[第四の実施形態]
本実施形態は、上記説明した第二の実施形態及び第三の実施形態を組み合わせた実施形態である。本実施形態に係るシステムの構成及びハードウェア構成は、図1及び図2を参照して説明した第一の実施形態と概略同様であるため、説明を省略する。また、本実施形態に係るネットワーク監視装置の機能構成は、図8の機能構成に、図10で示した正当条件保持部28及び正当判定部29を追加した構成であり、各機能部の概要は、第一の実施形態~第三の実施形態で説明した機能部の概要と概略同様であるため、説明を省略する。また、本実施形態に係るデータ処理では、第二の実施形態において図9を参照して説明した処理と、第三の実施形態において図11を参照して説明した処理が組み合わされた処理となる。具体的には、本実施形態に係るデータ処理では、ステップS101~ステップS106の処理(6つの処理)が実行される。夫々の処理(ステップ)については、第一の実施形態~第三の実施形態において説明した内容と概略同様であるため、説明を省略する。
本実施形態は、上記説明した第二の実施形態及び第三の実施形態を組み合わせた実施形態である。本実施形態に係るシステムの構成及びハードウェア構成は、図1及び図2を参照して説明した第一の実施形態と概略同様であるため、説明を省略する。また、本実施形態に係るネットワーク監視装置の機能構成は、図8の機能構成に、図10で示した正当条件保持部28及び正当判定部29を追加した構成であり、各機能部の概要は、第一の実施形態~第三の実施形態で説明した機能部の概要と概略同様であるため、説明を省略する。また、本実施形態に係るデータ処理では、第二の実施形態において図9を参照して説明した処理と、第三の実施形態において図11を参照して説明した処理が組み合わされた処理となる。具体的には、本実施形態に係るデータ処理では、ステップS101~ステップS106の処理(6つの処理)が実行される。夫々の処理(ステップ)については、第一の実施形態~第三の実施形態において説明した内容と概略同様であるため、説明を省略する。
[第五の実施形態]
上記実施形態では、ネットワーク監視装置1が、ルータ3とその上位にあるスイッチ4との間に接続されることで、クライアント端末装置8によって送受信されるパケットやフレーム等を取得し、遮断しなくてもよいパケットについては転送するインラインモードで動作する例について説明した(図1を参照)。但し、上記実施形態に示したネットワーク構成は、本開示を実施するための一例であり、実施にあたってはその他のネットワーク構成が採用されてもよい。以下、他のネットワーク構成の一例について説明する。
上記実施形態では、ネットワーク監視装置1が、ルータ3とその上位にあるスイッチ4との間に接続されることで、クライアント端末装置8によって送受信されるパケットやフレーム等を取得し、遮断しなくてもよいパケットについては転送するインラインモードで動作する例について説明した(図1を参照)。但し、上記実施形態に示したネットワーク構成は、本開示を実施するための一例であり、実施にあたってはその他のネットワーク構成が採用されてもよい。以下、他のネットワーク構成の一例について説明する。
図12は、本実施形態に係るシステムの構成を示す概略図である。本実施形態に係るシステム9では、上記実施形態と同様に、ネットワークセグメント2内のクライアント端末装置8は、インターネットや広域ネットワークを介して遠隔地において接続された各種のサーバ装置7と、ルータ3を介して通信可能である。そして、本バリエーションでは、ネットワーク監視装置1は、ネットワークセグメント2のスイッチ、ルータ又はゲートウェイ(図12の例では、スイッチ4)のモニタリングポート(ミラーポート)に接続されることで、クライアント端末装置8によって送受信されるパケットやフレーム等を取得する。この場合、ネットワーク監視装置1は、取得したパケットを転送しないパッシブモードで動作する。
また、例えば、ネットワーク監視装置1は、モニタリングポート(ミラーポート)に接続されず、単にネットワークセグメント2に接続されている場合であっても、ネットワークセグメント2を流れるフレームを、自身のMACアドレス宛でないものも含めて全て取得することで、クライアント端末装置8によって送受信されるパケットやフレーム等を取得することが出来る。この場合も、ネットワーク監視装置1は、パッシブモードで動作する。また、上記実施形態と同様に、ネットワーク監視装置1は、L2ブリッジ、L3ルータ、NAT(Network Address Translation)装置、スイッチ、又はプロキシ等に内包されてもよい。
1 ネットワーク監視装置
7 サーバ装置
8 クライアント端末装置
9 システム
7 サーバ装置
8 クライアント端末装置
9 システム
Claims (16)
- ネットワークに接続された第一の端末と第二の端末との間で行われる暗号化通信に係るデータを取得するデータ取得手段と、
取得された前記データのうち、前記暗号化通信を確立するために前記第二の端末から前記第一の端末に送信される暗号化メッセージが、データサイズに係る所定の条件を満たす場合に、該暗号化メッセージに前記第二の端末に係る不審な電子証明書が含まれていると推定する推定手段と、
を備える情報処理システム。 - 前記所定の条件とは、前記暗号化メッセージのデータサイズが所定の範囲内の大きさであることである、
請求項1に記載の情報処理システム。 - 前記暗号化通信を確立するために前記第二の端末から前記第一の端末に送信される暗号化メッセージを特定する特定手段を更に備え、
前記特定手段は、取得された前記データのうち、前記暗号化通信を確立するために前記第一の端末と前記第二の端末との間で送受信される非暗号化メッセージが送信されてから、前記第一の端末から前記第二の端末にデータが送信されるまでの間に送受信された暗号化メッセージを、前記暗号化通信を確立するために前記第二の端末から前記第一の端末に送信される暗号化メッセージと特定する、
請求項1又は2に記載の情報処理システム。 - 前記暗号化通信が、所定の暗号化通信プロトコルによる暗号化通信であるかを判定するプロトコル判定手段を更に備え、
前記暗号化通信のプロトコルが前記所定の暗号化通信プロトコルであると判定された場合に、前記推定手段による処理が実行される、
請求項1~3の何れか一項に記載の情報処理システム。 - 前記所定の暗号化通信プロトコルは、TLS1.3である、
請求項4に記載の情報処理システム。 - 前記プロトコル判定手段は、取得された前記データに含まれる、前記暗号化通信を確立するために前記第一の端末と前記第二の端末との間で送受信される非暗号化メッセージのうち、少なくとも一のメッセージを参照することで、前記暗号化通信のプロトコルが前記所定の暗号化通信プロトコルであるかを判定する、
請求項4又は5に記載の情報処理システム。 - 前記暗号化通信が、セッションを再開することで行われる通信であるか否かを判定するセッション再開判定手段を更に備え、
前記暗号化通信が前記セッションを再開することで行われる通信でないと判定された場合に、前記推定手段による処理が実行される、
請求項1~6の何れか一項に記載の情報処理システム。 - 前記セッション再開判定手段は、取得された前記データに含まれる、前記暗号化通信を確立するために前記第一の端末と前記第二の端末との間で送受信される非暗号化メッセージのうち、セッション再開要求に係るメッセージを参照することで、前記暗号化通信が前記セッションを再開することで行われる通信であるか否かを判定する、
請求項7に記載の情報処理システム。 - 前記暗号化通信が、圧縮された電子証明書を利用する通信であるかを判定する圧縮判定手段を更に備え、
前記推定手段は、
前記暗号化通信が、前記圧縮された電子証明書を利用する通信でないと判定された場合、前記データサイズに係る所定の条件として、第一の条件を使用し、
前記暗号化通信が、前記圧縮された電子証明書を利用する通信であると判定された場合、前記データサイズに係る所定の条件として、前記第一の条件とは異なる第二の条件を使用する、
請求項1~8の何れか一項に記載の情報処理システム。 - 前記第一の条件は、前記暗号化メッセージのデータサイズが、第一の所定の範囲内の大きさであることであり、
前記第二の条件は、前記暗号化メッセージのデータサイズが、前記第一の所定の範囲とは異なる第二の所定の範囲内の大きさであることである、
請求項9に記載の情報処理システム。 - 前記第二の所定の範囲を定める上限値は、前記第一の所定の範囲を定める上限値よりも小さい値である、
請求項10に記載の情報処理システム。 - 正当な電子証明書を利用する通信を識別するための条件を保持する正当条件保持手段と、
前記暗号化通信が、前記正当な電子証明書を利用する通信であるかを、保持された前記条件に基づき判定する正当判定手段と、を更に備え、
前記暗号化通信が、前記正当な電子証明書を利用する通信でないと判定された場合に、前記推定手段による処理が実行される、
請求項1~11の何れか一項に記載の情報処理システム。 - 前記暗号化通信を確立するために前記第一の端末と前記第二の端末との間で送受信される非暗号化メッセージは、ClientHelloメッセージ及びServerHelloメッセージである、
請求項3、6、及び8の何れか一項に記載の情報処理システム。 - 前記データ取得手段は、前記第一の端末と前記第二の端末との間で行われる前記暗号化通信に係るデータを、相手先に到達する前に取得する、
請求項1~13の何れか一項に記載の情報処理システム。 - コンピュータが、
ネットワークに接続された第一の端末と第二の端末との間で行われる暗号化通信に係るデータを取得するデータ取得ステップと、
取得された前記データのうち、前記暗号化通信を確立するために前記第二の端末から前記第一の端末に送信される暗号化メッセージが、データサイズに係る所定の条件を満たす場合に、該暗号化メッセージに前記第二の端末に係る不審な電子証明書が含まれていると推定する推定ステップと、を実行する、
推定方法。 - コンピュータを、
ネットワークに接続された第一の端末と第二の端末との間で行われる暗号化通信に係るデータを取得するデータ取得手段と、
取得された前記データのうち、前記暗号化通信を確立するために前記第二の端末から前記第一の端末に送信される暗号化メッセージが、データサイズに係る所定の条件を満たす場合に、該暗号化メッセージに前記第二の端末に係る不審な電子証明書が含まれていると推定する推定手段と、として機能させる、
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022029028A JP2023125089A (ja) | 2022-02-28 | 2022-02-28 | 情報処理システム、推定方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022029028A JP2023125089A (ja) | 2022-02-28 | 2022-02-28 | 情報処理システム、推定方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023125089A true JP2023125089A (ja) | 2023-09-07 |
Family
ID=87887826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022029028A Pending JP2023125089A (ja) | 2022-02-28 | 2022-02-28 | 情報処理システム、推定方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023125089A (ja) |
-
2022
- 2022-02-28 JP JP2022029028A patent/JP2023125089A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9838428B1 (en) | Systems and methods for utilizing client side authentication to select services available at a given port number | |
EP2850770B1 (en) | Transport layer security traffic control using service name identification | |
US8590035B2 (en) | Network firewall host application identification and authentication | |
US8245298B2 (en) | Port scanning method and device, port scanning detection method and device, port scanning system, computer program and computer program product | |
US9210126B2 (en) | Method for secure single-packet authorization within cloud computing networks | |
JP4596275B2 (ja) | リレー通信を検知する方法、システム及びソフトウェア | |
JP4346094B2 (ja) | パケット暗号処理代理装置 | |
US20170223054A1 (en) | Methods and Apparatus for Verifying Transport Layer Security Server by Proxy | |
CN112468518B (zh) | 访问数据处理方法、装置、存储介质及计算机设备 | |
CN110198297B (zh) | 流量数据监控方法、装置、电子设备及计算机可读介质 | |
US10498618B2 (en) | Attributing network address translation device processed traffic to individual hosts | |
JP6084278B1 (ja) | 情報処理装置、方法およびプログラム | |
Frolov et al. | Conjure: Summoning proxies from unused address space | |
WO2017185978A1 (zh) | 一种报文解析方法及设备 | |
CN111935212A (zh) | 安全路由器及基于安全路由器的物联网安全联网方法 | |
Touil et al. | Secure and guarantee QoS in a video sequence: a new approach based on TLS protocol to secure data and RTP to ensure real-time exchanges | |
CN114390049A (zh) | 一种应用数据获取方法及装置 | |
CN113872956A (zh) | 一种审查ipsec vpn传输内容的方法及系统 | |
JP2023125089A (ja) | 情報処理システム、推定方法及びプログラム | |
CN115643297A (zh) | 链路建立方法、装置、非易失性存储介质和计算机设备 | |
US10079857B2 (en) | Method of slowing down a communication in a network | |
JP2011109186A (ja) | ネットワーク通信方法及びアクセス管理方法とパケット中継装置 | |
WO2018112796A1 (zh) | 业务数据策略的控制方法、运营商设备和服务器 | |
CN112532702B (zh) | 云服务平台和用户端的安全通信方法和云隔离安全系统 | |
CN113315741B (zh) | 检测方法及检测设备、存储介质 |