JP7353346B2 - ソフトウェアへの悪意あるプロセスの注入を防止するためのシステムおよび方法 - Google Patents
ソフトウェアへの悪意あるプロセスの注入を防止するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP7353346B2 JP7353346B2 JP2021202529A JP2021202529A JP7353346B2 JP 7353346 B2 JP7353346 B2 JP 7353346B2 JP 2021202529 A JP2021202529 A JP 2021202529A JP 2021202529 A JP2021202529 A JP 2021202529A JP 7353346 B2 JP7353346 B2 JP 7353346B2
- Authority
- JP
- Japan
- Prior art keywords
- running process
- running
- command
- malicious
- file
- 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
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/54—Monitoring 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 adding security routines or objects to 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Description
21 プロセッサ
22 システムメモリ
23 システムバス
27 取り外し可能記憶装置
28 非取り外し可能記憶装置
32 記憶装置インターフェース
35 オペレーティングシステム
37 アプリケーション
38 他のプログラムモジュール
39 プログラムデータ
40 入力デバイス
46 周辺インターフェース
47 ディスプレイデバイス
48 出力インターフェース
49 リモートコンピュータ
50 ローカルエリアネットワーク
51 ネットワークインターフェース
101 ユーザエンドポイントデバイス
109 エンドポイントデバイス
140 ネットワーク
201 アプリケーション
202 休止プロセス
211 ファイル規則
212 レジストリ規則
213 プロセス規則
219 カーネルドライバ、ファイルシステムおよびレジストリフィルタ、コールバック登録ドライバ
220 フィルタドライバ
221 プロセッサ
222 メモリ
Claims (21)
- 悪意あるプロセスの挿入を防止する方法であって、
オペレーティングシステムのカーネルモードのフィルタドライバによって、休止モードで動作している実行中のプロセスを監視することと、
監視されている各実行中のプロセスに対して、前記カーネルモードのフィルタドライバによって、
ダイナミックリンクライブラリ(Dynamic Link Library:DLL)を前記実行中のプロセスに注入して、前記実行中のプロセスに対応するアプリケーションのアプリケーションプログラミングインターフェース(Application Programming Interface:API)をフックすることであって、前記DLLは前記実行中のプロセスの休止および再開のコマンドを追跡するために注入される、フックすることと、
前記実行中のプロセスが前記休止モードの間に異常を検出するために前記アプリケーションのファイルの入出力を監視することと、
前記DLLを用いて前記実行中のプロセスを再開するコマンドが検出されたときに、前記監視に基づいて前記実行中のプロセスに悪意あるプロセスが挿入されているかどうかを判断することと、
前記実行中のプロセスに悪意あるプロセスが挿入されていないとの判断に応じて、休止プロセスの実行の再開を許可することと、
を含む、方法。 - 前記ファイルの入出力を監視することは、メモリへの書き込み操作が実施されたと判断することを少なくとも含む、請求項1に記載の方法。
- 前記ファイルの入出力を監視することは、ファイルのアドレス空間が変更されたと判断することを少なくとも含む、請求項1に記載の方法。
- メモリまたはアドレス空間に加えられた変更を専用のリポジトリに記録することと、
前記実行中のプロセスを再開する前記コマンドが検出されるときに、前記記録された変更を解析器に転送することと、
前記変更が前記悪意あるプロセスに関連しているかどうかを示す解析の結果を前記解析器から受信することと
をさらに含む、請求項1に記載の方法。 - 前記受信した解析の結果に基づいて、前記実行中のプロセスに前記悪意あるプロセスが挿入されたかどうかを判断するために使用される規則を更新することをさらに含む、請求項4に記載の方法。
- 前記実行中のプロセスを再開する前記コマンドは、前記オペレーティングシステムの内部コマンドとして使用されるカーネル関数を含む、請求項1に記載の方法。
- 前記実行中のプロセスの前記休止から前記実行中のプロセスの再開の前記コマンドの受信までの間にメモリへの書き込みが発生した場合に前記実行中のプロセスの前記再開をブロックすること、または、
前記実行中のプロセスの前記休止から前記実行中のプロセスの再開の前記コマンドの前記受信までの間にファイルのアドレス空間が置き換えられた場合に前記実行中のプロセスの前記再開をブロックすること
をさらに含む、請求項1に記載の方法。 - 悪意あるプロセスの挿入を防止するためのデバイスのシステムであって、前記デバイスは、
メモリと、
前記メモリと通信可能に結合され、かつユーザモードおよびカーネルモードで動作可能なオペレーティングシステム(Operating System:OS)を実行するように構成されたハードウェアプロセッサと、
前記ハードウェアプロセッサによって実行される前記カーネルモードのフィルタドライバと
を備え、前記フィルタドライバは、
休止モードで動作している実行中のプロセスを監視し、
監視されている各実行中のプロセスに対して、
ダイナミックリンクライブラリ(DLL)を前記実行中のプロセスに注入して、前記実行中のプロセスに対応するアプリケーションのアプリケーションプログラミングインターフェース(API)をフックし、前記DLLは前記実行中のプロセスの休止および再開のコマンドを追跡するために注入され、
前記実行中のプロセスが前記休止モードの間に異常を検出するために前記アプリケーションのファイルの入出力を監視し、
前記DLLを用いて前記実行中のプロセスを再開するコマンドが検出されたときに、前記監視に基づいて前記実行中のプロセスに悪意あるプロセスが挿入されているかどうかを判断し、
前記実行中のプロセスに悪意あるプロセスが挿入されていないとの判断に応じて、休止プロセスの実行の再開を許可する
ように構成される、システム。 - 前記ファイルの入出力を監視することは、前記メモリへの書き込み操作が実施されたと判断することを少なくとも含む、請求項8に記載のシステム。
- 前記ファイルの入出力を監視することは、ファイルのアドレス空間が変更されたと判断することを少なくとも含む、請求項8に記載のシステム。
- 前記フィルタドライバは、
前記メモリまたはアドレス空間に加えられた変更を専用のリポジトリに記録し、
前記実行中のプロセスを再開する前記コマンドが検出されるときに、前記記録された変更を解析器に転送し、
前記変更が前記悪意あるプロセスに関連しているかどうかを示す解析の結果を前記解析器から受信する
ようにさらに構成される、請求項8に記載のシステム。 - 前記フィルタドライバは、前記受信した解析の結果に基づいて、前記実行中のプロセスに前記悪意あるプロセスが挿入されたかどうかを判断するために使用される規則を更新するようにさらに構成される、請求項11に記載のシステム。
- 前記実行中のプロセスを再開する前記コマンドは、前記オペレーティングシステムの内部コマンドとして使用されるカーネル関数を含む、請求項8に記載のシステム。
- 前記フィルタドライバは、
前記実行中のプロセスの前記休止から前記実行中のプロセスの再開の前記コマンドの受信までの間に前記メモリへの書き込みが発生した場合に前記実行中のプロセスの前記再開をブロックするか、または、
前記実行中のプロセスの前記休止から前記実行中のプロセスの再開の前記コマンドの前記受信までの間にファイルのアドレス空間が置き換えられた場合に前記実行中のプロセスの前記再開をブロックする
ようにさらに構成される、請求項8に記載のシステム。 - 悪意あるプロセスの挿入を防止するためのコンピュータ実行可能命令を記憶した非一時的コンピュータ可読媒体であって、前記コンピュータ実行可能命令は、
オペレーティングシステムのカーネルモードのフィルタドライバによって、休止モードで動作している実行中のプロセスを監視することと、
監視されている各実行中のプロセスに対して、前記カーネルモードのフィルタドライバによって、
ダイナミックリンクライブラリ(DLL)を前記実行中のプロセスに注入して、前記実行中のプロセスに対応するアプリケーションのアプリケーションプログラミングインターフェース(API)をフックすることであって、前記DLLは前記実行中のプロセスの休止および再開のコマンドを追跡するために注入される、フックすることと、
前記実行中のプロセスが前記休止モードの間に異常を検出するために前記アプリケーションのファイルの入出力を監視することと、
前記DLLを用いて前記実行中のプロセスを再開するコマンドが検出されたときに、前記監視に基づいて前記実行中のプロセスに悪意あるプロセスが挿入されているかどうかを判断することと、
前記実行中のプロセスに悪意あるプロセスが挿入されていないとの判断に応じて、休止プロセスの実行の再開を許可することと、
の命令を含む、非一時的コンピュータ可読媒体。 - 前記ファイルの入出力を監視することは、メモリへの書き込み操作が実施されたと判断することを少なくとも含む、請求項15に記載の非一時的コンピュータ可読媒体。
- 前記ファイルの入出力を監視することは、ファイルのアドレス空間が変更されたと判断することを少なくとも含む、請求項15に記載の非一時的コンピュータ可読媒体。
- 前記命令は、
メモリまたはアドレス空間に加えられた変更を専用のリポジトリに記録することと、
前記実行中のプロセスを再開する前記コマンドが検出されるときに、前記記録された変更を解析器に転送することと、
前記変更が前記悪意あるプロセスに関連しているかどうかを示す解析の結果を前記解析器から受信することと、
の命令をさらに含む、請求項15に記載の非一時的コンピュータ可読媒体。 - 前記命令は、前記受信した解析の結果に基づいて、前記実行中のプロセスに前記悪意あるプロセスが挿入されたかどうかを判断するために使用される規則を更新すること、の命令をさらに含む、請求項18に記載の非一時的コンピュータ可読媒体。
- 前記実行中のプロセスの再開の前記コマンドは、前記オペレーティングシステムの内部コマンドとして使用されるカーネル関数を含む、請求項15に記載の非一時的コンピュータ可読媒体。
- 前記命令は、
前記実行中のプロセスの前記休止から前記実行中のプロセスの再開の前記コマンドの受信までの間にメモリへの書き込みが発生した場合に前記実行中のプロセスの前記再開をブロックすること、または、
前記実行中のプロセスの前記休止から前記実行中のプロセスの再開の前記コマンドの前記受信までの間にファイルのアドレス空間が置き換えられた場合に前記実行中のプロセスの前記再開をブロックすること、
の命令をさらに含む、請求項15に記載の非一時的コンピュータ可読媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063132043P | 2020-12-30 | 2020-12-30 | |
US63/132,043 | 2020-12-30 | ||
US17/542,556 US11874920B2 (en) | 2020-12-30 | 2021-12-06 | Systems and methods for preventing injections of malicious processes in software |
US17/542,556 | 2021-12-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022104878A JP2022104878A (ja) | 2022-07-12 |
JP7353346B2 true JP7353346B2 (ja) | 2023-09-29 |
Family
ID=78844594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021202529A Active JP7353346B2 (ja) | 2020-12-30 | 2021-12-14 | ソフトウェアへの悪意あるプロセスの注入を防止するためのシステムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11874920B2 (ja) |
EP (1) | EP4024248B1 (ja) |
JP (1) | JP7353346B2 (ja) |
CH (1) | CH718171A2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230013844A1 (en) * | 2021-07-09 | 2023-01-19 | New Millennium Technologies Llc | System and method for securing keyboard input to a computing device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014516191A (ja) | 2011-06-08 | 2014-07-07 | マカフィー, インコーポレイテッド | 仮想パーティションを監視するためのシステムおよび方法 |
JP2016105310A (ja) | 2012-08-28 | 2016-06-09 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | マルウェアプロセスの検出 |
JP2019061636A (ja) | 2017-09-25 | 2019-04-18 | エーオー カスペルスキー ラボAO Kaspersky Lab | ファイルのウイルス対策スキャン実行のため仮想マシン上にログを生成するシステム及び方法 |
US20200210580A1 (en) | 2018-03-16 | 2020-07-02 | Acronis International Gmbh | Systems and methods for protecting against malware code injections in trusted processes by a multi-target injector |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006101549A2 (en) * | 2004-12-03 | 2006-09-28 | Whitecell Software, Inc. | Secure system for allowing the execution of authorized computer program code |
US7647636B2 (en) * | 2005-08-24 | 2010-01-12 | Microsoft Corporation | Generic RootKit detector |
US8769268B2 (en) * | 2007-07-20 | 2014-07-01 | Check Point Software Technologies, Inc. | System and methods providing secure workspace sessions |
US8560295B1 (en) * | 2011-02-15 | 2013-10-15 | Xilinx, Inc. | Suspension of procedures in simulation of an HDL specification |
US9483642B2 (en) * | 2012-10-30 | 2016-11-01 | Gabriel Kedma | Runtime detection of self-replicating malware |
US9767283B2 (en) * | 2014-06-27 | 2017-09-19 | Mcafee, Inc. | System and method to mitigate malicious calls |
CN104715209B (zh) * | 2015-04-03 | 2017-08-01 | 山东华软金盾软件股份有限公司 | 一种外发文档加密保护方法 |
US10083296B2 (en) * | 2015-06-27 | 2018-09-25 | Mcafee, Llc | Detection of malicious thread suspension |
WO2017100364A1 (en) * | 2015-12-07 | 2017-06-15 | Prismo Systems Inc. | Systems and methods for detecting and responding to security threats using application execution and connection lineage tracing |
US10169586B2 (en) * | 2016-12-31 | 2019-01-01 | Fortinet, Inc. | Ransomware detection and damage mitigation |
KR101781780B1 (ko) * | 2017-03-03 | 2017-10-23 | 국방과학연구소 | 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템 및 방법 |
-
2021
- 2021-12-06 US US17/542,556 patent/US11874920B2/en active Active
- 2021-12-13 EP EP21214118.8A patent/EP4024248B1/en active Active
- 2021-12-14 CH CH70712/21A patent/CH718171A2/it unknown
- 2021-12-14 JP JP2021202529A patent/JP7353346B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014516191A (ja) | 2011-06-08 | 2014-07-07 | マカフィー, インコーポレイテッド | 仮想パーティションを監視するためのシステムおよび方法 |
JP2016105310A (ja) | 2012-08-28 | 2016-06-09 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | マルウェアプロセスの検出 |
JP2019061636A (ja) | 2017-09-25 | 2019-04-18 | エーオー カスペルスキー ラボAO Kaspersky Lab | ファイルのウイルス対策スキャン実行のため仮想マシン上にログを生成するシステム及び方法 |
US20200210580A1 (en) | 2018-03-16 | 2020-07-02 | Acronis International Gmbh | Systems and methods for protecting against malware code injections in trusted processes by a multi-target injector |
Also Published As
Publication number | Publication date |
---|---|
US11874920B2 (en) | 2024-01-16 |
JP2022104878A (ja) | 2022-07-12 |
CH718171A2 (it) | 2022-06-30 |
EP4024248C0 (en) | 2023-07-19 |
EP4024248A1 (en) | 2022-07-06 |
US20220207139A1 (en) | 2022-06-30 |
EP4024248B1 (en) | 2023-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11586736B2 (en) | Systems and methods for detecting malicious processes | |
US10242186B2 (en) | System and method for detecting malicious code in address space of a process | |
US9619649B1 (en) | Systems and methods for detecting potentially malicious applications | |
US10284564B1 (en) | Systems and methods for dynamically validating remote requests within enterprise networks | |
US10176329B2 (en) | Systems and methods for detecting unknown vulnerabilities in computing processes | |
US20180191779A1 (en) | Flexible Deception Architecture | |
JP6055574B2 (ja) | セキュアなオペレーティングシステム環境へのコンテキストベースのスイッチング | |
US9111089B1 (en) | Systems and methods for safely executing programs | |
US11762987B2 (en) | Systems and methods for hardening security systems using data randomization | |
US9942268B1 (en) | Systems and methods for thwarting unauthorized attempts to disable security managers within runtime environments | |
US11463463B1 (en) | Systems and methods for identifying security risks posed by application bundles | |
US11204992B1 (en) | Systems and methods for safely executing unreliable malware | |
US10318272B1 (en) | Systems and methods for managing application updates | |
US11170103B2 (en) | Method of detecting malicious files resisting analysis in an isolated environment | |
US10049214B2 (en) | Systems and methods for detecting malicious processes on computing devices | |
US10678917B1 (en) | Systems and methods for evaluating unfamiliar executables | |
JP7353346B2 (ja) | ソフトウェアへの悪意あるプロセスの注入を防止するためのシステムおよび方法 | |
US10043013B1 (en) | Systems and methods for detecting gadgets on computing devices | |
KR102149711B1 (ko) | 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 | |
US10290033B1 (en) | Method, system, and computer-readable medium for warning users about untrustworthy application payment pages | |
JP7404223B2 (ja) | 不正なメモリダンプ改変を防ぐシステムおよび方法 | |
US9501649B2 (en) | Systems and methods for determining potential impacts of applications on the security of computing systems | |
US10546125B1 (en) | Systems and methods for detecting malware using static analysis | |
US10547637B1 (en) | Systems and methods for automatically blocking web proxy auto-discovery protocol (WPAD) attacks | |
US11392696B1 (en) | Systems and methods for detecting code implanted into a published application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220817 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230816 |
|
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: 20230822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230919 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7353346 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |