The present disclosure relates to an authenticator management device to manage an authenticator.
When a cyberattack against an in-vehicle system is detected, the in-vehicle system refers to a log in order to properly detect what cyberattack has been made.
However, when a log generated in an in-vehicle system is illegally rewritten, there exists a risk that a cyberattack against the in-vehicle system cannot be detected. Therefore, when a log is referred to due to cyberattack detection, it is necessary to verify whether the log has been falsified. Use of an authenticator such as a hash value or a MAC (message authentication code) may be an effective countermeasure for verification of log falsification. As log falsification, there exists falsification such as addition of a log, overwriting of a log, and deletion of a log.
In a conventional technique, a method to detect falsification of a program by using an authenticator such as a hash value or a MAC is disclosed (for example, Patent Literature 1). In Patent Literature 1, an authenticator is assigned to each of a plurality of divided programs obtained by dividing a program. It is conceivable that a detection method of falsification of a program in Patent Literature 1 is applied to a detection method of log falsification.
However, when an authenticator is assigned to each of a plurality of logs, there is a problem that a burden to generate a plurality of authenticators and a burden to manage a plurality of authenticators occur.
Patent Literature 1: WO2019-012952 A
An objective of the present disclosure is to solve the problem that a burden to generate a plurality of authenticators and a burden to manage a plurality of authenticators occur.
An authenticator management device according to the present invention includes:
a group generation unit to generate a correspondence information group including a plurality of pieces of correspondence information, a piece of correspondence information associating two or more logs included in a plurality of logs of feature information to represent a feature of a system being an object of a cyberattack, and to specify the plurality of logs, with an identifier to identify an authenticator to authenticate validity of the two or more logs;
a group management unit to output an authenticator generation request that includes the two or more logs indicated in the piece of correspondence information, and that requests generation of an authenticator identified by the identifier indicated in the piece of correspondence information, and to output, by referring to the correspondence information group in a case wherein a log reference request to request a log to be referred to is received, a verification request that includes a plurality of logs corresponding to the identifier corresponding to the log requested to be referred to by the log reference request, and the authenticator corresponding to the log requested to be referred to by the log reference request via the identifier;
an authenticator generation unit to generate an authenticator identified by the identifier indicated in the piece of correspondence information by using the two or more logs included in the authenticator generation request; and
an authenticator verification unit to verify validity of the plurality of logs included in the verification request by using the authenticator and the plurality of logs included in the verification request, and to output a verification result.
According to the present disclosure, since an authenticator management device includes a group generation unit to generate a correspondence information group based on two or more logs specified by feature information, it is possible to provide the authenticator management device with a small burden to generate a plurality of authenticators and a small burden to manage a plurality of authenticators.
Hereinafter, embodiments of the present invention will be described using diagrams. In each diagram, the same or corresponding parts are denoted by the same reference numerals. In description of the embodiments, with respect to the same elements or corresponding parts, description is omitted or simplified appropriately.
***Explanation of Configuration***
Description is made on an attack detection device 501 in the first embodiment with reference to
The attack detection device 501 includes, as functional components, an attack detection unit 10, a log acquisition unit 20, a group generation unit 30, a log management unit 40, a graph management unit 60, an authenticator verification unit 70 and an authenticator generation unit 90. The log management unit 40 and the graph management unit 60 constitute a group management unit 66.In
It is not required to have the group generation unit 30 and the group management unit 60 exist in a same device. When processing in the group generation unit 30 is heavy, by making the group generation unit 30 and the graph management unit 60 exist in different devices, it is possible to reduce the load of an in-vehicle system whose resources are limited.
The group generation unit 30 generates a correspondence information group including a plurality of pieces of correspondence information. A piece of correspondence information associates two or more logs included in a plurality of logs in feature information that represents features of a system to be an object of a cyberattack, and that specifies the plurality of logs, with an identifier to identify an authenticator to authenticate validity of the two or more logs. The correspondence information and the correspondence information group will be described in description for
The feature information is attack detection information 11 wherein a plurality of logs are associated for each rule of a plurality of rules to detect a cyberattack. The attack detection information 11 will be described in description for
A group management unit 66 outputs an authenticator generation request D69 that includes the two or more logs indicated in the piece of correspondence information, and that requests generation of an authenticator identified by the identifier indicated in the piece of correspondence information. Generation of the authenticator generation request D69 by the group management unit 66 will be described in step S35 of
The group management unit 66 outputs, by referring to the correspondence information group in a case wherein a log reference request D14 to request a log to be referred to is received, a verification request D47 that includes a plurality of logs corresponding to the identifier corresponding to the log requested to be referred to by the log reference request D14, and the authenticator corresponding to the log requested to be referred to by the log reference request D14 via the identifier. Output of the verification request D47 by the group management unit 66 will be described in description for
An authenticator generation unit 90 generates an authenticator identified by the identifier indicated in the correspondence information by using the two or more logs included in the authenticator generation request D69. Generation of an authenticator by the authenticator generation unit 90 will be described in step S36 of
An authenticator verification unit 70 verifies validity of a plurality of logs included in the verification request D47 by using the authenticator and the plurality of logs included in the verification request D47, and outputs a verification result. Verification of an authenticator by the authenticator verification unit 70 will be described in step S25 of
The graph management unit 60 manages the correspondence information group being an authenticator graph, and the authenticator generated. The authenticator verification unit 70 performs a verification process of the authenticator with an authentication key 601. The authenticator generation unit 90 performs a generation process of the authenticator with the authentication key 601. Further, as storage units, a log storage unit 50 and an authenticator storage unit 80 are included. The log storage unit 50 stores a communication log, a process log, an authentication log, an xxx log, a yyy log and a zzz log. The authenticator storage unit 80 stores an authenticator <1>, an authenticator <2> and an authenticator <3>.
First, generation of a MAC is described. In the attack detection device 501, the authenticator generation unit 90 generates a MAC 1a from a message M1 with a key K (MAC) by using a MAC generation algorithm. The key K (MAC) corresponds to the authentication key 601. The message M1 is a plurality of logs. For example, the message M1 is a log 1 and a log 2.
Next, authentication of the MAC will be discussed. The authenticator verification unit 70 generates a MAC 1b from the message M1 being logs with the key K (MAC) by using a MAC generation algorithm. The K (MAC) corresponds to the authentication key 601. The authenticator verification unit 70 collates the MAC 1a generated by the authenticator generation unit 90 with the MAC1b generated by the authenticator verification unit 70. When the MAC1a generated by the authenticator generation unit 90 matches the MAC 1b generated by the authenticator verification unit 70, the authenticator verification unit 70 determines that the log 1 and the log 2 are not falsified. When the MAC1a generated by the authenticator generation unit 90 does not match the MAC1b generated by the authenticator verification unit 70, the authenticator verification unit 70 determines that either or both of the log 1 and the log 2 is or are falsified.
With reference to
As illustrated in
(Authenticator Graph D36)
The authenticator graph D36 is a correspondence information group including a plurality of pieces of correspondence information. As illustrated in
(Attack Detection Information 11)
The group generation unit 30 generates the authenticator graph 36 based on the attack detection information 11. As illustrated in
A concrete description is provided below.
The group generation unit 30 refers to the attack detection rule 11-1, and recognizes that an attack method <A> is related to an attack method <C>. At the same time, with the attack method information 13, the group generation unit 30 recognizes that the attack method <A> is related to the process log, and the attack method <C> is related to the communication log. The group generation unit 30 reflects the result recognized from the attack detection rule 11-1 on the authenticator graph D36.
Similarly, the group generation unit 30 refers to the attack detection rule 11-2, and recognizes that the attack method <B> is related to the attack method <A>. At the same time, with the attack method information 13, the group generation unit 30 recognizes that the attack method <B> is related to the communication log, and the attack method <A> is related to the process log. The group generation unit 30 reflects the result recognized from the attack detection rule 11-2 on the authenticator graph D36. The group generation unit 30 repeats these, and generates an authenticator graph D36 from the recognition result for each detection rule.
With respect to the attack detection rule 11-3, when the log is referred to, there is a relation of “xxx log” and (“process log” or “authentication log”). As for this logical expression, the group generation unit 30 may relates all logs as “xxx log” and “process log” and “authentication log.” Alternatively, as the logical expression, the group generation unit 30 may divide and reflect on the authenticator graph D36 the relation in such a manner as “xxx log” with “process log”, and “xxx log” with “authentication log.”
(D13)
The attack detection unit 10 transmits a detection information update notification D13 to the group generation unit 30. The detection information update notification D13 is a notification to notify that the attack detection information 11 is updated.
(D14)
The attack detection unit 10 transmits a log reference request D14 to the log management unit 40. When the attack detection unit 10 starts a detection process, the log reference request D14 is data to request to the log management unit 40 acquisition of a log to be referred to in order for the attack detection unit 10 to proceed with a further attack detection process.
(D24)
The log acquisition unit 20 transmits a log writing request D24 to the log management unit 40. The log writing request D24 requests writing of a log whose update has occurred.
(D36)
The group generation unit 30 transmits the authenticator graph D36 to the graph management unit 60. The authenticator graph D36 is as described in
(D41, D46a, D46b, D46c, D47)
The log management unit 40 transmits a log D41 to the attack detection unit 10. The log management unit 40 transmits a log D46a to the graph management unit 60. The log management unit 40 transmits a log update notification D46b to the graph management unit 60. The log update notification D46b notifies a log updated. The log management unit 40 transmits to the graph management unit 60 an authenticator inquiry D46c. The authenticator inquiry D46c inquires an authenticator corresponding to a log requested with the log reference request D14 by the attack detection unit 10. The graph management unit 60 specifies the authenticator corresponding to the log requested with the log reference request D14 from the authenticator graph D36.
(D64a, D64b, D69)
The graph management unit 60 transmits a pertinent authenticator graph D64a to the log management unit 40. The pertinent authenticator graph D64a is a part of the authenticator graph D36 managed by the graph management unit 60. That is, it is partial correspondence information among all correspondence information included in the authenticator graph D36. As the pertinent authenticator graph D64a, the graph management unit 60 may transmit the authenticator graph D36. The graph management unit 60 transmits the authenticator D64b to the log management unit 40.
The graph management unit 60 transmits the authenticator D64b to the log management unit 40. The graph management unit 60 transmits the authenticator generation request D69 to the authenticator generation unit 90. The authenticator generation request D69 is data to request generation of an authenticator to the authenticator generation unit 90 by the graph management unit 60.
(D74)
The authenticator verification unit 70 transmits a verification result D74 to the log management unit 40. The verification result D74 corresponds to a collation result between MAC1a and MAC1b in
(D96)
The authenticator generation unit 90 transmits an authenticator D96 generated to the graph management unit 60.
***Explanation of Operation***
The operation of the attack detection device 501 will be described hereinafter. The operation procedure of the attack detection device 501 corresponds to an attack detection method. A program to realize the operation of the attack detection device 501 corresponds to an attack detection program.
Specifically, when the verification result D74 is “success,” the log management unit 40 transmits the log D41 requested by the log reference request D14 to the attack detection unit 10.
In this manner, the attack detection unit 10 acquires the log verified to be valid by the verification request generated due to the log reference request and determines existence of the cyberattack by using the log acquired. It is possible for the attack detection unit 10 that has acquired the log to refer to the log accompanying attack detection.
In step S21 through step S26 described above, with respect to a log other than the log requested by the log reference request D14 from the attack detection unit 10, it becomes highly likely that log writing for update is performed without waiting for writing.
For example, in
In the attack detection device 501 of the first embodiment, the group generation unit 30 generates the authenticator graph D36, and the graph management unit 60 manages the authentication graph D36. Therefore, it is possible to provide an authenticator management device to reduce the load for managing authenticators, and the time to wait for log writing.
As a detection method of log falsification, a method to assign an authenticator to each of a plurality of logs is considered. However, in this method, it is impossible to detect log deletion in a case wherein log deletion is falsified. In contrast, in the attack detection device 501 of the first embodiment, since one authenticator is generated from a plurality of logs, it is possible to detect falsification of log deletion.
Further, as a detection method of log falsification, a method to assign an authenticator to the whole of the plurality of logs is also considered. However, in this method, when logs are referred to due to detection of a cyberattack, the plurality of logs as a whole are used for verification of the authenticator; therefore, when any of the logs is updated and writing becomes necessary, it is impossible to write into the log, and the time to wait for log writing becomes long. On contrast, in the attack detection device 501 in the first embodiment, since each piece of correspondence information of a plurality of pieces of correspondence information and the authenticator are associated with one another and managed, it is possible to suppress elongation of waiting time for log writing.
With reference to
The attack detection unit 10 monitors a stage of progress of a cyberattack. The attack detection unit 10 determines the stage of progress of a cyberattack from the number of AND items determined to be true, or a proportion of AND items determined to be true, in AND items in the attack detection rules illustrated in
The verification timing control unit 210, in accordance with a stage of progress of the cyberattack, decides the plurality of logs and the authenticator to be included in the verification request D47, and controls a timing to output the verification request D47. The verification timing control unit 210 outputs the verification request D47 to request verification of an authenticator intermittently to the authenticator verification unit 70 in accordance with the stage of progress of the cyberattack monitored by the attack detection unit 10.
The authenticator verification unit 70 verifies the authenticator requested by the verification request D47, by using a plurality of logs that are associated with the authenticator requested by the verification request D47 via an identifier in correspondence information every time the verification request D47 is output.
A concrete explanation is given as follows. The verification timing control unit 210 receives an attack progress degree 12 detected by the attack detection unit 10 from the attack detection unit 10. The verification timing control unit 210 controls a verification request timing of an authenticator for each identifier of the authenticators described in the authenticator graph D36 in response to the attack progress degree 12. It is assumed that the value of the attack progress degree 12 changes as 10, 20, 30. The greater the value of the attack progress degree 12 is, the more the attack has been progressing.
For example, when the value of the attack progress degree is 10, the verification timing control unit 210 verifies the authenticator <1> which is associated with the identifier <1> of the authentication graph D 36. The verification timing control unit 210 acquires a communication log and an authentication log which are associated with the authenticator <1> from the log storage unit 50, and acquires the authenticator <1> from the graph management unit 60. The verification timing control unit 210 transmits the verification request D47 to the authenticator verification unit 70. The verification request D47 includes the authenticator <1>, the communication log and the authentication log. The authenticator verification unit 70 performs a verification process of the authenticator <1>, and transmits the verification result D74 to the verification timing control unit 210.
When the value of the attack progress degree 12 changes from 10 to 20, the verification timing control unit 210 verifies the authenticator <2> which is associated with the identifier <2> of the authenticator graph D36. The verification timing control unit 210 acquires a process log, an xxx log and a yyy log which are associated with the authenticator <2> from the log storage unit 50, and acquires the authenticator <2> from the graph management unit 60. The verification timing control unit 210 transmits the verification request D47 to the authenticator verification unit 70. The verification request D47 includes the authenticator <2>, the process log, the xxx log and the yyy log.
The authenticator verification unit 70 performs a verification process of the authenticator <2>, and transmits the verification result D74 to the verification timing control unit 210.
A case wherein the value of the attack progress degree 12 changes from 20 to 30 as well is the same as the case wherein the value of the attack progress degree 12 changes from 10 and 20.
In the attack detection device 502 in the second embodiment, the verification timing control unit 210 makes the authenticator verification unit 70 verify the authenticator in response to the attack progress degree 12 in a state asynchronous with the log reference request D14. Therefore, it is possible to reduce the time lag which occurs at the time when the authenticator is verified due to the log reference request D14, from when an attack is caused by when a necessary log is referred to, in accordance with the progress degree of the attack.
With reference to
The intermediary data is data that appears before generation of an authenticator when the authenticator is generated. In other words, the intermediary data is data generated in the middle of a process during a plurality of processes when an authenticator is generated through the plurality of processes.
With reference to
When the authenticator D96 is generated, the intermediary data generation unit 310 starts generation of the authenticator D96 from the intermediary data that has been generated in the past, and that is stored in the intermediary data storage unit 320.
In the attack detection device 503 in the third embodiment, since the authenticator generation unit 90 generates an authenticator using intermediary data, it is possible to reduce the time for waiting writing of a log for whose writing occurs at the time of generation of the authenticator. In the attack detection device 503 in the third embodiment, since the authenticator verification unit 70 also generates an authenticator by using intermediary data, it is possible to reduce the time for waiting writing of a log whose writing occurs at the time of authenticator verification.
Description will be made on an attack detection device 504 in a fourth embodiment with reference to
When an attack whereby the log storage unit 500 and the authenticator storage unit 80 are rolled back is received, it is impossible to detect a rollback. It is considered that the log storage unit 500 and the authenticator storage unit 80 are stored in a secure area; however, the cost becomes extremely high. Therefore, by the counter 410, the threat of a rollback attack is reduced.
The log management unit 40 of the group management unit 66 associates the counter value updated by an update request with the plurality of logs specified by the feature information, and manages the updated counter value and the plurality of logs. The graph management unit 60 of the group management unit 66 outputs the authenticator generation request D69 that includes the two or more logs included in the plurality of logs specified by the feature information and the counter value, and that requests generation of the authenticator. Specifically, when the graph management unit 60 receives a log D46a from the log management unit 40, the graph management unit 60 transmits an authenticator generation request D69 to the authenticator generation unit 90.
The attack detection device 504 in the fourth embodiment generates an authenticator reflecting a counter value; therefore, it is possible to detect a rollback attack.
An attack detection device 505 in a fifth embodiment will be described with reference to
The group generation unit 30 generates an authenticator graph being a correspondence information group based on an update frequency of a log which is associated with an authenticator via an identifier of correspondence information.
In the attack detection device 505 in the fifth embodiment, the group generation unit 30 generates the authenticator graph D36 based on the log acquisition frequency D43. In the fifth embodiment, by preventing a log of high update frequency and a log of low update frequency from being associated with an identical authenticator, it is possible to reduce a generation time of authenticators more.
The above describes the first embodiment to the fifth embodiment of the present invention; however, it is also applicable to combine and perform two or more of these embodiments. Meanwhile, it is also applicable to partially perform one of these embodiments. Otherwise, it is also applicable to partially combine and perform two or more of these embodiments. The present invention is not limited to these embodiments, and various modifications are possible as needed.
As a sixth embodiment, hardware components from the attack detection device 501 to the attack detection device 505 will be discussed.
***Explanation of Configuration***
The attack detection device 506 is a computer. The attack detection device 506 includes the processor 110. In addition to the processor 110, the attack detection device 506 includes other hardware components such as the main storage device 120, the auxiliary storage device 130, the input IF 140, the output IF 150 and the communication IF 160. The processor 110 is connected to the other hardware components via the signal line 170 to control the other hardware components.
The attack detection device 506 includes, as functional components, the attack detection unit 10, the log acquisition unit 20, the group generation unit 30, the log management unit 40, the graph management unit 60, the authenticator verification unit 70, the authenticator generation unit 90, the verification timing control unit 210 and the counter 410. Functions of the attack detection unit 10, the log acquisition unit 20, the group generation unit 30, the log management unit 40, the graph management unit 60, the authenticator verification unit 70, the authenticator generation unit 90, the verification timing control unit 210 and the counter 410 are realized by an attack detection program 507. The attack detection program 507 is stored in the auxiliary storage device 130.
The processor 110 is a device to execute the attack detection program 507. The attack detection program 507 is a program to realize the functions of the attack detection unit 10, the log acquisition unit 20, the group generation unit 30, the log management unit 40, the graph management unit 60, the authenticator verification unit 70, the authenticator generation unit 90, the verification timing control unit 210 and the counter 410. The processor 110 is an integrated circuit (IC) to perform an operation process. Specific examples of the processor 110 are a central processing unit (CPU), a digital signal processor (DSP) and a graphics processing unit (GPU).
The main storage device 120 is a storage device. Specific examples of the main storage device 120 are a static random access memory (SRAM) and a dynamic random access memory (DRAM). The main storage device 120 retains an operation result of the processor 110.
The auxiliary storage device 130 is a storage device to store data in a non-volatile manner. A schematic example of the auxiliary storage device 130 is a hard disk drive (HDD). Further, it is also applicable that the auxiliary storage device 130 is a portable recording medium such as a secure digital (SD) (registered trademark) memory card, a NAND flash memory, a flexible disk, an optical disc, a compact disc, a Blue-ray (registered trademark) disc and a digital versatile disk (DVD), etc. The auxiliary storage device 130 realizes the log storage unit 50, the authenticator storage unit 80 and the intermediary data storage unit 320.
The input IF 140 is a port into which data is input from each device. The output IF 150 is a port whereto various devices are connected, and through which data is output by the processor 110 to the various devices. The communication IF 160 is a communication port whereby processors communicate with other devices.
The processor 110 loads the attack detection program 507 into the main storage device 120 from the auxiliary storage device 130, and reads and executes the attack detection program 507 from the main storage device 120. In the main storage device 120, not only the attack detection program 507 but also an operating system (OS) is stored. The processor 110 executes the attack detection program 507 while executing the OS. The attack detection device 506 may include a plurality of processors replacing the processor 110. The plurality of processors share execution of the attack detection program 507. Each of the processors is a device to execute the attack detection program 507 as with the processor 110. The data, information, signal values and variable values used, processed or output by the attack detection program 507 are stored in the main storage device 120, the auxiliary storage device 130 or a register or a cache memory inside the processor 110.
The attack detection program 507 is a program to make a computer execute each process, each procedure or each step of “processes,” “procedures” or “steps,” with which “units” of the attack detection unit 10, the log acquisition unit 20, the group generation unit 30, the log management unit 40, the graph management unit 60, the authenticator verification unit 70, the authenticator generation unit 90 and the verification timing control unit 210 are replaced.
Further, an attack detection method is a method performed by executing the attack detection program 507 by the attack detection device 506 being a computer. It is applicable to provide the attack detection program 507 by storing the attack detection program 507 in a computer-readable recording medium, or as a program product.
<Supplement to Hardware Configuration>
In the attack detection device 506 of
Each of the processor 110 and the electronic circuit 700 is also called processing circuitry. In the attack detection device 506, the functions of the attack detection unit 10, the log acquisition unit 20, the group generation unit 30, the log management unit 40, the graph management unit 60, the authenticator verification unit 70, the authenticator generation unit 90, the verification timing control unit 210, the counter 410, the log storage unit 50, the authenticator storage unit 80 and the intermediary data storage unit 320 may be realized by processing circuitry.
10: attack detection unit; 11, 11a: attack detection information, 11-2, 11-2, 11-3: attack detection rule; 12: attack progress degree; 13: attack method information; 20: log acquisition unit; 30: group generation unit; 31: identifier graph; 40: log management unit; 50: log storage unit; 51: log database; 60: graph management unit; 66: group management unit; 70: authenticator verification unit; 80: authenticator storage unit; 90: authenticator generation unit; 110: processor; 120: main storage device; 130: auxiliary storage device; 140: input IF; 150: output IF; 160: communication IF; 170: signal line; 210: verification timing control unit; 310: intermediary data generation unit; 311: intermediary data; 320: intermediary data storage unit; 410: counter; 501, 502, 503, 504, 505, 506: attack detection device; 507: attack detection program; 601: authentication key; 602: intermediary data protection key; 700: electronic circuit; 710:
signal line; D14: log reference request; D13: detection information update notification; D24 log writing request; D36, D36a: authenticator graph; D41: log; D46a: log; D46b: log update notification; D46c: authenticator inquiry; D47: verification request; D43: log acquisition frequency; D64a: pertinent authenticator graph; D64b: authenticator; D64c: log request; D69: authenticator generation request; D69a: counter update request; D74: verification result; D96: authenticator.
This application is a Continuation of PCT International Application No. PCT/JP2020/003001, filed on Jan. 28, 2020, which is hereby expressly incorporated by reference into the present application.
| Number | Date | Country | |
|---|---|---|---|
| Parent | PCT/JP2020/003001 | Jan 2020 | US |
| Child | 17831991 | US |