WO2019124976A1 - 차량 내 네트워크에 보안을 제공하는 시스템 및 방법 - Google Patents
차량 내 네트워크에 보안을 제공하는 시스템 및 방법 Download PDFInfo
- Publication number
- WO2019124976A1 WO2019124976A1 PCT/KR2018/016243 KR2018016243W WO2019124976A1 WO 2019124976 A1 WO2019124976 A1 WO 2019124976A1 KR 2018016243 W KR2018016243 W KR 2018016243W WO 2019124976 A1 WO2019124976 A1 WO 2019124976A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- message
- detection
- security threat
- network
- detection techniques
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 117
- 238000001514 detection method Methods 0.000 claims abstract description 235
- 230000003068 static effect Effects 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 15
- 230000001186 cumulative effect Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 23
- 230000006854 communication Effects 0.000 description 23
- 230000008569 process Effects 0.000 description 21
- 230000000903 blocking effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 239000000470 constituent Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40032—Details regarding a bus interface enhancer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40104—Security; Encryption; Content protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Definitions
- the present invention relates to providing security in an in-vehicle network.
- IDS Intrusion Detection Systems
- IPS Intrusion Protection Systems
- IDS monitors network activity and detects suspicious behavior.
- IPS refers to a system with the ability or capability to respond to detected intrusions (eg, to block signals that can affect the system).
- IDS and IPS are used together, and this system is referred to as IDPS (Intrusion Detection and Prevention System).
- the present invention proposes efficient methods of operating a plurality of detection techniques that can reduce the required system resources while maintaining robustness against malicious message detection.
- the present invention proposes various methods for loading IDS or IDPS in AUTOSAR (Automotive Open System Architecture) based software architecture.
- a method of detecting a threat comprising: determining whether a new network message collected from an in-vehicle network is the same or similar to a previously detected security threat message; And skipping the application of the plurality of detection schemes for the new network message if the new network message is the same or similar to the previously detected security threat message and immediately considering the new network message as a security threat message To provide security to the in-vehicle network. According to this, it is possible to improve the total detection efficiency by skipping the unnecessary detection process and increasing the total calculation speed.
- a method for detecting a new network message comprising: determining an application sequence of a plurality of detection techniques to be applied to a new network message collected from an intra- And applying, for the new network message, the plurality of detection techniques in accordance with the determined application order to determine whether the new network message is a security threat message.
- the application sequence of the plurality of detection techniques may be determined based on a detection history of the plurality of detection techniques applied to at least one network message collected from the in-vehicle network. According to this, in a case where a similar attack is successively attempted, it is possible to detect an attack message quickly, as compared with using a fixed application order.
- a method comprising: initiating an application of a plurality of detection techniques in parallel for a network message collected from an intra-vehicle network; And stopping application of the remaining detection techniques for the collected network message in response to determining that the detected network message is a security threat message by any one of the plurality of detection techniques. And provides a method for providing security to an in-vehicle network. According to this, the detection procedure can be completed quickly, as compared with the sequential application of a plurality of detection techniques.
- the above-described methods can be performed by an electronic device including at least one processor and a memory in which instructions are written.
- the instructions cause the electronic device to perform the methods described above when executed by the at least one processor.
- Figure 1 illustrates locations where an IDS (or IDPS) may be deployed on a CAN network.
- FIG. 2 is a flow chart illustrating an exemplary operation of an IDPS.
- FIG. 3 is a conceptual diagram illustrating a history-based detection process skip method according to an embodiment of the present invention.
- FIG. 4 is a conceptual diagram for explaining an example of a technique for adaptively changing the application sequence of detection techniques according to an embodiment of the present invention.
- FIG. 5 is a conceptual diagram illustrating a method of applying three different detection techniques in parallel, according to an embodiment of the present invention.
- FIG. 6 is a flowchart illustrating an operation method of an IDS (or IDPS) according to an embodiment of the present invention.
- FIG. 7 is a flowchart illustrating an operation method of an IDS (or IDPS) according to another embodiment of the present invention.
- FIG. 8 is a flowchart illustrating an operation method of an IDS (or IDPS) according to another embodiment of the present invention.
- Figure 9 is a schematic illustration of an AUTOSAR-based software architecture.
- FIG. 10 is a diagram schematically showing a software architecture of an ECU equipped with an IDPS according to an embodiment of the present invention.
- FIG. 11 is a view schematically showing a software architecture of an ECU mounted with an IDPS according to another embodiment of the present invention.
- FIG. 12 is a diagram schematically showing a software architecture of an ECU mounted with an IDPS according to another embodiment of the present invention.
- FIG. 13 is a diagram schematically showing a software architecture of an ECU mounted with an IDPS according to another embodiment of the present invention.
- FIG. 14 is a view schematically showing a software architecture of an ECU mounted with an IDPS according to another embodiment of the present invention.
- Figure 15 is a variation of the software architecture of Figure 10 for applying Bit Stumping.
- first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements.
- an element when referred to as being “comprising” or “comprising”, it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise .
- the terms "module,” “module,” and the like described in the specification mean a unit that processes at least one function or operation, and may be implemented by hardware, software, or a combination of hardware and software.
- Figure 1 illustrates locations (a, b, c, d, e) where an IDS (or IDPS) can be placed on a CAN network.
- the central gateway is a central communication node serving as a router.
- the central gateway can be thought of as a gate to all the data coming into the vehicle.
- a sub-gateway is a local communication node responsible for a specific subsystem domain, such as a power train, chassis, body, multimedia,
- a Installed on the Central Gateway If you install IDPS on the outside where all CAN domains are connected, you can detect all attacks coming into the CAN network through the OBD port. Thus, a message having an intention of attack can be grasped in advance. However, it is difficult to effectively cope with attacks because it is difficult to distinguish between attacks that intrude into the internal network and messages that do not, while collecting too much data.
- the controller receives all messages present on the network and identifies the required CAN message IDs to selectively process the required messages.
- the controller analyzes the context of the CAN status message and the command message received from the outside of the controller and drives it. At this time, since it is required to be protected from both the outside and the inside of the controller, a high level of security is required. Mounting the IDPS on the controller is to prevent loss of important data or malfunction of the controller from a highly capable internal / external attacker capable of modulating the controller.
- FIG. 2 is a flow chart illustrating an exemplary operation of an IDPS.
- the IDPS can be configured to perform a pre-process when the vehicle is turned on and then repeatedly perform a detection process and a post-process until the vehicle is turned off .
- the version of the detection tree is checked. If the IDPS detection tree currently stored in the flash memory is not the latest version, for example, the latest version downloaded through the OTA or OBD port Update the detection tree with a version rule set. Thereafter, the encrypted detection tree stored in the flash memory is decrypted and loaded into the RAM area. At the end of the pre-process, the detection process, which is the actual detection operation of the IDPS, is started.
- the IDPS when a new CAN message arrives in the Message Queue, sends a new CAN message to the network message associated with the security threat (hereinafter referred to as 'security threat message', 'abnormal message' , 'Misuse Detection', and 'Anomaly Detection' are used to determine whether the message is an 'unsolicited message', 'an attack message', or ' Technique can be performed sequentially. In each technique, the following checks are made.
- Static detection is a technique for checking the validity of a CAN message by comparing the message ID, the data length code (DLC), and the cycle with the value specified in the CAN database (CAN DB).
- Misuse Detection is a technique for detecting known attack messages through the analysis of vulnerabilities of vehicle systems. When the content of message data is classified as a malicious message black list without considering the status of the vehicle, Detect.
- Anomaly Detection is a technique for determining whether a message is within the normal message category based on the state of the vehicle, and is performed through a detection tree based on the state of the vehicle and the command message.
- the IDPS can forward a CAN message containing a detection log to a gateway or telematics device that can be communicatively coupled to the remote network, via the CAN network, such that the detection log is transmitted to the back-end server on the remote network.
- Static Detection monitors the ID, message length, and message transmission period of a message, and compares it with predetermined rules to validate the message. Therefore, the only thing that can be verified through static detection is the validation of whether it conforms to the 'valid message format' that the manufacturer preliminarily stores in the CAN DB. The malicious data contained in the message can not be detected.
- Misuse Detection is a detection technique that defines signatures of attack method patterns or means using already known vulnerabilities of the system and compares the traffic according to the signature. Misuse detection is also called signature-based detection. Although misuse detection consumes less system resources and has a high detection probability, it needs to define a new signature for each new attack, which may delay the response to emerging attacks and requires a lot of security human resources. This technique can cause false negatives (false negatives) that may miss real attacks.
- Anomaly Detection is a technique for collecting and analyzing general behavior on a network, defining normal patterns, and then detecting behaviors out of a certain threshold in a normal pattern. Anomaly detection is also referred to as profile-based detection. In the case of anomaly detection, even when a new attack appears, it is possible to detect if the attack is out of the normal pattern and the proportion of security human resources is less than that of the misuse detection method. However, it requires a lot of system resources and false positives (false positives) may occur depending on the set thresholds.
- each message stacked in the Message Queue is intercepted or passed through a detection process consisting of three detection techniques (i.e., static detection ⁇ misuse detection ⁇ anomaly detection) .
- the normal CAN message is transmitted to ECU application software only after the detection process consisting of three techniques.
- the present invention proposes various methods for efficiently operating a plurality of detection techniques to reduce the required system resources while maintaining robustness against malicious message detection.
- the method skips the application of a plurality of detection techniques in the event that a new message collected from the vehicle network is a message identical or similar to a security threat message that has not passed the previously performed detection process, To be performed.
- FIG. 3 is a conceptual diagram illustrating a history-based detection process skip method according to an embodiment of the present invention.
- the IDPS operates a 'detection history bank', which is a database that stores records of messages determined as security threat messages (ie, failed messages) through static detection, misuse detection, and anomaly detection.
- the IDPS performs pre-filtering using the detection history bank prior to performing the existing three-step detection process on incoming messages.
- the new message is compared with the records stored in the detection history bank to determine whether the new message is the same as or similar to the previously detected security threat message. If the new message is the same or similar to the previously detected security threat message, skipping the existing three-step detection process for the new message, storing the new message record in the detection history bank It immediately enters the blocking action phase. That is, if the new message is the same or similar to a previously detected security threat message, then the new message is regarded as a network message associated with a security threat. Therefore, the throughput of the entire system can be improved by increasing the overall operation speed by skipping the application of unnecessary detection techniques. As described below, the meaning that the messages are the same indicates that the entire message frames are equal to each other at the bit level, and the meaning of the messages is similar to the case where it is understood that some fields constituting the message frame at the bit level are identical .
- Various methods can be applied to store the history of security threat messages in the detection history bank.
- the entire frame of the security threat message may be stored in the detection history bank.
- the entire bitstream may be compared with a new incoming message, and some fields such as a data field, an arbitration field, and a control field within the frame may be selectively May be compared.
- some fields such as a data field, an arbitration field, and a control field within a frame of a security threat message may be selectively stored in the history bank.
- the detection history bank can be operated as follows. For example, a unique counter may be assigned to each security threat message stored in the detection history bank. Whenever a newly detected security threat message is identical or similar to a message already stored in the history bank, the counter of the message is incremented by one. Messages in the detection history bank can be sorted in descending order based on the counter value. Therefore, the detection history bank has a record of a security threat message frequently appearing in the vehicle network, and a record of a security threat message occasionally appearing thereunder. This improves the speed of access to records stored in the detection history bank in prefiltering.
- a malicious attack is more likely to be attempted in a similar manner, rather than trying different attacks over time. Therefore, if any detection technique among the three detection techniques described above detects an attack message, the detection technique is likely to succeed in detection of subsequent attack messages. Based on these temporal associations, we propose a technique for adaptively changing the application order of detection methods.
- FIG. 4 is a conceptual diagram for explaining an example of a technique for adaptively changing an application sequence of detection techniques according to an embodiment of the present invention.
- the order of application of the detection techniques is changed depending on only the technique of detecting the security threat message at the previous timing.
- a counter is assigned to each detection technique, and a counter And the order of application of the detection techniques may be sorted in descending order according to the accumulated counter value.
- the method is to apply a plurality of detection techniques in parallel instead of sequentially. That is, parallel processing improves detection speed.
- FIG. 5 is a conceptual diagram illustrating a method of applying three different detection techniques in parallel, according to an embodiment of the present invention.
- three threads using different detection techniques are executed concurrently, and the CAN message stored in the message queue is simultaneously input to three threads. Thereby, three different detection schemes are applied in parallel for the CAN message.
- thread 1 performs a static detection
- thread 2 performs misuse detection
- thread 3 performs an anomaly detection.
- the CAN message is passed to the application software component of the ECU. If any one of the thread's detection techniques fails to pass, the CAN message can be blocked from being delivered to the application software component of the ECU.
- a channel may be provided between the threads for signaling to interrupt other threads, i. E., For the transmission of an interrupt signal.
- Three threads can use a parameter (or indicator) to indicate the 'pass' or 'fail' of the CAN message to be processed.
- Three threads can set the parameters P1, P2, and P3 to all zeros when a CAN message is received from the message queue.
- Each thread can set the parameter Px to 1, respectively, if the CAN message passes its detection scheme.
- the CAN message can be delivered to the application software component of the ECU only if all parameter Px values are one.
- FIG. 6 is a flowchart illustrating an operation method of an IDS (or IDPS) according to an embodiment of the present invention.
- the IDS determines whether the new network message collected from the in-vehicle network is the same as or similar to the network message previously detected as being related to the security threat (S610). To this end, the IDS can inquire a database in which information identifying the previously detected security threat message is recorded, and determine whether the new network message has information corresponding to the information identifying the previously detected security threat message .
- the information identifying the previously detected security threat message may be the entire frame of the security threat message or some field of the frame.
- the IDS applies a plurality of detection techniques to the new network message, Message (S630).
- Multiple detection techniques include static detection, misuse detection, and anomaly detection.
- the IDS skips the application of the multiple detection schemes for the new network message, It is determined (regarded) as a network message related to the threat (S640).
- FIG. 7 is a flowchart illustrating an operation method of an IDS (or IDPS) according to another embodiment of the present invention.
- the IDS detects a plurality of The order of applying the detection techniques is determined (S710).
- Multiple detection techniques include static detection, misuse detection, and anomaly detection.
- IDS can change the order of application of multiple detection techniques so that successful detection techniques for detecting network messages related to security threats take precedence over other detection methods.
- the IDS can count the cumulative number of successful attempts to detect network messages related to security threats for each detection technique and change the application order of the detection techniques in ascending order of cumulative counts for each detection technique.
- step S720 the IDS determines whether the new network message is a network message related to the security threat, by applying the detection techniques according to the determined application sequence for a new network message collected from the in-vehicle network.
- FIG. 8 is a flowchart illustrating an operation method of an IDS (or IDPS) according to another embodiment of the present invention.
- the IDS initiates the application of a plurality of detection techniques in parallel for the network message collected from the in-vehicle network (S810). This can be accomplished, for example, by concurrently executing a plurality of threads using different detection techniques and entering the collected network messages into a plurality of threads, respectively.
- Multiple detection techniques include static detection, misuse detection, and anomaly detection.
- the IDS stops applying the remaining detection techniques to the collected network message (S820).
- a thread that has determined the collected network message as a network message related to a security threat sends an interrupt signal to other threads, and the other threads terminate its execution in response to receiving the interrupt signal.
- the IDS may allow the network message to be delivered to the application domain.
- FIG. 9 is a schematic illustration of an AUTOSAR-based software architecture.
- AUTOSAR's software architecture has a layered structure divided into an Application Software (ASW) layer, a Run Time Environment (RTE), and a Basic Software (BSW) layer.
- ASW Application Software
- RTE Run Time Environment
- BSW Basic Software
- the BSW is subdivided into a service layer, an ECU abstraction layer (EAL), a microcontroller abstraction layer (MCAL), and a CDD (Complex Device Driver) layer.
- EAL ECU abstraction layer
- MCAL microcontroller abstraction layer
- CDD Compact Device Driver
- the service layer includes modules that perform service functions such as memory, communication network, and system.
- COM Common Communication
- the MCAL area is a software module with hardware dependency. It is composed of communication driver of OSI's data link layer, analog digital I / O driver such as ADC, PWM, DIO, memory driver such as EEPROM and Flash, .
- the CDD region is used in areas such as fuel injection of a power train, electromagnetic valve control, and mission control which are not standardized.
- a set of modules related to communication is called a communication stack (Com- munication Stack).
- CAN Controller Area Network
- the modules of the BSW involved in the transmission of the CAN message are COM (Communication), PDU (Protocol Data Unit Router), CAN Interface (CAN IF), and CAN Driver (CAN Drv).
- a software component of the ASW layer ie ECU APP
- the data is transferred from the CAN Drv to the CAN bus via RTE, COM, PduR, and CAN IF.
- This data is received by CAN Drv of all ECUs connected to CAN Bus.
- CAN Drv checks CAN ID (Message ID) and if it is data to be received, CAN IF, PDUR, COM, and RTE To the application software component (ECU APP).
- FIG. 10 is a diagram schematically showing a software architecture of an ECU equipped with an IDPS according to an embodiment of the present invention.
- an IDPS module that performs static detection (detection on a per-message basis) is mounted in the CDD area.
- An IDPS module that performs dynamic detection (detection of signal units) can be mounted in the CDD area or the ASW area.
- the typical CAN message processing procedure on the Com-Stack is maintained, and detection begins while the CAN message is transferred from the CAN Drv in the MCAL domain to the IDPS module in the CDD domain.
- the IDPS module performs the static detection. If the CDD area contains a dynamic detection module of the IDPS, both static and dynamic detection can be performed simultaneously. In static and dynamic detection, if the CAN message is determined to be a message related to a security threat, the IDPS module delivers a message blocking request signal to the PDUR module.
- a message blocking request signal arrives at the PDUR module before the CAN message is passed from the CAN IF to the PDUR module according to the CAN message handling procedure, the CAN message may be blocked at the PDUR module. On the other hand, if the CAN message arrives first in the PDUR rather than the message blocking request signal, the CAN message is not blocked.
- the technique of the present embodiment maintains the CAN message processing procedure intact, thereby enabling blocking of the security threat message without delaying the CAN message processing procedure.
- the resource load of the CDD region for performing dynamic detection is large.
- an additional interface is required to send a message blocking request signal from the IDPS to the PDUR module.
- the message blocking request signal In order to block the security threat message, the message blocking request signal must arrive before the CAN message arrives in the PDUR module. Therefore, blocking may not be possible if the detection process takes a long time.
- FIG. 11 is a view schematically showing a software architecture of an ECU mounted with an IDPS according to another embodiment of the present invention.
- an IDPS message queue in which CAN messages are queued is formed in the CDD area, and an IDPS detection module for performing static detection and dynamic detection is mounted in the application software (ASW) area.
- ASW application software
- the typical CAN message processing procedure on the Com-Stack is maintained, and the CAN message is transferred from the CAN driver of the MCAL area to the IDPS queuing module of the CDD area.
- the IDPS detection module of the ASW zone receives the CAN message from the message queue and performs detection.
- IDPS detection modules in the ASW domain can perform both static and dynamic detection simultaneously. This method is advantageous in that there is no message delay but it is only detectable.
- FIG. 12 is a diagram schematically showing a software architecture of an ECU mounted with an IDPS according to another embodiment of the present invention.
- the detection of the CAN message transmitted from the CAN Drv of the MCAL area to the CAN IF of the EAL area is interrupted while the IDPS of the CDD area interrupts the CAN message processing procedure on the Com-Stack.
- the IDPS detection module performs a static detection.
- the dynamic detection module of the IDPS can be embedded in the CDD region or the ASW region. If the dynamic detection module of the IDPS is included in the CDD region, static detection and dynamic detection can be simultaneously performed in the CDD region.
- the IDPS detection module Upon detection of a security threat message in static and / or dynamic detection, the IDPS detection module does not forward the CAN message to the CAN IF module in the EAL domain. Since the CAN message is not transmitted, the existing CAN message processing procedure is no longer performed.
- the embodiment of the present embodiment is advantageous in that the probability of success in blocking the security threat message is high.
- dynamic detection is possible in the CDD domain, but there is a disadvantage that the load is large.
- FIG. 13 is a diagram schematically showing a software architecture of an ECU mounted with an IDPS according to another embodiment of the present invention.
- static detection is performed in the CAN IF module defined in the existing AUTOSAR platform, and dynamic detection is performed in the COM service module.
- This method modifies the standardized modules (ie, CAN IF and COM) that make up the Com-Stack of the AUTOSAR platform, so it does not require interrupts and can detect and block security threat messages .
- there may be a delay in the overall message processing procedure and collaboration with related parties is required to implement IDPS modules within the AUTOSAR platform's standardized modules (ie, CAN IF and COM).
- FIG. 14 is a view schematically showing a software architecture of an ECU mounted with an IDPS according to another embodiment of the present invention.
- the CAN message processing procedure on the Com-Stack proceeds as it is, and the CAN message is transferred from the CAN Drv in the MCAL area to the shared memory of the IDPS dedicated core (second core) to start the detection.
- the IDPS performs static detection and dynamic detection (concurrently).
- the advantage of this embodiment is that it does not add a delay to the CAN message processing procedure and it uses a separate core (second core), so it has the advantage of reducing the load on the first core where the existing CAN message processing procedure proceeds.
- the cost of implementation is high and only detection is possible.
- Bit Stumping can be used as a blocking method to invalidate a security threat message by forcibly sending a signal on an existing occupied bus when a security threat message is detected, thereby causing a message frame error.
- These security threat message blocking methods can be combined with the methods described with reference to FIGS. 10 to 14, respectively.
- Fig. 15 is a modification of the software architecture (first embodiment) of Fig. 10 for applying bit stumping.
- additional hardware i. E., I / O ports
- I / O ports connected to the CAN bus in the IDPS is needed, as shown in Fig.
- the various methods, devices, and systems described in this disclosure may be implemented or embodied by electronic control devices, gateways, etc., having a processor, memory, communication interface,
- the electronic control device may function as an apparatus for executing the methods described above by loading software instructions into the processor and then executing the instructions to perform the functions described in this disclosure.
- non-volatile storage medium includes all kinds of recording devices in which data is stored, for example, in a form readable by a computer system.
- non-transitory storage media may include storage media such as erasable programmable read only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, optical drives, magnetic hard drives, solid state drives .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Small-Scale Networks (AREA)
Abstract
본 발명은 차량 내 네트워크에 보안을 제공하는 시스템 및 방법과 관련되어 있다. 본 발명의 일 측면에 따르면, 악의적 메시지 탐지에 대한 강인성을 유지하면서도 요구되는 시스템 자원을 줄이기 위해, 복수의 탐지 기법들을 효율적인 운용하는 방법들을 제안한다.
Description
본 발명은 차량 내 네트워크에 보안을 제공하는 것과 관련되어 있다.
이 부분에 기술된 내용은 단순히 본 발명에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
침입 탐지 시스템(Intrusion Detection System: IDS)과 침입 방지 시스템 (Intrusion Protection System: IPS)은 네트워크 보안에 널리 사용되어 왔다. IDS는 네트워크 활동을 모니터링하고 의심스러운 행동을 감지한다. IPS는 탐지된 침입에 대응(예컨대 시스템에 영향을 줄 수 있는 신호를 차단)할 수 있는 기능 혹은 능력을 갖춘 시스템을 일컫는다. 대개 IDS와 IPS는 함께 사용되며, 이러한 시스템은 IDPS(Intrusion Detection and Prevention System)라고 지칭된다.
차량에 탑재된 전자 제어 장치(ECU)들의 수가 크게 증가하고, 무선 네트워크를 통해 차량이 외부 네트워크와 연결됨에 따라, 차량의 내부 네트워크의 보안 위협을 탐지하고 대응하기 위해 IDS 혹은 IDPS가 도입되고 있는 추세이다.
본 발명은 악의적 메시지 탐지에 대한 강인성을 유지하면서도 요구되는 시스템 자원을 줄일 수 있는 복수의 탐지 기법들의 효율적인 운용 방법들을 제안한다. 또한, 본 발명은 AUTOSAR(Automotive Open System Architecture) 기반의 소프트웨어 아키텍처에 IDS 혹은 IDPS를 탑재하기 위한 다양한 방법들을 제안한다.
본 발명의 일 측면에 의하면, 차량 내 네트워크로부터 수집된 새로운 네트워크 메시지가 기 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지인지 여부를 판단하는 단계; 및 상기 새로운 네트워크 메시지가 상기 기 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지이면, 상기 새로운 네트워크 메시지에 대해, 복수의 탐지 기법의 적용을 스킵하고, 곧바로 상기 새로운 네트워크 메시지를 보안 위협 메시지로 간주하는 단계를 포함하는, 차량 내 네트워크에 보안을 제공하는 방법을 제공한다. 이에 따르면, 불필요한 탐지 프로세스를 스킵하여 전체 연산속도를 높임으로써 전제적인 탐지 효율을 향상시킬 수 있다.
본 발명의 다른 측면에 의하면, 차량 내 네트워크로부터 수집되는 새로운 네트워크 메시지에 대해 적용할 복수의 탐지 기법들의 적용 순서를 결정하는 단계; 및 상기 새로운 네트워크 메시지에 대해, 상기 결정된 적용 순서에 따라 상기 복수의 탐지 기법들을 적용하여, 상기 새로운 네트워크 메시지가 보안 위협 메시지인지 여부를 결정하는 단계를 포함하는, 차량 내 네트워크에 보안을 제공하는 방법을 제공한다. 상기 복수의 탐지 기법들의 적용 순서는 상기 차량 내 네트워크로부터 기 수집된 적어도 하나의 네트워크 메시지에 대해 적용된 상기 복수의 탐지 기법들의 탐지 이력을 기초로 결정될 수 있다. 이에 따르면, 유사한 방식의 공격이 연속적으로 시도되는 경우에, 고정된 적용 순서를 사용하는 것에 비해, 빠르게 공격 메시지를 탐지할 수 있다.
본 발명의 또 다른 측면에 의하면, 차량 내 네트워크로부터 수집된 네트워크 메시지에 대해, 복수의 탐지 기법들의 적용을 병렬적으로 개시하는 단계; 및 상기 복수의 탐지 기법들 중에서 어느 하나의 탐지 기법이 상기 수집된 네트워크 메시지를 보안 위협 메시지로 결정하는 것에 응답하여, 상기 수집된 네트워크 메시지에 대한 나머지 탐지 기법들의 적용을 중단하는 단계를 포함하는, 차량 내 네트워크에 보안을 제공하는 방법을 제공한다. 이에 따르면, 복수의 탐지 기법을 순차적으로 적용하는 것에 비해, 빠르게 탐지 절차를 완료할 수 있다.
전술한 방법들은, 적어도 하나의 프로세서와 명령어들이 기록된 메모리를 포함하는 전자 장치에 의해 수행될 수 있다. 예컨대, 상기 명령어들은 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 전자 장치로 하여금, 전술한 방법들을 수행하도록 한다.
이와 같이, 제안된 방법들 및 전자 장치들에 따르면, 악의적 메시지 탐지에 대한 강인성은 유지하면서도 빠르게 공격 메시지를 탐지할 수 있고, 그에 따라 탐지에 필요한 시스템 자원을 줄일 수 있다.
도 1은 CAN 네트워크 상에서 IDS(혹은 IDPS)가 배치될 수 있는 위치들을 예시한 것이다.
도 2는 IDPS의 예시적인 동작을 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른, 히스토리 기반 탐지 프로세스 스킵 방법을 설명하기 위한 개념도이다.
도 4는 본 발명의 일 실시예에 따른, 탐지 기법들의 적용 순서를 적응적으로 변경하는 기법의 일 예를 설명하기 위한 개념도이다.
도 5는 본 발명의 일 실시예에 따른, 세 개의 상이한 탐지 기법들을 병렬적으로 적용하는 방법을 설명하기 위한 개념도이다.
도 6은 본 발명의 일 실시예에 따른 IDS(혹은 IDPS)의 동작 방법을 도시한 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 IDS(혹은 IDPS)의 동작 방법을 도시한 흐름도이다.
도 8은 본 발명의 또 다른 실시예에 따른 IDS(혹은 IDPS)의 동작 방법을 도시한 흐름도이다.
도 9는 AUTOSAR 기반의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 IDPS가 탑재된 ECU의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다.
도 11은 본 발명의 다른 실시예에 따른 IDPS가 탑재된 ECU의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다.
도 12는 본 발명의 또 다른 실시예에 따른 IDPS가 탑재된 ECU의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다.
도 13은 본 발명의 또 다른 실시예에 따른 IDPS가 탑재된 ECU의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다.
도 14는 본 발명의 또 다른 실시예에 따른 IDPS가 탑재된 ECU의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다.
도 15는 비트 스텀핑(Bit Stumping)을 적용하기 위한 도 10의 소프트웨어 아키텍처의 변형예이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '...부,' '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 CAN 네트워크 상에서 IDS(혹은 IDPS)가 배치될 수 있는 위치들(ⓐ, ⓑ, ⓒ, ⓓ, ⓔ)을 예시한 것이다. 센트럴 게이트웨이는 라우터 역할을 하는 센트럴 통신 노드이다. 센트럴 게이트웨이는 차량으로 들어오는 모든 데이터에 대한 게이트라고 볼 수 있다. 서브 게이트웨이는 파워 트레인, 섀시, 바디, 멀티미디어 등과 같은 특정 서브 시스템 도메인을 담당하는 로컬 통신 노드이다.
각 위치 별 장단점은 다음과 같다.
ⓐ 센트럴 게이트웨이에 탑재: 외부와 모든 CAN 도메인이 연결되는 이곳에 IDPS을 설치하면, OBD 포트를 통해 CAN 네트워크로 들어오는 모든 공격을 탐지할 수 있다. 따라서 공격 의도를 가진 메시지를 미연에 파악할 수 있다. 그러나 너무 많은 데이터를 수집하면서, 내부 네트워크로 침입하려는 공격과 그렇지 않은 메시지를 구분하기 어렵기 때문에 공격에 효율적으로 대응하기 어렵다.
ⓑ 센트럴 게이트웨이 뒤: 센트럴 게이트웨이의 메시지 필터링을 거친 뒤의 메시지를 검사한다. ⓐ를 지나기 전보다는 더 적은 수의, 그러나 더 강력한 의지를 가진 공격자를 탐지할 수 있다. 또한 CAN 백본망에 외부에서 직접 접근하여 악성 메시지를 주입하는 해킹을 탐지할 수 있다.
ⓒ 서브 게이트웨이에 탑재: 특정 CAN 도메인으로 송수신되는 CAN 메시지를 관리하는 곳에 IDPS를 설치하면, ⓑ에서의 CAN 메시지와 특정 CAN 도메인에서 흐르고 있는 CAN 메시지 간의 불일치성을 쉽게 탐지할 수 있다. CAN 도메인 내부에서 다른 도메인으로 향하는 공격도 탐지할 수 있는 곳이므로 CAN 도메인 내부의 공격자도 일정 수준 이상 탐지할 수 있다.
ⓓ 서브 게이트웨이 뒤: 특정 악의적 메시지로 이중의 게이트웨이를 통과하여 시스템을 해킹하는 것은 쉽지 않다. 그러나 내부 제어기(ECU: Electronic Control Unit)가 공격자에 의해 손상되었거나 악의적 제어기가 교체되어 위장되었을 경우, 그리고 외부에서 직접 해당 CAN 버스에 연결한 경우 악의적인 메시지를 보내는 것이 여전히 가능하다. 따라서 본 설치 위치는 내부 제어기를 신뢰할 수 없어 제어기가 속한 특정 CAN 도메인의 네트워크 해킹을 감시하고자 할 때 설치할 수 있는 곳이다.
ⓔ 제어기에 탑재: 제어기는 네트워크상에 존재하는 모든 메시지를 수신하고 필요한 CAN 메시지의 ID를 확인하여 필요로 하는 메시지를 선택적으로 처리한다. 제어기는 제어기 외부에서 받은 CAN 상태 메시지와 명령 메시지의 컨텍스트를 분석한 뒤 구동한다. 이 때 제어기 외부와 내부 모두로부터 보호되어야 하기 때문에 높은 보안 수준을 필요로 한다. 제어기에 IDPS를 탑재하는 것은 제어기를 변조할 수 있는 매우 능력이 뛰어난 내부/외부 공격자로부터 제어기가 가진 중요 데이터의 손실이나 기능의 오동작을 막기 위함이다.
도 2는 IDPS의 예시적인 동작을 도시한 흐름도이다.
IDPS는 차량의 시동이 켜지면 사전 프로세스(pre-process)을 수행하고, 그 후 차량 시동이 꺼질 때까지 탐지 프로세스(detection process)와 사후 프로세스(post-process)를 반복적으로 수행하도록 구성될 수 있다.
사전 프로세스(pre-process)에서, IDPS가 재시작 되면 탐지 트리(detection tree)의 버전을 체크하고 현재 플래쉬 메모리에 저장된 IDPS 탐지 트리가 최신 버전이 아닐 경우, 예컨대, OTA 혹은 OBD 포트를 통해 다운 받은 최신 버전의 룰 셋으로 탐지 트리를 업데이트 한다. 이후 플래쉬 메모리에 저장된 암호화된 탐지 트리를 복호화하여 RAM 영역으로 로드한다. 사전 프로세스가 종료되면 IDPS의 실질적인 탐지 동작인 탐지 프로세스가 시작된다.
탐지 프로세스(detection process)에서, IDPS는, 메시지 큐(Message Queue)에 새로운 CAN 메시지가 도착하면, 새로운 CAN 메시지가 보안 위협과 관련된 네트워크 메시지(이하 '보안 위협 메시지', '비정상 메시지', '악의적인 메시지', '공격 메시지', 혹은 '검사에 실패한 메시지'로도 지칭될 수 있음)인지 여부를 판단하기 위해, 정적 탐지(Static Detection), 오용 탐지(Misuse Detection), 및 변칙 탐지(Anomaly Detection) 기법을 순차적으로 수행할 수 있다. 각각의 기법에서는 다음과 같은 검사가 이루어진다.
정적 탐지(Static Detection)는 메세지 ID, DLC(Data length code), 주기 등을 CAN 데이터베이스(CAN DB)에 명시된 값과 비교하여 CAN 메시지의 유효성을 검사하는 기법이다. 오용 탐지(Misuse Detection)는 차량 시스템의 취약점 분석을 통해 이미 알려진 공격 메시지를 탐지하는 기법으로서, 차량의 상태를 고려하지 않고 단순히 메시지 데이터의 내용이 악성 메시지 블랙리스트(Black List)로 분류될 경우 이를 탐지한다. 변칙 탐지(Anomaly Detection)는 차량의 상태를 기반하여 해당 메시지가 정상 메시지 범주 안에 있는 지 확인하는 기법으로서, 차량의 상태와 명령 메시지에 기반한 탐지 트리를 통해 이루어진다.
사후 프로세스(post-process)에서는, CAN 메시지들에 대한 검사 결과에 따라 통과, 차단, 로깅(logging), 혹은 경고와 같은 액션이 취해진다. 예컨대, 탐지 로그가 원격 네트워크 상의 백-엔드 서버에 전송되도록, IDPS는, CAN 네트워크를 통해, 탐지 로그가 담긴 CAN 메시지를 원격 네트워크에 통신적으로 연결될 수 있는 게이트웨이 혹은 텔레매틱스 디바이스에 전달할 수 있다.
전술한 침입 탐지 기법의 특성 및 장단점은 다음과 같다.
정적 탐지(Static Detection)는 메시지의 ID, 메시지 길이, 메시지 전송 주기 등을 모니터링하여, 미리 정해놓은 규칙들과 비교하여 유효성 검사를 하는 기법이다. 따라서, 정적 탐지를 통해서 확인할 수 있는 것은 오직 제조사에서 미리 정하여 CAN DB에 저장해 놓은 '유효한 메시지 형식'에 맞는지의 유효성 검사뿐이다. 메시지 내에 들어 있는 악성 데이터 등은 탐지가 불가능하다.
오용 탐지(Misuse Detection)는 시스템의 이미 알려진 취약점을 이용한 공격 방법 패턴이나 수단의 시그니처(signature)를 정의하고 그에 따른 트래픽의 비교를 통한 탐지 기법이다. 오용 탐지는 시그니처(signature) 기반의 탐지로도 불린다. 오용 탐지는 시스템의 자원을 적게 소모하고 탐지 확률이 높다는 장점이 있으나, 새로운 공격마다 새로운 시그니처를 정의해야 하므로 새로 출현한 공격에 대한 대처가 늦어질 수 있으며 많은 보안 인적 자원을 필요로 한다. 이 기법은 실제 공격을 놓칠 수 있는 거짓 음성(false negative; 2종 오류) 문제가 생길 수 있다.
변칙 탐지(Anomaly Detection)는 네트워크 상에서의 일반적인 행동을 수집 및 분석하여 정상적인 패턴을 정의한 후 정상 패턴에서 일정한 임계치(threshold)를 벗어난 행동을 탐지하는 기법이다. 변칙 탐지는 프로파일(profile) 기반의 탐지로도 불린다. 변칙 탐지의 경우 새로운 공격이 출현하였을 때에도 이러한 공격이 정상 패턴에서 벗어난 경우 탐지가 가능하며 오용 탐지 방법에 비해 보안 인적 자원의 비중이 적다. 그러나 많은 시스템 자원을 필요로 하며 설정된 임계치에 따라 거짓 양성(false positive, 1종 오류) 문제가 생길 수 있다.
도 2의 예시된 동작에 따르면, 메시지 큐(Message Queue)에 쌓인 각 메시지는 세 가지 탐지 기법으로 구성된 탐지 프로세스(즉, 정적 탐지→오용 탐지→변칙 탐지)를 거치면서 그 메시지의 차단 혹은 통과가 결정된다. 또한, 정상적인 CAN 메시지 역시 세 가지 기법으로 구성된 탐지 프로세스를 거친 후에야 비로소 ECU의 응용 소프트웨어로 전달되게 된다.
본 발명은 악의적 메시지 탐지에 대한 강인성을 유지하면서도 요구되는 시스템 자원을 줄이기 위해 복수의 탐지 기법들을 효율적인 운용하는 여러 방법들을 제안한다.
제 1 실시예 - 히스토리 기반 탐지 프로세스 스킵 방법
본 방법은 차량 네트워크로부터 수집된 새로운 메시지가 이전에 수행된 탐지 프로세스를 통과하지 못한 보안 위협 메시지와 동일 또는 유사한 메시지일 경우에, 복수의 탐지 기법들의 적용을 스킵함으로써, 차단 결정과 차단 액션이 빠르게 수행될 수 있게 하는 것이다.
도 3은 본 발명의 일 실시예에 따른, 히스토리 기반 탐지 프로세스 스킵 방법을 설명하기 위한 개념도이다.
IDPS는 정적 탐지, 오용 탐지, 및 변칙 탐지 단계를 거치면서 보안 위협 메시지로 결정된 메시지들(즉, failed messages)에 대한 기록이 저장되는 데이터베이스인 '탐지 히스토리 뱅크(detection history bank)'를 운용한다. IDPS는 새롭게 들어오는 메시지들에 대해 기존의 세 단계로 구성된 탐지 프로세스를 수행하기에 앞서, 탐지 히스토리 뱅크를 이용하여 사전 필터링(pre-filtering)을 수행한다.
사전 필터링에서, 새로운 메시지를 탐지 히스토리 뱅크에 저장되어 있는 기록들과 비교하여, 새로운 메시지가 이전에 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지인지 판단한다. 새로운 메시지가 이전에 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지이면, 그 새로운 메시지에 대해서는 기존의 세 단계로 구성된 탐지 프로세스의 수행을 스킵하고, 그 새로운 메시지에 대한 기록을 탐지 히스토리 뱅크에 저장한 후 바로 차단 액션 단계로 진입한다. 즉, 새로운 메시지가 이전에 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지이면, 그 새로운 메시지는 보안 위협과 관련된 네트워크 메시지로 간주된다. 따라서 불필요한 탐지 기법들의 적용을 스킵하여 전체 연산속도를 높임으로써 시스템 전체의 스루풋(throughput)을 향상시킬 수 있다. 이하에서 설명하는 바와 같이, 메시지들이 동일하다는 의미는 비트 레벨에서 메시지 프레임 전체가 서로 동일함을 가리키며, 메시지들이 유사하다는 의미는 비트 레벨에서 메시지 프레임을 구성하는 일부 필드가 동일함을 가리키는 것으로 이해될 수 있다.
보안 위협 메시지들에 대한 기록을 탐지 히스토리 뱅크에 저장하는 데에는 다양한 방식이 적용될 수 있다. 일 예로서, 저장 공간이 충분한 경우에 적합한 방식으로서, 보안 위협 메시지의 프레임 전체를 탐지 히스토리 뱅크에 저장할 수 있다. 이 경우, 사전 필터링 단계에서는 새롭게 들어온 메시지와 비교 시 비트스트림 전체를 비교할 수도 있고, 프레임 내의 데이터 필드(data field), 중재 필드(arbitration field), 제어 필드(control field) 등 일부 필드를 선별적으로 비교할 수도 있다. 다른 예로서, 보안 위협 메시지의 프레임 내의 데이터 필드(data field), 중재 필드(arbitration field), 제어 필드(control field) 등 일부 필드만을 선별적으로 히스토리 뱅크에 저장할 수도 있다.
또한, 검색 효율성을 높이기 위해서, 탐지 히스토리 뱅크는 다음과 같이 운용될 수 있다. 예컨대, 탐지 히스토리 뱅크에 저장된 보안 위협 메시지마다 고유의 카운터(counter)가 할당될 수 있다. 새롭게 탐지된 보안 위협 메시지가 이미 히스토리 뱅크에 저장된 메시지와 동일하거나 유사할 때마다 그 메시지의 카운터는 1씩 증가된다. 탐지 히스토리 뱅크에서 메시지들은 카운터 값을 기준으로 내림차순으로 정렬될 수 있다. 따라서, 탐지 히스토리 뱅크에는, 차량 네트워크에 자주 출현하는 보안 위협 메시지에 대한 기록이 상위에, 가끔 출현하는 보안 위협 메시지에 대한 기록이 하위에 위치하게 된다. 이는 사전 필터링에서 탐지 히스토리 뱅크에 저장된 기록들에 대한 접근 속도를 향상시킨다.
제 2 실시예 - 시간적 연관성 기반 적응적 탐지
악의적인 공격은 시간에 따라 다른 공격 방식으로 시도되기 보다는, 일반적으로 유사한 방식의 공격이 연속적으로 시도될 가능성이 높다. 따라서, 전술한 세 가지 탐지 기법 중에서 어떤 탐지 기법이 공격 메시지를 탐지하였다면, 그 탐지 기법은 그 이후에 연이어 시도되는 공격 메시지들에 대해서도 탐지에 성공할 가능성이 높다. 이러한 시간적 연관성에 기반하여, 적응적으로 탐지 기법들의 적용 순서를 변경하는 기법을 제안한다.
도 4는 본 발명의 일 실시예에 따른 탐지 기법들의 적용 순서를 적응적으로 변경하는 기법의 일 예를 설명하기 위한 개념도이다. 도 4를 참조하면, t=t0에서 메시지 큐로부터 출력된 제1메시지에 대해 "정적 탐지→오용 탐지→변칙 탐지" 순으로 탐지 절차가 수행된다. 제1메시지가 오용 탐지 단계에서 공격 메시지로 탐지되었다고 가정하자. 그러면 t= t0+1에서 메시지 큐로부터 출력된 제2메시지에 대해서는 오용 탐지 기법이 정적 탐지 기법보다 먼저 적용된다. 만약 t=t0+1에서 제2메시지가 변칙 탐지 단계에서 공격 메시지가 탐지되었다면, t=t0+2에서 메시지 큐로부터 출력된 제3메시지에 대해 변칙 탐지 기법이 정적 탐지 기법과 그 적용 순서를 서로 자리바꿈하게 된다.
도 4의 예시에서는 이전 타이밍에서 보안 위협 메시지를 탐지한 기법에만 의존하여 탐지 기법들의 적용 순서가 뒤바뀌는 방식을 예로 들었지만, 각 탐지 기법마다 카운트를 할당하고, 어떤 기법에서 탐지가 성공할 때마다 관련된 카운터를 증가시키고, 누적된 카운터의 값에 따라 내림차순으로 탐지 기법들의 적용 순서를 정렬하는 방법도 가능하다.
제 3 실시예 - 병렬 프로세스 탐지 방법
본 방법은 복수의 탐지 기법들을 순차적으로 적용하는 대신에 병렬적으로 적용하는 것이다. 즉, 병렬 프로세싱을 통해 탐지 속도를 개선한다.
도 5는 본 발명의 일 실시예에 따른, 세 개의 상이한 탐지 기법들을 병렬적으로 적용하는 방법을 설명하기 위한 개념도이다. 도 5를 참조하면, 서로 상이한 탐지 기법들을 사용하는 세 개의 스레드(thread)가 동시에(concurrently) 실행되며, 메시지 큐에 저장되어 있던 CAN 메시지는 세 개의 스레드에 동시에 입력된다. 이로써 CAN 메시지에 대해 세 개의 상이한 탐지 기법들이 병렬적으로 적용된다. 도 5의 예시에서, 스레드 1는 정적 탐지를 수행하며, 스레드 2는 오용 탐지를 수행하며, 스레드 3는 변칙 탐지를 수행한다.
모든 스레드의 탐지 기법을 통과하면, CAN 메시지는 ECU의 응용 소프트웨어 컴포넌트로 전달된다. 어느 하나의 스레드의 탐지 기법이라도 통과하는 데 실패하면, CAN 메시지는 ECU의 응용 소프트웨어 컴포넌트로의 전달이 차단될 수 있다.
세 개의 스레드는 서로 상이한 탐지 기법을 사용하는 바, 프로세싱 속도 역시 서로 상이할 수 있다. 이에, 어느 하나의 스레드라도 먼저 fail이라는 결과가 나오면(즉, CAN 메시지가 어느 하나의 스레드의 탐지 기법이라도 통과하는 데 실패하면), 리소스를 낭비하지 않기 위해, 다른 스레드들의 동작을 중지시키고 바로 후처리(post process) 단계로 진입할 수 있도록 설계되는 것이 바람직하다. 이를 위해, 스레드들간에는 다른 스레드를 중지시키기 위한 시그널링, 즉 인터럽트 신호(interrupt signal)의 전송을 위한 채널이 제공될 수 있다.
세 개의 스레드는 처리하는 CAN 메시지의 'pass' 또는 'fail'을 알리는 파라미터(혹은 지시자)를 사용할 수 있다. 세 개의 스레드는 메시지 큐로부터 CAN 메시지가 입력되면, 파라미터 P1, P2, P3를 모두 0으로 설정할 수 있다. 각 스레드는, CAN 메시지가 자신의 탐지 기법을 통과하면, 파라미터 Px를 각각 1로 설정할 수 있다. 이후 모든 스레드가 종료된 후 모든 파라미터 Px값이 1일 경우에만 ECU의 응용 소프트웨어 컴포넌트로 CAN 메시지를 전달하게 될 수 있다.
이와 같이 CAN 메시지에 서로 상이한 기법들을 병렬적으로 적용함으로써, 도 2에 예시된 순차적인 적용 방식에 비해 전체 탐지 프로세스를 빠르게 완료할 수 있으며, 공격 메시지에 대한 빠른 대응이 가능하다.
이하 도 6 내지 도 9를 참조하여, 전술한 방법들을 채용한 IDS 혹은 IDPS의 동작 방법들을 설명한다.
도 6은 본 발명의 일 실시예에 따른 IDS(혹은 IDPS)의 동작 방법을 도시한 흐름도이다.
도 6에 도시된 바와 같이, IDS는 차량 내 네트워크로부터 수집된 새로운 네트워크 메시지가 보안 위협과 관련된 것으로 기 탐지된 네트워크 메시지와 동일 혹은 유사한 메시지인지 여부를 판단한다(S610). 이를 위해, IDS는, 기 탐지된 보안 위협 메시지를 식별하는 정보를 기록한 데이터베이스를 조회하여, 새로운 네트워크 메시지가 기 탐지된 보안 위협 메시지를 식별하는 정보에 상응하는 정보를 가지고 있는지 여부를 판단할 수 있다. 기 탐지된 보안 위협 메시지를 식별하는 정보는 보안 위협 메시지의 프레임 전체 또는 프레임의 일부 필드일 수 있다.
새로운 네트워크 메시지가 기 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지가 아니면(S620에서 '아니오'), IDS는, 새로운 네트워크 메시지에 대해 복수의 탐지 기법들을 적용하여, 새로운 네트워크 메시지가 보안 위협과 관련된 네트워크 메시지인지 여부를 결정한다(S630). 복수의 탐지 기법들은 정적 탐지, 오용 탐지, 및 변칙 탐지를 포함한다.
새로운 네트워크 메시지가 기 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지이면(S620에서 '예'), IDS는, 새로운 네트워크 메시지에 대해, 상기 복수의 탐지 기법의 적용을 스킵하고, 곧바로 새로운 네트워크 메시지를 보안 위협과 관련된 네트워크 메시지로 결정(간주)한다(S640).
도 7은 본 발명의 다른 실시예에 따른 IDS(혹은 IDPS)의 동작 방법을 도시한 흐름도이다.
도 7을 참조하면, IDS는 차량 내 네트워크로부터 수집된 네트워크 메시지들 중에서 보안 위협과 관련된 네트워크 메시지의 탐지에 성공한 탐지 성공 이력을 기초로, 차량 내 네트워크로부터 수집되는 새로운 네트워크 메시지에 대해 적용할 복수의 탐지 기법들의 적용 순서를 결정한다(S710). 복수의 탐지 기법들은 정적 탐지, 오용 탐지, 및 변칙 탐지를 포함한다. IDS는 보안 위협과 관련된 네트워크 메시지를 탐지하는 데에 성공한 탐지 기법이 다른 탐지 기법들에 비해 우선 적용되도록 복수의 탐지 기법들의 적용 순서를 변경할 수 있다. IDS는, 각 탐지 기법 별로, 보안 위협과 관련된 네트워크 메시지를 탐지하는 데 성공한 누적 횟수를 카운트하고, 각 탐지 기법별 누적 횟수의 내림 차순으로 탐지 기법들을 적용순서를 변경할 수 있다.
IDS는, 차량 내 네트워크로부터 수집되는 새로운 네트워크 메시지에 대해, 결정된 적용 순서에 따라 상기 탐지 기법들을 적용하여, 새로운 네트워크 메시지가 보안 위협과 관련된 네트워크 메시지인지 여부를 결정한다(S720).
도 8은 본 발명의 또 다른 실시예에 따른 IDS(혹은 IDPS)의 동작 방법을 도시한 흐름도이다.
IDS는, 차량 내 네트워크로부터 수집된 네트워크 메시지에 대해, 복수의 탐지 기법들의 적용을 병렬적으로 개시한다(S810). 이는, 일 예로서, 서로 상이한 탐지 기법들을 사용하는 복수의 스레드(thread)들을 동시에(concurrently) 실행하고, 수집된 네트워크 메시지를 복수의 스레드에 각각 입력함으로써 달성될 수 있다. 복수의 탐지 기법들은 정적 탐지, 오용 탐지, 및 변칙 탐지를 포함한다.
병렬적으로 적용된 복수의 탐지 기법들 중에서 어느 하나의 탐지 기법이 수집된 네트워크 메시지를 보안 위협과 관련된 네트워크 메시지로 결정하는 것에 응답하여, IDS는 수집된 네트워크 메시지에 대한 나머지 탐지 기법들의 적용을 중단한다(S820). 이를 위해, 일 예로서, 수집된 네트워크 메시지를 보안 위협과 관련된 네트워크 메시지로 결정한 스레드는 다른 스레드들에게 인터럽트 신호를 전송하고, 다른 스레드들은 인터럽트 신호의 수신에 응답하여 자신의 실행을 종료한다.
상기 복수의 탐지 기법들 모두가 상기 네트워크 메시지를 보안 위협과 관련된 네트워크 메시지가 아니라고 결정하는 것에 응답하여, IDS는 상기 네트워크 메시지가 애플리케이션 영역으로 전달되는 것을 허용할 수 있다.
이하에서는, 위와 같은 IDPS 혹은 IDS를 AUTOSAR (Automotive Open System Architecture) 기반의 소프트웨어 아키텍처를 가지는 전자 제어 장치(Electronic Control Unit: ECU)에 구현하기 위한 다양한 방법들을 기술한다.
먼저, 도 9를 참조하여, ECU의 AUTOSAR 기반의 소프트웨어 아키텍처를 간략히 살펴본다. 도 9는 AUTOSAR 기반의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다.
AUTOSAR의 소프트웨어 아키텍처는 크게 응용 소프트웨어(Application Software: ASW) 계층, 런-타임 환경(Run Time Environment: RTE) 및 기본 소프트웨어(Basic Software: BSW) 계층으로 구분된 계층화된 구조를 가진다. 즉, RTE 개념을 도입하여 응용 소프트웨어와 하드웨어 관련 소프트웨어인 BSW를 분리함으로써, 하드웨어에 독립적인 응용 소프트웨어를 개발할 수 있게 한다. 특히, BSW는 서비스 계층(Services Layer), ECU 추상화 계층(ECU Abstraction Layer: EAL), 마이크로컨트롤러 추상화 계층(Microcontroller Abstraction Layer: MCAL), CDD(Complex Device Driver) 계층으로 세분화되어 구성된다.
Service 계층은 메모리, 통신 네트워크, 시스템 등의 서비스 기능을 수행하는 모듈들이 존재한다. 통신 네트워크 서비스 측면에서, 하부의 통신 하드웨어에 대한 의존성이 제거한 통일된 인터페이스를 제공하기 위해, CAN/LIN/FlexRay 통신 네트워크에 대한 NM(Network manager), SM(State Manager), TP(Transport), DCOM(Diagnostic Communication Manager), COM(Communication), PDU Router(PDUR) 등의 모듈들이 존재한다. 특히 메시지들로 구성된 신호들의 라우팅을 담당하는 PDUR 상위에 COM(Communication) 모듈이 존재하고 이는 RTE에 통일된 통신 방식을 제공한다.
MCAL 영역은, 하드웨어 의존성이 가진 소프트웨어 모듈들로서, OSI의 데이터 링크 계층의 통신 드라이버, ADC, PWM, DIO 등의 아날로그 디지털 I/O 드라이버, EEPROM, Flash 등의 메모리 드라이버, 주변장치 마이크로 컨트롤러의 장치 드라이버 등으로 구성된다. CDD 영역은, 표준화 되지 못한, 파워트레인의 연료주사, 전자밸브 제어, 미션 제어 등의 영역에서 사용된다.
BSW의 각 층을 이루고 있는 여러 모듈들 중에서 통신에 관련된 모듈들의 집합을 통신 스택(Communication Stack: Com-Stack)이라고 부른다. 도 6에는, 이해의 편의를 위해, Com-Stack 중에서도 CAN(Controller Area Network) 관련 모듈들 위주로 도시되어 있다. CAN 메시지의 전달에 관여되는 BSW의 모듈들은 COM(Communication), PDU Router(Protocol Data Unit Router: PDUR), CAN Interface(CAN IF), CAN Driver(CAN Drv) 등이다.
ASW 계층의 소프트웨어 컴포넌트(즉, ECU APP)가 CAN 네트워크에 데이터를 보내는 경우, 데이터는 RTE, COM, PduR, 및 CAN IF를 거친 후 CAN Drv에서 CAN Bus로 전송된다. 이렇게 전송된 데이터는 CAN Bus에 연결되어 있는 모든 ECU의 CAN Drv에서 수신하게 되며, CAN Drv는 CAN ID(Message ID)를 확인하여 자신이 수신해야 할 데이터이면 CAN IF, PDUR, COM, 및 RTE를 거쳐 응용 소프트웨어 콤포넌트(ECU APP)로 전달하게 된다.
이제, 도 9에 예시된 AUTOSAR 기반의 소프트웨어 아키텍처에 대해 IDPS를 탑재하기 위한 다양한 방법들을 설명한다. 이하에서 설명되는 방법들은 IDS를 탑재하는 데에도 실질적으로 동일하게 적용될 수 있다.
전술한 정적 탐지(Static detection)는 메시지(message) 단위로 수행되며, 오용 탐지(Misuse detection)와 변칙 탐지(anomaly detection)는 시그널(signal) 단위로 수행된다. 또한, 오용 탐지(Misuse detection)와 변칙 탐지(anomaly detection)는 정적 탐지에 대비되는 동적 탐지로 지칭될 수 있다. 이하의 설명에서, 용어 '정적 탐지'와 '메시지 단위의 탐지'는 상호 호환적으로 사용될 수 있으며, 용어 '동적 탐지'와 '시그널 단위의 탐지'는 상호 호환적으로 사용될 수 있다.
제 1 실시예 - 병렬 탐지 후 차단 신호 전송 방법
도 10은 본 발명의 일 실시예에 따른 IDPS가 탑재된 ECU의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다. 도 10에 도시된 바와 같이, 본 실시예에서, 정적 탐지(메시지 단위의 탐지)를 수행하는 IDPS 모듈이 CDD 영역에 탑재된다. 동적 탐지(시그널 단위의 탐지)를 수행하는 IDPS 모듈은 CDD 영역 혹은 ASW 영역에 탑재될 수 있다.
본 실시예에서, Com-Stack상의 전형적인 CAN 메시지 처리 절차는 그대로 유지되고, MCAL 영역의 CAN Drv에서 CDD 영역의 IDPS 모듈로 CAN 메시지를 전달하면서 탐지가 시작된다. CDD 영역의 IDPS 모듈에 CAN 메시지가 전달되면 IDPS 모듈은 정적 탐지를 수행한다. 만약 CDD 영역에 IDPS의 동적 탐지 모듈이 포함되어 있다면, 정적 탐지와 동적 탐지가 동시에 수행될 수 있다. 정적 및 동적 탐지에서 CAN 메시지가 보안 위협과 관련된 메시지로 판단되면, IDPS 모듈은 PDUR 모듈로 메시지 차단 요청 신호를 전달한다.
CAN 메시지 처리 절차에 따라 CAN 메시지가 CAN IF로부터 PDUR 모듈로 전달 되기 전에 메시지 차단 요청 신호가 PDUR 모듈에 도착한다면, CAN 메시지는 PDUR 모듈에서 차단될 수 있다. 반면, 메시지 차단 요청 신호보다 CAN 메시지가 PDUR에 먼저 도착하면, CAN 메시지의 차단은 이루어지지 않는다.
본 실시예의 기법은 CAN 메시지 처리 절차를 그대로 유지하므로, CAN 메시지 처리 절차에 지연을 가하지 않고도, 보안 위협 메시지의 차단을 가능하게 한다. 그러나 동적 탐지를 수행하기 위한 CDD 영역의 리소스 부하가 크다. 또한 IDPS에서 PDUR 모듈로 메시지 차단 요청 신호를 전송하기 위해 추가적인 인터페이스가 필요하다. 그리고 보안 위협 메시지의 차단을 이루기 위해서는 PDUR 모듈에 CAN 메시지가 도착하기 전에 메시지 차단 요청 신호가 먼저 도착해야 한다. 따라서 탐지 처리가 오래 걸리면 차단이 불가능할 수 있다.
제 2 실시예 - 병렬 탐지 전용 방법
도 11은 본 발명의 다른 실시예에 따른 IDPS가 탑재된 ECU의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다. 도 11에 도시된 바와 같이, 본 실시예에서, CAN 메시지들이 큐잉되는 IDPS 메시지 큐가 CDD 영역에 형성되고, 정적 탐지와 동적 탐지를 수행하는 IDPS 탐지 모듈이 응용 소프트웨어(ASW) 영역에 탑재된다.
본 실시예에서는 Com-Stack상의 전형적인 CAN 메시지 처리 절차는 그대로 유지되고, MCAL영역의 CAN Driver에서 CDD영역의 IDPS 큐잉 모듈로 CAN 메시지를 전달된다. IDPS 메시지 큐에 CAN 메시지가 저장되면, ASW 영역의 IDPS 탐지 모듈은 메시지 큐로부터 CAN 메시지를 전달받아 탐지를 수행한다. ASW 영역의 IDPS 탐지 모듈들은 정적 탐지와 동적 탐지를 동시에 수행할 수 있다. 본 방법은 메시지 지연이 없다는 장점이 있으나 탐지만 가능하다는 단점이 있다.
제 3 실시예 - 메시지 인터럽트 차단 방식
도 12는 본 발명의 또 다른 실시예에 따른 IDPS가 탑재된 ECU의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다.
본 실시예에서는, Com-Stack상의 CAN 메시지 처리 절차에서 MCAL 영역의 CAN Drv에서 EAL영역의 CAN IF로 전달되는 CAN 메시지를 CDD영역의 IDPS가 인터럽트 하면서 탐지가 시작된다. CDD영역의 IDPS 탐지 모듈에 CAN 메시지가 전달되면 IDPS탐지 모듈은 정적 탐지를 수행한다. IDPS의 동적 탐지 모듈은 CDD 영역 혹은 ASW 영역에 임베딩(embedding)될 수 있는 바, 만약 CDD 영역에 IDPS의 동적 탐지 모듈이 포함되어 있다면, CDD 영역에서는 정적 탐지와 동적 탐지가 동시에 수행될 수 있다. 정적 및/또는 동적 탐지에서 보안 위협 메시지를 탐지하면 IDPS 탐지 모듈은 EAL 영역의 CAN IF 모듈로 CAN 메시지를 전달하지 않는다. CAN 메시지가 전달되지 않으므로 기존 CAN 메시지 처리 절차가 더 이상 수행되지 않는다.
본 실시예의 구현 예는 보안 위협 메시지의 차단 성공 확률이 높은 장점이 있다. 그러나 인터럽트 사용에 따른 메시지 지연이 발생하고 IDPS에서 CAN IF로 CAN 메시지 전달을 위해 추가적인 인터페이스가 필요하다. 또한 CDD 영역에서 동적 탐지가 가능하나 부하가 크다는 단점이 있다.
제 4 실시예 - AutoSAR 모듈 수정 방법
도 13은 본 발명의 또 다른 실시예에 따른 IDPS가 탑재된 ECU의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다.
본 실시예에서는 기존 AUTOSAR 플랫폼에서 정의된 CAN IF 모듈에서 정적 탐지를 수행하고 COM 서비스 모듈에서 동적 탐지를 수행한다. 본 방법은 AUTOSAR 플랫폼의 Com-Stack을 구성하는 표준화된 모듈(즉, CAN IF 및 COM)을 변형하므로 CDD 영역을 사용하는 경우와 달리 인터럽트가 불필요하며, 보안 위협 메시지의 탐지 및 차단이 가능하다는 장점이 있다. 그러나 전체 메시지 처리 절차에 지연이 발생할 수 있으며 AUTOSAR 플랫폼의 표준화된 모듈(즉, CAN IF 및 COM) 내부에 IDPS 모듈 구현을 위해서 관련 파티들과의 협업이 필요하다.
제 5 실시예 - 멀티코어 전용 드라이버 사용 방법
도 14는 본 발명의 또 다른 실시예에 따른 IDPS가 탑재된 ECU의 소프트웨어 아키텍처를 개략적으로 도시한 도면이다.
본 실시예에서는 Com-Stack상의 CAN 메시지 처리 절차는 그대로 진행되고 MCAL 영역의 CAN Drv에서 IDPS 전용 코어(제 2 코어)의 공유 메모리(shared memory)로 CAN 메시지를 전달하면서 탐지가 시작된다. CAN 메시지가 전달되면 IDPS는 정적 탐지 및 동적 탐지를 (동시에) 수행한다. 본 실시예의 장점은 CAN 메시지 처리 절차에 지연을 부가하지 않으며, 별도 코어(제 2 코어)를 이용하므로 기존의 CAN 메시지 처리 절차가 진행되는 제 1 코어에 부하를 적게 준다는 장점이 있다. 그러나 구현에 따른 비용이 높으며 탐지만 가능하다는 단점이 있다.
제 6 실시예 - Bit Stumping을 통한 보안 위협 메시지 차단 방법
비트 스텀핑(Bit Stumping)은 보안 위협 메시지를 탐지하였을 때 기존의 점유된 버스상에 강제로 신호를 송신하여 메시지 프레임 오류를 유발함으로써 보안 위협 메시지를 무효화 시키는 차단 방법으로 사용할 수 있다. 이러한 보안 위협 메시지 차단 방법은 도 10 내지 도 14를 참조하여 설명한 방법들과 각각 결합 가능하다.
도 15는 비트 스텀핑(Bit Stumping)을 적용하기 위한 도 10의 소프트웨어 아키텍처(제 1 실시예)의 변형예이다. Bit Stumping을 사용하기 위해서는, 도 15에 보인 바와 같이, IDPS에서 CAN 버스로 연결되는 추가적인 하드웨어(즉, 입출력 포트(I/O 포트))가 필요하다.
전술한 예시적인 실시예들은 많은 상이한 방식들로 구현될 수 있다는 것을 이해해야 한다. 일부 예들에서, 본 개시에서 설명된 다양한 방법들, 장치들, 시스템들은 프로세서, 메모리, 통신 인터페이스 등을 가지는 전자 제어 장치, 게이트웨이 등에 의해 구현되거나 이들에 포함될 수도 있다. 예컨대, 전자 제어 장치는 소프트웨어 명령어들을 프로세서에 로딩한 다음, 본 개시에 설명된 기능을 수행하기 위해 명령어들을 실행함으로써 상술한 방법을 실행하는 장치로 기능할 수 있다.
한편, 본 개시에서 설명된 다양한 방법들은 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는 비일시적 기록매체에 저장된 명령어들로 구현될 수도 있다. 비일시적 기록매체는, 예를 들어, 컴퓨터 시스템에 의하여 판독가능한 형태로 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 예를 들어, 비일시적 기록매체는 EPROM(erasable programmable read only memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리, 광학 드라이브, 자기 하드 드라이브, 솔리드 스테이트 드라이브(SSD)와 같은 저장매체를 포함한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2017년 12월 19일 미국에 출원한 US 62/607,595에 대해 우선권을 주장한다.
Claims (20)
- 차량 내 네트워크에 보안을 제공하는 방법에 있어서,차량 내 네트워크로부터 수집된 새로운 네트워크 메시지가 기 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지인지 여부를 판단하는 단계; 및상기 새로운 네트워크 메시지가 상기 기 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지이면, 상기 새로운 네트워크 메시지에 대해, 복수의 탐지 기법의 적용을 스킵하고, 곧바로 상기 새로운 네트워크 메시지를 보안 위협 메시지로 간주하는 단계를 포함하는, 방법.
- 제 1 항에 있어서,상기 새로운 네트워크 메시지가 상기 기 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지가 아니면, 상기 새로운 네트워크 메시지에 대해 상기 복수의 탐지 기법들을 적용하여, 상기 새로운 네트워크 메시지가 보안 위협 메시지인지 여부를 결정하는 단계를 더 포함하는, 방법.
- 제 2 항에 있어서,상기 새로운 네트워크 메시지가 상기 기 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지인지 여부를 판단하는 단계는,상기 기 탐지된 보안 위협 메시지를 식별하는 정보를 기록한 데이터베이스를 조회하는 단계;상기 새로운 네트워크 메시지가 상기 기 탐지된 보안 위협 메시지를 식별하는 정보에 상응하는 정보를 가지고 있는지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는, 방법.
- 제 3 항에 있어서,상기 새로운 네트워크 메시지를 상기 보안 위협 메시지로 결정하거나 간주하는 것에 응답하여, 상기 데이터베이스를 업데이트하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
- 제 3 항에 있어서,상기 데이터베이스에 기록된 상기 기 탐지된 보안 위협 메시지를 식별하는 정보는,상기 기 탐지된 보안 위협 메시지의 프레임 전체 또는 프레임의 일부 필드인 것을 특징으로 하는, 방법.
- 제 1 항에 있어서,상기 차량 내 네트워크는 CAN(Controller Area Network) 네트워크인 것을 특징으로 하는, 방법.
- 제 1 항에 있어서,상기 복수의 탐지 기법들은,정적 탐지(static detection), 오용 탐지(misuse detection), 및 변칙 탐지(anomaly detection)를 포함하는 것을 특징으로 하는, 방법.
- 차량 내 네트워크에 보안을 제공하는 방법에 있어서,차량 내 네트워크로부터 수집되는 새로운 네트워크 메시지에 대해 적용할 복수의 탐지 기법들의 적용 순서를 결정하는 단계; 및상기 새로운 네트워크 메시지에 대해, 상기 결정된 적용 순서에 따라 상기 복수의 탐지 기법들을 적용하여, 상기 새로운 네트워크 메시지가 보안 위협 메시지인지 여부를 결정하는 단계를 포함하는, 방법.
- 제 8 항에 있어서,상기 복수의 탐지 기법들의 적용 순서는,상기 차량 내 네트워크로부터 기 수집된 적어도 하나의 네트워크 메시지에 대해 적용된 상기 복수의 탐지 기법들의 탐지 이력을 기초로 결정되는 것을 특징으로 하는, 방법.
- 제 8 항에 있어서,상기 복수의 탐지 기법들의 적용 순서를 결정하는 단계는,상기 보안 위협 메시지를 탐지하는 데에 성공한 탐지 기법이 다른 탐지 기법들에 비해 우선 적용되도록 상기 복수의 탐지 기법들의 적용 순서를 변경하는 단계를 포함하는 것을 특징으로 하는, 방법.
- 제 8 항에 있어서,상기 복수의 탐지 기법들의 적용 순서를 결정하는 단계는,각 탐지 기법 별로, 상기 보안 위협 메시지를 탐지하는 데 성공한 누적 횟수를 카운트하는 단계; 및상기 각 탐지 기법별 누적 횟수의 내림 차순으로, 상기 복수의 탐지 기법들을 적용순서를 변경하는 단계를 포함하는, 방법.
- 제 8 항에 있어서,상기 복수의 탐지 기법들은,정적 탐지, 오용 탐지, 및 변칙 탐지를 포함하는 것을 특징으로 하는, 방법.
- 차량 내 네트워크에 보안을 제공하는 방법에 있어서,차량 내 네트워크로부터 수집된 네트워크 메시지에 대해, 복수의 탐지 기법들의 적용을 병렬적으로 개시하는 단계; 및상기 복수의 탐지 기법들 중에서 어느 하나의 탐지 기법이 상기 수집된 네트워크 메시지를 보안 위협 메시지로 결정하는 것에 응답하여, 상기 수집된 네트워크 메시지에 대한 나머지 탐지 기법들의 적용을 중단하는 단계를 포함하는, 방법.
- 제 13 항에 있어서,상기 복수의 탐지 기법들 모두가 상기 네트워크 메시지를 보안 위협 메시지가 아니라고 결정하는 것에 응답하여, 상기 네트워크 메시지가 응용 소프트웨어로 전달되는 것을 허용하는 단계를 더 포함하는, 방법.
- 제 13 항에 있어서,상기 복수의 탐지 기법들의 적용을 병렬적으로 개시하는 단계는,서로 상이한 탐지 기법들을 사용하는 복수의 스레드(thread)들을 동시에(concurrently) 실행하는 단계; 및상기 수집된 네트워크 메시지를 상기 복수의 스레드에 각각 입력하는 단계를 포함하는 것을 특징으로 하는, 방법.
- 제 15 항에 있어서,상기 복수의 스레드들 각각은,상기 수집된 네트워크 메시지를 보안 위협 메시지로 결정하는 것에 응답하여 다른 스레드들에게 인터럽트 신호를 전송하고, 다른 스레드들로부터 수신되는 인터럽트 신호에 응답하여 자신의 실행을 종료하도록 구성된 것을 특징으로 하는, 방법.
- 제 13 항에 있어서,상기 복수의 탐지 기법들은,정적 탐지, 오용 탐지, 및 변칙 탐지를 포함하는 것을 특징으로 하는, 방법.
- 차량 내 네트워크에 보안을 제공하는 전자 장치로서,하나 이상의 프로세서; 및명령어들이 저장된 메모리를 포함하되, 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 전자 장치로 하여금,차량 내 네트워크로부터 수집된 새로운 네트워크 메시지가 기 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지인지 여부를 판단하는 단계; 및상기 새로운 네트워크 메시지가 상기 기 탐지된 보안 위협 메시지와 동일 혹은 유사한 메시지이면, 상기 새로운 네트워크 메시지에 대해, 복수의 탐지 기법의 적용을 스킵하고, 곧바로 상기 새로운 네트워크 메시지를 보안 위협 메시지로 간주하는 단계를 수행하도록 하는, 전자 장치.
- 차량 내 네트워크에 보안을 제공하는 전자 장치로서,하나 이상의 프로세서; 및명령어들이 저장된 메모리를 포함하되, 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 전자 장치로 하여금,차량 내 네트워크로부터 수집되는 새로운 네트워크 메시지에 대해 적용할 복수의 탐지 기법들의 적용 순서를 결정하는 단계; 및상기 새로운 네트워크 메시지에 대해, 상기 결정된 적용 순서에 따라 상기 복수의 탐지 기법들을 적용하여, 상기 새로운 네트워크 메시지가 보안 위협 메시지인지 여부를 결정하는 단계를 수행하도록 하는, 전자 장치.
- 차량 내 네트워크에 보안을 제공하는 전자 장치로서,하나 이상의 프로세서; 및명령어들이 저장된 메모리를 포함하되, 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 전자 장치로 하여금,차량 내 네트워크로부터 수집된 네트워크 메시지에 대해, 복수의 탐지 기법들의 적용을 병렬적으로 개시하는 단계; 및상기 복수의 탐지 기법들 중에서 어느 하나의 탐지 기법이 상기 수집된 네트워크 메시지를 보안 위협 메시지로 결정하는 것에 응답하여, 상기 수집된 네트워크 메시지에 대한 나머지 탐지 기법들의 적용을 중단하는 단계를 수행하도록 하는, 전자 장치.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18890045.0A EP3726796A4 (en) | 2017-12-19 | 2018-12-19 | SYSTEM AND METHOD FOR PROVIDING A SECURE VEHICLE NETWORK |
KR1020207015068A KR102642863B1 (ko) | 2017-12-19 | 2018-12-19 | 차량 내 네트워크에 보안을 제공하는 시스템 및 방법 |
US16/769,779 US11729183B2 (en) | 2017-12-19 | 2018-12-19 | System and method for providing secure in-vehicle network |
CN201880078471.0A CN111448787B (zh) | 2017-12-19 | 2018-12-19 | 用于提供安全的车载网络的系统及方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762607595P | 2017-12-19 | 2017-12-19 | |
US62/607,595 | 2017-12-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019124976A1 true WO2019124976A1 (ko) | 2019-06-27 |
Family
ID=66994939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/016243 WO2019124976A1 (ko) | 2017-12-19 | 2018-12-19 | 차량 내 네트워크에 보안을 제공하는 시스템 및 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11729183B2 (ko) |
EP (1) | EP3726796A4 (ko) |
KR (1) | KR102642863B1 (ko) |
CN (1) | CN111448787B (ko) |
WO (1) | WO2019124976A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7269955B2 (ja) * | 2018-11-30 | 2023-05-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 車両ログ送信装置、車両ログ解析サーバおよび車両ログ解析システム |
US11539724B2 (en) * | 2019-12-17 | 2022-12-27 | Upstream Security, Ltd. | Centralized detection techniques for cyber-attacks directed at connected vehicles |
CN111953575A (zh) * | 2020-07-31 | 2020-11-17 | 中科领目(常州)智能科技有限公司 | 一种适用于异构多核芯片的can协议栈系统及配置方法 |
US11310270B1 (en) * | 2020-10-14 | 2022-04-19 | Expel, Inc. | Systems and methods for intelligent phishing threat detection and phishing threat remediation in a cyber security threat detection and mitigation platform |
KR102471960B1 (ko) * | 2020-11-18 | 2022-11-30 | 한국자동차연구원 | 차량용 can 통신 보안 장치 및 방법 |
FR3121528A1 (fr) * | 2021-03-30 | 2022-10-07 | Psa Automobiles Sa | Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule |
FR3122748B1 (fr) * | 2021-05-06 | 2024-03-08 | Psa Automobiles Sa | Procédé et dispositif de protection contre une intrusion sur un bus de données d’un véhicule |
KR102481219B1 (ko) | 2022-01-25 | 2022-12-26 | 쌍용자동차 주식회사 | 차량 보안 관리서버를 이용한 차량 소프트웨어 업데이트 시스템 및 방법 |
CN118041617B (zh) * | 2024-02-04 | 2024-07-23 | 山东大通前沿电子科技股份有限公司 | 一种基于互联网的网站安全智能管理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227689A1 (en) * | 2012-02-17 | 2013-08-29 | Tt Government Solutions, Inc. | Method and system for packet acquisition, analysis and intrusion detection in field area networks |
KR20150073176A (ko) * | 2012-10-17 | 2015-06-30 | 타워-섹 리미티드 | 차량에 대한 공격의 검출 및 예방을 위한 디바이스 |
US20160205117A1 (en) * | 2015-01-13 | 2016-07-14 | GM Global Technology Operations LLC | Method and system for reflectometry based communication network monitoring, intrusion detection, and message authentication |
US20170013005A1 (en) * | 2015-06-29 | 2017-01-12 | Argus Cyber Security Ltd. | System and method for consistency based anomaly detection in an in-vehicle communication network |
US20170286675A1 (en) * | 2016-04-01 | 2017-10-05 | The Regents Of The University Of Michigan | Fingerprinting Electronic Control Units For Vehicle Intrusion Detection |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2432934B (en) * | 2006-03-14 | 2007-12-19 | Streamshield Networks Ltd | A method and apparatus for providing network security |
US8832836B2 (en) * | 2010-12-30 | 2014-09-09 | Verisign, Inc. | Systems and methods for malware detection and scanning |
US9183385B2 (en) * | 2012-08-22 | 2015-11-10 | International Business Machines Corporation | Automated feedback for proposed security rules |
JP6342748B2 (ja) * | 2014-08-22 | 2018-06-13 | 株式会社日立製作所 | セキュリティ設計支援装置およびセキュリティ設計支援方法 |
US11165851B2 (en) * | 2015-06-29 | 2021-11-02 | Argus Cyber Security Ltd. | System and method for providing security to a communication network |
JP6173541B2 (ja) * | 2015-10-09 | 2017-08-02 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | セキュリティ装置、攻撃検知方法及びプログラム |
CN107305717A (zh) * | 2016-04-21 | 2017-10-31 | 北京新岸线数字图像技术有限公司 | 一种纸币识别检测方法及装置 |
US10262137B1 (en) * | 2016-06-30 | 2019-04-16 | Symantec Corporation | Security recommendations based on incidents of malware |
CN106878130B (zh) | 2017-03-14 | 2020-06-09 | 成都雅骏新能源汽车科技股份有限公司 | 一种电动汽车can网络异常检测方法及装置 |
CN109150846B (zh) | 2018-07-27 | 2021-08-17 | 北京梆梆安全科技有限公司 | 车辆入侵检测方法及车辆入侵检测装置 |
-
2018
- 2018-12-19 US US16/769,779 patent/US11729183B2/en active Active
- 2018-12-19 EP EP18890045.0A patent/EP3726796A4/en active Pending
- 2018-12-19 KR KR1020207015068A patent/KR102642863B1/ko active IP Right Grant
- 2018-12-19 CN CN201880078471.0A patent/CN111448787B/zh active Active
- 2018-12-19 WO PCT/KR2018/016243 patent/WO2019124976A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227689A1 (en) * | 2012-02-17 | 2013-08-29 | Tt Government Solutions, Inc. | Method and system for packet acquisition, analysis and intrusion detection in field area networks |
KR20150073176A (ko) * | 2012-10-17 | 2015-06-30 | 타워-섹 리미티드 | 차량에 대한 공격의 검출 및 예방을 위한 디바이스 |
US20160205117A1 (en) * | 2015-01-13 | 2016-07-14 | GM Global Technology Operations LLC | Method and system for reflectometry based communication network monitoring, intrusion detection, and message authentication |
US20170013005A1 (en) * | 2015-06-29 | 2017-01-12 | Argus Cyber Security Ltd. | System and method for consistency based anomaly detection in an in-vehicle communication network |
US20170286675A1 (en) * | 2016-04-01 | 2017-10-05 | The Regents Of The University Of Michigan | Fingerprinting Electronic Control Units For Vehicle Intrusion Detection |
Non-Patent Citations (1)
Title |
---|
See also references of EP3726796A4 * |
Also Published As
Publication number | Publication date |
---|---|
CN111448787A (zh) | 2020-07-24 |
CN111448787B (zh) | 2024-02-06 |
EP3726796A4 (en) | 2022-01-19 |
US20210176259A1 (en) | 2021-06-10 |
EP3726796A1 (en) | 2020-10-21 |
KR102642863B1 (ko) | 2024-02-29 |
US11729183B2 (en) | 2023-08-15 |
KR20200090788A (ko) | 2020-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019124976A1 (ko) | 차량 내 네트워크에 보안을 제공하는 시스템 및 방법 | |
WO2019146976A1 (ko) | 차량 내 네트워크에 보안을 제공하는 시스템 및 방법 | |
EP3373553B1 (en) | System and method for providing cyber security to an in-vehicle network | |
US10625694B2 (en) | Bus watchman | |
WO2021162473A1 (ko) | 차량 내 네트워크에 대한 침입 탐지를 위한 시스템 및 방법 | |
US20180300477A1 (en) | In-vehicle cyber protection | |
JP6846706B2 (ja) | 監視装置、監視方法およびコンピュータプログラム | |
KR20190125047A (ko) | 차량용 네트워크의 침입 대응 장치 및 방법 | |
WO2017034072A1 (ko) | 네트워크 보안 시스템 및 보안 방법 | |
WO2021131193A1 (ja) | 攻撃監視用センター装置、及び攻撃監視用端末装置 | |
CN111066001A (zh) | 日志输出方法、日志输出装置以及程序 | |
Bozdal et al. | Hardware trojan enabled denial of service attack on can bus | |
Kwon et al. | Mitigation mechanism against in-vehicle network intrusion by reconfiguring ECU and disabling attack packet | |
Jeon et al. | A study on traffic characteristics for anomaly detection of Ethernet-based IVN | |
Chen et al. | Classified security protection evaluation for vehicle information system | |
KR20210103972A (ko) | 차량 내 네트워크에 대한 침입 탐지를 위한 시스템 및 방법 | |
WO2014107028A1 (ko) | 악성코드 침입 방지시스템 및 악성코드 침입 방지시스템의 동작 방법 | |
WO2024158069A1 (ko) | 메일 보안 방화벽 장치 및 그 동작 방법 | |
WO2024172190A1 (ko) | 차량 내부 네트워크의 보안을 평가하기 위한 방법 | |
US11356471B2 (en) | System and method for defending a network against cyber-threats | |
Rashmi | Intrusion Detection System: An Approach to Autonomous Vehicles | |
WO2020013354A1 (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: 18890045 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018890045 Country of ref document: EP Effective date: 20200720 |