JP2017220236A - クライアント改ざん判断システムおよび方法 - Google Patents

クライアント改ざん判断システムおよび方法 Download PDF

Info

Publication number
JP2017220236A
JP2017220236A JP2017110757A JP2017110757A JP2017220236A JP 2017220236 A JP2017220236 A JP 2017220236A JP 2017110757 A JP2017110757 A JP 2017110757A JP 2017110757 A JP2017110757 A JP 2017110757A JP 2017220236 A JP2017220236 A JP 2017220236A
Authority
JP
Japan
Prior art keywords
client
electronic device
electronic devices
value
identification value
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.)
Granted
Application number
JP2017110757A
Other languages
English (en)
Other versions
JP6930862B2 (ja
Inventor
チョン・サンミン
Sang Min Chung
チョン・サンフン
Sanghun Jeon
チョン・ミョンジュ
Myungju Chung
オ・ワンジン
Wang Jin Oh
アン・ソンボム
Sungbeom Ahn
ソ・ドンピル
Dongpil Seo
ハン・グァンヒ
Kwang-Hee Han
キム・テウ
Tae Woo Kim
イム・ソンヨル
Seong Yeol Lim
リュ・ジュヒョン
Joo Hyeon Ryu
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.)
Z Intermediate Global Corp
Original Assignee
Line Corp
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 Line Corp filed Critical Line Corp
Publication of JP2017220236A publication Critical patent/JP2017220236A/ja
Application granted granted Critical
Publication of JP6930862B2 publication Critical patent/JP6930862B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】クライアント改ざん判断システムおよび方法を提供する。【解決手段】サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのクライアント改ざん判断方法は、クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信する段階、および前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する段階を含む。【選択図】図1

Description

以下の説明は、クライアント改ざん判断システムおよび方法に関する。
サーバ−クライアント構造のオンライン環境にてサービス提供のためにユーザに配布されるクライアントファイルの場合、本来の動作目的とは異なるように修正または変更されて、開発者が本来意図した動作とは異なるようにクライアントプログラムが動作することがある。このようなクライアントプログラムの改ざんは、システム全体の完全性とサービス全体の信頼性に影響を与えかねない。
従来技術では、このようなクライアントファイル(またはクライアントプログラム)の改ざんの有無を判断するために、クライアントファイルの配布前に、原本ファイルに対するハッシュ(hash)のような第1識別値を予め生成してサーバが管理する過程が含まれなければならなかった。例えば、クライアントの実行時点に、クライアントが含む保安モジュールがクライアントファイルに対する第2識別値を生成し、サーバが管理する第1識別値を受信して第2識別値と比較する過程によってクライアントファイル(またはクライアントプログラム)の改ざんの有無を判断し、クライアントが改ざんされたものであると判断された場合には、クライアントの実行を遮断することができる。例えば、特許文献1は、クライアント端末、監視サーバ、および監視領域の改ざん防止方法に関するものであって、監視サーバから提供される情報と実際のデータとを比較してメモリまたはファイルの改ざんの有無を判断するクライアント端末について開示している。しかし、このような従来技術は、識別値に対する最終判別をクライアントが実行するという点において、改ざんの有無に対する判断の信頼度が高くない。
さらに他の従来技術として、識別値の比較をサーバで処理してクライアントのサービスアクセスを遮断する方法がある。例えば、特許文献2は、ダウンロードした応用プログラムの改ざん判断システムに関するものであって、応用プログラムに記録された認証キーとサーバ内に格納された認証キーとをサーバが互いに比較することで端末機の接続を許容する技術について開示している。しかし、このような従来技術は、第1識別値がクライアントファイルの配布前に生成されてサーバで管理されなければならないという問題を抱えている。
韓国公開特許第10−2013−0078093号 韓国公開特許第10−2006−0125077号 PCT/KR2014/010167 US2014/0019540A1 US2013/0332543A1 US2013/0260893A1
クライアントの配布前に識別値が予め生成および管理されなければならない過程を経なくても、サーバでクライアントファイル(またはプログラム)の改ざんの有無を判断できるようにし、クライアントプログラムに対する有用性と信頼性を改善することができる、クライアント改ざん判断システムおよび方法を提供する。
サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのクライアント改ざん判断方法であって、クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信する段階、および前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する段階を含む、クライアント改ざん判断方法を提供する。
サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのクライアント改ざん判断システムであって、コンピュータで読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信し、前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する、クライアント改ざん判断システムを提供する。
コンピュータによって実現される電子機器と結合してクライアント改ざん判断方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムであって、前記クライアント改ざん判断方法は、前記電子機器で、前記電子機器にインストールされたクライアントプログラムの識別値を抽出する段階、および前記抽出された識別値をサーバに送信する段階を含み、前記サーバで、複数の電子機器から受信された識別値を比較し、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する、コンピュータプログラムを提供する。
クライアントの配布前に識別値が予め生成および管理されなければならない過程を経なくても、サーバでクライアントファイル(またはプログラム)の改ざんの有無を判断できるようにすることにより、クライアントプログラムに対する有用性と信頼性を改善することができる。
本発明の一実施形態における、ネットワーク環境の例を示した図である。 本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。 本発明の一実施形態における、クライアントの改ざんを判断するシステム全体の例を示した図である。 本発明の一実施形態における、ファイルから識別値を抽出する例を示した図である。 本発明の一実施形態における、メモリから識別値を抽出する例を示した図である。 本発明の一実施形態における、サーバで識別値によって分類されたクライアントの例を示した図である。 本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図である。 本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。 本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示したブロック図である。 本発明の一実施形態における、電子機器が実行することのできる方法の例を示したフローチャートである。
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。
複数の電子機器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つを意味してよい。
通信方式が限定されることはなく、ネットワーク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つ以上を含んでもよいが、これらに限定されることはない。
サーバ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サービスのためのクライアントプログラムのファイルをクライアントに提供するシステムであってよい。
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図2では、電子機器に対する例として電子機器1(110)の内部構成について説明し、サーバ150の内部構成について説明する。他の電子機器120、130、140やサーバ160も、上述した電子機器1(110)またはサーバ150と同一または類似の内部構成を有してもよい。
電子機器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にロードされてよい。
プロセッサ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)がさらに含むことのできる格納媒体(上述した永久記憶装置)に格納されてもよい。
入力/出力インタフェース214は、入力/出力装置215とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、出力装置は、ディスプレイのような装置を含んでよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置215は、電子機器1(110)と1つの装置で構成されてもよい。また、サーバ150の入力/出力インタフェース224は、サーバ150と連結するかサーバ150が含むことのできる入力または出力のための装置(図示せず)とのインタフェースのための手段であってよい。より具体的な例として、電子機器1(110)のプロセッサ212は、メモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器2(120)が提供するデータを利用して構成されるサービス画面やコンテンツが、入力/出力インタフェース214を通じてディスプレイに表示されてよい。
また、他の実施形態において、電子機器1(110)およびサーバ150は、図2の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器1(110)は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器1(110)がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラ、物理的な各種ボタン、タッチパネルを利用したボタン、入力/出力ポート、振動のための振動器などの多様な構成要素が電子機器1(110)にさらに含まれるように実現されてよい。
図3は、本発明の一実施形態における、クライアントの改ざんを判断するシステム全体の例を示した図である。図3は、ネットワーク170を介して通信可能なN(前記Nは、2以上の自然数)個の端末310とサービスサーバ320、およびファイル配布サーバ330を示している。
図3に示されたN個の端末310それぞれは、図2を参照しながら説明した電子機器1(110)のように実現されてよく、サービスサーバ320およびファイル配布サーバ330は、図2を参照しながら説明したサーバ150のように実現されてよい。サービスサーバ320とファイル配布サーバ330は、それぞれ互いに異なる運営者の互いに異なるシステムによって実現されてもよいが、実施形態によっては、同じ運営者の同じシステムによって実現されることも可能である。
N個の端末310それぞれは、サービスサーバ320が提供する第1サービスの提供を受けるために、ファイル配布サーバ330が提供する第2サービスを利用してクライアントプログラムのインストールおよび実行のためのファイルを受信してクライアントプログラムをインストールしてもよい。
このとき、N個の端末310は、クライアントプログラムの制御にしたがい、クライアントプログラムの識別値を、クライアントプログラムのインストールおよび実行のためのファイルやクライアントプログラムの実行のためにN個の端末310のメモリにロードされたデータから特定の値を抽出してよく、抽出された特定の値や特定の値のハッシュ値を識別値としてサービスサーバ320に送信してよい。ここで、サービスサーバ320には、クライアント改ざん判断システムが実現されてよく、N個の端末310から送信される識別値を利用してN個の端末310のうちでクライアントが改ざんされた電子機器を決定してよい。
例えば、識別値は、クライアントプログラムが正常に実行された場合には変更されないファイルまたはメモリの値であってよく、抽出される値は、予め設定されてよい。より具体的な例として、第1サービスがゲームサービスであると仮定しよう。さらに、ゲームサービスにおいて、すべてのユーザのキャラクタに対して等しく設定される最大体力値が「100」であり、変更されない値であると仮定しよう。N個の端末310は、このような最大体力値として設定された値を抽出し、識別値としてサービスサーバ320に送信してよい。クライアントが改ざんされていない場合には、N個の端末310はすべて、値「100」を識別値としてサービスサーバ320に送信するようになる。このとき、サービスサーバ320は、N個の端末310すべてが等しい値を識別値として送信したため、クライアントが改ざんされた端末は存在しないと判断してよい。
もし、N個の端末310のうち、第1端末311が最大体力値を「200」に変更したとすると、サービスサーバ320は、「100」の値を有するN−1個の識別値と「200」の値を有する1個の識別値を受信するようになり、「200」の値を有する1個の識別値を送信した第1端末311でクライアントが改ざんされたと判断してよい。
したがって、サービスサーバ320は、クライアントプログラムのための識別値を予め格納および管理する必要がなく、N個の端末310から識別値を周期的に受信するか、必要に応じて選択的に識別値をN個の端末310に要請して受信することにより、N個の端末310うちでクライアントが改ざんされた端末を判断できるようになる。または、N個の端末310でクライアントプログラムが実行されるたびに識別値を抽出してサービスサーバ320に送信することも可能である。言い換えれば、サービスサーバ320は、N個の端末310それぞれに対する識別値を予め生成、格納、および管理するための費用を節約できるようになる。これだけでなく、クライアント側で改ざんの判断のための判別を行うのではなく、サービスサーバ320でクライアント側の改ざんの有無を判断するため、クライアントの改ざんに関してより高い信頼性が得られるようになる。
以下では、識別値を抽出するためのより具体的な方法と、識別値を利用してクライアントの改ざんを判断するためのより具体的な方法について説明する。
図4は、本発明の一実施形態における、ファイルから識別値を抽出する例を示した図である。図4は、複数のクライアント410とサーバ420を示している。複数のクライアント410は、図3を参照しながら説明した複数の端末310にインストールされたクライアントプログラムに対応してよく、サーバ420は、図3を参照しながら説明したサービスサーバ320に対応してよい。
このとき、複数のクライアント410それぞれは、複数の実行ファイル411と複数のデータファイル412を含んでよい。ここで、データファイルとは、クライアントに必要なデータを格納するためのすべての形態のファイルを意味してよく、実行ファイルとは、拡張子「exe」、「dll」、「so」、「apk」などのように、クライアントのオペレーティングシステム(Operating System)上で実行可能なすべての形態のファイルを意味してよい。
複数のクライアント410それぞれは、周期的またはサーバ420の要請に応じて複数の実行ファイル411と複数のデータファイル412の全体または一部から識別値を抽出してよい。あるいは、複数のクライアント410それぞれが実行される時点に識別値を抽出することも可能である。
例えば、識別値を抽出するための1つ以上のファイルが予め設定されていてよく、予め設定されたファイルから値を抽出するための項目(一例として、上述した最大体力値)または区間が予め設定されていてよい。複数のクライアント410それぞれは、特定の周期ごとまたはサーバ420から要請が受信されるたびに、予め設定されたファイルから予め設定された項目または区間の値を抽出して識別値としてサーバ420に送信してよい。ここで、ファイルから抽出される識別値は、該当のファイルを識別することのできる特定の位置のデータであってよい。例えば、該当のファイルでしか使用されることのできない特定の値が識別値として抽出されてよい。この場合、サーバ420は、識別値がどのファイルから抽出されたかを確認してよく、同じファイルから抽出された識別値を利用してクライアントの改ざんの有無を判断してよい。
また、予め設定されるファイルや項目、または区間は、複数であってよい。この場合、識別値は、複数の値を含んでよい。他の実施形態において、識別値は、予め設定された項目または区間の値を繰り返して抽出した値を含んでもよい。また、識別値は、抽出された値のハッシュ値を含んでもよい。さらに他の実施形態において、識別値は、クライアントプログラムのためのファイル全体に対するハッシュ値を含んでもよい。
サーバ420は、N個のクライアント410からn(前記nは、N以下の自然数)個の識別値421を受信してよい。N個のクライアント410の中には、電源がオフ(off)になっていたり、ネットワーク170に接続することができないクライアント、または該当の端末で実行が不可能なクライアントが存在することがあるため、サーバ420が受信する識別値421の数はN以下になることがある。
改ざんされていないクライアントから受信される識別値は、同じ条件(一例として、同じオペレーティングシステム、同じクライアントプログラム、同じクライアントプログラムのバージョン)で等しい値を有する。しかし、改ざんされたクライアントから受信される識別値は、大部分の正常な識別値とは異なる値を有し得ることから、サーバ420は、識別値間の比較によってクライアントの改ざんを判断することができ、どのクライアントが改ざんされたかを把握することができるようになる。
図5は、本発明の一実施形態における、メモリから識別値を抽出する例を示した図である。図5も、図4と同様に、N個のクライアント410とサーバ420を示している。
本実施形態において、N個のクライアント410それぞれは、端末に格納されたファイルではなく、端末のメモリから識別値を抽出してよい。例えば、クライアント1(510)に対応する端末でクライアントプログラムが実行されると、クライアントプログラムの実行のためのコードやデータなどがメモリ520にロードされてよい。このとき、クライアント1(510)は、予め設定された項目や区間の値をメモリ520から抽出してよい。例えば、図4を参照しながら説明した実行ファイルの場合には、「.text」や「.rodata」のように、変更されずに固定された区間がメモリ520上にロードされることがある。この場合、クライアント1(510)は、該当の区間のデータがロードされたオフセット(offset)を利用して必要な値を探し出し、識別値として抽出してよい。
クライアントの改ざんは、ファイル自体に対する改ざんだけではなく、メモリ520上にロードされた特定の値を変更させる改ざんを含んでよい。この場合、サーバ420は、N個のクライアント410がメモリから抽出した識別値を受信し、識別値を比較することにより、クライアントに対するメモリの改ざんの有無を判断できるようになる。
図6は、本発明の一実施形態における、サーバで識別値によって分類されたクライアントの例を示した図である。図6の表600において、クライアント項目610にはクライアントが、識別値項目620にはクライアントに対応する識別値が、それぞれ示されている。図4および図5を参照しながら上述したサーバ420は、クライアントを識別値によって複数のグループに分類してよく、複数のグループに属するメンバーの数に基づいてクライアントの改ざんを判断してよい。
例えば、表600において、識別値「100」に対応するクライアント1、クライアント2、クライアント3、およびクライアント5が1つのグループ(以下、「グループ1」)に分類されてよく、識別値「200」に対応するクライアント4が他の1つのグループ(以下、「グループ3」)に分類されてよく、識別値「300」に対応するクライアント6が、さらに他の1つのグループ(以下、「グループ3」)に分類されてよい。この場合、サーバ420は、最も多くのメンバーを含むグループ1の識別値「100」を正常な識別値と判断してよく、グループ2に属するクライアント4とグループ3に属するクライアント6を、改ざんされたクライアントとして決定してよい。
上述した例では、説明の便宜のために、6個のクライアントを例に挙げたが、サービスによっては、極めて多くのクライアントの識別値が比較される場合もある。例えば、1000個のクライアントのうち、998個のクライアントの識別値が等しければ、残りの2個のクライアントは改ざんされたものであると判断されてよい。
また、実施形態によっては、最も少ないメンバーを含むグループに属するクライアントが、改ざんされたクライアントとして決定される場合もある。
さらに、図6の表600に示すように、より正確な判断のために、クライアントは、識別値以外の他の条件によってさらに分類されることも可能である。図6の表600では、オペレーティングシステム項目630、アプリケーション種類項目640、アプリケーションバージョン項目650、および抽出対象項目660のように、多様な種類によってクライアントがさらに分類される例を示している。言い換えれば、上述した他の条件とは、該当の条件によって識別値が異なり得る条件を意味すると言える。例えば、識別値をどの対象(実行ファイル、データファイル、およびメモリ)から抽出したかによって識別値が異なることもあるし、アプリケーションのバージョンごとに設定される値が異なり得るために抽出される識別値も異なることもある。さらに、実施形態によっては、サーバ420が多数の互いに異なる種類のサービスに対するクライアントの改ざんを判断することも可能である。例えば、サーバ420が、第1ゲームに対応するサービスのためのクライアントと第2ゲームに対応するサービスのためのクライアントそれぞれに対する改ざんを判断するとする。この場合、サービスごとに識別値が異なり得るため、アプリケーションの種類によってもクライアントの分類が可能となる。
このように、サーバ420は、識別値が異なり得る条件のうちの少なくとも1つをさらに利用してクライアントをさらに分類することができ、分類されたクライアントの識別値の比較によって改ざんされたクライアントを決定することができる。
図7は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図8は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
サーバ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が使用されてよい。
段階810で、リーディング部710は、サーバ150の制御と関連する命令がロードされたメモリ221から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、後述する段階820、830、831、832、833、834をプロセッサ222が実行するように制御するための命令を含んでよい。
段階820で、識別値受信部720は、クライアントプログラムがインストールされた複数の電子機器それぞれから、クライアントプログラムの識別値を受信してよい。一例として、クライアントプログラムの識別値は、クライアントプログラムのインストールおよび実行のために電子機器に格納されたデータファイルまたは実行ファイルからクライアントプログラムによって抽出された値を含んでもよいし、抽出された値のハッシュ値を含んでもよい。他の例として、クライアントプログラムの識別値は、クライアントプログラムの実行のために電子機器のメモリにロードされたデータからクライアントプログラムによって抽出された値を含んでもよいし、抽出された値のハッシュ値を含んでもよい。このとき、識別値は、クライアントプログラムの正常実行時には変更されない、クライアントプログラムの固定された値を含んでよい。複数の電子機器それぞれは、周期的またはサーバ150からの要請に応じて識別値を抽出してもよいし、クライアントプログラムが実行されるたびに識別値を抽出してもよい。抽出された識別値は、サーバ150に送信されてよく、識別値受信部720は、複数の電子機器それぞれが送信した識別値を受信するようにサーバ150を制御してよい。
段階830で、決定部730は、複数の電子機器から受信された識別値間の比較により、複数の電子機器のうちでクライアントが改ざんされた電子機器を決定してよい。上述したように、改ざんされたクライアントが動作する電子機器から受信される識別値は、クライアントが正常に動作する電子機器から受信される識別値とは異なる値を含むことがある。したがって、決定部730は、このような特徴により、多数の等しい識別値とは異なる値を有する少数の識別値に基づいてクライアントが改ざんされた電子機器を決定してよい。
このために、決定部730は、図8に示された段階831〜834をさらに実行してよい。
段階831で、決定部730は、複数の電子機器にインストールされたクライアントプログラムの種類、クライアントプログラムのバージョン、および複数の電子機器のオペレーティングシステムのうちの少なくとも1つによって複数の電子機器を1次分類してよい。例えば、決定部730は、複数の電子機器のオペレーティングシステムによって複数の電子機器を1次分類してよい。このような電子機器の1次分類は、図6のオペレーティングシステム項目630、アプリケーション種類項目640、およびアプリケーションバージョン項目650によってクライアントが分類されることに対応してよい。
段階832で、決定部730は、識別値が抽出された対象によって複数の電子機器を2次分類してよい。ここで、対象は、電子機器に格納されたファイル(上述した実行ファイルおよびデータファイル)と電子機器のメモリを含んでよい。言い換えれば、決定部730は、特定の電子機器から受信された識別値が、実行ファイル、データファイル、およびメモリのうちのどこから抽出されたかによって複数の電子機器を2次分類してよい。このような電子機器の2次分類は、図6の抽出対象項目660によってクライアントが分類されることに対応してよい。
段階833で、決定部730は、複数の電子機器を受信された識別値によって複数のグループに3次分類してよい。このような電子機器の3次分類は、図6の識別値項目620によってクライアントが分類されることに対応してよい。段階831が省略される場合には、段階832の分類が1次分類となってよく、段階833の分類が2次分類となってよい。また、段階832が省略される場合には、段階831の分類が1次分類となってよく、段階833の分類が2次分類となってよい。実施形態によっては、段階831と段階832がすべて省略される場合もある。例えば、抽出対象が実行ファイルとして固定されていれば、段階832は省略されてよい。また、電子機器のオペレーティングシステムやアプリケーションの種類/バージョンなどに関係なく、等しい値を識別値として利用する場合には、段階831は省略されてよい。言い換えれば、識別値としてどのような値を抽出して利用するかにより、段階831および段階832の実行の有無が決定されてよい。
段階834で、決定部730は、分類された複数のグループそれぞれに含まれた電子機器の数に基づき、複数のグループのうちの少なくとも1つのグループに属する電子機器のクライアントが改ざんされたと決定してよい。上述したように、同じ条件で正常に動作するクライアントプログラムから送信される大多数の識別値は等しい値を有するはずであるため、グループに含まれたメンバーの数に基づいてクライアントが改ざんされた電子機器が決定されてよい。例えば、決定部730は、複数のグループのうち、グループに属する電子機器の数が最も少ないグループの電子機器を、クライアントが改ざんされた電子機器として選択してよい。他の例として、決定部730は、同じ条件のグループのうち、グループに属する電子機器の数が最も多いグループを除いた残りのグループの電子機器を、クライアントが改ざんされた電子機器として選択してよい。
以下では、クライアントプログラムがインストールされた電子機器の観点からの実施形態について説明する。
図9は、本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示したブロック図であり、図10は、本発明の一実施形態における、電子機器が実行することのできる方法の例を示したフローチャートである。
電子機器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が使用されてよい。
段階1010で、リーディング部910は、電子機器1(110)の制御と関連する命令がロードされたメモリ211から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、後述する段階820および830をプロセッサ212が実行するように制御するための命令を含んでよい。
段階1020で、識別値抽出部920は、電子機器1(110)にインストールされたクライアントプログラムの識別値を抽出してよい。例えば、識別値抽出部920は、電子機器1(110)の永久記憶装置に格納されたクライアントプログラムのためのファイル(実行ファイルおよび/またはデータファイル)にアクセスして識別値を抽出するか、クライアントプログラムのためのコードやデータがロードされたメモリ211にアクセスして識別値を抽出するように電子機器1(110)を制御してよい。
段階1030で、識別値送信部930は、抽出された識別値をサーバに送信してよい。ここで、サーバは、図7および図8を参照しながら説明したサーバ150に対応してよい。サーバ150で複数の電子機器から受信された識別値を利用してクライアントの改ざんを判断する方法については、既に詳しく説明したとおりであるため、繰り返される説明は省略する。
このように、本発明の実施形態によると、クライアントの配布前に識別値が予め生成および管理されなければならない過程を経なくても、サーバでクライアントファイル(またはプログラム)の改ざんの有無を判断できるようにすることで、クライアントプログラムに対する有用性と信頼性を改善することができる。
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)および前記OS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでもよい。また、並列プロセッサのような、他の処理構成も可能である。
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置、または伝送される信号波に永久的または一時的に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてよい。
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD−ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
110、120、130、140 電子機器
150、160 サーバ
170 ネットワーク

Claims (20)

  1. サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのクライアント改ざん判断方法であって、
    クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信する段階、および
    前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する段階
    を含む、クライアント改ざん判断方法。
  2. 前記クライアントプログラムの識別値は、前記クライアントプログラムのインストールおよび実行のために電子機器に格納されたデータファイルまたは実行ファイルから前記クライアントプログラムによって抽出された値を含むか、または前記抽出された値のハッシュ値を含む、請求項1に記載のクライアント改ざん判断方法。
  3. 前記クライアントプログラムの識別値は、前記クライアントプログラムの実行のために前記電子機器のメモリにロードされたデータから前記クライアントプログラムによって抽出された値を含むか、または前記抽出された値のハッシュ値を含む、請求項1に記載のクライアント改ざん判断方法。
  4. 前記クライアントプログラムの識別値は、前記クライアントプログラムの正常実行時に変更されない、前記クライアントプログラムの固定された値を含む、請求項1に記載のクライアント改ざん判断方法。
  5. 前記クライアントが改ざんされた電子機器を決定する段階は、
    前記複数の電子機器を前記受信された識別値によって複数のグループに分類する段階、および
    前記分類された複数のグループそれぞれに含まれた電子機器の数に基づき、前記複数のグループのうちの少なくとも1つのグループに属する電子機器のクライアントが改ざんされたものと決定する段階
    を含む、請求項1に記載のクライアント改ざん判断方法。
  6. 前記クライアントが改ざんされた電子機器を決定する段階は、
    前記識別値が抽出された対象によって前記複数の電子機器を分類する段階
    をさらに含み、
    前記対象は、電子機器に格納されたファイルおよび電子機器のメモリを含む、請求項5に記載のクライアント改ざん判断方法。
  7. 前記受信した識別値によって複数のグループに分類する段階は、
    前記識別値が抽出された対象によって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項6に記載のクライアント改ざん判断方法。
  8. 前記クライアントが改ざんされた電子機器を決定する段階は、
    前記複数の電子機器にインストールされたクライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステム(Operating System:OS)によって前記複数の電子機器を分類する段階
    をさらに含む、請求項5に記載のクライアント改ざん判断方法。
  9. 前記受信された識別値によって複数のグループに分類する段階は、
    前記クライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステムによって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項8に記載のクライアント改ざん判断方法。
  10. 前記少なくとも1つのグループに属する電子機器のクライアントが改ざんされたものと決定する段階は、
    前記複数のグループのうち、グループに属する電子機器の数が最も少ないグループの電子機器を、クライアントが改ざんされた電子機器として選択する、請求項5に記載のクライアント改ざん判断方法。
  11. サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのクライアント改ざん判断システムであって、
    コンピュータで読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサ
    を含み、
    前記少なくとも1つのプロセッサは、
    クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信し、
    前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する、
    クライアント改ざん判断システム。
  12. 前記少なくとも1つのプロセッサは、クライアントが改ざんされた電子機器を決定するために、
    前記複数の電子機器を前記受信された識別値によって複数のグループに分類し、
    前記分類された複数のグループそれぞれに含まれた電子機器の数に基づき、前記複数のグループのうちの少なくとも1つのグループに属する電子機器のクライアントを改ざんされたものと決定する、請求項11に記載のクライアント改ざん判断システム。
  13. 前記少なくとも1つのプロセッサは、
    前記識別値が抽出された対象によって前記複数の電子機器を分類し、
    前記対象は、電子機器に格納されたファイルおよび電子機器のメモリを含む、請求項12に記載のクライアント改ざん判断システム。
  14. 前記少なくとも1つのプロセッサは、
    前記識別値が抽出された対象によって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項13に記載のクライアント改ざん判断システム。
  15. 前記少なくとも1つのプロセッサは、
    前記複数の電子機器にインストールされたクライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステムによって前記複数の電子機器を分類する、請求項12に記載のクライアント改ざん判断システム。
  16. 前記少なくとも1つのプロセッサは、
    前記クライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステムによって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項15に記載のクライアント改ざん判断システム。
  17. 前記少なくとも1つのプロセッサは、
    前記複数のグループのうち、グループに属する電子機器の数が最も少ないグループの電子機器を、クライアントが改ざんされた電子機器として選択する、請求項12に記載のクライアント改ざん判断システム。
  18. コンピュータによって実現される電子機器と結合してクライアント改ざん判断方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムであって、
    前記クライアント改ざん判断方法は、
    前記電子機器で、前記電子機器にインストールされたクライアントプログラムの識別値を抽出する段階、および
    前記抽出された識別値をサーバに送信する段階
    を含み、
    前記サーバで、複数の電子機器から受信された識別値を比較し、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する、コンピュータプログラム。
  19. 前記識別値を抽出する段階は、
    前記クライアントプログラムの制御にしたがい、前記クライアントプログラムのインストールおよび実行のために電子機器に格納されたデータファイルまたは実行ファイルから抽出された値、または前記抽出された値のハッシュ値を前記識別値として生成する、請求項18に記載のコンピュータプログラム。
  20. 前記識別値を抽出する段階は、
    前記クライアントプログラムの制御にしたがい、前記クライアントプログラムの実行のために前記電子機器のメモリにロードされたデータから抽出された値、または前記抽出された値のハッシュ値を前記識別値として生成する、請求項18に記載のコンピュータプログラム。
JP2017110757A 2016-06-09 2017-06-05 クライアント改ざん判断システムおよび方法 Active JP6930862B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0071618 2016-06-09
KR1020160071618A KR101761512B1 (ko) 2016-06-09 2016-06-09 클라이언트 변조 판단 시스템 및 방법

Publications (2)

Publication Number Publication Date
JP2017220236A true JP2017220236A (ja) 2017-12-14
JP6930862B2 JP6930862B2 (ja) 2021-09-01

Family

ID=59422621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017110757A Active JP6930862B2 (ja) 2016-06-09 2017-06-05 クライアント改ざん判断システムおよび方法

Country Status (2)

Country Link
JP (1) JP6930862B2 (ja)
KR (1) KR101761512B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019144752A (ja) * 2018-02-19 2019-08-29 株式会社デンソー 検証端末

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110086780B (zh) * 2019-03-26 2021-11-02 北京百度网讯科技有限公司 基于以太坊的被篡改交易的处理方法、装置及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019144752A (ja) * 2018-02-19 2019-08-29 株式会社デンソー 検証端末
JP7013921B2 (ja) 2018-02-19 2022-02-01 株式会社デンソー 検証端末

Also Published As

Publication number Publication date
KR101761512B1 (ko) 2017-07-25
JP6930862B2 (ja) 2021-09-01

Similar Documents

Publication Publication Date Title
US10481875B2 (en) Generation of an application from template
KR102034840B1 (ko) 테스트 그룹 분배 방법을 실행하기 위한 컴퓨터 프로그램 및 서버
KR101854975B1 (ko) 패키지 파일에 대한 기능 확장 방법 및 시스템
KR101746279B1 (ko) 컨텍 리스트를 이용하여 사용자를 인증하는 시스템 및 방법
KR102652384B1 (ko) 메신저 봇을 이용하여 IoT 기기를 제어하기 위한 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR20210102470A (ko) 블록체인과는 다른 형식의 저장소에 저장되는 블록체인 데이터를 검증하는 방법 및 시스템
KR101814897B1 (ko) 파일 보호 방법 및 시스템
JP6930862B2 (ja) クライアント改ざん判断システムおよび方法
US10523668B2 (en) Authentication method with enhanced security based on eye recognition and authentication system thereof
US11609976B2 (en) Method and system for managing image based on interworking face image and messenger account
KR102382889B1 (ko) 프로세스 정보를 사용하여 웹쉘을 탐지하는 방법 및 시스템
JP7079664B2 (ja) チートアプリケーション識別方法およびシステム
CN114330353B (zh) 虚拟场景的实体识别方法、装置、设备、介质及程序产品
JP6705907B2 (ja) 可変グリッドのインデックスを利用した入力認識方法およびシステム
KR101948123B1 (ko) 자동입력 탐지 방법 및 시스템
JP7445017B2 (ja) ユーザ識別子および署名収集を利用したモバイルアプリケーション偽造・変造探知方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体およびコンピュータ装置
US20180088930A1 (en) Updating code within an application
KR102348312B1 (ko) 사용자 식별자 및 서명 수집을 이용한 모바일 애플리케이션 위변조 탐지 방법 및 시스템
KR20180004065A (ko) 파일 보호 방법 및 시스템
KR102556999B1 (ko) 단말기 원격조작에 기반한 테스트 자동화 방법 및 시스템
KR102337963B1 (ko) 프로그램 코드 조작 검출 방법 및 그 장치
US20210374231A1 (en) Method and system for detecting hooking using clustering api information
KR20180129706A (ko) 주가정보를 제공하는 방법 및 시스템
CN117200968A (zh) 信息处理方法及装置、电子设备和计算机可读存储介质
JP2017073132A (ja) メモリハッキング探知方法およびシステム

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