Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7672654B2 - DETECTION APPARATUS, DETECTION METHOD, AND DETECTION PROGRAM - Google Patents
[go: Go Back, main page]

JP7672654B2 - DETECTION APPARATUS, DETECTION METHOD, AND DETECTION PROGRAM - Google Patents

DETECTION APPARATUS, DETECTION METHOD, AND DETECTION PROGRAM Download PDF

Info

Publication number
JP7672654B2
JP7672654B2 JP2022024973A JP2022024973A JP7672654B2 JP 7672654 B2 JP7672654 B2 JP 7672654B2 JP 2022024973 A JP2022024973 A JP 2022024973A JP 2022024973 A JP2022024973 A JP 2022024973A JP 7672654 B2 JP7672654 B2 JP 7672654B2
Authority
JP
Japan
Prior art keywords
software
firmware
unit
version number
difference
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
Application number
JP2022024973A
Other languages
Japanese (ja)
Other versions
JP2023121566A (en
Inventor
満昭 秋山
榮太朗 塩治
利宏 山内
周碁 白石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Okayama University NUC
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
Okayama University NUC
NTT Inc USA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Okayama University NUC, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2022024973A priority Critical patent/JP7672654B2/en
Publication of JP2023121566A publication Critical patent/JP2023121566A/en
Application granted granted Critical
Publication of JP7672654B2 publication Critical patent/JP7672654B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、検知装置、検知方法および検知プログラムに関する。 The present invention relates to a detection device, a detection method, and a detection program.

一般に、IoT(Internet of Things)等の組み込みシステムにおいて、ハードウェアを制御するために、様々なソフトウェアが同梱されたファームウェアが利用される。このようなソフトウェアの多くは、しばしば脆弱性が発見されるOSS(Open Source Software)が利用されることから、IoTも脆弱になる。 In general, in embedded systems such as the Internet of Things (IoT), firmware that includes various software is used to control the hardware. Since much of this software uses Open Source Software (OSS), which is often found to have vulnerabilities, the IoT is also vulnerable.

そこで従来、脆弱性データベース(CVE, Common Vulnerability Enumeration)を利用して、システムで利用されているソフトウェアに対して、バージョン番号に基づいた脆弱性の検知が行われている(非特許文献1,2参照)。CVEには、脆弱性のあるソフトウェア名とバージョン番号とが登録されており、ソフトウェア名とバージョン番号とをCVEに照合することにより、脆弱性の有無を知ることができる。 Conventionally, a vulnerability database (CVE, Common Vulnerability Enumeration) has been used to detect vulnerabilities based on the version numbers of software used in a system (see Non-Patent Documents 1 and 2). The CVE registers the names and version numbers of vulnerable software, and by checking the software name and version number against the CVE, it is possible to know whether or not there is a vulnerability.

また、ソフトウェアに脆弱性が有る場合には、脆弱性の原因となる箇所を修正した上でバージョン番号を上げるようなソフトウェアの更新を行う場合が多い。 In addition, when software has vulnerabilities, the software is often updated to fix the part causing the vulnerability and increase the version number.

“CVE”、[online]、2021年10月、[2022年1月18日検索]、インターネット<URL:https://cve.mitre.org>“CVE”, [online], October 2021, [Retrieved January 18, 2022], Internet <URL: https://cve.mitre.org> “OWASP Dependency-Check”、[online]、OWASP、[2022年1月18日検索]、インターネット<URL:https://www.owasp.org/index.php/OWASP_Dependency_Check>“OWASP Dependency-Check”, [online], OWASP, [Retrieved January 18, 2022], Internet <URL: https://www.owasp.org/index.php/OWASP_Dependency_Check>

しかしながら、従来の技術では、IoT上で動作するソフトウェアの脆弱性の有無を検知することが困難である。例えば、バージョン番号を変更せずにソフトウェアの更新を行うパッチが適用された場合には、バージョン番号が変化せずに脆弱性が修正された状態になる。その場合に、ソフトウェア名とバージョン番号とをCVEに照合すると、パッチが適用されて脆弱性が修正されているにもかかわらず、脆弱性有りと判定され、誤検知となる。 However, with conventional technology, it is difficult to detect whether software running on the IoT has vulnerabilities. For example, when a patch that updates software without changing the version number is applied, the vulnerability is fixed without changing the version number. In that case, when the software name and version number are compared against the CVE, it is determined that the software has a vulnerability, even though the patch has been applied and the vulnerability has been fixed, resulting in a false positive.

本発明は、上記に鑑みてなされたものであって、IoT上で動作するソフトウェアの脆弱性の有無を正確に検知することを目的とする。 The present invention has been made in consideration of the above, and aims to accurately detect whether or not software running on IoT has vulnerabilities.

上述した課題を解決し、目的を達成するために、本発明に係る検知装置は、所定のファームウェアを収集する収集部と、前記ファームウェアに含まれるソフトウェアを表すファイルを抽出する抽出部と、抽出された前記ソフトウェアのバージョン番号を特定する特定部と、時系列に並べた前後の前記バージョン番号が同一であるソフトウェアの間における差分の有無を判別する判別部と、を有することを特徴とする。 To solve the above-mentioned problems and achieve the objective, the detection device according to the present invention is characterized by having a collection unit that collects predetermined firmware, an extraction unit that extracts a file representing software contained in the firmware, an identification unit that identifies the version number of the extracted software, and a discrimination unit that discriminates whether there is a difference between software with the same version number arranged in chronological order.

本発明によれば、IoT上で動作するソフトウェアの脆弱性の有無を正確に検知することが可能となる。 The present invention makes it possible to accurately detect whether or not there are vulnerabilities in software running on IoT.

図1は、検知装置の概要を説明するための図である。FIG. 1 is a diagram for explaining an overview of the detection device. 図2は、検知装置の概略構成を例示する模式図である。FIG. 2 is a schematic diagram illustrating a schematic configuration of the detection device. 図3は、ファームウェアテーブルのデータ構成を例示する図である。FIG. 3 is a diagram illustrating an example of the data structure of the firmware table. 図4は、ファイルテーブルのデータ構成を例示する図である。FIG. 4 is a diagram illustrating an example of the data structure of the file table. 図5は、特定部の処理を説明するための図である。FIG. 5 is a diagram for explaining the process of the identification unit. 図6は、判別部の処理を説明するための図である。FIG. 6 is a diagram for explaining the process of the determination unit. 図7は、判別部の処理を説明するための図である。FIG. 7 is a diagram for explaining the process of the determination unit. 図8は、検知処理手順を示すフローチャートである。FIG. 8 is a flowchart showing a detection process procedure. 図9は、検知プログラムを実行するコンピュータを例示する図である。FIG. 9 is a diagram illustrating a computer that executes a detection program.

以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。 One embodiment of the present invention will be described in detail below with reference to the drawings. Note that the present invention is not limited to this embodiment. In addition, in the drawings, the same parts are denoted by the same reference numerals.

[検知装置の概要]
図1は、検知装置の概要を説明するための図である。本実施形態の検知装置は、IoT製品のファームウェアに含まれるソフトウェア名およびバージョン番号を時系列で管理して、ファームウェアのバージョンアップの前後で、バージョン番号を変えずに脆弱性を修正するパッチが適用されたソフトウェアを検知する。そして、検知したバージョン番号が不変のままパッチが適用されたソフトウェアを、CVEへの照合の対象から除外することにより、脆弱性の誤検知を防止する。
[Detection device overview]
1 is a diagram for explaining an overview of the detection device. The detection device of this embodiment manages software names and version numbers included in the firmware of an IoT product in chronological order, and detects software to which a patch that fixes vulnerabilities without changing the version number has been applied before and after a firmware upgrade. Then, the detected software to which a patch has been applied while keeping the version number unchanged is excluded from the target of matching against the CVE, thereby preventing false detection of vulnerabilities.

例えば、図1に例示したように、IoT製品のバージョン番号が連続するファームウェアF、Fについて、それぞれに含まれるソフトウェア名とバージョン番号とを比較して、ソフトウェア名とバージョン番号が同一のものを特定する。そして、図1に例示したソフトウェアBのように、バージョン番号が同一であるものを対象に、脆弱性を修正するパッチが適用されているか否かを判別する。 For example, as shown in Fig. 1, for firmware F1 and F2 with consecutive version numbers of an IoT product, the software names and version numbers included in each are compared to identify those with the same software name and version number. Then, for those with the same version number, such as software B shown in Fig. 1, it is determined whether a patch to fix the vulnerability has been applied.

具体的には、検知装置は、ハッシュ値およびプログラム構造が異なる場合に、脆弱性を修正するパッチが適用されたものと判別する。例えば、ハッシュ値が同一である場合には、ファームウェアFとFの間でソフトウェアのバージョンの変化はなく、パッチも適用されていないと判別する。また、ハッシュ値が異なるがプログラム構造が同一である場合には、ファームウェアFとFの間でソフトウェアのファイルに何等かの変化があるがパッチの適用はないと判別する。そして、ハッシュ値もプログラム構造も異なる場合には、ファームウェアFとFの間でソフトウェアにプログラム構造が変化するパッチが適用されたと判別する。 Specifically, the detection device determines that a patch that fixes a vulnerability has been applied if the hash values and program structures are different. For example, if the hash values are the same, it determines that there is no change in the software version between firmware F1 and F2 and that no patch has been applied. If the hash values are different but the program structures are the same, it determines that there is some change in the software file between firmware F1 and F2 but that no patch has been applied. And if both the hash values and the program structures are different, it determines that a patch that changes the program structure of the software has been applied between firmware F1 and F2 .

検知装置は、パッチが適用されたと判別したソフトウェアを、CVEへの照合の対象から除外することにより、脆弱性の有無の誤検知を回避することが可能となる。 The detection device can avoid false positives about the presence or absence of vulnerabilities by excluding software that it determines has been patched from the targets of comparison with the CVE.

[検知装置の構成]
図2は、検知装置の概略構成を例示する模式図である。図2に例示するように、本実施形態の検知装置10は、パソコン等の汎用コンピュータで実現され、入力部11、出力部12、通信制御部13、記憶部14、および制御部15を備える。
[Configuration of the detection device]
2 is a schematic diagram illustrating a schematic configuration of a detection device 10 according to the present embodiment. As illustrated in FIG. 2, the detection device 10 is realized by a general-purpose computer such as a personal computer, and includes an input unit 11, an output unit 12, a communication control unit 13, a storage unit 14, and a control unit 15.

入力部11は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して処理開始などの各種指示情報を入力する。出力部12は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。例えば、出力部12には、後述する検知処理の結果が表示される。 The input unit 11 is realized using input devices such as a keyboard and a mouse, and inputs various instruction information, such as starting processing, to the control unit 15 in response to input operations by an operator. The output unit 12 is realized by a display device such as a liquid crystal display, a printing device such as a printer, etc. For example, the output unit 12 displays the results of the detection process described below.

通信制御部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した外部の装置と制御部15との通信を制御する。例えば、通信制御部13は、IoT製品のファームウェアを提供するサーバ等と制御部15との通信を制御する。 The communication control unit 13 is realized by a NIC (Network Interface Card) or the like, and controls communication between the control unit 15 and external devices via telecommunication lines such as a LAN (Local Area Network) or the Internet. For example, the communication control unit 13 controls communication between the control unit 15 and a server that provides firmware for IoT products.

記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14には、検知装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。なお、記憶部14は、通信制御部13を介して制御部15と通信する構成でもよい。 The storage unit 14 is realized by a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 14 stores in advance the processing program that operates the detection device 10 and data used during execution of the processing program, or stores the data temporarily each time processing is performed. The storage unit 14 may be configured to communicate with the control unit 15 via the communication control unit 13.

本実施形態において、記憶部14は、ファームウェアテーブル14a、ファイルテーブル14b等を記憶する。なお、これらの各種情報は、検知装置10の記憶部14に記憶される場合に限定されず、例えば、後述する検知処理が実行される際に収集されてもよい。 In this embodiment, the memory unit 14 stores a firmware table 14a, a file table 14b, etc. Note that this information is not limited to being stored in the memory unit 14 of the detection device 10, and may be collected, for example, when the detection process described below is executed.

ここで、図3は、ファームウェアテーブルのデータ構成を例示する図である。図3に例示するように、ファームウェアテーブル14aは、IoT製品の製品名、ファームウェアバージョン番号、ファームウェアリリース日を含む。図3には、例えば、IoT製品の製品名「P_ABC」のファームウェアのファームウェアバージョン番号「FW_ABC_001」、ファームウェアリリース日「2020/01/10」が例示されている。 Here, FIG. 3 is a diagram illustrating an example of the data configuration of the firmware table. As illustrated in FIG. 3, the firmware table 14a includes the product name, firmware version number, and firmware release date of the IoT product. For example, FIG. 3 illustrates the firmware version number "FW_ABC_001" and firmware release date "2020/01/10" of the firmware for the IoT product with the product name "P_ABC".

これらの情報は、後述する検知処理に先立って、IoT製品のファームウェアを提供するサーバ等から、入力部11あるいは通信制御部13を介して、収集部15aにより収集され、記憶部14に蓄積される。 Prior to the detection process described below, this information is collected by the collection unit 15a from a server that provides firmware for the IoT product via the input unit 11 or the communication control unit 13, and is stored in the memory unit 14.

また、図4は、ファイルテーブルのデータ構成を例示する図である。図4に例示するように、ファイルテーブル14bは、ファームウェアに含まれるソフトウェアを表すファイルのファイルID、ファームウェアバージョン番号、ソフトウェア名、ソフトウェアバージョン番号、差分の有無を含む。ファイルテーブル14bは、後述する検知処理において生成され、記憶部14に蓄積される。 FIG. 4 is a diagram illustrating an example of the data configuration of the file table. As illustrated in FIG. 4, the file table 14b includes the file ID of the file representing the software included in the firmware, the firmware version number, the software name, the software version number, and the presence or absence of differences. The file table 14b is generated in the detection process described below, and is stored in the memory unit 14.

図4には、例えば、ファームウェアバージョン番号「FW_ABC_001」のファームウェアに含まれるソフトウェアのファイルについて、ファイルID「SW_ABC_001_0001」、ソフトウェア名「httpserver」、ソフトウェアバージョン番号「1.1.0」であることが示されている。 For example, Figure 4 shows that the software file included in the firmware with firmware version number "FW_ABC_001" has a file ID of "SW_ABC_001_0001", a software name of "httpsserver", and a software version number of "1.1.0".

図2の説明に戻る。制御部15は、CPU(Central Processing Unit)等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部15は、図2に例示するように、収集部15a、抽出部15b、特定部15c、判別部15dおよび照合部15eとして機能する。なお、これらの機能部は、それぞれあるいは一部が異なるハードウェアに実装されてもよい。例えば、照合部15eは、他の機能部とは異なるハードウェアに実装されてもよい。また、制御部15は、その他の機能部を備えてもよい。 Returning to the explanation of FIG. 2, the control unit 15 is realized using a CPU (Central Processing Unit) or the like, and executes a processing program stored in memory. As a result, the control unit 15 functions as a collection unit 15a, an extraction unit 15b, an identification unit 15c, a discrimination unit 15d, and a matching unit 15e, as exemplified in FIG. 2. Note that each or some of these functional units may be implemented in different hardware. For example, the matching unit 15e may be implemented in hardware different from the other functional units. The control unit 15 may also include other functional units.

収集部15aは、所定のファームウェアを収集する。例えば、収集部15aは、入力部11あるいは通信制御部13を介して、IoT製品のファームウェア配布サイトからファームウェアおよびファームウェアのメタ情報を収集する。メタ情報は、製品名、ファームウェアバージョン番号、ファームウェアリリース日を含む。収集部15aは、メタ情報をファームウェアテーブル14aとして記憶部14に蓄積する。また、収集部15aは、ファームウェアを以下に説明する抽出部15bに転送する。 The collection unit 15a collects predetermined firmware. For example, the collection unit 15a collects firmware and firmware meta-information from a firmware distribution site for IoT products via the input unit 11 or the communication control unit 13. The meta-information includes the product name, firmware version number, and firmware release date. The collection unit 15a accumulates the meta-information as a firmware table 14a in the storage unit 14. The collection unit 15a also transfers the firmware to the extraction unit 15b, which will be described below.

なお、収集部15aは、収集したファームウェアを、ファームウェアテーブル14aとして記憶部14に記憶させずに、直ちに抽出部15bに転送してもよい。 The collection unit 15a may immediately transfer the collected firmware to the extraction unit 15b without storing it in the memory unit 14 as a firmware table 14a.

抽出部15bは、ファームウェアに含まれるソフトウェアを表すファイルを抽出する。具体的には、抽出部15bは、収集部15aから取得したファームウェアをアンパックして、ファームウェアに含まれるファイルを抽出する。抽出部15bは、例えば、Linux(登録商標)であればELFファイルというように、実行形式のプログラムであるファイルを抽出する。 The extraction unit 15b extracts files that represent software included in the firmware. Specifically, the extraction unit 15b unpacks the firmware acquired from the collection unit 15a and extracts the files included in the firmware. For example, the extraction unit 15b extracts files that are executable programs, such as ELF files in the case of Linux (registered trademark).

また、抽出部15bは、図4に示したように、抽出したファイルのファイルIDとファームウェアバージョン番号とを、ファイルテーブル14bとして記憶部14に蓄積する。 In addition, the extraction unit 15b stores the file ID and firmware version number of the extracted file as a file table 14b in the memory unit 14, as shown in FIG. 4.

特定部15cは、抽出されたソフトウェアのバージョン番号を特定する。具体的には、特定部15cは、抽出されたファイルから文字列を抽出して、ファイルに対応するソフトウェアのバージョン番号を特定する。 The identification unit 15c identifies the version number of the extracted software. Specifically, the identification unit 15c extracts a character string from the extracted file and identifies the version number of the software corresponding to the file.

例えば、特定部15cは、ファイル内の可読文字の文字列を抽出する静的解析と、ファイルを実行することにより出力された文字列を抽出する動的解析の少なくともいずれかを利用して、ソフトウェアのバージョン番号を特定する。そして、特定部15cは、抽出した文字列に対して、正規表現を用いてソフトウェア名とソフトウェアバージョン番号とを特定する。 For example, the identification unit 15c identifies the version number of the software by using at least one of static analysis, which extracts a string of human-readable characters in a file, and dynamic analysis, which extracts a string output by executing the file. The identification unit 15c then identifies the software name and software version number for the extracted string using regular expressions.

ここで、図5は、特定部の処理をするための図である。図5には、OpenSSLのバージョン番号を特定する処理が例示されている。図5に示す例では、正規表現「^OpenSSL ¥d¥.¥d¥.¥d[a-z]*$」を用いて、抽出した文字列のうちマッチする文字列「OpenSSL 1.0.21」が特定されている。これにより、ソフトウェア名「OpenSSL」とソフトウェアバージョン番号「1.0.21」とが特定されている。 Here, FIG. 5 is a diagram for the processing of the identification unit. FIG. 5 illustrates the processing for identifying the version number of OpenSSL. In the example shown in FIG. 5, the regular expression "^OpenSSL \d\.\d\.\d[a-z]*$" is used to identify the matching string "OpenSSL 1.0.21" from among the extracted strings. This identifies the software name "OpenSSL" and the software version number "1.0.21".

また、図4に示したように、特定部15cは、特定したソフトウェア名とソフトウェアバージョン番号とを、ファイルテーブル14bに追加登録する。 Also, as shown in FIG. 4, the identification unit 15c additionally registers the identified software name and software version number in the file table 14b.

図2の説明に戻る。判別部15dは、時系列に並べた前後のバージョン番号が同一であるソフトウェアの間における差分の有無を判別する。 Returning to the explanation of FIG. 2, the determination unit 15d determines whether there is a difference between software that has the same version number when arranged in chronological order.

ここで、図6および図7は、判別部の処理を説明するための図である。まず、判別部15dは、ソフトウェア名とソフトウェアバージョン番号とを、ファームウェアのリリース日に基づいて時系列に並べる。また、判別部15dは、ソフトウェアごとにバージョン番号を確認し、当該ソフトウェアのハッシュ値を算出する。そして、判別部15dは、前後のソフトウェアのファイルのペアを対象として、差分の有無を判別する。 Here, Figs. 6 and 7 are diagrams for explaining the processing of the discrimination unit. First, the discrimination unit 15d arranges the software names and software version numbers in chronological order based on the firmware release dates. The discrimination unit 15d also checks the version number for each piece of software and calculates a hash value for that software. The discrimination unit 15d then determines whether there are any differences between pairs of files of the previous and next pieces of software.

具体的には、判別部15dは、時系列に並べた前後のバージョン情報が同一であるソフトウェアの間で、ハッシュ値およびプログラム構造が異なる場合に、差分が有ると判別する。 Specifically, the discrimination unit 15d determines that there is a difference when the hash values and program structures are different between software that has the same version information arranged in chronological order.

図6には、あるソフトウェアXについて、ファームウェア更新に基づいて時系列に並べられたソフトウェアのバージョン番号とハッシュ値とが例示されている。判別部15dは、時系列に並べたN個のファームウェアF、F、…、Fについて、n=1から順にファームウェアFとファームウェアFn+1とを確認し、ソフトウェアXのバージョン番号が同一であり、ハッシュ値が異なるファイルのペアを抽出する。 6 illustrates an example of software version numbers and hash values arranged in chronological order based on firmware updates for a certain piece of software X. The determination unit 15d checks firmware Fn and firmware Fn +1 for N pieces of firmware F1 , F2 , ..., FN arranged in chronological order, starting from n= 1 , and extracts pairs of files having the same version number of software X but different hash values.

図6に示す例では、FとFについては、バージョン番号が異なるため、処理が終了している。次に、FとFについて、バージョン番号2.1が同一であり、ハッシュ値が異なることから、判別部15dの処理対象のペアとして抽出されている。 6, the processing is completed for F1 and F2 because the version numbers are different. Next, F2 and F3 have the same version number 2.1 and different hash values, so they are extracted as a pair to be processed by the discrimination unit 15d.

また、判別部15dは、抽出したペアについて、さらにプログラム構造が異なる場合に、差分が有ると判別する。この場合に、判別部15dは、後ろのファイルは脆弱性を修正するパッチが適用されたものと推定する。 The discrimination unit 15d also determines that there is a difference between the extracted pairs if the program structures are different. In this case, the discrimination unit 15d estimates that a patch that fixes the vulnerability has been applied to the latter file.

具体的には、判別部15dは、時系列に並べた前後のバージョン情報が同一であるソフトウェアを表すファイルの間で、コードが変化している場合、または一方にのみ存在するコードがある場合に、プログラム構造が異なると判別する。例えば、判別部15dは、2つのバイナリファイルの間で、コードブロック内のアセンブラコードに変化が見られた場合に、プログラム構造が異なると判別する。あるいは、判別部15dは、一方のバイナリファイルにのみ存在するコードブロックがある場合に、プログラム構造が異なると判別する。 Specifically, the discrimination unit 15d determines that the program structures are different when code has changed between files representing software that have the same version information arranged in chronological order, or when code exists in only one of the files. For example, the discrimination unit 15d determines that the program structures are different when a change is found in assembler code within a code block between two binary files. Alternatively, the discrimination unit 15d determines that the program structures are different when a code block exists in only one of the binary files.

図7には、プログラム構造の差分の有無を判別する処理が例示されている。図7に示す例では、判別部15dは、バイナリファイル1,2それぞれの逆アセンブルにより得られた2つのソースコード間でプログラム構造を比較して、差分の有無を判別している。 Figure 7 illustrates a process for determining whether there is a difference in program structure. In the example shown in Figure 7, the determination unit 15d compares the program structure between two source codes obtained by disassembling binary files 1 and 2, respectively, to determine whether there is a difference.

例えば、判別部15dは、図7(差分1)に示すように、コードの変更、または一方にのみ特定のコードが有る場合に、プログラム構造が異なると判別する。また、判別部15dは、図7(差分2)に示すように、一方にのみ特定のコードブロックが存在する場合に、プログラム構造が異なると判別する。 For example, as shown in FIG. 7 (difference 1), the discrimination unit 15d determines that the program structures are different when there is a change in the code or when specific code is present on only one side. Also, as shown in FIG. 7 (difference 2), the discrimination unit 15d determines that the program structures are different when a specific code block is present on only one side.

また、判別部15dは、図4に例示したように、ファイルテーブル14bに差分の有無を追加登録する。例えば、判別部15dは、前後のファイル間で差分が有ると判別した場合に、後のファイルの「差分」カラムに「有」を登録する。 The discrimination unit 15d also registers the presence or absence of differences in the file table 14b, as shown in FIG. 4. For example, when the discrimination unit 15d determines that there is a difference between the previous and next files, it registers "Yes" in the "Difference" column of the later file.

図2の説明に戻る。照合部15eは、差分があると判別されたソフトウェアを除外して、ファームウェアに含まれるソフトウェアをCVEに照合する。つまり、照合部15eは、脆弱性を修正するパッチが適用されたソフトウェアを、CVEへの照合から除外する。これにより、照合部15eは、脆弱性が修正されたソフトウェアをCVEに照合して脆弱性の有りと誤検知することを回避することが可能となる。 Returning to the explanation of FIG. 2, the comparison unit 15e excludes software determined to have differences and compares the software included in the firmware with the CVE. In other words, the comparison unit 15e excludes software to which a patch that fixes vulnerabilities has been applied from comparison with the CVE. This makes it possible for the comparison unit 15e to avoid erroneously detecting the presence of vulnerabilities by comparing software with fixed vulnerabilities with the CVE.

[検知処理]
次に、図8を参照して、本実施形態に係る検知装置10による検知処理について説明する。図8は、検知処理手順を示すフローチャートである。図8のフローチャートは、例えば、検知処理の開始を指示する操作入力があったタイミングで開始される。
[Detection process]
Next, the detection process by the detection device 10 according to the present embodiment will be described with reference to Fig. 8. Fig. 8 is a flowchart showing the procedure of the detection process. The flowchart in Fig. 8 is started, for example, when an operation input is made to instruct the start of the detection process.

まず、収集部15aが、所定のファームウェアを収集する(ステップS1)。例えば、収集部15aは、入力部11あるいは通信制御部13を介して、IoT製品のファームウェア配布サイトからファームウェアおよびファームウェアのメタ情報を収集する。収集部15aは、メタ情報をファームウェアテーブル14aとして記憶部14に蓄積する。また、収集部15aは、ファームウェアを抽出部15bに転送する。 First, the collection unit 15a collects a specific firmware (step S1). For example, the collection unit 15a collects firmware and firmware meta-information from a firmware distribution site for an IoT product via the input unit 11 or the communication control unit 13. The collection unit 15a accumulates the meta-information as a firmware table 14a in the storage unit 14. The collection unit 15a also transfers the firmware to the extraction unit 15b.

次に、抽出部15bが、ファームウェアに含まれるソフトウェアを表すファイルを抽出する(ステップS2)。具体的には、抽出部15bは、収集部15aから取得したファームウェアをアンパックして、ファームウェアに含まれる、実行形式のプログラムであるファイルを抽出する。 Next, the extraction unit 15b extracts files that represent software included in the firmware (step S2). Specifically, the extraction unit 15b unpacks the firmware acquired from the collection unit 15a and extracts files that are executable programs included in the firmware.

また、特定部15cが、抽出されたソフトウェアのバージョン番号を特定する(ステップS3)。具体的には、特定部15cは、抽出されたファイルから文字列を抽出して、ファイルに対応するソフトウェアのバージョン番号を特定する。 The identification unit 15c also identifies the version number of the extracted software (step S3). Specifically, the identification unit 15c extracts a character string from the extracted file and identifies the version number of the software corresponding to the file.

例えば、特定部15cは、ファイル内の可読文字の文字列を抽出する静的解析と、ファイルを実行することにより出力された文字列を抽出する動的解析の少なくともいずれかを利用して、ソフトウェアのバージョン番号を特定する。そして、特定部15cは、抽出した文字列に対して、正規表現を用いてソフトウェア名とソフトウェアバージョン番号とを特定する。 For example, the identification unit 15c identifies the version number of the software by using at least one of static analysis, which extracts a string of human-readable characters in a file, and dynamic analysis, which extracts a string output by executing the file. The identification unit 15c then identifies the software name and software version number for the extracted string using regular expressions.

そして、判別部15dが、時系列に並べた前後のバージョン番号が同一であるソフトウェアの間における差分の有無を判別する(ステップS4)。具体的には、判別部15dは、時系列に並べた前後のバージョン情報が同一であるソフトウェアを表すファイルの間で、ハッシュ値およびプログラム構造が異なる場合に、差分が有ると判別する。 Then, the discrimination unit 15d discriminates whether or not there is a difference between the software whose version numbers are the same before and after the chronological order (step S4). Specifically, the discrimination unit 15d discriminates that there is a difference when the hash values and program structures are different between files representing software whose version information is the same before and after the chronological order.

また、判別部15dは、時系列に並べた前後のバージョン情報が同一であるソフトウェアを表すファイルの間で、コードが変化している場合、または一方にのみ存在するコードがある場合に、プログラム構造が異なると判別する。 The discrimination unit 15d also discriminates that the program structures are different when code has changed between files representing software that have the same version information arranged in chronological order, or when code exists in only one of the files.

そして、照合部15eが、差分があると判別されたソフトウェアを除外して、ファームウェアに含まれるソフトウェアをCVEに照合する(ステップS5)。つまり、照合部15eは、脆弱性を修正するパッチが適用されたソフトウェアを、CVEへの照合から除外する。これにより、一連の検知処理が完了する。 Then, the comparison unit 15e excludes the software determined to have a difference and compares the software included in the firmware with the CVE (step S5). In other words, the comparison unit 15e excludes software to which a patch that fixes a vulnerability has been applied from comparison with the CVE. This completes a series of detection processes.

[効果]
以上、説明したように、検知装置10において、収集部15aが、所定のファームウェアを収集する。また、抽出部15bが、ファームウェアに含まれるソフトウェアを表すファイルを抽出する。また、特定部15cが、抽出されたソフトウェアのバージョン番号を特定する。また、判別部15dが、時系列に並べた前後のバージョン番号が同一であるソフトウェアの間における差分の有無を判別する。
[effect]
As described above, in the detection device 10, the collection unit 15a collects predetermined firmware. The extraction unit 15b extracts files representing software included in the firmware. The identification unit 15c identifies the version number of the extracted software. The discrimination unit 15d discriminates whether there is a difference between software with the same version number arranged in chronological order.

具体的には、特定部15cは、ファイル内の可読文字の文字列を抽出する静的解析と、ファイルを実行することにより出力された文字列を抽出する動的解析の少なくともいずれかを利用して、ソフトウェアのバージョン番号を特定する。 Specifically, the identification unit 15c identifies the version number of the software by using at least one of static analysis, which extracts a string of human-readable characters in the file, and dynamic analysis, which extracts a string output by executing the file.

また、判別部15dは、時系列に並べた前後のバージョン情報が同一であるソフトウェアの間で、ハッシュ値およびプログラム構造が異なる場合に、差分が有ると判別する。 The discrimination unit 15d also determines that there is a difference when the hash values and program structures are different between software that has the same version information arranged in chronological order.

また、判別部15dは、時系列に並べた前後のバージョン情報が同一であるソフトウェアを表すファイルの間で、コードが変化している場合、または一方にのみ存在するコードがある場合に、プログラム構造が異なると判別する。 The discrimination unit 15d also discriminates that the program structures are different when code has changed between files representing software that have the same version information arranged in chronological order, or when code exists in only one of the files.

ここで、従来、インストールされたソフトウェア名とバージョン番号とがシステム管理者によって正しく管理されているシステムでは、CVEとの照合により、正確に脆弱性の有無を判別できる。また、システム管理者が脆弱性に対するパッチ適用を記録しておけば、誤検知の発生を感知できる。 Here, in a conventional system where the name and version number of installed software are properly managed by the system administrator, the presence or absence of vulnerabilities can be accurately determined by comparing with the CVE. In addition, if the system administrator keeps a record of patch application for vulnerabilities, the occurrence of false positives can be detected.

一方、一般にIoT所有者は、IoTで動作するソフトウェアのソフトウェア名やバージョン番号の列挙、アップデート等を、ソフトウェアごとに個別に管理することができず、ベンダから提供されるファームウェアを用いてアップデートするに過ぎない。したがって、IoT所有者がIoT上で動作するソフトウェアの脆弱性の有無を調査することは困難である。 On the other hand, IoT owners generally cannot individually manage the software names and version numbers of software that runs on the IoT, or manage updates, etc. for each piece of software, and can only update using firmware provided by the vendor. Therefore, it is difficult for IoT owners to investigate whether software running on the IoT has vulnerabilities.

これに対し、本実施形態の検知装置10によれば、脆弱性を修正するパッチが適用されたソフトウェアを推定することができる。したがって、パッチが適用されたソフトウェアを除外してCVEに照合することにより、IoT上で動作するソフトウェアの脆弱性の有無を正確に検知することが可能となる。 In contrast, the detection device 10 of this embodiment can estimate software to which a patch that fixes a vulnerability has been applied. Therefore, by excluding software to which a patch has been applied and comparing it with the CVE, it is possible to accurately detect whether or not software running on the IoT has vulnerabilities.

また、照合部15eは、差分があると判別されたソフトウェアを除外して、ファームウェアに含まれるソフトウェアを脆弱性データベースに照合する。これにより、検知装置10は、脆弱性を修正するパッチが適用されたソフトウェアをCVEに照合して脆弱性の有りと誤検知することを、回避することが可能となる。 The comparison unit 15e also excludes software determined to have differences and compares the software included in the firmware with the vulnerability database. This enables the detection device 10 to avoid falsely detecting the presence of vulnerabilities by comparing software to which a patch that fixes vulnerabilities has been applied with the CVE.

[プログラム]
上記実施形態に係る検知装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、検知装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知処理を実行する検知プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検知プログラムを情報処理装置に実行させることにより、情報処理装置を検知装置10として機能させることができる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。また、検知装置10の機能を、クラウドサーバーに実装してもよい。
[program]
A program in which the process executed by the detection device 10 according to the above embodiment is written in a language executable by a computer can also be created. As an embodiment, the detection device 10 can be implemented by installing a detection program that executes the above detection process as package software or online software on a desired computer. For example, the above detection program can be executed by an information processing device, causing the information processing device to function as the detection device 10. In addition, the information processing device also includes mobile communication terminals such as smartphones, mobile phones, and PHS (Personal Handyphone System), as well as slate terminals such as PDA (Personal Digital Assistant). The function of the detection device 10 may also be implemented on a cloud server.

図9は、検知プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。 Figure 9 is a diagram showing an example of a computer that executes a detection program. The computer 1000 has, for example, a memory 1010, a CPU 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. Each of these components is connected by a bus 1080.

メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。 The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012. The ROM 1011 stores a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to a hard disk drive 1031. The disk drive interface 1040 is connected to a disk drive 1041. A removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1041. The serial port interface 1050 is connected to a mouse 1051 and a keyboard 1052, for example. The video adapter 1060 is connected to a display 1061, for example.

ここで、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ1031やメモリ1010に記憶される。 Here, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. Each piece of information described in the above embodiment is stored, for example, in the hard disk drive 1031 or memory 1010.

また、検知プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した検知装置10が実行する各処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。 The detection program is stored in the hard disk drive 1031, for example, as a program module 1093 in which instructions to be executed by the computer 1000 are written. Specifically, the program module 1093 in which each process executed by the detection device 10 described in the above embodiment is written is stored in the hard disk drive 1031.

また、検知プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。 In addition, data used for information processing by the detection program is stored as program data 1094, for example, in the hard disk drive 1031. Then, the CPU 1020 reads the program module 1093 and program data 1094 stored in the hard disk drive 1031 into the RAM 1012 as necessary, and executes each of the procedures described above.

なお、検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。 The program module 1093 and program data 1094 related to the detection program are not limited to being stored in the hard disk drive 1031, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1041 or the like. Alternatively, the program module 1093 and program data 1094 related to the detection program may be stored in another computer connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network), and read by the CPU 1020 via the network interface 1070.

以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。 The above describes an embodiment of the invention made by the inventor, but the present invention is not limited to the description and drawings that form part of the disclosure of the present invention according to this embodiment. In other words, other embodiments, examples, operational techniques, etc. made by those skilled in the art based on this embodiment are all included in the scope of the present invention.

10 検知装置
11 入力部
12 出力部
13 通信制御部
14 記憶部
14a ファームウェアテーブル
14b ファイルテーブル
15 制御部
15a 収集部
15b 抽出部
15c 特定部
15d 判別部
15e 照合部
REFERENCE SIGNS LIST 10 Detection device 11 Input unit 12 Output unit 13 Communication control unit 14 Storage unit 14a Firmware table 14b File table 15 Control unit 15a Collection unit 15b Extraction unit 15c Identification unit 15d Discrimination unit 15e Collation unit

Claims (6)

所定のファームウェアを収集する収集部と、
前記ファームウェアに含まれるソフトウェアを表すファイルを抽出する抽出部と、
抽出された前記ソフトウェアのバージョン番号を特定する特定部と、
時系列に並べた前後の前記バージョン番号が同一であるソフトウェアの間における差分の有無を判別する判別部と、
前記差分があると判別されたソフトウェアを除外して、前記ファームウェアに含まれるソフトウェアを脆弱性データベースに照合する照合部と、
を有することを特徴とする検知装置。
A collection unit that collects predetermined firmware;
an extracting unit that extracts a file representing software included in the firmware;
An identification unit that identifies a version number of the extracted software;
a determination unit that determines whether or not there is a difference between two pieces of software having the same version number arranged in chronological order;
a comparison unit that compares software included in the firmware with a vulnerability database, excluding software determined to have the difference;
A detection device comprising:
前記特定部は、前記ファイル内の可読文字の文字列を抽出する静的解析と、前記ファイルを実行することにより出力された文字列を抽出する動的解析の少なくともいずれかを利用して、前記ソフトウェアのバージョン番号を特定することを特徴とする請求項1に記載の検知装置。 The detection device according to claim 1, characterized in that the identification unit identifies the version number of the software by using at least one of static analysis, which extracts a string of human-readable characters in the file, and dynamic analysis, which extracts a string output by executing the file. 前記判別部は、前記時系列に並べた前後のバージョン情報が同一であるソフトウェアの間で、ハッシュ値およびプログラム構造が異なる場合に、前記差分が有ると判別することを特徴とする請求項1に記載の検知装置。 The detection device according to claim 1, characterized in that the discrimination unit discriminates that the difference exists when the hash value and program structure are different between software whose previous and next version information arranged in the chronological order are the same. 前記判別部は、前記時系列に並べた前後のバージョン情報が同一であるソフトウェアを表すファイルの間で、コードが変化している場合、または一方にのみ存在するコードがある場合に、プログラム構造が異なると判別することを特徴とする請求項3に記載の検知装置。 The detection device according to claim 3, characterized in that the discrimination unit discriminates that the program structures are different when code has changed between files representing software that have the same version information arranged in chronological order, or when code exists in only one of the files. 検知装置が実行する検知方法であって、
所定のファームウェアを収集する収集工程と、
前記ファームウェアに含まれるソフトウェアを表すファイルを抽出する抽出工程と、
抽出された前記ソフトウェアのバージョン番号を特定する特定工程と、
時系列に並べた前後の前記バージョン番号が同一であるソフトウェアの間における差分の有無を判別する判別工程と、
前記差分があると判別されたソフトウェアを除外して、前記ファームウェアに含まれるソフトウェアを脆弱性データベースに照合する照合工程と、
を含んだことを特徴とする検知方法。
A detection method performed by a detection device, comprising:
A collection step of collecting predetermined firmware;
an extraction step for extracting a file representing software included in the firmware;
identifying a version number of the extracted software;
a determination step of determining whether or not there is a difference between the software having the same version number arranged in chronological order;
a comparison step of excluding the software determined to have the difference and comparing the software included in the firmware with a vulnerability database;
A detection method comprising:
所定のファームウェアを収集する収集ステップと、
前記ファームウェアに含まれるソフトウェアを表すファイルを抽出する抽出ステップと、
抽出された前記ソフトウェアのバージョン番号を特定する特定ステップと、
時系列に並べた前後の前記バージョン番号が同一であるソフトウェアの間における差分の有無を判別する判別ステップと、
前記差分があると判別されたソフトウェアを除外して、前記ファームウェアに含まれるソフトウェアを脆弱性データベースに照合する照合ステップと、
をコンピュータに実行させるための検知プログラム。
A collection step of collecting predetermined firmware;
an extraction step for extracting a file representing software included in said firmware;
identifying a version number of the extracted software;
a determination step of determining whether or not there is a difference between the software having the same version number before and after the software arranged in chronological order;
a comparison step of comparing software included in the firmware with a vulnerability database, excluding the software determined to have the difference;
A detection program for causing a computer to execute the above.
JP2022024973A 2022-02-21 2022-02-21 DETECTION APPARATUS, DETECTION METHOD, AND DETECTION PROGRAM Active JP7672654B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022024973A JP7672654B2 (en) 2022-02-21 2022-02-21 DETECTION APPARATUS, DETECTION METHOD, AND DETECTION PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022024973A JP7672654B2 (en) 2022-02-21 2022-02-21 DETECTION APPARATUS, DETECTION METHOD, AND DETECTION PROGRAM

Publications (2)

Publication Number Publication Date
JP2023121566A JP2023121566A (en) 2023-08-31
JP7672654B2 true JP7672654B2 (en) 2025-05-08

Family

ID=87798083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022024973A Active JP7672654B2 (en) 2022-02-21 2022-02-21 DETECTION APPARATUS, DETECTION METHOD, AND DETECTION PROGRAM

Country Status (1)

Country Link
JP (1) JP7672654B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018197993A (en) 2017-05-24 2018-12-13 シャープ株式会社 TERMINAL DEVICE, SERVER DEVICE, TERMINAL DEVICE CONTROL PROGRAM, SERVER DEVICE CONTROL METHOD, AND SYSTEM
JP2019082816A (en) 2017-10-30 2019-05-30 富士通株式会社 Information processing device, information processing method and program
JP2019204152A (en) 2018-05-21 2019-11-28 キヤノン株式会社 Information processing apparatus, update method of information processing apparatus, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018197993A (en) 2017-05-24 2018-12-13 シャープ株式会社 TERMINAL DEVICE, SERVER DEVICE, TERMINAL DEVICE CONTROL PROGRAM, SERVER DEVICE CONTROL METHOD, AND SYSTEM
JP2019082816A (en) 2017-10-30 2019-05-30 富士通株式会社 Information processing device, information processing method and program
JP2019204152A (en) 2018-05-21 2019-11-28 キヤノン株式会社 Information processing apparatus, update method of information processing apparatus, and program

Also Published As

Publication number Publication date
JP2023121566A (en) 2023-08-31

Similar Documents

Publication Publication Date Title
US12561442B2 (en) Prioritizing vulnerabilities
US10885200B2 (en) Detecting security risks related to a software component
CN108140091B (en) Vulnerability discovery device, vulnerability discovery method, and storage medium
JP6088713B2 (en) Vulnerability discovery device, vulnerability discovery method, and vulnerability discovery program
EP2790122B1 (en) System and method for correcting antivirus records to minimize false malware detections
US8621278B2 (en) System and method for automated solution of functionality problems in computer systems
US9621571B2 (en) Apparatus and method for searching for similar malicious code based on malicious code feature information
EP2807598B1 (en) Identifying trojanized applications for mobile environments
US20090133125A1 (en) Method and apparatus for malware detection
US20180089430A1 (en) Computer security profiling
US20090038011A1 (en) System and method of identifying and removing malware on a computer system
JP2023007169A (en) Program, vulnerability detection method, and information processor
JP2014038596A (en) Method for identifying malicious executable
KR20150134679A (en) Analysis system and method for patch file
US9330260B1 (en) Detecting auto-start malware by checking its aggressive load point behaviors
US20100024035A1 (en) Vulnerability shield system
JP6282217B2 (en) Anti-malware system and anti-malware method
US8347285B2 (en) Embedded agent for self-healing software
EP3855334B1 (en) Management system, acquisition device and management method
CN112579330B (en) Methods, devices and equipment for processing abnormal data in operating systems
CN115982713A (en) Vulnerability repairing method and device, electronic equipment and computer readable storage medium
JP7672654B2 (en) DETECTION APPARATUS, DETECTION METHOD, AND DETECTION PROGRAM
JP6884652B2 (en) White list management system and white list management method
JP7670147B2 (en) Attack analysis support device, attack analysis support method, and program
US20140137253A1 (en) Security method and apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250306

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: 20250318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250414

R150 Certificate of patent or registration of utility model

Ref document number: 7672654

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350