JP2007220091A - コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法 - Google Patents
コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法 Download PDFInfo
- Publication number
- JP2007220091A JP2007220091A JP2006351470A JP2006351470A JP2007220091A JP 2007220091 A JP2007220091 A JP 2007220091A JP 2006351470 A JP2006351470 A JP 2006351470A JP 2006351470 A JP2006351470 A JP 2006351470A JP 2007220091 A JP2007220091 A JP 2007220091A
- Authority
- JP
- Japan
- Prior art keywords
- computer system
- application program
- cross
- execution
- virtual machine
- 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
Links
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/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/561—Virus type analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Storage Device Security (AREA)
- Retry When Errors Occur (AREA)
Abstract
【解決手段】コンピューター・システムでアプリケーション・プログラムの如何なる実際の実行よりも前に並べ替えられた命令のシーケンスをもたらすためにアプリケーション・プログラム内で命令のサブセットについて順列が行われる。並べ替えられた命令のシーケンスの順列シーケンス番号が並べ替えられた命令ポインター・テーブルに格納される。並べ替えられた命令のシーケンスが並べ替えられた命令ポインター・テーブルに格納された並べ替えられた命令のシーケンスの順列シーケンス番号にしたがって、コンピューター・システム内でプロセッサーの実際のマシン・コードに並べ替えられた命令のシーケンスを翻訳できる実行モジュールにおいて実行される。
【選択図】図1
Description
11 変換モジュール
12、29 実行モジュール
21 ハードウェア構造
22 仮想計算機・マネージャー
23a、23b 仮想計算機
24、26 オペレーティング・システム
25、27 アプリケーション・プログラム
28 クロスコンパイラー
30 並べ替えられた命令ポインター・テーブル
Claims (36)
- コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法であって、
前記コンピューター・システムでアプリケーション・プログラムの如何なる実際の実行よりも前に並べ替えられた命令のシーケンスをもたらすために前記アプリケーション・プログラム内で命令のサブセットについて順列を行うステップと、
前記並べ替えられた命令のシーケンスの順列シーケンス番号を並べ替えられた命令ポインター・テーブルに格納するステップと、
前記並べ替えられた命令ポインター・テーブルに格納された前記並べ替えられた命令のシーケンスの前記順列シーケンス番号にしたがって、前記並べ替えられた命令のシーケンスをプロセッサーの実際のマシン・コードに翻訳できる前記コンピューター・システム内の実行モジュールにおいて、前記並べ替えられた命令のシーケンスを実行するステップとからなる方法。 - 前記アプリケーション・プログラムはコンピューター・システムにおいてクロスコンパイルされないで実行される請求項1記載の方法。
- 前記順列を実施するための第1の仮想計算機を備えるステップと、
前記実行を実施するための第2の仮想計算機を備えるステップとからなる請求項1記載の方法。 - 前記第1及び第2の仮想計算機を制御するために前記コンピューター・システム内に仮想計算機・マネージャーを備えるステップからなる請求項3記載の方法。
- 分離した区画において前記第1及び第2の仮想計算機を設置するステップからなる請求項3記載の方法。
- 前記第1及び第2の仮想計算機において異なるオペレーティング・システムを備えるステップからなる請求項3記載の方法。
- コンピューター・システム内で悪意あるソフトウェアの実行を防止するためのコンピューター・プログラムを有するコンピューターに使用可能な媒体であって、
前記コンピューター・システムでアプリケーション・プログラムの如何なる実際の実行よりも前に並べ替えられた命令のシーケンスをもたらすために前記アプリケーション・プログラム内で命令のサブセットについて順列を行うためのプログラム・コード手段と、
前記並べ替えられた命令のシーケンスの順列シーケンス番号を並べ替えられた命令ポインター・テーブルに格納するためのプログラム・コード手段と、
前記並べ替えられた命令ポインター・テーブルに格納された前記並べ替えられた命令のシーケンスの前記順列シーケンス番号にしたがって、前記並べ替えられた命令のシーケンスをプロセッサーの実際のマシン・コードに翻訳できる前記コンピューター・システム内の実行モジュールにおいて、前記並べ替えられた命令のシーケンスを実行するためのプログラム・コード手段とからなるコンピューターに使用可能な媒体。 - 前記アプリケーション・プログラムはコンピューター・システムにおいてクロスコンパイルされないで実行される請求項7記載のコンピューターに使用可能な媒体。
- 前記順列を実施するための前記プログラム・コード手段を含む第1の仮想計算機を備えるためのプログラム・コード手段と、
実行のための前記プログラム・コード手段を含む第2の仮想計算機を備えるためのプログラム・コード手段とからなる請求項7記載のコンピューターに使用可能な媒体。 - 前記第1及び第2の仮想計算機を制御するために前記コンピューター・システム内に仮想計算機・マネージャーを備えるためのプログラム・コード手段を含む請求項9記載のコンピューターに使用可能な媒体。
- 分離した区画において前記第1及び第2の仮想計算機を設置するためのプログラム・コード手段を含む請求項9記載のコンピューターに使用可能な媒体。
- 前記第1及び第2の仮想計算機において異なるオペレーティング・システムを備えるためのプログラム・コード手段を含む請求項9記載のコンピューターに使用可能な媒体。
- 悪意あるソフトウェアの実行を防止することができるコンピューター・システムであって、
前記コンピューター・システムでアプリケーション・プログラムの如何なる実際の実行よりも前に並べ替えられた命令のシーケンスをもたらすために前記アプリケーション・プログラム内で命令のサブセットについて順列を行うための手段と、
前記並べ替えられた命令のシーケンスの順列シーケンス番号を格納するための並べ替えられた命令ポインター・テーブルと、
前記並べ替えられた命令ポインター・テーブルに格納された前記並べ替えられた命令のシーケンスの前記順列シーケンス番号にしたがって、前記並べ替えられた命令のシーケンスを前記コンピューター・システム内でプロセッサーの実際のマシン・コードに翻訳できる実行モジュールにおいて、前記並べ替えられた命令のシーケンスを実行するための手段とからなるコンピューター・システム。 - 前記アプリケーション・プログラムはコンピューター・システムにおいてクロスコンパイルされないで実行される請求項13記載のコンピューター・システム。
- 前記順列を実施するための手段を含む第1の仮想計算機と、
前記実行のための手段を含む第2の仮想計算機とからなる請求項13記載のコンピューター・システム。 - 前記第1及び第2の仮想計算機を制御するための仮想計算機・マネージャーを含む請求項15記載のコンピューター・システム。
- 前記第1及び第2の仮想計算機は分離した区画に設置されている請求項15記載のコンピューター・システム。
- 前記第1の仮想計算機でのオペレーティング・システムは前記第2の仮想計算機でのオペレーティング・システムと異なっている請求項15記載のコンピューター・システム。
- コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法であって、
前記コンピューター・システムでアプリケーション・プログラムの如何なる実際の実行よりも前に前記アプリケーション・プログラムのクロスコンパイルされたコードのセットをもたらすために前記アプリケーション・プログラムをクロスコンパイルするステップと、
前記コンピューター・システムでプロセッサーの実際のマシン・コードに前記アプリケーション・プログラムのクロスコンパイルされたコードのセットを認識し、翻訳できる実行モジュールにおいて、前記アプリケーション・プログラムのクロスコンパイルされたコードのセットを実行するステップとからなる方法。 - 前記アプリケーション・プログラムはコンピューター・システムにおいてクロスコンパイルされないで実行される請求項19記載の方法。
- 前記クロスコンパイルを実施するための第1の仮想計算機を備えるステップと、
前記実行を実施するための第2の仮想計算機を備えるステップとからなる請求項19記載の方法。 - 前記第1及び第2の仮想計算機を制御するために前記コンピューター・システム内に仮想計算機・マネージャーを備えるステップからなる請求項21記載の方法。
- 分離した区画において前記第1及び第2の仮想計算機を設置するステップからなる請求項21記載の方法。
- 前記第1及び第2の仮想計算機において異なるオペレーティング・システムを備えるステップからなる請求項21記載の方法。
- コンピューター・システム内で悪意あるソフトウェアの実行を防止するためのコンピューター・プログラムを有するコンピューターに使用可能な媒体であって、
前記コンピューター・システムでアプリケーション・プログラムの如何なる実際の実行よりも前に前記アプリケーション・プログラムのクロスコンパイルされたコードのセットをもたらすために前記アプリケーション・プログラムをクロスコンパイルするためのプログラム・コード手段と、
前記コンピューター・システムでプロセッサーの実際のマシン・コードに前記アプリケーション・プログラムの前記クロスコンパイルされたコードのセットを認識し、翻訳できる実行モジュールにおいて、前記アプリケーション・プログラムの前記クロスコンパイルされたコードのセットを実行するためのプログラム・コード手段とからなるコンピューターに使用可能な媒体。 - 前記アプリケーション・プログラムはコンピューター・システムにおいてクロスコンパイルされないで実行される請求項25記載のコンピューターに使用可能な媒体。
- クロスコンパイルのための前記プログラム・コード手段を含む第1の仮想計算機を備えるためのプログラム・コード手段と、
実行のための前記プログラム・コード手段を含む第2の仮想計算機を備えるためのプログラム・コード手段とからなる請求項25記載のコンピューターに使用可能な媒体。 - 前記第1及び第2の仮想計算機を制御するために前記コンピューター・システム内に仮想計算機・マネージャーを備えるためのプログラム・コード手段を含む請求項27記載のコンピューターに使用可能な媒体。
- 分離した区画において前記第1及び第2の仮想計算機を設置するためのプログラム・コード手段を含む請求項27記載のコンピューターに使用可能な媒体。
- 前記第1及び第2の仮想計算機において異なるオペレーティング・システムを備えるためのプログラム・コード手段を含む請求項27記載のコンピューターに使用可能な媒体。
- 悪意あるソフトウェアの実行を防止することができるコンピューター・システムであって、
前記コンピューター・システムでアプリケーション・プログラムの如何なる実際の実行よりも前に前記アプリケーション・プログラムのクロスコンパイルされたコードのセットをもたらすために前記アプリケーション・プログラムをクロスコンパイルするための手段と、
前記コンピューター・システム内でプロセッサーの実際のマシン・コードに前記アプリケーション・プログラムのクロスコンパイルされたコードのセットを認識し、翻訳できる実行モジュールにおいて、前記アプリケーション・プログラムのクロスコンパイルされたコードのセットを実行するための手段とからなるコンピューター・システム。 - 前記アプリケーション・プログラムはコンピューター・システムにおいてクロスコンパイルされないで実行される請求項31記載のコンピューター・システム。
- 前記クロスコンパイルのための手段を含む第1の仮想計算機と、
前記実行のための手段を含む第2の仮想計算機とからなる請求項31記載のコンピューター・システム。 - 前記第1及び第2の仮想計算機を制御するための仮想計算機・マネージャーを含む請求項33記載のコンピューター・システム。
- 前記第1及び第2の仮想計算機は分離した区画に設置されている請求項33記載のコンピューター・システム。
- 前記第1の仮想計算機でのオペレーティング・システムは前記第2の仮想計算機でのオペレーティング・システムと異なっている請求項33記載のコンピューター・システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/353,896 US8041958B2 (en) | 2006-02-14 | 2006-02-14 | Method for preventing malicious software from execution within a computer system |
US11/353,893 US8694797B2 (en) | 2006-02-14 | 2006-02-14 | Method for preventing malicious software from execution within a computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007220091A true JP2007220091A (ja) | 2007-08-30 |
JP4575350B2 JP4575350B2 (ja) | 2010-11-04 |
Family
ID=37908644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006351470A Active JP4575350B2 (ja) | 2006-02-14 | 2006-12-27 | コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP4575350B2 (ja) |
DE (1) | DE102007005887B4 (ja) |
FR (1) | FR2897452B1 (ja) |
GB (1) | GB2436442B (ja) |
SG (1) | SG135173A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180019515A (ko) * | 2015-04-07 | 2018-02-26 | 런세이프 시큐리티, 인크. | 이진 및 메모리 다이버시티를 통한 난독화 시스템 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000056966A (ja) * | 1998-08-07 | 2000-02-25 | Nippon Telegr & Teleph Corp <Ntt> | マイクロプロセッサシステムおよびマイクロプロセッサ動作解析防止方法 |
JP2005085188A (ja) * | 2003-09-11 | 2005-03-31 | Fujitsu Ltd | プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置 |
JP2005532622A (ja) * | 2002-07-08 | 2005-10-27 | ジェムプリュス | 特にスマートカードにおけるダウンロードしたアプリケーションの機密保護化 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4042280B2 (ja) * | 1999-12-21 | 2008-02-06 | 富士ゼロックス株式会社 | 実行プログラムの生成方法及び実行プログラム生成装置、実行プログラムの実行方法、並びに、コンピュータ可読プログラム記憶媒体 |
US6507904B1 (en) * | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US7424620B2 (en) | 2003-09-25 | 2008-09-09 | Sun Microsystems, Inc. | Interleaved data and instruction streams for application program obfuscation |
US7363620B2 (en) | 2003-09-25 | 2008-04-22 | Sun Microsystems, Inc. | Non-linear execution of application program instructions for application program obfuscation |
US7493483B2 (en) | 2004-02-19 | 2009-02-17 | International Business Machines Corporation | Method to prevent vulnerability to virus and worm attacks through instruction remapping |
-
2006
- 2006-12-27 JP JP2006351470A patent/JP4575350B2/ja active Active
-
2007
- 2007-02-01 DE DE102007005887.1A patent/DE102007005887B4/de active Active
- 2007-02-13 FR FR0753234A patent/FR2897452B1/fr not_active Expired - Fee Related
- 2007-02-13 SG SG200701830-2A patent/SG135173A1/en unknown
- 2007-02-14 GB GB0702890A patent/GB2436442B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000056966A (ja) * | 1998-08-07 | 2000-02-25 | Nippon Telegr & Teleph Corp <Ntt> | マイクロプロセッサシステムおよびマイクロプロセッサ動作解析防止方法 |
JP2005532622A (ja) * | 2002-07-08 | 2005-10-27 | ジェムプリュス | 特にスマートカードにおけるダウンロードしたアプリケーションの機密保護化 |
JP2005085188A (ja) * | 2003-09-11 | 2005-03-31 | Fujitsu Ltd | プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180019515A (ko) * | 2015-04-07 | 2018-02-26 | 런세이프 시큐리티, 인크. | 이진 및 메모리 다이버시티를 통한 난독화 시스템 및 방법 |
KR102582628B1 (ko) * | 2015-04-07 | 2023-09-22 | 런세이프 시큐리티, 인크. | 이진 및 메모리 다이버시티를 통한 난독화 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
IE20070090A1 (en) | 2007-09-19 |
DE102007005887B4 (de) | 2019-06-13 |
SG135173A1 (en) | 2007-09-28 |
GB2436442A (en) | 2007-09-26 |
FR2897452A1 (fr) | 2007-08-17 |
IE20080383A1 (en) | 2008-08-20 |
DE102007005887A1 (de) | 2007-08-30 |
GB2436442B (en) | 2008-04-16 |
JP4575350B2 (ja) | 2010-11-04 |
GB0702890D0 (en) | 2007-03-28 |
FR2897452B1 (fr) | 2016-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8041958B2 (en) | Method for preventing malicious software from execution within a computer system | |
KR101213821B1 (ko) | 동적 변환을 통한 프로액티브 컴퓨터 말웨어 보호 | |
US7594111B2 (en) | Secure execution of a computer program | |
US7603704B2 (en) | Secure execution of a computer program using a code cache | |
RU2531861C1 (ru) | Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса | |
US8590041B2 (en) | Application sandboxing using a dynamic optimization framework | |
US8694797B2 (en) | Method for preventing malicious software from execution within a computer system | |
US7251735B2 (en) | Buffer overflow protection and prevention | |
Li et al. | Zipper stack: Shadow stacks without shadow | |
Arthur et al. | Getting in control of your control flow with control-data isolation | |
US10885184B1 (en) | Rearranging executables in memory to prevent rop attacks | |
CN111475168A (zh) | 一种代码编译方法及装置 | |
JP4575350B2 (ja) | コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法 | |
Yamiun et al. | Detecting windows based exploit chains by means of event correlation and process monitoring | |
US11361070B1 (en) | Protecting devices from remote code execution attacks | |
Kumar et al. | Protection against buffer overflow attacks through runtime memory layout randomization | |
Kosolapov | On detecting code reuse attacks | |
Kisore et al. | FFRR: a software diversity technique for defending against buffer overflow attacks | |
Wadhwani | JavaScript Metamorphic Malware Detection Using Machine Learning Techniques | |
GB2443764A (en) | Preventing malicious software from execution within a computer system | |
Fournaris et al. | VirISA: Recruiting Virtualization and Reconfigurable Processor ISA for Malicious Code Injection Protection | |
IE85016B1 (en) | Method for preventing malicious software from execution within a computer system | |
Xuewei et al. | An Approach of Code Pointer Hiding Based on a Resilient Area | |
Davidson et al. | Security protection of binary programs | |
Zolotarev et al. | Memory Obfuscation by Stack Randomization for Android Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100427 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100726 |
|
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: 20100817 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100819 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4575350 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130827 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130827 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |