Patent Description:
A vehicle refers to a device that carries a passenger in a passenger-intended direction. A car is a major example of the vehicle.

To increase the convenience of vehicle users, a vehicle is equipped with various sensors and electronic devices. Especially, an advanced driver assistance system (ADAS) and an autonomous vehicle are under active study to increase the driving convenience of users.

Various devices are installed in such vehicles. Recently, various media have released cases of hacking a vehicle. As a method of preventing such hacking, a device that is not vulnerable to hacking is manufactured.

Further prior art can be found in <NPL>, in <CIT> which generally relates to whitebox network fuzzing, in <NPL>, in <CIT> which generally relates to methods, systems, and computer readable media for automatically generating a fuzzer that implements functional and fuzz testing and testing a network device using the fuzzer.

To overcome the above problems, embodiments of the present invention provide a hacking test apparatus for checking whether a vehicular electronic device is vulnerable to hacking.

The invention is set out in the independent claim.

We describe a vehicular electronic device hacking test apparatus comprising: a transmitter; a receiver; and a processor configured to classify a communication-connection procedure into one state out of a plurality of states based on a preset communication protocol, to generate a first mutated packet appropriate for the state within which the communication-connection procedure has been classified, and to transmit the first mutated packet to a vehicular electronic device through the transmitter wherein the processor is further configured to: randomly determine a next state among the plurality of states, in case that a first reception packet corresponding to the first mutated packet is received through the receiver, generate a second mutated packet appropriate for the randomly determined next state, and transmit the second mutated packet appropriate for the randomly determined next state to the vehicular electronic device through the transmitter, wherein the first mutated packet is generated by mutating a portion of an original packet to be transmitted in the state within which the communication-connection procedure has been classified and the second mutated packet is generated by mutating a portion of an original packet to be transmitted in the randomly determined next state, wherein the processor is further configured to mutate an arbitrary portion of an information payload of the original packet to generate the first mutated packet or the second mutated packet, wherein the processor is further configured to determine whether the vehicular electronic device is vulnerable to hacking based on whether the first reception packet corresponding to the first mutated packet or a second reception packet corresponding to the second mutated packet is received through the receiver.

Details of other embodiments are included in detailed descriptions and drawings.

As is apparent from the foregoing description, the embodiments of the present invention have the following one or more effects.

First, whether a vehicular electronic device is vulnerable to hacking may be determined for each of a plurality of states, and thus whether the vehicular electronic device is vulnerable to hacking may be more precisely determined.

Second, hacking of the vehicular electronic device may be prevented through a test with respect to various devices included in a vehicle.

Third, a test may be performed while a plurality of states are randomly changed, and thus whether the vehicular electronic device is vulnerable to hacking may be more accurately identified.

It will be appreciated by persons skilled in the art that that the effects that could be achieved with the present invention are not limited to what has been particularly described hereinabove and other advantages of the present invention will be more clearly understood from the following claims.

Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. As used herein, the suffixes "module" and "unit" are added or interchangeably used to facilitate preparation of this specification and are not intended to suggest unique meanings or functions. In describing embodiments disclosed in this specification, a detailed description of relevant well-known technologies may not be given in order not to obscure the subject matter of the present invention. In addition, the accompanying drawings are merely intended to facilitate understanding of the embodiments disclosed in this specification and not to restrict the present invention. In addition, the accompanying drawings should be understood as covering all substitutions within the scope of the present invention.

Terms including ordinal numbers such as first, second, etc. may be used to explain various elements. However, it will be appreciated that the elements are not limited to such terms. These terms are merely used to distinguish one element from another.

Stating that one constituent is "connected" or "linked" to another should be understood as meaning that the one constituent may be directly connected or linked to another constituent or another constituent may be interposed between the constituents. On the other hand, stating that one constituent is "directly connected" or "directly linked" to another should be understood as meaning that no other constituent is interposed between the constituents.

As used herein, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless context clearly indicates otherwise.

In this specification, terms such as "includes" or "has" are intended to indicate existence of characteristics, figures, steps, operations, constituents, components, or combinations thereof disclosed in the specification. The terms "includes" or "has" should be understood as not precluding possibility of existence or addition of one or more other characteristics, figures, steps, operations, constituents, components, or combinations thereof.

The term "vehicle" employed in this specification may include an automobile and a motorcycle. Hereinafter, description will be given mainly focusing on an automobile.

The vehicle described in this specification may include a vehicle equipped with an internal combustion engine as a power source, a hybrid vehicle equipped with both an engine and an electric motor as a power source, and an electric vehicle equipped with an electric motor as a power source.

In the description below, the left side of the vehicle means the left side with respect to the travel direction of the vehicle and the right side of the vehicle means the right side with respect to the travel direction of the vehicle.

<FIG> is a diagram showing a hacking device for a vehicle and a vehicle according to an embodiment of the present invention.

<FIG> is a block diagram for explanation of a vehicle according to an embodiment of the present invention.

Referring to <FIG>, a vehicle <NUM> may include wheels rotated by a power source, and a steering input device <NUM> for controlling a travel direction of the vehicle <NUM>.

The vehicle <NUM> may be an autonomous vehicle.

The vehicle <NUM> may switch to an autonomous driving mode or a manual mode according to a user input.

For example, the vehicle <NUM> may switch from the manual mode to the autonomous driving mode or from the autonomous driving mode to the manual mode, based on a user input received through a user interface (UI) device <NUM>.

The vehicle <NUM> may switch to the autonomous driving mode or the manual mode based on traveling situation information.

The traveling situation information may include at least one of information about objects outside the vehicle, navigation information, or vehicle state information.

For example, the vehicle <NUM> may switch from the manual mode to the autonomous driving mode or from the autonomous driving mode to the manual mode, based on traveling situation information generated from an object detection device <NUM>.

For example, the vehicle <NUM> may switch from the manual mode to the autonomous driving mode or from the autonomous driving mode to the manual mode, based on traveling situation information generated from a communication device <NUM>.

The vehicle <NUM> may switch from the manual mode to the autonomous driving mode or from the autonomous driving mode to the manual mode, based on information, data, or a signal provided from an external device.

If the vehicle <NUM> travels in the autonomous driving mode, the autonomous vehicle <NUM> may be operated based on an operation system <NUM>.

For example, the autonomous vehicle <NUM> may travel based on information, data, or signals generated from a traveling system <NUM>, a park-out system <NUM>, and a park-in system.

If the vehicle <NUM> drives in the manual mode, the autonomous vehicle <NUM> may receive a user input for driving through a driving manipulation device <NUM>. The vehicle <NUM> may travel based on the user input received through the driving manipulation device <NUM>.

The overall length refers to the length of the vehicle <NUM> from the front to back of the vehicle <NUM>, the width refers to the width of the vehicle <NUM>, and the height refers to the distance from the bottom of wheels to the roof of the vehicle. In the description below, the overall-length direction L may indicate a direction in which measurement of overall length of the vehicle <NUM> is performed, the width direction W may indicate a direction in which measurement of width of the vehicle <NUM> is performed, and the height direction H may indicate a direction in which measurement of height of the vehicle <NUM> is performed.

The vehicle <NUM> may include the UI device <NUM>, the object detection device <NUM>, the communication device <NUM>, the driving manipulation device <NUM>, a vehicle driving device <NUM>, the operation system <NUM>, a navigation system <NUM>, a sensing unit <NUM>, an interface unit <NUM>, a memory <NUM>, a controller <NUM>, and a power supply <NUM>.

In some embodiments, the vehicle <NUM> may further include a new component in addition to the components described in the present invention, or may not include a part of the described components.

The UI device <NUM> is used to enable the vehicle <NUM> to communicate with a user. The UI device <NUM> may receive a user input, and provide information generated from the vehicle <NUM> to the user. The vehicle <NUM> may implement UIs or User Experience (UX) through the UI device <NUM>.

The UI device <NUM> may include an input unit <NUM>, an internal camera <NUM>, a biometric sensing unit <NUM>, an output unit <NUM>, and a processor <NUM>.

In some embodiments, the UI device <NUM> may further include a new component in addition to components described below, or may not include a part of the described components.

The input unit <NUM> is provided to receive information from a user. Data collected by the input unit <NUM> may be analyzed by the processor <NUM> and processed as a control command from the user.

The input unit <NUM> may be disposed inside the vehicle <NUM>. For example, the input unit <NUM> may be disposed in an area of a steering wheel, an area of an instrument panel, an area of a seat, an area of a pillar, an area of a door, an area of a center console, an area of a head lining, an area of a sun visor, an area of a windshield, an area of a window, or the like.

The input unit <NUM> may include a voice input unit <NUM>, a gesture input unit <NUM>, a touch input unit <NUM>, and a mechanical input unit <NUM>.

The voice input unit <NUM> may convert a voice input of the user to an electrical signal. The electrical signal may be provided to the processor <NUM> or the controller <NUM>.

The voice input unit <NUM> may include one or more microphones.

The gesture input unit <NUM> may convert a gesture input of the user to an electrical signal. The electrical signal may be provided to the processor <NUM> or the controller <NUM>.

The gesture input unit <NUM> may include at least one of an infrared (IR) sensor or an image sensor, for sensing a gesture input of the user.

In some embodiments, the gesture input unit <NUM> may sense a three-dimensional (3D) gesture input of the user. For this purpose, the gesture input unit <NUM> may include a light output unit for emitting a plurality of IR rays or a plurality of image sensors.

The gesture input unit <NUM> may sense a 3D gesture input of the user by Time of Flight (ToF), structured light, or disparity.

The touch input unit <NUM> may convert a touch input of the user to an electrical signal. The electrical signal may be provided to the processor <NUM> or the controller <NUM>.

The touch input unit <NUM> may include a touch sensor for sensing a touch input of the user.

In some embodiments, a touch screen may be configured by integrating the touch input unit <NUM> with a display unit <NUM>. The touch screen may provide both an input interface and an output interface between the vehicle <NUM> and the user.

The mechanical input unit <NUM> may include at least one of a button, a dome switch, a jog wheel, or a jog switch. An electrical signal generated by the mechanical input unit <NUM> may be provided to the processor <NUM> or the controller <NUM>.

The mechanical input unit <NUM> may be disposed on the steering wheel, the center fascia, the center console, the cockpit module, a door, or the like.

The internal camera <NUM> may acquire a vehicle interior image. The processor <NUM> may sense a state of a user based on the vehicle interior image. The processor <NUM> may acquire information about the gaze of a user in the vehicle interior image. The processor <NUM> may sense the user's gesture in the vehicle interior image.

The biometric sensing unit <NUM> may acquire biometric information about a user. The biometric sensing unit <NUM> may include a sensor for acquiring biometric information about a user, and acquire information about a fingerprint, heart beats, and so on of a user, using the sensor. The biometric information may be used for user authentication.

The output unit <NUM> is provided to generate a visual output, an acoustic output, or a haptic output.

The output unit <NUM> may include at least one of the display unit <NUM>, an audio output unit <NUM>, or a haptic output unit <NUM>.

The display unit <NUM> may display graphic objects corresponding to various kinds of information.

The display unit <NUM> may include at least one of a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED) display, a flexible display, a 3D display, or an e-ink display.

The display unit <NUM> may form a layered structure together with the touch input unit <NUM> or be integrated with the touch input unit <NUM>, thereby implementing a touchscreen.

The display unit <NUM> may be implemented as a head up display (HUD). In this case, the display unit <NUM> may be provided with a projection module, and output information by an image projected onto the windshield or a window.

The display unit <NUM> may include a transparent display. The transparent display may be attached to the windshield or a window.

The transparent display may display a specific screen with a specific transparency. To have a transparency, the transparent display may include at least one of a transparent Thin Film Electroluminescent (TFFL) display, a transparent OLED display, a transparent LCD, a transmissive transparent display, or a transparent LED display. The transparency of the transparent display is adjustable.

The UI device <NUM> may include a plurality of display units 251a to <NUM>.

The display unit <NUM> may be disposed in an area of the steering wheel, areas 251a, 251b, and 251e of the instrument panel, an area 251d of a seat, an area 251f of a pillar, an area <NUM> of a door, an area of the center console, an area of a head lining, or an area of a sun visor, or may be implemented in an area 251c of the windshield, and an area <NUM> of a window.

The audio output unit <NUM> converts an electrical signal received from the processor <NUM> or the controller <NUM> to an audio signal, and outputs the audio signal. To this end, the audio output unit <NUM> may include one or more speakers.

The haptic output unit <NUM> generates a haptic output. For example, the haptic output unit <NUM> may vibrate the steering wheel, a seat belt, a seat 110FL, 110FR, 110RL, or 110RR, so that a user may perceive the output.

The processor <NUM> may control an operation of each unit of the UI device <NUM>.

In some embodiments, the UI device <NUM> may include a plurality of processors <NUM> or no processor <NUM>.

If the UI device <NUM> does not include any processor <NUM>, the UI device <NUM> may operate under control of a processor of another device in the vehicle <NUM>, or under control of the controller <NUM>.

The UI device <NUM> may be referred to as a vehicle display device.

The UI device <NUM> may operate under control of the controller <NUM>.

The object detection device <NUM> is used to detect an object outside the vehicle <NUM>. The object detection device <NUM> may generate object information based on sensing data.

The object information may include information indicating presence or absence of an object, information about the location of an object, information indicating the distance between the vehicle <NUM> and the object, and information about a relative speed of the vehicle <NUM> with respect to the object.

The object may be any of various objects related to driving of the vehicle <NUM>.

The object O may include a lane OB10, another vehicle OB11, a pedestrian OB12, a two-wheeled vehicle OB13, a traffic signal OB14 and OB15, light, a road, a structure, a speed bump, a geographical feature, and an animal.

The lane OB10 may include a traveling lane, a lane next to the traveling lane, and a lane in which a vehicle is driving in the opposite direction. The lane OB10 may conceptually include left and right lines that define each of the lanes.

The other vehicle OB11 may be a vehicle traveling in the vicinity of the vehicle <NUM>. The other vehicle OB11 may be located within a predetermined distance from the vehicle <NUM>. For example, the other vehicle OB11 may precede or follow the vehicle <NUM>.

The pedestrian OB12 may be a person located around the vehicle <NUM>. The pedestrian OB12 may be a person located within a predetermined distance from the vehicle <NUM>. For example, the pedestrian OB12 may be a person on a sidewalk or a roadway.

The two-wheel vehicle OB13 may refer to a transportation means moving on two wheels, located around the vehicle <NUM>. The two-wheel vehicle OB13 may be a transportation means having two wheels, located within a predetermined distance from the vehicle <NUM>. For example, the <NUM>-wheel vehicle OB13 may be a motorcycle or bicycle on a sidewalk or a roadway.

The traffic signals may include a traffic signal lamp OB15, a traffic sign OB14, and a symbol or text drawn or written on a road surface.

The light may be light generated from a lamp of another vehicle. The light may be generated from a street lamp. The light may be sunlight.

The road may include a road surface, a curve, and a slope such as an uphill or downhill road.

The structure may be an object fixed on the ground, near to a road. For example, the structure may be any of a street lamp, a street tree, a building, a utility pole, a signal lamp, and a bridge.

The geographical feature may include a mountain, a hill, and so on.

Objects may be classified into mobile objects and stationary objects. For example, the mobile objects may conceptually include another vehicle and a pedestrian. For example, the stationary objects may conceptually include a traffic signal, a road, and a structure.

The object detection device <NUM> may include a camera <NUM>, a Radio Detection and Ranging (RADAR) <NUM>, a Light Detection and Ranging (LiDAR) <NUM>, an ultrasonic sensor <NUM>, an IR sensor <NUM>, and a processor <NUM>.

In some embodiments, the object detection device <NUM> may further include a new component in addition to components described below or may not include a part of the described components.

To acquire a vehicle exterior image, the camera <NUM> may be disposed at an appropriate position on the exterior of the vehicle <NUM>. The camera <NUM> may be a mono camera, a stereo camera 310a, around view monitoring (AVM) cameras 310b, or a <NUM>-degree camera.

The camera <NUM> may acquire information about the location of an object, information about a distance to the object, or information about a relative speed with respect to the object by any of various image processing algorithms.

For example, the camera <NUM> may acquire information about a distance to an object and information about a relative speed with respect to the object in an acquired image, based on a variation in the size of the object over time.

For example, the camera <NUM> may acquire information about a distance to an object and information about a relative speed with respect to the object through a pin hole model, road surface profiling, or the like.

For example, the camera <NUM> may acquire information about a distance to an object and information about a relative speed with respect to the object based on disparity information in a stereo image acquired by the stereo camera 310a.

For example, to acquire an image of the front view of the vehicle <NUM>, the camera <NUM> may be disposed in the vicinity of a front windshield inside the vehicle <NUM>. Alternatively, the camera <NUM> may be disposed around a front bumper or a radiator grille.

For example, to acquire an image of what lies behind the vehicle <NUM>, the camera <NUM> may be disposed in the vicinity of a rear glass inside the vehicle <NUM>. Or the camera <NUM> may be disposed around a rear bumper, a trunk, or a tail gate.

For example, to acquire an image of what lies on a side of the vehicle <NUM>, the camera <NUM> may be disposed in the vicinity of at least one of side windows inside the vehicle <NUM>. Alternatively, the camera <NUM> may be disposed around a side view mirror, a fender, or a door.

The camera <NUM> may provide an acquired image to the processor <NUM>.

The RADAR <NUM> may include an electromagnetic wave transmitter and an electromagnetic wave receiver. The RADAR <NUM> may be implemented by pulse RADAR or continuous wave RADAR. The RADAR <NUM> may be implemented by Frequency Modulated Continuous Wave (FMCW) or Frequency Shift Keying (FSK) as a pulse RADAR scheme according to a signal waveform.

The RADAR <NUM> may detect an object in TOF or phase shifting by electromagnetic waves, and determine the location, distance, and relative speed of the detected object.

The RADAR <NUM> may be disposed at an appropriate position on the exterior of the vehicle <NUM> in order to sense an object ahead of, behind, or on a side of the vehicle <NUM>.

The LiDAR <NUM> may include a laser transmitter and a laser receiver. The LiDAR <NUM> may be implemented in TOF or phase shifting.

The LiDAR <NUM> may be implemented in a driven or non-driven manner.

If the LiDAR <NUM> is implemented in the driven manner, the LiDAR <NUM> may be rotated by a motor and detect an object around the vehicle <NUM>.

If the LiDAR <NUM> is implemented in a non-driven manner, the LiDAR <NUM> may detect an object within a predetermined range from the vehicle <NUM> by optical steering. The vehicle <NUM> may include a plurality of non-driven LiDARs <NUM>.

The LiDAR <NUM> may detect an object in TOF or phase shifting by laser light, and determine the location, distance, and relative speed of the detected object.

The LiDAR <NUM> may be disposed at an appropriate position on the exterior of the vehicle <NUM> in order to sense an object ahead of, behind, or on a side of the vehicle <NUM>.

The ultrasonic sensor <NUM> may include an ultrasonic wave transmitter and an ultrasonic wave receiver. The ultrasonic sensor <NUM> may detect an object by ultrasonic waves, and determine the location, distance, and relative speed of the detected object.

The ultrasonic sensor <NUM> may be disposed at an appropriate position on the exterior of the vehicle <NUM> in order to sense an object ahead of, behind, or on a side of the vehicle <NUM>.

The IR sensor <NUM> may include an IR transmitter and an IR receiver. The IR sensor <NUM> may detect an object by IR light, and determine the location, distance, and relative speed of the detected object.

The IR sensor <NUM> may be disposed at an appropriate position on the exterior of the vehicle <NUM> in order to sense an object ahead of, behind, or on a side of the vehicle <NUM>.

The processor <NUM> may control an overall operation of each unit of the object detection device <NUM>.

The processor <NUM> may compare data sensed by the camera <NUM>, the RADAR <NUM>, the LiDAR <NUM>, the ultrasonic sensor <NUM>, and the IR sensor <NUM> with pre-stored data to detect or classify an object.

The processor <NUM> may detect and track an object based on the acquired image. The processor <NUM> may calculate a distance to the object, a relative speed with respect to the object, and so on by an image processing algorithm.

For example, the processor <NUM> may acquire information about a distance to an object and information about a relative speed with respect to the object from an acquired image, based on a variation in the size of the object over time.

For example, the processor <NUM> may acquire information about a distance to an object and information about a relative speed with respect to the object from an image acquired from the stereo camera 310a.

For example, the processor <NUM> may acquire information about a distance to an object and information about a relative speed with respect to the object from an image acquired from the stereo camera 310a, based on disparity information.

The processor <NUM> may detect an object and track the detected object based on electromagnetic waves which are transmitted, are reflected from an object, and then return. The processor <NUM> may calculate a distance to the object and a relative speed with respect to the object, based on the electromagnetic waves.

The processor <NUM> may detect an object and track the detected object based on laser light which is transmitted, is reflected from an object, and then returns. The sensing processor <NUM> may calculate a distance to the object and a relative speed with respect to the object, based on the laser light.

The processor <NUM> may detect an object and track the detected object based on ultrasonic waves which are transmitted, are reflected from an object, and then return. The processor <NUM> may calculate a distance to the object and a relative speed with respect to the object, based on the ultrasonic waves.

The processor <NUM> may detect an object and track the detected object based on IR light which is transmitted, is reflected from an object, and then returns. The processor <NUM> may calculate a distance to the object and a relative speed with respect to the object, based on the IR light.

In some embodiments, the object detection device <NUM> may include a plurality of processors <NUM> or no processor <NUM>. For example, the camera <NUM>, the RADAR <NUM>, the LiDAR <NUM>, the ultrasonic sensor <NUM>, and the IR sensor <NUM> may include individual processors.

If the object detection device <NUM> includes no processor <NUM>, the object detection device <NUM> may operate under control of a processor of a device in the vehicle <NUM> or under control of the controller <NUM>.

The object detection device <NUM> may operate under control of the controller <NUM>.

The communication device <NUM> is used to communicate with an external device. The external device may be another vehicle, a mobile terminal, or a server.

The communication device <NUM> may include at least one of a transmit antenna and a receive antenna, for communication, or a Radio Frequency (RF) circuit and device, for implementing various communication protocols.

The communication device <NUM> may include a short-range communication unit <NUM>, a location information unit <NUM>, a vehicle-to-everything (V2X) communication unit <NUM>, an optical communication unit <NUM>, a broadcasting transceiver unit <NUM>, an intelligent transport system (ITS) communication unit <NUM>, and a processor <NUM>.

In some embodiments, the communication device <NUM> may further include a new component in addition to components described below, or may not include a part of the described components.

The short-range communication module <NUM> is a unit for conducting short-range communication. The short-range communication module <NUM> may support short-range communication, using at least one of Bluetooth™, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, Near Field Communication (NFC), Wireless Fidelity (Wi-Fi), Wi-Fi Direct, or Wireless Universal Serial Bus (Wireless USB).

The short-range communication unit <NUM> may conduct short-range communication between the vehicle <NUM> and at least one external device by establishing a wireless area network.

The location information unit <NUM> is a unit configured to acquire information about a location of the vehicle <NUM>. The location information unit <NUM> may include at least one of a global positioning system (GPS) module or a Differential Global Positioning System (DGPS) module.

The V2X communication unit <NUM> is a unit used for wireless communication with a server (by vehicle-to-infrastructure (V2I)), another vehicle (by Vehicle to Vehicle (V2V)), or a pedestrian (by Vehicle to Pedestrian (V2P)). The V2X communication unit <NUM> may include an RF circuit capable of implementing a V2I protocol, a V2V protocol, and a V2P protocol.

The optical communication unit <NUM> is a unit used to communicate with an external device by light. The optical communication unit <NUM> may include an optical transmitter for converting an electrical signal to an optical signal and emitting the optical signal to the outside, and an optical receiver for converting a received optical signal to an electrical signal.

In some embodiments, the optical transmitter may be integrated with a lamp included in the vehicle <NUM>.

The broadcasting transceiver unit <NUM> is a unit used to receive a broadcast signal from an external broadcasting management server or transmit a broadcast signal to the broadcasting management server, on a broadcast channel. The broadcast channel may include a satellite channel and a terrestrial channel. The broadcast signal may include a TV broadcast signal, a radio broadcast signal, and a data broadcast signal.

The ITS communication unit <NUM> may exchange information, data, or signals with a traffic system. The ITS communication unit <NUM> may provide acquired information and data to the traffic system. The ITS communication unit <NUM> may receive information, data, or a signal from the traffic system. For example, the ITS communication unit <NUM> may receive traffic information from the traffic system and provide the received traffic information to the controller <NUM>. For example, the ITS communication unit <NUM> may receive a control signal from the traffic system, and provide the received control signal to the controller <NUM> or a processor in the vehicle <NUM>.

The processor <NUM> may control an overall operation of each unit of the communication device <NUM>.

In some embodiments, the communication device <NUM> may include a plurality of processors <NUM> or no processor <NUM>.

If the communication device <NUM> does not include any processor <NUM>, the communication device <NUM> may operate under control of a processor of another device in the vehicle <NUM> or under control of the controller <NUM>.

The communication device <NUM> may be configured along with the UI device <NUM>, as a vehicle multimedia device. In this case, the vehicle multimedia device may be referred to as a telematics device or an Audio Video Navigation (AVN) device.

The communication device <NUM> may operate under control of the controller <NUM>.

The driving manipulation device <NUM> is used to receive a user command for driving the vehicle <NUM>.

In the manual mode, the vehicle <NUM> may travel based on a signal provided by the driving manipulation device <NUM>.

The driving manipulation device <NUM> may include the steering input device <NUM>, an acceleration input device <NUM>, and a brake input device <NUM>.

The steering input device <NUM> may receive a travel direction input for the vehicle <NUM> from a user. The steering input device <NUM> may take the form of a wheel to rotate to provide a steering input. In some embodiments, the steering input device <NUM> may be configured as a touch screen, a touchpad, or a button.

The acceleration input device <NUM> may receive an input for acceleration of the vehicle <NUM> from the user. The brake input device <NUM> may receive an input for deceleration of the vehicle <NUM> from the user. The acceleration input device <NUM> and the brake input device <NUM> are preferably formed into pedals. In some embodiments, the acceleration input device <NUM> or the brake input device <NUM> may be configured as a touch screen, a touchpad, or a button.

The driving manipulation device <NUM> may operate under control of the controller <NUM>.

The vehicle driving device <NUM> is used to electrically control operations of various devices of the vehicle <NUM>.

The vehicle driving device <NUM> may include at least one of a power train driving unit <NUM>, a chassis driving unit <NUM>, a door/window driving unit <NUM>, a safety device driving unit <NUM>, a lamp driving unit <NUM>, or an air conditioner driving unit <NUM>.

In some embodiments, the vehicle driving device <NUM> may further include a new component in addition to components described below or may not include a part of the components.

The vehicle driving device <NUM> may include a processor. Each unit of the vehicle driving device <NUM> may include a processor.

The power train driving unit <NUM> may control operation of a power train device.

The power train driving unit <NUM> may include a power source driver <NUM> and a transmission driver <NUM>.

The power source driver <NUM> may control a power source of the vehicle <NUM>.

For example, if the power source is a fossil fuel-based engine, the power source driver <NUM> may perform electronic control on the engine. Therefore, the power source driver <NUM> may control an output torque of the engine, and the like. The power source driver <NUM> may adjust the engine output torque under control of the controller <NUM>.

For example, if the power source is an electrical energybased motor, the power source driver <NUM> may control the motor. The power source driver <NUM> may adjust a rotation speed, torque, and so on of the motor under control of the controller <NUM>.

The transmission driver <NUM> may control a transmission.

The transmission driver <NUM> may adjust a state of the transmission. The transmission driver <NUM> may adjust the state of the transmission to drive D, reverse R, neutral N, or park P.

If the power source is the engine, the transmission driver <NUM> may adjust the engagement state of gears in the drive mode D.

The chassis driving unit <NUM> may control operation of a chassis device.

The chassis driving unit <NUM> may include a steering driver <NUM>, a brake driver <NUM>, and a suspension driver <NUM>.

The steering driver <NUM> may perform electronic control on a steering device in the vehicle <NUM>. The steering driver <NUM> may change a travel direction of the vehicle <NUM>.

The brake driver <NUM> may perform electronic control on a brake device in the vehicle <NUM>. For example, the brake driver <NUM> may decrease the speed of the vehicle <NUM> by controlling an operation of a brake disposed at a wheel.

The brake driver <NUM> may control a plurality of brakes individually. The brake driver <NUM> may control braking power applied to a plurality of wheels differently.

The suspension driver <NUM> may perform electronic control on a suspension device in the vehicle <NUM>. For example, if the surface of a road is rugged, the suspension driver <NUM> may control the suspension device to reduce jerk of the vehicle <NUM>.

The suspension driver <NUM> may control a plurality of suspensions individually.

The door/window driving unit <NUM> may perform electronic control on a door device or a window device in the vehicle <NUM>.

The door/window driving unit <NUM> may include a door driver <NUM> and a window driver <NUM>.

The door driver <NUM> may perform electronic control on a door device in the vehicle <NUM>. For example, the door driver <NUM> may control opening and closing of a plurality of doors in the vehicle <NUM>. The door driver <NUM> may control opening or closing of the trunk or the tail gate. The door driver <NUM> may control opening or closing of the sunroof.

The window driver <NUM> may perform electronic control on a window device in the vehicle <NUM>. The window driver <NUM> may control opening or closing of a plurality of windows in the vehicle <NUM>.

The safety device driving unit <NUM> may perform electronic control on various safety devices in the vehicle <NUM>.

The safety device driving unit <NUM> may include an airbag driver <NUM>, a seatbelt driver <NUM>, and a pedestrian protection device driver <NUM>.

The airbag driver <NUM> may perform electronic control on an airbag device in the vehicle <NUM>. For example, the airbag driver <NUM> may control inflation of an airbag, upon sensing an emergency situation.

The seatbelt driver <NUM> may perform electronic control on a seatbelt device in the vehicle <NUM>. For example, the seatbelt driver <NUM> may control securing of passengers on the seats 110FL, 110FR, 110RL, and 110RR by means of seatbelts, upon sensing a danger.

The pedestrian protection device driver <NUM> may perform electronic control on a hood lift and a pedestrian airbag. For example, the pedestrian protection device driver <NUM> may control the hood to be lifted up and the pedestrian airbag to be inflated, upon sensing collision with a pedestrian.

The lamp driving unit <NUM> may perform electronic control on various lamp devices in the vehicle <NUM>.

The air conditioner driving unit <NUM> may perform electronic control on an air conditioner in the vehicle <NUM>. For example, if a vehicle internal temperature is high, the air conditioner driver <NUM> may control the air conditioner to operate and supply cool air into the vehicle <NUM>.

The vehicle driving device <NUM> may operate under control of the controller <NUM>.

The operation system <NUM> is a system that controls various operations of the vehicle <NUM>. The operation system <NUM> may operate in the autonomous driving mode.

The operation system <NUM> may include the traveling system <NUM>, the park-out system <NUM>, and the park-in system <NUM>.

In some embodiments, the operation system <NUM> may further include a new component in addition to components described below or may not include a part of the described components.

The operation system <NUM> may include a processor. Each unit of the operation system <NUM> may include a processor.

In some embodiments, if the operation system <NUM> is implemented in software, the operation system <NUM> may lie under the controller <NUM> in concept.

In some embodiments, the operation system <NUM> may conceptually include at least one of the UI device <NUM>, the object detection device <NUM>, the communication device <NUM>, the driving manipulation device <NUM>, the vehicle driving device <NUM>, the navigation system <NUM>, the sensing unit <NUM>, or the controller <NUM>.

The traveling system <NUM> may drive the vehicle <NUM>.

The traveling system <NUM> may drive the vehicle <NUM> by providing a control signal to the vehicle driving device <NUM> based on navigation information received from the navigation system <NUM>.

The traveling system <NUM> may drive the vehicle <NUM> by providing a control signal to the vehicle driving device <NUM> based on object information received from the object detection device <NUM>.

The traveling system <NUM> may drive the vehicle <NUM> by receiving a signal from an external device through the communication device <NUM> and providing a control signal to the vehicle driving device <NUM>.

The traveling system <NUM> may include at least one of the UI device <NUM>, the object detection device <NUM> and the communication device <NUM>, the driving manipulation device <NUM>, the vehicle driving device <NUM>, the navigation system <NUM>, the sensing unit <NUM>, and the controller <NUM> and may be conceptually a system for performing traveling of the vehicle <NUM>.

The traveling system <NUM> may be referred to as a vehicle traveling control apparatus.

The park-out system <NUM> may perform park-out of the vehicle <NUM>.

The park-out system <NUM> may perform park-out of the vehicle <NUM> by providing a control signal to the vehicle driving device <NUM> according to navigation information received from the navigation system <NUM>.

The park-out system <NUM> may perform park-out of the vehicle <NUM> by providing a control signal to the vehicle driving device <NUM> based on object information received from the object detection device <NUM>.

The park-out system <NUM> may perform park-out of the vehicle <NUM> by receiving a signal from an external device through the communication device <NUM> and providing a control signal to the vehicle driving device <NUM>.

The park-out system <NUM> may include at least one of the UI device <NUM>, the object detection device <NUM>, the communication device <NUM>, the driving manipulation device <NUM>, the vehicle driving device <NUM>, the navigation system <NUM>, the sensing unit <NUM>, or the controller <NUM> and may be conceptually a system for performing park-out of the vehicle <NUM>.

The park-out system <NUM> may be referred to as a vehicle park-out control apparatus.

The park-in system <NUM> may perform park-in of the vehicle <NUM>.

The park-in system <NUM> may perform park-in of the vehicle <NUM> by providing a control signal to the vehicle driving device <NUM> according to navigation information received from the navigation system <NUM>.

The park-in system <NUM> may perform park-in of the vehicle <NUM> by providing a control signal to the vehicle driving device <NUM> based on object information received from the object detection device <NUM>.

The park-in system <NUM> may perform park-in of the vehicle <NUM> by providing a control signal to the vehicle driving device <NUM> according to a signal received from an external device via the communication device <NUM>.

The park-in system <NUM> may include at least one of the UI device <NUM>, the object detection device <NUM>, the communication device <NUM>, the driving manipulation device <NUM>, the vehicle driving device <NUM>, the navigation system <NUM>, the sensing unit <NUM>, or the controller <NUM> and may be conceptually a system for performing park-in of the vehicle <NUM>.

The park-in system <NUM> may be referred to as a vehicle park-in control apparatus.

The navigation system <NUM> may provide navigation information. The navigation information may include at least one of map information, set destination information, route information based on setting of a destination, information about various objects on a route, lane information, or information about a current location of a vehicle.

The navigation system <NUM> may include a memory and a processor. The memory may store navigation information. The processor may control operation of the navigation system <NUM>.

In some embodiments, the navigation system <NUM> may receive information from an external device via the communication device <NUM> and update pre-stored information with the received information.

In some embodiments, the navigation system <NUM> may be classified as a lower-level component of the UI device <NUM>.

The sensing unit <NUM> may sense a vehicle state. The sensing unit <NUM> may include an attitude sensor (e.g., a yaw sensor, a roll sensor, or a pitch sensor), a collision sensor, a wheel sensor, a speed sensor, an inclination sensor, a weight detection sensor, a heading sensor, a gyro sensor, a position module, a vehicle drive/reverse sensor, a battery sensor, a fuel sensor, a tier sensor, a steering sensor for rotation of the steering wheel, an in-vehicle temperature sensor, an in-vehicle humidity sensor, an ultrasonic sensor, an illuminance sensor, an acceleration pedal position sensor, a brake pedal position sensor, and so on.

The sensing unit <NUM> may acquire a sensing signal of vehicle position information, vehicle collision information, vehicle heading information, vehicle location information (GPS information), vehicle angle information, vehicle speed information, vehicle acceleration information, vehicle inclination information, vehicle drive/reverse information, battery information, fuel information, wheel information, vehicle lamp information, vehicle internal temperature information, vehicle internal humidity information, a steering wheel rotation angle, a vehicle external illuminance, a pressure applied to an accelerator pedal, a pressure applied to a brake pedal, and so on.

The sensing unit <NUM> may further include an accelerator pedal sensor, a pressure sensor, an engine speed sensor, an air flow sensor (AFS), an air temperature sensor (ATS), a water temperature sensor (WTS), a throttle position sensor (TPS), a top dead center (TDC) sensor, a crank angle sensor (CAS), and so on.

The sensing unit <NUM> may generate vehicle state information based on the sensing data. The vehicle state information may be generated based on data detected by various sensors included in the vehicle.

For example, the vehicle state information may include vehicle position information, vehicle speed information, vehicle inclination information, vehicle weight information, vehicle heading information, vehicle battery information, vehicle fuel information, vehicle wheel air pressure information, vehicle steering information, in-vehicle temperature information, in-vehicle humidity information, pedal position information, vehicle engine temperature information, and so on.

The interface unit <NUM> serves paths to various types of external devices connected to the vehicle <NUM>. For example, the interface unit <NUM> may be provided with a port connectable to a mobile terminal, and may be connected to a mobile terminal through the port. In this case, the interface unit <NUM> may exchange data with the mobile terminal.

The interface unit <NUM> may serve as a path along which electric energy is supplied to a connected mobile terminal. When the mobile terminal is conductibly connected to the interface unit <NUM>, the interface unit <NUM> may supply electric energy received from the power supply <NUM> to the mobile terminal under control of the controller <NUM>.

The memory <NUM> is conductibly connected to the controller <NUM>. The memory <NUM> may store default data for a unit, control data for controlling the operation of the unit, and input and output data. The memory <NUM> may be any of various storage devices in hardware, such as read only memory (ROM), random access memory (RAM), erasable and programmable ROM (EPROM), flash drive, and hard drive. The memory <NUM> may store various data for an overall operation of the vehicle <NUM>, such as programs for processing or control in the controller <NUM>.

In some embodiments, the memory <NUM> may be integrated with the controller <NUM>, or configured as a lower level component of the controller <NUM>.

The controller <NUM> may control an overall operation of each unit in the vehicle <NUM>. The controller <NUM> may be referred to as an electronic control unit (ECU).

The power supply <NUM> may supply power required for an operation of each component under control of the controller <NUM>. In particular, the power supply <NUM> may receive power from a battery, etc. in the vehicle.

One or more processors and the controller <NUM>, included in the vehicle <NUM>, may be implemented using at least one of application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, or an electrical unit for performing other functions.

As described above, the vehicle <NUM> may include various electronic devices such as the UI device <NUM>, the object detection device <NUM>, the communication device <NUM>, the driving manipulation device <NUM>, the controller <NUM>, the vehicle driving device <NUM>, the operating system <NUM>, the navigation system <NUM>, the sensing unit <NUM>, the interface unit <NUM>, a memory <NUM>, and the power supply <NUM>.

A vehicular electronic device may be communication-connected to a system outside the vehicle <NUM>. For example, the vehicular electronic device may be communication-connected to a system outside the vehicle <NUM> through a gateway inside the vehicle <NUM>. Here, the gateway may be on-board diagnostics (OBD) or on-board diagnostic version <NUM> (OBD <NUM>).

Wired communication or wireless communication may be performed between vehicular electronic devices. For example, communication may be performed between vehicular electronic devices through a controller area network (CAN).

The vehicular electronic device may be communication-connected to a system outside the vehicle <NUM> by wire or wirelessly. For example, the vehicular electronic device may be communication-connected to an external device of the vehicle <NUM> through a Wi-Fi protocol or a Bluetooth protocol.

The system outside the vehicle <NUM> may include a server, a computer, a mobile terminal, a clouding service, and a network.

The vehicular electronic device may receive a file or data from the system outside the vehicle <NUM>. For example, the vehicular electronic device may receive a firmware upgrade file from the system outside the vehicle <NUM> and may update firmware.

Communication-connection between the vehicular electronic device and the system outside the vehicle <NUM> may be a target of hacking.

For example, a hacker may access a vehicular electronic device through a gateway or a CAN and may induce an abnormal operation of the vehicular electronic device.

For example, the hacker may mutate an access point connection protocol and may attack the UI device <NUM> for a vehicle when the UI device <NUM> for a vehicle operates as a Wi-Fi access point.

For example, the hacker may attack and take control of an access point, and then may attack the UI device <NUM> for a vehicle using a Wi-Fi protocol when the UI device <NUM> for a vehicle operates as a Wi-Fi station.

For example, the hacker may mutate and attack a Bluetooth profile/protocol packet (e.g., L2CAP, RFCOMN, OBEX, or SDP).

For example, the hacker may change and attaché firmware of the vehicular electronic device. In detail, the hacker may execute buffer overflow attack through firmware hacking.

A vehicular electronic device hacking test apparatus <NUM> may be communication-connected to the vehicular electronic device by wire or wirelessly. The vehicular electronic device hacking test apparatus <NUM> may determine whether the vehicular electronic device is vulnerable to hacking in response to a state classified according to a preset communication protocol.

For example, the vehicular electronic device hacking test apparatus <NUM> may determine whether the vehicular electronic device is vulnerable to hacking in response to a state classified according to a Wi-Fi protocol.

For example, the vehicular electronic device hacking test apparatus <NUM> may determine whether the vehicular electronic device is vulnerable to hacking in response to a state classified according to a Bluetooth protocol.

<FIG> is a block diagram for explanation of a vehicular electronic device hacking test apparatus according to an embodiment of the present invention.

Referring to <FIG>, the vehicular electronic device hacking test apparatus <NUM> may include a communication unit <NUM>, a processor <NUM>, an interface unit <NUM>, a memory <NUM>, and a power supply <NUM>.

The communication unit <NUM> may be communication-connected to the vehicular electronic device by wire or wirelessly. The communication unit <NUM> may be communication-connected to the vehicular electronic device based on a preset communication protocol.

The communication unit <NUM> may include a transmitter <NUM> and a receiver <NUM>.

The transmitter <NUM> may transmit data to the vehicular electronic device by wire or wirelessly.

The transmitter <NUM> may transmit data to the vehicular electronic device based on a preset wireless communication protocol. In this case, the transmitter <NUM> may include a transmission radio frequency (RF) circuit appropriate for a wireless communication protocol.

The receiver <NUM> may receive data from the vehicle electronic device by wire or wirelessly.

The receiver <NUM> may receive data from the vehicular electronic device based on a preset wireless communication protocol. In this case, the receiver <NUM> may include a reception radio frequency (RF) circuit appropriate for a wireless communication protocol.

The processor <NUM> may control an overall operation of each unit of the vehicular electronic device hacking test apparatus <NUM>.

The processor <NUM> may control the transmitter <NUM> to transmit data to the vehicle electronic device. For example, the processor <NUM> may control the transmitter <NUM> to transmit a mutated packet.

The processor <NUM> may control the transmitter <NUM> to transmit data to the vehicle electronic device based on a preset communication protocol.

The processor <NUM> may control the receiver <NUM> to receive data from the vehicle electronic device.

The processor <NUM> may control the receiver <NUM> to receive data from the vehicle electronic device based on a preset communication protocol.

The processor <NUM> may classify a communication-connection procedure into a plurality of states based on a preset communication protocol.

For example, the Wi-Fi access point may have a state such as a probe request listening state, an association listening state, and a connected state. When determining whether the vehicular electronic device that operates as a Wi-Fi access point is vulnerable to hacking, the processor <NUM> may classify a communication-connection procedure into states such as a probe request listening state, an association listening state, and a connected state.

The processor <NUM> may generate the mutated packet appropriate for a plurality of states. The processor <NUM> may transmit the mutated packet to the vehicular electronic device through the transmitter <NUM>.

The processor <NUM> may generate the mutated packet corresponding to a plurality of states. The processor <NUM> may transmit the mutated packet to the vehicular electronic device through the transmitter <NUM>.

For example, the processor <NUM> may generate the mutated packet appropriate for a plurality of states via a fuzzing scheme.

For example, the processor <NUM> may generate the mutated packet corresponding to a plurality of states via a fuzzing scheme.

For example, the processor <NUM> may arbitrarily mutate a portion of an original packet to be transmitted in a plurality of states to generate the mutated packet.

For example, the vehicular electronic device hacking test apparatus <NUM> may determine whether the vehicular electronic device that operates as a Wi-Fi access point is vulnerable to hacking. In this case, the processor <NUM> may arbitrarily mutate a portion of an original packet to be transmitted in each of a probe request listening state, an association listening state, and a connected state to generate the mutated packet. Then, the processor <NUM> may transmit the mutated packet to the vehicular electronic device in each of the probe request listening state, the association listening state, and the connected state.

The processor <NUM> may determine whether the vehicular electronic device is vulnerable to hacking based on whether a reception packet to the mutated packet is received through the receiver <NUM>.

For example, when a normal reception packet is received, the processor <NUM> may determine whether the vehicular electronic device is not vulnerable to hacking.

For example, when the normal reception packet is not received, the processor <NUM> may determine whether the vehicular electronic device is vulnerable to hacking. When a reception packet is not received, the processor <NUM> may determine whether the vehicular electronic device is vulnerable to hacking. When an abnormal packet is received, the processor <NUM> may determine whether the vehicular electronic device is vulnerable to hacking.

The processor <NUM> may classify a communication-connection procedure with the vehicular electronic device into a first state, a second state, and a third state.

Here, classification into a plurality of states may be exemplary and may be defined according to a preset communication protocol.

According to the present embodiment, although classification into three states is exemplified, the processor <NUM> may also classify a communication-connection procedure into two states or four or more states.

The processor <NUM> may generate a first mutated packet appropriate for the first state and may transmit the first mutated packet to the vehicular electronic device through the transmitter <NUM>.

The processor <NUM> may generate the first mutated packet corresponding to the first state and may transmit the first mutated packet to the vehicular electronic device through the transmitter <NUM>.

When a first reception packet corresponding to the first mutated packet is received from the vehicular electronic device through the receiver <NUM> in the first state, the processor <NUM> may generate a second mutated packet appropriate for the second state.

When the first reception packet corresponding to the first mutated packet is received from the vehicular electronic device through the receiver <NUM> in the first state, the processor <NUM> may generate the second mutated packet corresponding to the second state.

When the first reception packet is not received through the receiver <NUM> in the first state, the processor <NUM> may determine that the vehicular electronic device is vulnerable to hacking. For example, when the first reception packet is not received through the receiver <NUM> for a preset time or more, the processor <NUM> may determine that the vehicular electronic device is vulnerable to hacking.

When the first reception packet corresponding to the first mutated packet is not received from the vehicular electronic device through the receiver <NUM>, the processor <NUM> may repeatedly generate the first mutated packet and may transmit the first mutated packet to the vehicular electronic device through the transmitter <NUM>.

When the number of times the first mutated packet is repeatedly generated is equal to or greater than a preset number of times, the processor <NUM> may determine that the vehicular electronic device is vulnerable to hacking.

When the number of times the first mutated packet is repeatedly transmitted is equal to or greater than a preset number of times, the processor <NUM> may determine that the vehicular electronic device is vulnerable to hacking.

The processor <NUM> may transmit the generated second mutated packet to the vehicular electronic device through the transmitter <NUM>.

When a second reception packet corresponding to the second mutated packet is received, the processor <NUM> may generate a mutated packet appropriate for another state and may transmit the mutated packet to the vehicular electronic device through the transmitter <NUM>.

When the second reception packet corresponding to the second mutated packet is received, the processor <NUM> may generate a mutated packet corresponding to another state and may transmit the mutated packet to the vehicular electronic device through the transmitter <NUM>.

The processor <NUM> is configured to receive the second reception packet and may randomly determine a next state. The processor <NUM> is configured to generate a mutated packet appropriate for the randomly determined state and may transmit the mutated packet to the vehicular electronic device through the transmitter <NUM>.

The processor <NUM> is configured to receive the second reception packet and may randomly determine a next state. The processor <NUM> is configured to generate a mutated packet corresponding to the randomly determined state and is configured to transmit the mutated packet to the vehicular electronic device through the transmitter <NUM>.

When the second reception packet corresponding to the second mutated packet is received, the processor <NUM> may generate a third mutated packet appropriate for the third state. The processor <NUM> may transmit the generated third mutated packet to the vehicular electronic device through the transmitter <NUM>.

When the second reception packet corresponding to the second mutated packet is received, the processor <NUM> may generate the third mutated packet corresponding to the third state. The processor <NUM> may transmit the generated third mutated packet to the vehicular electronic device through the transmitter <NUM>.

When the second reception packet corresponding to the second mutated packet is received, the processor <NUM> may generate the first mutated packet appropriate for the first state. The processor <NUM> may transmit the generated first mutated packet to the vehicular electronic device through the transmitter <NUM>.

When the second reception packet corresponding to the second mutated packet is received, the processor <NUM> may generate the first mutated packet corresponding to the first state. The processor <NUM> may transmit the generated second mutated packet to the vehicular electronic device through the transmitter <NUM>.

The interface unit <NUM> may exchange information, a signal, or data with other device. The interface unit <NUM> may receive information, a signal, or data from other device. The interface unit <NUM> may transmit the received information, signal, or data to the processor <NUM>. The interface unit <NUM> may transmit information, a signal, or data, which is generated or processed by the processor <NUM>, to other device.

The memory <NUM> may be conductibly connected to the processor <NUM>. The memory <NUM> may store basic data of a unit, control data for control of an operation of the unit, and input and output data. The memory <NUM> may be various storage devices such as ROM, RAM, EPROM, a flash drive, or a hard drive in terms of hardware. The memory <NUM> may store various data for an overall operation of the vehicular electronic device hacking test apparatus <NUM>, such as a program for processing or control of the processor <NUM>.

In some embodiments, the memory <NUM> may be integrally formed with the processor <NUM> or may be a component that lies under the processor <NUM>.

The power supply <NUM> may supply power required for an operation of each component under control of the processor <NUM>. In particular, the power supply <NUM> may receive power from a battery inside a vehicle, or the like.

<FIG> is a diagram for explanation of an operation of a vehicular electronic device hacking test apparatus according to an embodiment of the present invention.

Referring to <FIG>, a vehicular electronic device <NUM> may include at least one of the UI device <NUM>, the object detection device <NUM>, the communication device <NUM>, the driving manipulation device <NUM>, the controller <NUM>, the vehicle driving device <NUM>, the operating system <NUM>, the navigation system <NUM>, the sensing unit <NUM>, the interface unit <NUM>, the memory <NUM>, or the power supply <NUM>.

The processor <NUM> may be communication-connected to the vehicular electronic device <NUM>.

The processor <NUM> may classify a communication-connection procedure with the vehicular electronic device <NUM> into a first state <NUM>, a second state <NUM>, and a third state <NUM> based on a preset communication protocol.

The processor <NUM> may enter the first state <NUM>, may generate a first mutated packet <NUM> appropriate for (or corresponding to) the first state <NUM>, and may transmit the same to the vehicular electronic device <NUM>. Here, the first mutated packet <NUM> is configured to be a packet formed by arbitrarily mutating a portion of the original packet to be transmitted in the first state <NUM>.

The processor <NUM> may determine whether a first reception packet <NUM> corresponding to the first mutated packet <NUM> is received from the vehicular electronic device <NUM>. Here, the first reception packet <NUM> may be a response packet that is generated in response to the first mutated packet <NUM> in a first state <NUM> by the vehicular electronic device <NUM>.

When the first reception packet <NUM> is received and is determined to be the same reception packet as a reception packet corresponding to the original packet, the processor <NUM> is configured to determine that the vehicular electronic device <NUM> is not vulnerable to hacking in the first state <NUM>.

When the first reception packet <NUM> is not received or is different from a reception packet corresponding to the original packet and is determined to be an abnormal reception packet, the processor <NUM> is configured to determine that the vehicular electronic device <NUM> is vulnerable to hacking in the first state <NUM>.

The first reception packet <NUM> may be received, and then the processor <NUM> may be converted into the second state <NUM>.

The processor <NUM> may enter the second state <NUM>, may generate a second mutated packet <NUM> appropriate for (or corresponding to) the second state <NUM>, and may transmit the same to the vehicular electronic device <NUM>. Here, the second mutated packet <NUM> is configured to be a packet formed by arbitrarily mutating a portion of the original packet to be transmitted in the second state <NUM>.

The processor <NUM> may determine whether a second reception packet <NUM> corresponding to the second mutated packet <NUM> is received from the vehicular electronic device <NUM>. Here, the second reception packet <NUM> may be a response packet that is generated in response to the second mutated packet <NUM> in a second state <NUM> by the vehicular electronic device <NUM>.

When the second reception packet <NUM> is received and is determined to be the same reception packet as a reception packet corresponding to the original packet, the processor <NUM> is configured to determine that the vehicular electronic device <NUM> is not vulnerable to hacking in the second state <NUM>.

When the second reception packet <NUM> is not received or is different from a reception packet corresponding to the original packet and is determined to be an abnormal reception packet, the processor <NUM> is configured to determine that the vehicular electronic device <NUM> is vulnerable to hacking in the second state <NUM>.

The second reception packet <NUM> may be received, and then the processor <NUM> may be converted into a third state <NUM>.

The processor <NUM> may enter the third state <NUM>, may generate a third mutated packet <NUM> appropriate for (or corresponding to) the third state <NUM>, and may transmit the same to the vehicular electronic device <NUM>. Here, the third mutated packet <NUM> may be a packet formed by arbitrarily mutating a portion of the original packet to be transmitted in the third state <NUM>.

The processor <NUM> may determine whether a third reception packet <NUM> corresponding to the third mutated packet <NUM> is received from the vehicular electronic device <NUM>. Here, the third reception packet <NUM> may be a response packet that is generated in response to the third mutated packet <NUM> in a third state <NUM> by the vehicular electronic device <NUM>.

When the third reception packet <NUM> is received and is determined to be the same reception packet as a reception packet corresponding to the original packet, the processor <NUM> may determine that t the vehicular electronic device <NUM> is not vulnerable to hacking in the third state <NUM>.

When the third reception packet <NUM> is not received or is different from a reception packet corresponding to the original packet and is determined to be an abnormal reception packet, the processor <NUM> may determine that the vehicular electronic device <NUM> is vulnerable to hacking in the third state <NUM>.

The second reception packet <NUM> may be received in the second state <NUM>, and then the processor <NUM> may return back to the first state <NUM>.

In this case, the processor <NUM> may re-generate the first mutated packet <NUM> and may transmit the same to the vehicular electronic device <NUM>.

<FIG> is a diagram for explanation of an operation of generating a mutated packet according to an embodiment of the present invention.

<FIG> is a diagram for explanation of a mutated packet implemented in a hexadecimal digit according to an embodiment of the present invention.

Referring to <FIG> and <FIG>, the processor <NUM> may mutate an original packet <NUM> for each field to generate a mutated packet.

The original packet <NUM> may be defined as a data packet to be transmitted in any one of a plurality of states classified based on a preset communication protocol.

The original packet <NUM> may be divided into a header and an information payload.

The processor <NUM> may mutate a region except for the header among original packets appropriate for (or corresponding to) a plurality of states to generate a mutated packet <NUM>.

When a region including the header is mutated to generate a mutated packet, the mutated packet is against a basic structure, and thus the vehicular electronic device <NUM> may not process the corresponding packet.

When the region except for the header is mutated to generate the mutated packet <NUM>, an arbitrary field may be modulated to an arbitrary value while a field structure defined depending on each state of a communication protocol is maintained, and thus the vehicular electronic device <NUM> may process a corresponding packet. In this case, whether the vehicular electronic device <NUM> is vulnerable to hacking may be more effectively tested.

When a protocol is processed, there is a routine for processing each field. Hacking vulnerability occurs because exceptional processing is not performed in the routine for processing each field. For example, when a length field of a protocol is not examined, there is possibility that buffer overflow vulnerability occurs.

The processor <NUM> may mutate an arbitrary portion of an information payload of the original packet to generate the mutated packet <NUM>.

The processor <NUM> may contain a larger amount of data than the original packet <NUM> appropriate for (or corresponding to) a plurality of states and may generate the mutated packet <NUM>.

For example, the processor <NUM> may contain a larger amount of data than original data in an information payload region of the original packet <NUM> and may generate the mutated packet <NUM>.

Upon receiving a larger amount of data than the original packet <NUM>, memory capacity of the vehicular electronic device <NUM>, which is allocated according to a protocol, may be exceeded, and thus the vehicular electronic device <NUM> may malfunction. Such hack attack may be referred to as buffer overflow.

Through such a test procedure, the vehicular electronic device hacking test apparatus <NUM> may check whether it is possible to attack the vehicular electronic device via buffer overflow.

<FIG> and <FIG> are diagrams for explanation of a vehicular electronic device hacking test apparatus based on Wi-Fi protocol according to an embodiment of the present invention.

<FIG> and <FIG> are diagrams for explanation of an operation of the vehicular electronic device hacking test apparatus <NUM> when the vehicular electronic device <NUM> operates as a Wi-Fi access point.

In <FIG> and <FIG>, the vehicular electronic device hacking test apparatus <NUM> may operate as a Wi-Fi client (or a station).

The processor <NUM> may classify a communication-connection procedure into a plurality of states based on a Wi-Fi protocol.

The processor <NUM> may generate a mutated packet in terms of a Wi-Fi station.

<FIG> illustrates an example of a communication-connection state of the vehicular electronic device <NUM> when the vehicular electronic device <NUM> operates as a Wi-Fi access point.

When the vehicular electronic device <NUM> operates as a Wi-Fi access point, the vehicular electronic device <NUM> may be classified into a probe request listening state <NUM>, an association listening state <NUM>, and a connected state <NUM> and may perform communication-connection.

The processor <NUM> may retrieve the vehicular electronic device <NUM> that operates as a Wi-Fi access point. For example, the processor <NUM> may receive a beacon signal transmitted from the vehicular electronic device <NUM> and may retrieve the vehicular electronic device <NUM>.

The processor <NUM> may select the vehicular electronic device <NUM> among a plurality of Wi-Fi access points. For example, the processor <NUM> may select the vehicular electronic device <NUM> based on a basic service set identification (BSSID) included in a beacon signal.

The processor <NUM> may arbitrarily change a state to the probe request listening state <NUM>, the association listening state <NUM>, and the connected state <NUM>.

For example, the processor <NUM> may change the probe request listening state <NUM> to the association listening state <NUM>.

For example, the processor <NUM> may change the association listening state <NUM> to the connected state <NUM> or the probe request listening state <NUM>.

For example, the processor <NUM> may change the connected state <NUM> to the probe request listening state <NUM> or the association listening state <NUM>.

The processor <NUM> may generate a mutated packet in any one state of the probe request listening state <NUM>, the association listening state <NUM>, and the connected state <NUM> and may transmit the generated mutated packet to the vehicular electronic device <NUM>. The processor <NUM> may mutate any one of a probe packet, an authentication packet, and an association packet to generate a mutated packet and may transmit the mutated packet.

When a generated reception packet is not received or a generated abnormal reception packet is received in any one state of the probe request listening state <NUM>, the association listening state <NUM>, and the connected state <NUM> of the vehicular electronic device <NUM>, the processor <NUM> may determine that the vehicular electronic device <NUM> is vulnerable to hacking.

When a reception packet corresponding to a mutated packet is not received or an abnormal reception packet is received in any one state of an initial state, a probe response/beacon listening state, an authentication listening state, an association response listening state, and a connected state of the vehicular electronic device hacking test apparatus <NUM>, the processor <NUM> may determine that the vehicular electronic device <NUM> is vulnerable to hacking.

As exemplified in <FIG>, the processor <NUM> may transmit an original authentication packet to convert the vehicular electronic device <NUM> into the association listening state <NUM>.

The vehicular electronic device <NUM> may generate and transmit an association packet corresponding to an original authentication packet in the association listening state <NUM>.

The processor <NUM> may generate and transmit a mutated association request packet.

When a response signal corresponding to a mutated association request packet is not received, the processor <NUM> may determine that the vehicular electronic device <NUM> is vulnerable to hacking.

<FIG> is a diagram for explanation of a vehicular electronic device hacking test apparatus based on a Wi-Fi protocol according to an embodiment of the present invention.

<FIG> is a diagram for explanation of an operation of the vehicular electronic device hacking test apparatus <NUM> when the vehicular electronic device <NUM> operates as a client (or a station).

In <FIG>, the vehicular electronic device hacking test apparatus <NUM> may operate as a Wi-Fi access point.

The processor <NUM> may generate a mutated packet in terms of a Wi-Fi access point.

<FIG> is a diagram showing an example of a communication-connection state of the vehicular electronic device <NUM> when the vehicular electronic device <NUM> operates as a client (or a station).

When the vehicular electronic device <NUM> operates as a Wi-Fi client (or a station), the vehicular electronic device <NUM> may be classified into an initial state <NUM>, a proberesp/beacon listening state <NUM>, an authentication listening state <NUM>, an association response listening state <NUM>, and a connected state <NUM> and may perform communication-connection.

The processor <NUM> may generate and transmit a beacon signal. The processor <NUM> may receive a response signal corresponding to the beacon signal, and then may generate a mutated packet.

The processor <NUM> may receive any one of a probe packet, an authentication packet, and an association packet from the vehicular electronic device <NUM> that operates as a Wi-Fi client (or a station).

The processor <NUM> may generate and transmit a mutated response packet in response to the received packet. The processor <NUM> may mutate any one of a probe response packet, an authentication response packet, and an association response packet to generate a mutated packet and may transmit the mutated packet.

When a generated reception packet is not received or a generated abnormal reception packet is received in any one state of the initial state <NUM>, the probe-resp/beacon listening state <NUM>, the authentication listening state <NUM>, the association response listening state <NUM>, and the connected state <NUM> of the vehicular electronic device <NUM>, the processor <NUM> may determine that the vehicular electronic device <NUM> is vulnerable to hacking.

When a reception packet corresponding to a mutated packet is not received or an abnormal reception packet is received in any one state of a probe request listening state, an association listening state, and a connected state of the vehicular electronic device hacking test apparatus <NUM>, the processor <NUM> may determine that the vehicular electronic device <NUM> is vulnerable to hacking.

As shown in <FIG>, the processor <NUM> may transmit the original packet up to the initial state <NUM>, the proberesp/beacon listening state <NUM>, and the authentication listening state <NUM> of the vehicular electronic device <NUM>.

The vehicular electronic device <NUM> may enter the association response listening state <NUM>, and then the processor <NUM> may transmit a mutated association response packet.

The processor <NUM> may monitor whether a disassociation packet is received. When the disassociation packet is not received, the processor <NUM> may determine that the vehicular electronic device <NUM> is vulnerable to hacking.

<FIG> and <FIG> are diagrams for explanation of a vehicular electronic device hacking test apparatus based on a Bluetooth protocol according to an embodiment of the present invention.

Referring to the drawings, the processor <NUM> may classify a communication-connection procedure into a plurality of states based on a Bluetooth protocol.

The Bluetooth protocol may include L2CAP, SDP, RFCOMN, and OBEX.

The processor <NUM> may classify a communication-connection procedure into a plurality of states based on at least one of L2CAP, SDP, RFCOMN, or OBEX.

<FIG> and <FIG> are diagrams showing an example of the vehicular electronic device hacking test apparatus <NUM> based on L2CAP of a Bluetooth protocol.

The vehicular electronic device <NUM> may classify communication-connection into four states and may perform communication-connection.

In each state, the vehicular electronic device hacking test apparatus <NUM> and the vehicular electronic device <NUM> may transmit and receive a packet.

As shown in <FIG>, until the vehicular electronic device <NUM> is changed to a <NUM>th state <NUM>, a first state <NUM>, and a second state <NUM>, the processor <NUM> may transmit the original packet to the vehicular electronic device <NUM>.

In a state in which the vehicular electronic device <NUM> is converted into the second state <NUM>, the processor <NUM> may mutate a configuration request packet and may transmit a mutated packet.

Then, when a configuration response packet is not received within a preset time, the processor <NUM> may determine that the vehicular electronic device <NUM> is vulnerable to hacking.

Claim 1:
A vehicular electronic device hacking test apparatus (<NUM>) comprising:
a transmitter (<NUM>);
a receiver (<NUM>); and
a processor (<NUM>) configured to classify a communication-connection procedure into one state out of a plurality of states (<NUM>, <NUM>, <NUM>) based on a preset communication protocol, to generate a first mutated packet (<NUM>, <NUM>, <NUM>) appropriate for the state within which the communication-connection procedure has been classified, and to transmit the first mutated packet to a vehicular electronic device through the transmitter (<NUM>),
wherein the processor (<NUM>) is further configured to:
randomly determine a next state among the plurality of states (<NUM>, <NUM>, <NUM>), in case that a first reception packet corresponding to the first mutated packet (<NUM>, <NUM>, <NUM>) is received through the receiver (<NUM>),
generate a second mutated packet (<NUM>, <NUM>, <NUM>) appropriate for the randomly determined next state, and
transmit the second mutated packet (<NUM>, <NUM>, <NUM>) appropriate for the randomly determined next state to the vehicular electronic device through the transmitter (<NUM>),
wherein the first mutated packet (<NUM>, <NUM>, <NUM>) is generated by mutating a portion of an original packet to be transmitted in the state within which the communication-connection procedure has been classified and the second mutated packet (<NUM>, <NUM>, <NUM>) is generated by mutating a portion of an original packet to be transmitted in the randomly determined next state,
wherein the processor (<NUM>) is further configured to mutate an arbitrary portion of an information payload of the original packet to generate the first mutated packet (<NUM>, <NUM>, <NUM>) or the second mutated packet (<NUM>, <NUM>, <NUM>),
wherein the processor (<NUM>) is further configured to determine whether the vehicular electronic device is vulnerable to hacking based on whether the first reception packet corresponding to the first mutated packet (<NUM>, <NUM>, <NUM>) or a second reception packet corresponding to the second mutated packet is received through the receiver (<NUM>).