JP2024038784A - Information processing system, server device, server device control method, client terminal device, client terminal device control method and program - Google Patents

Information processing system, server device, server device control method, client terminal device, client terminal device control method and program Download PDF

Info

Publication number
JP2024038784A
JP2024038784A JP2022143060A JP2022143060A JP2024038784A JP 2024038784 A JP2024038784 A JP 2024038784A JP 2022143060 A JP2022143060 A JP 2022143060A JP 2022143060 A JP2022143060 A JP 2022143060A JP 2024038784 A JP2024038784 A JP 2024038784A
Authority
JP
Japan
Prior art keywords
information
packet
client terminal
terminal device
client
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
Application number
JP2022143060A
Other languages
Japanese (ja)
Inventor
和希 高野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Electronics Inc
Original Assignee
Canon Electronics Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Electronics Inc filed Critical Canon Electronics Inc
Priority to JP2022143060A priority Critical patent/JP2024038784A/en
Publication of JP2024038784A publication Critical patent/JP2024038784A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】簡便に通信の送信元を特定する情報処理システム、サーバ装置及びクライアント端末装置並びにそれらの制御方法及びプログラムを提供する。【解決手段】情報処理装置において、サーバ装置は、クライアント端末装置からリクエストパケットを受信し、受信したパケットに、特定のパケットの宛先を示す情報が含まれるか否かを判定し、特定のパケットの宛先を示す情報が含まれると判定した場合、特定の情報を付加したパケットを、クライアント端末装置に送信する。クライアント端末装置は、サーバ装置からパケットを受信し、受信したパケットに、特定の情報が含まれるか否かを判定し、特定の情報が含まれると判定した場合、パケットにクライアント固有の情報を付加して、サーバ装置に送信する。サーバ装置はさらに、クライアント端末から送信されたパケットを受信し、受信したパケットから、クライアント固有の情報を抽出する。【選択図】図1The present invention provides an information processing system, a server device, a client terminal device, and a control method and program therefor that easily identifies a transmission source of communication. In an information processing device, a server device receives a request packet from a client terminal device, determines whether the received packet includes information indicating the destination of a specific packet, and determines whether the received packet includes information indicating the destination of a specific packet. If it is determined that information indicating the destination is included, a packet with specific information added is transmitted to the client terminal device. The client terminal device receives a packet from the server device, determines whether the received packet contains specific information, and if it determines that specific information is included, adds client-specific information to the packet. and send it to the server device. The server device further receives packets transmitted from the client terminal, and extracts client-specific information from the received packets. [Selection diagram] Figure 1

Description

本発明は、情報処理システム、サーバ装置、サーバ装置の制御方法、クライアント端末装置、クライアント端末装置の制御方法およびプログラムに関する。 The present invention relates to an information processing system, a server device, a method of controlling a server device, a client terminal device, a method of controlling a client terminal device, and a program.

マルウェアの中には、C&C(command and control)サーバなどの危険な接続先と通信を行い、ハッカーからの指示を受けたり、盗み出した機密情報を送信したりするものがある。これに対して、予め危険な接続先の接続先情報(URLやIPアドレスなど)をリストアップしておき、リスト上にある宛先への通信を遮断することで、マルウェアによる被害を防ぐといった対策が取られている。この方法によれば、マルウェアによる直接的な被害を防ぐことはできるが、クライアント側に残っているマルウェアに対しては対策が打てないという問題がある。そのため、通信の送信元を特定し、対策を打つことが必要となる。 Some malware communicates with dangerous connections, such as command and control (C&C) servers, to receive instructions from hackers or send stolen confidential information. To deal with this, countermeasures can be taken such as making a list of connection destination information (URLs, IP addresses, etc.) of dangerous connection destinations in advance and blocking communication to the destinations on the list to prevent damage caused by malware. It has been taken. Although this method can prevent direct damage caused by malware, there is a problem in that it cannot take measures against malware remaining on the client side. Therefore, it is necessary to identify the source of the communication and take countermeasures.

そこで、ネットワーク通信の送信元を特定する手法としては、イーサネット(登録商標)フレームにおけるMACアドレスを参照するという技術がある。ただし、MACアドレスは同一セグメント内でのみ伝達可能な情報であるため、送信元のクライアントと特定を行うネットワーク機器との間に、別のネットワーク機器が存在しないことが前提となる。しかし、企業や官公庁内における一般的なネットワーク構成の場合、ネットワークの途中にはルータやファイアウォールなど様々な外部機器が存在する。そのため、そういった環境においては、ネットワーク通信の送信元が外部機器のMACアドレスとなってしまい、クライアントを特定することができない。また、外部機器にてネットワーク通信の送信元を管理する方法もあるが、管理が煩雑となる。 Therefore, as a method for identifying the source of network communication, there is a technique of referring to the MAC address in the Ethernet (registered trademark) frame. However, since the MAC address is information that can be transmitted only within the same segment, it is assumed that no other network device exists between the source client and the network device that performs the identification. However, in the case of a typical network configuration within a company or government office, various external devices such as routers and firewalls exist along the network. Therefore, in such an environment, the source of network communication becomes the MAC address of the external device, making it impossible to identify the client. There is also a method of managing the transmission source of network communication using an external device, but the management becomes complicated.

また、別の手法として、送信元IPアドレスを参照するという技術がある。しかし、IPアドレスは1つのコンピュータに常に固定されているわけではないため、たとえば1か月前の通信に関して、IPアドレスからコンピュータ名を特定しようとしても、既にIPアドレスが変更されてしまっており、特定できない場合が多い。そこで、先行技術文献1には、リクエストURL内にクライアントの情報を埋め込むことで、送信元であるクライアントを特定するという技術が開示されている。 Another technique is to refer to the source IP address. However, IP addresses are not always fixed to one computer, so if you try to identify the computer name from the IP address regarding a communication from a month ago, for example, you will find that the IP address has already changed. Often cannot be identified. Therefore, Prior Art Document 1 discloses a technique of specifying the client that is the sender by embedding client information in the request URL.

特開2004-240559号公報Japanese Patent Application Publication No. 2004-240559

しかし、先行技術文献1では、URLを解析する場所をWebサーバとしているため、ユーザや管理者が管理できない範囲となり、管理外の通信に関しては適用できない。たとえば、マルウェアが利用するC&Cサーバは、サイバー犯罪者が設置・管理しているため、この技術は適用できない。そこで、本発明は、簡便かつ正確に通信の送信元を特定することを目的とする。 However, in Prior Art Document 1, since the location where the URL is analyzed is a Web server, the scope is beyond the control of the user or administrator, and it cannot be applied to unmanaged communications. For example, this technology cannot be applied to C&C servers used by malware because they are installed and managed by cybercriminals. Therefore, an object of the present invention is to easily and accurately identify the source of communication.

本発明は、たとえば、情報処理システムであって、
クライアント端末装置と、情報機器と、サーバ装置とを有し、
前記サーバ装置は、
前記情報機器を介して前記クライアント端末装置からリクエストパケットを受信する第一の受信手段と、
前記第一の受信手段にて受信したリクエストパケットに、特定のパケットの宛先を示す情報が含まれるか否かを判定する第一の判定手段と、
前記第一の判定手段にて特定のパケットの宛先を示す情報が含まれると判定された場合、特定の情報を付加したパケットを、前記情報機器を介して前記クライアント端末装置に送信する第一の送信手段と
を備え、
前記クライアント端末装置は、
前記情報機器を介して前記サーバ装置からパケットを受信する第二の受信手段と、
前記第二の受信手段にて受信したパケットに、前記特定の情報が含まれるか否かを判定する第二の判定手段と、
前記第二の判定手段にて特定の情報が含まれると判定された場合、パケットにクライアント固有の情報を付加して、前記サーバ装置に前記情報機器を介して送信する第二の送信手段と
を備え、
前記サーバ装置は、さらに、
前記情報機器を介して前記クライアント端末から送信されたパケットを受信する第三の受信手段と、
前記第三の受信手段にて受信したパケットから、前記クライアント固有の情報を抽出する抽出手段と
を備えることを特徴とする。
The present invention is, for example, an information processing system that includes:
It has a client terminal device, an information device, and a server device,
The server device includes:
first receiving means for receiving a request packet from the client terminal device via the information device;
first determining means for determining whether the request packet received by the first receiving means includes information indicating a destination of a specific packet;
If the first determining means determines that information indicating the destination of the specific packet is included, the first determining means transmits the packet with the specific information added to the client terminal device via the information device. and a transmission means,
The client terminal device includes:
second receiving means for receiving packets from the server device via the information device;
a second determining means for determining whether or not the specific information is included in the packet received by the second receiving means;
If the second determining means determines that specific information is included, a second transmitting means adds client-specific information to the packet and transmits the packet to the server device via the information device. Prepare,
The server device further includes:
third receiving means for receiving packets transmitted from the client terminal via the information device;
The present invention is characterized by comprising an extraction means for extracting information specific to the client from the packet received by the third reception means.

本発明によれば、簡便に通信の送信元を特定することができる。 According to the present invention, it is possible to easily specify the source of communication.

情報処理システムの構成例を示すシステム構成図である。FIG. 1 is a system configuration diagram showing an example of the configuration of an information processing system. サーバ装置20の処理を示すフローチャートである。3 is a flowchart showing the processing of the server device 20. FIG. クライント端末装置10の処理を示すフローチャートである。3 is a flowchart showing the processing of the client terminal device 10. FIG. サーバ装置20の処理を示すフローチャートである。3 is a flowchart showing the processing of the server device 20. FIG. パケットの一例を示す図である。FIG. 3 is a diagram showing an example of a packet. パケットの一例を示す図である。FIG. 3 is a diagram showing an example of a packet. データベースに記録される情報の一例を示すである。An example of information recorded in the database is shown below. サーバ装置20の処理を示すフローチャートである2 is a flowchart showing the processing of the server device 20. 操作履歴の一例を示す図である。It is a figure showing an example of operation history. サーバ装置20の処理を示すフローチャートである。3 is a flowchart showing the processing of the server device 20. FIG. 操作履歴の一例を示す図である。It is a figure showing an example of operation history. サーバ装置20の処理を示すフローチャートである。3 is a flowchart showing the processing of the server device 20. FIG. 操作履歴の一例を示す図である。It is a figure showing an example of operation history. サーバ装置20の処理を示すフローチャートである。3 is a flowchart showing the processing of the server device 20. FIG. 情報処理システムの構成例を示すシステム構成図である。FIG. 1 is a system configuration diagram showing an example of the configuration of an information processing system. ログイン制限を示したシーケンス図である。FIG. 3 is a sequence diagram showing login restrictions. アカウント管理テーブルの一例を示す図である。It is a diagram showing an example of an account management table.

[第一の実施形態]
<システム構成図>
先ず、本実施形態に係る情報処理システム構成について、図1のシステム構成図を用いて説明する。図1に示す如く、本実施形態に係る情報処理システムは、コンピュータすなわち情報処理装置10、20、50を有しており、それぞれの情報処理装置はLANやインターネットなどのネットワーク30に接続されている。以下、情報処理装置10をクライアント端末装置、情報処理装置20を、クライアント端末装置10を管理するサーバ装置(たとえば、プロキシサーバ)、情報処理装置50を情報機器(たとえば、ルータ、ファイアウォールなど)と呼称する。なお、クライアント端末装置10、情報機器50は複数でもよい。また、クライアント端末装置10、サーバ装置20、情報機器50は、PC・携帯端末装置などの情報処理装置が行うものとして後述する各処理を実行可能な装置であれば、如何なる装置であっても構わない。
[First embodiment]
<System configuration diagram>
First, the information processing system configuration according to this embodiment will be explained using the system configuration diagram of FIG. 1. As shown in FIG. 1, the information processing system according to the present embodiment includes computers, that is, information processing devices 10, 20, and 50, and each information processing device is connected to a network 30 such as a LAN or the Internet. . Hereinafter, the information processing device 10 will be referred to as a client terminal device, the information processing device 20 will be referred to as a server device (for example, a proxy server) that manages the client terminal device 10, and the information processing device 50 will be referred to as an information device (for example, a router, a firewall, etc.). do. Note that there may be a plurality of client terminal devices 10 and information devices 50. Further, the client terminal device 10, the server device 20, and the information device 50 may be any device as long as it is capable of executing each process described later as being performed by an information processing device such as a PC or a mobile terminal device. do not have.

<クライアント端末装置>
クライアント端末装置10において、演算装置10Cはプロセッサ(CPU)である。演算装置10Cは、メモリ10EのROMに格納されたBIOSなどのブートプログラムに従い、記憶装置10Bに格納されたオペレーティングシステム(OS)を起動し、さらにOSまたはユーザの操作に従い各種のプログラムを起動する。この記憶装置10Bには、OSや本装置が行うものとして後述する各処理を演算装置10Cに実行させるためのコンピュータプログラムやデータが保存されている。このコンピュータプログラムには、クライアントプログラム10F、ブラウザ10Gが含まれている。
<Client terminal device>
In the client terminal device 10, the arithmetic device 10C is a processor (CPU). The arithmetic device 10C starts an operating system (OS) stored in the storage device 10B in accordance with a boot program such as a BIOS stored in a ROM in the memory 10E, and further starts various programs in accordance with the OS or user operations. This storage device 10B stores computer programs and data for causing the arithmetic device 10C to execute various processes that will be described later as being performed by the OS and this device. This computer program includes a client program 10F and a browser 10G.

クライアントプログラム10Fは、クライアント端末装置10のデータやプログラムなどを管理するためのプログラムであり、たとえば、パケットを監視する、パケットのHTTPリクエストのメッセージヘッダにクライアント固有の情報(たとえば、コンピュータ名、パケットを送信したプログラム名など)を付加する、パケットを送信する機能を有する。また、クライアントプログラム10Fは、ネットワークI/F10Dを介してサーバ装置20から受け取ったリクエストパケットを、HTTPリクエストのメッセージヘッダごとに分割して、サーバ装置20上のサーバプログラム20Fが、後述の方法によってパケットの内部に記録した情報を抽出する。また、クライアントプログラム10Fは、クライアント端末装置10の操作を操作履歴として記憶装置10Bに記憶する機能、サーバ装置20からの命令(たとえば、修正プログラムの適用命令、ウイルススキャン命令、隔離命令など)に従う制御機能を有していてもよい。 The client program 10F is a program for managing data and programs of the client terminal device 10. For example, the client program 10F is a program for managing data, programs, etc. of the client terminal device 10. It has a function to send packets by adding a name (such as the name of the program that was sent). Further, the client program 10F divides the request packet received from the server device 20 via the network I/F 10D into each message header of the HTTP request, and the server program 20F on the server device 20 divides the request packet into packets by the method described below. Extract the information recorded inside. The client program 10F also has a function of storing the operations of the client terminal device 10 as an operation history in the storage device 10B, and controls according to instructions from the server device 20 (for example, an instruction to apply a patch program, a virus scan instruction, an isolation instruction, etc.). It may have a function.

図9は、操作履歴の一例を示す図である。この図では、クライアント端末装置10から、何らかの通信リクエストがなされた際に、リクエストを行った日付や時刻、ログインしていたユーザー名、リクエスト先のURLなどが記録されている。例えば、レコード901には、2020/08/10の14:00:00に、userAがログインしていたPC-Aから、「http://aaa.com」に対して通信のリクエストが発せられたことを表している。なお、記録される情報としては、この図に限定されるものではない。記憶装置10Bに保存されているコンピュータプログラムやデータは、演算装置10Cによる制御に従って適宜メモリ10EのRAMにロードされ、演算装置10Cによる処理対象となる。また、OSはたとえばWindows(登録商標)、MacOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)などである。 FIG. 9 is a diagram showing an example of an operation history. In this figure, when a communication request is made from the client terminal device 10, the date and time of the request, the name of the logged-in user, the URL of the request destination, etc. are recorded. For example, in record 901, at 14:00:00 on 2020/08/10, a communication request was issued to "http://aaa.com" from PC-A where userA was logged in. It represents that. Note that the information to be recorded is not limited to what is shown in this figure. The computer programs and data stored in the storage device 10B are appropriately loaded into the RAM of the memory 10E under the control of the arithmetic device 10C, and are processed by the arithmetic device 10C. Further, the OS is, for example, Windows (registered trademark), MacOS (registered trademark), Linux (registered trademark), iOS (registered trademark), Android (registered trademark), or the like.

記憶装置10Bは、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などであり、OSのほかにクライアント端末装置10上で稼働するクライアントプログラム10Fなどを格納する。I/Oデバイス10Aは、ポインティングデバイス(マウスなど)やキーボードに接続するための入出力インタフェース(I/F)、または、タッチパネルを組み込んだディスプレイなどである。なお、キーボードはソフトウェアキーボードでもよい。また、I/Oデバイス10Aは、入力された操作者の音声を音声認識機能によって認識し、認識した音声を演算装置10Cへ伝達する、マイク等を含む音声式入力部でもよい。また、I/Oデバイス10Aは、情報を表示するためのユーザインタフェース(UI)としても機能する。 The storage device 10B is a hard disk drive (HDD), solid state drive (SSD), or the like, and stores the client program 10F that runs on the client terminal device 10 in addition to the OS. The I/O device 10A is an input/output interface (I/F) for connecting to a pointing device (such as a mouse) or a keyboard, or a display incorporating a touch panel. Note that the keyboard may be a software keyboard. Further, the I/O device 10A may be an audio input section including a microphone or the like that recognizes the input operator's voice using a voice recognition function and transmits the recognized voice to the arithmetic device 10C. The I/O device 10A also functions as a user interface (UI) for displaying information.

ネットワークI/F10Dは、ネットワーク30とのインタフェースであり、他の情報処理装置(たとえば、Webサーバなど)と通信するための通信回路である。演算装置10Cは、ネットワークI/F10Dを介して、ブラウザ10Gなどのプログラムから発せられるリクエストパケットを宛先である他の情報処理装置(たとえば、Webサーバなど)に送信する。 The network I/F 10D is an interface with the network 30, and is a communication circuit for communicating with other information processing devices (for example, a web server, etc.). The arithmetic device 10C transmits a request packet issued from a program such as the browser 10G to another information processing device (for example, a web server) as a destination via the network I/F 10D.

<サーバ装置>
サーバ装置のハードウェア構成は、図1に示す如く、上記で説明したクライアント端末装置10のハードウェア構成と同様であるとする。即ち、サーバ装置20の演算装置20Cは、サーバ装置20の記憶装置20Bに保存されているコンピュータプログラムやデータを用いて、サーバ装置20のネットワークI/F20Dを介して、他の情報処理装置とのデータ通信を行うと共に、サーバ装置20が行うものとして後述する各処理を実行する。また、サーバ装置20の記憶装置20Bには、サーバプログラム20Fが保存されている。
<Server device>
As shown in FIG. 1, the hardware configuration of the server device is assumed to be similar to the hardware configuration of the client terminal device 10 described above. That is, the computing device 20C of the server device 20 uses computer programs and data stored in the storage device 20B of the server device 20 to communicate with other information processing devices via the network I/F 20D of the server device 20. In addition to data communication, the server device 20 also executes various processes to be described later. Furthermore, a server program 20F is stored in the storage device 20B of the server device 20.

サーバ装置20において、演算装置20Cはマイクロプロセッサ(CPU)である。演算装置20Cは、メモリ20EのROMに格納されたBIOSなどのブートプログラムに従い記憶装置20Bに格納されたOSを起動する。そして、ネットワーク30を介して接続されたクライアント端末装置10からのリクエストパケットを受信し、インターネット上にある宛先である他の情報処理装置(たとえば、Webサーバなど)にリクエストパケットを送信する。 In the server device 20, the arithmetic device 20C is a microprocessor (CPU). The arithmetic unit 20C starts the OS stored in the storage device 20B according to a boot program such as BIOS stored in the ROM of the memory 20E. Then, it receives a request packet from the client terminal device 10 connected via the network 30, and transmits the request packet to another information processing device (for example, a Web server, etc.) that is the destination on the Internet.

記憶装置20Bは、HDDやSSDなどであり、サーバ装置20上で稼働するサーバプログラム20Fを格納する。ネットワークI/F20Dは、ネットワーク30とのインタフェースであり、クライアント端末装置10など他の情報処理装置と通信するための通信回路である。 The storage device 20B is an HDD, an SSD, or the like, and stores a server program 20F that runs on the server device 20. The network I/F 20D is an interface with the network 30, and is a communication circuit for communicating with other information processing devices such as the client terminal device 10.

サーバプログラム20Fは、ネットワークI/F20Dを介して複数のクライアント端末装置10から受け取ったリクエストパケットを、HTTPリクエストのメッセージヘッダごとに分割して、クライアント端末装置10上のクライアントプログラム10Fによって付加されたクライアント端末装置10の情報を抽出する。また、クライアント端末装置10からのリクエストを拒否した場合、その理由を返答パケット内に付加する。 The server program 20F divides the request packets received from the plurality of client terminal devices 10 via the network I/F 20D into each message header of the HTTP request, and divides the request packets into the client packets added by the client program 10F on the client terminal device 10. Information on the terminal device 10 is extracted. Furthermore, when a request from the client terminal device 10 is rejected, the reason is added to the reply packet.

また、ネットワーク30を介して接続されたクライアント端末装置10から送信されるクライアント端末装置10の操作履歴を記憶装置20Bに記憶させ、管理することもできるし、クライアント端末装置10に対して修正プログラムの適用命令、ウイルススキャン命令、隔離命令などを送信することもできる。 Further, the operation history of the client terminal device 10 transmitted from the client terminal device 10 connected via the network 30 can be stored and managed in the storage device 20B, and the modification program can be applied to the client terminal device 10. Application orders, virus scan orders, quarantine orders, etc. can also be sent.

データベース20Gは、クライアント端末装置10からのリクエストを拒否した場合に、同端末から送信されてくるクライアント固有の情報を蓄積する。 The database 20G stores client-specific information transmitted from the client terminal device 10 when the request from the client terminal device 10 is rejected.

サーバ装置20は、クライアント端末装置10側のネットワーク30とインターネット40との境界上に設置されている。この構成をとることにより、ネットワーク30内とインターネット40の間でやりとりされるすべてのパケットをサーバ装置20経由にすることができ、やりとりされるすべてのパケットに対して本発明を適用することができる。 The server device 20 is installed on the boundary between the network 30 on the client terminal device 10 side and the Internet 40. By adopting this configuration, all packets exchanged between the network 30 and the Internet 40 can be passed through the server device 20, and the present invention can be applied to all exchanged packets. .

また、サーバ装置20とクライアント端末装置10は、図1では共にLANの内部に設置されているが、サーバ装置20は、クライアント端末装置10とネットワーク30を介して接続可能であれば、インターネット40上に設置してもよい。 Furthermore, although the server device 20 and the client terminal device 10 are both installed inside the LAN in FIG. It may be installed in

<情報機器>
企業や官公庁などの一般的なネットワーク環境においては、クライアント端末装置10とサーバ装置20との間に、情報機器50が設置される。情報機器50は、クライアント端末装置10からサーバ装置20への通信を中継する機器であり、例えば、ルータ、ファイアウォール、UTM(Unified Threat Management)など、他のネットワーク機器である。なお、図1の構成の場合、情報機器50とサーバ装置20との間でやり取りされるイーサネット(登録商標)フレームのパケットの場合、送信元MACアドレスが情報機器50のものになるため、MACアドレスを用いた送信元クライアントの特定は不可能になる。
<Information equipment>
In a general network environment such as a company or a government office, an information device 50 is installed between a client terminal device 10 and a server device 20. The information device 50 is a device that relays communication from the client terminal device 10 to the server device 20, and is, for example, another network device such as a router, a firewall, or a UTM (Unified Threat Management). In the case of the configuration shown in FIG. 1, in the case of an Ethernet (registered trademark) frame packet exchanged between the information device 50 and the server device 20, the source MAC address is that of the information device 50, so the MAC address It becomes impossible to identify the source client using

<サーバ装置の付加処理>
図2は、本実施形態に係るサーバ装置20が行う付加処理のフローチャートである。
<Additional processing of server device>
FIG. 2 is a flowchart of additional processing performed by the server device 20 according to the present embodiment.

サーバ装置20の演算装置20Cは、ネットワーク30によって接続されたクライアント端末装置10から、リクエストパケットが送信されてくるのを監視している(S-201)。 The computing device 20C of the server device 20 monitors request packets being sent from the client terminal devices 10 connected via the network 30 (S-201).

クライアント端末装置10からリクエストパケットが送信されると、インターネット40に到達する前に、情報機器50を介して、サーバ装置20にパケットが到達する。サーバ装置20にパケットが到達すると、演算装置20Cは、受信したパケットが危険なWebサイトへのリクエストか否か(遮断対象か否か)を判定する(S-202)。なお、パケットが危険なWebサイトへのアクセスのものかどうかの判断は、記憶装置20Bに予め記憶されている危険なWebサイトのホスト名のリストと、HTTPリクエストヘッダの標準ヘッダに含まれる「Host」とを、比較して判断する。なお、「Host」は一例であって、「Referer」など、危険なWebサイトへのアクセスがわかれば、これに限定されない。 When a request packet is transmitted from the client terminal device 10, the packet reaches the server device 20 via the information device 50 before reaching the Internet 40. When the packet reaches the server device 20, the arithmetic device 20C determines whether the received packet is a request for a dangerous website (or not) (S-202). Note that the determination as to whether a packet is an access to a dangerous website is based on the list of host names of dangerous websites stored in advance in the storage device 20B and the "Host" included in the standard header of the HTTP request header. ” to make a judgment. Note that "Host" is an example, and is not limited to "Referer" as long as access to a dangerous website is known.

演算装置20Cによって、接続先が危険なwebサイトであると判断された場合(S-202のYES)、リクエストパケットを破棄する等して、接続を拒否する(S-204)。危険なwebサイトではないと判断した場合(S-202のNO)、そのリクエストを通過させ、webサイトへの接続を許可する(S-203)。 If the computing device 20C determines that the connection destination is a dangerous website (YES in S-202), the connection is rejected by discarding the request packet, etc. (S-204). If it is determined that the website is not dangerous (NO in S-202), the request is passed and connection to the website is allowed (S-203).

これにより、クライアント端末装置10が危険なwebサイトに接続することを防ぐことができ、コンピュータウィルスに感染するなどの被害を防ぐ効果を得ることができる。しかし、パケットを破棄した場合、クライアント端末装置10では、単純に接続ができない状態になるのみであり、接続できない理由を知ることができない。そのため、演算装置20Cは、返答パケットのヘッダ部分に、接続を拒否した理由(「危険なwebサイトに接続した」等)を付加して(S-205)、クライアント端末10に送信する(S-206)。これにより、クライアント端末装置10において、接続が拒否された理由を知ることができる。 Thereby, the client terminal device 10 can be prevented from connecting to a dangerous website, and it is possible to obtain the effect of preventing damage such as being infected with a computer virus. However, if the packet is discarded, the client terminal device 10 simply becomes unable to connect, and cannot know the reason why the connection is not possible. Therefore, the computing device 20C adds the reason for rejecting the connection (such as "connected to a dangerous website") to the header of the response packet (S-205) and sends it to the client terminal 10 (S-205). 206). This allows the client terminal device 10 to know the reason why the connection was refused.

図5は、パケットの一例を示す図であり、演算装置20Cによって編集されたパケット内のHTTPレスポンスのメッセージヘッダの一例である。この例では、Content-Typeなどの通常のヘッダのほかに、演算装置20Cによって付加された「DenyReason」ヘッダがあり、その中には接続を拒否した理由「malicious web site」が記録されている。 FIG. 5 is a diagram showing an example of a packet, and is an example of a message header of an HTTP response in the packet edited by the arithmetic device 20C. In this example, in addition to normal headers such as Content-Type, there is a "DenyReason" header added by the computing device 20C, in which the reason for refusing the connection "malicious web site" is recorded.

演算装置20Cによって付加される情報は、接続を拒否した理由(特定の情報)に限定されず、例えば、クライアント端末装置10に対するウィルススキャン命令や、返答パケットを他のコンピュータへ転送する命令などを付加してもよい。 The information added by the computing device 20C is not limited to the reason for rejecting the connection (specific information), but includes, for example, a virus scan command for the client terminal device 10, a command to transfer a response packet to another computer, etc. You may.

また、演算装置20Cが情報を付加する箇所についても、HTTPリクエストのメッセージヘッダに限定されず、例えばTCPパケットのヘッダ部やデータ部などを用いてもよい。 Furthermore, the location where the arithmetic device 20C adds information is not limited to the message header of the HTTP request, but may also use, for example, the header section or data section of the TCP packet.

<クライアント端末装置の処理>
図3は、本実施形態に係るおよびクライアント端末装置10が行う処理のフローチャートである。サーバ装置20から送信されたパケットがクライアント端末装置10に到達すると、演算装置10Cが、パケットを受信する(S-301)。
<Processing of client terminal device>
FIG. 3 is a flowchart of processing performed by the client terminal device 10 according to this embodiment. When the packet transmitted from the server device 20 reaches the client terminal device 10, the arithmetic device 10C receives the packet (S-301).

演算装置10Cは、受け取った全てのパケットに対して、その接続リクエストが拒否されたかどうかを判定する。具体的には、受け取った全てのパケットに対して、以下の処理を行う。 The arithmetic device 10C determines, for all received packets, whether the connection request has been rejected. Specifically, the following processing is performed on all received packets.

演算装置10Cは、パケット内のHTTPリクエストのメッセージヘッダのデータを、ヘッダ名単位に分割する(S-302)。次に、演算装置10Cは、返答パケットに、遮断されたことを示す情報があるか否かを判定する(S-303)。すなわち、分割したヘッダの中に、サーバ装置20のサーバプログラム20F(演算装置20C)が追記したヘッダ名が存在するかどうかを判定する。判定は、ヘッダ名が、サーバプログラム20F(演算装置20C)が付加する固有のものかどうかなど、予め記憶装置10Bに記憶されているテーブルを用いて判定を行う。 The computing device 10C divides the message header data of the HTTP request in the packet into units of header names (S-302). Next, the arithmetic device 10C determines whether or not the response packet includes information indicating that the request has been interrupted (S-303). That is, it is determined whether the header name added by the server program 20F (computing device 20C) of the server device 20 exists in the divided headers. The determination is made using a table stored in advance in the storage device 10B, such as whether the header name is a unique one added by the server program 20F (computing device 20C).

リクエストが拒否されたかどうかの判定方法は、上記のような独自ヘッダとして記述された部分を用いる方法に限定されず、例えばサーバ装置20が返答パケットを返す際のレスポンスコードを独自のものに変更するなどの方法を用いてもよい。また、サーバ装置20をプロキシサーバとした場合、プロキシサーバの性質上、SSL等の暗号化通信の場合は、基本的にはHTTPパケットのヘッダ部やデータ部を参照できないため、そのような問題を回避するために、TCPパケットのヘッダ部分などに情報を記録してもよい。 The method for determining whether a request has been rejected is not limited to the method using the part described as a unique header as described above; for example, the response code used when the server device 20 returns a reply packet is changed to a unique one. You may also use a method such as In addition, when the server device 20 is used as a proxy server, due to the nature of the proxy server, in the case of encrypted communication such as SSL, it is basically not possible to refer to the header part and data part of the HTTP packet, so such problems can be avoided. To avoid this, information may be recorded in the header of the TCP packet.

図5に示すように、パケットには「DenyReason」など、接続を拒否した理由が記録されている。また、前記の「DenyReason」は、RFC(Request For Comments)で規定されたHTTPの標準ヘッダではないため、受信パケットに該当ヘッダを残したまま、ブラウザ等のアプリケーションへ該当パケットを渡したとすると、アプリケーション側が該当ヘッダを読み取れず、エラーが発生する危険性がある。そのため、演算装置10Cは、該当ヘッダを削除してから、リクエスト元のアプリケーションに該当パケットを渡す(S-304)。 As shown in FIG. 5, the reason for refusing the connection, such as "DenyReason", is recorded in the packet. In addition, the above-mentioned "DenyReason" is not a standard HTTP header specified by RFC (Request For Comments), so if the received packet is passed to an application such as a browser with the relevant header left in the received packet, the application There is a risk that the other side will not be able to read the relevant header and an error will occur. Therefore, the arithmetic device 10C deletes the corresponding header and then passes the corresponding packet to the requesting application (S-304).

上述した処理によって、接続を拒否されたことが分かった場合、演算装置10Cは、前記の「DenyReason」に記録された理由をもとに、クライアント端末装置10に適切な処置(ネットワーク遮断等)を行う(S-305)。例えば、拒否理由が危険なwebサイトへのアクセスを行ったためであった場合、クライアント端末装置10はマルウェアに感染している危険性が高いといえる。そのため、演算装置10Cは、マルウェアが拡散しないようにするために、クライアント端末装置10をネットワークから遮断する。 When it is determined that the connection has been refused through the above-described process, the computing device 10C takes appropriate measures (such as network interruption) to the client terminal device 10 based on the reason recorded in the "DenyReason" field. Do (S-305). For example, if the reason for rejection is access to a dangerous website, it can be said that the client terminal device 10 is at high risk of being infected with malware. Therefore, the computing device 10C blocks the client terminal device 10 from the network in order to prevent the malware from spreading.

サーバ装置20に対して送信するパケットを作成し(S-306)、該当パケットに、クライアント端末装置10の情報を示すクライアント固有の情報および、該当パケットがクライアント固有の情報を伝達する目的で送信されたことを表す識別情報を付加して(S-307)、該当パケットをサーバ装置20へ送信する(S-308)。 A packet to be sent to the server device 20 is created (S-306), and the corresponding packet includes client-specific information indicating information about the client terminal device 10, and the packet is sent for the purpose of transmitting client-specific information. It adds identification information indicating that the packet has been sent (S-307), and transmits the corresponding packet to the server device 20 (S-308).

クライアント固有の情報とは、たとえば、クライアント端末装置を示す情報(コンピュータ名、ユーザ名など)、パケットを送信したプログラムを示す情報(リクエストを行ったプログラム名、プロセス名など)である。これらの情報は、パケット内の任意の箇所に記述する。例えば、パケットのヘッダ部分に記述してもよいし、POSTパケットのデータ部分に記述するような形をとってもよい。 The client-specific information is, for example, information indicating the client terminal device (computer name, user name, etc.) and information indicating the program that sent the packet (program name that made the request, process name, etc.). These pieces of information are written anywhere within the packet. For example, it may be written in the header part of the packet, or it may be written in the data part of the POST packet.

一例として、パケットのヘッダ部分にクライアント固有の情報および、クライアント固有の情報を伝達する目的で送信されたことを表す識別情報を記述する方法を説明する。図6は、パケットの一例を示す図であり、演算装置10Cによって編集されたパケット内のHTTPリクエストのメッセージヘッダの一例である。この例では、User-Agentなどの通常のヘッダのほかに、クライアントプログラム10Fによって付加された「ADDHEADER」ヘッダがあり、その中にはクライアント端末装置10のコンピュータ名「TestPCNAME.test.com」と、リクエストを行ったプログラム名「iexplore.exe」が記録されている。なお、リクエストパケットを送信したプログラム名と宛先URLとを特定する方法は、公知の技術(たとえば、特開2012-185799号公報)であるため説明を省略する。 As an example, a method will be described in which client-specific information and identification information indicating that the packet was sent for the purpose of transmitting the client-specific information are written in the header portion of the packet. FIG. 6 is a diagram showing an example of a packet, and is an example of a message header of an HTTP request in the packet edited by the arithmetic device 10C. In this example, in addition to normal headers such as User-Agent, there is an "ADDHEADER" header added by the client program 10F, which includes the computer name of the client terminal device 10 "TestPCNAME.test.com", The name of the program that made the request "iexplore.exe" is recorded. Note that the method for specifying the name of the program that sent the request packet and the destination URL is a known technique (for example, Japanese Patent Application Laid-Open No. 2012-185799), and therefore a description thereof will be omitted.

また、図6に示すパケットには「IsBlock」ヘッダがあるが、このヘッダが、クライアント固有の情報を伝達する目的で送信されたことを表す識別情報となる。パケットに該当情報を付加した後、演算装置10Cはサーバ装置20へパケットを送信する。 Furthermore, the packet shown in FIG. 6 has an "IsBlock" header, which serves as identification information indicating that the packet was sent for the purpose of transmitting client-specific information. After adding the relevant information to the packet, the arithmetic device 10C transmits the packet to the server device 20.

<サーバ装置の抽出処理>
図4は、本実施形態に係るサーバ装置20が行う抽出処理のフローチャートである。演算装置10Cから送信されたパケットがサーバ装置20に到達すると、演算装置20Cは、パケットを受信する(S-401)。
<Server device extraction process>
FIG. 4 is a flowchart of the extraction process performed by the server device 20 according to this embodiment. When the packet transmitted from the computing device 10C reaches the server device 20, the computing device 20C receives the packet (S-401).

次に、演算装置20Cは、該当パケットがクライアント固有の情報を伝達する目的で送信されたものであるか否かを判定し、また、そうであれば送信元のクライアント固有の情報を抽出しようと試みる。具体的には、該当パケットに対して、以下の処理を行う。演算装置20Cは、パケット内のHTTPリクエストのメッセージヘッダのデータを、ヘッダ名単位に分割する(S-402)。次に、分割したヘッダの中に、クライアント端末装置10のクライアントプログラム10F(演算装置10C)が付加した、クライアント固有の情報を伝達する目的で送信されたことを示す識別情報が存在するかどうかを判定する(S-403)。 Next, the computing device 20C determines whether or not the corresponding packet is transmitted for the purpose of transmitting client-specific information, and if so, attempts to extract the transmitting client-specific information. try. Specifically, the following processing is performed on the corresponding packet. The computing device 20C divides the message header data of the HTTP request in the packet into units of header names (S-402). Next, it is determined whether or not there is identification information added by the client program 10F (computing device 10C) of the client terminal device 10 in the divided header, indicating that the information was sent for the purpose of transmitting client-specific information. Determine (S-403).

存在する場合は(S-403のYES)、分割したヘッダの中から、クライアント固有の情報(コンピュータ名、プログラム名など)を表すヘッダがあるかどうかを探し、ヘッダの値に記録された文字列を、該当のクライアント固有の情報として抽出する(S-404)。 If it exists (YES in S-403), search for a header that represents client-specific information (computer name, program name, etc.) among the divided headers, and check the string recorded in the header value. is extracted as information specific to the relevant client (S-404).

図6を用いて具体的に説明する。たとえば、図6に示されるようなパケットをサーバプログラム20Fが受け取った場合、まずヘッダ名単位に分割する。ヘッダの中には、クライアントプログラム10Fが付加した「IsBlock」ヘッダが存在するので、このパケットは、クライアント固有の情報を伝達する目的で送信されたものであると判断できる。また、「ADDHEADER」ヘッダが存在するので、その内容の文字列「TestPCNAME.test.co;iexplore.exe」を取得し、セミコロンで分割する。すると、送信元のコンピュータ名が「TestPCNAME.test.co」であることがわかり、かつパケットの送信を行ったプログラム名が「iexplore.exe」であることがわかる。 This will be explained in detail using FIG. 6. For example, when the server program 20F receives a packet as shown in FIG. 6, it first divides it into header names. Since the "IsBlock" header added by the client program 10F is present in the header, it can be determined that this packet was sent for the purpose of transmitting client-specific information. Also, since the "ADDHEADER" header exists, the character string "TestPCNAME.test.co; iexplore.exe" containing the contents is obtained and divided by semicolons. Then, it is found that the sender's computer name is "TestPCNAME.test.co", and the name of the program that sent the packet is "iexplore.exe".

この結果、危険なWebサイトへのリクエストパケットを送信したクライアントの情報をサーバ装置上で特定することができる(S-405)。次に、演算装置20Cは、該当のクライアントがリクエストを拒否されたという情報をデータベース20Gに記録する(S-406)。 As a result, information about the client that sent the request packet to the dangerous website can be identified on the server device (S-405). Next, the computing device 20C records information that the request of the corresponding client was rejected in the database 20G (S-406).

また、図7に、データベース20Gに記録する情報の例を示す。ここでは、アクセスを試みた時刻、コンピュータ名、プロセス名、ユーザ名などが記録されており、例えば日付をキーにして集計すれば、日別のアクセス数を、コンピュータ名をキーにして集計すれば、危険なアクセスを試みたコンピュータのランキングを算出することなどが可能になる。 Further, FIG. 7 shows an example of information recorded in the database 20G. Here, the time of attempted access, computer name, process name, user name, etc. are recorded. For example, if you use the date as a key to aggregate the number of accesses, you can aggregate the number of daily accesses using the computer name as a key. This makes it possible to calculate rankings of computers that have attempted dangerous access.

なお、クライアントプログラム10Fが付加するヘッダ名およびヘッダのフォーマットに関しては、予めサーバプログラム20Fと、クライアントプログラム10Fの間で取り決めておき、記憶装置10B、20Bに各々記憶しておく。 Note that the header name and header format added by the client program 10F are agreed upon in advance between the server program 20F and the client program 10F, and stored in the storage devices 10B and 20B, respectively.

上述したように、本発明においては、パケットを解析する場所(例えば、通信の送信元を特定する場所)を通信経路の終端(Webサーバなど)ではなく、通信経路の途中かつ管理者が管理できる場所(プロキシサーバなど)に設置する。これにより、通信の宛先に影響されることなく、全てのパケットの解析を行い、簡便かつ正確に通信の送信元を特定することができる。 As described above, in the present invention, the place where packets are analyzed (for example, the place where the source of communication is identified) is not located at the end of the communication path (such as a web server), but is located somewhere along the communication path and can be managed by the administrator. place (such as a proxy server). As a result, all packets can be analyzed without being affected by the destination of the communication, and the source of the communication can be easily and accurately identified.

また、クライアントの情報を特定することにより、例えば、危険な接続先への通信を遮断してマルウェアによる被害を防ぐ場合に、クライアント端末装置に残っているマルウェアに対しても対策を打つことができる。また、データベース20Gに記録された情報を参照することで、例えば頻繁に危険なサイトにアクセスを試みている端末を特定することができ、セキュリティ監査などの際に有効なデータを提供することができる。 In addition, by identifying client information, for example, when preventing damage caused by malware by blocking communication to a dangerous connection destination, it is possible to take measures against malware remaining on the client terminal device. . In addition, by referring to the information recorded in the database 20G, it is possible to identify, for example, terminals that frequently attempt to access dangerous sites, and provide useful data for security audits, etc. .

[第二の実施形態]
パケットの送信元クライアントを特定することにより、たとえば、以下のような効果を得ることができる。受信したパケットに付加されたクライアント固有の情報から、危険なWebサイトへアクセスリクエストを行ったコンピュータおよびプログラムを特定することができる。以下では、パケットの送信元クライアントとプログラムをサーバ装置にて特定した後の処理について説明する。なお、本実施形態の動作の大部分が第一の実施形態の動作と共通するため、ここでは、第一の実施形態と異なる動作についてのみ説明し、共通の動作については説明を省略する。
[Second embodiment]
By identifying the source client of the packet, the following effects can be obtained, for example. The computer and program that made the access request to the dangerous website can be identified from the client-specific information added to the received packet. In the following, processing after the server device identifies the source client and program of the packet will be described. Note that since most of the operations of this embodiment are the same as those of the first embodiment, only the operations that are different from the first embodiment will be explained here, and the explanation of the common operations will be omitted.

図8は、サーバ装置20の処理を示すフローチャートである。演算装置20Cは、受信したパケットが危険なWebサイトへのリクエストか否かを判定する(S-801)。なお、パケットが危険なWebサイトへのアクセスのものかどうかの判断は、HTTPリクエストヘッダの標準ヘッダに含まれる「Host」と、記憶装置20Bに予め記憶されている危険なWebサイトのホスト名のリストとを比較して判断する。危険なWebサイトではないと判定された場合(S-801のNO)、パケットを宛先に送信し処理を終了する。なお、上述した説明では、サーバ装置20にて受信したパケットが危険なWebサイトへのリクエストか否かを判定しているが、ネットワーク30に接続されている不図示の装置(たとえば、UTM)にて判定を行ってもよい。その場合、ステップS-801は省略される。 FIG. 8 is a flowchart showing the processing of the server device 20. The computing device 20C determines whether the received packet is a request to a dangerous website (S-801). Note that determining whether a packet is an access to a dangerous website is based on "Host" included in the standard header of the HTTP request header and the host name of the dangerous website stored in advance in the storage device 20B. Make a decision by comparing with the list. If it is determined that the website is not dangerous (NO in S-801), the packet is sent to the destination and the process ends. Note that in the above explanation, it is determined whether the packet received by the server device 20 is a request to a dangerous website, but it is determined whether the packet received by the server device 20 is a request to a dangerous website. The judgment may be made by In that case, step S-801 is omitted.

また、危険なWebサイトへのアクセスだと判断された場合(S-801のYES)、クライアント装置10およびサーバ装置20は、図2のS-204~S-206、図3のS-301~S-208、および図4のS-401~S-406に記載の処理を行い、クライアントの特定(コンピュータ名、プログラム名など)を行う(S-802)。これらの処理は実施形態1に記述されているため、本実施形態での記述は省略する。 Furthermore, if it is determined that the access is to a dangerous website (YES in S-801), the client device 10 and server device 20 will The processes described in S-208 and S-401 to S-406 in FIG. 4 are performed to identify the client (computer name, program name, etc.) (S-802). Since these processes are described in the first embodiment, their description in this embodiment will be omitted.

演算装置20Cは、S-802にて特定したプログラムが、Webブラウザか否かを判定する(S-803)。Webブラウザか否かの判定は、記憶装置20Bに予め記憶されているWebブラウザを示すプログラム情報に基づいて判定される。特定したプログラムがWebブラウザである場合、たとえば、フィッシングメールに記載されている危険なURLからジャンプしたことが推測できる。そこで、Webブラウザと判定された場合(S-803のYES)、演算装置20Cは、クライアントのメールの設定を変更する(S-804)。たとえば、フィッシングメールが届かないようにするために、ステップS-803にて特定したクライアントの操作履歴からフィッシングメールを送信した宛先を調べ、その宛先からのメールを受信しない設定にする。なお、メール設定は、サーバ装置20に記憶されていてもよいし、クライアント端末装置10、不図示のメールサーバに記憶されてもよい。 The computing device 20C determines whether the program specified in S-802 is a web browser (S-803). Whether or not it is a Web browser is determined based on program information indicating the Web browser that is stored in advance in the storage device 20B. If the identified program is a web browser, it can be inferred that the user jumped from a dangerous URL written in a phishing email, for example. Therefore, if it is determined that the client is a Web browser (YES in S-803), the computing device 20C changes the client's email settings (S-804). For example, in order to prevent phishing emails from being delivered, the destination to which the phishing email was sent is checked from the operation history of the client identified in step S-803, and settings are made to not receive emails from that destination. Note that the email settings may be stored in the server device 20, the client terminal device 10, or a mail server (not shown).

演算装置20Cは、特定したプログラムが、一般的なアプリケーションか否かを判定する(S-805)。一般的なアプリケーションか否かの判定は、記憶装置20Bに予め記憶されている一般的なアプリケーションを示すプログラム情報に基づいて判定される。一般的なアプリケーション(たとえば、表計算ソフト、文書作成ソフトなど)である場合、一般的なアプリケーションの脆弱性を利用したリクエストと推測される。そこで、一般的なアプリケーションと判定された場合(S-805のYES)、演算装置20Cは、クライアント端末装置10に脆弱性を修正する修正プログラムを適用する(S-806)。なお、一般的なアプリケーションと修正プログラムの取得先(ダウンロードサーバ)を対応付けて記憶装置20Bに予め記憶しておき、該当する取得先にアクセスして修正プログラムを取得し、クライアント端末装置10に修正プログラムを適用してもよい。また、修正プログラムを一般的なアプリケーションと対応付けて記憶装置20Bに予め記憶していてもよい。 The arithmetic device 20C determines whether the identified program is a general application (S-805). Whether or not the application is a general application is determined based on program information indicating the general application that is stored in advance in the storage device 20B. If the request is for a general application (for example, spreadsheet software, document processing software, etc.), it is assumed that the request takes advantage of a vulnerability in the general application. Therefore, if it is determined that the application is a general application (YES in S-805), the computing device 20C applies a modification program to modify the vulnerability to the client terminal device 10 (S-806). Note that general applications and update program acquisition sources (download servers) are stored in advance in the storage device 20B in association with each other, the corresponding acquisition source is accessed to obtain the correction programs, and the correction programs are transferred to the client terminal device 10. The program may be applied. Further, the modification program may be stored in advance in the storage device 20B in association with a general application.

演算装置20Cは、特定したプログラムが一般的なアプリケーションではないと判定された場合(S-805のNO)、ウイルススキャンまたは隔離命令をクライアント端末装置10に送信する(S-807)。特定したプログラムがWebブラウザや一般的なアプリケーションではない場合、マルウェア自身がC&Cサーバなど危険な接続先と通信していることが推測できる。そこで、クライアント端末装置10内のウイルススキャンを行ったり、ネットワークから隔離したり、感染が拡大しないようにするといった対策が必要である。なお、ステップS-803やステップS-805にて、判定基準とした所定のプログラムであるWebブラウザや一般的なアプリケーションは一例であって、これに限定されない。 If it is determined that the identified program is not a general application (NO in S-805), the computing device 20C transmits a virus scan or isolation command to the client terminal device 10 (S-807). If the identified program is not a web browser or a general application, it can be assumed that the malware itself is communicating with a dangerous connection destination such as a C&C server. Therefore, it is necessary to take measures such as scanning the client terminal device 10 for viruses, isolating it from the network, and preventing the spread of infection. Note that the predetermined program that is used as the determination criterion in step S-803 and step S-805, such as a web browser or a general application, is an example, and is not limited thereto.

上述したように、クライアント固有の情報(クライアント情報)を付加することで、通常のパケットだけではわからない、クライアント端末装置側の状況を把握でき、かつ即座に適切な対策を講じることができる。 As described above, by adding client-specific information (client information), it is possible to grasp the situation on the client terminal device side, which cannot be understood from ordinary packets alone, and to take appropriate measures immediately.

[第三の実施形態]
本実施形態では、操作履歴を用いることによって、一見無害であるWebサイトからの被害を発見して対処する処理について説明する。なお、本実施形態の動作の大部分が第一の実施形態および第二の実施形態の動作と共通するため、ここでは、第一の実施形態および第二の実施形態と異なる動作についてのみ説明し、共通の動作については説明を省略する。
[Third embodiment]
In this embodiment, a process of discovering and dealing with damage from seemingly harmless websites by using operation history will be described. Note that most of the operations of this embodiment are the same as those of the first embodiment and the second embodiment, so only the operations that are different from the first and second embodiments will be explained here. , description of common operations will be omitted.

図9は、操作履歴の一例を示す図である。図9の操作履歴を参照すると、レコード902にて、日付「2020/11/18」、時刻「11:00:00」に、ユーザ名「userC」がPC名「PC-C」において、「http://aaa.com」というURLにアクセスしたことが記録されている。もし、「http://aaa.com」が危険なWebサイトであると判明した場合、まずは該当のURL「http://aaa.com」にアクセスした「PC-C」に対してウイルススキャンをかける、または、該当のURLへのアクセスを禁止にするなどの処置を行うことが必要となる。 FIG. 9 is a diagram showing an example of an operation history. Referring to the operation history in Figure 9, in record 902, on the date "2020/11/18" and the time "11:00:00", the user name "userC" accessed "http" on the PC name "PC-C". It is recorded that the URL "://aaa.com" was accessed. If "http://aaa.com" is found to be a dangerous website, first perform a virus scan on the "PC-C" that accessed the URL "http://aaa.com". It is necessary to take measures such as calling the URL or prohibiting access to the URL in question.

ただ、危険なWebサイトは、全て悪意のある者によって作られたわけではなく、通常のWebサイトであったURLが、悪意ある第三者に乗っ取られ、マルウェアを配布するなどの危険な動きをするように改ざんされるという場合もある。また、該当のURLが危険かどうかの判定は、アンチウィルスベンダーによる調査が行われた後に行われるので、Webサイトが改ざんされた瞬間ではなく、しばらく時間が経過した後になる。そのため、無害であると判定されている時期でも、実際にはすでに危険なWebサイトに改ざんされている可能性があるので、危険であると判定される以前に該当のURLにアクセスしたPCに対しても、ウイルススキャンなどの処置を行う必要がある。 However, not all dangerous websites are created by malicious parties; instead, the URL of a normal website is hijacked by a malicious third party and performs dangerous activities such as distributing malware. In some cases, it may be falsified. Furthermore, since the determination as to whether the URL is dangerous or not is made after an investigation by the antivirus vendor, it is not determined at the moment when the website is tampered with, but after some time has elapsed. Therefore, even if the website is determined to be harmless, there is a possibility that it has already been modified into a dangerous website, so please be aware that the website may not be able to be accessed on any PC that accessed the URL before it was determined to be dangerous. However, it is necessary to take measures such as virus scanning.

図10は、サーバ装置20の処理を示すフローチャートである。なお、図10のフローチャートにおいて図8に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、この処理ステップに係る説明は省略する。 FIG. 10 is a flowchart showing the processing of the server device 20. Note that in the flowchart of FIG. 10, the same processing steps as those shown in FIG. 8 are given the same step numbers, and a description of these processing steps will be omitted.

まず、ステップS-801において、演算装置20Cが、あるクライアント端末装置10(たとえば、「PC-C」)がアクセスしようとしたURL(たとえば、「http://aaa.com」)が危険であると判定したとする。その後、演算装置20Cは、記憶装置20Bに記録されている全てのクライアント端末装置10にて記録された操作履歴を参照する(S-1001)。次に、演算装置20Cは、危険であると判定されたURLに対して、ステップS-801において検出されたパケットを発信したクライアント端末装置10(たとえば、「PC-C」)以外からのアクセスが、操作履歴に存在するかどうかを判定する(S-1002)。 First, in step S-801, the computing device 20C determines that the URL (for example, "http://aaa.com") that a certain client terminal device 10 (for example, "PC-C") attempted to access is dangerous. Suppose that it is determined that After that, the computing device 20C refers to the operation history recorded in all the client terminal devices 10 recorded in the storage device 20B (S-1001). Next, the computing device 20C determines that the URL determined to be dangerous cannot be accessed from anyone other than the client terminal device 10 (for example, "PC-C") that transmitted the packet detected in step S-801. , determines whether it exists in the operation history (S-1002).

図9の操作履歴を参照すると、レコード901にて、URL「http://aaa.com」に対しては、日付「2020/08/10」、時刻「14:00:00」にも、PC名「PC-A」がアクセスしていることがわかる。演算装置20Cは、他のクライアント端末装置10によるアクセスが確認されない場合(S-1002のNO)、何もせずに処理をステップS-803へ移行する。アクセスが確認された場合(S-1002のYES)、演算装置20Cは、該当クライアント端末装置10(たとえば、「PC-A」)に対して、ウイルススキャンまたは隔離命令を送信する(S-1003)。たとえば、図9の操作履歴の場合、「PC-A」による該当URL「http://aaa.com」へのアクセスが確認されたため、演算装置20Cは、「PC-A」に対してウイルススキャンなどの命令を発行する。 Referring to the operation history in Figure 9, in record 901, for the URL "http://aaa.com", the date "2020/08/10" and the time "14:00:00" are also It can be seen that the name "PC-A" is accessing. If access by another client terminal device 10 is not confirmed (NO in S-1002), the computing device 20C does nothing and shifts the process to step S-803. If access is confirmed (YES in S-1002), the computing device 20C sends a virus scan or isolation command to the corresponding client terminal device 10 (for example, "PC-A") (S-1003) . For example, in the case of the operation history in FIG. 9, since access to the corresponding URL "http://aaa.com" by "PC-A" has been confirmed, the computing device 20C performs a virus scan on "PC-A". Issue instructions such as:

上述したように、操作履歴を参照することで、一見無害であるWebサイトからの被害を発見し、その対処を行うことができる。 As described above, by referring to the operation history, damage caused by seemingly harmless websites can be discovered and countermeasures can be taken.

[第四の実施形態]
本実施形態では、クライアント端末装置10においてローカル時刻が変更された場合でも、Webサイトからの被害を発見して対処する処理について説明する。
[Fourth embodiment]
In this embodiment, a process for discovering and dealing with damage from a website even when the local time is changed on the client terminal device 10 will be described.

第三の実施形態では、演算装置20Cが操作履歴を参照することによって、危険なURLに対して、過去に他のクライアント端末装置10からのアクセスが存在したかどうかを判定する処理を行っていた。しかし、操作履歴の「時刻」を、クライアント端末装置10のローカルの時刻を基に記録している場合、ローカル時刻を基の時刻から変更してしまうと、操作履歴の時刻も変わってしまう。 In the third embodiment, the computing device 20C performs a process of determining whether a dangerous URL has been accessed from another client terminal device 10 in the past by referring to the operation history. . However, if the "time" of the operation history is recorded based on the local time of the client terminal device 10, if the local time is changed from the original time, the time of the operation history will also change.

ローカル時刻の変更自体を禁止すれば、上述した問題の発生を防止することができるが、プログラムのテスト等、悪意のない目的での時刻変更を阻害し、利便性を損なうことにもなるため、一概に時刻の変更を禁止することは適切ではない。そのため、ローカル時刻の変更を許容しつつ、操作履歴の正しい時刻を取得できるような手段が必要となる。そこで、クライアント端末装置10のローカル時刻が変更された際、演算装置10Cは、変更前と変更後の時間差を記憶して、その差(オフセット)を操作履歴に記録しておく。時間差(オフセット)を操作履歴に記録する例を、図11に示す。図11は、操作履歴の一例を示す図である。 Prohibiting changes to the local time itself can prevent the above-mentioned problems from occurring, but it also prevents time changes for non-malicious purposes, such as program testing, and impairs convenience. It is not appropriate to prohibit time changes in general. Therefore, there is a need for a means that can obtain the correct time in the operation history while allowing the local time to be changed. Therefore, when the local time of the client terminal device 10 is changed, the arithmetic device 10C stores the time difference before and after the change, and records the difference (offset) in the operation history. FIG. 11 shows an example of recording the time difference (offset) in the operation history. FIG. 11 is a diagram showing an example of an operation history.

図12は、サーバ装置20の処理を示すフローチャートである。なお、図12のフローチャートにおいて図8に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、この処理ステップに係る説明は省略する。 FIG. 12 is a flowchart showing the processing of the server device 20. Note that in the flowchart of FIG. 12, the same processing steps as those shown in FIG. 8 are given the same step numbers, and a description of these processing steps will be omitted.

ステップS-801において、日付「2020/11/18」、時刻「11:00:00」に、PC名「PC-C」がアクセスしたURL「http://aaa.com」が、演算装置20Cによって危険であるWebサイトであると判定したとする。演算装置20Cは、以前に他のクライアント端末装置10にて同一のURL「http://aaa.com」にアクセスしたかどうかを判定するために、記憶装置20Bに記憶されている全てのクライアント端末装置10にて記録された操作履歴を参照する(S-1201)。 In step S-801, the URL "http://aaa.com" accessed by the PC name "PC-C" on the date "2020/11/18" and the time "11:00:00" is Assume that the website is determined to be dangerous. The computing device 20C checks all the client terminals stored in the storage device 20B in order to determine whether the same URL "http://aaa.com" has been previously accessed by another client terminal device 10. Refer to the operation history recorded in the device 10 (S-1201).

演算装置20Cは、オフセットの値を用いた時刻の再計算を行う(S-1202)。たとえば、図11のレコード1101には、「PC-A」が日付「2020/11/19」時刻「14:00:00」に「http://aaa.com」へアクセスした操作履歴が存在するが、時刻のオフセットには、この操作履歴が本来の時刻から48時間進んだものであることが記録されているため、オフセットを加味して時刻を再計算すると、日付「2020/11/17」、時刻「14:00:00」となる。 The arithmetic device 20C recalculates the time using the offset value (S-1202). For example, in record 1101 in Figure 11, there is an operation history in which "PC-A" accessed "http://aaa.com" on date "2020/11/19" and time "14:00:00". However, the time offset records that this operation history is 48 hours ahead of the original time, so if you recalculate the time by taking the offset into account, the date will be "2020/11/17" , the time becomes "14:00:00".

演算装置20Cは、ステップS-1202にて再計算された時刻を適用し、過去に該当のURL「http://aaa.com」にアクセスした履歴があるか否かを判定する(S-1203)。たとえば、図11のレコード1101は、ステップS-1202にて再計算された日付「2020/11/17」、時刻「14:00:00」に、「PC-A」において、「http://aaa.com」にアクセスがあったことが確認できる。 The computing device 20C applies the time recalculated in step S-1202 and determines whether there is a history of accessing the URL "http://aaa.com" in the past (S-1203 ). For example, the record 1101 in FIG. 11 is "http://" on "PC-A" on the date "2020/11/17" and the time "14:00:00" recalculated in step S-1202. It can be confirmed that ``aaa.com'' was accessed.

演算装置20Cは、他のクライアント端末装置10によるアクセスが確認されない場合(S-1203のNO)、何もせずに処理をステップS-803へ移行する。アクセスが確認された場合(S-1203のYES)、演算装置20Cは、該当クライアント端末装置10(たとえば、「PC-A」)に対して、ウイルススキャンまたは隔離命令を送信する(S-1204)。 If access by another client terminal device 10 is not confirmed (NO in S-1203), the computing device 20C does nothing and shifts the process to step S-803. If access is confirmed (S-1203: YES), the computing device 20C sends a virus scan or isolation command to the corresponding client terminal device 10 (for example, "PC-A") (S-1204) .

たとえば、図11の操作履歴の場合、「PC-A」による該当URL「http://aaa.com」へのアクセスが確認されたため、演算装置20Cは、「PC-A」に対してウイルススキャンなどの命令を発行する。従って、「PC-A」に対しても、ウイルススキャン命令を出すなどの対処を行うことができる。 For example, in the case of the operation history in FIG. 11, since access to the corresponding URL "http://aaa.com" by "PC-A" has been confirmed, the computing device 20C performs a virus scan on "PC-A". Issue instructions such as: Therefore, it is possible to take measures such as issuing a virus scan command for "PC-A" as well.

上述したように、クライアント端末装置10においてローカル時刻が変更された場合でも、変更された時刻のオフセットの値を操作履歴に記録しておくことで、第三の実施形態と同様な対処を行うことができる。 As described above, even if the local time is changed in the client terminal device 10, the same measures as in the third embodiment can be taken by recording the offset value of the changed time in the operation history. Can be done.

[第五の実施形態]
本実施形態では、ハッシュ値を用いることによって、潜伏しているマルウェアが存在するクライアント端末装置を発見して対処する処理について説明する。なお、本実施形態の動作の大部分が第一の実施形態ないし第四の実施形態の動作と共通するため、ここでは、第一の実施形態ないし第四の実施形態と異なる動作についてのみ説明し、共通の動作については説明を省略する。
[Fifth embodiment]
In this embodiment, a process of discovering and dealing with a client terminal device in which latent malware exists by using a hash value will be described. Note that since most of the operations of this embodiment are the same as those of the first to fourth embodiments, only the operations that are different from the first to fourth embodiments will be explained here. , description of common operations will be omitted.

第三及び第四の実施形態では、演算装置20Cが操作履歴を参照することによって、危険なWebサイトに対して、過去に他のクライアント端末装置10からのアクセスが存在したかどうかを判定する処理を行っていた。本実施形態では、クライアント端末装置10からパケットを送信したプログラム(クライアント端末装置10上で動作し、ネットワークI/F10Dおよびネットワーク30を介して、リクエストパケットを外部に送信するプログラムのハッシュ値を、クライアント固有の情報として、図3に示すS-306~S-308の操作にて作成する、クライアント固有の情報を伝達するパケットを介して、クライアント端末装置10からサーバ装置20へ伝達する。また、操作履歴に、パケットを送信したプログラム(通信のリクエストを行ったプログラム)のハッシュ値を記録する。 In the third and fourth embodiments, the processing device 20C refers to the operation history to determine whether a dangerous website has been accessed from another client terminal device 10 in the past. was going on. In this embodiment, the hash value of the program that transmitted the packet from the client terminal device 10 (the program that operates on the client terminal device 10 and transmits the request packet to the outside via the network I/F 10D and the network 30) is transmitted to the client terminal device 10. The unique information is transmitted from the client terminal device 10 to the server device 20 via a packet that transmits client-specific information created by the operations S-306 to S-308 shown in FIG. The hash value of the program that sent the packet (the program that made the communication request) is recorded in the history.

操作履歴にハッシュ値を付加した例として、図13を示す。図13は、操作履歴の一例を示す図である。図9および図11に表される操作履歴と同様の意味を持つが、図11に加えて、通信のリクエストを行ったプログラムのハッシュ値が記録されている。ハッシュ値は、クライアントプログラム10Fによって、プログラムのバイナリの値をキーとして、SHA-1やSHA-256といったアルゴリズムによって算出され、その後操作履歴として記憶装置10Bに記録される。 FIG. 13 shows an example in which a hash value is added to the operation history. FIG. 13 is a diagram showing an example of an operation history. It has the same meaning as the operation history shown in FIGS. 9 and 11, but in addition to FIG. 11, the hash value of the program that made the communication request is recorded. The hash value is calculated by the client program 10F using an algorithm such as SHA-1 or SHA-256 using the binary value of the program as a key, and is then recorded in the storage device 10B as an operation history.

レコード1301には、ハッシュ値として「AAAAAA...」という値が記録されているが、これは、ハッシュ値「 AAAAAA...」のプログラムが通信リクエストを行ったことを表している。また、レコード1301とレコード1302のハッシュの値が「 AAAAAA...」で一致しているが、これは、2つの通信リクエストが、別々のクライアント端末装置10(PC-A、PC-C)から発せられているにも拘らず、全く同一のプログラムから行われたことを表している。 In the record 1301, the value "AAAAAA..." is recorded as a hash value, which indicates that the program with the hash value "AAAAAA..." has made the communication request. Also, the hash values of records 1301 and 1302 match as "AAAAAA...", which means that the two communication requests are from different client terminal devices 10 (PC-A, PC-C). Despite the fact that they are being issued, it indicates that they were carried out by the exact same program.

図14は、サーバ装置20の処理を示すフローチャートである。以下では、一例として、図13に示す操作履歴が記録されているものとして説明を行う。 FIG. 14 is a flowchart showing the processing of the server device 20. The following description will be made assuming that the operation history shown in FIG. 13 is recorded as an example.

まず、ステップS-801において、演算装置20Cが、あるクライアント端末装置10がアクセスしようとしたURL(たとえば、「http://01234.com」)が危険であると判定したとする。以下では、日付「2020/11/21」時刻「16:00:00」に、「PC-X」から、ハッシュ値「AAAAAA...」のプログラムが、「http://01234.com」というURLに対してアクセスを行ったものとして説明する。 First, assume that in step S-801, the arithmetic device 20C determines that a URL (for example, "http://01234.com") that a certain client terminal device 10 attempts to access is dangerous. Below, on the date "2020/11/21" and the time "16:00:00", a program with hash value "AAAAAA..." is sent from "PC-X" to "http://01234.com". The following explanation assumes that a URL has been accessed.

その後、演算装置20Cは、記憶装置20Bに記録されている全てのクライアント端末装置10にて記録された操作履歴を参照する(S-1401)。 After that, the computing device 20C refers to the operation history recorded in all the client terminal devices 10 recorded in the storage device 20B (S-1401).

次に、クライアント装置10およびサーバ装置20は、図3および図4の処理を行い、クライアントの特定(ハッシュ値)を行う(S-802)。次に、演算装置20Cは、ステップS-1401にて参照した操作履歴の中から、S-802で取得したハッシュ値と同一のハッシュ値を持つプログラムによる通信が存在するかどうかを判定する(S-1402)。 Next, the client device 10 and the server device 20 perform the processes shown in FIGS. 3 and 4 to identify the client (hash value) (S-802). Next, the arithmetic unit 20C determines from the operation history referred to in step S-1401 whether there is communication by a program having the same hash value as the hash value obtained in S-802 (S -1402).

過去に同一のハッシュ値を持つプログラムによる通信が存在する場合(ステップS-1402のYES)、危険なURL(「http://01234.com)へアクセスしたものと全く同一のプログラムが存在するということになる。図13に示す操作履歴の場合、URL「http://01234.com」に対しては過去にアクセスした痕跡が無いが、ハッシュ値「AAAAAA...」による通信は、操作履歴のレコード1301とレコード1302の2件が該当する。 If there has been communication by a program with the same hash value in the past (YES in step S-1402), it is determined that there is a program that is exactly the same as the one that accessed the dangerous URL ("http://01234.com"). In the case of the operation history shown in Figure 13, there is no trace of the URL "http://01234.com" being accessed in the past, but the communication using the hash value "AAAAAA..." Two records, record 1301 and record 1302, correspond to this.

仮に、ハッシュ値「 AAAAAA...」のプログラムがマルウェアである場合、操作履歴に記憶されているURL「http://aaa.com」および「http://ddd.com」が危険ではないと判定されていたとしても、これらは未知のC&Cサーバなどの危険なサイトである可能性が高い。従って、PC名「PC-A」とPC名「PC-C」にも、既に同じマルウェアが侵入していることがわかるため、演算装置20Cから、これらのクライアント端末装置10に対して、ウイルススキャンまたは隔離命令を送信する(S-1403)。 If the program with the hash value "AAAAAA..." is malware, even if the URLs "http://aaa.com" and "http://ddd.com" stored in the operation history are determined to be not dangerous, there is a high possibility that they are dangerous sites such as unknown C&C servers. Therefore, since it is clear that the same malware has already infiltrated PCs named "PC-A" and "PC-C," the computing device 20C sends a virus scan or quarantine command to these client terminal devices 10 (S-1403).

上述したように、ハッシュ値を用いることで、危険なURLにアクセスすることなく潜伏しているマルウェアが存在するクライアント端末装置を発見し、そのクライアント端末装置に対しても対処を行うことができる。 As described above, by using the hash value, it is possible to discover a client terminal device that has hidden malware without accessing a dangerous URL, and take countermeasures against that client terminal device.

[第六の実施形態]
本実施形態では、ユーザアカウントを用いることによって、危険なWebサイトへアクセスを行おうとした同一ユーザによる、他のクライアント端末装置でのログインを制限する処理について説明する。
[Sixth embodiment]
In this embodiment, a process will be described in which, by using a user account, the same user who attempts to access a dangerous website is restricted from logging in on another client terminal device.

第一の実施形態では、クライアント端末装置10から送信されるHTTPリクエストのメッセージヘッダに、クライアント固有の情報として、クライアント端末装置10のコンピュータ名を付加することで、危険なWebサイトへのアクセスを行おうとしたクライアント端末装置10を特定し、ネットワークから隔離する等の処置を行った。しかし、クライアント端末装置10に対して何らかの処置を施したとしても、そのクライアント端末装置10を使用したユーザが別のクライアント端末装置10を使用した場合、同じような危険なWebサイトに接続を試みる可能性がある。そこで、本実施形態では、演算装置10Cが、クライアント固有の情報として、ログインしているユーザを示す情報である、ユーザアカウント(ユーザ名)を付加することにより、サーバ装置20は、危険なWebサイトへのアクセス時にクライアント端末装置10にログインしていたユーザアカウントを特定でき、特定したユーザアカウントを用いて、同一のユーザによるクライアント端末装置10へのログインを制限することができる。 In the first embodiment, the computer name of the client terminal device 10 is added as client-specific information to the message header of the HTTP request sent from the client terminal device 10, thereby allowing access to a dangerous website. The client terminal device 10 that attempted to do so was identified and measures such as isolating it from the network were taken. However, even if some action is taken on the client terminal device 10, if the user who used that client terminal device 10 uses another client terminal device 10, there is a possibility that the user may attempt to connect to a similar dangerous website. There is sex. Therefore, in the present embodiment, the computing device 10C adds a user account (user name), which is information indicating the logged-in user, as client-specific information, so that the server device 20 can access dangerous websites. The user account that was logged in to the client terminal device 10 at the time of access can be identified, and the identified user account can be used to restrict logins to the client terminal device 10 by the same user.

図15は、情報処理システムの構成例を示すシステム構成図である。図15に示す情報処理システムは、図1に示す情報処理システムの構成に加えて、サーバ装置60、複数のクライアント端末装置11を含む。サーバ装置60の大部分は、サーバ管理装置20と共通するため、以下では説明を省略し、異なる部分のみ説明する。なお、本実施形態の動作の大部分が第一の実施形態ないし第五の実施形態の動作と共通するため、ここでは、第一の実施形態ないし第五の実施形態と異なる動作についてのみ説明し、共通の動作については説明を省略する。 FIG. 15 is a system configuration diagram showing an example of the configuration of an information processing system. The information processing system shown in FIG. 15 includes a server device 60 and a plurality of client terminal devices 11 in addition to the configuration of the information processing system shown in FIG. Most of the server device 60 is the same as the server management device 20, so the explanation will be omitted below, and only the different parts will be explained. Note that since most of the operations of this embodiment are the same as those of the first to fifth embodiments, only the operations that are different from the first to fifth embodiments will be explained here. , description of common operations will be omitted.

サーバ装置60には、ネットワーク30内に存在するすべてのクライアント端末装置10のログインを管理する、ログイン管理プログラム60Fが格納されている。なお、ログイン管理プログラム60Fと、サーバプログラム20Fは同一のサーバ装置上で実現する構成でもよい。 The server device 60 stores a login management program 60F that manages logins of all client terminal devices 10 existing within the network 30. Note that the login management program 60F and the server program 20F may be implemented on the same server device.

また、記憶装置60Bには、ネットワーク30内に存在するすべてのクライアント端末装置10のユーザアカウント(アカウント名)とログイン制限(許可/拒否)が対応付けられたアカウント管理テーブルが記録されている。図17に、アカウント管理テーブルの一例を示す。アカウント管理テーブルは、後述するように、危険なWebサイトにアクセスしたユーザアカウントを特定することで記録される。なお、アカウント管理テーブルは、管理者によって記録されてもよい。ログインを管理するログイン管理プログラム60Fは、演算装置60Cによる制御に従って適宜メモリ60EのRAMにロードされ、演算装置60Cによる処理対象となる。 Further, the storage device 60B records an account management table in which user accounts (account names) of all the client terminal devices 10 existing in the network 30 are associated with login restrictions (permit/deny). FIG. 17 shows an example of an account management table. The account management table is recorded by identifying user accounts that have accessed dangerous websites, as will be described later. Note that the account management table may be recorded by an administrator. The login management program 60F that manages login is appropriately loaded into the RAM of the memory 60E under the control of the arithmetic device 60C, and is processed by the arithmetic device 60C.

また、本実施形態では、クライアント端末装置10にログインを行う際、図16に示す処理が行われる。図16は、ログイン制限を示したシーケンス図である。任意のクライアント端末装置10において、ユーザによってログインが試みられたことをクライアント装置10の演算装置10Cが検知する(S-1601)。 Furthermore, in this embodiment, when logging in to the client terminal device 10, the process shown in FIG. 16 is performed. FIG. 16 is a sequence diagram showing login restrictions. In any client terminal device 10, the computing device 10C of the client device 10 detects that a user attempts to log in (S-1601).

演算装置10Cは、ネットワークI/F10Dおよびネットワーク30を介して、サーバ装置60に、ログインが可能かどうかの問い合わせを行う(S-1602)。また、問い合わせの際には、ログインしようとしているユーザアカウントも一緒に送信されるものとする。 The computing device 10C makes an inquiry to the server device 60 via the network I/F 10D and the network 30 as to whether login is possible (S-1602). In addition, when making an inquiry, the user account that the user is trying to log in to is also sent together.

問い合わせを受け取った演算装置60Cは、記憶装置60Bに記憶されているアカウント管理テーブルに基づいて、ロードしたユーザアカウントと、問い合わせに含まれるユーザアカウントとを比較し、ログイン可能かどうかを判定する(S-1603)。 Upon receiving the inquiry, the computing device 60C compares the loaded user account with the user account included in the inquiry based on the account management table stored in the storage device 60B, and determines whether login is possible (S -1603).

演算装置60Cは、問い合わせ元のクライアント端末装置10に、判定の結果(ログインの許可または拒否)の返答を返す(S-1604)。クライアント端末装置10の演算装置10Cは、受信した判定結果に基づいて、ログインの許可/拒否を行う。たとえば、図17に示すように、userAからのログインは許可され、userBからのログインは拒否される、ということになる。 The computing device 60C returns a response of the determination result (login permission or denial) to the client terminal device 10 that made the inquiry (S-1604). The arithmetic device 10C of the client terminal device 10 permits/rejects login based on the received determination result. For example, as shown in FIG. 17, login from userA is permitted, and login from userB is denied.

あるユーザが、危険なWebサイトへのアクセスを行ったとする(図8のステップS-801にてYESと判定されたとする)。上述したように、本実施形態では、演算装置10Cにより、リクエストパケットにログインしているユーザアカウントが付加されているため、演算装置20Cは、リクエストを行ったユーザアカウントを特定できる。そこで、演算装置20Cは、ネットワークI/F20Dおよびネットワーク30を介し、サーバ装置60の記憶装置60Bに記録されているアカウント管理テーブルの、危険なWebサイトへのアクセスを行ったユーザのユーザアカウントに対応するログイン制限を「拒否」と記録する。 Assume that a certain user accesses a dangerous website (assuming that the determination in step S-801 in FIG. 8 is YES). As described above, in this embodiment, since the computing device 10C adds the logged-in user account to the request packet, the computing device 20C can identify the user account that made the request. Therefore, the computing device 20C, via the network I/F 20D and the network 30, corresponds to the user account of the user who accessed the dangerous website in the account management table recorded in the storage device 60B of the server device 60. Record the login restriction as "denied".

上述したように、危険なWebサイトへのアクセスを試みたユーザが、別のクライアント端末装置からログインしようとした際に、そのログインを禁止することができる。これにより、同一ユーザによる危険なWebサイトへのアクセスを抑止することができる。 As described above, when a user who attempts to access a dangerous website attempts to log in from another client terminal device, that login can be prohibited. This makes it possible to prevent the same user from accessing dangerous websites.

[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(たとえば、ASIC)によっても実現可能である。


[Other embodiments]
The present invention provides a system or device with a program that implements one or more functions of the embodiments described above via a network or a storage medium, and one or more processors in a computer of the system or device reads and executes the program. This can also be achieved by processing. It can also be realized by a circuit (for example, an ASIC) that realizes one or more functions.


Claims (18)

情報処理システムであって、
クライアント端末装置と、情報機器と、サーバ装置とを有し、
前記サーバ装置は、
前記情報機器を介して前記クライアント端末装置からリクエストパケットを受信する第一の受信手段と、
前記第一の受信手段にて受信したリクエストパケットに、特定のパケットの宛先を示す情報が含まれるか否かを判定する第一の判定手段と、
前記第一の判定手段にて特定のパケットの宛先を示す情報が含まれると判定された場合、特定の情報を付加したパケットを、前記情報機器を介して前記クライアント端末装置に送信する第一の送信手段と
を備え、
前記クライアント端末装置は、
前記情報機器を介して前記サーバ装置からパケットを受信する第二の受信手段と、
前記第二の受信手段にて受信したパケットに、前記特定の情報が含まれるか否かを判定する第二の判定手段と、
前記第二の判定手段にて特定の情報が含まれると判定された場合、パケットにクライアント固有の情報を付加して、前記サーバ装置に前記情報機器を介して送信する第二の送信手段と
を備え、
前記サーバ装置は、さらに、
前記情報機器を介して前記クライアント端末から送信されたパケットを受信する第三の受信手段と、
前記第三の受信手段にて受信したパケットから、前記クライアント固有の情報を抽出する抽出手段と
を備えることを特徴とする情報処理システム。
An information processing system,
It has a client terminal device, an information device, and a server device,
The server device includes:
first receiving means for receiving a request packet from the client terminal device via the information device;
first determining means for determining whether the request packet received by the first receiving means includes information indicating a destination of a specific packet;
If the first determining means determines that information indicating the destination of the specific packet is included, the first determining means transmits the packet with the specific information added to the client terminal device via the information device. and a transmission means,
The client terminal device includes:
second receiving means for receiving packets from the server device via the information device;
a second determining means for determining whether or not the specific information is included in the packet received by the second receiving means;
If the second determining means determines that specific information is included, a second transmitting means adds client-specific information to the packet and transmits the packet to the server device via the information device. Prepare,
The server device further includes:
third receiving means for receiving packets transmitted from the client terminal via the information device;
An information processing system comprising: extraction means for extracting the client-specific information from the packet received by the third reception means.
前記サーバ装置は、プロキシサーバであることを特徴とする請求項1に記載の情報処理システム。 The information processing system according to claim 1, wherein the server device is a proxy server. 前記情報機器は、ルータ、ファイアウォール、またはUTMであることを特徴とする請求項1または2に記載の情報処理システム。 3. The information processing system according to claim 1, wherein the information device is a router, a firewall, or a UTM. 前記クライアント固有の情報は、前記クライアント端末装置を示す情報、ユーザを示す情報、及び前記パケットを送信したプログラムを示す情報のいずれか、または組み合わせであることを特徴とする請求項1に記載の情報処理システム。 The information according to claim 1, wherein the client-specific information is any one or a combination of information indicating the client terminal device, information indicating a user, and information indicating a program that transmitted the packet. processing system. 前記サーバ装置は、更に、前記クライアント固有の情報である前記パケットを送信したプログラムを示す情報が、所定のプログラムを示す情報か否かを判定する第三の判定手段を備えることを特徴とする請求項1に記載の情報処理システム。 The server device further comprises third determining means for determining whether information indicating a program that transmitted the packet, which is information unique to the client, is information indicating a predetermined program. The information processing system according to item 1. 前記監視手段は、前記クライアント端末装置の操作を監視し、前記クライアント端末装置は、更に、前記監視手段にて監視された操作を操作履歴として出力する出力手段を備えることを特徴とする請求項1に記載の情報処理システム。 1. The monitoring means monitors the operation of the client terminal device, and the client terminal device further includes an output means for outputting the operations monitored by the monitoring means as an operation history. The information processing system described in . 前記操作履歴には、前記パケットの宛先を示す情報が含まれ、
前記サーバ装置は、更に、前記操作履歴に特定のパケットの宛先を示す情報があるか否かを判定する第四の判定手段を備えることを特徴とする請求項6に記載の情報処理システム。
The operation history includes information indicating a destination of the packet,
7. The information processing system according to claim 6, wherein the server device further includes fourth determining means for determining whether or not the operation history includes information indicating a destination of a specific packet.
前記操作履歴には、前記クライアント端末装置の変更前の時刻と、変更後の時刻との差であるオフセットの値が含まれ、
前記サーバ装置は、更に、前記オフセットの値に基づいて、前記クライアント端末装置の時刻を算出する算出手段を備え、
前記第四の判定手段は、前記算出手段にて算出された時刻に基づいて判定することを特徴とする請求項7に記載の情報処理システム。
The operation history includes an offset value that is the difference between the time before the change and the time after the change of the client terminal device,
The server device further includes calculation means for calculating the time of the client terminal device based on the value of the offset,
8. The information processing system according to claim 7, wherein the fourth determining means makes the determination based on the time calculated by the calculating means.
前記操作履歴には、前記パケットを送信したプログラムのハッシュ値が含まれ、
前記サーバ装置は、更に、前記操作履歴に特定のハッシュ値があるか否かを判定する第五の判定手段を備えることを特徴とする請求項6に記載の情報処理システム。
The operation history includes a hash value of a program that sent the packet,
7. The information processing system according to claim 6, wherein the server device further includes a fifth determination unit that determines whether or not the operation history includes a specific hash value.
前記クライアント固有の情報は、ユーザを示す情報であり、
前記抽出手段は、前記第三の受信手段にて受信したパケットから、前記ユーザを示す情報を抽出し、前記ユーザを示す情報と、前記クライアント端末装置へのログインの制限に関する情報とが対応付けられたテーブルに、該ユーザを示す情報を記録することを特徴とする請求項1に記載の情報処理システム。
The client-specific information is information indicating a user,
The extracting means extracts information indicating the user from the packet received by the third receiving means, and associates the information indicating the user with information regarding restrictions on login to the client terminal device. 2. The information processing system according to claim 1, wherein information indicating the user is recorded in the table.
前記クライアント端末装置は、
前記クライアント端末装置へのログインが試みられた時に、前記クライアント端末装置のユーザを示す情報を含めた情報を、前記サーバ装置に送信し、
前記サーバ装置は、
前記テーブルに基づいて、受信した前記クライアント端末装置のユーザを示す情報における前記クライアント端末装置へのログインの制限を判定することを特徴とする請求項10に記載の情報処理システム。
The client terminal device includes:
transmitting information including information indicating a user of the client terminal device to the server device when a login to the client terminal device is attempted;
The server device includes:
The information processing system according to claim 10, wherein a restriction on login to the client terminal device in the received information indicating the user of the client terminal device is determined based on the table.
前記特定の情報は、前記第一の判定手段の判定に関する情報、ウイルススキャン命令、及び転送命令のいずれか、または組み合わせであることを特徴とする請求項1に記載の情報処理システム。 2. The information processing system according to claim 1, wherein the specific information is any one or a combination of information regarding the determination by the first determining means, a virus scan command, and a transfer command. 情報機器を介してクライアント端末装置からリクエストパケットを受信する第一の受信手段と、
前記第一の受信手段にて受信したリクエストパケットに、特定のパケットの宛先を示す情報が含まれるか否かを判定する第一の判定手段と、
前記第一の判定手段にて特定のパケットの宛先を示す情報が含まれると判定された場合、特定の情報を付加したパケットを、前記情報機器を介して前記クライアント端末装置に送信する送信手段と、
前記情報機器を介して前記クライアント端末から送信されたパケットを受信する第二の受信手段と、
前記第二の受信手段にて受信したパケットから、クライアント固有の情報を抽出する抽出手段と
を備えることを特徴とするサーバ装置。
a first receiving means for receiving a request packet from a client terminal device via the information device;
first determining means for determining whether the request packet received by the first receiving means includes information indicating a destination of a specific packet;
a transmitting means for transmitting a packet to which specific information is added, to the client terminal device via the information device when the first determining means determines that information indicating a destination of the specific packet is included; ,
second receiving means for receiving packets transmitted from the client terminal via the information device;
and extracting means for extracting client-specific information from the packet received by the second receiving means.
情報機器を介してクライアント端末装置からリクエストパケットを受信する第一の受信工程と、
前記第一の受信工程にて受信したリクエストパケットに、特定のパケットの宛先を示す情報が含まれるか否かを判定する第一の判定工程と、
前記第一の判定工程にて特定のパケットの宛先を示す情報が含まれると判定された場合、特定の情報を付加したパケットを、前記情報機器を介して前記クライアント端末装置に送信する送信工程と、
前記情報機器を介して前記クライアント端末から送信されたパケットを受信する第二の受信工程と、
前記第二の受信工程にて受信したパケットから、クライアント固有の情報を抽出する抽出工程と
を備えることを特徴とするサーバ装置の制御方法。
a first receiving step of receiving a request packet from the client terminal device via the information device;
a first determination step of determining whether the request packet received in the first reception step includes information indicating a destination of a specific packet;
If it is determined in the first determination step that information indicating the destination of the specific packet is included, a transmission step of transmitting the packet with the specific information added to the client terminal device via the information device; ,
a second receiving step of receiving a packet transmitted from the client terminal via the information device;
A method for controlling a server device, comprising: an extraction step of extracting client-specific information from the packet received in the second reception step.
コンピュータを、
情報機器を介してクライアント端末装置からリクエストパケットを受信する第一の受信手段と、
前記第一の受信手段にて受信したリクエストパケットに、特定のパケットの宛先を示す情報が含まれるか否かを判定する第一の判定手段と、
前記第一の判定手段にて特定のパケットの宛先を示す情報が含まれると判定された場合、特定の情報を付加したパケットを、前記情報機器を介して前記クライアント端末装置に送信する送信手段と、
前記情報機器を介して前記クライアント端末から送信されたパケットを受信する第二の受信手段と、
前記第二の受信手段にて受信したパケットから、クライアント固有の情報を抽出する抽出手段
として機能させるためのプログラム。
computer,
a first receiving means for receiving a request packet from a client terminal device via the information device;
first determining means for determining whether the request packet received by the first receiving means includes information indicating a destination of a specific packet;
If the first determining means determines that information indicating a destination of the specific packet is included, transmitting means transmits the packet with the specific information added to the client terminal device via the information device; ,
second receiving means for receiving packets transmitted from the client terminal via the information device;
A program for functioning as an extraction means for extracting client-specific information from a packet received by the second reception means.
情報機器を介してサーバ装置からパケットを受信する受信手段と、
前記受信手段にて受信したパケットに、特定の情報が含まれるか否かを判定する判定手段と、
前記判定手段にて特定の情報が含まれると判定された場合、パケットにクライアント固有の情報を付加して、前記サーバ装置に前記情報機器を介して送信する送信手段と
を備えることを特徴とするクライアント端末装置。
receiving means for receiving packets from the server device via the information device;
determining means for determining whether specific information is included in the packet received by the receiving means;
If the determination means determines that specific information is included, the information processing apparatus further comprises a transmission means for adding client-specific information to the packet and transmitting the packet to the server device via the information device. Client terminal device.
情報機器を介してサーバ装置からパケットを受信する受信工程と、
前記受信工程にて受信したパケットに、特定の情報が含まれるか否かを判定する判定工程と、
前記判定工程にて特定の情報が含まれると判定された場合、パケットにクライアント固有の情報を付加して、前記サーバ装置に前記情報機器を介して送信する送信工程と
を備えることを特徴とするクライアント端末装置の制御方法。
a receiving step of receiving the packet from the server device via the information device;
a determination step of determining whether specific information is included in the packet received in the receiving step;
If it is determined in the determination step that specific information is included, the packet includes a sending step of adding client-specific information to the packet and transmitting the packet to the server device via the information device. A method of controlling a client terminal device.
コンピュータを、
情報機器を介してサーバ装置からパケットを受信する受信手段と、
前記受信手段にて受信したパケットに、特定の情報が含まれるか否かを判定する判定手段と、
前記判定手段にて特定の情報が含まれると判定された場合、パケットにクライアント固有の情報を付加して、前記サーバ装置に前記情報機器を介して送信する送信手段
として機能させるためのプログラム。

computer,
receiving means for receiving packets from the server device via the information device;
determining means for determining whether specific information is included in the packet received by the receiving means;
If the determination means determines that specific information is included, the program adds client-specific information to the packet and causes the program to function as a transmission means for transmitting the packet to the server device via the information device.

JP2022143060A 2022-09-08 2022-09-08 Information processing system, server device, server device control method, client terminal device, client terminal device control method and program Pending JP2024038784A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022143060A JP2024038784A (en) 2022-09-08 2022-09-08 Information processing system, server device, server device control method, client terminal device, client terminal device control method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022143060A JP2024038784A (en) 2022-09-08 2022-09-08 Information processing system, server device, server device control method, client terminal device, client terminal device control method and program

Publications (1)

Publication Number Publication Date
JP2024038784A true JP2024038784A (en) 2024-03-21

Family

ID=90308897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022143060A Pending JP2024038784A (en) 2022-09-08 2022-09-08 Information processing system, server device, server device control method, client terminal device, client terminal device control method and program

Country Status (1)

Country Link
JP (1) JP2024038784A (en)

Similar Documents

Publication Publication Date Title
US10542006B2 (en) Network security based on redirection of questionable network access
US10298610B2 (en) Efficient and secure user credential store for credentials enforcement using a firewall
US10382436B2 (en) Network security based on device identifiers and network addresses
US10425387B2 (en) Credentials enforcement using a firewall
JP6106780B2 (en) Malware analysis system
US9774601B2 (en) Security of computer resources
US9985994B2 (en) Enforcing compliance with a policy on a client
US8875220B2 (en) Proxy-based network access protection
US8539582B1 (en) Malware containment and security analysis on connection
US7966643B2 (en) Method and system for securing a remote file system
US20190081952A1 (en) System and Method for Blocking of DNS Tunnels
US8839424B2 (en) Cross-site request forgery protection
CN111295640B (en) Fine-grained firewall policy enforcement using session App ID and endpoint process ID correlation
Hindocha et al. Malicious threats and vulnerabilities in instant messaging
US11095682B1 (en) Mitigating phishing attempts
Dey et al. Warezmaster and Warezclient: An implementation of FTP based R2L attacks
JP6635029B2 (en) Information processing apparatus, information processing system, and communication history analysis method
JP2024038784A (en) Information processing system, server device, server device control method, client terminal device, client terminal device control method and program
JP7444596B2 (en) information processing system
CN114072798A (en) Inline malware detection
US11770361B1 (en) Cobalt strike beacon HTTP C2 heuristic detection
US12003485B2 (en) Outbound/inbound lateral traffic punting based on process risk
US12003537B2 (en) Mitigating phishing attempts
Balasubramanian Web application vulnerabilities and their countermeasures
Both Managing the Firewall