4.7 Case Study of the Development …
359
As a result, the synthesized code remained undetectable for functional tests, since
none of the Trojans modified the functionality of the Alpha device core. DOS attack
in nature affects the operation of the device. Using the triggering mechanism, the
DoS Trojan can remain in a sleep state for some time after the tests for operation.
Support power and memory usage were preserved to reduce the space taken up
by the Trojan. Before triggering, the Trojan may remain asleep and therefore does
not introduce additional power consumption. Also combining the whole Trojan and
built-in functions, you can get a double gain from the increase in HDL secrecy
and minimize power consumption and memory. The same integrated approach was
applied by the team from Yale University, which took the second place: The code
base of the original Alpha device was significantly optimized to provide freedom
for the attacking structure (for parameters such as lines of code, logic resources, and
power consumption) and to implement various hardware Trojan versions [223].
Triggering a Trojan
Some Trojans start to work on power-ups, while others remain in sleep mode until they
receive explicit instructions to start work. This instruction ensures the triggering of a
Trojan and can generally be as varied in shape as Trojans themselves. The triggering
mechanism is related to the spatial location of the attacker that was discussed before,
because the attacker controls this start. There is a single triggering mechanism that
is expected by the Trojan, without detailing how it was organized. The authors [156]
are very focused on organizing real attacks of Trojans, without considering them at
random. Naturally, the authors included various triggering mechanisms.
The triggering mechanism, like a Trojan, should also be well hidden to avoid
detection, but its design should also be well thought out so that random events do
not inadvertently trigger it. The triggering mechanism should take into account the
factor “spatial approximation of the attacker”: his device should determine whether
the attacker will activate the triggering mechanism from the outside, or another
condition will trigger it. This can be a time delay or setting a condition that will
occur after a certain time (the number of keystrokes, the distance to move, if the
device has a GPS unit, etc.). If the attacker always has access to the communication
channel, then the triggering can be initiated by a unique data package. With closer
spatial access, there are even more possibilities: light control on an optical sensor,
a specialized memory card, a rare pattern either from the keyboard or by using any
buttons on the device, etc. There are an infinite number of triggering events, but they
all serve the same purpose—to notify the Trojans of the fact of the event.
Types of attacks implemented
The organization of information leakage through the standard channel in series
RS232 (first version)
Three variations of a Trojan using the standard RS232 module to modify the data
transfer process (Fig. 4.35) were created. Each Trojan requires a “close” location
to the communication channel, since information leakage occurs in the process of
359
As a result, the synthesized code remained undetectable for functional tests, since
none of the Trojans modified the functionality of the Alpha device core. DOS attack
in nature affects the operation of the device. Using the triggering mechanism, the
DoS Trojan can remain in a sleep state for some time after the tests for operation.
Support power and memory usage were preserved to reduce the space taken up
by the Trojan. Before triggering, the Trojan may remain asleep and therefore does
not introduce additional power consumption. Also combining the whole Trojan and
built-in functions, you can get a double gain from the increase in HDL secrecy
and minimize power consumption and memory. The same integrated approach was
applied by the team from Yale University, which took the second place: The code
base of the original Alpha device was significantly optimized to provide freedom
for the attacking structure (for parameters such as lines of code, logic resources, and
power consumption) and to implement various hardware Trojan versions [223].
Triggering a Trojan
Some Trojans start to work on power-ups, while others remain in sleep mode until they
receive explicit instructions to start work. This instruction ensures the triggering of a
Trojan and can generally be as varied in shape as Trojans themselves. The triggering
mechanism is related to the spatial location of the attacker that was discussed before,
because the attacker controls this start. There is a single triggering mechanism that
is expected by the Trojan, without detailing how it was organized. The authors [156]
are very focused on organizing real attacks of Trojans, without considering them at
random. Naturally, the authors included various triggering mechanisms.
The triggering mechanism, like a Trojan, should also be well hidden to avoid
detection, but its design should also be well thought out so that random events do
not inadvertently trigger it. The triggering mechanism should take into account the
factor “spatial approximation of the attacker”: his device should determine whether
the attacker will activate the triggering mechanism from the outside, or another
condition will trigger it. This can be a time delay or setting a condition that will
occur after a certain time (the number of keystrokes, the distance to move, if the
device has a GPS unit, etc.). If the attacker always has access to the communication
channel, then the triggering can be initiated by a unique data package. With closer
spatial access, there are even more possibilities: light control on an optical sensor,
a specialized memory card, a rare pattern either from the keyboard or by using any
buttons on the device, etc. There are an infinite number of triggering events, but they
all serve the same purpose—to notify the Trojans of the fact of the event.
Types of attacks implemented
The organization of information leakage through the standard channel in series
RS232 (first version)
Three variations of a Trojan using the standard RS232 module to modify the data
transfer process (Fig. 4.35) were created. Each Trojan requires a “close” location
to the communication channel, since information leakage occurs in the process of
