JP2011150716A - 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 - Google Patents
脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 Download PDFInfo
- Publication number
- JP2011150716A JP2011150716A JP2011048514A JP2011048514A JP2011150716A JP 2011150716 A JP2011150716 A JP 2011150716A JP 2011048514 A JP2011048514 A JP 2011048514A JP 2011048514 A JP2011048514 A JP 2011048514A JP 2011150716 A JP2011150716 A JP 2011150716A
- Authority
- JP
- Japan
- Prior art keywords
- vulnerability
- program
- variable
- function
- determination
- 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
Abstract
【解決手段】脆弱性に関する判定ルールであって、関数名と、該関数の引数であって不正な値が設定され得る引数の位置とが対応付けて予め定義される判定ルールを格納した記憶部から、前記判定ルールを読み込み、被監査プログラムの構文解析等を行い、前記構文解析が行われた被監査プログラムにおいて、値が外部から入力される変数を抽出し、処理フローに沿って追跡し、前記判定ルールに定義された関数及び該関数の引数の位置に、前記追跡された変数が使用されている場合(S32でY)に、該変数が比較演算子を含む条件式に用いられているか否か等を判定し、前記判定が否である場合に、警告メッセージを生成し、画面又はファイルに出力する(S44)。
【選択図】図6
Description
Claims (8)
- 被監査プログラムの脆弱性を検出する脆弱性監査方法をコンピュータに実行させるための脆弱性監査プログラムであって、
脆弱性に関する判定ルールであって、関数名と、該関数の引数であって不正な値が設定され得る引数の位置とが対応付けて予め定義される判定ルールを格納した記憶部から、前記判定ルールを読み込む判定ルール入力ステップと、
前記被監査プログラムを読み込み構文解析を行うプログラム入力ステップと、
前記構文解析が行われた被監査プログラムにおいて、値が外部から入力される変数を抽出し、処理フローに沿って追跡する処理フロー追跡ステップと、
前記被監査プログラムにおいて、前記判定ルールに定義された関数及び該関数の引数の位置に、前記追跡された変数が使用されている場合に、該変数を引数としてチェック関数をコールしているか否か、または該変数が比較演算子を含む条件式に用いられているか否かを判定する脆弱性判定ステップと、
前記脆弱性判定ステップによる判定が否である場合に、警告メッセージを生成し、画面又はファイルに出力する警告出力ステップと、
をコンピュータに実行させるための脆弱性監査プログラム。 - 請求項1に記載の脆弱性監査プログラムにおいて、
前記判定ルールは、ライブラリ関数における脆弱な引数の定義を含むことを特徴とする脆弱性監査プログラム。 - 請求項1に記載の脆弱性監査プログラムにおいて、
前記変数管理ステップにより管理される変数は、前記値が外部から入力される変数と、前記値が外部から入力される変数が関数等で処理された結果の変数を含むことを特徴とする脆弱性監査プログラム。 - 被監査プログラムの脆弱性を検出する脆弱性監査方法をコンピュータに実行させるための脆弱性監査プログラムであって、
脆弱性に関する判定ルールであって、関数名と、該関数の引数であって不正な値が設定され得る引数の位置とが対応付けて予め定義されるとともに、脆弱性に関するチェックをコンピュータに実行させるコードが予め定義される判定ルールを格納した記憶部から、前記判定ルールを読み込む判定ルール入力ステップと、
前記被監査プログラムを読み込み構文解析を行うプログラム入力ステップと、
前記構文解析が行われた被監査プログラムにおいて、値が外部から入力される変数を抽出し、処理フローに沿って追跡する処理フロー追跡ステップと、
前記被監査プログラムにおいて、前記判定ルールに定義された関数及び該関数の引数の位置に、前記追跡された変数が使用されている場合に、該変数を引数としてチェック関数をコールしているか否か、または該変数が比較演算子を含む条件式に用いられているか否かを判定する脆弱性判定ステップと、
前記脆弱性判定ステップによる判定が否である場合に、前記判定ルールに定義された脆弱性に関するチェックをコンピュータに実行させるコードを挿入することで、脆弱性について前記被監査プログラムの修正を行う修正出力ステップと、
をコンピュータに実行させる脆弱性監査プログラム。 - 被監査プログラムの脆弱性を検出する脆弱性監査装置であって、
脆弱性に関する判定ルールであって、関数名と、該関数の引数であって不正な値が設定され得る引数の位置とが対応付けて予め定義される判定ルールを格納した記憶部から、前記判定ルールを読み込む判定ルール入力部と、
前記被監査プログラムを読み込み構文解析を行うプログラム入力部と、
前記構文解析が行われた被監査プログラムにおいて、値が外部から入力される変数を抽出し、処理フローに沿って追跡する処理フロー追跡部と、
前記被監査プログラムにおいて、前記判定ルールに定義された関数及び該関数の引数の位置に、前記追跡された変数が使用されている場合に、該変数を引数としてチェック関数をコールしているか否か、または該変数が比較演算子を含む条件式に用いられているか否かを判定する脆弱性判定部と、
前記脆弱性判定部による判定が否である場合に、警告メッセージを生成し、画面又はファイルに出力する警告出力部と、
を有する脆弱性監査装置。 - 被監査プログラムの脆弱性を検出する脆弱性監査装置であって、
脆弱性に関する判定ルールであって、関数名と、該関数の引数であって不正な値が設定され得る引数の位置とが対応付けて予め定義されるとともに、脆弱性に関するチェックをコンピュータに実行させるコードが予め定義される判定ルールを格納した記憶部から、前記判定ルールを読み込む判定ルール入力部と、
前記被監査プログラムを読み込み構文解析を行うプログラム入力部と、
前記構文解析が行われた被監査プログラムにおいて、値が外部から入力される変数を抽出し、処理フローに沿って追跡する処理フロー追跡部と、
前記被監査プログラムにおいて、前記判定ルールに定義された関数及び該関数の引数の位置に、前記追跡された変数が使用されている場合に、該変数を引数としてチェック関数をコールしているか否か、または該変数が比較演算子を含む条件式に用いられているか否かを判定する脆弱性判定部と、
前記脆弱性判定部による判定が否である場合に、前記判定ルールに定義された脆弱性に関するチェックをコンピュータに実行させるコードを挿入することで、脆弱性について前記被監査プログラムの修正を行う修正出力部と、
を有する脆弱性監査装置。 - 脆弱性に関する判定ルールであって、関数名と、該関数の引数であって不正な値が設定され得る引数の位置とが対応付けて予め定義される判定ルールを格納した記憶部から、前記判定ルールを読み込む判定ルール入力ステップと、
前記被監査プログラムを読み込み構文解析を行うプログラム入力ステップと、
前記構文解析が行われた被監査プログラムにおいて、値が外部から入力される変数を抽出し、処理フローに沿って追跡する処理フロー追跡ステップと、
前記被監査プログラムにおいて、前記判定ルールに定義された関数及び該関数の引数の位置に、前記追跡された変数が使用されている場合に、該変数を引数としてチェック関数をコールしているか否か、または該変数が比較演算子を含む条件式に用いられているか否かを判定する脆弱性判定ステップと、
前記脆弱性判定ステップによる判定が否である場合に、警告メッセージを生成し、画面又はファイルに出力する警告出力ステップと、
をコンピュータが実行する脆弱性監査方法。 - 脆弱性に関する判定ルールであって、関数名と、該関数の引数であって不正な値が設定され得る引数の位置とが対応付けて予め定義されるとともに、脆弱性に関するチェックをコンピュータに実行させるコードが予め定義される判定ルールを格納した記憶部から、前記判定ルールを読み込む判定ルール入力ステップと、
前記被監査プログラムを読み込み構文解析を行うプログラム入力ステップと、
前記構文解析が行われた被監査プログラムにおいて、値が外部から入力される変数を抽出し、処理フローに沿って追跡する処理フロー追跡ステップと、
前記被監査プログラムにおいて、前記判定ルールに定義された関数及び該関数の引数の位置に、前記追跡された変数が使用されている場合に、該変数を引数としてチェック関数をコールしているか否か、または該変数が比較演算子を含む条件式に用いられているか否かを判定する脆弱性判定ステップと、
前記脆弱性判定ステップによる判定が否である場合に、前記判定ルールに定義された脆弱性に関するチェックをコンピュータに実行させるコードを挿入することで、脆弱性について前記被監査プログラムの修正を行う修正出力ステップと、
をコンピュータに実行させる脆弱性監査方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011048514A JP5077455B2 (ja) | 2011-03-07 | 2011-03-07 | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011048514A JP5077455B2 (ja) | 2011-03-07 | 2011-03-07 | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007503520A Division JPWO2006087780A1 (ja) | 2005-02-17 | 2005-02-17 | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011150716A true JP2011150716A (ja) | 2011-08-04 |
JP5077455B2 JP5077455B2 (ja) | 2012-11-21 |
Family
ID=44537582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011048514A Expired - Fee Related JP5077455B2 (ja) | 2011-03-07 | 2011-03-07 | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5077455B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013134573A (ja) * | 2011-12-26 | 2013-07-08 | Nec Corp | ソフトウェア修正装置、ソフトウェア修正システム、ソフトウェア修正方法、及び、ソフトウェア修正プログラム |
WO2014021190A1 (ja) * | 2012-08-01 | 2014-02-06 | 三菱電機株式会社 | プログラム実行装置及びプログラム解析装置 |
KR20190068495A (ko) * | 2019-02-28 | 2019-06-18 | 한국인터넷진흥원 | 취약 함수 사용에 의한 취약점을 보완하기 위한 바이너리 패치 장치 및 그 방법 |
US10628140B2 (en) | 2016-11-17 | 2020-04-21 | Mitsubishi Electric Corporation | Program code generation apparatus |
JP2020531936A (ja) * | 2017-06-29 | 2020-11-05 | Line株式会社 | アプリケーションの脆弱点を探知する方法およびシステム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004095176A2 (en) * | 2003-04-18 | 2004-11-04 | Ounce Labs, Inc. | Detecting vulnerabilities in source code |
-
2011
- 2011-03-07 JP JP2011048514A patent/JP5077455B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004095176A2 (en) * | 2003-04-18 | 2004-11-04 | Ounce Labs, Inc. | Detecting vulnerabilities in source code |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013134573A (ja) * | 2011-12-26 | 2013-07-08 | Nec Corp | ソフトウェア修正装置、ソフトウェア修正システム、ソフトウェア修正方法、及び、ソフトウェア修正プログラム |
WO2014021190A1 (ja) * | 2012-08-01 | 2014-02-06 | 三菱電機株式会社 | プログラム実行装置及びプログラム解析装置 |
JP5863973B2 (ja) * | 2012-08-01 | 2016-02-17 | 三菱電機株式会社 | プログラム実行装置及びプログラム解析装置 |
US9507933B2 (en) | 2012-08-01 | 2016-11-29 | Mitsubishi Electric Corporation | Program execution apparatus and program analysis apparatus |
US10628140B2 (en) | 2016-11-17 | 2020-04-21 | Mitsubishi Electric Corporation | Program code generation apparatus |
JP2020531936A (ja) * | 2017-06-29 | 2020-11-05 | Line株式会社 | アプリケーションの脆弱点を探知する方法およびシステム |
KR20190068495A (ko) * | 2019-02-28 | 2019-06-18 | 한국인터넷진흥원 | 취약 함수 사용에 의한 취약점을 보완하기 위한 바이너리 패치 장치 및 그 방법 |
KR102070010B1 (ko) | 2019-02-28 | 2020-01-29 | 한국인터넷진흥원 | 취약 함수 사용에 의한 취약점을 보완하기 위한 바이너리 패치 장치 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP5077455B2 (ja) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2006087780A1 (ja) | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 | |
Yang et al. | Appspear: Bytecode decrypting and dex reassembling for packed android malware | |
Yu et al. | Patching vulnerabilities with sanitization synthesis | |
US8635602B2 (en) | Verification of information-flow downgraders | |
Wassermann et al. | Sound and precise analysis of web applications for injection vulnerabilities | |
Balzarotti et al. | Saner: Composing static and dynamic analysis to validate sanitization in web applications | |
Carmony et al. | Extract Me If You Can: Abusing PDF Parsers in Malware Detectors. | |
US20160371494A1 (en) | Software Vulnerabilities Detection System and Methods | |
US8850405B2 (en) | Generating sound and minimal security reports based on static analysis of a program | |
Momot et al. | The seven turrets of babel: A taxonomy of langsec errors and how to expunge them | |
US8572747B2 (en) | Policy-driven detection and verification of methods such as sanitizers and validators | |
US10068093B2 (en) | Machine-checkable code-annotations for static application security testing | |
Backes et al. | R-droid: Leveraging android app analysis with static slice optimization | |
JP5863973B2 (ja) | プログラム実行装置及びプログラム解析装置 | |
JP5077455B2 (ja) | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 | |
US20190361788A1 (en) | Interactive analysis of a security specification | |
Møller et al. | Automated detection of client-state manipulation vulnerabilities | |
Shahmehri et al. | An advanced approach for modeling and detecting software vulnerabilities | |
US20210004470A1 (en) | Automatic Generation Of Patches For Security Violations | |
Jimenez et al. | Software vulnerabilities, prevention and detection methods: A review1 | |
Okun et al. | Report on the third static analysis tool exposition (sate 2010) | |
CN111027073B (zh) | 漏洞检测方法、装置、设备及存储介质 | |
JP7008879B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
Hoole et al. | Improving vulnerability detection measurement: [test suites and software security assurance] | |
Lin et al. | Detecting {API}{Post-Handling} Bugs Using Code and Description in Patches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110726 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111018 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120118 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120604 |
|
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: 20120731 |
|
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: 20120813 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150907 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |