WO2017061270A1 - 脆弱性発見装置、脆弱性発見方法、および、脆弱性発見プログラム - Google Patents
脆弱性発見装置、脆弱性発見方法、および、脆弱性発見プログラム Download PDFInfo
- Publication number
- WO2017061270A1 WO2017061270A1 PCT/JP2016/077738 JP2016077738W WO2017061270A1 WO 2017061270 A1 WO2017061270 A1 WO 2017061270A1 JP 2016077738 W JP2016077738 W JP 2016077738W WO 2017061270 A1 WO2017061270 A1 WO 2017061270A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program code
- vulnerability
- similarity
- location
- software
- Prior art date
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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- 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
Definitions
- the present invention relates to a vulnerability detection device, a vulnerability detection method, and a vulnerability detection program.
- One technique for finding vulnerabilities in software is to use a code clone to find vulnerabilities.
- the code clone refers to a similar or matching code that exists in the software.
- This code clone is generated by the act of a software developer copying and pasting the source code of another program having a similar function in order to realize a program having a specific function during software development.
- a vulnerability is found in the source code of the copy source, not only the source code of the copy source is corrected, but also the source code of the copy destination must be corrected in the same way.
- the vulnerability detection method using code clones is a method of discovering unknown vulnerabilities in the software to be inspected by discovering code clones of the parts where these vulnerabilities are found in the software to be inspected.
- Non-Patent Document 1 As a vulnerability discovery technique using a code clone, there is a method using a software source code (see Non-Patent Document 1 and Non-Patent Document 2).
- the source code of the vulnerability part is extracted from the software for which the vulnerability has been discovered in the past, and the code of the vulnerability part included in the inspection target software is inspected by inspecting the source code of the inspection target software. It is to discover clones.
- an object of the present invention is to solve the above-described problems and discover unknown vulnerabilities even when there is no source code of software to be inspected.
- the present invention provides an extraction unit that extracts a first program code corresponding to an unmodified vulnerability part of software, a first program code extracted by the extraction unit, and a vulnerability Among the parameters included in the second program code of the software to be inspected for the sex location, a normalization processing unit that normalizes parameters that change depending on the compilation environment, and an arbitrary second program code after the normalization
- a similarity calculation unit that calculates a first similarity that is a similarity to the first program code with respect to the location of the second program, and a second program in which the calculated first similarity exceeds a predetermined threshold
- the determination unit for determining whether the second program code part is an unknown vulnerability part
- an outputting unit for outputting a portion of the second program code determines that vulnerability point of knowledge.
- an unknown vulnerability can be found even when there is no source code of the software to be inspected.
- FIG. 1 is a block diagram showing the configuration of the vulnerability detection apparatus.
- FIG. 2 is a diagram for explaining the processing of the normalization processing unit.
- FIG. 3 is a diagram for explaining the processing of the similarity calculation unit.
- FIG. 4 is a diagram illustrating an example of the matrix X used for similarity calculation.
- FIG. 5 is a diagram illustrating an example of the matrix Y used for similarity calculation.
- FIG. 6 is a diagram illustrating an example of the matrix Z used for similarity calculation.
- FIG. 7 is a flowchart illustrating a processing procedure of the determination unit.
- FIG. 8 is a diagram illustrating that information processing by the vulnerability discovery program is specifically realized using a computer.
- the vulnerability discovery device 10 uses a software code clone to find a vulnerability location of software to be inspected (inspection target software). For example, the vulnerability detection apparatus 10 uses a code clone of software having an uncorrected vulnerability (that is, to which a patch is not applied) to find a vulnerability location in the program code of the software to be inspected. Then, the vulnerability detection apparatus 10 compares the vulnerability location with the program code to which the patch has been applied, and if the vulnerability location is not similar to the program code to which the patch has been applied, the vulnerability location is determined as an unknown vulnerability location. Output as a candidate.
- the vulnerability discovery apparatus 10 includes a vulnerability related DB 11, a disassembly unit 12, a vulnerability location extraction unit 13, a normalization processing unit 14, a similarity calculation unit 15, a determination unit 16, and an output unit 17. And have.
- Vulnerability-related DB 11 stores vulnerability-related information.
- This vulnerability related information is, for example, an attack verification code, a common vulnerability identifier (CVE: Common Vulnerabilities and Exposures), a security patch related to the vulnerability, a patched (corrected) program code, and the like.
- CVE Common Vulnerabilities and Exposures
- the disassembly unit 12 performs software disassembly. For example, the disassembly unit 12 disassembles the input software to be inspected and software having an uncorrected vulnerability.
- the vulnerability location extraction unit 13 extracts the program code of the vulnerability location from the software disassembly result. For example, when the vulnerability location extraction unit 13 receives the disassembly result of the software having the uncorrected vulnerability from the disassembly unit 12, the vulnerability location extraction unit 13 refers to the vulnerability related information in the vulnerability related DB 11 and determines the result of the disassembly result. Extract the program code of the vulnerable part.
- the vulnerability location extraction unit 13 executes the attack verification code for the disassembled result of the software having the unmodified vulnerability location. Then, the part that becomes the starting point of the attack is extracted as the program code of the vulnerable part.
- the vulnerability location extraction unit 13 refers to CVEDB (Common Vulnerabilities and Exposures Data Base) when using a common vulnerability identifier among vulnerability-related information, and the software having an uncorrected vulnerability location. The part specified based on the information of the software from the disassembly result is extracted as the program code of the vulnerable part.
- CVEDB Common Vulnerabilities and Exposures Data Base
- the normalization processing unit 14 performs program code normalization processing.
- This normalization process is a process that abstracts the part of the program code obtained by disassembly that changes depending on the compilation environment (for example, variable parameters such as register type, memory address value to be accessed, and immediate value). It is.
- the normalization processing unit 14 acquires the program code of the uncorrected vulnerability location from the vulnerability location extraction unit 13, and the disassembly result of the inspection target software (the program code of the inspection target software from the disassembly unit 12 ) To get. Then, the normalization processing unit 14 performs normalization processing of the program code of the unmodified vulnerability portion and the program code of the inspection target software.
- the normalization processing unit 14 converts a portion that changes depending on the compilation environment into a character string that represents only the attribute. For example, the normalization processing unit 14 sets the values “0x10”, “00402198”, “0040189C”, “ebx, ebx” in the program code to “VAL”, “MEM”, “MEM”, “REG”, respectively. , "REG” to convert to each character string and abstract. Thereby, the normalization processing unit 14 enables accurate similarity calculation that is not affected by the environment in which the inspection target software is compiled. In the normalization process, a contracted instruction that is information obtained by removing the operand part from the machine language instruction may be used.
- the similarity calculation unit 15 calculates the degree of similarity with the program code of the uncorrected vulnerability part after normalization by comparing any part of the program code of the inspection target software after normalization as a comparison target.
- the similarity calculation unit 15 performs the program code (A of the uncorrected vulnerability part after normalization for any part of the program code (B) of the inspection target software after normalization. ) Calculate the similarity with the whole.
- the similarity calculation unit 15 includes the entire program code (A) of the uncorrected vulnerability part after normalization for the part indicated by reference numeral 302 in the program code (B) of the inspection target software after normalization. Is calculated as 77%. Details of the similarity calculation unit 15 will be described later.
- the determination unit 16 is vulnerable to the program code portion of the software to be inspected after normalization in which the similarity calculated by the similarity calculation unit 15 exceeds a predetermined threshold (for example, the portion indicated by reference numeral 301 in FIG. 3). With reference to the related DB 11, it is determined whether or not the location is an unknown vulnerability location. Details of the determination unit 16 will be described later.
- the output unit 17 outputs the part determined as an unknown vulnerability part by the determination part 16 as an unknown vulnerability part candidate.
- Similarity calculator Next, details of the processing performed by the similarity calculation unit 15 will be described with reference to FIG.
- the program code of the uncorrected vulnerability portion after normalization is A and the program code of the software to be inspected after normalization is B
- a portion similar to A in B is based on the score. It is specified by calculating the similarity.
- the length of A is
- M
- the length of B is
- N
- the score is a similar character string search algorithm based on dynamic programming, Needleman-Wunsch (see Non-Patent Document 4), a method called affine gap that distinguishes deduction points according to the position in the insertion or deletion part of the character string (See Non-Patent Document 5), and the score can be calculated by changing the score calculation part.
- the similarity calculation part 15 calculates
- 0 ⁇ i ⁇ M, 0 ⁇ j ⁇ N ⁇ and score matrix Y ⁇ y ij
- Each element of M, 0 ⁇ j ⁇ N ⁇ and score matrix Z ⁇ z ij
- 0 ⁇ i ⁇ M, 0 ⁇ j ⁇ N ⁇ is calculated by the following equations (1) to (3).
- the score matrix X is a matrix for managing match and mismatch scores between A and B.
- the score matrix Y is a matrix for managing the insertion gap score in B. Further, the score matrix Z is a matrix for managing the deletion gap score in A.
- the score of match (character strings match) and mismatch (character strings do not match) in equation (1) can be arbitrarily set, but match (first value)> mismatch (second value) It is preferable that
- o open gap
- e extended gap
- the scores of o (third value) and e (fourth value) can be set arbitrarily, but e> mismatch, e> o, o ⁇ mismatch, e ⁇ 0, and (mismatch ⁇ 2) ⁇ A value of (e + o) is preferred. The reason for this will be described later.
- the similarity calculation unit 15 includes a section in which a character string different from A is inserted for B, or a section in which a part of the character string of A is deleted for B (a section in which a gap is generated).
- the similarity calculation unit 15 uses the three score matrices calculated using the above method, and based on the maximum score point j max obtained by the following equation (4), F (A, B) / F ( A, A) is calculated.
- the similarity calculation unit 15 calculates the score matrix (matrix) X, Y, Z using the above formulas (1) to (3) for A and B illustrated in FIG.
- the calculation results are as shown in FIGS.
- the similarity calculation unit 15 targets other than the section where the maximum score point j max (for example, 18.5) was obtained from B in the previous similarity calculation. Then, the same processing as described above is executed, the maximum score point j max is calculated, and F (A, B) / F (A, A) is calculated. By doing in this way, the similarity calculation part 15 can calculate the similarity with A about arbitrary places of B.
- the calculation result is stored in a predetermined area of a storage unit (not shown) of the vulnerability detection device 10 and is read out during the determination process by the determination unit 16.
- the determination unit 16 Next, processing performed by the determination unit 16 will be described in detail with reference to FIG.
- the similarity calculated by the similarity calculation unit 15 and the program code of the uncorrected vulnerability portion after normalization (hereinafter abbreviated as the program code of the uncorrected vulnerability portion) is predetermined.
- the portion of the program code to be inspected after normalization that exceeds the threshold (hereinafter abbreviated as program code to be inspected) is regarded as a code clone part of the vulnerability, and it is determined whether or not the relevant part is an unknown vulnerability part To do.
- the determination unit 16 reads out the calculation result of the similarity of each part of the inspection target program code by the similarity calculation unit 15 from the storage unit (not shown), and for each part of the inspection target program code Then, it is determined whether or not the similarity (Sim1) with the program code of the uncorrected vulnerability portion exceeds a predetermined threshold (S1).
- the determination unit 16 determines whether or not the similarity (Sim1) with the program code of the uncorrected vulnerability portion exceeds a predetermined threshold (S1).
- the determination unit 16 The similarity (Sim2) with the program code of the corrected vulnerability part is calculated (S2).
- the similarity calculation here may be performed, for example, by the same method as the similarity calculation in the similarity calculation unit 15 described above, and the program code of the corrected vulnerability portion is, for example, the vulnerability related Reference is made to the information of the patch-applied program code included in the vulnerability-related information in the DB 11.
- the determination unit 16 determines that the inspection target program code does not include a portion where the similarity (Sim1) with the program code of the uncorrected vulnerability portion exceeds a predetermined threshold (No in S1), the process is performed. finish.
- the determination unit 16 determines the similarity (Sim2) between the program code of the corrected vulnerability part calculated in S2 and the program code of the uncorrected vulnerability part (Sim1) for the part. ) And the determination unit 16 determines that Sim2> Sim1 (Yes in S3), the process is terminated. That is, the determination part 16 complete
- the determination unit 16 has a similarity (Sim1) with the program code of the unmodified vulnerability portion for the relevant portion equal to or higher than the similarity (Sim2) with the program code of the corrected vulnerability portion calculated in S2. If it is, it determines that the said location is an unknown vulnerability location candidate. In other words, the determination unit 16 determines that the portion determined as Sim2 is equal to or greater than Sim1 is likely to be a known vulnerability location, and excludes it from the unknown vulnerability location candidates.
- the similarity calculation unit 15 calculates three score matrices X, Y, and Z
- the following formula (5) that separately holds the selection order corresponding to each score matrix:
- the pointer matrices P, Q, and R shown in FIG. 4 are created and stored in a storage unit (not shown).
- the pointer holds the type of element matrix used for the calculation of the current element and the location of the element.
- the similarity calculation unit 15 calculates each element of the three pointer matrices by the following equations (6) to (8).
- the vulnerability detection apparatus 10 it is possible to find a candidate for an unknown vulnerability location using a code clone from the inspection target program code.
- the vulnerability discovery device 10 described in the above embodiment can be implemented by installing a vulnerability discovery program for executing the above processing in a desired information processing device (computer).
- the information processing apparatus can function as the vulnerability detection apparatus 10 by causing the information processing apparatus to execute the vulnerability detection program provided as package software or online software.
- the information processing apparatus referred to here includes a desktop or notebook personal computer.
- the information processing apparatus includes mobile communication terminals such as smartphones, mobile phones and PHS (Personal Handyphone System), and slate terminals such as PDA (Personal Digital Assistants).
- the vulnerability detection apparatus 10 may be implemented as a Web server or a cloud.
- FIG. 8 is a diagram illustrating a computer that executes a vulnerability detection program.
- the computer 1000 includes, for example, a memory 1010, a CPU (Central Processing Unit) 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network. Interface 1070. These units are connected by a bus 1080.
- the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012.
- the ROM 1011 stores a boot program such as BIOS (Basic Input Output System).
- BIOS Basic Input Output System
- the hard disk drive interface 1030 is connected to the hard disk drive 1090.
- the disk drive interface 1040 is connected to the disk drive 1100.
- a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100, for example.
- a mouse 1110 and a keyboard 1120 are connected to the serial port interface 1050.
- a display 1130 is connected to the video adapter 1060.
- the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. Each information and data described in the above embodiment is stored in, for example, the hard disk drive 1090 or the memory 1010.
- the vulnerability discovery program is stored in the hard disk drive 1090 as a program module 1093 in which a command executed by the computer 1000 is described, for example.
- the hard disk drive 1090 stores a program module 1093 in which each process executed by the vulnerability detection apparatus 10 described in the above embodiment is described.
- data used for information processing by the vulnerability discovery program is stored as, for example, the hard disk drive 1090 as program data.
- the CPU 1020 reads out the program module 1093 and the program data 1094 stored in the hard disk drive 1090 to the RAM 1012 as necessary, and executes the above-described procedures.
- the program module 1093 and the program data 1094 related to the vulnerability detection program are not limited to being stored in the hard disk drive 1090.
- the program module 1093 and the program data 1094 are stored in a removable storage medium, and are stored in the removable storage medium by the CPU 1020 via the disk drive 1100 or the like. It may be read out.
- the program module 1093 and the program data 1094 related to the vulnerability detection program are stored in another computer connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network), and the network interface 1070 is stored. Via the CPU 1020.
- Vulnerability discovery device 11
- Vulnerability related DB 12
- Disassembly unit 13
- Vulnerability location extraction unit 14
- Normalization processing unit 15
- Similarity calculation unit 16
- Judgment unit 17 Output unit
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
次に、図3を参照しながら、類似度算出部15が行う処理の詳細を説明する。ここで、正規化後の未修正の脆弱性箇所のプログラムコードをA、正規化後の検査対象ソフトウェアのプログラムコードをBとすると、Bの中でAと類似した箇所を、スコアを基にした類似度の算出により特定する。
次に、判定部16が行う処理について、図7を用いて詳しく説明する。判定部16では、まず類似度算出部15で算出された、正規化後の未修正の脆弱性箇所のプログラムコード(以下、未修正の脆弱性箇所のプログラムコードと略す)との類似度が所定の閾値を超える正規化後の検査対象プログラムコード(以下、検査対象プログラムコードと略す)の箇所について、脆弱性のコードクローン部分であるとみなし、当該箇所が未知の脆弱性箇所か否かを判定する。
図8は、脆弱性発見プログラムを実行するコンピュータを示す図である。図8に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
11 脆弱性関連DB
12 逆アセンブル部
13 脆弱性箇所抽出部
14 正規化処理部
15 類似度算出部
16 判定部
17 出力部
Claims (6)
- ソフトウェアの未修正の脆弱性箇所に該当する第1のプログラムコードを抽出する抽出部と、
前記抽出部により抽出された第1のプログラムコードと、脆弱性箇所の検査対象となるソフトウェアの第2のプログラムコードとに含まれるパラメータのうち、コンパイル環境により変化するパラメータを正規化する正規化処理部と、
前記正規化後の第2のプログラムコードの任意の箇所を比較対象として前記第1のプログラムコードとの類似度である第1の類似度を算出する類似度算出部と、
算出した前記第1の類似度が所定の閾値を超える第2のプログラムコードの箇所について、脆弱性関連情報を参照して、当該第2のプログラムコードの箇所が未知の脆弱性箇所か否かを判定する判定部と、
前記未知の脆弱性箇所と判定された第2のプログラムコードの箇所を出力する出力部と
を備えることを特徴とする脆弱性発見装置。 - 前記類似度算出部は、前記第1の類似度を算出する際、前記正規化後の第2のプログラムコードのうち、前記第1のプログラムコードの文字列と同じ文字列の箇所については第1の値を加算し、前記第1のプログラムコードの文字列と異なる文字列の箇所については前記第1の値よりも低い第2の値を加算し、前記正規化後の第2のプログラムコードに、前記第1のプログラムコードとは異なる文字列が挿入されている区間、または、前記第1のプログラムコードの文字列が一部削除されている区間がある場合、前記区間の開始点の文字列については前記第2の値よりも低い第3の値を加算し、当該区間の継続点の文字列については前記第3の値よりも高く、かつ、0よりも低い第4の値を加算することを特徴とする請求項1に記載の脆弱性発見装置。
- 前記類似度算出部は、前記第3の値および前記第4の値として、前記第3の値および前記第4の値の合計値が、前記第2の値の2倍の値よりも高くなるような値を設定することを特徴とする請求項2に記載の脆弱性発見装置。
- 前記判定部は、前記第1の類似度が所定の閾値を超える第2のプログラムコードの箇所について、当該箇所の前記脆弱性関連情報に登録される修正済みの脆弱性箇所のプログラムコードとの類似度である第2の類似度を算出し、算出した前記第2の類似度が前記第1の類似度以上の場合、当該第2のプログラムコードの箇所を未知の脆弱性箇所から除外することを特徴とする請求項1に記載の脆弱性発見装置。
- ソフトウェアの未修正の脆弱性箇所に該当する第1のプログラムコードを抽出するステップと、
抽出された第1のプログラムコードと、脆弱性箇所の検査対象となるソフトウェアの第2のプログラムコードとに含まれるパラメータのうち、コンパイル環境により変化するパラメータを正規化するステップと、
前記正規化後の第2のプログラムコードの任意の箇所を比較対象として前記第1のプログラムコードとの類似度である第1の類似度を算出するステップと、
算出した前記第1の類似度が所定の閾値を超える第2のプログラムコードの箇所について、脆弱性関連情報を参照して、当該第2のプログラムコードの箇所が未知の脆弱性箇所か否かを判定するステップと、
前記未知の脆弱性箇所と判定された第2のプログラムコードの箇所を出力するステップと
を含んだことを特徴とする脆弱性発見方法。 - ソフトウェアの未修正の脆弱性箇所に該当する第1のプログラムコードを抽出するステップと、
抽出された第1のプログラムコードと、脆弱性箇所の検査対象となるソフトウェアの第2のプログラムコードとに含まれるパラメータのうち、コンパイル環境により変化するパラメータを正規化するステップと、
前記正規化後の第2のプログラムコードの任意の箇所を比較対象として前記第1のプログラムコードとの類似度である第1の類似度を算出するステップと、
算出した前記第1の類似度が所定の閾値を超える第2のプログラムコードの箇所について、脆弱性関連情報を参照して、当該第2のプログラムコードの箇所が未知の脆弱性箇所か否かを判定するステップと、
前記未知の脆弱性箇所と判定された第2のプログラムコードの箇所を出力するステップと
をコンピュータに実行させるための脆弱性発見プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16853424.6A EP3330879B1 (en) | 2015-10-09 | 2016-09-20 | Vulnerability discovering device, vulnerability discovering method, and vulnerability discovering program |
CN201680057673.8A CN108140091B (zh) | 2015-10-09 | 2016-09-20 | 漏洞发现装置、漏洞发现方法以及存储介质 |
JP2017544442A JP6503084B2 (ja) | 2015-10-09 | 2016-09-20 | 脆弱性発見装置、脆弱性発見方法、および、脆弱性発見プログラム |
US15/749,174 US10747887B2 (en) | 2015-10-09 | 2016-09-20 | Vulnerability detection device, vulnerability detection method, and vulnerability detection program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015201165 | 2015-10-09 | ||
JP2015-201165 | 2015-10-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017061270A1 true WO2017061270A1 (ja) | 2017-04-13 |
Family
ID=58487541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/077738 WO2017061270A1 (ja) | 2015-10-09 | 2016-09-20 | 脆弱性発見装置、脆弱性発見方法、および、脆弱性発見プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10747887B2 (ja) |
EP (1) | EP3330879B1 (ja) |
JP (1) | JP6503084B2 (ja) |
CN (1) | CN108140091B (ja) |
WO (1) | WO2017061270A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018230194A1 (ja) * | 2017-06-14 | 2018-12-20 | 日本電信電話株式会社 | 特定支援装置、特定支援方法及び特定支援プログラム |
JP2020013385A (ja) * | 2018-07-19 | 2020-01-23 | 富士通株式会社 | 情報処理装置、パッチ適用確認システム、パッチ適用確認方法、およびパッチ適用確認プログラム |
EP3779702A4 (en) * | 2018-05-30 | 2021-05-12 | Samsung Electronics Co., Ltd. | ELECTRONIC DEVICE FOR DETECTING SOFTWARE SUSPECTIVITY AND PROCEDURES FOR OPERATING THEREOF |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10592677B2 (en) * | 2018-05-30 | 2020-03-17 | Paypal, Inc. | Systems and methods for patching vulnerabilities |
CN109344622A (zh) * | 2018-09-26 | 2019-02-15 | 杭州迪普科技股份有限公司 | 漏洞攻击的入侵检测方法及相关设备 |
US11106791B2 (en) | 2018-10-01 | 2021-08-31 | Blackberry Limited | Determining security risks in binary software code based on network addresses |
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 |
CN110766402B (zh) * | 2019-06-27 | 2021-09-03 | 深圳市润鹏华通创新科技有限公司 | 交易顺序依赖漏洞检测方法、系统、电子装置及存储介质 |
US11514171B2 (en) * | 2019-10-29 | 2022-11-29 | Dell Products L.P. | Code vulnerability detection and remediation |
WO2021130943A1 (ja) * | 2019-12-25 | 2021-07-01 | 日本電気株式会社 | リスク分析結果表示装置、方法、及びコンピュータ可読媒体 |
WO2021156966A1 (ja) * | 2020-02-05 | 2021-08-12 | 日本電気株式会社 | 分析システム、方法およびプログラム |
US12093396B2 (en) * | 2020-07-16 | 2024-09-17 | Bank Of America Corporation | System and method for associating a common vulnerability and exposures (CVE) with a computing device and applying a security patch |
CN111866023A (zh) * | 2020-08-04 | 2020-10-30 | 深圳供电局有限公司 | 一种异常用户行为审计方法和装置 |
CN112651028B (zh) * | 2021-01-05 | 2022-09-30 | 西安工业大学 | 基于上下文语义和补丁验证的漏洞代码克隆检测方法 |
CN114785574B (zh) * | 2022-04-07 | 2023-09-29 | 国网浙江省电力有限公司宁波供电公司 | 一种基于ai辅助的远程漏洞精确验证方法 |
CN118260764A (zh) * | 2024-03-25 | 2024-06-28 | 中国人民解放军61660部队 | 一种联合实体抽取的漏洞归一化深度学习方法 |
Citations (3)
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 |
JP2011086147A (ja) * | 2009-10-16 | 2011-04-28 | Nippon Telegr & Teleph Corp <Ntt> | 類似性算出装置、類似性算出方法および類似性算出プログラム |
US8819856B1 (en) * | 2012-08-06 | 2014-08-26 | Google Inc. | Detecting and preventing noncompliant use of source code |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7284273B1 (en) * | 2003-05-29 | 2007-10-16 | Symantec Corporation | Fuzzy scanning system and method |
JP5009186B2 (ja) | 2008-02-12 | 2012-08-22 | 日本電信電話株式会社 | 逆アセンブル方法および逆アセンブル装置 |
TWI515598B (zh) * | 2013-08-23 | 2016-01-01 | 國立交通大學 | 產生純化惡意程式的方法、偵測惡意程式之方法及其系統 |
JP6088713B2 (ja) | 2014-08-20 | 2017-03-01 | 日本電信電話株式会社 | 脆弱性発見装置、脆弱性発見方法、及び脆弱性発見プログラム |
CN107229563B (zh) * | 2016-03-25 | 2020-07-10 | 中国科学院信息工程研究所 | 一种跨架构的二进制程序漏洞函数关联方法 |
-
2016
- 2016-09-20 JP JP2017544442A patent/JP6503084B2/ja active Active
- 2016-09-20 US US15/749,174 patent/US10747887B2/en active Active
- 2016-09-20 WO PCT/JP2016/077738 patent/WO2017061270A1/ja active Application Filing
- 2016-09-20 CN CN201680057673.8A patent/CN108140091B/zh active Active
- 2016-09-20 EP EP16853424.6A patent/EP3330879B1/en active Active
Patent Citations (3)
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 |
JP2011086147A (ja) * | 2009-10-16 | 2011-04-28 | Nippon Telegr & Teleph Corp <Ntt> | 類似性算出装置、類似性算出方法および類似性算出プログラム |
US8819856B1 (en) * | 2012-08-06 | 2014-08-26 | Google Inc. | Detecting and preventing noncompliant use of source code |
Non-Patent Citations (1)
Title |
---|
J. PEWNY ET AL.: "Cross-Architecture Bug search in Binary executables", 36TH IEEE SYMPOSIUM ON SECURITY AND PRIVACY, 18 May 2015 (2015-05-18), pages 709 - 724, XP055371769, Retrieved from the Internet <URL:http://www.ieeesecurity.org/TC/SP2015/papers-archived/6949a709.pdf> [retrieved on 20161020] * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018230194A1 (ja) * | 2017-06-14 | 2018-12-20 | 日本電信電話株式会社 | 特定支援装置、特定支援方法及び特定支援プログラム |
JPWO2018230194A1 (ja) * | 2017-06-14 | 2019-11-07 | 日本電信電話株式会社 | 特定支援装置、特定支援方法及び特定支援プログラム |
US11609998B2 (en) | 2017-06-14 | 2023-03-21 | Nippon Telegraph And Telephone Corporation | Device, method, and computer program for supporting specification |
EP3779702A4 (en) * | 2018-05-30 | 2021-05-12 | Samsung Electronics Co., Ltd. | ELECTRONIC DEVICE FOR DETECTING SOFTWARE SUSPECTIVITY AND PROCEDURES FOR OPERATING THEREOF |
US11861014B2 (en) | 2018-05-30 | 2024-01-02 | Samsung Electronics Co., Ltd | Electronic device detecting software vulnerability and method for operating same |
JP2020013385A (ja) * | 2018-07-19 | 2020-01-23 | 富士通株式会社 | 情報処理装置、パッチ適用確認システム、パッチ適用確認方法、およびパッチ適用確認プログラム |
JP7075011B2 (ja) | 2018-07-19 | 2022-05-25 | 富士通株式会社 | 情報処理装置、パッチ適用確認システム、パッチ適用確認方法、およびパッチ適用確認プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN108140091B (zh) | 2021-12-31 |
EP3330879B1 (en) | 2019-12-18 |
JP6503084B2 (ja) | 2019-04-17 |
EP3330879A1 (en) | 2018-06-06 |
CN108140091A (zh) | 2018-06-08 |
US20180225460A1 (en) | 2018-08-09 |
EP3330879A4 (en) | 2019-04-03 |
JPWO2017061270A1 (ja) | 2018-02-22 |
US10747887B2 (en) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017061270A1 (ja) | 脆弱性発見装置、脆弱性発見方法、および、脆弱性発見プログラム | |
JP6088713B2 (ja) | 脆弱性発見装置、脆弱性発見方法、及び脆弱性発見プログラム | |
US10339315B2 (en) | Apparatus and method for detecting malicious mobile app | |
JP6670907B2 (ja) | スクリプトの実行をブロックするシステム及び方法 | |
Alazab et al. | Malware detection based on structural and behavioural features of API calls | |
US8931092B2 (en) | System and method for computer inspection of information objects for shared malware components | |
WO2018066516A1 (ja) | 攻撃コード検知装置、攻撃コード検知方法及び攻撃コード検知プログラム | |
US10607010B2 (en) | System and method using function length statistics to determine file similarity | |
US10198576B2 (en) | Identification of mislabeled samples via phantom nodes in label propagation | |
US10255436B2 (en) | Creating rules describing malicious files based on file properties | |
US20180285565A1 (en) | Malware detection in applications based on presence of computer generated strings | |
CN116868193A (zh) | 固件组件标识和漏洞评估 | |
US11366902B2 (en) | System and method of detecting malicious files based on file fragments | |
Hu et al. | Robust app clone detection based on similarity of ui structure | |
US11550910B2 (en) | Creating generic rules in a high dimensional sparse feature space using negative feedback | |
WO2019002558A1 (en) | STANDARDIZATION OF ENTRY POINT INSTRUCTIONS IN EXECUTABLE PROGRAM FILES | |
US9223569B1 (en) | Automatic software catalog content creation based on bio-inspired computing prediction | |
EP3767510A1 (en) | System and method of detecting malicious files based on file fragments | |
US12067152B2 (en) | Verification device, verification system, verification method, and verification program | |
WO2021149317A1 (ja) | 推定システム、推定方法及び推定プログラム | |
WO2022254729A1 (ja) | 解析装置、解析方法、および、解析プログラム | |
于颖超 et al. | Binary Code Similarity Analysis and Its Applications on Embedded Device Firmware Vulnerability Search |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16853424 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2017544442 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15749174 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2016853424 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |