JP2014518582A - Dllインジェクション機能を持つコンピュータ装置及びdllインジェクション方法 - Google Patents

Dllインジェクション機能を持つコンピュータ装置及びdllインジェクション方法 Download PDF

Info

Publication number
JP2014518582A
JP2014518582A JP2014508278A JP2014508278A JP2014518582A JP 2014518582 A JP2014518582 A JP 2014518582A JP 2014508278 A JP2014508278 A JP 2014508278A JP 2014508278 A JP2014508278 A JP 2014508278A JP 2014518582 A JP2014518582 A JP 2014518582A
Authority
JP
Japan
Prior art keywords
target process
dll
target
injection
authority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014508278A
Other languages
English (en)
Other versions
JP2014518582A5 (ja
Inventor
リ,ジョン−イル
リ,ナム−ス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fasoo com Co Ltd
Original Assignee
Fasoo com Co Ltd
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 Fasoo com Co Ltd filed Critical Fasoo com Co Ltd
Publication of JP2014518582A publication Critical patent/JP2014518582A/ja
Publication of JP2014518582A5 publication Critical patent/JP2014518582A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

DLLインジェクション機能を持つコンピュータ装置及びDLLインジェクション方法が開示される。運用体制から、ユーザが実行を命令したプログラムに対応する対象プロセスの生成如何が通知されれば、インジェクションプログラムのプロセス生成モジュールは、ランチャープロセスを行ってランチャープロセスの子プロセスとして対象プロセスを生成し、対象プロセスを中止モードに設定する。コード挿入モジュールは、対象プロセスのプロセスハンドルを用いて対象プロセスの積載されたメモリ領域を割り当てられ、対象プロセスにインジェクションしようとするDLLファイルを行うコードを挿入する。復元モジュールは、対象プロセスの中止モードを解除して対象プロセスを行わせる。本発明によれば、中止モードで生成された対象プロセスのメモリ領域にDLL実行コードを挿入することで、他のDLLインジェクション技法と衝突せずに安定してDLLインジェクションを行える。

Description

本発明は、DLLインジェクション機能を持つコンピュータ装置及びDLLインジェクション方法に係り、さらに詳細には、ランチャーが行われて子プロセスとして対象プロセスが行われる時にDLLインジェクションを行う装置及び方法に関する。
DLLインジェクションとは、他のプロセスに特定DLLを強制に挿入させることをいう。すなわち、他のプロセスが行われる過程で強制に挿入したDLLをロードさせて処理させることである。DLLインジェクションは、ルートキットをはじめとしてウイルス及び悪性コードなどいろいろな分野で使われ、強制に挿入されたDLLは該プロセスのメモリへの接近権限を持つので、フッキング及び機能追加などによりプロセスを容易に制御する。
既存の代表的なDLLインジェクション技術としては、SetWindowsHookEx()関数を使う方法、CreateRemoteThread()関数を使う方法及びレジストリの値を操作する方法などがある。このような既存のDLLインジェクション方法では、ユーザがプロセスを始めれば該プロセスがメモリに積載され、積載されたプロセスが行われつつDLLインジェクションが行われる。
以上のような既存のDLLインジェクション技法は、同じプロセスに対して同時に適用されることで衝突が発生する場合があり、DLLインジェクション時点が動作環境の影響を受けて変わるか、または同じ環境であっても毎動作瞬間に変わりうるので、失敗する可能性がある。
本発明が解決しようとする技術的課題は、既存のDLLインジェクション技法に比べて安定性が高く、他のDLLインジェクション技法と衝突する恐れのないDLLインジェクション機能を持つコンピュータ装置及びDLLインジェクション方法を提供するところにある。
本発明が解決しようとする他の技術的課題は、既存のDLLインジェクション技法に比べて安定性が高く、他のDLLインジェクション技法と衝突する恐れのないDLLインジェクション機能を持つコンピュータ装置及びDLLインジェクション方法をコンピュータで行わせるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するところにある。
前記技術的課題を解決すための本発明によるDLLインジェクション機能を持つコンピュータ装置は、対象プロセスにDLLインジェクションを行うためのインジェクションプログラム及び運用体制を行うプロセッサと、前記運用体制、前記インジェクションプログラム及び前記対象プロセスが保存されるメモリと、を備え、前記インジェクションプログラムは、ランチャープロセスを行って前記ランチャープロセスの子プロセスとして前記対象プロセスを生成し、前記対象プロセスを中止(suspend)モードに設定するプロセス生成モジュールと、前記対象プロセスのプロセスハンドルを用いて前記対象プロセスが積載されたメモリ領域を割り当てられ、前記対象プロセスにインジェクションしようとするDLLファイルを行うコードを挿入するコード挿入モジュールと、前記対象プロセスの中止モードを解除して前記対象プロセスを行わせる復元モジュールと、を備える。
前記技術的課題を解決すための、本発明によるDLLインジェクション方法は、(a)運用体制から、ユーザが実行を命令したプログラムに対応する対象プロセスの生成如何を通知される段階と、(b)ランチャープロセスを行って前記ランチャープロセスの子プロセスとして前記対象プロセスを生成し、前記対象プロセスを中止モードに設定する段階と、(c)前記対象プロセスのプロセスハンドルを用いて前記対象プロセスの積載されたメモリ領域を割り当てられ、前記対象プロセスにインジェクションしようとするDLLファイルを行うコードを挿入する段階と、(d)前記対象プロセスの中止モードを解除して前記対象プロセスを行わせる段階と、を含む。
本発明によるDLLインジェクション機能を持つコンピュータ装置及びDLLインジェクション方法によれば、中止モードで生成された対象プロセスのメモリ領域にDLL実行コードを挿入することで、他のDLLインジェクション技法と衝突せずに安定してDLLインジェクションを行える。また対象プロセスをシステム権限で行うことで、DLLインジェクションを行う他のプロセスが対象プロセスに対して行われることを防止する。
本発明によるDLLインジェクション機能を持つコンピュータ装置についての望ましい実施形態の構成を示すブロック図である。 インジェクションプログラムの構成を示す図面である。 コード挿入モジュールによって行われるインジェクションコードの挿入過程を示すフローチャートである。 PE構造の構成を示す図面である。 権限変更モジュールによって対象プログラムをシステム権限で行わせる過程を示すフローチャートである。 本発明によるDLLインジェクション方法についての望ましい実施形態の実行過程を示すフローチャートである。
以下、添付した図面を参照して、本発明によるDLLインジェクション機能を持つコンピュータ装置及びDLLインジェクション方法の望ましい実施形態について詳細に説明する。
図1は、本発明によるDLLインジェクション機能を持つコンピュータ装置についての望ましい実施形態の構成を示すブロック図である。図1を参照すれば、本発明によるDLLインジェクション機能を持つコンピュータ装置は、プロセッサ110及びメモリ120を備える。
プロセッサ110は、特に、メモリ120に保存されたソフトウェアを行うためのハードウェアデバイスである。またプロセッサ110は、任意の注文製作または商用で入手できるプロセッサ、中央処理装置(CPU)、コンピュータと連関したいくつかのプロセッサのうち補助プロセッサ、半導体基盤マイクロプロセッサ、マクロプロセッサまたは一般的にソフトウェア命令語を行うための任意のデバイスである。
図1に示したように、プロセッサ110は運用体制112を実行し、運用体制112は、メモリ120に保存される。またプロセッサ110は、メモリ120に保存されているプログラムアプリケーション122からコンピュータプログラム指示事項を検索して実行し、インジェクションプログラム114を実行する。この時、インジェクションプログラム114はドライバ形態に具現され、レジストリ設定により運用体制112の起動時に適切な時点に自動で実行され、共通プログラムアプリケーションの一要素として具現されることもある。
メモリ120は、揮発性メモリ要素、例えば、RAM(DRAM、SRAM及びSDRAMなど及び非揮発性メモリ要素、例えば、ROM、消去可能なプログラマブル読み取り専用メモリ(EPROM)、電気的消去可能なプログラマブル読み取り専用メモリ(EEPROM)、プログラマブル読み取り専用メモリ(PROM)、テープ、コンパクトディスク読み取り専用メモリ(CD−ROM)、ディスク、ディスケット、カートリッジ、カセットなどのうちいずれか一つまたはこれらの結合を含む。さらには、メモリ120は、電子的、磁気的、光学的及び/または他のタイプの記録媒体を採択する。メモリ120は、多様なコンポネントが互いから遠く離れて位置している分散アキテクチャーを持つが、プロセッサ110によってアクセスされる。
また図1に示したように、メモリ120には文書、マルチメディアファイル及びデータファイルなどのプログラムデータ124が保存され、さらには、メモリ120の一部空間をインジェクションプログラム114が使える。このようにメモリ120に保存されたソフトウェアは、一つ以上の個別プログラムを含み、それぞれのプログラムは、論理的機能を具現するための実行可能命令語の整列されたリストを含む。
図1のインジェクションプログラム114は、対象プロセスにDLLインジェクションを行うためのものであり、図2には、インジェクションプログラム114の構成が示されている。図2を参照すれば、インジェクションプログラム114は、プロセス生成モジュール114−1、コード挿入モジュール114−2及び復元モジュール114−3からなって対象プロセスの実行完了前にDLLインジェクションを行う。
既存のDLLインジェクション技法では、ユーザからプロセス実行命令が入力されれば、該プロセスがメモリに積載された後で行われつつDLLインジェクションが行われる。しかし、前述したように、このような既存のDLLインジェクション技法は、失敗または他のDLLインジェクション技法との衝突可能性がある。
したがって、本発明で提案するインジェクションプログラム114は、ランチャープロセスを行って対象プロセスを子プロセスとして行うが、対象プロセスが積載されたメモリ領域にDLLファイルの経路を示すインジェクションコードを挿入することで、対象プロセスの実行前にDLLインジェクションを行わせる。
プロセス生成モジュール114−1は、ランチャープロセスを行ってランチャープロセスの子プロセスとして対象プロセスを生成し、生成した対象プロセスを中止モードに設定する。これは、対象プロセスが実行のためにメモリに積載された状態で、プロセス実行の完了前にインジェクションコードを挿入するためである。また対象プロセスは、ランチャープロセスの子プロセスとして生成されるので、プロセス生成モジュール114−1は、‘実行プロセス経路’及び‘実行プロセスパラメータ’を入力して子プロセスを生成する。
このように本発明で提案するインジェクションプログラム114が、中止モードとして実行が中止された対象プロセスのメモリ領域にインジェクションコードを挿入した後、中止モードを解除して対象プロセスを行わせれば、DLLインジェクションの時点が調節できてDLLインジェクションの失敗を防止する。
次いで、コード挿入モジュール114−2は、対象プロセスのプロセスハンドルを用いて対象プロセスの積載されたメモリ領域を割り当てられ、インジェクションしようとするDLLファイルの経路を示すインジェクションコード(Load DLL Code)を挿入する。
図3は、コード挿入モジュールによって行われるインジェクションコードの挿入過程を示すフローチャートである。
プロセス生成モジュール114−1によって対象プロセスが子プロセスとして生成されたので、コード挿入モジュール114−2は、対象プロセスのメモリ領域に直接近付けられる権限を持つ。したがって、コード挿入モジュール114−2は、対象プロセスの生成過程で得られたプロセスハンドルを用いてメモリ120で対象プロセスが積載された位置を探し、該位置から実行コードを読み込む(S210)。
コード挿入モジュール114−2が読み込んだ実行コードは、マイクロソフトで支援する実行ファイルの形式であるPE(Portable Excutable)構造を持つ。図4には、PE構造の構成が示されている。コード挿入モジュール114−2は、実行コードがPE構造であるかどうかを確認するために、図4に示した構成のIMAGE_DOS_HEADERの最初の2バイトがIMAGE_DOS_SIGNATURE(文字MZ)であるかどうかを確認する。またIMAGE_NT_HEADERの最初の4バイトがIMAGE_NT_SIGNATURE(文字PE00)であるかどうかを確認する。その結果、実行コードがPE構造を持つと確認されれば、PE構造からエントリーポイント(EntryPoint)を探す(S220)。
次いで、コード挿入モジュール114−2は、プロセスハンドルを用いてプロセス仮想メモリ領域の一部を割り当てられる(S230)。割り当てられたメモリ領域は、今後挿入されるLoad DLL Codeが保存されるための空間である。また地域変数にLoadLibraryを呼び出し、元のエントリーポイントにリターンさせるLoad DLL Codeを作成して記録する(S240)。
実行コードのエントリーポイントを変更して対象プログラムの実行過程でLoadDLL Codeを行わせるためには、エントリーポイントの接近権限を書き込み可能な(writable)状態に変更せねばならない(S250)。またコード挿入モジュール114−2は、Load DLL Codeが実行された後、元のエントリーポイントにリターンできるように、前記で生成された地域変数の一部であるBackupEntryに変更前の現在のエントリーポイントを保存する(S260)。
次いで、コード挿入モジュール114−2は、前記で割り当てられた仮想メモリ領域に地域変数に保存しているLoad DLL Codeを挿入し(S270)、書き込み可能な状態に変更されたエントリーポイントに、Load DLL Codeの位置に移動するためのジャンプコード(Jump Code)を挿入する(S280)。
以上で説明した過程によって、DLLインジェクションのためのLoad DLLCodeの挿入過程が完了する。最後にコード挿入モジュール114−2は、エントリーポイントへの接近権限を元の状態で復旧させる(S290)。このように対象プロセスのメモリ領域にLoad DLL Codeが挿入された後、復元モジュール114−3は、対象プロセスの中止モードを解除し、対象プロセスを正常に行わせる。この時、コード挿入モジュール114−2によって対象プロセスのメモリ領域に挿入されたLoad DLL CodeによってインジェクションされたDLLが対象プロセスと共に行われる。
一方、インジェクションプログラム114が対象プロセスを中止モードで実行してDLLインジェクションを行うのは、他のDLLインジェクション技法との衝突を防止して安定的にDLLインジェクションを行わせるためである。このためには、前述したようにDLLインジェクションの時点を異ならせるだけではなく、対象プロセスを他のDLLインジェクション技法から防御する必要がある。
一般的なDLLインジェクション方式では、ユーザ権限での対象プロセスの実行時に同一にユーザ権限で行われていたDLLインジェクションを試みるプロセスが対象プロセスの実行を感知し、DLLインジェクションを試みる。それによってDLLインジェクションが成功し、対象プロセスが行われる時にインジェクションされたDLLがロードされて共に行われる。
本発明で提案するインジェクションプログラム114には権限変更モジュール114−4がさらに備えられ、ユーザ権限で行われるプロセスによるDLLインジェクションから対象プロセスを防御するために、対象プロセスをシステム権限で行う。これにより、一般的なDLLインジェクションプロセスは権限の高いプロセスについてのDLLインジェクションに失敗し、インジェクションプログラム114は、他のDLLインジェクション技法の対象プロセスへの適用を回避すると共に、安定してDLLインジェクションを行える。
図5は、権限変更モジュール114−4によって対象プログラムをシステム権限で行わせる過程を示すフローチャートである。図5を参照すれば、権限変更モジュール114−4は、先ず、すべてのウィンドウズ(登録商標)運用体制で常にシステム権限で動作しているプロセス、例えば、‘winlogon.exe’のプロセスIDを得る(S410)。プロセスIDを得る方式としては、マイクロソフト社でプロセス情報を得られるように提供するTool Helpライブラリのスナップショット方式を使う。
次いで、権限変更モジュール114−4は、得たプロセスIDを使って‘winlogon.exe’のプロセスハンドルを開き(S420)、これを使って‘winlogon.exe’のトークンを開く(S430)。一つのトークンには、ログオンセッションについての保安情報が含まれており、ユーザが運用体制にログオンする時に作られた一つのトークンをコピーし、ユーザーが行うすべてのプロセスが行われる。
ウィンドウズ運用体制では、それぞれのユーザを独立して管理するためにセッションで権限を管理するが、基本的に一つのユーザがログオンすれば、一つのセッションを割り当てられて、割り当てられたセッション内で作業を行う。ログオンしたユーザに割り当てられるセッションと類似した方式で、最上位権限であるシステムについてもセッションが割り当てられ、運用体制内部の重要な作業が処理される。
したがって、権限変更モジュール114−4がシステム権限で動作する‘winlogon.exe’のトークンを得ることは、システムに割り当てられたセッションに対象プロセスを進入させるための権限獲得の意味を持つ。
次いで、権限変更モジュール114−4は、得たトークンをコピーして新たなトークンを生成する(S450)。コピーされたトークンは、‘winlogon.exe’のシステム権限を内包している。一方、現在ローカルシステムを区分できる値であるLUIDを得て(S440)、コピーしたトークンを使えるように権限を変更する(S460)。
最後に、権限変更モジュール114−4は、プロセス生成モジュール114−1がコピーされたトークンを使って対象プロセスを生成させる(S470)。この時、プロセス経路及びプロセスパラメータを指定することで、所望のプロセスを生成する。また本発明で対象プロセスが、本発明によるDLLインジェクション装置の子プロセスとして生成されるという点は、前述した通りである。一方、プロセス生成モジュール114−1は、運用体制でシステム権限で動作するプロセスのプロセスIDを使って、対象プロセスではないランチャープロセスをシステム権限で行え、それによって生成される子プロセスである対象プロセスもシステム権限で行われる。
以後、対象プロセスはシステム権限で行われ、コード挿入モジュール114−2は、外部プロセスによるDLLインジェクションの影響を受けず、対象プロセスが積載されたメモリ領域にLoad DLL Codeを挿入して所望のDLLを行わせる。
以上で説明したような、権限変更モジュール114−4によるDLLインジェクション防御技法は、DLLインジェクション技法を分析してDLLインジェクションの発生をモニタリングすることで防御する既存の技法に比べて、根本的に対象プロセスをDLLインジェクションから防御できるという効果を持つ。
図6は、本発明によるDLLインジェクション方法についての望ましい実施形態の実行過程を示すフローチャートである。図6を参照すれば、運用体制112からユーザが実行を命令したプログラムに対応する対象プロセスの生成如何が通知されれば(S510)、インジェクションプログラム114のプロセス生成モジュール114−1は、ランチャープロセスを行ってランチャープロセスの子プロセスとして対象プロセスを生成し、生成された対象プロセスを中止モードに設定する(S520)。この時、前述したように、権限変更モジュール114−4がシステム権限で行われる‘winlogon.exe’のトークンをコピーし、対象プロセスをシステム権限で生成させる。
次いで、コード挿入モジュール114−2は、対象プロセスのプロセスハンドルを用いて対象プロセスが積載されたメモリ領域を割り当てられ、対象プロセスにインジェクションしようとするDLLファイルを行うコードを挿入する(S530)。コード挿入モジュール114−2の詳細な動作は、前記図3を参照して説明した通りである。
コード挿入モジュール114−2によって対象プロセスのメモリ領域にDLLファイルを行うためのLoad DLL Codeが挿入されれば、復元モジュール114−3は、対象プロセスの中止モードを解除して対象プロセスを行わせる(S540)。
本発明はまた、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現できる。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取られるデータが保存される全種の記録装置を含む。コンピュータで読み取り可能な記録媒体の例には、ROM、RAM、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などがあり、またキャリアウェーブ(例えば、インターネットを通じる送信)の形態で具現されるものも含む。またコンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードが保存されて実行される。
以上、本発明の望ましい実施形態について図示して説明したが、本発明は前述した特定の望ましい実施形態に限定されず、特許請求の範囲で請求する本発明の趣旨を逸脱せずに当業者ならば多様な変形実施が可能であるということはいうまでもなく、かかる変更は特許請求の範囲に記載の範囲内にある。

Claims (7)

  1. 対象プロセスにDLLインジェクションを行うためのインジェクションプログラム及び運用体制を行うプロセッサと、
    前記運用体制、前記インジェクションプログラム及び前記対象プロセスが保存されるメモリと、を備え、
    前記インジェクションプログラムは、
    ランチャープロセスを行って前記ランチャープロセスの子プロセスとして前記対象プロセスを生成し、前記対象プロセスを中止(suspend)モードに設定するプロセス生成モジュールと、
    前記対象プロセスのプロセスハンドルを用いて前記対象プロセスが積載されたメモリ領域を割り当てられ、前記対象プロセスにインジェクションしようとするDLLファイルを行うコードを挿入するコード挿入モジュールと、
    前記対象プロセスの中止モードを解除して前記対象プロセスを行わせる復元モジュールと、を備えることを特徴とするコンピュータ装置。
  2. 前記インジェクションプログラムは、
    前記運用体制でシステム権限で動作するプロセスのプロセスIDを使って前記対象プロセスをシステム権限で行わせる権限変更モジュールをさらに備えることを特徴とする請求項1に記載のコンピュータ装置。
  3. 前記権限変更モジュールは、前記運用体制でシステム権限で動作するプロセスのプロセスIDを使って得られたプロセスハンドルによってトークンを開き、前記トークンをコピーし、
    前記プロセス生成モジュールは、前記コピーされたトークンを使って前記対象プロセスを生成することを特徴とする請求項2に記載のコンピュータ装置。
  4. 前記プロセス生成モジュールはね前記運用体制でシステム権限で動作するプロセスのプロセスIDを使って前記ランチャープロセスをシステム権限で行わせることを特徴とする請求項1に記載のコンピュータ装置。
  5. (a)運用体制から、ユーザが実行を命令したプログラムに対応する対象プロセスの生成如何を通知される段階と、
    (b)ランチャープロセスを行って前記ランチャープロセスの子プロセスとして前記対象プロセスを生成し、前記対象プロセスを中止モードに設定する段階と、
    (c)前記対象プロセスのプロセスハンドルを用いて前記対象プロセスの積載されたメモリ領域を割り当てられ、前記対象プロセスにインジェクションしようとするDLLファイルを行うコードを挿入する段階と、
    (d)前記対象プロセスの中止モードを解除して前記対象プロセスを行わせる段階と、を含むことを特徴とするDLLインジェクション方法。
  6. 前記(a)段階及び前記(b)段階の間に、
    (e)前記運用体制でシステム権限で動作するプロセスのプロセスIDを使って前記対象プロセスをシステム権限で行わせる段階をさらに含むことを特徴とする請求項5に記載のDLLインジェクション方法。
  7. 請求項5または6に記載のDLLインジェクション方法をコンピュータで行わせるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
JP2014508278A 2011-04-28 2012-03-12 Dllインジェクション機能を持つコンピュータ装置及びdllインジェクション方法 Pending JP2014518582A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020110039901A KR101242127B1 (ko) 2011-04-28 2011-04-28 Dll 인젝션 기능을 구비한 컴퓨팅 장치 및 dll 인젝션 방법
KR10-2011-0039901 2011-04-28
PCT/KR2012/001775 WO2012148080A2 (ko) 2011-04-28 2012-03-12 Dll 인젝션 기능을 구비한 컴퓨팅 장치 및 dll 인젝션 방법

Publications (2)

Publication Number Publication Date
JP2014518582A true JP2014518582A (ja) 2014-07-31
JP2014518582A5 JP2014518582A5 (ja) 2015-04-23

Family

ID=47072842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014508278A Pending JP2014518582A (ja) 2011-04-28 2012-03-12 Dllインジェクション機能を持つコンピュータ装置及びdllインジェクション方法

Country Status (5)

Country Link
US (1) US8875165B2 (ja)
EP (1) EP2704004B1 (ja)
JP (1) JP2014518582A (ja)
KR (1) KR101242127B1 (ja)
WO (1) WO2012148080A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019079289A (ja) * 2017-10-25 2019-05-23 システムインテリジェント株式会社 情報漏洩防止装置、及び情報漏洩防止プログラム
JP2021521563A (ja) * 2018-05-22 2021-08-26 ノートンライフロック インコーポレイテッド セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステム及び方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684824B (zh) * 2014-12-29 2021-09-03 北京奇虎科技有限公司 进程的权限配置方法及装置
US10083296B2 (en) * 2015-06-27 2018-09-25 Mcafee, Llc Detection of malicious thread suspension
CN106095482A (zh) * 2016-05-31 2016-11-09 宇龙计算机通信科技(深圳)有限公司 应用程序的冻结方法及装置
US10235161B2 (en) * 2017-02-06 2019-03-19 American Megatrends, Inc. Techniques of adding security patches to embedded systems
KR102146882B1 (ko) 2018-11-12 2020-08-21 주식회사 안랩 메시지 모니터링 장치 및 방법
CN111198723B (zh) * 2018-11-19 2023-03-07 深圳市优必选科技有限公司 一种进程注入方法、终端设备及计算机可读存储介质
KR101958933B1 (ko) * 2018-12-18 2019-03-18 주식회사 웨어밸리 소켓 인젝션을 통한 데이터베이스 내의 정보 수집 방법 및 장치
US11170126B2 (en) 2019-01-03 2021-11-09 Citrix Systems, Inc. Policy based notification protection service in workspace
US11307910B2 (en) * 2019-06-10 2022-04-19 Citrix Systems, Inc. Notification tagging for a workspace or application
CN111338922B (zh) * 2020-03-02 2023-04-11 武汉思普崚技术有限公司 Dll失效的检测方法及装置
CN111475229B (zh) * 2020-04-09 2021-01-15 广州锦行网络科技有限公司 一种Windows平台下的dll注入方法及***
US11681520B2 (en) 2021-04-20 2023-06-20 International Business Machines Corporation Software upgrading using dynamic link library injection

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141698A (en) * 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
US7039919B1 (en) * 1998-10-02 2006-05-02 Microsoft Corporation Tools and techniques for instrumenting interfaces of units of a software program
US6463583B1 (en) 1999-04-08 2002-10-08 Novadigm, Inc. Dynamic injection of execution logic into main dynamic link library function of the original kernel of a windowed operating system
US8769268B2 (en) * 2007-07-20 2014-07-01 Check Point Software Technologies, Inc. System and methods providing secure workspace sessions
US8578483B2 (en) * 2008-07-31 2013-11-05 Carnegie Mellon University Systems and methods for preventing unauthorized modification of an operating system
JP2011013955A (ja) * 2009-07-02 2011-01-20 Hitachi Systems & Services Ltd メディアチェック回避システム
US20120167057A1 (en) * 2010-12-22 2012-06-28 Microsoft Corporation Dynamic instrumentation of software code

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
CSNB200100185001; マックルー スチュアート: クラッキング防衛大全 不正アクセス手法の傾向とその対策 第1版, 20030205, pp.131-133, 株式会社翔泳社 SHOEISHA CO.,LTD. *
CSNB200200348001; リヒター ジェフリ: プログラミング Microsoft Windows 2000 -サービスによるサーバーアプリケーショ 第1版, 20001016, pp.520-523 *
CSND201100235008; 多田 政美: '一時的セキュア空間作成による情報の二次流出防止' PROVISION 第68巻, 20110209, pp.88-95 *
CSNG200700917005; 齊藤 正隆: 'API Hookを用いたWindowsプログラムのモビリティ向上ソフトウェアの作成' 電子情報通信学会技術研究報告 Vol.106 No.327 IEICE Technical Report 第106巻/第327号, 20061027, pp.25-30, 社団法人電子情報通信学会 The Institute of Electro *
JPN6014051148; 齊藤 正隆: 'API Hookを用いたWindowsプログラムのモビリティ向上ソフトウェアの作成' 電子情報通信学会技術研究報告 Vol.106 No.327 IEICE Technical Report 第106巻/第327号, 20061027, pp.25-30, 社団法人電子情報通信学会 The Institute of Electro *
JPN6014051150; マックルー スチュアート: クラッキング防衛大全 不正アクセス手法の傾向とその対策 第1版, 20030205, pp.131-133, 株式会社翔泳社 SHOEISHA CO.,LTD. *
JPN6014051152; リヒター ジェフリ: プログラミング Microsoft Windows 2000 -サービスによるサーバーアプリケーショ 第1版, 20001016, pp.520-523 *
JPN6014051153; 多田 政美: '一時的セキュア空間作成による情報の二次流出防止' PROVISION 第68巻, 20110209, pp.88-95 *
JPN6014051154; Alex SKALETSKY: 'Dynamic program analysis of Microsoft Windows applications' Proceedings of Performance Analysis of Systems & Software (ISPASS), 2010 IEEE International Symposiu , 20100330, pp.2-12 *
JPN6015011592; Alex SKALETSKY: 'Dynamic Program Analysis of Microsoft Windows Applications' Proceedings of 2010 IEEE International Symposium on Performance Analysis of System & Software(ISPASS , 20100330, pp.2-12 *
JPN6015011594; サイツ ジャスティン: リバースエンジニアリング 第1版, 20100524, pp.123-127, 株式会社オライリー・ジャパン オライリー ティム *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019079289A (ja) * 2017-10-25 2019-05-23 システムインテリジェント株式会社 情報漏洩防止装置、及び情報漏洩防止プログラム
JP2021521563A (ja) * 2018-05-22 2021-08-26 ノートンライフロック インコーポレイテッド セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステム及び方法
JP7060714B2 (ja) 2018-05-22 2022-04-26 ノートンライフロック インコーポレイテッド セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステム及び方法

Also Published As

Publication number Publication date
EP2704004B1 (en) 2016-02-03
EP2704004A4 (en) 2014-12-17
US8875165B2 (en) 2014-10-28
WO2012148080A3 (ko) 2013-01-03
EP2704004A2 (en) 2014-03-05
KR20120121973A (ko) 2012-11-07
US20140047461A1 (en) 2014-02-13
KR101242127B1 (ko) 2013-03-12
WO2012148080A2 (ko) 2012-11-01

Similar Documents

Publication Publication Date Title
JP2014518582A (ja) Dllインジェクション機能を持つコンピュータ装置及びdllインジェクション方法
US10460099B2 (en) System and method of detecting malicious code in files
KR101740224B1 (ko) 불법 모드 변경처리
US10083294B2 (en) Systems and methods for detecting return-oriented programming (ROP) exploits
CN102799817B (zh) 用于使用虚拟化技术进行恶意软件保护的***和方法
JP2018041438A5 (ja)
US9111096B2 (en) System and method for preserving and subsequently restoring emulator state
JP2014518582A5 (ja)
US20070113291A1 (en) Method for administrating the function access
JP7228751B2 (ja) 権限管理のための方法および装置、コンピュータ機器ならびに記憶媒体
JP2014516191A (ja) 仮想パーティションを監視するためのシステムおよび方法
KR20150063417A (ko) 데이터 처리장치와, 안전한 도메인 및 덜 안전한 도메인 사이에서 전환될 때 데이터 및 프로그램 코드를 안전하지 않은 액세스로부터 보호하는 방법
US20190286820A1 (en) Apparatus and method for detecting container rootkit
US20180025158A1 (en) System and method for detecting malware in a stream of bytes
WO2016126206A1 (en) Method for obfuscation of code using return oriented programming
CN115688092A (zh) 终端弱管控方法、装置、电子设备及存储介质
KR101207434B1 (ko) 이종의 디지털 문서 보호 시스템 간의 충돌 방지 시스템 및 방법
CN109388948B (zh) 一种基于虚拟化技术的潜在恶意软件分析方法及相关装置
EP3293660A1 (en) System and method of detecting malicious code in files
KR101653741B1 (ko) 실행 프로그램 동작 감시방법, 감시장치 및 이를 위한 컴퓨터 프로그램, 그 기록매체
CN116775147B (zh) 一种可执行文件处理方法、装置、设备及存储介质
JP7476140B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6364847B2 (ja) 主記憶アクセス制御装置、主記憶アクセス制御システム、主記憶アクセス制御方法、及び、主記憶アクセス制御プログラム
CN117688551A (zh) 启动路径白名单更新方法、装置、电子设备及存储介质
CN117150487A (zh) 一种动态链接库文件注入检测方法及装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20150227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150331

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150908