JP7243834B2 - ソフトウェア解析装置、ソフトウェア解析方法及びプログラム - Google Patents
ソフトウェア解析装置、ソフトウェア解析方法及びプログラム Download PDFInfo
- Publication number
- JP7243834B2 JP7243834B2 JP2021537536A JP2021537536A JP7243834B2 JP 7243834 B2 JP7243834 B2 JP 7243834B2 JP 2021537536 A JP2021537536 A JP 2021537536A JP 2021537536 A JP2021537536 A JP 2021537536A JP 7243834 B2 JP7243834 B2 JP 7243834B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- software
- code
- control flow
- identifying
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow 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
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Description
以下、実施の形態1について説明する。
図1は、実施の形態1に係るソフトウェア解析装置10の構成を示すブロック図である。図1に示すように、ソフトウェア解析装置10は、機能特定手段11と、コントロールフロー特定手段12と、候補抽出手段13と、を備えている。
以下、実施の形態2について説明する。
まず、実施の形態2に係るソフトウェア解析装置の構成例について説明する。図2は、実施の形態2に係るソフトウェア解析装置110の構成を示すブロック図である。図2に示すように、ソフトウェア解析装置110は、機能特定手段111と、コントロールフロー特定手段112と、候補抽出手段113と、を備えている。
図3には、所定機能が認証機能である場合が示されている。ソフトウェアのコードのうち認証機能に繋がるコントロールフローからたどることができるノード及びコントロールフローに対応するコード部分が第2コード部分である。一方、ソフトウェアのコードのうち認証機能に繋がるコントロールフローからたどることのできないノード及びコントロールフローに対応するコード部分が第1コード部分である。認証機能は、ユーザーがソフトウェアにアクセスするユーザーのアクセス権限を確認するもので、ソフトウェアの各機能を呼び出す際に必ず経由する。つまり、ソフトウェアのコードのうち認証機能に繋がるコントロールフローからたどることのできない部分は、認証を経ずに呼び出されるコードであり、不正な機能である可能性が高いといえる。
図7は、図5のステップS103における処理の詳細を示すフローチャートである。図7に示すように、まず、ソフトウェアのコードのうち所定機能に繋がるコントロールフローからたどることのできる第2コード部分を抽出する(ステップS201)。続いて、ソフトウェアの全体のコードと第2コード部分との差分を抽出し、抽出した差分を第1コード部分とする(ステップS202)。
ソフトウェアのコード中に含まれる不正な機能または不要な機能の候補を抽出する方法として、以下に説明する参考形態も考えられる。本方法は、ソフトウェアを製作したメーカーから調達した全てのテストケースを試すことにより、当該ソフトウェアに備わっている全ての正規の機能の動作チェックを行うことができるはずである、という前提に基づくものである。
ソフトウェアのコード中に含まれる不正な機能または不要な機能の候補を抽出する方法として、以下に説明する参考形態も考えられる。本方法は、ソフトウェアを一定期間実行すれば、当該ソフトウェアに備わっている全ての、もしくはユーザーによく使われる、正規の機能が実行されるはずである、という前提に基づくものである。
11、111 機能特定手段
12、112 コントロールフロー特定手段
13、113 候補抽出手段
Claims (5)
- ソフトウェアのコード中における予め定められた所定機能を特定する機能特定手段と、
前記所定機能に繋がるコントロールフローを特定するコントロールフロー特定手段と、
前記ソフトウェアのコードのうち前記所定機能に繋がるコントロールフローからたどることのできない第1コード部分を、不正機能あるいは不要機能の候補として抽出する候補抽出手段と、を備えるソフトウェア解析装置。 - 前記所定機能は、認証機能、ユーザー入力を構文解析して該当するコマンドを実行するためのパーサ機能、入力インターフェース、あるいはメイン関数やメイン関数の事前処理のいずれかである、請求項1に記載のソフトウェア解析装置。
- 前記第1コード部分は、前記ソフトウェアの全体のコードと、ソフトウェアのコードのうち前記所定機能に繋がるコントロールフローからたどることのできる第2コード部分と、の差分とする、請求項1または2に記載のソフトウェア解析装置。
- ソフトウェア解析装置により、ソフトウェアのコード中における予め定められた所定機能を特定するステップと、
前記ソフトウェア解析装置により、前記所定機能に繋がるコントロールフローを特定するステップと、
前記ソフトウェア解析装置により、前記ソフトウェアのコードのうち前記所定機能に繋がるコントロールフローからたどることのできない第1コード部分を、不正機能あるいは不要機能の候補として抽出するステップと、を含むソフトウェア解析方法。 - ソフトウェアのコード中における予め定められた所定機能を特定するステップと、
前記所定機能に繋がるコントロールフローを特定するステップと、
前記ソフトウェアのコードのうち前記所定機能に繋がるコントロールフローからたどることのできない第1コード部分を、不正機能あるいは不要機能の候補として抽出するステップと、をコンピュータに実行させるプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/031466 WO2021024476A1 (ja) | 2019-08-08 | 2019-08-08 | ソフトウェア解析装置、ソフトウェア解析方法及びコンピュータ可読媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JPWO2021024476A1 JPWO2021024476A1 (ja) | 2021-02-11 |
JPWO2021024476A5 JPWO2021024476A5 (ja) | 2022-04-01 |
JP7243834B2 true JP7243834B2 (ja) | 2023-03-22 |
Family
ID=74502556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021537536A Active JP7243834B2 (ja) | 2019-08-08 | 2019-08-08 | ソフトウェア解析装置、ソフトウェア解析方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220276863A1 (ja) |
JP (1) | JP7243834B2 (ja) |
WO (1) | WO2021024476A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023062736A1 (ja) * | 2021-10-13 | 2023-04-20 | 日本電気株式会社 | 不正検知装置、不正検知方法、および不正検知プログラム |
WO2023062768A1 (en) * | 2021-10-14 | 2023-04-20 | Nec Corporation | Backdoor detecting apparatus, backdoor detecting method,and backdoor detecting program |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017505947A (ja) | 2013-12-27 | 2017-02-23 | マカフィー, インコーポレイテッド | 頻度に基づくレピュテーション |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3161715A1 (en) * | 2014-06-24 | 2017-05-03 | Virsec Systems, Inc. | System and methods for automated detection of input and output validation and resource management vulnerability |
US10282550B1 (en) * | 2015-03-12 | 2019-05-07 | Whitehat Security, Inc. | Auto-remediation workflow for computer security testing |
US9792443B1 (en) * | 2015-03-12 | 2017-10-17 | Whitehat Security, Inc. | Position analysis of source code vulnerabilities |
-
2019
- 2019-08-08 JP JP2021537536A patent/JP7243834B2/ja active Active
- 2019-08-08 WO PCT/JP2019/031466 patent/WO2021024476A1/ja active Application Filing
- 2019-08-08 US US17/631,743 patent/US20220276863A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017505947A (ja) | 2013-12-27 | 2017-02-23 | マカフィー, インコーポレイテッド | 頻度に基づくレピュテーション |
Also Published As
Publication number | Publication date |
---|---|
WO2021024476A1 (ja) | 2021-02-11 |
JPWO2021024476A1 (ja) | 2021-02-11 |
US20220276863A1 (en) | 2022-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102651061B (zh) | 用于检测复杂恶意软件的系统和方法 | |
JP7243834B2 (ja) | ソフトウェア解析装置、ソフトウェア解析方法及びプログラム | |
CN109684795B (zh) | 应用程序反调试的方法、装置及电子设备 | |
US20190325134A1 (en) | Neural network detection of malicious activity | |
KR101797484B1 (ko) | 리호스팅의 테스트를 수행하기 위한 방법 및 컴퓨팅 디바이스 | |
US11403388B2 (en) | Assignment device, assignment method, and assignment program | |
US20220277079A1 (en) | Backdoor inspection device, method, and non-transitory computer-readable medium | |
CN104123496A (zh) | 一种流氓软件的拦截方法及装置、终端 | |
KR102162024B1 (ko) | 동작 모델링 및 비교 분석을 이용한 이동통신네트워크의 이상 진단 장치 및 그 방법 | |
CN106919812B (zh) | 一种应用进程权限管理方法和装置 | |
JP7235126B2 (ja) | バックドア検査装置、バックドア検査方法、及びプログラム | |
KR20170036465A (ko) | 악성 코드 탐지 시스템 및 방법 | |
KR102412438B1 (ko) | 신원 검증 방법 및 장치 | |
JP5766650B2 (ja) | 情報処理装置、監視方法および監視プログラム | |
CN115310096A (zh) | 一种安全漏洞的处理方法、装置、设备及介质 | |
WO2021245939A1 (ja) | システム、方法、及び非一時的なコンピュータ可読媒体 | |
KR20190038018A (ko) | 프로그램 변조 방어 장치 및 방법 | |
KR20190095574A (ko) | IoT 장치에 대한 신뢰성 검증 시스템 | |
US11868744B2 (en) | Estimation of features corresponding to extracted commands used to divide code of software | |
KR20180002553A (ko) | 리호스팅의 테스트를 수행하기 위한 방법 및 컴퓨팅 디바이스 | |
JP7276465B2 (ja) | バックドア検査装置、バックドア検査方法、及びプログラム | |
US20240045973A1 (en) | Symbol narrowing-down apparatus, program analysis apparatus, symbol extraction method, program analysis method, and non-transitory computer readable medium | |
CN117131515B (zh) | 一种应用请求执行方法、装置、计算机设备和存储介质 | |
EP2083372A1 (en) | Application information falsification monitoring device and method | |
JP2006106939A (ja) | 侵入検知方法及び侵入検知装置並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220112 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230126 |
|
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: 20230207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230220 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7243834 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |