JP6930862B2 - Client tampering judgment system and method - Google Patents
Client tampering judgment system and method Download PDFInfo
- Publication number
- JP6930862B2 JP6930862B2 JP2017110757A JP2017110757A JP6930862B2 JP 6930862 B2 JP6930862 B2 JP 6930862B2 JP 2017110757 A JP2017110757 A JP 2017110757A JP 2017110757 A JP2017110757 A JP 2017110757A JP 6930862 B2 JP6930862 B2 JP 6930862B2
- Authority
- JP
- Japan
- Prior art keywords
- client
- electronic devices
- electronic device
- identification value
- server
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 43
- 230000015654 memory Effects 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 8
- 238000009434 installation Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 239000000284 extract Substances 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Description
以下の説明は、クライアント改ざん判断システムおよび方法に関する。 The following description relates to a client tampering determination system and method.
サーバ−クライアント構造のオンライン環境にてサービス提供のためにユーザに配布されるクライアントファイルの場合、本来の動作目的とは異なるように修正または変更されて、開発者が本来意図した動作とは異なるようにクライアントプログラムが動作することがある。このようなクライアントプログラムの改ざんは、システム全体の完全性とサービス全体の信頼性に影響を与えかねない。 In the case of a client file distributed to users for service provision in a server-client structure online environment, it may be modified or changed to be different from the original operation purpose, and it may be different from the original intended operation of the developer. The client program may work. Such tampering with the client program can affect the integrity of the entire system and the reliability of the entire service.
従来技術では、このようなクライアントファイル(またはクライアントプログラム)の改ざんの有無を判断するために、クライアントファイルの配布前に、原本ファイルに対するハッシュ(hash)のような第1識別値を予め生成してサーバが管理する過程が含まれなければならなかった。例えば、クライアントの実行時点に、クライアントが含む保安モジュールがクライアントファイルに対する第2識別値を生成し、サーバが管理する第1識別値を受信して第2識別値と比較する過程によってクライアントファイル(またはクライアントプログラム)の改ざんの有無を判断し、クライアントが改ざんされたものであると判断された場合には、クライアントの実行を遮断することができる。例えば、特許文献1は、クライアント端末、監視サーバ、および監視領域の改ざん防止方法に関するものであって、監視サーバから提供される情報と実際のデータとを比較してメモリまたはファイルの改ざんの有無を判断するクライアント端末について開示している。しかし、このような従来技術は、識別値に対する最終判別をクライアントが実行するという点において、改ざんの有無に対する判断の信頼度が高くない。 In the prior art, in order to determine whether or not such a client file (or client program) has been tampered with, a first identification value such as a hash for the original file is generated in advance before distribution of the client file. The process managed by the server had to be included. For example, at the time of execution of the client, the security module included in the client generates a second identification value for the client file, receives the first identification value managed by the server, and compares it with the second identification value. It is possible to determine whether or not the client program) has been tampered with, and if it is determined that the client has been tampered with, the execution of the client can be blocked. For example, Patent Document 1 relates to a method for preventing tampering with a client terminal, a monitoring server, and a monitoring area, and compares the information provided by the monitoring server with actual data to determine whether or not the memory or file has been tampered with. The client terminal to be judged is disclosed. However, in such a conventional technique, the reliability of the determination regarding the presence or absence of falsification is not high in that the client executes the final determination for the identification value.
さらに他の従来技術として、識別値の比較をサーバで処理してクライアントのサービスアクセスを遮断する方法がある。例えば、特許文献2は、ダウンロードした応用プログラムの改ざん判断システムに関するものであって、応用プログラムに記録された認証キーとサーバ内に格納された認証キーとをサーバが互いに比較することで端末機の接続を許容する技術について開示している。しかし、このような従来技術は、第1識別値がクライアントファイルの配布前に生成されてサーバで管理されなければならないという問題を抱えている。 As yet another conventional technique, there is a method in which the comparison of identification values is processed by the server to block the service access of the client. For example, Patent Document 2 relates to a tampering determination system for a downloaded application program, and the server compares the authentication key recorded in the application program with the authentication key stored in the server so that the terminal can be used. It discloses the technology that allows connection. However, such a conventional technique has a problem that the first identification value must be generated and managed by the server before distribution of the client file.
クライアントの配布前に識別値が予め生成および管理されなければならない過程を経なくても、サーバでクライアントファイル(またはプログラム)の改ざんの有無を判断できるようにし、クライアントプログラムに対する有用性と信頼性を改善することができる、クライアント改ざん判断システムおよび方法を提供する。 Allows the server to determine if a client file (or program) has been tampered with, without having to go through a process in which the identification value must be generated and managed in advance before distribution of the client, making it useful and reliable for the client program. Provide a client tampering determination system and method that can be improved.
サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのクライアント改ざん判断方法であって、クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信する段階、および前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する段階を含む、クライアント改ざん判断方法を提供する。 A method for determining client tampering in a server-client environment, which is a method for determining client tampering, in which the identification value of the client program is received from each of a plurality of electronic devices in which the client program is installed, and the plurality of electronic devices. Provided is a client tampering determination method including a step of determining a tampered electronic device among the plurality of electronic devices by comparison between identification values received from the devices.
サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのクライアント改ざん判断システムであって、コンピュータで読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信し、前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する、クライアント改ざん判断システムを提供する。 A client tampering determination system for a server that determines client tampering in a server-client environment, including at least one processor implemented to execute computer-readable instructions, said at least one processor being a client. The identification value of the client program is received from each of the plurality of electronic devices in which the program is installed, and the client is tampered with among the plurality of electronic devices by comparing the identification values received from the plurality of electronic devices. It provides a client tampering judgment system that determines the electronic device.
コンピュータによって実現される電子機器と結合してクライアント改ざん判断方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムであって、前記クライアント改ざん判断方法は、前記電子機器で、前記電子機器にインストールされたクライアントプログラムの識別値を抽出する段階、および前記抽出された識別値をサーバに送信する段階を含み、前記サーバで、複数の電子機器から受信された識別値を比較し、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する、コンピュータプログラムを提供する。 A computer program stored in a computer-readable recording medium in order to execute a client tampering determination method in combination with an electronic device realized by a computer, wherein the client tampering determination method is the electronic device. The server includes a step of extracting the identification value of the client program installed in the electronic device and a step of transmitting the extracted identification value to the server, and the server compares the identification values received from a plurality of electronic devices. Provided is a computer program in which a client determines an electronic device that has been tampered with among the plurality of electronic devices.
クライアントの配布前に識別値が予め生成および管理されなければならない過程を経なくても、サーバでクライアントファイル(またはプログラム)の改ざんの有無を判断できるようにすることにより、クライアントプログラムに対する有用性と信頼性を改善することができる。 Usefulness for client programs by allowing the server to determine if a client file (or program) has been tampered with without having to go through the process of pre-generating and managing identification values prior to client distribution. Reliability can be improved.
以下、実施形態について、添付の図面を参照しながら詳しく説明する。 Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。
FIG. 1 is a diagram showing an example of a network environment according to an embodiment of the present invention. The network environment of FIG. 1 shows an example including a plurality of
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、コンピュータ、ノート型パソコン、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットPCなどがある。一例として、図1では、電子機器1(110)の例としてスマートフォンの形状を示しているが、本発明の実施形態では、実質的に、無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な機器のうちの1つを意味してよい。
The plurality of
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでもよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
The communication method is not limited, and not only the communication method utilizing the communication network (for example, mobile communication network, wired Internet, wireless Internet, broadcasting network) that can be included in the
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第1サービスを提供するシステムであってよく、サーバ160も、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第2サービスを提供するシステムであってよい。より具体的な例として、サーバ150は、第1サービスとしてサーバ−クライアント環境のゲームサービスをクライアントに提供するシステムであってよく、サーバ160は、第1サービスのためのクライアントプログラムのファイルをクライアントに提供するシステムであってよい。
Each of the
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図2では、電子機器に対する例として電子機器1(110)の内部構成について説明し、サーバ150の内部構成について説明する。他の電子機器120、130、140やサーバ160も、上述した電子機器1(110)またはサーバ150と同一または類似の内部構成を有してもよい。
FIG. 2 is a block diagram for explaining the internal configurations of the electronic device and the server according to the embodiment of the present invention. In FIG. 2, the internal configuration of the electronic device 1 (110) will be described as an example for the electronic device, and the internal configuration of the
電子機器1(110)とサーバ150は、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでよい。メモリ211、221は、コンピュータで読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永久大容量記憶装置(permanent mass storage device)を含んでよい。ここで、ROMと永久大容量記憶装置は、メモリ211、221と分離する別の永久記憶装置として含まれてもよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電気機器1(110)にインストールされ駆動するブラウザや、特定のサービスの提供のために電子機器1(110)にインストールされたアプリケーションなどのためのコード)が格納されてよい。このようなソフトウェア構成要素は、メモリ211、221とは別のコンピュータで読み取り可能な記録媒体からロードされてよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール213、223を通じてメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システムがネットワーク170を介して提供するファイルによってインストールされるプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてよい。
Electronic device 1 (110) and
プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。例えば、プロセッサ212、222は、メモリ211、221のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
通信モジュール213、223は、ネットワーク170を介して電子機器1(110)とサーバ150とが互いに通信するための機能を提供してもよいし、電子機器1(110)および/またはサーバ150が他の電子機器(一例として、電子機器2(120))または他のサーバ(一例として、サーバ160)と通信するための機能を提供してもよい。一例として、電子機器1(110)のプロセッサ212がメモリ211のような記録装置に格納されたプログラムコードにしたがって生成した要求が、通信モジュール213の制御にしたがってネットワーク170を介してサーバ150に伝達されてよい。これとは逆に、サーバ150のプロセッサ222の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール223とネットワーク170を経て電子機器1(110)の通信モジュール213を通じて電子機器1(110)に受信されてもよい。例えば、通信モジュール213を通じて受信したサーバ150の制御信号や命令などは、プロセッサ212やメモリ211に伝達されてもよく、コンテンツやファイルなどは、電子機器1(110)がさらに含むことのできる格納媒体(上述した永久記憶装置)に格納されてもよい。
The
入力/出力インタフェース214は、入力/出力装置215とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、出力装置は、ディスプレイのような装置を含んでよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置215は、電子機器1(110)と1つの装置で構成されてもよい。また、サーバ150の入力/出力インタフェース224は、サーバ150と連結するかサーバ150が含むことのできる入力または出力のための装置(図示せず)とのインタフェースのための手段であってよい。より具体的な例として、電子機器1(110)のプロセッサ212は、メモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器2(120)が提供するデータを利用して構成されるサービス画面やコンテンツが、入力/出力インタフェース214を通じてディスプレイに表示されてよい。
The input /
また、他の実施形態において、電子機器1(110)およびサーバ150は、図2の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器1(110)は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器1(110)がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラ、物理的な各種ボタン、タッチパネルを利用したボタン、入力/出力ポート、振動のための振動器などの多様な構成要素が電子機器1(110)にさらに含まれるように実現されてよい。
Also, in other embodiments, the electronic device 1 (110) and the
図3は、本発明の一実施形態における、クライアントの改ざんを判断するシステム全体の例を示した図である。図3は、ネットワーク170を介して通信可能なN(前記Nは、2以上の自然数)個の端末310とサービスサーバ320、およびファイル配布サーバ330を示している。
FIG. 3 is a diagram showing an example of the entire system for determining falsification of a client in one embodiment of the present invention. FIG. 3 shows N terminals 310 (where N is a natural number of 2 or more), a
図3に示されたN個の端末310それぞれは、図2を参照しながら説明した電子機器1(110)のように実現されてよく、サービスサーバ320およびファイル配布サーバ330は、図2を参照しながら説明したサーバ150のように実現されてよい。サービスサーバ320とファイル配布サーバ330は、それぞれ互いに異なる運営者の互いに異なるシステムによって実現されてもよいが、実施形態によっては、同じ運営者の同じシステムによって実現されることも可能である。
Each of the
N個の端末310それぞれは、サービスサーバ320が提供する第1サービスの提供を受けるために、ファイル配布サーバ330が提供する第2サービスを利用してクライアントプログラムのインストールおよび実行のためのファイルを受信してクライアントプログラムをインストールしてもよい。
Each of the
このとき、N個の端末310は、クライアントプログラムの制御にしたがい、クライアントプログラムの識別値を、クライアントプログラムのインストールおよび実行のためのファイルやクライアントプログラムの実行のためにN個の端末310のメモリにロードされたデータから特定の値を抽出してよく、抽出された特定の値や特定の値のハッシュ値を識別値としてサービスサーバ320に送信してよい。ここで、サービスサーバ320には、クライアント改ざん判断システムが実現されてよく、N個の端末310から送信される識別値を利用してN個の端末310のうちでクライアントが改ざんされた電子機器を決定してよい。
At this time, the
例えば、識別値は、クライアントプログラムが正常に実行された場合には変更されないファイルまたはメモリの値であってよく、抽出される値は、予め設定されてよい。より具体的な例として、第1サービスがゲームサービスであると仮定しよう。さらに、ゲームサービスにおいて、すべてのユーザのキャラクタに対して等しく設定される最大体力値が「100」であり、変更されない値であると仮定しよう。N個の端末310は、このような最大体力値として設定された値を抽出し、識別値としてサービスサーバ320に送信してよい。クライアントが改ざんされていない場合には、N個の端末310はすべて、値「100」を識別値としてサービスサーバ320に送信するようになる。このとき、サービスサーバ320は、N個の端末310すべてが等しい値を識別値として送信したため、クライアントが改ざんされた端末は存在しないと判断してよい。
For example, the identification value may be a file or memory value that does not change when the client program is executed normally, and the extracted value may be preset. As a more specific example, let's assume that the first service is a game service. Further, let's assume that in the game service, the maximum physical strength value set equally for all user characters is "100", which is a value that does not change. The
もし、N個の端末310のうち、第1端末311が最大体力値を「200」に変更したとすると、サービスサーバ320は、「100」の値を有するN−1個の識別値と「200」の値を有する1個の識別値を受信するようになり、「200」の値を有する1個の識別値を送信した第1端末311でクライアントが改ざんされたと判断してよい。
If the
したがって、サービスサーバ320は、クライアントプログラムのための識別値を予め格納および管理する必要がなく、N個の端末310から識別値を周期的に受信するか、必要に応じて選択的に識別値をN個の端末310に要請して受信することにより、N個の端末310うちでクライアントが改ざんされた端末を判断できるようになる。または、N個の端末310でクライアントプログラムが実行されるたびに識別値を抽出してサービスサーバ320に送信することも可能である。言い換えれば、サービスサーバ320は、N個の端末310それぞれに対する識別値を予め生成、格納、および管理するための費用を節約できるようになる。これだけでなく、クライアント側で改ざんの判断のための判別を行うのではなく、サービスサーバ320でクライアント側の改ざんの有無を判断するため、クライアントの改ざんに関してより高い信頼性が得られるようになる。
Therefore, the
以下では、識別値を抽出するためのより具体的な方法と、識別値を利用してクライアントの改ざんを判断するためのより具体的な方法について説明する。 In the following, a more specific method for extracting the identification value and a more specific method for determining the falsification of the client by using the identification value will be described.
図4は、本発明の一実施形態における、ファイルから識別値を抽出する例を示した図である。図4は、複数のクライアント410とサーバ420を示している。複数のクライアント410は、図3を参照しながら説明した複数の端末310にインストールされたクライアントプログラムに対応してよく、サーバ420は、図3を参照しながら説明したサービスサーバ320に対応してよい。
FIG. 4 is a diagram showing an example of extracting an identification value from a file in one embodiment of the present invention. FIG. 4 shows a plurality of
このとき、複数のクライアント410それぞれは、複数の実行ファイル411と複数のデータファイル412を含んでよい。ここで、データファイルとは、クライアントに必要なデータを格納するためのすべての形態のファイルを意味してよく、実行ファイルとは、拡張子「exe」、「dll」、「so」、「apk」などのように、クライアントのオペレーティングシステム(Operating System)上で実行可能なすべての形態のファイルを意味してよい。
At this time, each of the plurality of
複数のクライアント410それぞれは、周期的またはサーバ420の要請に応じて複数の実行ファイル411と複数のデータファイル412の全体または一部から識別値を抽出してよい。あるいは、複数のクライアント410それぞれが実行される時点に識別値を抽出することも可能である。
Each of the plurality of
例えば、識別値を抽出するための1つ以上のファイルが予め設定されていてよく、予め設定されたファイルから値を抽出するための項目(一例として、上述した最大体力値)または区間が予め設定されていてよい。複数のクライアント410それぞれは、特定の周期ごとまたはサーバ420から要請が受信されるたびに、予め設定されたファイルから予め設定された項目または区間の値を抽出して識別値としてサーバ420に送信してよい。ここで、ファイルから抽出される識別値は、該当のファイルを識別することのできる特定の位置のデータであってよい。例えば、該当のファイルでしか使用されることのできない特定の値が識別値として抽出されてよい。この場合、サーバ420は、識別値がどのファイルから抽出されたかを確認してよく、同じファイルから抽出された識別値を利用してクライアントの改ざんの有無を判断してよい。
For example, one or more files for extracting the identification value may be preset, and an item (for example, the maximum physical strength value described above) or an interval for extracting the value from the preset file is preset. May be done. Each of the plurality of
また、予め設定されるファイルや項目、または区間は、複数であってよい。この場合、識別値は、複数の値を含んでよい。他の実施形態において、識別値は、予め設定された項目または区間の値を繰り返して抽出した値を含んでもよい。また、識別値は、抽出された値のハッシュ値を含んでもよい。さらに他の実施形態において、識別値は、クライアントプログラムのためのファイル全体に対するハッシュ値を含んでもよい。 In addition, there may be a plurality of preset files, items, or sections. In this case, the identification value may include a plurality of values. In other embodiments, the identification value may include a value extracted repeatedly from a preset item or interval value. Further, the identification value may include a hash value of the extracted value. In yet other embodiments, the identification value may include a hash value for the entire file for the client program.
サーバ420は、N個のクライアント410からn(前記nは、N以下の自然数)個の識別値421を受信してよい。N個のクライアント410の中には、電源がオフ(off)になっていたり、ネットワーク170に接続することができないクライアント、または該当の端末で実行が不可能なクライアントが存在することがあるため、サーバ420が受信する識別値421の数はN以下になることがある。
The
改ざんされていないクライアントから受信される識別値は、同じ条件(一例として、同じオペレーティングシステム、同じクライアントプログラム、同じクライアントプログラムのバージョン)で等しい値を有する。しかし、改ざんされたクライアントから受信される識別値は、大部分の正常な識別値とは異なる値を有し得ることから、サーバ420は、識別値間の比較によってクライアントの改ざんを判断することができ、どのクライアントが改ざんされたかを把握することができるようになる。
The identification values received from the untampered client have equal values under the same conditions (for example, the same operating system, the same client program, the same client program version). However, since the identification value received from the tampered client may have a value different from most normal identification values, the
図5は、本発明の一実施形態における、メモリから識別値を抽出する例を示した図である。図5も、図4と同様に、N個のクライアント410とサーバ420を示している。
FIG. 5 is a diagram showing an example of extracting an identification value from a memory in one embodiment of the present invention. FIG. 5 also shows
本実施形態において、N個のクライアント410それぞれは、端末に格納されたファイルではなく、端末のメモリから識別値を抽出してよい。例えば、クライアント1(510)に対応する端末でクライアントプログラムが実行されると、クライアントプログラムの実行のためのコードやデータなどがメモリ520にロードされてよい。このとき、クライアント1(510)は、予め設定された項目や区間の値をメモリ520から抽出してよい。例えば、図4を参照しながら説明した実行ファイルの場合には、「.text」や「.rodata」のように、変更されずに固定された区間がメモリ520上にロードされることがある。この場合、クライアント1(510)は、該当の区間のデータがロードされたオフセット(offset)を利用して必要な値を探し出し、識別値として抽出してよい。
In the present embodiment, each of the
クライアントの改ざんは、ファイル自体に対する改ざんだけではなく、メモリ520上にロードされた特定の値を変更させる改ざんを含んでよい。この場合、サーバ420は、N個のクライアント410がメモリから抽出した識別値を受信し、識別値を比較することにより、クライアントに対するメモリの改ざんの有無を判断できるようになる。
Client tampering may include tampering with the file itself, as well as tampering with a particular value loaded in
図6は、本発明の一実施形態における、サーバで識別値によって分類されたクライアントの例を示した図である。図6の表600において、クライアント項目610にはクライアントが、識別値項目620にはクライアントに対応する識別値が、それぞれ示されている。図4および図5を参照しながら上述したサーバ420は、クライアントを識別値によって複数のグループに分類してよく、複数のグループに属するメンバーの数に基づいてクライアントの改ざんを判断してよい。
FIG. 6 is a diagram showing an example of clients classified by identification values on the server in one embodiment of the present invention. In Table 600 of FIG. 6, the
例えば、表600において、識別値「100」に対応するクライアント1、クライアント2、クライアント3、およびクライアント5が1つのグループ(以下、「グループ1」)に分類されてよく、識別値「200」に対応するクライアント4が他の1つのグループ(以下、「グループ3」)に分類されてよく、識別値「300」に対応するクライアント6が、さらに他の1つのグループ(以下、「グループ3」)に分類されてよい。この場合、サーバ420は、最も多くのメンバーを含むグループ1の識別値「100」を正常な識別値と判断してよく、グループ2に属するクライアント4とグループ3に属するクライアント6を、改ざんされたクライアントとして決定してよい。
For example, in Table 600, the client 1, the client 2, the client 3, and the client 5 corresponding to the identification value “100” may be classified into one group (hereinafter, “group 1”), and the identification value “200” may be used. The corresponding client 4 may be classified into another one group (hereinafter, “group 3”), and the client 6 corresponding to the identification value “300” is further one other group (hereinafter, “group 3”). It may be classified into. In this case, the
上述した例では、説明の便宜のために、6個のクライアントを例に挙げたが、サービスによっては、極めて多くのクライアントの識別値が比較される場合もある。例えば、1000個のクライアントのうち、998個のクライアントの識別値が等しければ、残りの2個のクライアントは改ざんされたものであると判断されてよい。 In the above example, six clients are given as an example for convenience of explanation, but depending on the service, the identification values of an extremely large number of clients may be compared. For example, if the identification values of 998 clients out of 1000 clients are equal, it may be determined that the remaining two clients have been tampered with.
また、実施形態によっては、最も少ないメンバーを含むグループに属するクライアントが、改ざんされたクライアントとして決定される場合もある。 Also, depending on the embodiment, the client belonging to the group containing the fewest members may be determined as the tampered client.
さらに、図6の表600に示すように、より正確な判断のために、クライアントは、識別値以外の他の条件によってさらに分類されることも可能である。図6の表600では、オペレーティングシステム項目630、アプリケーション種類項目640、アプリケーションバージョン項目650、および抽出対象項目660のように、多様な種類によってクライアントがさらに分類される例を示している。言い換えれば、上述した他の条件とは、該当の条件によって識別値が異なり得る条件を意味すると言える。例えば、識別値をどの対象(実行ファイル、データファイル、およびメモリ)から抽出したかによって識別値が異なることもあるし、アプリケーションのバージョンごとに設定される値が異なり得るために抽出される識別値も異なることもある。さらに、実施形態によっては、サーバ420が多数の互いに異なる種類のサービスに対するクライアントの改ざんを判断することも可能である。例えば、サーバ420が、第1ゲームに対応するサービスのためのクライアントと第2ゲームに対応するサービスのためのクライアントそれぞれに対する改ざんを判断するとする。この場合、サービスごとに識別値が異なり得るため、アプリケーションの種類によってもクライアントの分類が可能となる。
Further, as shown in Table 600 of FIG. 6, for more accurate judgment, clients can be further classified by conditions other than the discriminant value. Table 600 in FIG. 6 shows an example in which clients are further classified by various types, such as operating system item 630, application type item 640,
このように、サーバ420は、識別値が異なり得る条件のうちの少なくとも1つをさらに利用してクライアントをさらに分類することができ、分類されたクライアントの識別値の比較によって改ざんされたクライアントを決定することができる。
In this way, the
図7は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図8は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。 FIG. 7 is a block diagram showing an example of components that can be included in the processor of the server in one embodiment of the present invention, and FIG. 8 is a block diagram of what the server executes in one embodiment of the present invention. It is a flowchart which showed the example of the possible method.
サーバ150は、上述したサービスサーバ320またはサーバ420に対応してよく、図7に示すサーバ150のプロセッサ222は、本実施形態に係るクライアント改ざん判断システムを実現するための構成要素として、リーディング部710、識別値受信部720、および決定部730を含んでよい。このようなプロセッサ222およびプロセッサ222の構成要素は、図8のクライアント改ざん判断方法が含む段階810、820、830、831、832、833、834を実行するようにサーバ150を制御してよい。このとき、プロセッサ222およびプロセッサ222の構成要素は、メモリ221が含むオペレーティングシステムのコードや少なくとも1つのプログラムのコードによる命令(instruction)を実行するように実現されてよい。ここで、プロセッサ222の構成要素は、サーバ150に格納されたコードが提供する制御命令にしたがってプロセッサ222によって実行されるプロセッサ222の互いに異なる機能(different functions)の表現であってよい。例えば、プロセッサ222が上述した制御命令にしたがってメモリ221にロードされた命令を読み取るようにサーバ150を制御するプロセッサ222の機能的表現としてリーディング部710が使用されてよい。
The
段階810で、リーディング部710は、サーバ150の制御と関連する命令がロードされたメモリ221から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、後述する段階820、830、831、832、833、834をプロセッサ222が実行するように制御するための命令を含んでよい。
In
段階820で、識別値受信部720は、クライアントプログラムがインストールされた複数の電子機器それぞれから、クライアントプログラムの識別値を受信してよい。一例として、クライアントプログラムの識別値は、クライアントプログラムのインストールおよび実行のために電子機器に格納されたデータファイルまたは実行ファイルからクライアントプログラムによって抽出された値を含んでもよいし、抽出された値のハッシュ値を含んでもよい。他の例として、クライアントプログラムの識別値は、クライアントプログラムの実行のために電子機器のメモリにロードされたデータからクライアントプログラムによって抽出された値を含んでもよいし、抽出された値のハッシュ値を含んでもよい。このとき、識別値は、クライアントプログラムの正常実行時には変更されない、クライアントプログラムの固定された値を含んでよい。複数の電子機器それぞれは、周期的またはサーバ150からの要請に応じて識別値を抽出してもよいし、クライアントプログラムが実行されるたびに識別値を抽出してもよい。抽出された識別値は、サーバ150に送信されてよく、識別値受信部720は、複数の電子機器それぞれが送信した識別値を受信するようにサーバ150を制御してよい。
In
段階830で、決定部730は、複数の電子機器から受信された識別値間の比較により、複数の電子機器のうちでクライアントが改ざんされた電子機器を決定してよい。上述したように、改ざんされたクライアントが動作する電子機器から受信される識別値は、クライアントが正常に動作する電子機器から受信される識別値とは異なる値を含むことがある。したがって、決定部730は、このような特徴により、多数の等しい識別値とは異なる値を有する少数の識別値に基づいてクライアントが改ざんされた電子機器を決定してよい。
In
このために、決定部730は、図8に示された段階831〜834をさらに実行してよい。
To this end, the
段階831で、決定部730は、複数の電子機器にインストールされたクライアントプログラムの種類、クライアントプログラムのバージョン、および複数の電子機器のオペレーティングシステムのうちの少なくとも1つによって複数の電子機器を1次分類してよい。例えば、決定部730は、複数の電子機器のオペレーティングシステムによって複数の電子機器を1次分類してよい。このような電子機器の1次分類は、図6のオペレーティングシステム項目630、アプリケーション種類項目640、およびアプリケーションバージョン項目650によってクライアントが分類されることに対応してよい。
At
段階832で、決定部730は、識別値が抽出された対象によって複数の電子機器を2次分類してよい。ここで、対象は、電子機器に格納されたファイル(上述した実行ファイルおよびデータファイル)と電子機器のメモリを含んでよい。言い換えれば、決定部730は、特定の電子機器から受信された識別値が、実行ファイル、データファイル、およびメモリのうちのどこから抽出されたかによって複数の電子機器を2次分類してよい。このような電子機器の2次分類は、図6の抽出対象項目660によってクライアントが分類されることに対応してよい。
In step 832, the
段階833で、決定部730は、複数の電子機器を受信された識別値によって複数のグループに3次分類してよい。このような電子機器の3次分類は、図6の識別値項目620によってクライアントが分類されることに対応してよい。段階831が省略される場合には、段階832の分類が1次分類となってよく、段階833の分類が2次分類となってよい。また、段階832が省略される場合には、段階831の分類が1次分類となってよく、段階833の分類が2次分類となってよい。実施形態によっては、段階831と段階832がすべて省略される場合もある。例えば、抽出対象が実行ファイルとして固定されていれば、段階832は省略されてよい。また、電子機器のオペレーティングシステムやアプリケーションの種類/バージョンなどに関係なく、等しい値を識別値として利用する場合には、段階831は省略されてよい。言い換えれば、識別値としてどのような値を抽出して利用するかにより、段階831および段階832の実行の有無が決定されてよい。
At
段階834で、決定部730は、分類された複数のグループそれぞれに含まれた電子機器の数に基づき、複数のグループのうちの少なくとも1つのグループに属する電子機器のクライアントが改ざんされたと決定してよい。上述したように、同じ条件で正常に動作するクライアントプログラムから送信される大多数の識別値は等しい値を有するはずであるため、グループに含まれたメンバーの数に基づいてクライアントが改ざんされた電子機器が決定されてよい。例えば、決定部730は、複数のグループのうち、グループに属する電子機器の数が最も少ないグループの電子機器を、クライアントが改ざんされた電子機器として選択してよい。他の例として、決定部730は、同じ条件のグループのうち、グループに属する電子機器の数が最も多いグループを除いた残りのグループの電子機器を、クライアントが改ざんされた電子機器として選択してよい。
At
以下では、クライアントプログラムがインストールされた電子機器の観点からの実施形態について説明する。 Hereinafter, embodiments from the viewpoint of an electronic device in which a client program is installed will be described.
図9は、本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示したブロック図であり、図10は、本発明の一実施形態における、電子機器が実行することのできる方法の例を示したフローチャートである。 FIG. 9 is a block diagram showing an example of components that can be included in the processor of the electronic device according to the embodiment of the present invention, and FIG. 10 is a block diagram shown by the electronic device according to the embodiment of the present invention. It is a flowchart which showed the example of the possible method.
電子機器1(110)は、上述した複数の端末310のうちの1つ、またはN個のクライアント410のうちの1つのための装置に対応してよく、図9に示す電子機器1(110)のプロセッサ212は、本実施形態に係るクライアント改ざん判断システムを実現するための構成要素として、リーディング部910、識別値抽出部920、および識別値送信部930を含んでよい。このようなプロセッサ212およびプロセッサ212の構成要素は、図10のクライアント改ざん判断方法が含む段階1010〜1030を実行するように電子機器1(110)を制御してよい。このとき、プロセッサ212およびプロセッサ212の構成要素は、メモリ211が含むオペレーティングシステムのコードや少なくとも1つのプログラムのコードによる命令(instruction)を実行するように実現されてよい。ここで、プロセッサ212の構成要素は、電子機器1(110)に格納されたコードが提供する制御命令にしたがってプロセッサ212によって実行されるプロセッサ212の互いに異なる機能(different functions)の表現であってよい。例えば、プロセッサ212が上述した制御命令にしたがってメモリ211にロードされた命令を読み取るように電子機器1(110)を制御するプロセッサ212の機能的表現としてリーディング部910が使用されてよい。
The electronic device 1 (110) may correspond to a device for one of the plurality of
段階1010で、リーディング部910は、電子機器1(110)の制御と関連する命令がロードされたメモリ211から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、後述する段階820および830をプロセッサ212が実行するように制御するための命令を含んでよい。
In
段階1020で、識別値抽出部920は、電子機器1(110)にインストールされたクライアントプログラムの識別値を抽出してよい。例えば、識別値抽出部920は、電子機器1(110)の永久記憶装置に格納されたクライアントプログラムのためのファイル(実行ファイルおよび/またはデータファイル)にアクセスして識別値を抽出するか、クライアントプログラムのためのコードやデータがロードされたメモリ211にアクセスして識別値を抽出するように電子機器1(110)を制御してよい。
In
段階1030で、識別値送信部930は、抽出された識別値をサーバに送信してよい。ここで、サーバは、図7および図8を参照しながら説明したサーバ150に対応してよい。サーバ150で複数の電子機器から受信された識別値を利用してクライアントの改ざんを判断する方法については、既に詳しく説明したとおりであるため、繰り返される説明は省略する。
At
このように、本発明の実施形態によると、クライアントの配布前に識別値が予め生成および管理されなければならない過程を経なくても、サーバでクライアントファイル(またはプログラム)の改ざんの有無を判断できるようにすることで、クライアントプログラムに対する有用性と信頼性を改善することができる。 As described above, according to the embodiment of the present invention, the server can determine whether or not the client file (or program) has been tampered with without going through the process in which the identification value must be generated and managed in advance before distribution of the client. By doing so, the usefulness and reliability of the client program can be improved.
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)および前記OS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでもよい。また、並列プロセッサのような、他の処理構成も可能である。 The system or device described above may be implemented by a hardware component, a software component, or a combination of the hardware component and the software component. For example, the apparatus and components described in the embodiments include, for example, a processor, a controller, an ALU (arithmetic logic unit), a digital signal processor, a microprocessor, an FPGA (field programmable gate array), a PLU (programmable log unit), and a micro. It may be implemented utilizing one or more general purpose computers or special purpose computers, such as a processor or various devices capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on said OS. The processing device may also respond to the execution of the software, access the data, store, manipulate, process, and generate the data. For convenience of understanding, one processing device may be described as being used, but one of ordinary skill in the art may indicate that the processing device may include a plurality of processing elements and / or a plurality of types of processing elements. You can understand. For example, the processing device may include multiple processors or one processor and one controller. Other processing configurations, such as parallel processors, are also possible.
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置、または伝送される信号波に永久的または一時的に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてよい。 The software may include computer programs, code, instructions, or a combination of one or more of these, configuring the processing equipment to operate at will, or instructing the processing equipment independently or collectively. You may do it. The software and / or data may be interpreted on the basis of a processor or provide instructions or data to a processor of any kind of machine, component, physical device, virtual device, computer storage medium or device, or It may be permanently or temporarily embodied in the transmitted signal wave. The software is distributed on a networked computer system and may be stored or executed in a distributed state. The software and data may be stored on a recording medium readable by one or more computers.
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD−ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。 The method according to the embodiment may be realized in the form of program instructions that can be executed by various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and configured for the embodiment, or may be usable known to those skilled in the art of computer software. Examples of computer-readable recording media include hard disks, floppy (registered trademark) disks, magnetic media such as magnetic tapes, optical media such as CD-ROMs and DVDs, and floptic disks. Optical magnetic media such as, and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, etc. are included. Examples of program instructions include not only machine language code, such as those generated by a compiler, but also high-level language code, which is executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。 As described above, the embodiments have been described based on the limited embodiments and drawings, but those skilled in the art will be able to make various modifications and modifications from the above description. For example, the techniques described may be performed in a different order than the methods described, and / or components such as the systems, structures, devices, circuits described may be in a form different from the methods described. Appropriate results can be achieved even if they are combined or combined, or confronted or replaced by other components or equivalents.
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。 Therefore, even if the embodiments are different, they belong to the attached claims as long as they are equal to the claims.
110、120、130、140 電子機器
150、160 サーバ
170 ネットワーク
110, 120, 130, 140
Claims (18)
クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信する段階、および
前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する段階
を含む、クライアント改ざん判断方法。 A method for determining client tampering on a server in a server-client environment.
By the stage of receiving the identification value of the client program from each of the plurality of electronic devices in which the client program is installed and the comparison between the identification values received from the plurality of electronic devices, the client among the plurality of electronic devices A client tampering determination method, including the step of determining which electronic device has been tampered with.
前記複数の電子機器を前記受信された識別値によって複数のグループに分類する段階、および
前記分類された複数のグループそれぞれに含まれた電子機器の数に基づき、前記複数のグループのうちの少なくとも1つのグループに属する電子機器のクライアントが改ざんされたものと決定する段階
を含む、請求項1に記載のクライアント改ざん判断方法。 The stage at which the client determines the tampered electronic device is
At least one of the plurality of groups based on the step of classifying the plurality of electronic devices into a plurality of groups according to the received identification value and the number of electronic devices included in each of the plurality of classified groups. The client tampering determination method according to claim 1, which comprises a step of determining that a client of an electronic device belonging to one group has been tampered with.
前記識別値が抽出された対象によって前記複数の電子機器を分類する段階
をさらに含み、
前記対象は、電子機器に格納されたファイルおよび電子機器のメモリを含む、請求項5に記載のクライアント改ざん判断方法。 The stage at which the client determines the tampered electronic device is
It further includes the step of classifying the plurality of electronic devices according to the object from which the identification value is extracted.
The client tampering determination method according to claim 5, wherein the target includes a file stored in the electronic device and a memory of the electronic device.
前記識別値が抽出された対象によって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項6に記載のクライアント改ざん判断方法。 The stage of classifying into multiple groups according to the received identification value is
The client falsification determination method according to claim 6, wherein a plurality of electronic devices primaryly classified according to the target from which the identification value is extracted are secondarily classified according to the received identification value.
前記複数の電子機器にインストールされたクライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステム(Operating System:OS)によって前記複数の電子機器を分類する段階 をさらに含む、請求項5に記載のクライアント改ざん判断方法。 The stage at which the client determines the tampered electronic device is
A claim further comprising the steps of classifying the plurality of electronic devices according to the type of client program installed on the plurality of electronic devices, the version of the client program, and the operating system (OS) of the plurality of electronic devices. Item 5. The client tampering determination method according to Item 5.
前記クライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステムによって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項8に記載のクライアント改ざん判断方法。 The stage of classifying into multiple groups according to the received identification value is
8. The eighth aspect of the invention, wherein the plurality of electronic devices primaryly classified according to the type of the client program, the version of the client program, and the operating systems of the plurality of electronic devices are secondarily classified according to the received identification value. Client tampering judgment method.
決定する段階は、
前記複数のグループのうち、グループに属する電子機器の数が最も少ないグループの電子機器を、クライアントが改ざんされた電子機器として選択する、請求項5に記載のクライアント改ざん判断方法。 The stage at which a client of an electronic device belonging to at least one group determines that it has been tampered with is
The client tampering determination method according to claim 5, wherein the client selects the electronic device of the group having the smallest number of electronic devices belonging to the group as the tampered electronic device among the plurality of groups.
コンピュータで読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、
前記少なくとも1つのプロセッサは、
クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信し、
前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する、
クライアント改ざん判断システム。 A server-client tampering judgment system that determines client tampering in a server-client environment.
Includes at least one processor implemented to execute computer-readable instructions
The at least one processor
The identification value of the client program is received from each of the plurality of electronic devices in which the client program is installed, and the identification value of the client program is received.
By comparing the identification values received from the plurality of electronic devices, the client determines the tampered electronic device among the plurality of electronic devices.
Client tampering judgment system.
前記複数の電子機器を前記受信された識別値によって複数のグループに分類し、
前記分類された複数のグループそれぞれに含まれた電子機器の数に基づき、前記複数のグループのうちの少なくとも1つのグループに属する電子機器のクライアントを改ざんされたものと決定する、請求項11に記載のクライアント改ざん判断システム。 The at least one processor allows the client to determine which electronic device has been tampered with.
The plurality of electronic devices are classified into a plurality of groups according to the received identification value, and the plurality of electronic devices are classified into a plurality of groups.
11. A claim, wherein a client of an electronic device belonging to at least one of the plurality of groups is determined to have been tampered with based on the number of electronic devices included in each of the plurality of classified groups. Client tampering judgment system.
前記識別値が抽出された対象によって前記複数の電子機器を分類し、
前記対象は、電子機器に格納されたファイルおよび電子機器のメモリを含む、請求項12に記載のクライアント改ざん判断システム。 The at least one processor
The plurality of electronic devices are classified according to the target from which the identification value is extracted, and the electronic devices are classified.
The client tampering determination system according to claim 12, wherein the object includes a file stored in the electronic device and a memory of the electronic device.
前記識別値が抽出された対象によって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項13に記載のクライアント改ざん判断システム。 The at least one processor
The client falsification determination system according to claim 13, wherein a plurality of electronic devices primaryly classified according to the object from which the identification value has been extracted are secondarily classified according to the received identification value.
前記複数の電子機器にインストールされたクライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステムによって前記複数の電子機器を分類する、請求項12に記載のクライアント改ざん判断システム。 The at least one processor
The client tampering determination system according to claim 12, wherein the plurality of electronic devices are classified according to the type of the client program installed on the plurality of electronic devices, the version of the client program, and the operating systems of the plurality of electronic devices.
前記クライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステムによって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項15に記載のクライアント改ざん判断システム。 The at least one processor
15. The 15. 6. Client tampering judgment system.
前記複数のグループのうち、グループに属する電子機器の数が最も少ないグループの電子機器を、クライアントが改ざんされた電子機器として選択する、請求項12に記載のクライアント改ざん判断システム。 The at least one processor
The client tampering determination system according to claim 12, wherein the client selects the electronic device of the group having the smallest number of electronic devices belonging to the group as the tampered electronic device among the plurality of groups.
クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信する機能、およびA function to receive the identification value of the client program from each of a plurality of electronic devices in which the client program is installed, and
前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する機能A function in which a client determines an electronic device that has been tampered with among the plurality of electronic devices by comparing the identification values received from the plurality of electronic devices.
を実現させる、クライアント改ざん判断プログラム。A client tampering judgment program that realizes.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160071618A KR101761512B1 (en) | 2016-06-09 | 2016-06-09 | Method and system for determining falsification of client program |
KR10-2016-0071618 | 2016-06-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017220236A JP2017220236A (en) | 2017-12-14 |
JP6930862B2 true JP6930862B2 (en) | 2021-09-01 |
Family
ID=59422621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017110757A Active JP6930862B2 (en) | 2016-06-09 | 2017-06-05 | Client tampering judgment system and method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6930862B2 (en) |
KR (1) | KR101761512B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7013921B2 (en) * | 2018-02-19 | 2022-02-01 | 株式会社デンソー | Verification terminal |
CN110086780B (en) | 2019-03-26 | 2021-11-02 | 北京百度网讯科技有限公司 | Method and device for processing tampered transaction based on Ether house and storage medium |
-
2016
- 2016-06-09 KR KR1020160071618A patent/KR101761512B1/en active IP Right Grant
-
2017
- 2017-06-05 JP JP2017110757A patent/JP6930862B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR101761512B1 (en) | 2017-07-25 |
JP2017220236A (en) | 2017-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10481875B2 (en) | Generation of an application from template | |
US20220045911A1 (en) | Internet of things device discovery and configuration | |
KR20200052957A (en) | Security control method and computer system | |
JP7016205B2 (en) | Methods and systems for providing message-based notifications | |
JP7548686B2 (en) | Method, system, and program for controlling IoT devices using messenger bots | |
US11461457B2 (en) | Utilizing models to generate identifiers that identify and provide authentication for machine learning models | |
CN114631077B (en) | Automation technology for detecting use of software applications in a computing environment using configuration objects | |
KR102542631B1 (en) | Method and system for verifying blockchain data stored in a storage format different from blockchain | |
US20220253297A1 (en) | Automated deployment of changes to applications on a cloud computing platform | |
JP6930862B2 (en) | Client tampering judgment system and method | |
JP7079664B2 (en) | Cheat application identification method and system | |
KR102382889B1 (en) | Method and system for detecting web shell using process information | |
US11573785B2 (en) | Predicting code vulnerabilities using machine learning classifier models trained on internal analysis states | |
KR102097579B1 (en) | Method and system for extracting abnormal road data from road network based on path search failure log | |
WO2023160001A1 (en) | Operation framework of algorithm applet, data processing method and device, storage medium, and computer program product | |
JP6581155B2 (en) | Unnecessary file detection device, unnecessary file detection method and unnecessary file detection program | |
CN102378964B (en) | In-process intermediary to create virtual processes | |
JP6339249B2 (en) | Method and system for personalizing notification times in content services | |
KR101745821B1 (en) | Method and system for secure booting | |
US20210374231A1 (en) | Method and system for detecting hooking using clustering api information | |
KR102348312B1 (en) | Method and system for detecting forgery of mobile application using collecting user identifier and signature | |
US20240095337A1 (en) | Security compliance for modular code | |
CN117200968A (en) | Information processing method and device, electronic equipment and computer readable storage medium | |
KR20210039712A (en) | User card management method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200601 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210301 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210316 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210426 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20210426 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20210412 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210727 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210812 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6930862 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |