JP6088713B2 - 脆弱性発見装置、脆弱性発見方法、及び脆弱性発見プログラム - Google Patents
脆弱性発見装置、脆弱性発見方法、及び脆弱性発見プログラム Download PDFInfo
- Publication number
- JP6088713B2 JP6088713B2 JP2016543890A JP2016543890A JP6088713B2 JP 6088713 B2 JP6088713 B2 JP 6088713B2 JP 2016543890 A JP2016543890 A JP 2016543890A JP 2016543890 A JP2016543890 A JP 2016543890A JP 6088713 B2 JP6088713 B2 JP 6088713B2
- Authority
- JP
- Japan
- Prior art keywords
- program code
- vulnerability
- software
- normalization
- code
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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/562—Static detection
- G06F21/563—Static detection by source code 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/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
- 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)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
図5は、脆弱性発見プログラムによる情報処理がコンピュータ100を用いて具体的に実現されることを示す図である。図5に示す様に、コンピュータ100は、例えば、メモリ101と、CPU(Central Processing Unit)102と、ハードディスクドライブインタフェース103と、ディスクドライブインタフェース104と、シリアルポートインタフェース105と、ビデオアダプタ106と、ネットワークインタフェース107とを有し、これらの各部はバスBによって接続される。
11 脆弱性関連DB
12 脆弱性抽出部
13 逆アセンブル部
14 正規化処理部
15 マッチング部
16 脆弱性候補DB
100 コンピュータ
101 メモリ
101a ROM
101b RAM
102 CPU
103 ハードディスクドライブインタフェース
104 ディスクドライブインタフェース
105 シリアルポートインタフェース
106 ビデオアダプタ
107 ネットワークインタフェース
108 ハードディスクドライブ
108a OS
108b アプリケーションプログラム
108c プログラムモジュール
108d プログラムデータ
109 ディスクドライブ
110 マウス
111 キーボード
112 ディスプレイ
C1、C2、C3 コンパイラ
C11、C12、…、C21、C22、…、C31、C32、… コンパイルオプション
D1 セキュリティパッチ
D2 攻撃検証コード
D3 共通脆弱性識別子
P1 脆弱性箇所のプログラムコード
P11、P12、P13 プログラムコード
S1 検査対象ソフトウェア
Claims (7)
- ソフトウェアのソースコードをコンパイルし、該コンパイルにより得られたプログラムコードから、前記ソフトウェアの脆弱性箇所に該当する第1のプログラムコードを抽出する抽出部と、
前記抽出部により抽出された第1のプログラムコードと、脆弱性箇所の検査対象となるソフトウェアの第2のプログラムコードとに含まれるパラメータを正規化する正規化部と、
前記正規化後の第1のプログラムコードと前記正規化後の第2のプログラムコードとをマッチングし、前記第2のプログラムコードの中から、前記第1のプログラムコードと同一または類似のプログラムコードを検出する検出部と
を有することを特徴とする脆弱性発見装置。 - 前記検出部は、アーキテクチャと実行ファイル形式とが前記検査対象となるソフトウェアと同一である前記正規化後の第1のプログラムコードと、前記正規化後の第2のプログラムコードとをマッチングすることを特徴とする請求項1に記載の脆弱性発見装置。
- 前記検出部は、前記第1のプログラムコードと前記第2のプログラムコードとの類似度を算出し、前記第2のプログラムコードの中から、前記類似度が最も高くかつ所定値を超えるプログラムコードを、前記同一または類似のプログラムコードとして検出することを特徴とする請求項1に記載の脆弱性発見装置。
- 前記正規化部は、前記パラメータとして、前記第1のプログラムコードと前記第2のプログラムコードとの双方のプログラムコード中に含まれるパラメータの内、コンパイル環境により変化するパラメータを正規化することを特徴とする請求項1に記載の脆弱性発見装置。
- 前記抽出部は、公開されている脆弱性情報から、脆弱性に対するセキュリティパッチの適用範囲、脆弱性に対する攻撃の起点となる部分、および、共通脆弱性識別子に対応する脆弱性箇所の少なくともいずれかを、前記第1のプログラムコードとして抽出することを特徴とする請求項1に記載の脆弱性発見装置。
- 脆弱性発見装置で実行される脆弱性発見方法であって、
前記脆弱性発見装置の抽出部が、ソフトウェアのソースコードをコンパイルし、該コンパイルにより得られたプログラムコードから、前記ソフトウェアの脆弱性箇所に該当する第1のプログラムコードを抽出する抽出工程と、
前記脆弱性発見装置の正規化部が、前記抽出工程にて抽出された第1のプログラムコードと、脆弱性箇所の検査対象となるソフトウェアの第2のプログラムコードとに含まれるパラメータを正規化する正規化工程と、
前記脆弱性発見装置の検出部が、前記正規化後の第1のプログラムコードと前記正規化後の第2のプログラムコードとをマッチングし、前記第2のプログラムコードの中から、前記第1のプログラムコードと同一または類似のプログラムコードを検出する検出工程と
を含むことを特徴とする脆弱性発見方法。 - コンピュータを請求項1に記載の脆弱性発見装置として機能させるための脆弱性発見プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014167678 | 2014-08-20 | ||
JP2014167678 | 2014-08-20 | ||
PCT/JP2015/071721 WO2016027641A1 (ja) | 2014-08-20 | 2015-07-30 | 脆弱性発見装置、脆弱性発見方法、及び脆弱性発見プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6088713B2 true JP6088713B2 (ja) | 2017-03-01 |
JPWO2016027641A1 JPWO2016027641A1 (ja) | 2017-04-27 |
Family
ID=55350587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016543890A Active JP6088713B2 (ja) | 2014-08-20 | 2015-07-30 | 脆弱性発見装置、脆弱性発見方法、及び脆弱性発見プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10534914B2 (ja) |
EP (1) | EP3159823A4 (ja) |
JP (1) | JP6088713B2 (ja) |
CN (1) | CN106575337A (ja) |
WO (1) | WO2016027641A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6503084B2 (ja) | 2015-10-09 | 2019-04-17 | 日本電信電話株式会社 | 脆弱性発見装置、脆弱性発見方法、および、脆弱性発見プログラム |
US9965633B2 (en) * | 2015-12-29 | 2018-05-08 | Sap Se | Using code similarities for improving auditing and fixing of SAST-discovered code vulnerabilities |
US20190391806A1 (en) * | 2016-12-19 | 2019-12-26 | Nippon Telegraph And Telephone Corporation | Determination apparatus, determination method, and determination program |
US10783247B1 (en) * | 2017-02-21 | 2020-09-22 | Triad National Security, Llc | Software classification using phylogenetic techniques |
WO2018230194A1 (ja) * | 2017-06-14 | 2018-12-20 | 日本電信電話株式会社 | 特定支援装置、特定支援方法及び特定支援プログラム |
US10909243B2 (en) * | 2017-06-29 | 2021-02-02 | AVAST Software s.r.o. | Normalizing entry point instructions in executable program files |
US11443046B2 (en) * | 2017-08-14 | 2022-09-13 | Onapsis, Inc. | Entry point finder |
CN108052344A (zh) * | 2017-12-11 | 2018-05-18 | 北京奇虎科技有限公司 | 一种内核差异检测方法及装置 |
US10592677B2 (en) * | 2018-05-30 | 2020-03-17 | Paypal, Inc. | Systems and methods for patching vulnerabilities |
KR102505127B1 (ko) * | 2018-05-30 | 2023-03-02 | 삼성전자주식회사 | 소프트웨어 취약점을 검출하는 전자 장치 및 그 동작 방법 |
US11347850B2 (en) | 2018-10-01 | 2022-05-31 | Blackberry Limited | Analyzing binary software code |
US10984102B2 (en) * | 2018-10-01 | 2021-04-20 | Blackberry Limited | Determining security risks in binary software code |
US11106791B2 (en) | 2018-10-01 | 2021-08-31 | Blackberry Limited | Determining security risks in binary software code based on network addresses |
US11475135B2 (en) | 2018-11-30 | 2022-10-18 | Target Brands, Inc. | Orchestration of vulnerability scanning and issue tracking for version control technology |
CN110309655B (zh) * | 2019-07-05 | 2021-08-17 | 武汉绿色网络信息服务有限责任公司 | 一种检测app更新过程中安全性的方法以及检测装置 |
US11514171B2 (en) * | 2019-10-29 | 2022-11-29 | Dell Products L.P. | Code vulnerability detection and remediation |
WO2021156967A1 (ja) * | 2020-02-05 | 2021-08-12 | 日本電気株式会社 | 分析システム、方法およびプログラム |
KR102308477B1 (ko) * | 2020-12-07 | 2021-10-06 | 주식회사 샌즈랩 | 악성 코드의 악성 행위 특징 정보를 생성하는 방법 |
CN113468525B (zh) * | 2021-05-24 | 2023-06-27 | 中国科学院信息工程研究所 | 针对二进制程序的相似漏洞检测方法及装置 |
US20230315843A1 (en) * | 2022-03-29 | 2023-10-05 | Dazz, Inc. | Systems and methods for cybersecurity alert deduplication, grouping, and prioritization |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009098851A (ja) * | 2007-10-16 | 2009-05-07 | Mitsubishi Electric Corp | 不正コード検出システム |
US20130185798A1 (en) * | 2012-01-13 | 2013-07-18 | Accessdata Group, Llc | Identifying software execution behavior |
US20130227693A1 (en) * | 2012-02-24 | 2013-08-29 | David Bryan Dewey | Software module object analysis |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282698B1 (en) * | 1998-02-09 | 2001-08-28 | Lucent Technologies Inc. | Detecting similarities in Java sources from bytecodes |
US20100011441A1 (en) * | 2007-05-01 | 2010-01-14 | Mihai Christodorescu | System for malware normalization and detection |
KR100916329B1 (ko) * | 2007-11-01 | 2009-09-11 | 한국전자통신연구원 | 소프트웨어 취약점 점검 장치 및 방법 |
US20090313700A1 (en) * | 2008-06-11 | 2009-12-17 | Jefferson Horne | Method and system for generating malware definitions using a comparison of normalized assembly code |
WO2012025865A1 (en) * | 2010-08-24 | 2012-03-01 | Checkmarx Ltd. | Mining source code for violations of programming rules |
TWI515598B (zh) * | 2013-08-23 | 2016-01-01 | 國立交通大學 | 產生純化惡意程式的方法、偵測惡意程式之方法及其系統 |
TWI553503B (zh) * | 2014-02-27 | 2016-10-11 | 國立交通大學 | 產生候選鈎點以偵測惡意程式之方法及其系統 |
-
2015
- 2015-07-30 CN CN201580042817.8A patent/CN106575337A/zh active Pending
- 2015-07-30 JP JP2016543890A patent/JP6088713B2/ja active Active
- 2015-07-30 EP EP15833502.6A patent/EP3159823A4/en not_active Ceased
- 2015-07-30 WO PCT/JP2015/071721 patent/WO2016027641A1/ja active Application Filing
- 2015-07-30 US US15/504,116 patent/US10534914B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009098851A (ja) * | 2007-10-16 | 2009-05-07 | Mitsubishi Electric Corp | 不正コード検出システム |
US20130185798A1 (en) * | 2012-01-13 | 2013-07-18 | Accessdata Group, Llc | Identifying software execution behavior |
US20130227693A1 (en) * | 2012-02-24 | 2013-08-29 | David Bryan Dewey | Software module object analysis |
Non-Patent Citations (3)
Title |
---|
JPN6015041834; 于競, 他: 'AndroidにおけるWebViewの脆弱性を利用した攻撃を防止するアクセス制御方式の提案' 情報処理学会研究報告 Vol.2013-CSEC-60, No.4, 20130415, pp.1-7, 情報処理学会 * |
JPN6015041836; Q. Zhang et al.: 'MetaAware: Identifying Metamorphic Malware' Proceedings of Twenty-Third Annual Computer Security Applications Conference (ACSAC 2007) , 2007, pp.411-420, IEEE * |
JPN6015041837; S. Ding et al.: 'Identifying buffer overflow vulnerabilities based on binary code' Proceedings of 2011 IEEE International Conference on Computer Science and Automation Engineering (CS Vol.4, 2011, pp.738-742, IEEE * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2016027641A1 (ja) | 2017-04-27 |
CN106575337A (zh) | 2017-04-19 |
EP3159823A4 (en) | 2018-01-03 |
WO2016027641A1 (ja) | 2016-02-25 |
US20170286692A1 (en) | 2017-10-05 |
US10534914B2 (en) | 2020-01-14 |
EP3159823A1 (en) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6088713B2 (ja) | 脆弱性発見装置、脆弱性発見方法、及び脆弱性発見プログラム | |
US10339315B2 (en) | Apparatus and method for detecting malicious mobile app | |
JP6503084B2 (ja) | 脆弱性発見装置、脆弱性発見方法、および、脆弱性発見プログラム | |
US9015814B1 (en) | System and methods for detecting harmful files of different formats | |
US20170372068A1 (en) | Method to identify known compilers functions, libraries and objects inside files and data items containing an executable code | |
US20090133125A1 (en) | Method and apparatus for malware detection | |
US11048798B2 (en) | Method for detecting libraries in program binaries | |
US20120144488A1 (en) | Computer virus detection systems and methods | |
US9460306B1 (en) | System and method for controlling access of machine code to operating system resources | |
US20160196427A1 (en) | System and Method for Detecting Branch Oriented Programming Anomalies | |
JP6000465B2 (ja) | プロセス検査装置、プロセス検査プログラムおよびプロセス検査方法 | |
WO2020108357A1 (zh) | 一种程序分类模型训练方法、程序分类方法及装置 | |
US9367686B1 (en) | System and method for antivirus checking of native images of software assemblies | |
Osorio et al. | Segmented sandboxing-a novel approach to malware polymorphism detection | |
EP3800570A1 (en) | Methods and systems for genetic malware analysis and classification using code reuse patterns | |
US11366902B2 (en) | System and method of detecting malicious files based on file fragments | |
KR101908517B1 (ko) | 스트링과 코드 시그니처를 이용한 악성코드 탐지 및 패커 해제 방법 | |
US10909243B2 (en) | Normalizing entry point instructions in executable program files | |
Lin et al. | FSmell: Recognizing Inline Function in Binary Code | |
EP3767510A1 (en) | System and method of detecting malicious files based on file fragments | |
WO2022230074A1 (ja) | 検知装置、検知方法及び検知プログラム | |
KR20220162352A (ko) | 비실행데이터 내의 셸코드 식별장치 및 방법 | |
US20160321454A1 (en) | Binary component extraction and embedding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170117 |
|
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: 20170131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6088713 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |