JP2024175588A - Computer program, program protection device, and program protection method - Google Patents
Computer program, program protection device, and program protection method Download PDFInfo
- Publication number
- JP2024175588A JP2024175588A JP2023093487A JP2023093487A JP2024175588A JP 2024175588 A JP2024175588 A JP 2024175588A JP 2023093487 A JP2023093487 A JP 2023093487A JP 2023093487 A JP2023093487 A JP 2023093487A JP 2024175588 A JP2024175588 A JP 2024175588A
- Authority
- JP
- Japan
- Prior art keywords
- monitoring process
- program
- protected
- computer
- monitoring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000004590 computer program Methods 0.000 title claims abstract description 22
- 238000012544 monitoring process Methods 0.000 claims abstract description 178
- 230000005856 abnormality Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、コンピュータプログラム、プログラム保護装置及びプログラム保護方法に関する。 The present invention relates to a computer program, a program protection device, and a program protection method.
悪意を持った攻撃者が不正プログラムをコンピュータに侵入させ、アタッチという行為を行うことで保護対象のプログラムの下で実行中のプロセスのメモリ情報の内容を変更し、あるいはメモリ情報をダンプすることが可能である。このような不正プログラムによって、例えば、メモリ上からデータを抜き取られて海賊版が作成され、あるいは有用な情報が漏洩してしまう。 A malicious attacker can inject a malicious program into a computer and, by performing an action called attachment, change the contents of the memory information of a process running under a protected program, or dump memory information. Such a malicious program can, for example, extract data from memory to create pirated copies or leak useful information.
特許文献1には、ルーチンが攻撃者からのデバッガアタッチを検出した場合、保護対象のプログラムの実行を停止することにより、プログラムに対する許可されていないアクセスを阻止する方法が開示されている。 Patent document 1 discloses a method for preventing unauthorized access to a program by halting execution of the protected program when a routine detects a debugger attachment from an attacker.
しかし、攻撃者は、プロセスの停止や終了を行う権限を有するため、デバッガアタッチを検出するプロセスの停止や終了を行うことで、不正プログラムがデバッガアタッチを実行して保護対象のプログラムの下で実行中のプロセスのメモリ情報の内容を変更し、あるいはメモリ情報をダンプすることが可能になる。 However, because an attacker has the authority to stop or terminate processes, stopping or terminating a process that detects a debugger attachment can allow a malicious program to perform a debugger attachment and change the contents of the memory information of a process running under the protected program, or dump the memory information.
本発明は、斯かる事情に鑑みてなされたものであり、不正プログラムによるデバッガアタッチを防止することができるコンピュータプログラム、プログラム保護装置及びプログラム保護方法を提供することを目的とする。 The present invention has been made in consideration of the above circumstances, and aims to provide a computer program, a program protection device, and a program protection method that can prevent a malicious program from attaching a debugger.
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、コンピュータプログラムは、保護対象プログラムに第1監視プロセスを起動させ、前記保護対象プログラム又は前記第1監視プロセスに第2監視プロセスを起動させ、前記第2監視プロセスに、前記第1監視プロセスの動作を監視させる、処理をコンピュータに実行させる。 The present application includes multiple means for solving the above problems, and as one example, a computer program causes a computer to execute the following processing: a first monitoring process is started in a protected program, a second monitoring process is started in the protected program or the first monitoring process, and the second monitoring process monitors the operation of the first monitoring process.
本発明によれば、不正プログラムによるデバッガアタッチを防止することができる。 This invention makes it possible to prevent debugger attachment by malicious programs.
以下、本発明の実施の形態を説明する。図1は本実施形態のプログラム保護装置50の構成の一例を示す図である。プログラム保護装置50は、装置全体を制御する制御部51、通信部52、表示部53、操作部54、メモリ55、記憶部56、及び記録媒体読取部57を備える。プログラム保護装置50は、例えば、パーソナルコンピュータ(PC)、ワークステーション(WS)、ゲーム用デバイス、タブレット端末などで構成することができる。
The following describes an embodiment of the present invention. FIG. 1 is a diagram showing an example of the configuration of a
制御部51は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等が所要数組み込まれて構成されている。また、制御部51は、DSP(Digital Signal Processors)、FPGA(Field-Programmable Gate Arrays)などを組み合わせて構成してもよい。
The
通信部52は、通信モジュールを備え、外部の装置(不図示)との間の通信機能を有する。
The
表示部53は、液晶ディスプレイ又は有機ELディスプレイなどで構成することができる。なお、表示部53に代えて、外部の表示装置をプログラム保護装置50に接続するようにしてもよい。
The
操作部54は、例えば、キーボード、マウス、タッチパッド又はタッチパネル等で構成され、表示部53に表示される情報に対する操作を受け付けることができる。
The
メモリ55は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の半導体メモリで構成することができる。
The
記憶部56は、例えば、ハードディスク又は半導体メモリ等で構成することができ、コンピュータプログラム(プログラム製品)としてのアプリケーション10、OS(オペレーティングシステム)60、及び所要の情報を記憶することができる。OS60は、例えば、Windows、MacOS、Linux(いずれも登録商標)などを含む。
The
コンピュータプログラム(アプリケーション)10、及びOS60は、メモリ55に展開されて、制御部51により実行される。制御部51は、コンピュータプログラム10で定められた処理(具体的には、後述の保護対象プログラム20、第1監視プロセス30及び第2監視プロセス40それぞれの処理)を実行することができる。ここで、アプリケーション10は、保護対象プログラム20、第1監視プロセス30及び第2監視プロセス40の各実行プログラムを総称するものである。すなわち、制御部51による処理は、保護対象プログラム20、第1監視プロセス30及び第2監視プロセス40による処理でもある。
The computer program (application) 10 and the OS 60 are deployed in
コンピュータプログラム10は、通信部52を介して、外部の装置からダウンロードして記憶部56に格納してもよい。また、記録媒体(例えば、CD-ROM等の光学可読ディスク記憶媒体)571に記録されたコンピュータプログラム10を記録媒体読取部57で読み取って記憶部56に格納してもよい。コンピュータプログラム10は、単一のコンピュータ上で、または1つのサイトにおいて配置されるか、もしくは複数のサイトに亘って分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。
The
図2はプログラム保護装置50のソフトウェア構成の一例を示す図である。図2に示すように、プログラム保護装置50内では、OS60の制御の下でアプリケーション10が実行される。アプリケーション10は、保護対象プログラム20、第1監視プロセス、及び第2監視プロセス40の各実行プログラムが組み込まれている。保護対象プログラム20は、アプリ本体部に相当し、自身の起動処理モジュール及びアプリ実行モジュールなどを含む。保護対象プログラム20、第1監視プロセス30、及び第2監視プロセス40の間の処理は、OS60が提供する機能を用いて行われる。
Figure 2 is a diagram showing an example of the software configuration of the
アプリケーション10が起動すると、保護対象プログラム20が起動するとともに、保護対象プログラム20は、自身の子プロセスとして第1監視プロセス30を起動する。また、保護対象プログラム20は、自身の子プロセスとして第2監視プロセス40を起動する。なお、第1監視プロセス30が、自身の子プロセスとして第2監視プロセス40を起動してもよい。
When the
第1監視プロセス30は、親プロセスである保護対象プログラム20に対しアタッチを実行する。
The
図3は第1監視プロセス30によるアタッチの一例を示す図である。第1監視プロセス30は、保護対象プログラム20にアタッチすることで実行中の保護対象プログラム20の挙動を確認することができる。アタッチは、例えば、ptraceというシステムコールを用いて行うことができる。第1監視プロセス30が、保護対象プログラム20に対してメモリ情報要求を出力すると、保護対象プログラム20は、メモリ情報を第1監視プロセス30へ出力する。保護対象プログラム20と第1監視プロセス30との間の信号(シグナル)のやり取りは、OS60を介して実行される。具体的には、OS60から保護対象プログラム20に発行される制御シグナルはアタッチ後、第1監視プロセス30が受信し、第1監視プロセス30は当該制御シグナルにより保護対象プログラム20への制御シグナルを観測する事ができ、OS60を介して当該シグナルを保護対象プログラム20に再送信する事で、保護対象プログラム20の動作を制御する事ができる。第1監視プロセス30が保護対象プログラム20にアタッチした場合、他のプロセス(不正プログラムを含む)は、保護対象プログラム20にアタッチすることはできない。アタッチすることができるプロセスは1個に限定されているからである。
Figure 3 is a diagram showing an example of attachment by the
保護対象プログラム20は、第1監視プロセス30を起動し、保護対象プログラム20又は第1監視プロセス30は、第2監視プロセス40を起動する。プロセスの起動は、例えば、forkというシステムコールを用いて行うことができる。第2監視プロセス40は、第1監視プロセス30の動作を監視する。第2監視プロセス40は、保護対象プログラム20の動作を監視してもよい。第1監視プロセス30や保護対象プログラム20の動作の監視は、第2監視プロセス40自身の機能、あるいはOS60が備える機能を用いることができる。
The
図4は第2監視プロセス40の動作の第1例を示す図である。第1監視プロセス30は、保護対象プログラム20にアタッチすることで実行中の保護対象プログラム20の挙動を確認することができる。第2監視プロセス40は、第1監視プロセス30の動作を監視する。なお、第2監視プロセス40は、保護対象プログラム20の動作を監視してもよい。第2監視プロセス40が実施する監視は、例えば、OS60のプロセス管理用のファイルを解析して、当該プロセスの動作状態、アタッチ状態を観測することで行うことができる。
Figure 4 is a diagram showing a first example of the operation of the
図5は攻撃者による攻撃パターンの第1例を示す図である。第1監視プロセス30は、実行中の保護対象プログラム20にアタッチ中である。この場合、攻撃者が、実行中の保護対象プログラム20に対してアタッチを実行しようとしても、保護対象プログラム20は既に他のプロセス(第1監視プロセス30)によってアタッチされているため、攻撃者は保護対象プログラムにアタッチすることはできない。これにより、保護対象プログラムを不正なアクセスから保護することができ、メモリ上からデータが不正に抜き取られることを防止できる。
Figure 5 shows a first example of an attack pattern by an attacker. The
図6は攻撃者による攻撃パターンの第2例を示す図である。図6Aに示すように、保護対象プログラム20は、第1監視プロセス30にアタッチされ、攻撃者は保護対象プログラム20にアタッチすることができない。そこで、攻撃者は、保護対象プログラム20にアタッチしている第1監視プロセスを終了させようとする。しかし、第2監視プロセス40は、第1監視プロセス30の動作を監視しているので、第1監視プロセス30の終了を検知することができる。図6Bに示すように、第1監視プロセス30の終了を検知した第2監視プロセス40は、保護対象プログラム20の動作を終了させる。
Figure 6 is a diagram showing a second example of an attack pattern by an attacker. As shown in Figure 6A, the protected
上述のように、制御部51は、第2監視プロセス40が第1監視プロセス30の異常(例えば、不正な一時停止や終了)を検知した場合、第2監視プロセス40に保護対象プログラム20の動作を終了させる。また、制御部51は、第2監視プロセス40が保護対象プログラム20の異常(例えば、不正な一時停止や終了)を検知した場合、第2監視プロセス40に保護対象プログラム20の動作を終了させてもよい。
As described above, when the
これにより、第2監視プロセス40は、第1監視プロセス30及び保護対象プログラム20に対する攻撃を検知することができ、結果として、保護対象プログラム20を不正なアクセスから保護することができる。また、攻撃者が保護対象プログラム20にアタッチしようとしても、保護対象プログラム20は終了しているので、攻撃者は保護対象プログラム20にアタッチすることができず(図6B参照)、保護対象プログラム20を不正なアクセスから保護することができ、メモリ上からデータが不正に抜き取られることを防止できる。
This allows the
図7は第2監視プロセス40の動作の第2例を示す図である。第2監視プロセス40は、定期または不定期に自身と同じ動作を実行する別プロセス(新たなプロセス)を生成するとともに、現在のプロセスを終了する。これにより、第2監視プロセス40は、自身が一時停止や終了などの攻撃対象として特定されることを防止できる。
Figure 7 shows a second example of the operation of the
図7の例では、第2監視プロセス40(プロセスID=01)が動作を実行中に、自身と同じ動作をする新たなプロセスである第2監視プロセス40(プロセスID=10)を生成し、現在実行中の第2監視プロセス40(プロセスID=01)を終了する。
In the example of Figure 7, while the second monitoring process 40 (process ID = 01) is executing an operation, a new process, the second monitoring process 40 (process ID = 10), which performs the same operation as the
次に、第2監視プロセス40(プロセスID=10)が動作を実行中に、自身と同じ動作をする新たなプロセスである第2監視プロセス40(プロセスID=22)を生成し、現在実行中の第2監視プロセス40(プロセスID=10)を終了する。
Next, while the second monitoring process 40 (process ID = 10) is executing, a new process, a second monitoring process 40 (process ID = 22) that performs the same operation as the
同様に、第2監視プロセス40(プロセスID=22)が動作を実行中に、自身と同じ動作をする新たなプロセスである第2監視プロセス40を生成し、現在実行中の第2監視プロセス40(プロセスID=22)を終了する。以降、同様の処理を繰り返す。なお、プロセスIDの例は、プロセスIDが異なることを便宜上示すためのものでID自体は数字に限定されない。
Similarly, while the second monitoring process 40 (process ID = 22) is executing an operation, a new process, a
上述のように、制御部51は、第2監視プロセス40に、異なるプロセスIDを有する第2監視プロセス40を起動させる。また、制御部51は、新たな第2監視プロセス40を起動させた場合、直近の古い第2監視プロセス40を終了させる。
As described above, the
図8A及び図8Bは攻撃者による攻撃パターンの第3例を示す図である。第1監視プロセス30は、保護対象プログラム20にアタッチ中であるとする。第2監視プロセス(プロセスID=01)40は、第1監視プロセス30の動作を監視している。攻撃者は、第2監視プロセス(プロセスID=01)40を停止又は終了させるべく、第2監視プロセス40のプロセスIDを特定しようとする。第2監視プロセス(プロセスID=01)40は、自身と同じ動作をする新たな第2監視プロセス(プロセスID=02)40を生成する。
Figures 8A and 8B show a third example of an attack pattern by an attacker. Assume that the
新たに生成された第2監視プロセス(プロセスID=02)40は、第1監視プロセス30の動作を監視する。直近の古い第2監視プロセス(プロセスID=01)40は、自身を終了する。前述のようなプロセスの世代交代(新しいプロセスを生成して古いプロセスを終了する)は、攻撃者によるプロセスID特定動作よりも短い(好ましくは十分短い)時間間隔で行うことができる。攻撃者は、既に終了した古い第2監視プロセス40のプロセスID=01のみ特定できるので、新しく生成された第2監視プロセス(プロセスID=02)を停止又は終了させるような介入をすることができない。
The newly created second monitoring process (process ID = 02) 40 monitors the operation of the
上述のように、本実施形態によれば、攻撃者は、動作中の第2監視プロセス40のプロセスを特定する情報(プロセスID)を知ることができないので、第2監視プロセス40の停止や終了などの攻撃を困難にする。
As described above, according to this embodiment, an attacker cannot know information (process ID) that identifies the
図9はプログラム保護装置50による処理手順の一例を示す図である。図9の処理の主体は、保護対象プログラム20、第1監視プロセス30及び第2監視プロセス40であるが、これらの主体を纏めて制御部51としてもよい。保護対象プログラム20が起動し(S11)、保護対象プログラム20は、自身の子プロセスとして第1監視プロセス30を起動する(S12)。第1監視プロセス30が保護対象プログラム20にアタッチする(S13)。アタッチを実行する際には、第1監視プロセス30は、保護対象プログラム20のプロセスIDを取得する。
Figure 9 is a diagram showing an example of a processing procedure by the
保護対象プログラム20は、自身の子プロセスとして第2監視プロセス40を起動する(S14)。第2監視プロセス40は、第1監視プロセス30のプロセスIDを取得して、第1監視プロセス30の動作を監視する(S15)。なお、第2監視プロセス40に、保護対象プログラム20のプロセスIDを取得させて保護対象プログラム20の動作を監視させてもよい。
The protected
第2監視プロセス40が第1監視プロセス30の異常(一時停止や終了など)を検知したか否かを判定し(S16)、異常を検知した場合(S16でYES)、保護対象プログラム20を終了させ(S17)、処理を終了する。
The
異常を検知していない場合(S16でNO)、第2監視プロセス40は、第2監視プロセス40のプロセスIDを特定するアクションの有無を判定する(S18)。ここで、第2監視プロセス40のプロセスIDを特定するアクションは、攻撃者によるものとする。プロセスIDを特定するアクションの有無の判定は、第2監視プロセス40自身の機能、あるいはOS60が備える機能を用いることができる。プロセスIDを特定するアクションがある場合(S18でYES)、第2監視プロセス40は、新しいプロセスIDを有する新たな第2監視プロセス40を生成し(S19)、古い第2監視プロセス40を終了し(S20)、後述のステップS21の処理を行う。
If no abnormality is detected (NO in S16), the
プロセスIDを特定するアクションがない場合(S18でNO)、第2監視プロセス40は、処理を終了するか否かを判定し(S21)、処理を終了しない場合(S21でNO)、ステップS15以降の処理を続ける。処理を終了する場合(S21でYES)、保護対象プログラム20、第1監視プロセス30及び第2監視プロセス40の処理を終了する。
If there is no action to identify the process ID (NO in S18), the
上述のように、本実施形態によれば、保護対象プログラム20及び第1監視プロセス30の動作を監視する新たな第2監視プロセス40を生成し、第2監視プロセス40は、保護対象プログラム20及び第1監視プロセス30の一時停止や終了などの不正な介入を検知した場合、保護対象プログラム20を終了させるので、メモリに対する不正なアクセスによってメモリ上からデータが抜き取られることを防止できる。
As described above, according to this embodiment, a new
また、第2監視プロセス40は、自身と同じ動作を実行する別プロセスを生成し、現在実行中のプロセスを終了させるので、第2監視プロセス40自身のプロセスIDが特定されることを防止でき、第2監視プロセス40への攻撃を困難にすることができる。
In addition, the
(付記1)コンピュータプログラムは、保護対象プログラムに第1監視プロセスを起動させ、前記保護対象プログラム又は前記第1監視プロセスに第2監視プロセスを起動させ、前記第2監視プロセスに、前記第1監視プロセスの動作を監視させる、処理をコンピュータに実行させる。 (Addendum 1) The computer program causes the computer to execute the following processing: start a first monitoring process in the protected program, start a second monitoring process in the protected program or the first monitoring process, and cause the second monitoring process to monitor the operation of the first monitoring process.
(付記2)コンピュータプログラムは、付記1において、前記保護対象プログラムに対して前記第1監視プロセスをアタッチさせる、処理をコンピュータに実行させる。 (Supplementary Note 2) The computer program in Supplementary Note 1 causes the computer to execute a process that attaches the first monitoring process to the protected program.
(付記3)コンピュータプログラムは、付記1又は付記2において、前記第2監視プロセスが前記第1監視プロセスの異常を検知した場合、前記第2監視プロセスに前記保護対象プログラムの動作を終了させる、処理をコンピュータに実行させる。 (Supplementary Note 3) In the computer program of Supplementary Note 1 or Supplementary Note 2, when the second monitoring process detects an abnormality in the first monitoring process, the computer executes a process to cause the second monitoring process to terminate the operation of the protected program.
(付記4)コンピュータプログラムは、付記1から付記3のいずれか一つにおいて、前記第2監視プロセスに、異なるプロセスIDを有する第2監視プロセスを起動させる、処理をコンピュータに実行させる。 (Appendix 4) In any one of appendices 1 to 3, the computer program causes the computer to execute a process that causes the second monitoring process to start a second monitoring process having a different process ID.
(付記5)コンピュータプログラムは、付記4において、新たな第2監視プロセスを起動させた場合、直近の古い第2監視プロセスを終了させる、処理をコンピュータに実行させる。 (Appendix 5) In appendix 4, the computer program causes the computer to execute a process that terminates the most recent, oldest second monitoring process when a new second monitoring process is started.
(付記6)プログラム保護装置は、制御部を備え、前記制御部は、保護対象プログラムに第1監視プロセスを起動させ、前記保護対象プログラム又は前記第1監視プロセスに第2監視プロセスを起動させ、前記第2監視プロセスに、前記第1監視プロセスの動作を監視させる。 (Additional Note 6) The program protection device includes a control unit, which causes the protected program to start a first monitoring process, causes the protected program or the first monitoring process to start a second monitoring process, and causes the second monitoring process to monitor the operation of the first monitoring process.
(付記7)プログラム保護方法は、保護対象プログラムに第1監視プロセスを起動させ、前記保護対象プログラム又は前記第1監視プロセスに第2監視プロセスを起動させ、前記第2監視プロセスに、前記第1監視プロセスの動作を監視させる。 (Appendix 7) The program protection method has a program to be protected start a first monitoring process, has the program to be protected or the first monitoring process start a second monitoring process, and has the second monitoring process monitor the operation of the first monitoring process.
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。 The matters described in each embodiment can be combined with each other. In addition, the independent claims and dependent claims described in the claims can be combined with each other in any and all combinations regardless of the citation format. Furthermore, the claims use a format in which a claim cites two or more other claims (multi-claim format), but this is not limited to this. They may also be written in a format in which multiple claims cite at least one other claim (multi-multi-claim).
10 アプリケーション
20 保護対象プログラム
30 第1監視プロセス
40 第2監視プロセス
50 プログラム保護装置
51 制御部
52 通信部
53 表示部
54 操作部
55 メモリ
56 記憶部
57 記録媒体読取部
571 記録媒体
60 OS
REFERENCE SIGNS
Claims (7)
前記保護対象プログラム又は前記第1監視プロセスに第2監視プロセスを起動させ、
前記第2監視プロセスに、前記第1監視プロセスの動作を監視させる、
処理をコンピュータに実行させるコンピュータプログラム。 causing the protected program to launch a first monitoring process;
causing the protected program or the first monitoring process to launch a second monitoring process;
causing the second monitoring process to monitor the operation of the first monitoring process;
A computer program that causes a computer to carry out processing.
処理をコンピュータに実行させる請求項1に記載のコンピュータプログラム。 Attaching the first monitoring process to the protected program;
2. A computer program product according to claim 1, which causes a computer to carry out a process.
処理をコンピュータに実行させる請求項1に記載のコンピュータプログラム。 when the second monitoring process detects an abnormality in the first monitoring process, causing the second monitoring process to terminate the operation of the protected program;
2. A computer program product according to claim 1, which causes a computer to carry out a process.
処理をコンピュータに実行させる請求項1から請求項3までのいずれか一項に記載のコンピュータプログラム。 causing the second monitoring process to launch a second monitoring process having a different process ID;
A computer program product according to any one of claims 1 to 3, which causes a computer to carry out a process.
処理をコンピュータに実行させる請求項4に記載のコンピュータプログラム。 When a new second monitoring process is started, the most recent old second monitoring process is terminated.
5. A computer program product according to claim 4, which causes a computer to carry out a process.
前記制御部は、
保護対象プログラムに第1監視プロセスを起動させ、
前記保護対象プログラム又は前記第1監視プロセスに第2監視プロセスを起動させ、
前記第2監視プロセスに、前記第1監視プロセスの動作を監視させる、
プログラム保護装置。 A control unit is provided,
The control unit is
causing the protected program to launch a first monitoring process;
causing the protected program or the first monitoring process to launch a second monitoring process;
causing the second monitoring process to monitor the operation of the first monitoring process;
Program protection device.
前記保護対象プログラム又は前記第1監視プロセスに第2監視プロセスを起動させ、
前記第2監視プロセスに、前記第1監視プロセスの動作を監視させる、
プログラム保護方法。 causing the protected program to launch a first monitoring process;
causing the protected program or the first monitoring process to launch a second monitoring process;
causing the second monitoring process to monitor the operation of the first monitoring process;
Program protection method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023093487A JP2024175588A (en) | 2023-06-06 | 2023-06-06 | Computer program, program protection device, and program protection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023093487A JP2024175588A (en) | 2023-06-06 | 2023-06-06 | Computer program, program protection device, and program protection method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024175588A true JP2024175588A (en) | 2024-12-18 |
Family
ID=93893158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023093487A Pending JP2024175588A (en) | 2023-06-06 | 2023-06-06 | Computer program, program protection device, and program protection method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024175588A (en) |
-
2023
- 2023-06-06 JP JP2023093487A patent/JP2024175588A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2691187C1 (en) | System and methods for auditing a virtual machine | |
KR100368947B1 (en) | Integrity checking an executable module and associated protected service provider module | |
JP6706273B2 (en) | Behavioral Malware Detection Using Interpreted Virtual Machines | |
US7263721B2 (en) | Password protection | |
US8621628B2 (en) | Protecting user mode processes from improper tampering or termination | |
CN109815698B (en) | Method and non-transitory machine-readable storage medium for performing security actions | |
US9832215B2 (en) | Automatic content inspection system for exploit detection | |
KR101034415B1 (en) | Computer security management in virtual machines or enhanced operating systems | |
US7721333B2 (en) | Method and system for detecting a keylogger on a computer | |
JP4938576B2 (en) | Information collection system and information collection method | |
JP4048382B1 (en) | Information processing system and program | |
US20050132122A1 (en) | Method, apparatus and system for monitoring system integrity in a trusted computing environment | |
US8495741B1 (en) | Remediating malware infections through obfuscation | |
US7665139B1 (en) | Method and apparatus to detect and prevent malicious changes to tokens | |
WO2017027103A1 (en) | Systems and methods for detecting unknown vulnerabilities in computing processes | |
AU2013259469A1 (en) | Methods and apparatus for identifying and removing malicious applications | |
EP2937807B1 (en) | Monitoring device and monitoring method | |
CN107330328B (en) | Method and device for defending against virus attack and server | |
US20070266435A1 (en) | System and method for intrusion detection in a computer system | |
US10902122B2 (en) | Just in time memory analysis for malware detection | |
US11556645B2 (en) | Monitoring control-flow integrity | |
KR101013419B1 (en) | System protection devices and methods | |
Kovah et al. | How many million bioses would you like to infect? | |
JP2024175588A (en) | Computer program, program protection device, and program protection method | |
WO2022015494A1 (en) | System management states |