JP6777732B2 - コンピューティングデバイスにおけるプロセスに対するソフトウェア攻撃の検出 - Google Patents
コンピューティングデバイスにおけるプロセスに対するソフトウェア攻撃の検出 Download PDFInfo
- Publication number
- JP6777732B2 JP6777732B2 JP2018513605A JP2018513605A JP6777732B2 JP 6777732 B2 JP6777732 B2 JP 6777732B2 JP 2018513605 A JP2018513605 A JP 2018513605A JP 2018513605 A JP2018513605 A JP 2018513605A JP 6777732 B2 JP6777732 B2 JP 6777732B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual memory
- memory areas
- structural attributes
- monitored
- vmr
- 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
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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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
- 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/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Description
この出願は、2015年9月17日に出願された「Detecting Software Attacks on Processes in Computing Devices」と題する米国仮出願第62/219,970号の優先権の利益を主張し、その内容全体が参照により本明細書に組み込まれる。
void foo(char *str) {
char buf[128];
strcopy(buf, str);
printf("input string stored on stack\n");
}
struct compare {
char buf[128];
voice (func*) (void);
}
void do_compare (struct compare *comp, char *one, char *two) {
strcpy(comp->buf, one);
strcat(comp->buf, two);
return comp->func(comp->buf, "/data/secretstore/");
}
102 中央処理装置(CPU)
104 メモリ
106 オペレーティングシステム
108 システムプロセス、プロセス
110 アプリケーションプロセス、プロセス
112 観測/分析ユニット
120 観測ユニット
122 抽出ユニット
124 分析ユニット
126 特徴付けユニット
200 プロセスアドレス空間
204 ユーザスタック
206 共有ライブラリ
208 libcライブラリ
208a VMR
210 ヒープ
212 メインテキスト
214 プログラムカウンタ(PC)
302 スタック
304 フロー図
312 スタック
314 フロー図
402 ヒープ
404 フロー図
412 ヒープ
414 フロー図
502 スタック
504 フロー図
600 VMR監視システム
602 監視される構造的属性
604 監視される構造的属性
606 監視される構造的属性
608 監視される構造的属性
610 監視される構造的属性
614 出力
700 システム
702 CPUコア
704 VMRカーネルドライバ
706 VMRトラッカーハードウェアブロック
708 データバッファ
710 VMRテーブル
712 VMR遷移ロガー
800 方法
900 方法
1000 方法
1100 通信デバイス
1102 プロセッサ
1104 タッチスクリーンコントローラ
1106 内部メモリ
1108 セルラーネットワークトランシーバ、トランシーバ
1110 アンテナ
1112 タッチスクリーンパネル
1114 スピーカ
1116 SIMカード
1117 セルラーネットワークワイヤレスモデムチップ
1120 ハウジング
1122 電源
1124 物理的ボタン
1126 電源ボタン
Claims (15)
- コンピューティングデバイス上で実行されるプロセスに対するソフトウェア攻撃を検出するための方法であって、
前記プロセスによって利用される複数の仮想メモリ領域の構造的属性を監視するステップであって、前記監視される構造的属性が、
前記複数の仮想メモリ領域のアドレス空間レイアウト、
前記複数の仮想メモリ領域に含まれる仮想メモリ領域の数、または、
前記複数の仮想メモリ領域に含まれる仮想メモリ領域のサイズ
を含む、ステップと、
前記監視される構造的属性を前記複数の仮想メモリ領域の予期される構造的属性と比較するステップと、
前記監視される構造的属性と前記予期される構造的属性との間の前記比較に基づいて、前記監視される構造的属性が前記プロセスの異常な挙動を表すかどうかを決定するステップと
を備える、方法。 - 前記監視される構造的属性が異常な挙動を表すという決定に応答して保護動作を開始するステップをさらに備える、請求項1に記載の方法。
- 前記プロセスによって利用される前記複数の仮想メモリ領域の前記構造的属性を監視するステップが、
前記アドレス空間レイアウトの変更を監視するステップ、
前記複数の仮想メモリ領域のアクセス許可の変更を監視するステップ、または、
前記複数の仮想メモリ領域の状態遷移履歴を監視するステップ
をさらに備える、請求項1に記載の方法。 - 前記プロセスによって利用される前記複数の仮想メモリ領域の前記構造的属性を監視するステップが、
前記プロセスが実行中の現在の仮想メモリ領域に関する情報を記憶するステップと、
前記プロセスによって現在実行されている命令に関する新しい情報を受信するステップと、
前記受信された新しい情報に基づいて、前記現在の仮想メモリ領域からの遷移があったかどうかを決定するステップと、
前記現在の仮想メモリ領域からの前記遷移があったという決定に応答して、前記現在の仮想メモリ領域から新しい仮想メモリ領域への前記遷移を記録するステップと
を備える、請求項1に記載の方法。 - 前記プロセスによって現在実行されている前記命令に関する前記新しい情報を受信するステップが、プログラムカウンタ値とプロセス識別子とを受信するステップを備える、請求項4に記載の方法。
- 前記プロセスによって利用される前記複数の仮想メモリ領域の構造的属性を監視するステップが、
前記プロセスが実行中の現在の仮想メモリ領域に関する情報を記憶するステップと、
前記複数の仮想メモリ領域上で1つまたは複数の仮想メモリ領域追跡戦略を実施するステップと、
前記1つまたは複数の仮想メモリ領域追跡戦略に基づいて、前記現在の仮想メモリ領域からの遷移があったかどうかを決定するステップと、
前記現在の仮想メモリ領域からの前記遷移があったという決定に応答して、前記現在の仮想メモリ領域から新しい仮想メモリ領域への前記遷移を記録するステップと
を備える、請求項1に記載の方法。 - 前記複数の仮想メモリ領域上で前記1つまたは複数の仮想メモリ領域追跡戦略を実施するステップが、前記複数の仮想メモリ領域上で選択的追跡、周期的追跡、日和見的追跡、またはページフォールトに基づく追跡を実施するステップを備える、請求項6に記載の方法。
- 前記監視される構造的属性を前記複数の仮想メモリ領域の前記予期される構造的属性と比較するステップが、前記監視される構造的属性にルールのセットを適用するステップを備え、ルールの前記セットが、前記複数の仮想メモリ領域の前記予期される構造的属性に基づく、請求項1に記載の方法。
- 前記監視される構造的属性を前記複数の仮想メモリ領域の前記予期される構造的属性と比較するステップが、
モデルを生成するために、前記複数の仮想メモリ領域の前記予期される構造的属性をモデル化するステップと、
前記監視される構造的属性を前記モデルと比較するステップと
を備える、請求項1に記載の方法。 - コンピューティングデバイスであって、
前記コンピューティングデバイス上で実行されるプロセスによって利用される複数の仮想メモリ領域の構造的属性を監視するための手段であって、前記監視される構造的属性が、
前記複数の仮想メモリ領域のアドレス空間レイアウト、
前記複数の仮想メモリ領域に含まれる仮想メモリ領域の数、または、
前記複数の仮想メモリ領域に含まれる仮想メモリ領域のサイズ
を含む、手段と、
前記監視される構造的属性を前記複数の仮想メモリ領域の予期される構造的属性と比較するための手段と、
前記監視される構造的属性と前記予期される構造的属性との間の前記比較に基づいて、前記監視される構造的属性が前記プロセスの異常な挙動を表すかどうかを決定するための手段と
を備える、コンピューティングデバイス。 - コンピューティングデバイスであって、
前記複数の仮想メモリ領域を備えるメモリと、
前記メモリに結合され、
前記コンピューティングデバイス上で実行されるプロセスによって利用される前記複数の仮想メモリ領域の前記構造的属性を監視することと、
前記監視される構造的属性を前記複数の仮想メモリ領域の前記予期される構造的属性と比較することと、
前記監視される構造的属性と前記予期される構造的属性との間の前記比較に基づいて、前記監視される構造的属性が前記プロセスの異常な挙動を表すかどうかを決定することと
を行うためのプロセッサ実行可能命令によって構成されたプロセッサと
を備える、請求項10に記載のコンピューティングデバイス。 - 前記プロセッサが、
前記監視される構造的属性が異常な挙動を表すという決定に応答して保護動作を開始するためのプロセッサ実行可能命令によってさらに構成される、請求項11に記載のコンピューティングデバイス。 - 前記プロセスによって利用される前記複数の仮想メモリ領域の前記構造的属性を監視するステップが、
前記アドレス空間レイアウトの変更を監視するステップ、
前記複数の仮想メモリ領域のアクセス許可の変更を監視するステップ、または、
前記複数の仮想メモリ領域の状態遷移履歴を監視するステップ
によって実行されるように、前記プロセッサが、プロセッサ実行可能命令によってさらに構成される、請求項11に記載のコンピューティングデバイス。 - 前記プロセッサが、
前記プロセスが実行中の現在の仮想メモリ領域に関する情報を記憶することと、
前記プロセスによって現在実行されている命令に関する新しい情報を受信することと、
前記受信された新しい情報に基づいて、前記現在の仮想メモリ領域からの遷移があったかどうかを決定することと、
前記現在の仮想メモリ領域からの前記遷移があったという決定に応答して、前記現在の仮想メモリ領域から新しい仮想メモリ領域への前記遷移を記録することと
によって、前記プロセスによって利用される前記複数の仮想メモリ領域の構造的属性を監視するために、プロセッサ実行可能命令によってさらに構成される、請求項11に記載のコンピューティングデバイス。 - コンピューティングデバイスのプロセッサに、
前記コンピューティングデバイス上で実行されるプロセスによって利用される複数の仮想メモリ領域の構造的属性を監視することであって、前記監視される構造的属性が、
前記複数の仮想メモリ領域のアドレス空間レイアウト、
前記複数の仮想メモリ領域に含まれる仮想メモリ領域の数、または、
前記複数の仮想メモリ領域に含まれる仮想メモリ領域のサイズ
を含む、監視することと、
前記監視される構造的属性を前記複数の仮想メモリ領域の予期される構造的属性と比較することと、
前記監視される構造的属性と前記予期される構造的属性との間の前記比較に基づいて、前記監視される構造的属性が前記プロセスの異常な挙動を表すかどうかを決定することと
を備える動作を実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した、コンピュータ可読記憶媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562219970P | 2015-09-17 | 2015-09-17 | |
US62/219,970 | 2015-09-17 | ||
US15/057,336 US10255434B2 (en) | 2015-09-17 | 2016-03-01 | Detecting software attacks on processes in computing devices |
US15/057,336 | 2016-03-01 | ||
PCT/US2016/046747 WO2017048426A1 (en) | 2015-09-17 | 2016-08-12 | Detecting software attacks on processes in computing devices |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018532187A JP2018532187A (ja) | 2018-11-01 |
JP2018532187A5 JP2018532187A5 (ja) | 2019-08-29 |
JP6777732B2 true JP6777732B2 (ja) | 2020-10-28 |
Family
ID=58282948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018513605A Active JP6777732B2 (ja) | 2015-09-17 | 2016-08-12 | コンピューティングデバイスにおけるプロセスに対するソフトウェア攻撃の検出 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10255434B2 (ja) |
EP (1) | EP3350741B1 (ja) |
JP (1) | JP6777732B2 (ja) |
KR (1) | KR102534334B1 (ja) |
CN (1) | CN108027859B (ja) |
TW (1) | TW201717086A (ja) |
WO (1) | WO2017048426A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2547272B (en) * | 2016-02-15 | 2020-07-15 | F Secure Corp | Improving security of computer resources |
JP6750674B2 (ja) * | 2016-04-26 | 2020-09-02 | 日本電気株式会社 | プログラム分析システム、プログラム分析方法、及び、コンピュータ・プログラム |
US10372909B2 (en) * | 2016-08-19 | 2019-08-06 | Hewlett Packard Enterprise Development Lp | Determining whether process is infected with malware |
US10783246B2 (en) | 2017-01-31 | 2020-09-22 | Hewlett Packard Enterprise Development Lp | Comparing structural information of a snapshot of system memory |
EP3413531A1 (en) * | 2017-06-07 | 2018-12-12 | Hewlett-Packard Development Company, L.P. | Intrusion detection systems |
US10706180B2 (en) * | 2017-07-07 | 2020-07-07 | Endgame, Inc. | System and method for enabling a malware prevention module in response to a context switch within a certain process being executed by a processor |
CN110188540B (zh) * | 2019-04-17 | 2021-06-22 | 中国科学院软件研究所 | 一种基于控制状态跟踪的rop攻击检测方法 |
US20210334373A1 (en) * | 2020-04-22 | 2021-10-28 | Arm Limited | Moderator system for a security analytics framework |
CN112307475A (zh) * | 2020-09-29 | 2021-02-02 | 北京软慧科技有限公司 | 一种系统检测方法及装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8955104B2 (en) | 2004-07-07 | 2015-02-10 | University Of Maryland College Park | Method and system for monitoring system memory integrity |
NO20050564D0 (no) | 2005-02-02 | 2005-02-02 | Tore Lysemose Hansen | Programmonitor for a identifisere uautorisert inntrenging i datasystemer |
EP1891520B1 (en) | 2005-06-07 | 2017-09-13 | VMware, Inc. | Constraint injection system for immunizing software programs against vulnerabilities and attacks |
US7996904B1 (en) | 2007-12-19 | 2011-08-09 | Symantec Corporation | Automated unpacking of executables packed by multiple layers of arbitrary packers |
US8271450B2 (en) | 2009-10-01 | 2012-09-18 | Vmware, Inc. | Monitoring a data structure in a virtual machine and determining if memory pages containing the data structure are swapped into or out of guest physical memory |
US9866426B2 (en) * | 2009-11-17 | 2018-01-09 | Hawk Network Defense, Inc. | Methods and apparatus for analyzing system events |
US8949169B2 (en) * | 2009-11-17 | 2015-02-03 | Jerome Naifeh | Methods and apparatus for analyzing system events |
KR101663013B1 (ko) | 2010-01-15 | 2016-10-06 | 삼성전자주식회사 | 코드 주입 공격을 감지하는 장치 및 방법 |
US9401922B1 (en) * | 2010-12-10 | 2016-07-26 | Verizon Patent And Licensing Inc. | Systems and methods for analysis of abnormal conditions in computing machines |
EP2691908B1 (en) * | 2011-03-28 | 2018-12-05 | McAfee, LLC | System and method for virtual machine monitor based anti-malware security |
US8584254B2 (en) | 2011-12-08 | 2013-11-12 | Microsoft Corporation | Data access reporting platform for secure active monitoring |
US9832211B2 (en) * | 2012-03-19 | 2017-11-28 | Qualcomm, Incorporated | Computing device to detect malware |
CN103729305B (zh) * | 2012-10-11 | 2017-09-08 | 财团法人工业技术研究院 | 虚拟机的存储器管理的方法和计算机系统 |
US10284591B2 (en) * | 2014-01-27 | 2019-05-07 | Webroot Inc. | Detecting and preventing execution of software exploits |
US9881153B2 (en) * | 2014-06-20 | 2018-01-30 | Leviathan, Inc. | System and method for detection of heap spray attack |
WO2017023773A1 (en) * | 2015-07-31 | 2017-02-09 | Digital Guardian, Inc. | Systems and methods of protecting data from injected malware |
-
2016
- 2016-03-01 US US15/057,336 patent/US10255434B2/en active Active
- 2016-08-12 WO PCT/US2016/046747 patent/WO2017048426A1/en active Application Filing
- 2016-08-12 JP JP2018513605A patent/JP6777732B2/ja active Active
- 2016-08-12 EP EP16758010.9A patent/EP3350741B1/en active Active
- 2016-08-12 CN CN201680053767.8A patent/CN108027859B/zh active Active
- 2016-08-12 KR KR1020187010607A patent/KR102534334B1/ko active IP Right Grant
- 2016-08-17 TW TW105126184A patent/TW201717086A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
KR102534334B1 (ko) | 2023-05-18 |
US10255434B2 (en) | 2019-04-09 |
TW201717086A (zh) | 2017-05-16 |
US20170083702A1 (en) | 2017-03-23 |
CN108027859A (zh) | 2018-05-11 |
WO2017048426A1 (en) | 2017-03-23 |
JP2018532187A (ja) | 2018-11-01 |
EP3350741A1 (en) | 2018-07-25 |
EP3350741B1 (en) | 2019-07-17 |
KR20180054726A (ko) | 2018-05-24 |
CN108027859B (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6777732B2 (ja) | コンピューティングデバイスにおけるプロセスに対するソフトウェア攻撃の検出 | |
US9898602B2 (en) | System, apparatus, and method for adaptive observation of mobile device behavior | |
EP3191960B1 (en) | Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors | |
KR101789962B1 (ko) | 이동 디바이스에서 거동 분석 동작들을 수행함으로써 애플리케이션 상태들을 추론하기 위한 방법 및 시스템 | |
US9158604B1 (en) | Lightweight data-flow tracker for realtime behavioral analysis using control flow | |
US9357411B2 (en) | Hardware assisted asset tracking for information leak prevention | |
US9519533B2 (en) | Data flow tracking via memory monitoring | |
US8863289B2 (en) | Portable security device and methods for detection and treatment of malware | |
US9823843B2 (en) | Memory hierarchy monitoring systems and methods | |
US11593473B2 (en) | Stack pivot exploit detection and mitigation | |
US11250126B2 (en) | Systems and methods for analyzing process chains to detect malicious behavior | |
US20210014243A1 (en) | Method and system for antivirus scanning of backup data at a centralized storage | |
Wang et al. | CrowdNet: identifying large-scale malicious attacks over android kernel structures | |
Grace et al. | Behaviour analysis of inter-app communication using a lightweight monitoring app for malware detection | |
US11429823B1 (en) | Systems and methods for dynamically augmenting machine learning models based on contextual factors associated with execution environments | |
US20180107823A1 (en) | Programmable Hardware Security Counters | |
US8402545B1 (en) | Systems and methods for identifying unique malware variants | |
EP3535681B1 (en) | System and method for detecting and for alerting of exploits in computerized systems | |
US10073968B1 (en) | Systems and methods for classifying files | |
US11314855B2 (en) | Detecting stack pivots using stack artifact verification | |
US20130218918A1 (en) | Claim based execution control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180320 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190718 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190718 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200824 |
|
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: 20200914 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201008 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6777732 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |