WO2021038780A1 - バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体 - Google Patents

バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2021038780A1
WO2021038780A1 PCT/JP2019/033853 JP2019033853W WO2021038780A1 WO 2021038780 A1 WO2021038780 A1 WO 2021038780A1 JP 2019033853 W JP2019033853 W JP 2019033853W WO 2021038780 A1 WO2021038780 A1 WO 2021038780A1
Authority
WO
WIPO (PCT)
Prior art keywords
backdoor
code block
information
dynamic analysis
added
Prior art date
Application number
PCT/JP2019/033853
Other languages
English (en)
French (fr)
Inventor
貴之 佐々木
有佑 嶋田
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2021541889A priority Critical patent/JP7276465B2/ja
Priority to PCT/JP2019/033853 priority patent/WO2021038780A1/ja
Priority to US17/636,444 priority patent/US20220292191A1/en
Publication of WO2021038780A1 publication Critical patent/WO2021038780A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Definitions

  • This disclosure relates to a backdoor inspection device, a backdoor inspection method, and a non-temporary computer-readable medium.
  • Patent Document 1 A technique for analyzing software by static analysis and dynamic analysis has been proposed (for example, Patent Document 1).
  • infrastructure and corporate systems are becoming more complex. For this reason, infrastructure and corporate systems are not only composed of devices from a single company, but are built by procuring devices from various companies from the outside and combining them.
  • the present inventors do not consider the backdoor in the technique disclosed in Patent Document 1, that is, they do not consider the feature of the backdoor that is executed only when a specific condition is satisfied. It has been found that the backdoor may not be analyzed accurately depending on the technique disclosed in Patent Document 1.
  • An object of the present disclosure is to provide a backdoor inspection device, a backdoor inspection method, and a non-temporary computer-readable medium capable of improving the analysis accuracy of the backdoor.
  • the backdoor inspection device may be a backdoor by performing static analysis processing on the backdoor for each code block included in the target software to be inspected.
  • the target software to which the 1 code block and the condition for executing the first code block are executed, the target software to which the first information indicating the specified first code block is added, and the second information indicating the specified condition are specified.
  • Static analysis means to output and A dynamic analysis means for controlling the dynamic analysis process of the backdoor for the target software to which the first information is added based on the first information and the second information. To be equipped.
  • the backdoor inspection method may be a backdoor by executing a static analysis process on the backdoor for each code block included in the target software to be inspected.
  • the 1 code block and the conditions under which the first code block is executed are specified, and the first information indicating the specified first code block is added to the target software.
  • the dynamic analysis process of the backdoor for the target software to which the first information is added is controlled based on the first information and the conditions.
  • the non-temporary computer-readable medium may be a backdoor by performing a static analysis process on the backdoor for each code block included in the target software to be inspected.
  • the first code block and the conditions under which the first code block is executed are specified, and the first information indicating the specified first code block is added to the target software.
  • the dynamic analysis process for the backdoor for the target software to which the first information is added is controlled based on the first information and the conditions. It stores a program that causes the backdoor inspection device to execute the process.
  • a backdoor inspection device a backdoor inspection method, and a non-temporary computer-readable medium capable of improving the analysis accuracy of the backdoor.
  • FIG. 1 is a block diagram showing an example of a backdoor inspection device according to the first embodiment.
  • the backdoor inspection device 10 has a static analysis unit 11 and a dynamic analysis unit 12.
  • the static analysis unit 11 inputs the software to be inspected (hereinafter, may be simply referred to as "target software").
  • the target software may be source code before compilation or binary code after compilation.
  • the static analysis unit 11 executes a static analysis process for the backdoor for each code block included in the target software to "a code block that may be a backdoor" (hereinafter, “the first”. (Sometimes referred to as “1 code block”) and “conditions under which the first code block is executed” are specified. Then, the static analysis unit 11 inserts (embeds) the information indicating the specified first code block (hereinafter, may be referred to as "first information”) into the target software. That is, the target software includes the first code block and the first information in a state of being associated with each other. As a result, the first information can be used as a mark of the first code block.
  • the static analysis unit 11 outputs the target software into which the first information is inserted and the information indicating the specified conditions (hereinafter, may be referred to as "second information") to the dynamic analysis unit 12.
  • the specified condition described above may include an input value when the first code block is executed.
  • the second information includes this input value.
  • the first information is embedded in the target software, but the explanation is not limited to this.
  • the static analysis unit 11 may attach the first information to the target software as additional information.
  • the first information may be added to the target software by any method.
  • the dynamic analysis unit 12 controls the dynamic analysis process of the backdoor for the target software to which the first information is added based on the first information and the second information. For example, when the second information includes the above input value, the dynamic analysis unit 12 first uses the above input value included in the second information during the dynamic analysis processing for the first code block. Used as input for code blocks. As a result, the backdoor is surely executed at the time of the dynamic analysis, so that the dynamic analysis of the backdoor can be surely executed.
  • the static analysis unit 11 executes static analysis processing for the backdoor for each code block included in the target software. Identify the first code block that may be a backdoor and the conditions under which the first code block is executed. Then, the static analysis unit 11 outputs the target software to which the first information indicating the specified first code block is added and the second information indicating the specified condition to the dynamic analysis unit 12. The dynamic analysis unit 12 controls the dynamic analysis process of the backdoor for the target software to which the first information is added based on the first information and the second information.
  • the backdoor can be reliably executed by the dynamic analysis process, so that the dynamic analysis of the backdoor can be reliably executed. As a result, the analysis accuracy of the back door can be improved.
  • FIG. 2 is a block diagram showing an example of the backdoor inspection device according to the second embodiment.
  • the backdoor inspection device 20 has a static analysis unit 11 and a dynamic analysis unit 21.
  • the dynamic analysis unit 21 receives from the static analysis unit 11 the target software including the code block to which the first information is not added and the first code block to which the first information is added. Then, the dynamic analysis unit 21 collects logs according to the "first log collection level" at the time of dynamic analysis processing for the code block to which the first information is not added. That is, the dynamic analysis unit 21 collects logs according to the "first log collection level” when the code block to which the first information is not added is executed. On the other hand, the dynamic analysis unit 21 collects logs according to the "second log collection level” at the time of the dynamic analysis processing for the first code block to which the first information is added. That is, the dynamic analysis unit 21 collects logs at the "second log collection level" when the first code block to which the first information is added is being executed.
  • the "second log collection level” has a higher log detail level than the "first log collection level”.
  • the static analysis unit 11 in the second embodiment outputs the target software to which the first information is added and the second information to the dynamic analysis unit 21 as in the first embodiment.
  • the present embodiment is not limited to this.
  • the static analysis unit 11 in the second embodiment does not have to specify the above conditions and does not have to output the second information. That is, in the backdoor inspection device 20 in this modification, the static analysis unit 11 can be a backdoor by executing a static analysis process for the backdoor for each code block included in the target software. Identify the first code block that has the potential. Then, the static analysis unit 11 outputs the target software to which the first information indicating the specified first code block is added to the dynamic analysis unit 21.
  • the dynamic analysis unit 21 controls the dynamic analysis process of the backdoor for the target software to which the first information is added based on the first information. Specifically, the dynamic analysis unit 21 collects logs according to the "first log collection level" at the time of dynamic analysis processing for the code block to which the first information is not added. On the other hand, the dynamic analysis unit 21 collects logs according to the "second log collection level" at the time of dynamic analysis processing for the first code block to which the first information is added.
  • FIG. 3 is a block diagram showing an example of the backdoor inspection device according to the third embodiment.
  • the backdoor inspection device 30 has a static analysis unit 11 and a dynamic analysis unit 31.
  • the dynamic analysis unit 31 receives from the static analysis unit 11 the target software including the code block to which the first information is not added and the first code block to which the first information is added. Then, the dynamic analysis unit 31 outputs a notification signal notifying the point to be analyzed at the time of the dynamic analysis processing for the first code block to which the first information is added.
  • the output notification signal is received by the presenting device (not shown). Then, the presenting device (not shown) may display the point to be analyzed or present it by voice. This allows the analyst to analyze the backdoor according to the points to be analyzed displayed or presented by voice.
  • the static analysis unit 11 in the third embodiment outputs the target software to which the first information is added and the second information to the dynamic analysis unit 31 as in the first embodiment.
  • the present embodiment is not limited to this.
  • the static analysis unit 11 in the third embodiment does not have to specify the above conditions and does not have to output the second information. That is, in the backdoor inspection device 30 in this modification, the static analysis unit 11 may be a backdoor by executing a static analysis process for the backdoor for each code block included in the target software. Identify the first code block that has the potential. Then, the static analysis unit 11 outputs the target software to which the first information indicating the specified first code block is added to the dynamic analysis unit 31.
  • the dynamic analysis unit 31 controls the dynamic analysis process of the backdoor for the target software to which the first information is added based on the first information. Specifically, the dynamic analysis unit 31 outputs a notification signal notifying the point to be analyzed during the dynamic analysis processing for the first code block to which the first information is added.
  • FIG. 4 is a block diagram showing an example of the backdoor inspection device according to the fourth embodiment.
  • the backdoor inspection device 40 has a static analysis unit 41 and a dynamic analysis unit 42.
  • the static analysis unit 41 is a backdoor by executing a static analysis process for the backdoor for each code block included in the target software. Identify a possible first code block. Then, the static analysis unit 41 outputs the target software to which the first information indicating the specified first code block is added to the dynamic analysis unit 42. Here, the static analysis unit 41 inserts the "alert output instruction code" as the first information into the target software. The position where the "alert output instruction code" is inserted in the target software may be, for example, immediately before or immediately after the first code block.
  • the static analysis unit 41 may specify the above conditions and output the second information as in the static analysis unit 11 of the first embodiment, or the static analysis unit 41 may output the second information without specifying the above conditions. 2 It is not necessary to output information.
  • the dynamic analysis unit 42 outputs an alert signal during the dynamic analysis processing for the first code block to which the first information is added.
  • This output alert signal is received by the presenting device (not shown).
  • the presenting device may display an alert or present it by voice.
  • the person in charge of analysis can analyze the backdoor in more detail in the wake of the alert.
  • the log detail level is raised and the log is collected at the time of the dynamic analysis process for the first code block to which the first information is added.
  • the value of the determination threshold value used for determining whether or not each code block corresponds to the backdoor at the time of dynamic analysis is determined for the code block to which the first information is not added. The time and the time of determination for the first code block to which the first information is added are adjusted.
  • FIG. 5 is a block diagram showing an example of the backdoor inspection device according to the fifth embodiment.
  • the backdoor inspection device 50 has a static analysis unit 11 and a dynamic analysis unit 51.
  • the dynamic analysis unit 51 determines whether or not each code block corresponds to the backdoor based on the value of the "security parameter" and the "determination threshold value” used for determining the backdoor during the dynamic analysis. Further, the dynamic analysis unit 51 adjusts the value of the determination threshold value at the time of determination for the code block to which the first information is not added and at the time of determination for the first code block to which the first information is added. For example, the value of the security parameter obtained when executing the code block to which the first information is not added and the value of the security parameter obtained when executing the first code block to which the first information is added are the same value. However, the value of the determination threshold value is adjusted so that the first code block to which the first information is added can be easily determined to be a backdoor.
  • the static analysis unit 11 in the fifth embodiment outputs the target software to which the first information is added and the second information to the dynamic analysis unit 51 as in the first embodiment.
  • the present embodiment is not limited to this.
  • the static analysis unit 11 in the fifth embodiment does not have to specify the above conditions and does not have to output the second information. That is, in the backdoor inspection device 50 in this modification, the static analysis unit 11 may be a backdoor by executing a static analysis process for the backdoor for each code block included in the target software.
  • the static analysis unit 11 outputs the target software to which the first information indicating the specified first code block is added to the dynamic analysis unit 51.
  • the dynamic analysis unit 51 adjusts the value of the determination threshold value at the time of determining the code block to which the first information is not added and at the time of determining the first code block to which the first information is added.
  • FIG. 6 is a block diagram showing an example of the backdoor inspection device according to the sixth embodiment.
  • the backdoor inspection device 60 has a static analysis unit 61 and a dynamic analysis unit 62.
  • the static analysis unit 61 identifies a first code block that may be a backdoor by executing a static analysis process for the backdoor for each code block included in the target software. Then, the static analysis unit 61 adds the first information indicating the specified first code block to the target software. Note that the static analysis unit 61 may specify the above conditions and output the second information as in the static analysis unit 11 of the first embodiment, or the static analysis unit 61 may output the second information without specifying the above conditions. 2 It is not necessary to output information.
  • the static analysis unit 61 could not execute the static analysis process due to, for example, the above-mentioned "path explosion” (hereinafter, may be referred to as a "second code block”). "Third information” indicating is added to the target software.
  • the static analysis unit 61 outputs the target software to which the first information and the third information are added to the dynamic analysis unit 62.
  • the "third information” may be a "hook” that stops the execution of the second code block.
  • the dynamic analysis unit 62 executes a dynamic analysis process for the backdoor for the target software to which the first information and the third information are added. For example, the dynamic analysis unit 62 stops the execution of the target software before the execution of the second code block to which the third information is added. Further, the dynamic analysis unit 62 may output a notification signal before executing the second code block.
  • the static analysis unit 61 in the backdoor inspection device 60 provides "third information" indicating the second code block in which the static analysis process could not be executed. Output the added target software.
  • the dynamic analysis unit 62 executes a dynamic analysis process for the backdoor with respect to the target software to which the third information is added.
  • the second code block that could not execute the static analysis process is referred to as the first code block that is determined to be a backdoor by the static analysis process. Can be treated equally. As a result, the analysis accuracy of the back door can be improved.
  • the dynamic analysis unit 62 includes the dynamic analysis unit 21 of the second embodiment, the dynamic analysis unit 31 of the third embodiment, the dynamic analysis unit 42 of the fourth embodiment, and the dynamic analysis unit 42 of the fifth embodiment. It may have the same function as the dynamic analysis unit 51.
  • the "first information" of the first embodiment may be a "stop code” that stops the execution of the target software.
  • the dynamic analysis unit 12 stops the execution of the target software before the execution of the first code block to which the first information is added. Further, in this case, the static analysis unit 11 does not have to specify the above conditions and does not have to output the second information.
  • the "first information" of the first embodiment may be a "quarantine instruction code”.
  • the dynamic analysis unit 12 outputs an isolation command signal for isolating the backdoor inspection device 10 to a firewall (not shown) before executing the first code block to which the first information is added.
  • Static analysis is performed, for example, during system development.
  • the dynamic analysis may be performed during system development or when the system is actually in operation.
  • the backdoor inspection device of each embodiment includes an "access prohibition rule” based on the operation when the first code block, which may be a backdoor, is executed, which is specified by the dynamic analysis process. It may further include a policy generator that generates an "access control policy”. Alternatively, the backdoor inspection device of each embodiment generates an "access control policy” including an "access permission rule” based on the operation when the code block determined not to be a backdoor by the dynamic analysis process is executed. It may further include a policy generator.
  • FIG. 7 is a diagram showing a hardware configuration example of the backdoor inspection device.
  • the backdoor inspection device 100 has a processor 101 and a memory 102.
  • the processor 101 may be, for example, a microprocessor, an MPU (Micro Processing Unit), or a CPU (Central Processing Unit).
  • the processor 101 may include a plurality of processors.
  • the memory 102 is composed of a combination of a volatile memory and a non-volatile memory.
  • the memory 102 may include storage located away from the processor 101. In this case, the processor 101 may access the memory 102 via an I / O interface (not shown).
  • the backdoor inspection devices 10, 20, 30, 40, 50, and 60 of the first to sixth embodiments can each have the hardware configuration shown in FIG. 7.
  • the static analysis units 11, 41, 61 and the dynamic analysis units 12, 21, 31, 42, 51 of the backdoor inspection devices 10, 20, 30, 40, 50, 60 of the first to sixth embodiments. , 62 may be realized by the processor 101 reading and executing the program stored in the memory 102.
  • the program is stored using various types of non-transitory computer readable medium and can be supplied to the backdoor inspection devices 10, 20, 30, 40, 50, 60.
  • Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks).
  • non-temporary computer-readable media include CD-ROM (Read Only Memory), CD-R, and CD-R / W.
  • non-transitory computer-readable media include semiconductor memory.
  • the semiconductor memory includes, for example, a mask ROM, a PROM (Programmable ROM), an EPROM (Erasable PROM), a flash ROM, and a RAM (Random Access Memory).
  • the program may also be supplied to the backdoor inspection devices 10, 20, 30, 40, 50, 60 by various types of temporary computer readable media.
  • Examples of temporary computer-readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the backdoor inspection devices 10, 20, 30, 40, 50, 60 via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • the first code block that may be the backdoor and the first code block that may be the backdoor are executed by executing the static analysis process for the backdoor.
  • the specified condition includes an input value when the first code block is executed.
  • the second information includes the input value.
  • the backdoor inspection device according to Appendix 1.
  • the dynamic analysis means uses the input value as an input of the first code block at the time of dynamic analysis processing for the first code block.
  • the backdoor inspection device according to Appendix 2.
  • the dynamic analysis means collects logs at the first log collection level during dynamic analysis processing for a code block to which the first information is not added, while the first code block to which the first information is added. Logs are collected by the second log collection level, which has a higher log detail level than the first log collection level, during the dynamic analysis process.
  • the backdoor inspection device according to any one of Appendix 1 to 3.
  • the dynamic analysis means outputs a notification signal notifying the point to be analyzed at the time of the dynamic analysis process for the first code block to which the first information is added.
  • the backdoor inspection device according to any one of Appendix 1 to 4.
  • the first information includes an alert output instruction code.
  • the dynamic analysis means outputs an alert signal at the time of dynamic analysis processing for the first code block to which the first information is added.
  • the backdoor inspection device according to Appendix 1.
  • the static analysis means adds the third information indicating the second code block that could not execute the static analysis process to the target software.
  • the dynamic analysis means executes a dynamic analysis process for the backdoor on the target software to which the third information is added.
  • the backdoor inspection device according to any one of Appendix 1 to 6.
  • the third information includes a hook that stops execution of the second code block.
  • the dynamic analysis means stops the execution of the target software before the execution of the second code block to which the third information is added.
  • the backdoor inspection device according to Appendix 7.
  • the dynamic analysis means outputs a notification signal before the execution of the second code block.
  • the backdoor inspection device according to Appendix 8.
  • the dynamic analysis means determines whether or not each code block corresponds to the backdoor based on the value of the security parameter used for determining the backdoor and the determination threshold value during the dynamic analysis, and the first The value of the determination threshold value is adjusted between the time of determination for the code block to which the information is not added and the time of determination for the first code block to which the first information is added.
  • the backdoor inspection device according to any one of Appendix 1 to 3.
  • the first code block that may be the backdoor and the first code block that may be the backdoor are executed by executing the static analysis process for the backdoor.
  • the first information indicating the specified first code block is added to the target software.
  • the dynamic analysis process for the backdoor for the target software to which the first information is added is controlled based on the first information and the conditions. Backdoor inspection method.
  • the first code block that may be the backdoor and the first code block that may be the backdoor are executed by executing the static analysis process for the backdoor.
  • the first information indicating the specified first code block is added to the target software while specifying the conditions to be specified.
  • the dynamic analysis process for the backdoor for the target software to which the first information is added is controlled based on the first information and the conditions.

Abstract

バックドア検査装置(10)にて静的解析部(11)は、対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロック及び第1コードブロックが実行される条件を特定する。そして、静的解析部(11)は、特定された第1コードブロックを示す第1情報を付加した対象ソフトウェア、及び、特定された条件を示す第2情報を動的解析部(12)へ出力する。動的解析部12は、第1情報が付加された対象ソフトウェアに対する、バックドアについての動的解析処理を、第1情報及び第2情報に基づいて制御する。

Description

バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体
 本開示は、バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体に関する。
 ソフトウェアを静的解析及び動的解析によって解析する技術が提案されている(例えば、特許文献1)。
 ところで、インフラや企業システムは、複雑化している。このため、インフラや企業システムは、単一の企業のデバイスだけで構成されるのではなく、様々な企業のデバイスを外部から調達しそれらを組み合わせて、構築されている。
 しかしながら、近年、これらのデバイスにおいてソフトウェア(ファームウェア)およびハードウェアの両面で、ユーザが認知していない隠された機能又はユーザが予期していない機能が発見される、インシデントが多数報告されている。すなわち、「バックドア」に関連する多数のインシデントが報告されている。「バックドア」とは、例えば、複数の機能を含むソフトウェアに対して該ソフトウェアの一部として組み込まれた、ユーザに知らされていない且つ望まれていない機能として定義できる。
特開2008-217751号公報
 本発明者らは、特許文献1に開示されている技術はバックドアを考慮していない、つまり、特定の条件が満たされた場合にのみ実行されるバックドアの特徴を考慮していないため、特許文献1に開示されている技術によってはバックドアを精度良く解析できない可能性がある、ことを見出した。
 本開示の目的は、バックドアの解析精度を向上させることができる、バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体を提供することにある。
 第1の態様にかかるバックドア検査装置は、検査対象である対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロック及び前記第1コードブロックが実行される条件を特定すると共に、前記特定された第1コードブロックを示す第1情報を付加した前記対象ソフトウェア及び前記特定された条件を示す第2情報を出力する静的解析手段と、
 前記第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、前記第1情報及び第2情報に基づいて制御する動的解析手段と、
 を具備する。
 第2の態様にかかるバックドア検査方法は、検査対象である対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロック及び前記第1コードブロックが実行される条件を特定すると共に、前記特定された第1コードブロックを示す第1情報を前記対象ソフトウェアに付加し、
 前記第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、前記第1情報及び前記条件に基づいて制御する。
 第3の態様にかかる非一時的なコンピュータ可読媒体は、検査対象である対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロック及び前記第1コードブロックが実行される条件を特定すると共に、前記特定された第1コードブロックを示す第1情報を前記対象ソフトウェアに付加し、
 前記第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、前記第1情報及び前記条件に基づいて制御する、
 処理を、バックドア検査装置に実行させるプログラムを格納している。
 本開示により、バックドアの解析精度を向上させることができる、バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体を提供することができる。
第1実施形態におけるバックドア検査装置の一例を示すブロック図である。 第2実施形態におけるバックドア検査装置の一例を示すブロック図である。 第3実施形態におけるバックドア検査装置の一例を示すブロック図である。 第4実施形態におけるバックドア検査装置の一例を示すブロック図である。 第5実施形態におけるバックドア検査装置の一例を示すブロック図である。 第6実施形態におけるバックドア検査装置の一例を示すブロック図である。 バックドア検査装置のハードウェア構成例を示す図である。
 以下、図面を参照しつつ、実施形態について説明する。なお、実施形態において、同一又は同等の要素には、同一の符号を付し、重複する説明は省略される。
<第1実施形態>
 図1は、第1実施形態におけるバックドア検査装置の一例を示すブロック図である。図1においてバックドア検査装置10は、静的解析部11と、動的解析部12とを有している。
 静的解析部11は、検査対象であるソフトウェア(以下では、単に「対象ソフトウェア」と呼ぶことがある)を入力とする。対象ソフトウェアは、コンパイル前のソースコードであってもよいし、コンパイル後のバイナリコードであってもよい。
 静的解析部11は、対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによって「バックドアである可能性があるコードブロック」(以下では、「第1コードブロック」と呼ぶことがある)及び「第1コードブロックが実行される条件」を特定する。そして、静的解析部11は、特定された第1コードブロックを示す情報(以下では、「第1情報」と呼ぶことがある)を、対象ソフトウェアに挿入する(埋め込む)。すなわち、この対象ソフトウェアには、第1コードブロックと第1情報とが対応付けられた状態で含まれている。これにより、第1情報を第1コードブロックの目印(マーク)として用いることができる。そして、静的解析部11は、第1情報が挿入された対象ソフトウェア及び上記特定された条件を示す情報(以下では、「第2情報」と呼ぶことがある)を動的解析部12へ出力する。例えば、上記の特定される条件は、第1コードブロックが実行されるときの入力値を含んでいてもよい。この場合、第2情報は、この入力値を含んでいる。
 なお、以上の説明では、第1情報が対象ソフトウェアに埋め込まれるものとして説明を行ったが、これに限らない。例えば、静的解析部11は、対象ソフトウェアに第1情報を追加情報として添付しても良い。要するに、第1情報は、対象ソフトウェアに対していずれかの方法で付加されていればよい。
 動的解析部12は、第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、第1情報及び第2情報に基づいて制御する。例えば、第2情報に上記の入力値が含まれている場合、動的解析部12は、第1コードブロックに対する動的解析処理時に、第2情報に含まれている上記の入力値を第1コードブロックの入力として用いる。これにより、動的解析時にバックドアが確実に実行されることになるので、バックドアの動的解析を確実に実行することができる。
 以上のように第1実施形態によれば、バックドア検査装置10にて静的解析部11は、対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロック及び第1コードブロックが実行される条件を特定する。そして、静的解析部11は、特定された第1コードブロックを示す第1情報を付加した対象ソフトウェア、及び、特定された条件を示す第2情報を動的解析部12へ出力する。動的解析部12は、第1情報が付加された対象ソフトウェアに対する、バックドアについての動的解析処理を、第1情報及び第2情報に基づいて制御する。
 このバックドア検査装置10の構成により、動的解析処理にてバックドアを確実に実行させることができるので、バックドアの動的解析を確実に実行することができる。これにより、バックドアの解析精度を向上させることができる。
<第2実施形態>
 図2は、第2実施形態におけるバックドア検査装置の一例を示すブロック図である。図2においてバックドア検査装置20は、静的解析部11と、動的解析部21とを有している。
 動的解析部21は、第1情報が付加されていないコードブロック及び第1情報が付加されている第1コードブロックを含む対象ソフトウェアを、静的解析部11から受け取る。そして、動的解析部21は、第1情報が付加されていないコードブロックに対する動的解析処理時に、「第1ログ収集レベル」によってログを収集する。すなわち、動的解析部21は、第1情報が付加されていないコードブロックが実行されているときには、「第1ログ収集レベル」によってログを収集する。一方、動的解析部21は、第1情報が付加されている第1コードブロックに対する動的解析処理時に、「第2ログ収集レベル」によってログを収集する。すなわち、動的解析部21は、第1情報が付加されている第1コードブロックが実行されているときには、「第2ログ収集レベル」によってログを収集する。
 「第2ログ収集レベル」は、「第1ログ収集レベル」よりもログ詳細レベルが高い。これにより、静的解析部11によってバックドアである可能性があると判定されたコードブロックの実行時に詳細なログを収集することができるので、バックドアの解析精度を向上させることができる。
 <変形例>
 以上の説明では、第2実施形態における静的解析部11が、第1実施形態と同様に、第1情報が付加された対象ソフトウェア及び第2情報を動的解析部21へ出力することを前提に説明したが、本実施形態はこれに限定されない。例えば、第2実施形態における静的解析部11は、上記の条件を特定することなく、また、第2情報を出力しなくてもよい。すなわち、この変形例におけるバックドア検査装置20にて静的解析部11は、対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロックを特定する。そして、静的解析部11は、特定された第1コードブロックを示す第1情報を付加した対象ソフトウェアを動的解析部21へ出力する。動的解析部21は、第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、第1情報に基づいて制御する。具体的には、動的解析部21は、第1情報が付加されていないコードブロックに対する動的解析処理時に、「第1ログ収集レベル」によってログを収集する。一方、動的解析部21は、第1情報が付加されている第1コードブロックに対する動的解析処理時に、「第2ログ収集レベル」によってログを収集する。
<第3実施形態>
 図3は、第3実施形態におけるバックドア検査装置の一例を示すブロック図である。図3においてバックドア検査装置30は、静的解析部11と、動的解析部31とを有している。
 動的解析部31は、第1情報が付加されていないコードブロック及び第1情報が付加されている第1コードブロックを含む対象ソフトウェアを、静的解析部11から受け取る。そして、動的解析部31は、第1情報が付加されている第1コードブロックに対する動的解析処理時に、解析すべき点を通知する通知信号を出力する。この出力された通知信号は、提示装置(不図示)が受け取る。そして、提示装置(不図示)は、解析すべき点を表示してもよいし音声で提示してもよい。これにより、解析担当者は、表示された又は音声で提示された解析すべき点に従って、バックドアを解析することができる。
 <変形例>
 以上の説明では、第3実施形態における静的解析部11が、第1実施形態と同様に、第1情報が付加された対象ソフトウェア及び第2情報を動的解析部31へ出力することを前提に説明したが、本実施形態はこれに限定されない。例えば、第3実施形態における静的解析部11は、上記の条件を特定することなく、また、第2情報を出力しなくてもよい。すなわち、この変形例におけるバックドア検査装置30にて静的解析部11は、対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロックを特定する。そして、静的解析部11は、特定された第1コードブロックを示す第1情報を付加した対象ソフトウェアを動的解析部31へ出力する。動的解析部31は、第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、第1情報に基づいて制御する。具体的には、動的解析部31は、第1情報が付加されている第1コードブロックに対する動的解析処理時に、解析すべき点を通知する通知信号を出力する。
<第4実施形態>
 図4は、第4実施形態におけるバックドア検査装置の一例を示すブロック図である。図4においてバックドア検査装置40は、静的解析部41と、動的解析部42とを有している。
 静的解析部41は、第1実施形態の静的解析部11と同様に、対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロックを特定する。そして、静的解析部41は、特定された第1コードブロックを示す第1情報を付加した対象ソフトウェアを動的解析部42へ出力する。ここで、静的解析部41は、第1情報として「アラート出力命令コード」を、対象ソフトウェアに挿入する。対象ソフトウェアにおいて「アラート出力命令コード」が挿入される位置は、例えば、第1コードブロックの直前又は直後であってもよい。なお、静的解析部41は、第1実施形態の静的解析部11と同様に、上記の条件を特定して第2情報を出力してもよいし、上記の条件を特定することなく第2情報を出力しなくてもよい。
 動的解析部42は、第1情報が付加されている第1コードブロックに対する動的解析処理時にアラート信号を出力する。この出力されたアラート信号は、提示装置(不図示)が受け取る。そして、提示装置(不図示)は、アラートを表示してもよいし音声で提示してもよい。これにより、解析担当者は、アラートを契機にバックドアをより詳細に解析することができる。
<第5実施形態>
 第2実施形態では、第1情報が付加されている第1コードブロックに対する動的解析処理時に、ログ詳細レベルを高くして、ログを収集している。これに対して、第5実施形態では、動的解析時に各コードブロックがバックドアに対応するか否かに関する判定に用いられる判定閾値の値を、第1情報が付加されていないコードブロックに対する判定時と第1情報が付加されている第1コードブロックに対する判定時とで調整する。
 図5は、第5実施形態におけるバックドア検査装置の一例を示すブロック図である。図5においてバックドア検査装置50は、静的解析部11と、動的解析部51とを有している。
 動的解析部51は、動的解析時にバックドアの判定に用いる「セキュリティパラメータ」の値と「判定閾値」とに基づいて、各コードブロックがバックドアに対応するか否かを判定する。また、動的解析部51は、第1情報が付加されていないコードブロックに対する判定時と第1情報が付加されている第1コードブロックに対する判定時とで、判定閾値の値を調整する。例えば、第1情報が付加されていないコードブロックの実行時に得られるセキュリティパラメータの値と第1情報が付加されている第1コードブロックの実行時に得られるセキュリティパラメータの値とが同じ値であっても、第1情報が付加されている第1コードブロックがバックドアであると判定され易くなるように、判定閾値の値が調整される。すなわち、第1情報が付加されている第1コードブロックに対する判定時には、より厳しい判定が為されるように、判定閾値の値が調整される。
 <変形例>
 以上の説明では、第5実施形態における静的解析部11が、第1実施形態と同様に、第1情報が付加された対象ソフトウェア及び第2情報を動的解析部51へ出力することを前提に説明したが、本実施形態はこれに限定されない。例えば、第5実施形態における静的解析部11は、上記の条件を特定することなく、また、第2情報を出力しなくてもよい。すなわち、この変形例におけるバックドア検査装置50にて静的解析部11は、対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロックを特定する。そして、静的解析部11は、特定された第1コードブロックを示す第1情報を付加した対象ソフトウェアを動的解析部51へ出力する。動的解析部51は、第1情報が付加されていないコードブロックに対する判定時と第1情報が付加されている第1コードブロックに対する判定時とで、判定閾値の値を調整する。
<第6実施形態>
 静的解析を実行できない(完了できない)ケースがある。例えば、シンボリック実行を行う際にパスの数が爆発的に増える「パス爆発」に起因して、シンボリック実行を実行できないケースがある。第6実施形態は、静的解析を実行できないケースを考慮した実施形態に関する。
 図6は、第6実施形態におけるバックドア検査装置の一例を示すブロック図である。図6においてバックドア検査装置60は、静的解析部61と、動的解析部62とを有している。
 静的解析部61は、対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロックを特定する。そして、静的解析部61は、特定された第1コードブロックを示す第1情報を対象ソフトウェアに付加する。なお、静的解析部61は、第1実施形態の静的解析部11と同様に、上記の条件を特定して第2情報を出力してもよいし、上記の条件を特定することなく第2情報を出力しなくてもよい。
 さらに、静的解析部61は、例えば上記の「パス爆発」に起因して静的解析処理を実行することができなかったコードブロック(以下では、「第2コードブロック」と呼ぶことがある)を示す「第3情報」を対象ソフトウェアに付加する。
 そして、静的解析部61は、第1情報及び第3情報を付加した対象ソフトウェアを動的解析部62へ出力する。ここで、「第3情報」は、第2コードブロックの実行を停止する「フック」であってもよい。
 動的解析部62は、第1情報及び第3情報が付加された対象ソフトウェアに対して、バックドアについての動的解析処理を実行する。例えば、動的解析部62は、第3情報が付加されている第2コードブロックの実行前に対象ソフトウェアの実行を停止する。さらに、動的解析部62は、第2コードブロックの実行前に通知信号を出力してもよい。
 以上のように第6実施形態によれば、バックドア検査装置60にて静的解析部61は、静的解析処理を実行することができなかった第2コードブロックを示す「第3情報」を付加した対象ソフトウェアを出力する。動的解析部62は、第3情報が付加された対象ソフトウェアに対して、バックドアについての動的解析処理を実行する。
 このバックドア検査装置60によれば、静的解析処理を実行することができなかった第2コードブロックを、静的解析処理によってバックドアである可能性があると判定された第1コードブロックと同等に扱うことができる。これにより、バックドアの解析精度を向上させることができる。
 なお、動的解析部62は、第2実施形態の動的解析部21、第3実施形態の動的解析部31、第4実施形態の動的解析部42、及び、第5実施形態の動的解析部51と同じ機能を有していてもよい。
 <他の実施形態>
 <1>第1実施形態の「第1情報」は、対象ソフトウェアの実行を停止する「停止コード」であってもよい。この場合、動的解析部12は、第1情報が付加されている第1コードブロックの実行前に対象ソフトウェアの実行を停止する。また、この場合、静的解析部11は、上記の条件を特定することなく、また、第2情報を出力しなくてもよい。
 <2>第1実施形態の「第1情報」は、「隔離命令コード」であってもよい。この場合、動的解析部12は、第1情報が付加されている第1コードブロックの実行前に、バックドア検査装置10を隔離させる隔離命令信号をファイアウォール(不図示)へ出力する。
 <3>以上の説明では、静的解析及び動的解析が1つのバックドア検査装置にて行われることを前提に説明を行ったが、これに限定されない。例えば、静的解析がバックドア検査装置にて実行される一方、動的解析がネットワーク上の他の装置にて実行されてもよい。
 <4>静的解析は、例えばシステム開発時に行われる。一方、動的解析は、システム開発時に行われてもよいし、実際にシステムが運用されているときに行われてもよい。
 <5>SELinux(登録商標)やApp Armorなどの「アクセス制御ポリシ」を設定することで、バックドアが混入していた際の被害を軽減できる。そこで、各実施形態のバックドア検査装置は、動的解析処理によって特定された、バックドアである可能性がある第1コードブロックを実行したときの動作に基づいて、「アクセス禁止ルール」を含む「アクセス制御ポリシ」を生成するポリシ生成部をさらに含んでいてもよい。又は、各実施形態のバックドア検査装置は、動的解析処理によってバックドアでないと判定されたコードブロックを実行したときの動作に基づいて、「アクセス許可ルール」を含む「アクセス制御ポリシ」を生成するポリシ生成部をさらに含んでいてもよい。
 <6>図7は、バックドア検査装置のハードウェア構成例を示す図である。図7においてバックドア検査装置100は、プロセッサ101と、メモリ102とを有している。プロセッサ101は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサ101は、複数のプロセッサを含んでもよい。メモリ102は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ102は、プロセッサ101から離れて配置されたストレージを含んでもよい。この場合、プロセッサ101は、図示されていないI/Oインタフェースを介してメモリ102にアクセスしてもよい。
 第1実施形態から第6実施形態のバックドア検査装置10,20,30,40,50,60は、それぞれ、図7に示したハードウェア構成を有することができる。第1実施形態から第6実施形態のバックドア検査装置10,20,30,40,50,60の静的解析部11,41,61と、動的解析部12,21,31,42,51,62とは、プロセッサ101がメモリ102に記憶されたプログラムを読み込んで実行することにより実現されてもよい。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、バックドア検査装置10,20,30,40,50,60に供給することができる。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、非一時的なコンピュータ可読媒体の例は、CD-ROM(Read Only Memory)、CD-R、CD-R/Wを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってバックドア検査装置10,20,30,40,50,60に供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをバックドア検査装置10,20,30,40,50,60に供給できる。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
 検査対象である対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロック及び前記第1コードブロックが実行される条件を特定すると共に、前記特定された第1コードブロックを示す第1情報を付加した前記対象ソフトウェア及び前記特定された条件を示す第2情報を出力する静的解析手段と、
 前記第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、前記第1情報及び第2情報に基づいて制御する動的解析手段と、
 を具備するバックドア検査装置。
(付記2)
 前記特定される条件は、前記第1コードブロックが実行されるときの入力値を含み、
 前記第2情報は、前記入力値を含む、
 付記1記載のバックドア検査装置。
(付記3)
 前記動的解析手段は、前記第1コードブロックに対する動的解析処理時に、前記入力値を前記第1コードブロックの入力として用いる、
 付記2記載のバックドア検査装置。
(付記4)
 前記動的解析手段は、前記第1情報が付加されていないコードブロックに対する動的解析処理時に第1ログ収集レベルによってログを収集する一方、前記第1情報が付加されている前記第1コードブロックに対する動的解析処理時に前記第1ログ収集レベルよりもログ詳細レベルが高い第2ログ収集レベルによってログを収集する、
 付記1から3のいずれか1項に記載のバックドア検査装置。
(付記5)
 前記動的解析手段は、前記第1情報が付加されている前記第1コードブロックに対する動的解析処理時に、解析すべき点を通知する通知信号を出力する、
 付記1から4のいずれか1項に記載のバックドア検査装置。
(付記6)
 前記第1情報は、アラート出力命令コードを含み、
 前記動的解析手段は、前記第1情報が付加されている前記第1コードブロックに対する動的解析処理時にアラート信号を出力する、
 付記1記載のバックドア検査装置。
(付記7)
 前記静的解析手段は、前記静的解析処理を実行することができなかった第2コードブロックを示す第3情報を前記対象ソフトウェアに付加し、
 前記動的解析手段は、前記第3情報が付加された前記対象ソフトウェアに対して、バックドアについての動的解析処理を実行する、
 付記1から6のいずれか1項に記載のバックドア検査装置。
(付記8)
 前記第3情報は、前記第2コードブロックの実行を停止するフックを含み、
 前記動的解析手段は、前記第3情報が付加されている前記第2コードブロックの実行前に前記対象ソフトウェアの実行を停止する、
 付記7記載のバックドア検査装置。
(付記9)
 前記動的解析手段は、前記第2コードブロックの実行前に通知信号を出力する、
 付記8記載のバックドア検査装置。
(付記10)
 前記動的解析手段は、動的解析時にバックドアの判定に用いるセキュリティパラメータの値と判定閾値とに基づいて、前記各コードブロックがバックドアに対応するか否かを判定すると共に、前記第1情報が付加されていないコードブロックに対する判定時と前記第1情報が付加されている前記第1コードブロックに対する判定時とで前記判定閾値の値を調整する、
 付記1から3のいずれか1項に記載のバックドア検査装置。
(付記11)
 検査対象である対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロック及び前記第1コードブロックが実行される条件を特定すると共に、前記特定された第1コードブロックを示す第1情報を前記対象ソフトウェアに付加し、
 前記第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、前記第1情報及び前記条件に基づいて制御する、
 バックドア検査方法。
(付記12)
 検査対象である対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロック及び前記第1コードブロックが実行される条件を特定すると共に、前記特定された第1コードブロックを示す第1情報を前記対象ソフトウェアに付加し、
 前記第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、前記第1情報及び前記条件に基づいて制御する、
 処理を、バックドア検査装置に実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
 10 バックドア検査装置
 11 静的解析部
 12 動的解析部
 20 バックドア検査装置
 21 動的解析部
 30 バックドア検査装置
 31 動的解析部
 40 バックドア検査装置
 41 静的解析部
 42 動的解析部
 50 バックドア検査装置
 51 動的解析部
 60 バックドア検査装置
 61 静的解析部
 62 動的解析部

Claims (12)

  1.  検査対象である対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロック及び前記第1コードブロックが実行される条件を特定すると共に、前記特定された第1コードブロックを示す第1情報を付加した前記対象ソフトウェア及び前記特定された条件を示す第2情報を出力する静的解析手段と、
     前記第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、前記第1情報及び第2情報に基づいて制御する動的解析手段と、
     を具備するバックドア検査装置。
  2.  前記特定される条件は、前記第1コードブロックが実行されるときの入力値を含み、
     前記第2情報は、前記入力値を含む、
     請求項1記載のバックドア検査装置。
  3.  前記動的解析手段は、前記第1コードブロックに対する動的解析処理時に、前記入力値を前記第1コードブロックの入力として用いる、
     請求項2記載のバックドア検査装置。
  4.  前記動的解析手段は、前記第1情報が付加されていないコードブロックに対する動的解析処理時に第1ログ収集レベルによってログを収集する一方、前記第1情報が付加されている前記第1コードブロックに対する動的解析処理時に前記第1ログ収集レベルよりもログ詳細レベルが高い第2ログ収集レベルによってログを収集する、
     請求項1から3のいずれか1項に記載のバックドア検査装置。
  5.  前記動的解析手段は、前記第1情報が付加されている前記第1コードブロックに対する動的解析処理時に、解析すべき点を通知する通知信号を出力する、
     請求項1から4のいずれか1項に記載のバックドア検査装置。
  6.  前記第1情報は、アラート出力命令コードを含み、
     前記動的解析手段は、前記第1情報が付加されている前記第1コードブロックに対する動的解析処理時にアラート信号を出力する、
     請求項1記載のバックドア検査装置。
  7.  前記静的解析手段は、前記静的解析処理を実行することができなかった第2コードブロックを示す第3情報を前記対象ソフトウェアに付加し、
     前記動的解析手段は、前記第3情報が付加された前記対象ソフトウェアに対して、バックドアについての動的解析処理を実行する、
     請求項1から6のいずれか1項に記載のバックドア検査装置。
  8.  前記第3情報は、前記第2コードブロックの実行を停止するフックを含み、
     前記動的解析手段は、前記第3情報が付加されている前記第2コードブロックの実行前に前記対象ソフトウェアの実行を停止する、
     請求項7記載のバックドア検査装置。
  9.  前記動的解析手段は、前記第2コードブロックの実行前に通知信号を出力する、
     請求項8記載のバックドア検査装置。
  10.  前記動的解析手段は、動的解析時にバックドアの判定に用いるセキュリティパラメータの値と判定閾値とに基づいて、前記各コードブロックがバックドアに対応するか否かを判定すると共に、前記第1情報が付加されていないコードブロックに対する判定時と前記第1情報が付加されている前記第1コードブロックに対する判定時とで前記判定閾値の値を調整する、
     請求項1から3のいずれか1項に記載のバックドア検査装置。
  11.  検査対象である対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロック及び前記第1コードブロックが実行される条件を特定すると共に、前記特定された第1コードブロックを示す第1情報を前記対象ソフトウェアに付加し、
     前記第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、前記第1情報及び前記条件に基づいて制御する、
     バックドア検査方法。
  12.  検査対象である対象ソフトウェアに含まれる各コードブロックに対して、バックドアについての静的解析処理を実行することによってバックドアである可能性がある第1コードブロック及び前記第1コードブロックが実行される条件を特定すると共に、前記特定された第1コードブロックを示す第1情報を前記対象ソフトウェアに付加し、
     前記第1情報が付加された前記対象ソフトウェアに対する、バックドアについての動的解析処理を、前記第1情報及び前記条件に基づいて制御する、
     処理を、バックドア検査装置に実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
PCT/JP2019/033853 2019-08-29 2019-08-29 バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体 WO2021038780A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021541889A JP7276465B2 (ja) 2019-08-29 2019-08-29 バックドア検査装置、バックドア検査方法、及びプログラム
PCT/JP2019/033853 WO2021038780A1 (ja) 2019-08-29 2019-08-29 バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体
US17/636,444 US20220292191A1 (en) 2019-08-29 2019-08-29 Backdoor inspection apparatus, backdoor inspection method, and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/033853 WO2021038780A1 (ja) 2019-08-29 2019-08-29 バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2021038780A1 true WO2021038780A1 (ja) 2021-03-04

Family

ID=74684604

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/033853 WO2021038780A1 (ja) 2019-08-29 2019-08-29 バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体

Country Status (3)

Country Link
US (1) US20220292191A1 (ja)
JP (1) JP7276465B2 (ja)
WO (1) WO2021038780A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262609A (ja) * 2009-04-28 2010-11-18 Fourteenforty Research Institute Inc 効率的なマルウェアの動的解析手法
US8726392B1 (en) * 2012-03-29 2014-05-13 Symantec Corporation Systems and methods for combining static and dynamic code analysis
JP2018501583A (ja) * 2014-12-30 2018-01-18 ファイヤアイ インク マルウェア検出のためのインテリジェントかつコンテキストアウェアなユーザインタラクション

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171553B2 (en) * 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US8117660B2 (en) * 2008-06-19 2012-02-14 Microsoft Corporation Secure control flows by monitoring control transfers
US9213838B2 (en) * 2011-05-13 2015-12-15 Mcafee Ireland Holdings Limited Systems and methods of processing data associated with detection and/or handling of malware
US20150309813A1 (en) * 2012-08-31 2015-10-29 iAppSecure Solutions Pvt. Ltd A System for analyzing applications in order to find security and quality issues
CN103023568B (zh) * 2012-12-17 2017-09-19 华为技术有限公司 线卡、光模块及光网络设备
US8990944B1 (en) * 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9159035B1 (en) * 2013-02-23 2015-10-13 Fireeye, Inc. Framework for computer application analysis of sensitive information tracking
US9009823B1 (en) * 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9635039B1 (en) * 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US9811665B1 (en) * 2013-07-30 2017-11-07 Palo Alto Networks, Inc. Static and dynamic security analysis of apps for mobile devices
US9756074B2 (en) * 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9223972B1 (en) * 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US20170134379A1 (en) * 2014-06-16 2017-05-11 Polyvalor, Limted Partnership Method for securing an application and data
US10805340B1 (en) * 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US9773112B1 (en) * 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US10075455B2 (en) * 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US10050998B1 (en) * 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US11552986B1 (en) * 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US10581874B1 (en) * 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US10102368B2 (en) * 2016-01-20 2018-10-16 Qualcomm Incorporated Information flow tracking using incremental profiling
WO2017163141A1 (en) * 2016-03-21 2017-09-28 Checkmarx Ltd. Integrated interactive application security testing
WO2018127794A1 (en) * 2017-01-04 2018-07-12 Checkmarx Ltd. Management of security vulnerabilities
US10652267B2 (en) * 2017-06-02 2020-05-12 DigitSec, Inc. SAAS configuration and security analysis engine
US11003773B1 (en) * 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US11562068B2 (en) * 2019-12-31 2023-01-24 Fortinet, Inc. Performing threat detection by synergistically combining results of static file analysis and behavior analysis

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262609A (ja) * 2009-04-28 2010-11-18 Fourteenforty Research Institute Inc 効率的なマルウェアの動的解析手法
US8726392B1 (en) * 2012-03-29 2014-05-13 Symantec Corporation Systems and methods for combining static and dynamic code analysis
JP2018501583A (ja) * 2014-12-30 2018-01-18 ファイヤアイ インク マルウェア検出のためのインテリジェントかつコンテキストアウェアなユーザインタラクション

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HEISHI, SHOGO ET AL.: "Proposal for Method of Detecting User Information Divulgences in Android Apps by Combining Static Taint Analysis with Dynamic Analysis", IPSJ SIG TECHNICAL REPORT (CSEC), vol. 2017, no. 14, 23 February 2017 (2017-02-23), pages CSEC-76 *

Also Published As

Publication number Publication date
US20220292191A1 (en) 2022-09-15
JPWO2021038780A1 (ja) 2021-03-04
JP7276465B2 (ja) 2023-05-18

Similar Documents

Publication Publication Date Title
US9720798B2 (en) Simulating black box test results using information from white box testing
US8468605B2 (en) Identifying security vulnerability in computer software
US11700264B2 (en) Systems and methods for role-based computer security configurations
US20150007325A1 (en) System and Method for Detecting Malicious Software Using Malware Trigger Scenarios
US8914890B2 (en) Determining the vulnerability of computer software applications to privilege-escalation attacks
US8671397B2 (en) Selective data flow analysis of bounded regions of computer software applications
CN108763951B (zh) 一种数据的保护方法及装置
US11176248B2 (en) Remediation of security vulnerabilities in computer software
KR20210051669A (ko) 악성 코드 탐지 모델 학습 방법 및 이를 이용한 탐지 방법
US20190121976A1 (en) System and method of adapting patterns of dangerous behavior of programs to the computer systems of users
WO2021028989A1 (ja) バックドア検査装置、方法及び非一時的なコンピュータ可読媒体
WO2021038705A1 (ja) バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体
WO2021038780A1 (ja) バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体
WO2021038704A1 (ja) バックドア検査装置、バックドア検査方法、及び非一時的なコンピュータ可読媒体
WO2021024476A1 (ja) ソフトウェア解析装置、ソフトウェア解析方法及びコンピュータ可読媒体
CN112784290B (zh) 数据导出工具安全性分析方法及系统及数据导出方法
WO2021245939A1 (ja) システム、方法、及び非一時的なコンピュータ可読媒体
JP7468641B2 (ja) ソフトウェア修正装置、ソフトウェア修正方法、及びプログラム
KR20090084530A (ko) 스크립트 언어를 사용한 취약점 공격 코드의 실시간 탐지및 차단 방법, 및 그 장치
CN114547610A (zh) 一种文件检测方法、装置及设备
EP2819055A1 (en) System and method for detecting malicious software using malware trigger scenarios
JP7448005B2 (ja) バックドア検査装置、バックドア検査方法、及びプログラム
WO2023073822A1 (ja) バックドア検知装置、バックドア検知方法、及び記録媒体
CN111159663B (zh) 指令定位方法和装置
KR102175784B1 (ko) 모바일 어플리케이션의 취약점 자동 진단 장치 및 방법

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021541889

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19943113

Country of ref document: EP

Kind code of ref document: A1