(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024038058
(43)【公開日】2024-03-19
(54)【発明の名称】情報処理システム
(51)【国際特許分類】
H04L 67/56 20220101AFI20240312BHJP
G06F 21/56 20130101ALI20240312BHJP
G06F 21/55 20130101ALI20240312BHJP
【FI】
H04L67/56
G06F21/56 360
G06F21/55
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023217177
(22)【出願日】2023-12-22
(62)【分割の表示】P 2019228520の分割
【原出願日】2019-12-18
(31)【優先権主張番号】P 2018244240
(32)【優先日】2018-12-27
(33)【優先権主張国・地域又は機関】JP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.macOS
2.ANDROID
(71)【出願人】
【識別番号】000104652
【氏名又は名称】キヤノン電子株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】高野 和希
(57)【要約】
【課題】簡便に通信の送信元を特定する。
【解決手段】情報処理システムであって、クライアント端末装置と、情報機器と、サーバ装置とを有し、クライアント端末装置は、パケットを監視する監視手段と、監視手段にて監視されたパケットに、クライアント固有の情報を付加する付加手段と、付加手段にて付加されたパケットを前記情報機器に送信する送信手段とを備え、サーバ装置は、情報機器から前記パケットを受信する受信手段と、受信手段にて受信したパケットから、クライアント固有の情報を抽出する抽出手段とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
情報処理システムであって、
クライアント端末装置と、情報機器と、サーバ装置とを有し、
前記クライアント端末装置は、
パケットを監視する監視手段と、
前記監視手段にて監視されたパケットに、クライアント固有の情報を付加する付加手段と、
前記付加手段にて付加されたパケットを前記情報機器に送信する送信手段と
を備え、
前記サーバ装置は、
前記情報機器から前記パケットを受信する受信手段と、
前記受信手段にて受信したパケットから、前記クライアント固有の情報を抽出する抽出手段と
を備えたことを特徴とする情報処理システム。
【請求項2】
前記サーバ装置は、プロキシサーバであることを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記情報機器は、ルータ、ファイアウォール、またはUTMであることを特徴とする請求項1または2に記載の情報処理システム。
【請求項4】
前記クライアント固有の情報は、前記クライアント端末装置を示す情報、ユーザを示す情報、及び前記パケットを送信したプログラムを示す情報のいずれか、または組み合わせであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理システム。
【請求項5】
前記サーバ装置は、
更に、
前記クライアント固有の情報である前記パケットを送信したプログラムを示す情報が、所定のプログラムを示す情報か否かを判定する第一の判定手段を備えることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理システム。
【請求項6】
前記監視手段は、前記クライアント端末装置の操作を監視し、
前記クライアント端末装置は、更に、
前記監視手段にて監視された操作を操作履歴として出力する出力手段を備えることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理システム。
【請求項7】
前記操作履歴には、前記パケットの宛先を示す情報が含まれ、
前記サーバ装置は、
更に、
前記操作履歴に特定のパケットの宛先を示す情報があるか否かを判定する第二の判定手段を備えることを特徴とする請求項6に記載の情報処理システム。
【請求項8】
前記操作履歴には、前記クライアント端末装置の変更前の時刻と、変更後の時刻との差であるオフセットの値が含まれ、
前記サーバ装置は、
更に、
前記オフセットの値に基づいて、前記クライアント端末装置の時刻を算出する算出手段を備え、
前記第二の判定手段は、前記算出手段にて算出された時刻に基づいて判定することを特徴とする請求項7に記載の情報処理システム。
【請求項9】
前記操作履歴には、前記パケットを送信したプログラムのハッシュ値が含まれ、
前記サーバ装置は、
更に、
前記操作履歴に特定のハッシュ値があるか否かを判定する第三の判定手段を備えることを特徴とする請求項6に記載の情報処理システム。
【請求項10】
前記抽出手段は、前記受信したパケットから、ユーザを示す情報を抽出し、前記ユーザを示す情報と、前記クライアント端末装置へのログインの制限に関する情報とが対応付けられたテーブルに記録することを特徴とする請求項1ないし9のいずれか1項に記載の情報処理システム。
【請求項11】
前記クライアント端末装置は、
前記クライアント端末装置へのログインが試みられた時に、前記クライアント端末装置のユーザを示す情報を含めた情報を、前記サーバ装置に送信し、
前記サーバ装置は、
前記テーブルに基づいて、受信した前記クライアント端末装置のユーザを示す情報における前記クライアント端末装置へのログインの制限を判定することを特徴とする請求項10に記載の情報処理システム。
【請求項12】
クライアント端末から送信されたパケットを、情報機器を介して受信する受信手段と、
前記受信手段にて受信したパケットに、所定のクライアント固有の情報が含まれているか否かを判定する判定手段と、
前記判定手段にて所定のクライアント固有の情報が含まれていると判定された場合、該パケットからクライアント固有の情報を抽出する抽出手段と
を備えたことを特徴とするサーバ装置。
【請求項13】
クライアント端末から送信されたパケットを、情報機器を介して受信する受信工程と、
前記受信工程にて受信したパケットに、所定のクライアント固有の情報が含まれているか否かを判定する判定工程と、
前記判定工程にて所定のクライアント固有の情報が含まれていると判定された場合、該パケットからクライアント固有の情報を抽出する抽出工程と
を備えたことを特徴とするサーバ装置の制御方法。
【請求項14】
コンピュータを、
クライアント端末から送信されたパケットを、情報機器を介して受信する受信手段と、
前記受信手段にて受信したパケットに、所定のクライアント固有の情報が含まれているか否かを判定する判定手段と、
前記判定手段にて所定のクライアント固有の情報が含まれていると判定された場合、該パケットからクライアント固有の情報を抽出する抽出手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、サーバ装置、サーバ装置の制御方法およびプログラムに関する。
【背景技術】
【0002】
マルウェアの中には、C&C(command and control)サーバなどの危険な接続先と通信を行い、ハッカーからの指示を受けたり、盗み出した機密情報を送信したりするものがある。これに対して、予め危険な接続先の接続先情報(URLやIPアドレスなど)をリストアップしておき、リスト上にある宛先への通信を遮断することで、マルウェアによる被害を防ぐといった対策が取られている。この方法によれば、マルウェアによる直接的な被害を防ぐことはできるが、クライアント側に残っているマルウェアに対しては対策が打てないという問題がある。そのため、通信の送信元を特定し、対策を打つことが必要となる。
【0003】
そこで、ネットワーク通信の送信元を特定する手法としては、イーサネット(登録商標)フレームにおけるMACアドレスを参照するという技術がある。ただし、MACアドレスは同一セグメント内でのみ伝達可能な情報であるため、送信元のクライアントと特定を行うネットワーク機器との間に、別のネットワーク機器が存在しないことが前提となる。しかし、企業や官公庁内における一般的なネットワーク構成の場合、ネットワークの途中にはルータやファイアウォールなど様々な外部機器が存在する。そのため、そういった環境においては、ネットワーク通信の送信元が外部機器のMACアドレスとなってしまい、クライアントを特定することができない。また、外部機器にてネットワーク通信の送信元を管理する方法もあるが、管理が煩雑となる。
【0004】
また、別の手法として、送信元IPアドレスを参照するという技術がある。しかし、IPアドレスは1つのコンピュータに常に固定されているわけではないため、たとえば1か月前の通信に関して、IPアドレスからコンピュータ名を特定しようとしても、不可能な場合が多い。そこで、先行技術文献1には、リクエストURL内にクライアントの情報を埋め込むことで、送信元であるクライアントを特定するという技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、先行技術文献1では、URLを解析する場所をWebサーバとしているため、ユーザや管理者が管理できない範囲となり、管理外の通信に関しては適用できない。たとえば、マルウェアが利用するC&Cサーバは、サイバー犯罪者が設置・管理しているため、この技術は適用できない。そこで、本発明は、簡便に通信の送信元を特定することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、たとえば、情報処理システムであって、
クライアント端末装置と、情報機器と、サーバ装置とを有し、
前記クライアント端末装置は、
パケットを監視する監視手段と、
前記監視手段にて監視されたパケットに、クライアント固有の情報を付加する付加手段と、
前記付加手段にて付加されたパケットを前記情報機器に送信する送信手段と
を備え、
前記サーバ装置は、
前記情報機器から前記パケットを受信する受信手段と、
前記受信手段にて受信したパケットから、前記クライアント固有の情報を抽出する抽出手段と
を備えたことを特徴とする。
【発明の効果】
【0008】
本発明によれば、簡便に通信の送信元を特定することができる。
【図面の簡単な説明】
【0009】
【
図1】情報処理システムの構成例を示すシステム構成図である。
【
図2】クライアント端末装置10の処理を示すフローチャートである。
【
図3】サーバ装置20の処理を示すフローチャートである。
【
図5】サーバ装置20の処理を示すフローチャートである。
【
図7】サーバ装置20の処理を示すフローチャートである。
【
図9】サーバ装置20の処理を示すフローチャートである。
【
図11】サーバ装置20の処理を示すフローチャートである。
【
図12】情報処理システムの構成例を示すシステム構成図である。
【
図13】ログイン制限を示したシーケンス図である。
【
図14】アカウント管理テーブルの一例を示す図である。
【発明を実施するための形態】
【0010】
[第一の実施形態]
<システム構成図>
先ず、本実施形態に係る情報処理システム構成について、
図1のシステム構成図を用いて説明する。
図1に示す如く、本実施形態に係る情報処理システムは、コンピュータすなわち情報処理装置10、20、50を有しており、それぞれの情報処理装置はLANやインターネットなどのネットワーク30に接続されている。以下、情報処理装置10をクライアント端末装置、情報処理装置20をサーバ装置(たとえば、プロキシサーバ)、情報処理装置50を情報機器(たとえば、ルータ、ファイアウォールなど)と呼称する。なお、クライアント端末装置10、情報機器50は複数でもよい。サーバ装置20は複数でもよく、サーバ装置20の機能の一部または全部が分散設置された複数のサーバ装置20によって実現されてもよい。また、クライアント端末装置10、サーバ装置20、情報機器50は、PC・携帯端末装置などの情報処理装置が行うものとして後述する各処理を実行可能な装置であれば、如何なる装置であっても構わない。
【0011】
<クライアント端末装置>
クライアント端末装置10において、演算装置10Cはマイクロプロセッサ(CPU)である。演算装置10Cは、メモリ10EのROMに格納されたBIOSなどのブートプログラムに従い、記憶装置10Bに格納されたオペレーティングシステム(OS)を起動し、さらにOSまたはユーザの操作に従い各種のプログラムを起動する。この記憶装置10Bには、OSや本装置が行うものとして後述する各処理を演算装置10Cに実行させるためのコンピュータプログラムやデータが保存されている。このコンピュータプログラムには、クライアントプログラム10F、ブラウザ10Gが含まれている。
【0012】
クライアントプログラム10Fは、クライアント端末装置10のデータやプログラムなどを管理するためのプログラムであり、たとえば、パケットを監視する、パケットのHTTPリクエストのメッセージヘッダにクライアント固有の情報(たとえば、コンピュータ名、パケットを送信したプログラム名など)を付加する、パケットを送信する機能を有する。また、クライアントプログラム10Fは、クライアント端末装置10の操作を監視して操作履歴として記憶装置10Bに記憶する機能、サーバ装置20からの命令(たとえば、修正プログラムの適用命令、ウイルススキャン命令、隔離命令など)に従う制御機能を有していてもよい。また、クライアントプログラム10Fは、操作履歴を出力する(たとえば、記憶装置10Bに記憶する、サーバ装置20に送信する)出力機能を有していてもよい。
【0013】
図6は、操作履歴の一例を示す図である。クライアント端末装置10から何らかの通信リクエストがなされた際にリクエストを行った日付や時刻、ログインしているユーザ名、コンピュータ名(PC名)、リクエスト先のURL(アクセス先URL)などが記録されている。例えば、レコード601は、日付「2019/08/10」時刻「14:00:00」にユーザ名「userA」がログインしていた、PC名「PC-A」から、アクセス先URL「http://aaa.com」に対して通信のリクエストを行ったことを表している。なお、記録される情報はこれに限定されない。
【0014】
記憶装置10Bに保存されているコンピュータプログラムやデータは、演算装置10Cによる制御に従って適宜メモリ10EのRAMにロードされ、演算装置10Cによる処理対象となる。また、OSはたとえばWindows(登録商標)、MacOS、Linux(登録商標)、iOS、Androidなどである。
【0015】
記憶装置10Bは、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などであり、OSのほかにクライアント端末装置10上で稼働するクライアントプログラム10Fなどを格納する。I/Oデバイス10Aは、ポインティングデバイス(マウスなど)やキーボードに接続するための入出力インタフェース(I/F)、または、タッチパネルを組み込んだディスプレイなどである。なお、キーボードはソフトウェアキーボードでもよい。また、I/Oデバイス10Aは、入力された操作者の音声を音声認識機能によって認識し、認識した音声を演算装置10Cへ伝達する、マイク等を含む音声式入力部でもよい。また、I/Oデバイス10Aは、情報を表示するためのユーザインタフェース(UI)としても機能する。
【0016】
ネットワークI/F10Dは、ネットワーク30とのインタフェースであり、他の情報処理装置(たとえば、Webサーバなど)と通信するための通信回路である。演算装置10Cは、ネットワークI/F10Dを介して、ブラウザ10Gなどのプログラムから発せられるリクエストパケットを宛先である他の情報処理装置(たとえば、Webサーバなど)に送信する。
【0017】
<サーバ装置>
サーバ装置のハードウェア構成は、
図1に示す如く、上記で説明したクライアント端末装置10のハードウェア構成と同様であるとする。即ち、サーバ装置20の演算装置20Cは、サーバ装置20の記憶装置20Bに保存されているコンピュータプログラムやデータを用いて、サーバ装置20のネットワークI/F20Dを介して、他の情報処理装置とのデータ通信を行うと共に、サーバ装置20が行うものとして後述する各処理を実行する。また、サーバ装置20の記憶装置20Bには、サーバプログラム20Fが保存されている。
【0018】
サーバ装置20において、演算装置20Cはマイクロプロセッサ(CPU)である。演算装置20Cは、メモリ20EのROMに格納されたBIOSなどのブートプログラムに従い記憶装置20Bに格納されたOSを起動する。そして、ネットワーク30を介して接続されたクライアント端末装置10からのリクエストパケットを受信し、インターネット上にある宛先である他の情報処理装置(たとえば、Webサーバなど)にリクエストパケットを送信する。
【0019】
記憶装置20Bは、HDDやSSDなどであり、サーバ装置20上で稼働するサーバプログラム20Fを格納する。ネットワークI/F20Dは、ネットワーク30とのインタフェースであり、クライアント端末装置10など他の情報処理装置と通信するための通信回路である。
【0020】
サーバプログラム20Fは、ネットワークI/F20Dを介して複数のクライアント端末装置10から受け取ったリクエストパケットを、HTTPリクエストのメッセージヘッダごとに分割して、クライアント端末装置10上のクライアントプログラム10Fによって記述されたクライアント端末装置10の情報を抽出する。また、ネットワーク30を介して接続されたクライアント端末装置10から送信されるクライアント端末装置10の操作履歴を記憶装置20Bに記憶させ、管理することもできるし、クライアント端末装置10に対して修正プログラムの適用命令、ウイルススキャン命令、隔離命令などを送信することもできる。
【0021】
サーバ装置20は、クライアント端末装置10側のネットワーク30とインターネット40との境界上に設置されている。この構成をとることにより、ネットワーク30内とインターネット40の間でやりとりされるすべてのパケットをサーバ装置20経由にすることができ、やりとりされるすべてのパケットに対して本発明を適用することができる。
【0022】
また、サーバ装置20とクライアント端末装置10は、
図1では共にLANの内部に設置されているが、サーバ装置20は、クライアント端末装置10とネットワーク30を介して接続可能であれば、インターネット40上に設置してもよい。
【0023】
<情報機器>
企業や官公庁などの一般的なネットワーク環境においては、クライアント端末装置10とサーバ装置20との間に、情報機器50が設置される。情報機器50は、クライアント端末装置10からサーバ装置20への通信を中継する機器であり、例えば、ルータ、ファイアウォール、UTM(Unified Threat Management)など、他のネットワーク機器である。なお、
図1の構成の場合、情報機器50とサーバ装置20との間でやり取りされるイーサネット(登録商標)フレームのパケットの場合、送信元MACアドレスが情報機器50のものになるため、MACアドレスを用いた送信元クライアントの特定は不可能になる。
【0024】
<クライアント端末装置の処理>
図2は、本実施形態に係るクライアント端末装置10が行う処理のフローチャートである。演算装置10Cは、クライアント端末装置10において、何らかのプログラム(たとえば、ブラウザ10Gなど)によるパケット(たとえば、リクエストパケット)の送信を監視する(ステップS201)。
【0025】
演算装置10Cは、何らかのプログラムが、他の情報処理装置(たとえば、Webサーバなど)宛てにパケットの送信が試みられたか否かを判定する(ステップS202)。パケットの送信が試みられたと判定された場合(ステップS202のYES)、そのパケットの送信を一時中断させる(ステップS203)。
【0026】
次に、演算装置10Cは、送信しようとしているパケット内のHTTPリクエストのメッセージに、クライアント端末装置10の情報を示すクライアント固有の情報を独自のヘッダとして記録する(ステップS204)。クライアント固有の情報は、たとえば、クライアント端末装置を示す情報(コンピュータ名など)、ユーザを示す情報(ユーザ名など)、パケットを送信したプログラムを示す情報(リクエストを行ったプログラム名、プロセス名など)を含む。
【0027】
図4は、演算装置10Cによって編集されたパケット内のHTTPリクエストのメッセージヘッダの一例を示す図である。この例では、User-Agentなどの通常のヘッダのほかに、クライアントプログラム10Fによって付加された「ADDHEADER」ヘッダがあり、その中にはクライアント端末装置10のコンピュータ名「TestPCNAME.test.com」と、リクエストを行ったプログラム名「iexplore.exe」が記録されている。なお、リクエストパケットを送信したプログラム名と宛先URLとを特定する方法は、公知技術(たとえば、特開2012-185799号公報)であるため説明を省略する。
【0028】
パケット内のHTTPリクエストのメッセージヘッダにクライアント固有の情報を記録すると、演算装置10Cは、ステップS203にて送信を一時中断していたパケットを送信する(ステップS205)。なお、上述した説明では、パケットの送信を行うプログラムの例としてブラウザ10Gを挙げているが、このプログラムはブラウザ10Gに限定されず、一般的なアプリケーション(表計算ソフト、文書作成ソフトなど)、プロセスでもよい。
【0029】
<サーバ装置の処理>
図3は、サーバ装置20の処理を示すフローチャートである。なお、以下の説明では、サーバ装置20をプロキシサーバとして説明するが、これに限定されない。
【0030】
クライアント端末装置10から送信されたパケットは、
図1の構成の場合、インターネット40に到達する前に、情報機器50を介して、プロキシサーバ20に到達する。プロキシサーバ20にパケットが到達すると、最初にプロキシサーバ20内のサーバプログラム20Fが、パケットを受信する(ステップS301)。
【0031】
演算装置20Cは、受け取った全てのパケットから、送信元のクライアント固有の情報を抽出しようと試みる。具体的には、受け取った全てのパケットに対して、以下の処理を行う。演算装置20Cは、パケット内のHTTPリクエストのメッセージヘッダのデータを、ヘッダ名単位に分割する(ステップS302)。分割したヘッダの中に、クライアント端末装置10のクライアントプログラム10F(演算装置10C)が追記したヘッダが存在するかどうかを判定する(ステップS303)。判定は、ヘッダ名が、クライアントプログラム10F(演算装置10C)が付加する固有のものかどうかなど、予め記憶装置20Bに記憶されているテーブルを用いて判定を行う。テーブルには、例えば、
図4に示されるような「ADDHEADER」など、クライアントプログラム10F固有の情報が記憶されている。
【0032】
該当のヘッダが存在する場合には、そのヘッダに記録された文字列を、クライアント端末装置10のクライアント固有の情報(コンピュータ名、プログラム名など)と認識して抽出する(ステップS304)。この結果、パケットを送信したクライアントの情報をプロキシサーバ上で特定することができる(ステップS305)。クライアントの情報を特定することにより、例えば、危険な接続先への通信を遮断してマルウェアによる被害を防ぐ場合に、クライアント側に残っているマルウェアに対しても対策を打つことができる。
【0033】
図4を用いて具体的に説明する。たとえば、
図4に示されるようなパケットをサーバプログラム20Fが受け取った場合、まずヘッダ名単位に分割する。ヘッダの中には、クライアントプログラム10Fが付加した「ADDHEADER」ヘッダが存在するので、その内容の文字列「TestPCNAME.test.co;iexplore.exe」を取得し、セミコロンで分割する。すると、送信元のコンピュータ名が「TestPCNAME.test.co」であることがわかり、かつパケットの送信を行ったプログラム名が「iexplore.exe」であることがわかる。
【0034】
なお、クライアントプログラム10Fが付加するヘッダ名およびヘッダのフォーマットに関しては、予めサーバプログラム20Fと、クライアントプログラム10Fの間で取り決めておき、記憶装置10B、20Bに各々記憶しておく。
【0035】
上述したように、パケットを解析する場所(例えば、通信の送信元を特定する場所)を通信経路の終端(Webサーバなど)ではなく、通信経路の途中かつ管理者が管理できる場所(プロキシサーバなど)に設置する。これにより、通信の宛先に影響されることなく、全てのパケットの解析を行い、簡便かつ正確に通信の送信元を特定することができる。
【0036】
[第二の実施形態]
パケットの送信元クライアントを特定することにより、たとえば、以下のような効果を得ることができる。クライアント固有の情報として「コンピュータ名」、「リクエストを行ったプログラム名」をクライアント端末装置で付加し、サーバ装置(たとえば、プロキシサーバ)にて、宛先URLが危険なWebサイトであるパケットを受信した場合、サーバ装置にて、受信したパケットに付加されたクライアント固有の情報から、危険なWebサイトへアクセスリクエストを行ったコンピュータおよびプログラムを特定することができる。以下では、パケットの送信元クライアントとプログラムをサーバ装置にて特定した後の処理について説明する。なお、本実施形態の動作の大部分が第一の実施形態の動作と共通するため、ここでは、第一の実施形態と異なる動作についてのみ説明し、共通の動作については説明を省略する。
【0037】
図5は、サーバ装置20の処理を示すフローチャートである。演算装置20Cは、受信したパケットが危険なWebサイトへのリクエストか否かを判定する(ステップS501)。なお、パケットが危険なWebサイトへのアクセスのものかどうかの判断は、HTTPリクエストヘッダの標準ヘッダに含まれる「Host」などを、記憶装置20Bに予め記憶されている危険なWebサイトのホスト名のリストと比較して判断する。危険なWebサイトではないと判定された場合(ステップS501のNO)、パケットを宛先に送信し処理を終了する。なお、上述した説明では、サーバ装置20にて受信したパケットが危険なWebサイトへのリクエストか否かを判定しているが、ネットワーク30に接続されている不図示の装置(たとえば、UTM)にて判定を行ってもよい。その場合、ステップS501は省略される。
【0038】
演算装置20Cは、特定したプログラムが、Webブラウザか否かを判定する(ステップS502)。Webブラウザか否かの判定は、記憶装置20Bに予め記憶されているWebブラウザを示すプログラム情報に基づいて判定される。特定したプログラムがWebブラウザである場合、たとえば、フィッシングメールに記載されている危険なURLからジャンプしたことが推測できる。そこで、Webブラウザと判定された場合(ステップS502のYES)、演算装置20Cは、クライアントのメールの設定を変更する(ステップS503)。たとえば、フィッシングメールが届かないようにするために、ステップS502にて特定したクライアントの操作履歴からフィッシングメールを送信した宛先を調べ、その宛先からのメールを受信しない設定にする。なお、メール設定は、サーバ装置20に記憶されていてもよいし、クライアント端末装置10、不図示のメールサーバに記憶されてもよい。
【0039】
サーバプログラム20Fは、特定したプログラムが、一般的なアプリケーションか否かを判定する(ステップS504)。一般的なアプリケーションか否かの判定は、記憶装置20Bに予め記憶されている一般的なアプリケーションを示すプログラム情報に基づいて判定される。一般的なアプリケーション(たとえば、表計算ソフト、文書作成ソフトなど)である場合、一般的なアプリケーションの脆弱性を利用したリクエストと推測される。そこで、一般的なアプリケーションと判定された場合(ステップS504のYES)、演算装置20Cは、クライアント端末装置10に脆弱性を修正する修正プログラムを適用する(ステップS505)。なお、一般的なアプリケーションと修正プログラムの取得先(ダウンロードサーバ)を対応付けて記憶装置20Bに予め記憶しておき、該当する取得先にアクセスして修正プログラムを取得し、クライアント端末装置10に修正プログラムを適用してもよい。また、修正プログラムを一般的なアプリケーションと対応付けて記憶装置20Bに予め記憶していてもよい。
【0040】
演算装置20Cは、特定したプログラムが一般的なアプリケーションではないと判定された場合(ステップS504のNO)、ウイルススキャンまたは隔離命令をクライアント端末装置10に送信する(ステップS506)。特定したプログラムがWebブラウザや一般的なアプリケーションではない場合、マルウェア自身がC&Cサーバなど危険な接続先と通信していることが推測できる。そこで、クライアント端末装置10内のウイルススキャンを行ったり、ネットワークから隔離したり、感染が拡大しないようにするといった対策が必要である。なお、ステップS502やステップS504にて、判定基準とした所定のプログラムであるWebブラウザや一般的なアプリケーションは一例であって、これに限定されない。
【0041】
上述したように、クライアント固有の情報(クライアント情報)を付加することで、通常のパケットだけではわからない、クライアント端末装置側の状況を把握でき、かつ即座に適切な対策を講じることができる。
【0042】
[第三の実施形態]
本実施形態では、操作履歴を用いることによって、一見無害であるWebサイトからの被害を発見して対処する処理について説明する。なお、本実施形態の動作の大部分が第一の実施形態および第二の実施形態の動作と共通するため、ここでは、第一の実施形態および第二の実施形態と異なる動作についてのみ説明し、共通の動作については説明を省略する。
【0043】
図6の操作履歴を参照すると、レコード602にて、日付「2019/11/18」、時刻「11:00:00」に、ユーザ名「userC」がPC名「PC-C」において、「http://aaa.com」というURLにアクセスしたことが記録されている。もし、「http://aaa.com」が危険なWebサイトであると判明した場合、まずは該当のURL「http://aaa.com」にアクセスした「PC-C」に対してウイルススキャンをかける、または、該当のURLへのアクセスを禁止にするなどの処置を行うことが必要となる。
【0044】
ただ、危険なWebサイトは、全て悪意のある者によって作られたわけではなく、通常のWebサイトであったURLが、悪意ある第三者に乗っ取られ、マルウェアを配布するなどの危険な動きをするように改ざんされるという場合もある。また、該当のURLが危険かどうかの判定は、アンチウィルスベンダーによる調査が行われた後に行われるので、Webサイトが改ざんされた瞬間ではなく、しばらく時間が経過した後になる。そのため、無害であると判定されている時期でも、実際にはすでに危険なWebサイトに改ざんされている可能性があるので、危険であると判定される以前に該当のURLにアクセスしたPCに対しても、ウイルススキャンなどの処置を行う必要がある。
【0045】
図7は、サーバ装置20の処理を示すフローチャートである。なお、
図7のフローチャートにおいて
図5に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、この処理ステップに係る説明は省略する。
【0046】
まず、ステップS501において、演算装置20Cが、あるクライアント端末装置10(たとえば、「PC-C」)がアクセスしようとしたURL(たとえば、「http://aaa.com」)が危険であると判定したとする。その後、演算装置20Cは、記憶装置20Bに記録されている全てのクライアント端末装置10にて記録された操作履歴を参照する(ステップS701)。次に、演算装置20Cは、危険であると判定されたURLに対して、ステップS501において検出されたパケットを発信したクライアント端末装置10(たとえば、「PC-C」)以外からのアクセスが、操作履歴に存在するかどうかを判定する(ステップS702)。
【0047】
図6の操作履歴を参照すると、レコード601にて、URL「http://aaa.com」に対しては、日付「2019/08/10」、時刻「14:00:00」にも、PC名「PC-A」がアクセスしていることがわかる。
【0048】
演算装置20Cは、他のクライアント端末装置10によるアクセスが確認されない場合(ステップS702のNO)、何もせずに処理をステップS502へ移行する。アクセスが確認された場合(ステップS702のYES)、演算装置20Cは、該当クライアント端末装置10(たとえば、「PC-A」)に対して、ウイルススキャンまたは隔離命令を送信する(ステップS703)。
【0049】
たとえば、
図6の操作履歴の場合、「PC-A」による該当URL「http://aaa.com」へのアクセスが確認されたため、演算装置20Cは、「PC-A」に対してウイルススキャンなどの命令を発行する。
【0050】
上述したように、操作履歴を参照することで、一見無害であるWebサイトからの被害を発見し、その対処を行うことができる。
【0051】
[第四の実施形態]
本実施形態では、クライアント端末装置10においてローカル時刻が変更された場合でも、Webサイトからの被害を発見して対処する処理について説明する。
【0052】
第三の実施形態では、演算装置20Cが操作履歴を参照することによって、危険なURLに対して、過去に他のクライアント端末装置10からのアクセスが存在したかどうかを判定する処理を行っていた。しかし、操作履歴の「時刻」を、クライアント端末装置10のローカルの時刻を基に記録している場合、ローカル時刻を基の時刻から変更してしまうと、操作履歴の時刻も変わってしまう。
【0053】
ローカル時刻の変更自体を禁止すれば、上述した問題の発生を防止することができるが、プログラムのテスト等、悪意のない目的での時刻変更を阻害し、利便性を損なうことにもなるため、一概に時刻の変更を禁止することは適切ではない。そのため、ローカル時刻の変更を許容しつつ、操作履歴の正しい時刻を取得できるような手段が必要となる。
【0054】
そこで、クライアント端末装置10のローカル時刻が変更された際、演算装置10Cは、変更前と変更後の時間差を記憶して、その差(オフセット)を操作履歴に記録しておく。時間差(オフセット)を操作履歴に記録する例を、
図8に示す。
【0055】
図8は、操作履歴の一例を示す図である。
図8は、
図6に表される操作履歴と同様の意味を持つが、
図6に加えて、クライアント端末装置10のローカル時刻が変更された際の、時間差(オフセット)が記録されている。レコード801にはオフセットの値として「+48:00」という値が記録されているが、これは、ローカル時刻が48時間後ろにずらされていることを表している。
【0056】
図9は、サーバ装置20の処理を示すフローチャートである。なお、
図9のフローチャートにおいて
図5に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、この処理ステップに係る説明は省略する。
【0057】
ステップS501において、日付「2019/11/18」、時刻「11:00:00」に、PC名「PC-C」がアクセスしたURL「http://aaa.com」が、演算装置20Cによって危険であるWebサイトであると判定したとする。演算装置20Cは、以前に他のクライアント端末装置10にて同一のURL「http://aaa.com」にアクセスしたかどうかを判定するために、記憶装置20Bに記憶されている全てのクライアント端末装置10にて記録された操作履歴を参照する(ステップS901)。
【0058】
演算装置20Cは、オフセットの値を用いた時刻の再計算を行う(ステップS902)。たとえば、
図8のレコード801には、「PC-A」が日付「2019/11/19」時刻「14:00:00」に「http://aaa.com」へアクセスした操作履歴が存在するが、時刻のオフセットには、この操作履歴が本来の時刻から48時間進んだものであることが記録されているため、オフセットを加味して時刻を再計算すると、日付「2019/11/17」、時刻「14:00:00」となる。
【0059】
演算装置20Cは、ステップS902にて再計算された時刻を適用し、過去に該当のURL「http://aaa.com」にアクセスした履歴があるか否かを判定する(ステップS903)。たとえば、
図8のレコード801は、ステップS902にて再計算された日付「2019/11/17」、時刻「14:00:00」に、「PC-A」において、「http://aaa.com」にアクセスがあったことが確認できる。
【0060】
演算装置20Cは、他のクライアント端末装置10によるアクセスが確認されない場合(ステップS903のNO)、何もせずに処理をステップS502へ移行する。アクセスが確認された場合(ステップS903のYES)、演算装置20Cは、該当クライアント端末装置10(たとえば、「PC-A」)に対して、ウイルススキャンまたは隔離命令を送信する(ステップS904)。
【0061】
たとえば、
図8の操作履歴の場合、「PC-A」による該当URL「http://aaa.com」へのアクセスが確認されたため、演算装置20Cは、「PC-A」に対してウイルススキャンなどの命令を発行する。従って、「PC-A」に対しても、ウイルススキャン命令を出すなどの対処を行うことができる。
【0062】
上述したように、クライアント端末装置10においてローカル時刻が変更された場合でも、変更された時刻のオフセットの値を操作履歴に記録しておくことで、第三の実施形態と同様な対処を行うことができる。
【0063】
[第五の実施形態]
本実施形態では、ハッシュ値を用いることによって、潜伏しているマルウェアが存在するクライアント端末装置を発見して対処する処理について説明する。なお、本実施形態の動作の大部分が第一の実施形態ないし第四の実施形態の動作と共通するため、ここでは、第一の実施形態ないし第四の実施形態と異なる動作についてのみ説明し、共通の動作については説明を省略する。
【0064】
第三及び第四の実施形態では、演算装置20Cが操作履歴を参照することによって、危険なWebサイトに対して、過去に他のクライアント端末装置10からのアクセスが存在したかどうかを判定する処理を行っていた。本実施形態では、クライアント端末装置10からパケットを送信したプログラム(クライアント端末装置10上で動作し、ネットワークI/F10Dおよびネットワーク30を介して、リクエストパケットを外部に送信するプログラム)のハッシュ値を、クライアント固有の情報としてパケット内のHTTPリクエストメッセージヘッダに付加する。また、操作履歴に、パケットを送信したプログラム(通信のリクエストを行ったプログラム)のハッシュ値を記録する。
【0065】
操作履歴にハッシュ値を付加した例として、
図10を示す。
図10は、操作履歴の一例を示す図である。
図6および
図8に表される操作履歴と同様の意味を持つが、
図8に加えて、通信のリクエストを行ったプログラムのハッシュ値が記録されている。ハッシュ値は、クライアントプログラム10Fによって、プログラムのバイナリの値をキーとして、SHA-1やSHA-256といったアルゴリズムによって算出され、その後操作履歴として記憶装置10Bに記録される。
【0066】
レコード1001には、ハッシュ値として「AAAAAA...」という値が記録されているが、これは、ハッシュ値「 AAAAAA...」のプログラムが通信リクエストを行ったことを表している。また、レコード1001とレコード1002のハッシュの値が「 AAAAAA...」で一致しているが、これは、2つの通信リクエストが、別々のクライアント端末装置10(PC-A、PC-C)から発せられているにも拘らず、全く同一のプログラムから行われたことを表している。
【0067】
図11は、サーバ装置20の処理を示すフローチャートである。以下では、一例として、
図10に示す操作履歴が記録されているものとして説明を行う。
【0068】
まず、ステップS501において、演算装置20Cが、あるクライアント端末装置10がアクセスしようとしたURL(たとえば、「http://01234.com」)が危険であると判定したとする。以下では、日付「2019/11/21」時刻「16:00:00」に、「PC-X」から、ハッシュ値「AAAAAA...」のプログラムが、「http://01234.com」というURLに対してアクセスを行ったものとして説明する。
【0069】
その後、演算装置20Cは、記憶装置20Bに記録されている全てのクライアント端末装置10にて記録された操作履歴を参照する(ステップS1101)。
【0070】
次に、演算装置20Cは、リクエストパケットにクライアント固有の情報として付加されたプログラムのハッシュ値(「AAAAAA...」)を取得し、ステップS1101にて参照した操作履歴の中から、過去に取得したハッシュ値と同一のハッシュ値を持つプログラムによる通信が存在するかどうかを判定する(ステップS1102)。
【0071】
過去に同一のハッシュ値を持つプログラムによる通信が存在する場合(ステプS1102のYES)、危険なURL(「http://01234.com)へアクセスしたものと全く同一のプログラムが存在するということになる。
図10に示す操作履歴の場合、URL「http://01234.com」に対しては過去にアクセスした痕跡が無いが、ハッシュ値「AAAAAA...」による通信は、操作履歴のレコード1001とレコード1002の2件が該当する。
【0072】
仮に、ハッシュ値「 AAAAAA...」のプログラムがマルウェアである場合、操作履歴に記憶されているURL「http://aaa.com」および「http://ddd.com」が危険ではないと判定されていたとしても、これらは未知のC&Cサーバなどの危険なサイトである可能性が高い。従って、PC名「PC-A」とPC名「PC-C」にも、既に同じマルウェアが侵入していることがわかるため、演算装置20Cから、これらのクライアント端末装置10に対して、ウイルススキャンまたは隔離命令を送信する(ステップS1103)。
【0073】
上述したように、ハッシュ値を用いることで、危険なURLにアクセスすることなく潜伏しているマルウェアが存在するクライアント端末装置を発見し、そのクライアント端末装置に対しても対処を行うことができる。
【0074】
[第六の実施形態]
本実施形態では、ユーザアカウントを用いることによって、危険なWebサイトへアクセスを行おうとした同一ユーザによる、他のクライアント端末装置でのログインを制限する処理について説明する。
【0075】
第一の実施形態では、クライアント端末装置10から送信されるHTTPリクエストのメッセージヘッダに、クライアント固有の情報として、クライアント端末装置10のコンピュータ名を付加することで、危険なWebサイトへのアクセスを行おうとしたクライアント端末装置10を特定し、ネットワークから隔離する等の処置を行った。しかし、クライアント端末装置10に対して何らかの処置を施したとしても、そのクライアント端末装置10を使用したユーザが別のクライアント端末装置10を使用した場合、同じような危険なWebサイトに接続を試みる可能性がある。
【0076】
そこで、本実施形態では、演算装置10Cが、クライアント固有の情報として、ログインしているユーザを示す情報である、ユーザアカウント(ユーザ名)を付加することにより、サーバ装置20は、危険なWebサイトへのアクセス時にクライアント端末装置10にログインしていたユーザアカウントを特定でき、特定したユーザアカウントを用いて、同一のユーザによるクライアント端末装置10へのログインを制限することができる。
【0077】
図12は、情報処理システムの構成例を示すシステム構成図である。
図12に示す情報処理システムは、
図1に示す情報処理システムの構成に加えて、サーバ装置60、複数のクライアント端末装置11を含む。サーバ装置60の大部分は、サーバ管理装置20と共通するため、以下では説明を省略し、異なる部分のみ説明する。なお、本実施形態の動作の大部分が第一の実施形態ないし第五の実施形態の動作と共通するため、ここでは、第一の実施形態ないし第五の実施形態と異なる動作についてのみ説明し、共通の動作については説明を省略する。
【0078】
サーバ装置60には、ネットワーク30内に存在するすべてのクライアント端末装置10のログインを管理する、ログイン管理プログラム60Fが格納されている。なお、ログイン管理プログラム60Fと、サーバプログラム20Fは同一のサーバ装置上で実現する構成でもよい。
【0079】
また、記憶装置60Bには、ネットワーク30内に存在するすべてのクライアント端末装置10のユーザアカウント(アカウント名)とログイン制限(許可/拒否)が対応付けられたアカウント管理テーブルが記録されている。
図14に、アカウント管理テーブルの一例を示す。アカウント管理テーブルは、後述するように、危険なWebサイトにアクセスしたユーザアカウントを特定することで記録される。なお、アカウント管理テーブルは、管理者によって記録されてもよい。ログインを管理するログイン管理プログラム60Fは、演算装置60Cによる制御に従って適宜メモリ60EのRAMにロードされ、演算装置60Cによる処理対象となる。
【0080】
また、本実施形態では、クライアント端末装置10にログインを行う際、
図13に示す処理が行われる。
図13は、ログイン制限を示したシーケンス図である。任意のクライアント端末装置10において、ユーザによってログインが試みられたことをクライアント装置10の演算装置10Cが検知する(ステップS1301)。
【0081】
演算装置10Cは、ネットワークI/F10Dおよびネットワーク30を介して、サーバ装置60に、ログインが可能かどうかの問い合わせを行う(ステップS1302)。また、問い合わせの際には、ログインしようとしているユーザアカウントも一緒に送信されるものとする。
【0082】
問い合わせを受け取った演算装置60Cは、記憶装置60Bに記憶されているアカウント管理テーブルに基づいて、ロードしたユーザアカウントと、問い合わせに含まれるユーザアカウントとを比較し、ログイン可能かどうかを判定する(ステップ1303)。
【0083】
演算装置60Cは、問い合わせ元のクライアント端末装置10に、判定の結果(ログインの許可または拒否)の返答を返す(ステップS1304)。
【0084】
クライアント端末装置10の演算装置10Cは、受信した判定結果に基づいて、ログインの許可/拒否を行う。たとえば、
図14に示すように、userAからのログインは許可され、userBからのログインは拒否される、ということになる。
【0085】
あるユーザが、危険なWebサイトへのアクセスを行ったとする(
図5のステップS501にてYESと判定されたとする)。上述したように、本実施形態では、演算装置10Cにより、リクエストパケットにログインしているユーザアカウントが付加されているため、演算装置20Cは、リクエストを行ったユーザアカウントを特定できる。そこで、演算装置20Cは、ネットワークI/F20Dおよびネットワーク30を介し、サーバ装置60の記憶装置60Bに記録されているアカウント管理テーブルの、危険なWebサイトへのアクセスを行ったユーザのユーザアカウントに対応するログイン制限を「拒否」と記録する。
【0086】
上述したように、危険なWebサイトへのアクセスを試みたユーザが、別のクライアント端末装置からログインしようとした際に、そのログインを禁止することができる。これにより、同一ユーザによる危険なWebサイトへのアクセスを抑止することができる。
【0087】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(たとえば、ASIC)によっても実現可能である。
【手続補正書】
【提出日】2024-01-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
情報処理システムであって、
クライアント端末装置と、情報機器と、サーバ装置とを有し、
前記クライアント端末装置は、
パケットを監視する監視手段と、
前記監視手段にて監視されたパケットに、クライアント端末装置を示す情報を付加する付加手段と、
前記付加手段にて付加されたパケットを前記情報機器に送信する送信手段と
を備え、
前記サーバ装置は、
前記情報機器から前記パケットを受信する受信手段と、
前記受信手段にて受信したパケットから、前記クライアント端末装置を示す情報を抽出する抽出手段と
を備えたことを特徴とする情報処理システム。
【請求項2】
前記クライアント端末装置を示す情報は、コンピュータ名であることを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記サーバ装置は、前記受信手段にて受信したパケットが所定のアクセス先に対するリクエストか否かを判定する第一の判定手段を有することを特徴とする請求項1または2に記載の情報処理システム。
【請求項4】
前記第一の判定手段は、所定のアクセス先を記録したリストを用いて判定を行うことを特徴とする請求項3に記載の情報処理システム。
【請求項5】
前記サーバ装置は、プロキシサーバであることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理システム。
【請求項6】
前記情報機器は、ルータ、ファイアウォール、またはUTMであることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理システム。
【請求項7】
前記付加手段は、前記パケットに前記パケットを送信したプログラムを示す情報をさらに付加し、
前記サーバ装置は、
前記プログラムを示す情報が、所定のプログラムを示す情報か否かを判定する第二の判定手段を備えることを特徴とする請求項3乃至6のいずれか1項に記載の情報処理システム。
【請求項8】
前記プログラムを示す情報は、プログラム名またはプロセス名であることを特徴とする請求項7に記載の情報処理システム。
【請求項9】
前記付加手段は、前記パケットにユーザを示す情報をさらに付加し、
前記抽出手段は、前記パケットから、前記ユーザを示す情報を抽出し、前記ユーザを示す情報と、前記クライアント端末装置へのログインの制限に関する情報とが対応付けられたテーブルに記録することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理システム。
【請求項10】
前記クライアント端末装置は、
前記クライアント端末装置へのログインが試みられた時に、前記クライアント端末装置のユーザを示す情報を含めた情報を、前記サーバ装置に送信し、
前記サーバ装置は、
前記テーブルに基づいて、受信した前記クライアント端末装置のユーザを示す情報における前記クライアント端末装置へのログインの制限を判定することを特徴とする請求項9に記載の情報処理システム。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
本発明は、情報処理システムに関する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
本発明は、たとえば、情報処理システムであって、
クライアント端末装置と、情報機器と、サーバ装置とを有し、
前記クライアント端末装置は、
パケットを監視する監視手段と、
前記監視手段にて監視されたパケットに、クライアント端末装置を示す情報を付加する付加手段と、
前記付加手段にて付加されたパケットを前記情報機器に送信する送信手段と
を備え、
前記サーバ装置は、
前記情報機器から前記パケットを受信する受信手段と、
前記受信手段にて受信したパケットから、前記クライアント端末装置を示す情報を抽出する抽出手段と
を備えたことを特徴とする。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正の内容】
【0006】
しかし、先行技術文献1では、URLを解析する場所をWEBサーバとしているため、ユーザや管理者が管理できない範囲となり、管理外の通信に関しては適用できない。たとえば、マルウェアが利用するC&Cサーバは、サイバー犯罪者が設置・管理しているため、この技術は適用できない。そこで、本発明は、簡便に通信の送信元の端末を特定することを目的とする。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
本発明によれば、簡便に通信の送信元の端末を特定することができる。