WO2020013354A1 - Method for operating in-vehicle firewall - Google Patents

Method for operating in-vehicle firewall Download PDF

Info

Publication number
WO2020013354A1
WO2020013354A1 PCT/KR2018/007791 KR2018007791W WO2020013354A1 WO 2020013354 A1 WO2020013354 A1 WO 2020013354A1 KR 2018007791 W KR2018007791 W KR 2018007791W WO 2020013354 A1 WO2020013354 A1 WO 2020013354A1
Authority
WO
WIPO (PCT)
Prior art keywords
firewall
data
vehicle
hooking
packet
Prior art date
Application number
PCT/KR2018/007791
Other languages
French (fr)
Korean (ko)
Inventor
나상혁
김건우
강병훈
Original Assignee
엘지전자 주식회사
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사, 한국과학기술원 filed Critical 엘지전자 주식회사
Priority to PCT/KR2018/007791 priority Critical patent/WO2020013354A1/en
Publication of WO2020013354A1 publication Critical patent/WO2020013354A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators

Definitions

  • the present invention relates to a method of operating a vehicle firewall.
  • FIG 1 illustrates various paths through which programs of the battlefield system may be threatened from various hacking attack attempts, and security threats that may be caused by malicious code invading the battlefield system.
  • An object of the present invention is to provide a method of operating a vehicle firewall that can protect a vehicle from various hacking attacks in order to solve the above problems.
  • the operation method of the vehicle firewall by hooking the data transmitted by at least one program used in the battlefield system to determine whether or not a hacking attack.
  • FIG 1 illustrates various paths through which applications of the battlefield system may be threatened from various hacking attack attempts, and security threats that may be caused by malicious code invading the battlefield system.
  • FIG. 2 is a view referred to for explaining a firewall according to the prior art.
  • FIG 3 is a view referred to for explaining a method of operating a vehicle firewall according to an embodiment of the present invention.
  • FIG. 4 is a diagram referred to describe a vehicle firewall according to an embodiment of the present invention.
  • FIG. 5 is a diagram referred to for describing the TCP / IP layer.
  • FIG 1 illustrates various paths through which applications of the battlefield system may be threatened from various hacking attack attempts, and security threats that may be caused by malicious code invading the battlefield system.
  • Exploit Any software can be vulnerable to a developer error. These security vulnerabilities, in particular, increase in size and complexity of the software, and also increase the risk if the software processes arbitrary data that is not trusted. Potential exploit threats must be considered when applications in vehicle electronics systems access untrusted data through Internet Access. An exploit is not a detectable attack at the network level, but it allows an attacker to carry out additional attacks involving a secondary network level.
  • DNS Hijacking is one of the most important services in using the Internet, but it is relatively weak from hacking attacks. Services that use an unencrypted network can be easily exposed to hacking attacks such as phishing from DNS hijacking attacks. Even if the service performs secure communication encrypted by TLS, DNS hijacking attacks can be performed without authenticating the certificate. Additional verification at the firewall level is needed because it can be vulnerable
  • XSS Cross Site Scripting
  • SQL Injection attacks are usually attacks on server applications that run DataBase rather than client-side applications. However, if the battlefield system is infected with malicious code through exploit, etc., the battlefield system application becomes a zombie for executing SQL Injection, and may be exploited in the secondary attack. Considering this secondary attack possibility, it is necessary to protect against SQL Injection. In a network-based security solution such as a general web firewall, a check for SQL Injection attack is one of the essential elements.
  • a smart firewall system that considers the application characteristics of the vehicle user, in addition to the general regular expression (Regex) -based firewall rules in consideration of the special environment of the vehicle electronic system, not protection for general-purpose applications I would like to propose.
  • Table 1 shows the limitations of existing firewalls. In order to generate the detection rules for the attack models assumed in the patent based on machine learning, access to accurate training data through deep packet inspection (DPI) is required.
  • DPI deep packet inspection
  • DPI introduces a high performance load, and for some protocols it is not possible due to problems such as encoding and encryption.
  • the external firewall when encrypted communication using SSL (secure sockets layer), the external firewall not only needs to have a certificate to check the packet, but also causes a double decryption and decryption to generate a load.
  • SSL secure sockets layer
  • a special module (In-Host Firewall) that operates in conjunction with an external network firewall (for example, a second firewall) inside an application by using protected programs developed exclusively for an electronic system. You want to insert additional.
  • an external network firewall for example, a second firewall
  • the In-Host module effectively solves two problems in DPI.
  • In-Host module internal API is additionally provided for encryption / encoding related libraries such as SSL and GZip, and when the application is used in accordance with the specified specification, the plain text data before encryption / encoding at the API level is easily verified. can do.
  • plaintext packets can be inspected over encrypted communication, and different rulesets can be applied to each application, thereby significantly improving the detection rate.
  • the in-host module works by hooking the application programming interface (API) used by Applicaton, so there is no need to modify or recompile the source of the original application.
  • API application programming interface
  • a kernel module was additionally inserted to detect unauthorized networks by attack codes.
  • the kernel module considers each memory area to be an independent memory object, and may have separate permissions and related tasks.
  • the special module, the In-Host Firewall, or the In-Host module of the present specification may be understood as a first firewall.
  • FIG. 2 is a view referred to for explaining a firewall according to the prior art.
  • the firewall in FIG. 2 illustrates a firewall in the case of a network connection via a terminal (eg, desktop, laptop, smartphone, etc.) according to the prior art.
  • a terminal eg, desktop, laptop, smartphone, etc.
  • the firewall 200 may include a transport layer (520 of FIG. 5) and an internet layer (FIG. 5) of a TCP / IP layer (Transmission Control Protocol / Internet Protocol Layer). 530), the data abnormality is checked.
  • a transport layer 520 of FIG. 5
  • an internet layer FOG. 5
  • TCP / IP layer Transmission Control Protocol / Internet Protocol Layer
  • the firewall 200 checks only the headers or tails of the encrypted data packets 211 and 212 by the uniform ruleset. In this case, the firewall 200 cannot check the path (eg, router, data transmission / reception application) source, contents, etc. of the data packets 211 and 212. Since the firewall 200 is limited and uniformly checks for data anomalies, the firewall 200 has limitations as shown in Table 1 above.
  • FIG 3 is a view referred to for explaining a method of operating a vehicle firewall according to an embodiment of the present invention.
  • FIG. 4 is a diagram referred to describe a vehicle firewall according to an embodiment of the present invention.
  • FIG. 5 is a diagram referred to for describing the TCP / IP layer.
  • the vehicle firewall 400 may be implemented in software.
  • the vehicle firewall 400 may be implemented with hardware (for example, a processor) in which software is embedded.
  • Processors include ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), processors (processors), controllers It may be implemented using at least one of micro-controllers, microprocessors, and electrical units for performing other functions.
  • the method S300 of operating the vehicle firewall 400 includes hooking data (S310), determining whether a hacking attack is performed by the first firewall 401 (S320), and a second firewall 490. It may include a step of determining whether the hacking attack by (S330).
  • Hooking data may be performed by the first firewall 401 or the kernel module 402.
  • the first firewall 401 or the kernel module 402 may hook at least one data.
  • the first firewall 401 or kernel module 402 can hook data before the data is sent to the second firewall 490.
  • the first firewall 401 or kernel module 402 can hook unencrypted data.
  • the first firewall 401 or kernel module 402 may hook a demultiplexed packet.
  • the step of hooking (S310) may include hooking a demultiplexed packet.
  • the at least one data hooked may be data 411 and 421 transmitted by the at least one application 410 or 420 used in the electronic system provided in the vehicle to a device outside the vehicle in the electronic system of the vehicle. .
  • the at least one hooked data 411 and 421 may be data received by a device outside the vehicle from the device outside the vehicle to the battlefield system of the vehicle.
  • the step of hooking (S310) may include receiving encrypted data from an external device, decrypting the received data, and hooking a formatted packet of the decrypted data.
  • the hooking step S310 may be hooked through a system call related to a network socket.
  • the first firewall 401 or the kernel module 402 may hook a system call by a send function in user space.
  • Network sockets may be defined as endpoints of interprocess communication via a computer network.
  • the system call may be defined as an interface for accessing a kernel module at the request of an application for a service provided by the kernel module 402.
  • the hooking step S310 may be performed through the kernel module 402.
  • Determining whether or not the hacking attack on the data may be performed by the first firewall 401.
  • the first firewall 401 may determine whether a hacking attack on the hooked data is applied by applying a preset ruleset.
  • the determining step S320 may include applying the ruleset to the demultiplexed packets 411 and 421.
  • the kernel module 402 may provide data and information of an application associated with the data together.
  • the information of the application may include at least one of a right of the application (eg, a right of reading a specific memory space, a writing right, a right to execute), a name of the application, and a path of the application.
  • the ruleset may be set based on a protocol applied to the deserialized packets 411 and 421.
  • the applying step may include examining data based on whether the formatted packet is in violation of the protocol.
  • the first firewall 401 may determine whether the first plain culture packet 411 is in violation of the first protocol applied to the first plain culture packet 411. It is possible to determine whether or not a hacking attack against the 411).
  • the first firewall 402 may determine whether the second plain culture packet 421 is in violation of the second protocol applied to the second plain culture packet 421. It may be determined whether a hacking attack is performed on the 421.
  • the first firewall 401 may determine whether a hacking attack is applied by applying individual rulesets according to individual data.
  • the protocol may be at least one of doIP, someIP, doIP-sd, someIP-sd, http, dns, ftp, https, tls, and ssl.
  • the ruleset may be set based on the application information.
  • the applying may include checking the data based on the authority information of the application corresponding to the decoded packet. For example, based on whether the first data 411 includes operation information that violates the authority of the first application 410 corresponding to the first data 411, the first firewall 401 may further include the first firewall 401. 1 may determine whether a hacking attack on the data (411).
  • the first firewall 401 may be configured based on whether the second data 421 includes operation information that violates the winding of the second application 420 corresponding to the second data 421. 2 may determine whether a hacking attack on the data (421).
  • the first data 411 may be data transmitted from the inside of the vehicle to the outside of the vehicle or received from the outside of the vehicle by the first application 410.
  • the second data 421 may be data transmitted from the inside of the vehicle to the outside of the vehicle or received from the outside of the vehicle by the second application 420.
  • the application layer (510 of FIG. 5) of the TCP / IP layer may determine whether a hacking attack is performed.
  • the first firewall 401 may determine whether the attack is a hacking attack based on the protocol or the authorization information of the application, thereby determining whether the hacking attack is performed in the application layer 510. By determining the hacking attack at the application layer, the detection rate accuracy of the hacking attack is improved.
  • the hacking attack may be determined based on the unencrypted data.
  • the first firewall 401 may determine whether the hacking attack is on the unencrypted data.
  • the method S300 of operating a vehicle firewall may further include bypassing data to the second firewall when it is determined that the hacking attack has not occurred in the determining operation S320.
  • the second firewall 490 may determine whether the hacking attack is performed on the data in at least one of the transport layer and the Internet layer of the TCP / IP layer (S330). It may further include.
  • the second firewall 490 may determine whether the second firewall 490 is a hacking attack.
  • the vehicle firewall 400 may include a first firewall 401, a second firewall 490, and a kernel module 402.
  • the kernel module 402 may be classified into a subcomponent of the first firewall 401 or a component separate from the first firewall 401.
  • the first firewall 401 may be implemented in software.
  • the first firewall 401 may be implemented in hardware.
  • the first firewall 401 may be installed in the processor.
  • the processor may perform an operation of the first firewall 401.
  • the processor may perform the above-described hooking step S310 and the determining step S320.
  • the second firewall 490 may be implemented in software.
  • the second firewall 490 may be implemented in hardware.
  • the second firewall 490 may be installed in the processor.
  • the processor may perform an operation of the second firewall 490.
  • the processor may perform the above-described determination step (S330).
  • the kernel module 402 may be implemented as a memory.
  • the memory may mean random access memory (RAM).
  • the applications 410 and 420 may be installed in a read only memory (ROM) and loaded into RAM according to management of the kernel module 402.
  • the kernel module 402 may obtain and provide application information.
  • the present invention described above can be embodied as computer readable codes on a medium in which a program is recorded.
  • the computer-readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include hard disk drives (HDDs), solid state disks (SSDs), silicon disk drives (SDDs), ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and the like. This also includes implementations in the form of carrier waves (eg, transmission over the Internet).
  • the computer may also include a processor or a controller. Accordingly, the above detailed description should not be construed as limiting in all aspects and should be considered as illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

Abstract

The present invention relates to a method for operating an in-vehicle firewall, the method comprising the steps of: hooking, by a first firewall, at least one piece of data which is transmitted via at least one program used by an electronic system provided in a vehicle before the data reaches a second firewall; and applying, by the first firewall, a predetermined ruleset to the data to determine whether the data is attacked by hacking.

Description

차량용 방화벽의 동작 방법 How a car firewall works
본 발명은 차량용 방화벽의 동작 방법에 관한 것이다. The present invention relates to a method of operating a vehicle firewall.
차량에 구비되는 여러 전장 시스템에서 이용되는 여러 프로그램들은 인터넷에 접속 가능하게 구현된다. 이는 곧 애플리케이션들이 소프트웨어 취약점 등에 기인한 잠재적 보안위협에 노출됨을 의미한다. Various programs used in various electric field systems provided in vehicles are implemented to be connected to the Internet. This means that applications are exposed to potential security threats due to software vulnerabilities.
도 1은 전장 시스템의 프로그램이 각종 해킹 공격 시도로부터 위협을 받을 수 있는 다양한 경로 및 전장시스템 상에 침입한 악성코드가 유발할 수 있는 보안 위협 요소들을 나타낸다.1 illustrates various paths through which programs of the battlefield system may be threatened from various hacking attack attempts, and security threats that may be caused by malicious code invading the battlefield system.
차량에 대한 해킹 공격은 탑승자나 차량 주변의 보행자 등의 안전에 중대한 위협이 될 수 있다.Hacking attacks against vehicles can pose a significant threat to the safety of occupants and pedestrians around the vehicle.
본 발명은 상기한 문제점을 해결하기 위하여, 여러가지의 해킹 공격으로부터 차량을 보호할 수 있는 차량용 방화벽의 동작 방법을 제공하는데 목적이 있다.An object of the present invention is to provide a method of operating a vehicle firewall that can protect a vehicle from various hacking attacks in order to solve the above problems.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.
상기 과제를 달성하기 위하여, 본 발명의 실시예에 따른 차량용 방화벽의 동작 방법은, 전장 시스템에서 이용되는 적어도 하나의 프로그램에 의해 전송되는 데이터를 후킹하여 해킹 공격 여부를 판단한다.In order to achieve the above object, the operation method of the vehicle firewall according to an embodiment of the present invention, by hooking the data transmitted by at least one program used in the battlefield system to determine whether or not a hacking attack.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and the drawings.
본 발명에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.According to the present invention has one or more of the following effects.
첫째, 차량에서 송수신되는 모든 데이터에 대해 해킹 공격 여부를 판단할 수 있어 해킹 공격의 위협을 극복하는 효과가 있다.First, it is possible to determine whether a hacking attack for all data transmitted and received from the vehicle has the effect of overcoming the threat of hacking attacks.
둘째, 평문화된 패킷을 검사함에 따라 각 애플리케이션 별로 다른 룰셋을 적용할 수 있어 탐지율이 향상되는 효과가 있다.Second, by inspecting the plain packetized packet, different rulesets can be applied to each application, thereby improving the detection rate.
셋째, 암호화되지 않은 데이터를 검사함에 따라 보다 재컴파일을 할 필요가 없어지는 효과가 있다.Third, there is no need to recompile more data by inspecting unencrypted data.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.
도 1은 전장 시스템의 애플리케이션 이 각종 해킹공격 시도로부터 위협을 받을 수 있는 다양한 경로 및 전장시스템 상에 침입한 악성코드가 유발할 수 있는 보안 위협 요소들을 나타낸다.1 illustrates various paths through which applications of the battlefield system may be threatened from various hacking attack attempts, and security threats that may be caused by malicious code invading the battlefield system.
도 2는 종래 기술에 따른 방화벽을 설명하는데 참조되는 도면이다.2 is a view referred to for explaining a firewall according to the prior art.
도 3은 본 발명의 실시예에 따른 차량용 방화벽의 동작 방법을 설명하는데 참조되는 도면이다.3 is a view referred to for explaining a method of operating a vehicle firewall according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 차량용 방화벽을 설명하는데 참조되는 도면이다.4 is a diagram referred to describe a vehicle firewall according to an embodiment of the present invention.
도 5는 TCP/IP 레이어를 설명하는데 참조되는 도면이다.5 is a diagram referred to for describing the TCP / IP layer.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings, and the same or similar components are denoted by the same reference numerals regardless of the reference numerals, and redundant description thereof will be omitted. The suffixes "module" and "unit" for components used in the following description are given or used in consideration of ease of specification, and do not have distinct meanings or roles from each other. In addition, in describing the embodiments disclosed herein, when it is determined that the detailed description of the related known technology may obscure the gist of the embodiments disclosed herein, the detailed description thereof will be omitted. In addition, the accompanying drawings are intended to facilitate understanding of the embodiments disclosed herein, but are not limited to the technical spirit disclosed in the present specification by the accompanying drawings, all changes included in the spirit and scope of the present invention. It should be understood to include equivalents and substitutes.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Singular expressions include plural expressions unless the context clearly indicates otherwise.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this application, the terms "comprises" or "having" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
본 명세서에서, 애플리케이션과 프로그램은 혼용되어 사용될 수 있다. 본 명세서에서 애플리케이션 또는 프로그램은 애플리케이션 프로그램을 지칭한다.In this specification, applications and programs may be used interchangeably. In the present specification, an application or program refers to an application program.
도 1은 전장 시스템의 애플리케이션 이 각종 해킹공격 시도로부터 위협을 받을 수 있는 다양한 경로 및 전장시스템 상에 침입한 악성코드가 유발할 수 있는 보안 위협 요소들을 나타낸다.1 illustrates various paths through which applications of the battlefield system may be threatened from various hacking attack attempts, and security threats that may be caused by malicious code invading the battlefield system.
도 1을 참조하면, 전장 시스템의 애플리케이션이 노출 될 수 있는 다양한 해킹 공격 패턴들은 다음과 같다.Referring to FIG. 1, various hacking attack patterns to which applications of the battlefield system may be exposed are as follows.
1. 익스플로잇(Exploit): 어떠한 소프트웨어도 개발자의 실수로 인해 보안 취약점을 지닐 수 있다. 이러한 보안취약점은 특히 소프트웨어의 규모가 크고 복잡해질수록, 또한 소프트웨어가 신뢰할 수 없는 임의의 데이터를 처리하는 경우 그 위험성이 높아지게 된다. 차량 전장 시스템에 존재하는 애플리케이션 들이 Internet Access 를 통해 신뢰할 수 없는 데이터를 접근하는 경우 잠재적인 Exploit 공격 위협은 반드시 고려되어야 한다. 익스플로잇은 네트워크 레벨에서 탐지 가능한 공격이 아니지만, 공격자로 하여금 2차적인 네트워크 레벨을 수반하는 추가 공격들을 수행할 수 있게 한다.1. Exploit: Any software can be vulnerable to a developer error. These security vulnerabilities, in particular, increase in size and complexity of the software, and also increase the risk if the software processes arbitrary data that is not trusted. Potential exploit threats must be considered when applications in vehicle electronics systems access untrusted data through Internet Access. An exploit is not a detectable attack at the network level, but it allows an attacker to carry out additional attacks involving a secondary network level.
2. DNS Hijacking: DNS 는 인터넷을 사용함에 있어서 가장 중요한 서비스 중에 하나이지만, 해킹 공격으로부터 상대적으로 취약한 부분이다. 암호화되지 않은 네트워크를 사용하는 서비스는 손쉽게 DNS Hijacking 공격으로부터 Phishing 등의 해킹 공격에 노출 될 수 있으며, 비록 TLS 로 암호화된 Secure 통신을 하는 서비스인 경우라도, 인증서를 확실하게 검증하지 않으면, DNS Hijacking 공격으로부터 취약 할 수 있기 때문에 방화벽 레벨에서의 추가 검증이 필요하다. 2. DNS Hijacking: DNS is one of the most important services in using the Internet, but it is relatively weak from hacking attacks. Services that use an unencrypted network can be easily exposed to hacking attacks such as phishing from DNS hijacking attacks. Even if the service performs secure communication encrypted by TLS, DNS hijacking attacks can be performed without authenticating the certificate. Additional verification at the firewall level is needed because it can be vulnerable
3. XSS(Cross Site Scripting): XSS는 HTTP 서비스를 이용하는 Client 에 잠재적으로 존재할 수 있는 취약성이다. 이 취약성은 공격자로 하여금 HTTP 세션을 가로채어 인증되지 않은 공격자가 민감한 정보를 탈취할 수 있는 통로를 제공한다. 현재의 차량 전장 시스템 에서 HTTP 에 기반하여 Client Scripting 기능을 수행하는 애플리케이션 (예: 웹브라우저) 은 XSS 공격에 대한 보호를 받아야 한다. 이는 시스템 자체의 보안성 강화 및 방화벽 레벨에서의 추가 검사를 통해 이루어질 수 있다.3. Cross Site Scripting (XSS): XSS is a potential vulnerability in Clients using HTTP services. The vulnerability could allow an attacker to intercept HTTP sessions and allow an unauthorized attacker to steal sensitive information. In the current automotive electronics system, applications (eg web browsers) that perform Client Scripting based on HTTP should be protected against XSS attacks. This can be done through enhanced security of the system itself and further inspection at the firewall level.
4. SQLi: SQL Injection 공격은 일반적으로 Client 측 애플리케이션 보다, DataBase 를 운용하는 서버 애플리케이션 에 대한 공격이다. 그러나 Exploit 등을 통해서 전장 시스템이 악성코드에 감염된 경우, 전장 시스템 애플리케이션 이 SQL Injection 수행을 위한 zombie 가 되어, 2차적인 공격에 악용될 가능성이 있다. 이러한 2차적인 공격 가능성을 고려하여, SQL Injection 에 대한 보호가 필요하다. 일반적인 웹 방화벽 등의 네트워크기반 보안 솔루션에서 SQL Injection 공격에 대한 검사는 필수적으로 수행해야 하는 요소 중 하나이다. 4. SQLi: SQL Injection attacks are usually attacks on server applications that run DataBase rather than client-side applications. However, if the battlefield system is infected with malicious code through exploit, etc., the battlefield system application becomes a zombie for executing SQL Injection, and may be exploited in the secondary attack. Considering this secondary attack possibility, it is necessary to protect against SQL Injection. In a network-based security solution such as a general web firewall, a check for SQL Injection attack is one of the essential elements.
HTTPS통신을 통해 암호화된 통신을 수행한다면 네트워크 레벨의 공격 중에서도 DNS 변조, XSS, SQL Injection 등과 같은 하이 레벨 시맨틱(High-level Semantic) 을 갖는 공격들은 기존의 스노트 룰(Snort Rule) 등과 같은 Packet Header Inspection 레벨의 방화벽으로는 대응할 수 없다.If encrypted communication is performed through HTTPS communication, high-level semantic attacks such as DNS tampering, XSS, SQL Injection, etc., among the network level attacks, are used for packet headers such as the Snort Rule. Inspection level firewalls cannot cope.
이러한 공격들은 애플리케이션 방화벽 (예: 웹 방화벽)을 통해 대응할 수 있는데, 기존의 애플리케이션 방화벽 은 범용적인 목적으로 Internet Access 를 하는 프로그램들을 대상으로 디자인 되어있기 때문에, 탐지 룰이 특정 수준 이상으로 구체적이거나 특화될 수 없으며, Regex 등을 통한 패턴매칭 정도를 이용하는 것으로 설계 되어있다. These attacks can be countered by application firewalls (such as web firewalls). Because traditional application firewalls are designed for programs that use Internet Access for general purposes, detection rules may be more specific or specific. It is designed to use pattern matching through Regex.
본 발명에 따른 실시예에서는, 범용 애플리케이션 에 대한 보호가 아닌, 차량 전장 시스템이라는 특수한 환경을 감안하여 일반적인 정규 표현식(Regex) 기반의 방화벽 룰에서 더 나아가, 차량 사용자의 애플리케이션 특성을 고려하는 스마트 방화벽 시스템을 제안 하고자 한다.In the embodiment according to the present invention, a smart firewall system that considers the application characteristics of the vehicle user, in addition to the general regular expression (Regex) -based firewall rules in consideration of the special environment of the vehicle electronic system, not protection for general-purpose applications I would like to propose.
표 1
Figure PCTKR2018007791-appb-T000001
Table 1
Figure PCTKR2018007791-appb-T000001
[표 1] 기존 App Firewall 솔루션의 한계점[Table 1] Limitations of Existing App Firewall Solution
[표 1]은 현재 기존 방화벽의 한계점을 보여준다. 본 특허에서 가정하는 공격모델들에 대한 탐지 룰을 머신러닝 기반하에 생성하기 위해서는 심층 패킷 분석(Deep Packet Inspection) (DPI) 를 통한 정확한 Training 데이터에 대한 접근이 요구된다. Table 1 shows the limitations of existing firewalls. In order to generate the detection rules for the attack models assumed in the patent based on machine learning, access to accurate training data through deep packet inspection (DPI) is required.
그러나 네트워크 레벨에서 DPI 는 높은 성능 부하문제를 야기하며, 또한 일부 프로토콜에 대해서는 인코딩 및 암호화 등의 문제로 가용하지 않은 경우도 존재한다. However, at the network level, DPI introduces a high performance load, and for some protocols it is not possible due to problems such as encoding and encryption.
또한 SSL(secure sockets layer)을 이용한 암호화된 통신을 할 경우 외부 방화벽이 해당 Packet을 검사하기 위해서 인증서가 있어야 할 뿐 만 아니라 이중으로 암복호화를 하게 되어 부하가 발생하게 된다. In addition, when encrypted communication using SSL (secure sockets layer), the external firewall not only needs to have a certificate to check the packet, but also causes a double decryption and decryption to generate a load.
이 문제를 해결하기 위해, 본 특허에서는 보호대상 프로그램들이 전장시스템 전용으로 개발됨을 이용하여 애플리케이션 내부에 네트워크 외부 방화벽(예를 들면, 제2 방화벽)과 연동하여 동작하는 특수 모듈 (In-Host Firewall) 을 추가로 삽입하고자 한다. In order to solve this problem, in this patent, a special module (In-Host Firewall) that operates in conjunction with an external network firewall (for example, a second firewall) inside an application by using protected programs developed exclusively for an electronic system. You want to insert additional.
In-Host 모듈은 DPI 에서의 두가지 문제를 효과적으로 해결한다. The In-Host module effectively solves two problems in DPI.
첫째로, 네트워크레벨에서 조각화되서 전송되는 packet 을 어렵게 재조립 할 필요없이, 네트워크 I/O 를 하는 애플리케이션 의 근원지 코드부분에서 데이터가 조각화 되기 이전의 버퍼 위치를 토대로 애플리케이션 의 Semantic 과 함께 보다 정확하고 빠른 검사를 수행하는 것이다. First, it is more accurate and faster with the Semantic of the application based on the buffer location before the data is fragmented in the source code portion of the application that performs the network I / O, without having to reassemble the fragmented and transmitted packet at the network level. To perform the test.
이는 기존의 외부 방화벽(예를 들면, 제2 방화벽) 모듈쪽에서 packet 들을 재조립 할 필요가 없이 네트워크로 전송될 데이터를 손쉽게 검증 할 수 있도록 해준다. This makes it easy to verify the data to be sent to the network without having to reassemble packets on the existing external firewall (eg second firewall) module.
두번째로, 데이터 인코딩 및 암호화에 대한 문제를 해결할 수 있다. SSL 및 GZip 등의 암호화/인코딩 관련 라이브러리들에 대해서 In-Host 모듈 내부 API 를 추가로 제공하고 애플리케이션 이 이를 정해진 규격에 맞춰 이용하게되면 손쉽게 API 레벨에서 암호화/인코딩 되기 전의 평문 데이터에 대한 검증을 수행할 수 있다. Second, the problem of data encoding and encryption can be solved. In-Host module internal API is additionally provided for encryption / encoding related libraries such as SSL and GZip, and when the application is used in accordance with the specified specification, the plain text data before encryption / encoding at the API level is easily verified. can do.
기존의 애플리케이션 은 일반적으로 SSL 등의 라이브러리를 사용하여, 데이터를 암호화 한 뒤 네트워크 통신을 하거나, 또는 평문 데이터를 그대로 TCP 상으로 전송할때에 애플리케이션 부적인 사용규약이 존재하거나 별도의 중앙모듈을 거치지않는다. Existing applications generally use libraries such as SSL to encrypt data and then communicate with the network, or to transmit plain text data over TCP. .
그러나 본 발명에 의한 실시예에서 스마트 방화벽 시스템을 적용하기 위해서는 전상시스템의 애플리케이션 이 어떠한 종류의 네트워크 통신을 할 때라도, 반드시 In-Host 모듈을 거쳐서 주어진 룰셋(Ruleset)에 의거해 검사를 받게 된다. However, in the embodiment of the present invention, in order to apply the smart firewall system, when the application of the system is any kind of network communication, it must be inspected based on the given rule set through the In-Host module.
그 결과, 암호화된 통신상에서도 평문(plaintext)화된 패킷을 검사할 수 있으며, 각 애플리케이션 별로 다른 룰셋을 적용할 수 있게 되어 탐지율을 획기적으로 향상시킬 수 있다. As a result, plaintext packets can be inspected over encrypted communication, and different rulesets can be applied to each application, thereby significantly improving the detection rate.
In-host 모듈은 Applicaton이 사용하는 API(application programming interface)를 후킹함으로써 동작하기 때문에 원래애플리케이션의 소스를 수정하거나 재컴파일 할 필요가 없으며, 각 애플리케이션 특성에 맞게 구현할 수 있다.The in-host module works by hooking the application programming interface (API) used by Applicaton, so there is no need to modify or recompile the source of the original application.
또한, 공격 코드에 의한 비인가 네트워크 탐지를 위해 커널 모듈(kernel module)을 추가로 삽입하였다. In addition, a kernel module was additionally inserted to detect unauthorized networks by attack codes.
커널 모듈은 각 메모리 영역을 독립된 메모리 객체로 간주 영역별 권한 및 관련 작업을 별도로 가질 수 있다. The kernel module considers each memory area to be an independent memory object, and may have separate permissions and related tasks.
한편, 본 명세서의 특수 모듈, In-Host Firewall 또는 In-Host 모듈은 제1 방화벽으로 이해될 수 있다.Meanwhile, the special module, the In-Host Firewall, or the In-Host module of the present specification may be understood as a first firewall.
도 2는 종래 기술에 따른 방화벽을 설명하는데 참조되는 도면이다.2 is a view referred to for explaining a firewall according to the prior art.
도 2의 방화벽은, 종래 기술에 따른 단말기(예를 들면, 데스크 탑, 랩탑, 스마트 폰 등)를 통한 네트워크 접속의 경우의 방화벽을 예시한다.The firewall in FIG. 2 illustrates a firewall in the case of a network connection via a terminal (eg, desktop, laptop, smartphone, etc.) according to the prior art.
도 2를 참조하면, 방화벽(200)은, TCP/IP 레이어(Transmission Control Protocol / Internet Protocol Layer) 중, 트랜스포트 레이어(Transport layer)(도 5의 520)와 인터넷 레이어(Internet layer)(도 5의 530)에서, 데이터 이상을 검사한다.Referring to FIG. 2, the firewall 200 may include a transport layer (520 of FIG. 5) and an internet layer (FIG. 5) of a TCP / IP layer (Transmission Control Protocol / Internet Protocol Layer). 530), the data abnormality is checked.
방화벽(200)은, 획일화된 룰셋에 의해, 암호화된 데이터 패킷(211, 212)의 헤더나 테일만 검사한다. 이경우, 방화벽(200)은, 데이터 패킷(211, 212)의 경로(예를들면 라우터, 데이터 송수신 애플리케이션) 소스, 내용 등을 확인할 수 없다. 방화벽(200)이 제한적이고, 일률적으로 데이터 이상을 검사하기 때문에, 상기 표 1에서와 같은 한계점을 가진다.The firewall 200 checks only the headers or tails of the encrypted data packets 211 and 212 by the uniform ruleset. In this case, the firewall 200 cannot check the path (eg, router, data transmission / reception application) source, contents, etc. of the data packets 211 and 212. Since the firewall 200 is limited and uniformly checks for data anomalies, the firewall 200 has limitations as shown in Table 1 above.
이러한 한계점을 극복하기 위해, 본원 발명의 실시예에 의한 방화벽의 동작방법이 제안된다.In order to overcome this limitation, a method of operating a firewall according to an embodiment of the present invention is proposed.
도 3은 본 발명의 실시예에 따른 차량용 방화벽의 동작 방법을 설명하는데 참조되는 도면이다.3 is a view referred to for explaining a method of operating a vehicle firewall according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 차량용 방화벽을 설명하는데 참조되는 도면이다.4 is a diagram referred to describe a vehicle firewall according to an embodiment of the present invention.
도 5는 TCP/IP 레이어를 설명하는데 참조되는 도면이다.5 is a diagram referred to for describing the TCP / IP layer.
도면을 참조하면, 차량용 방화벽(400)은, 소프트웨어로 구현될 수 있다. 또는, 차량용 방화벽(400)는, 소프트웨어가 내장된 하드웨어(예를 들면, 프로세서)로 구현될 수 있다. 프로세서는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.Referring to the drawings, the vehicle firewall 400 may be implemented in software. Alternatively, the vehicle firewall 400 may be implemented with hardware (for example, a processor) in which software is embedded. Processors include ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), processors (processors), controllers It may be implemented using at least one of micro-controllers, microprocessors, and electrical units for performing other functions.
도 3을 참조하면, 차량용 방화벽(400)의 동작 방법(S300)은, 데이터를 후킹하는 단계(S310), 제1 방화벽(401)에 의한 해킹 공격 여부 판단 단계(S320) 및 제2 방화벽(490)에 의한 해킹 공격 여부 판단 단계(S330)를 포함할 수 있다.Referring to FIG. 3, the method S300 of operating the vehicle firewall 400 includes hooking data (S310), determining whether a hacking attack is performed by the first firewall 401 (S320), and a second firewall 490. It may include a step of determining whether the hacking attack by (S330).
데이터를 후킹하는 단계(S310)는, 제1 방화벽(401) 또는 커널 모듈(402)에 의해 수행될 수 있다.Hooking data (S310) may be performed by the first firewall 401 or the kernel module 402.
제1 방화벽(401) 또는 커널 모듈(402)은, 적어도 하나의 데이터를 후킹(hooking)할 수 있다. 예를 들면, 제1 방화벽(401) 또는 커널 모듈(402)은, 데이터가 제2 방화벽(490)에 전송되기 전에, 데이터를 후킹할 수 있다. 예를 들면, 제1 방화벽(401) 또는 커널 모듈(402)은, 암호화되지 않은 데이터를 후킹할 수 있다. 예를 들면, 제1 방화벽(401) 또는 커널 모듈(402)은, 평문화된 패킷을 후킹할 수 있다. 이경우, 후킹하는 단계(S310)는, 평문화된 패킷을 후킹하는 단계를 포함할 수 있다.The first firewall 401 or the kernel module 402 may hook at least one data. For example, the first firewall 401 or kernel module 402 can hook data before the data is sent to the second firewall 490. For example, the first firewall 401 or kernel module 402 can hook unencrypted data. For example, the first firewall 401 or kernel module 402 may hook a demultiplexed packet. In this case, the step of hooking (S310) may include hooking a demultiplexed packet.
후킹되는 적어도 하나의 데이터는, 차량에 구비되는 전장 시스템에서 이용되는 적어도 하나의 애플리케이션(410, 420)에 의해, 차량의 전장 시스템에서 차량 외부의 디바이스로 전송되는 데이터(411, 421)일 수 있다.The at least one data hooked may be data 411 and 421 transmitted by the at least one application 410 or 420 used in the electronic system provided in the vehicle to a device outside the vehicle in the electronic system of the vehicle. .
후킹되는 적어도 하나의 데이터(411, 421)는, 차량에 구비되는 전장 시스템에서 이용되는 적어도 하나의 애플리케이션에 의해, 차량 외부의 디바이스에서 차량 의 전장 시스템으로 수신되는 데이터일 수 있다. 이경우, 후킹하는 단계(S310)는, 외부 디바이스로부터, 암호화된 데이터를 수신하고, 수신된 데이터를 복호화하는 단계 및 상기 복호화된 데이터의 평문화된 패킷을 후킹하는 단계를 포함할 수 있다.The at least one hooked data 411 and 421 may be data received by a device outside the vehicle from the device outside the vehicle to the battlefield system of the vehicle. In this case, the step of hooking (S310) may include receiving encrypted data from an external device, decrypting the received data, and hooking a formatted packet of the decrypted data.
후킹하는 단계(S310)는, 네트워크 소켓(network socket)관련 시스템 콜(system call)을 통해 후킹할 수 있다. 제1 방화벽(401) 또는 커널 모듈(402)는, 유저 스페이스에서 센드 함수에 의한 시스템 콜을 후킹할 수 있다.The hooking step S310 may be hooked through a system call related to a network socket. The first firewall 401 or the kernel module 402 may hook a system call by a send function in user space.
네트워크 소켓은, 컴퓨터 네트워크를 경유하는 프로세스간 통신의 종착점으로 정의될 수 있다. 시스템 콜은 커널 모듈(402)이 제공하는 서비스에 대해 애플리케이션의 요청에 따라 커널 모듈에 접근하기 위한 인터페이스로 정의될 수 있다.Network sockets may be defined as endpoints of interprocess communication via a computer network. The system call may be defined as an interface for accessing a kernel module at the request of an application for a service provided by the kernel module 402.
상술한 바와 같이, 후킹하는 단계(S310)는, 커널 모듈(402)을 통해 이루어질 수 있다.As described above, the hooking step S310 may be performed through the kernel module 402.
데이터에 대한 해킹 공격 여부를 판단하는 단계(S320)는, 제1 방화벽(401)에 의해 수행될 수 있다.Determining whether or not the hacking attack on the data (S320) may be performed by the first firewall 401.
제1 방화벽(401)은, 기 설정된 룰셋(ruleset)을 적용하여 후킹된 데이터에 대한 해킹 공격 여부를 판단할 수 있다.The first firewall 401 may determine whether a hacking attack on the hooked data is applied by applying a preset ruleset.
판단하는 단계(S320)는, 룰셋을 평문화된 패킷(411, 421)에 적용하는 단계를 포함할 수 있다. The determining step S320 may include applying the ruleset to the demultiplexed packets 411 and 421.
한편, 커널 모듈(402)은, 데이터와 데이터와 연관된 애플리케이션의 정보를 함께 제공할 수 있다. 애플리케이션의 정보는, 애플리케이션의 권한(예를 들면, 특정 메모리 공간에 대한 읽기 권한, 쓰기 권한, 실행하기 권한), 애플리케이션의 이름 및 애플리케이션의 경로 중 적어도 어느 하나를 포함할 수 있다.Meanwhile, the kernel module 402 may provide data and information of an application associated with the data together. The information of the application may include at least one of a right of the application (eg, a right of reading a specific memory space, a writing right, a right to execute), a name of the application, and a path of the application.
룰셋은, 평문화된 패킷(411, 421)에 적용되는 프로토콜에 기초하여 설정될 수 있다. 이경우, 적용하는 단계는, 평문화된 패킷이 해당 프로토콜에 위반되는지 여부에 기초하여 데이터를 검사하는 단계를 포함할 수 있다. 예를 들면, 제1 방화벽(401)은, 제1 평문화 패킷(411)이, 제1 평문화 패킷(411)에 적용되는 제1 프로토콜에 위반되는지 여부에 기초하여, 제1 평문화 패킷(411)에 대한 해킹 공격 여부를 판단할 수 있다. 예를 들면, 제1 방화벽(402)은, 제2 평문화 패킷(421)이, 제2 평문화 패킷(421)에 적용되는 제2 프로토콜에 위반되는지 여부에 기초하여, 제2 평문화 패킷(421)에 대한 해킹 공격 여부를 판단할 수 있다. 이와 같이, 제1 방화벽(401)이 개별적 데이터에 따른 개별적 룰셋을 적용하여, 해킹 공격 여부를 판단할 수 있다.The ruleset may be set based on a protocol applied to the deserialized packets 411 and 421. In this case, the applying step may include examining data based on whether the formatted packet is in violation of the protocol. For example, the first firewall 401 may determine whether the first plain culture packet 411 is in violation of the first protocol applied to the first plain culture packet 411. It is possible to determine whether or not a hacking attack against the 411). For example, the first firewall 402 may determine whether the second plain culture packet 421 is in violation of the second protocol applied to the second plain culture packet 421. It may be determined whether a hacking attack is performed on the 421. As such, the first firewall 401 may determine whether a hacking attack is applied by applying individual rulesets according to individual data.
한편, 프로토콜은, doIP, someIP, doIP-sd, someIP-sd, http, dns, ftp, https, tls, ssl 중 적어도 어느 하나일 수 있다.The protocol may be at least one of doIP, someIP, doIP-sd, someIP-sd, http, dns, ftp, https, tls, and ssl.
룰셋은, 애플리케이션 정보에 기초하여 설정될 수 있다. 이경우, 적용하는 단계는, 평문화된 패킷에 대응되는 애플리케이션의 권한 정보에 기초하여 데이터를 검사하는 단계를 포함할 수 있다. 예를 들면, 제1 방화벽(401)은, 제1 데이터(411)가 제1 데이터(411)에 대응되는 제1 애플리케이션(410)의 권한에 위반되는 동작 정보를 포함하는지 여부에 기초하여, 제1 데이터(411)에 대한 해킹 공격 여부를 판단할 수 있다. 예를 들면, 제1 방화벽(401)은, 제2 데이터(421)가 제2 데이터(421)에 대응되는 제2 애플리케이션(420)의 권환에 위반되는 동작 정보를 포함하는지 여부에 기초하여, 제2 데이터(421)에 대한 해킹 공격 여부를 판단할 수 있다.The ruleset may be set based on the application information. In this case, the applying may include checking the data based on the authority information of the application corresponding to the decoded packet. For example, based on whether the first data 411 includes operation information that violates the authority of the first application 410 corresponding to the first data 411, the first firewall 401 may further include the first firewall 401. 1 may determine whether a hacking attack on the data (411). For example, the first firewall 401 may be configured based on whether the second data 421 includes operation information that violates the winding of the second application 420 corresponding to the second data 421. 2 may determine whether a hacking attack on the data (421).
한편, 제1 데이터(411)는, 제1 애플리케이션(410)에 의해, 차량 내부에서 차량 외부로 전송되거나 차량 외부로부터 차량 내부로 수신되는 데이터일 수 있다. 제2 데이터(421)는, 제2 애플리케이션(420)에 의해, 차량 내부에서 차량 외부로 전송되거나 차량 외부로부터 차량 내부로 수신되는 데이터일 수 있다.The first data 411 may be data transmitted from the inside of the vehicle to the outside of the vehicle or received from the outside of the vehicle by the first application 410. The second data 421 may be data transmitted from the inside of the vehicle to the outside of the vehicle or received from the outside of the vehicle by the second application 420.
판단하는 단계(S320)는, TCP/IP 레이어(Transmission Control Protocol / Internet Protocol Layer) 중 애플리케이션 레이어(도 5의 510) 단에서 해킹 공격 여부를 판단할 수 있다. 제1 방화벽(401)이, 프로토콜 또는 애플리케이션의 권한 정보에 기초하여 해킹 공격 여부를 판단함으로써, 애플리케이션 레이어(510) 단에서 해킹 공격 여부를 판단할 수 있게 된다. 애플리케이션 레이어 단에서의 해킹 공격 여부를 판단함으로써, 해킹 공격의 탐지율 정확도가 향상되는 효과가 있다.In the determining step S320, the application layer (510 of FIG. 5) of the TCP / IP layer may determine whether a hacking attack is performed. The first firewall 401 may determine whether the attack is a hacking attack based on the protocol or the authorization information of the application, thereby determining whether the hacking attack is performed in the application layer 510. By determining the hacking attack at the application layer, the detection rate accuracy of the hacking attack is improved.
판단하는 단계(S320)는, 암호화 되지 않은(decrypted) 데이터에 기초하여 해킹 공격 여부를 판단할 수 있다. 제1 방화벽(401)이, 평문화된 패킷에 대한 해킹 공격 여부를 판단함으로써, 암호화 되지 않은 데이터에 대한 해킹 공격 여부를 판단할 수 있게 된다.In the determining step S320, the hacking attack may be determined based on the unencrypted data. By determining whether the first firewall 401 is a hacking attack on the plain packetized packet, the first firewall 401 may determine whether the hacking attack is on the unencrypted data.
차량용 방화벽의 동작 방법(S300)은, 판단하는 단계(S320)에서 해킹 공격이 발생되지 않은 것으로 판단되는 경우, 데이터를 제2 방화벽으로 바이패스하는 단계를 더 포함할 수 있다.The method S300 of operating a vehicle firewall may further include bypassing data to the second firewall when it is determined that the hacking attack has not occurred in the determining operation S320.
차량용 방화벽의 동작 방법(S300)은, 제2 방화벽(490)이, TCP/IP 레이어 중 트랜스포트 레이어 및 인터넷 레이어 중 적어도 어느 하나에서의 상기 데이터에 대한 해킹 공격 여부를 판단하는 단계(S330)를 더 포함할 수 있다.In operation S300 of the vehicle firewall, the second firewall 490 may determine whether the hacking attack is performed on the data in at least one of the transport layer and the Internet layer of the TCP / IP layer (S330). It may further include.
제2 방화벽(490)이, 해킹 공격 여부를 판단하는 단계(S330)는, 제2 방화벽(490)이 암호화된 데이터에 기초하여 해킹 공격 여부를 판단할 수 있다. In operation S330 of determining whether the second firewall 490 is a hacking attack, the second firewall 490 may determine whether the second firewall 490 is a hacking attack.
도 4를 참조하면, 차량용 방화벽(400)은, 제1 방화벽(401), 제2 방화벽(490) 및 커널 모듈(402)을 포함할 수 있다.Referring to FIG. 4, the vehicle firewall 400 may include a first firewall 401, a second firewall 490, and a kernel module 402.
실시예에 따라, 커널 모듈(402)은, 제1 방화벽(401)의 하위 구성으로 분류되거나 제1 방화벽(401)과 별도의 구성으로 분류될 수 있다.According to an embodiment, the kernel module 402 may be classified into a subcomponent of the first firewall 401 or a component separate from the first firewall 401.
제1 방화벽(401)은, 소프트웨어로 구현될 수 있다. 제1 방화벽(401)은, 하드웨어로 구현될 수 있다. 예를 들면, 제1 방화벽(401)은, 프로세서에 설치될 수 있다. 이경우, 프로세서는, 제1 방화벽(401)의 동작을 수행할 수 있다. 예를 들면, 프로세서는, 상술한 후킹하는 단계(S310) 및 판단하는 단계(S320)를 수행할 수 있다.The first firewall 401 may be implemented in software. The first firewall 401 may be implemented in hardware. For example, the first firewall 401 may be installed in the processor. In this case, the processor may perform an operation of the first firewall 401. For example, the processor may perform the above-described hooking step S310 and the determining step S320.
제2 방화벽(490)은, 소프트웨어로 구현될 수 있다. 제2 방화벽(490)은, 하드웨어로 구현될 수 있다. 예를 들면, 제2 방화벽(490)은, 프로세서에 설치될 수 있다. 이경우, 프로세서는, 제2 방화벽(490)의 동작을 수행할 수 있다. 예를 들면, 프로세서는, 상술한 판단하는 단계(S330)를 수행할 수 있다.The second firewall 490 may be implemented in software. The second firewall 490 may be implemented in hardware. For example, the second firewall 490 may be installed in the processor. In this case, the processor may perform an operation of the second firewall 490. For example, the processor may perform the above-described determination step (S330).
커널 모듈(402)은, 메모리로 구현될 수 있다. 여기서, 메모리는 RAM(Random Access Memory)을 의미할 수 있다.The kernel module 402 may be implemented as a memory. Here, the memory may mean random access memory (RAM).
애플리케이션(410, 420)은, ROM(Read Only Memory)에 설치되고, 커널 모듈(402)의 관리에 따라 RAM에 로딩될 수 있다. 이경우, 커널 모듈(402)은, 애플리케이션 정보를 획득하여 제공할 수 있다.The applications 410 and 420 may be installed in a read only memory (ROM) and loaded into RAM according to management of the kernel module 402. In this case, the kernel module 402 may obtain and provide application information.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 프로세서 또는 제어부를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The present invention described above can be embodied as computer readable codes on a medium in which a program is recorded. The computer-readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include hard disk drives (HDDs), solid state disks (SSDs), silicon disk drives (SDDs), ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and the like. This also includes implementations in the form of carrier waves (eg, transmission over the Internet). The computer may also include a processor or a controller. Accordingly, the above detailed description should not be construed as limiting in all aspects and should be considered as illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.
[부호의 설명][Description of the code]
400 : 차량용 방화벽400: car firewall

Claims (12)

  1. 차량에 구비되는 전장 시스템에서 이용되는 적어도 하나의 애플리케이션(application)에 의해 전송되거나 수신되는 적어도 하나의 데이터를 후킹하는 단계; 및Hooking at least one data transmitted or received by at least one application used in an electronic system provided in a vehicle; And
    기 설정된 룰셋(ruleset)을 적용하여 상기 데이터에 대한 해킹 공격 여부를 판단하는 단계;를 포함하는 차량용 방화벽의 동작 방법.And determining a hacking attack on the data by applying a preset ruleset.
  2. 제 1항에 있어서,The method of claim 1,
    상기 후킹하는 단계는,The hooking step,
    네트워크 소켓(network socket)관련 시스템 콜(system call)을 통해 후킹하는 차량용 방화벽의 동작 방법.A method of operating a vehicle firewall that hooks through a system call related to a network socket.
  3. 제 1항에 있어서,The method of claim 1,
    상기 후킹하는 단계는,The hooking step,
    커널 모듈(kernel module)을 통해 이루어지는 차량용 방화벽의 동작 방법.Method of operation of a vehicle firewall made through a kernel module (kernel module).
  4. 제 1항에 있어서,The method of claim 1,
    상기 후킹하는 단계는,The hooking step,
    평문화된 패킷을 후킹하는 단계를 포함하고,Hooking the deserialized packet,
    상기 판단하는 단계는,The determining step,
    상기 룰셋을 상기 평문(plaintext)화된 패킷에 적용하는 단계를 포함하는 차량용 방화벽의 동작 방법.And applying said ruleset to said plaintext packet.
  5. 제 4항에 있어서,The method of claim 4, wherein
    상기 적용하는 단계는,The applying step,
    상기 평문화된 패킷이 해당 프로토콜에 위반되는지 여부에 기초하여 상기 데이터를 검사하는 단계를 포함하는 차량용 방화벽의 동작 방법.Examining the data based on whether the formatted packet violates the protocol.
  6. 제 4항에 있어서,The method of claim 4, wherein
    상기 적용하는 단계는,The applying step,
    상기 평문화된 패킷에 대응되는 애플리케이션의 권한 정보에 기초하여 상기 데이터를 검사하는 단계를 포함하는 차량용 방화벽의 동작 방법.And examining the data based on authorization information of an application corresponding to the plain packet.
  7. 제 1항에 있어서,The method of claim 1,
    상기 판단하는 단계는,The determining step,
    TCP/IP 레이어 (Transmission Control Protocol / Internet Protocol Layer) 중 애플리케이션 레이어(application layer) 단에서 해킹 공격 여부를 판단하는 차량용 방화벽의 동작 방법.A method of operating a vehicle firewall that determines whether a hacking attack is performed at the application layer of the TCP / IP layer (Transmission Control Protocol / Internet Protocol Layer).
  8. 제 1항에 있어서,The method of claim 1,
    상기 판단하는 단계는, The determining step,
    암호화 되지 않은(decrypted) 데이터에 기초하여 해킹 공격 여부를 판단하는 차량용 방화벽의 동작 방법.A method of operating a vehicle firewall that determines whether a hacking attack is based on unencrypted data.
  9. 제 1항에 있어서,The method of claim 1,
    해킹 공격이 발생되지 않은 것으로 판단되는 경우, 상기 데이터를 상기 제2 방화벽으로 바이패스하는 단계;를 더 포함하는 차량용 방화벽의 동작 방법.If it is determined that a hacking attack has not occurred, bypassing the data to the second firewall.
  10. 제 9항에 있어서,The method of claim 9,
    제2 방화벽이, TCP/IP 레이어 중 트랜스포트 레이어 및 인터넷 레이어 중 적어도 어느 하나에서의 상기 데이터에 대한 해킹 공격 여부를 판단하는 단계;를 더 포함하는 차량용 방화벽의 동작 방법.And determining, by the second firewall, whether or not a hacking attack is performed on the data in at least one of a transport layer and an internet layer of the TCP / IP layer.
  11. 제 10항에 있어서,The method of claim 10,
    상기 제2 방화벽이 판단하는 단계는,The determining by the second firewall,
    암호화된 데이터에 기초하여 해킹 공격 여부를 판단하는 차량용 방화벽의 동작 방법.A method of operating a vehicle firewall that determines whether a hacking attack is based on encrypted data.
  12. 제 1항에 있어서,The method of claim 1,
    상기 후킹하는 단계는,The hooking step,
    외부 디바이스로부터, 암호화된 데이터를 수신하고, 수신된 데이터를 복호화하는 단계; 및Receiving encrypted data from an external device, and decrypting the received data; And
    상기 복호화된 데이터의 평문화된 패킷을 후킹하는 단계;를 포함하는 차량용 방화벽의 동작 방법.Hooking the plain text packet of the decrypted data.
PCT/KR2018/007791 2018-07-10 2018-07-10 Method for operating in-vehicle firewall WO2020013354A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/007791 WO2020013354A1 (en) 2018-07-10 2018-07-10 Method for operating in-vehicle firewall

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/007791 WO2020013354A1 (en) 2018-07-10 2018-07-10 Method for operating in-vehicle firewall

Publications (1)

Publication Number Publication Date
WO2020013354A1 true WO2020013354A1 (en) 2020-01-16

Family

ID=69141570

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/007791 WO2020013354A1 (en) 2018-07-10 2018-07-10 Method for operating in-vehicle firewall

Country Status (1)

Country Link
WO (1) WO2020013354A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100928467B1 (en) * 2009-02-02 2009-11-25 주식회사 파수닷컴 Clipboard security system and method thereof
KR100930018B1 (en) * 2007-12-07 2009-12-07 주식회사 마크애니 Digital Information Security System, Kernel Driver Device, and Digital Information Security Method
KR20100126617A (en) * 2009-05-23 2010-12-02 윤성진 Security system based on a program database and method thereof
KR20130045759A (en) * 2011-10-26 2013-05-06 (주)유성글로벌 Method and apparatus for integrity check of software
WO2017126786A1 (en) * 2016-01-19 2017-07-27 삼성전자 주식회사 Electronic device for analyzing malicious code and method therefor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100930018B1 (en) * 2007-12-07 2009-12-07 주식회사 마크애니 Digital Information Security System, Kernel Driver Device, and Digital Information Security Method
KR100928467B1 (en) * 2009-02-02 2009-11-25 주식회사 파수닷컴 Clipboard security system and method thereof
KR20100126617A (en) * 2009-05-23 2010-12-02 윤성진 Security system based on a program database and method thereof
KR20130045759A (en) * 2011-10-26 2013-05-06 (주)유성글로벌 Method and apparatus for integrity check of software
WO2017126786A1 (en) * 2016-01-19 2017-07-27 삼성전자 주식회사 Electronic device for analyzing malicious code and method therefor

Similar Documents

Publication Publication Date Title
US11032294B2 (en) Dynamic decryption of suspicious network traffic based on certificate validation
CN105409164B (en) Rootkit detection by using hardware resources to detect inconsistencies in network traffic
US9059853B1 (en) System and method for preventing a computing device from obtaining unauthorized access to a secure network or trusted computing environment
US8281402B2 (en) Network vulnerability assessment of a host platform from an isolated partition in the host platform
US20080077994A1 (en) Trusted enclave for a computer system
CN114598540B (en) Access control system, method, device and storage medium
US11171985B1 (en) System and method to detect lateral movement of ransomware by deploying a security appliance over a shared network to implement a default gateway with point-to-point links between endpoints
WO2017034072A1 (en) Network security system and security method
WO2021112494A1 (en) Endpoint-based managing-type detection and response system and method
CN115150208B (en) Zero-trust-based Internet of things terminal secure access method and system
WO2022105096A1 (en) Trusted terminal determination method and related device
CN110971407A (en) Internet of things security gateway communication method based on quantum key
RU130429U1 (en) TERMINAL AND PROTECTED COMPUTER SYSTEM INCLUDING TERMINAL
WO2011108877A2 (en) System and method for logical separation of a server by using client virtualization
CN113904826B (en) Data transmission method, device, equipment and storage medium
WO2018043832A1 (en) Method for operating secure web browser
Yoon et al. Security considerations based on classification of IoT device capabilities
WO2018056582A1 (en) Method for inspecting packet using secure sockets layer communication
WO2020013354A1 (en) Method for operating in-vehicle firewall
US20170346844A1 (en) Mitigating Multiple Advanced Evasion Technique Attacks
WO2018088680A1 (en) Security system and method for processing request for access to blocked site
WO2014107028A1 (en) System for preventing malware invasion, and method for operating said system for preventing malware invasion
WO2021018803A1 (en) Intrusion protection
Anderson Securing embedded linux
GB2586044A (en) Intrusion protection

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18925934

Country of ref document: EP

Kind code of ref document: A1