Title: RTES Security
1RTES Security
- By
- Sami Abo-Nawas
- Shihab Khattab
- Mohamed Al-Mazaida
- Supervised by Dr. Loai Tawalbeh
2Out line
- Security requirements of RTES.
- Attack and Threat Classification.
- Embedded System Security Issues.
- Embedded System Monitoring.
- Design of RTES Security System.
- RTES Software Security.
- RTES Hardware Security.
3Security requirements of RTES
- Basic security functions set of confidentiality,
integrity and authentication requirements. - User identification access to the embedded
system should be restricted to a selected set of
authorized users - Secure network access access to a network or a
service has to be provided only if the device is
authorized - Availability must be available for authorized
users. - Secure storage Data and application must be
protected. - Content security Digital Rights Management (DRM)
protects the rights of the digital content used
in the system. - Tamper resistance Maintaining these security
requirements even when the device falls into the
hands of malicious parties, and can be physically
or logically probed.
4Security requirements of RTES
5Embedded System Security Issues
- WHATS DIFFERENT ABOUT EMBEDDED SECURITY?
- The security techniques developed for desktop
computing might not satisfy embedded application
requirements. - 1- Cost sensitivity.
- 2-Interactive matters.
- 3-Energy constraints.
- 4-Development environment.
6- 1- Cost sensitivity
- Embedded systems are often highly cost
sensitiveeven five cents can make a big
difference when building millions - of units per year. For this reason, most CPUs
manufactured worldwide use 4- and 8-bit
processors, which have limited - room for security overhead. Many 8-bit
microcontrollers, for example, cant store a big
cryptographic key. - 2-Interactive matters
- Many embedded systems interact with the real
world. A security breach thus can result in
physical side effects, including property damage,
personal injury, and even death. Also embedded
systems often perform periodic computations to
run control loops with real-time deadlines
7- 3-Energy constraints
- Embedded systems often have significant energy
constraints, and many are battery powered. Some
embedded systems can get a fresh battery charge
daily, but others must last months or years on a
single battery. By seeking to drain the battery,
an attacker can cause system failure even when
breaking into the system is impossible. - 4-Development environment
- Many embedded systems are created by small
development teams or even lone engineers.
Organizations that write only a few kilobytes of
code per year usually cant afford a security
specialist and often dont realize they need one.
8Attack and Threat Classification
- Attacks generally fall into one of three
categories
- Insider Attack. This may come in form of run-on
fraud by manufacturer (producing additional
identical units of a product to be sold on the
grey market) or a disgruntled employee (willing
to sabotage or sell critical product information,
such as encryption keys, firmware, or other
intellectual property). - Lunchtime Attack. These attacks often take place
during a small window of opportunity, such as a
lunch or coffee break - Focused Attack. Time, money, and other resources
typically are not an issue for a focused attack,
in which the adversary can bring the product into
a private location to analyze and attack with no
risk of being discovered.
9Embedded System Attacks Examples
- 1- Extraction of secret information (e.g.,
reading of cryptographic - key material from a smart card).
- 2- Modification of stored or sensed data (e.g.,
tampering with - utility meter readings).
- 3- Denial of service attack (e.g., reducing the
functionality of a - sensor network).
- 4-Hijacking of hardware platform (e.g.,
reprogramming of TV - set-top box).
- 5-Damaging or destruction of device (e.g.,
overheating of chip - in thermal attack).
10Attack and Threat Classification.CONT
- Attackers are classified into three groups
- Class I (clever outsiders). They are often very
intelligent but may have insufficient knowledge
of the system. They may have access to only
moderately sophisticated equipment. They often
try to take advantage of an existing weakness in
the system, rather than try to create one. - Class II (knowledgeable insiders) They have
substantial specialized technical education and
experience. They have varying degrees of
understanding of parts of the system but
potential access to most of it. They often have
highly sophisticated tools and instruments for
analysis. - Class III (funded organizations). They are able
to assemble teams of specialists with related and
complementary skills backed by great funding
resources. They are capable of in-depth analysis
of the system, designing sophisticated attacks,
and using the most advanced analysis tools. They
may use Class II adversaries as part of the
attack team.
11Attack and Threat Classification.CONT
- Classes of security threat
- Interception (or Eavesdropping). This could be
achieved by monitoring the external interfaces of
the device or by analyzing compromising signals
in electromagnetic radiation, power supply
current fluctuations, or protocol timings. Asset - Interruption (or Fault Generation) An asset of a
product becomes lost, unavailable, or unusable.
An example is a Denial-of-Service attack,
malicious destruction of a hardware device, or
intentional erasure of program or data contents.
Fault generation falls into this class, which
consists of operating the device under abnormal
environmental conditions to intentionally provoke
malfunctions, which may lead to the bypassing of
certain security measures.
12Attack and Threat Classification.CONT
- Classes of security threat
- Modification Tampering with an asset of a
product. Modification is typically an invasive
technique for both hardware and software . Some
cases of modification can be detected with simple
security measures, but other more subtle changes
may be almost impossible to detect. - Fabrication Creating counterfeit objects on a
computing system or product. Fabrication can come
in many forms, including a man-in-the-middle
attack, inserting spurious transactions into a
network, or adding data into a device. Sometimes
these additions can be detected as forgeries, but
if skillfully done, they may be indistinguishable
from the real thing
13Embedded System Monitoring
- 1-Processing Monitor Subsystem
- This monitor compares the stream of information
sent from the processor with the expected
behavior derived from the off-line analysis, If
the comparison logic determines that there is a
discrepancy between the stream of information
from the processor and the monitoring, it
determines that an attack occurred and initiates
an interrupt to the processor. - 2-Thermal Monitor Subsystem
- This monitor collects temperature information at
one or many points of the chip and uses it to
determine if unusual or dangerous patterns
warrant slowing the system clock or halting the
processor.
14Cnt
- 3-Collaborative Monitoring Logic
- Each monitor is specialized to detect particular
conditions and events. In order to more
effectively avoid false-positives and
false-negatives in the attack detection, the
information of multiple monitors can be used to
make a collaborative decision. - EXAMPLE INTERNET THERMOSTATS
- Some thermostats let a homeowner use the
Internet, perhaps via cell phone, to communicate
imminent arrival home after a vacation or a day
at work. - This gives the thermostat time to reach a
comfortable temperature before the owner actually
arrives. However, allowing Internet control of a
thermostat gives rise to several potential
attacks. - 1-Controling.
- 2-Monitoring.
15Design of RTES Security System
- Principles of design
- Establish a sound security policy as the
"foundation" for design. - The security policy identifies
security goals the product should support - Establish a sound security policy as the
"foundation" for design. - Security must be considered during
product design. - Reduce risk to an acceptable level.
- Risk is defined as the combination of
the probability that a particular threat source
will exploit a vulnerability and the resulting
impact should this occur. Elimination of all risk
is not cost effective and likely not possible. - Implement layered security (Ensure no single
point of failure). - Security designs should consider a
layered approach of multiple security mechanisms
to protect against a specific threat or to reduce
a vulnerability
16Design of RTES Security SystemCONT
- Strive for simplicity.
- The more complex the mechanism, the more
likely it may possess exploitable flaws. Simple
mechanisms tend to have fewer exploitable flaws
and require less maintenance. - Minimize the system elements to be trusted
- Isolating all critical content into one
secure area instead of having multiple secure
areas throughout the design. This way, you can
focus on properly securing and testing a single
critical area of the product instead of many
disparate areas. - Do not implement unnecessary security mechanisms.
- Extra measures should not be implemented if
they do not support a goal, as they could add
unneeded complexity to the system and are
potential sources of additional vulnerabilities
17RTES Software Security
- Three factors make managing security risks in
software a major challenge. - Complexity
- More lines of code increases the
likelihood of bugs and security vulnerabilities.
As embedded systems converge with the Internet
and more code is added, embedded system software
is clearly becoming more complex. - Extensibility
- Modern software systems, such as Java and
.NET, are built to be extended. An extensible
host accepts updates or extensions (mobile code)
to incrementally evolve system functionality,
this makes it hard to prevent software
vulnerabilities from slipping in as an unwanted
extension. - Connectivity
- More and more embedded systems are being
connected to the Internet. The high degree of
connectivity makes it possible for small failures
to propagate and cause massive security breaches.
18RTES Software Security...cont
- Software security best practices applied to
various software artifacts in the Software Design
Life Cycle (SDLC)
19RTES Software Security.cont
- The requirements level
- Security requirements must cover both overt
functional security (e.g., the use of applied
cryptography) and emergent characteristics. - The design and architecture level
- A system must be coherent and present a
unified security architecture that takes into
account security principles . - The code level
- Static analysis tools tools that scan
source code for common vulnerabilities can
discover implementation bugs at the code level.
20RTES Software Securitycont
- some recommendations that can be implemented
in the software to help increase the security of
the overall product - Secure Programming Practices Secure programming
practice is essential in any programming
environment. Buffer overflows are possibly the
most familiar and common type of attack against
improperly written programs, which can be used to
crash the device, execute untrusted code, elevate
the privilege of the adversary, or perform
unintended functions. - Storing Secret Components it is extremely
difficult to securely and totally erase data from
RAM and non-volatile memory. This means that
remnants of temporary data, cryptographic keys,
and other secrets may still exist and be
retrievable from devices long after power has
been removed or after the memory contents have
been rewritten. Because of this, the current best
practice is to limit the amount of time that
critical data is stored in the same regions of
memory.
21RTES Software Securitycont
- Run Time Diagnostics and Failure Modes Run-time
diagnostics should be designed into the system to
ensure that the device is fully operational at
all times. It is also important to know how your
system will respond to failures, either in a
"fail open" or "fail closed" fashion. - Field Programmability Many vendors provide
updated software for their products on public
facing Web sites. An attacker could easily
disassemble and analyze the code with no risk of
detection. Encryption is a much better solution
for secure software distribution. In addition,
using digital signatures or hashes will verify
that the software image has not been tampered
with after leaving the vendor. - Obfuscation such as, using a custom operating
system, scrambling address lines through extra
logic, writing lousy code that may be difficult
to reverse engineer, and adding spurious and
meaningless data on unused pins or interfaces
(known as"signal decoys").
22RTES Hardware Security
- RTES Hardware security classified into two level
- Enclosure
- Circuit board
23RTES Hardware SecuritycontEnclosure level
- External Interfaces
- Typical interfaces include Firewire1, USB2,
RS232, Ethernet, or JTAG IEEE 1149.13. - These interface can be accessed and propped to
determine there functionality by monitoring the
test points for any device-generated signals such
as a multimeter, oscilloscope, or logic analyzer - Once the interface is known, it is trivial for an
attacker to monitor the communications using a
dedicated protocol analyzer (e.g., CATC) or
software-based tool, such as SnoopyPro for USB,
SysInternals' PortMon for serial (RS232) and
parallel port, and Ethereal for network
protocols.
24RTES Hardware SecuritycontEnclosure level
- External Interfaces
- Example 1
- External interfaces on a hardware
authentication device
- External Interfaces
- Example 1
- xda-developers.com discovered an attack
against an XDA device through its JTAG interface
. Although the XDA does not have an external
interface specifically used in the attack, the
unit simply had to be unscrewed and wires
attached to the proper test points. The JTAG
functionality was still enabled on the board and
was used to read and write the internal Flash
ROM.
25RTES Hardware SecuritycontEnclosure level
- External Interfaces
- Use the following techniques to avoid such threat
- Use caution when connecting to the "outside
world". - No secret or critical components should be able
to be accessed through the external interface. - Remove external programming or test interfaces
although this may increase complexity of
manufacturing or field upgradeability at the
expense of security. - JTAG functionality should be removed from
operational modes if at all possible.
26RTES Hardware SecuritycontEnclosure level
- Tamper Mechanisms
- The goal of tamper mechanisms is to prevent any
attempt by an attacker to perform an unauthorized
physical or electronic action against the device. - Tamper mechanisms are divided into four groups
resistance, evidence, detection, and response. - existing tamper mechanisms can only be discovered
by attempted or complete disassembly of the
target product.
27RTES Hardware SecuritycontEnclosure level
- Tamper Mechanisms
- Tamper Resistance This can include such features
as hardened steel enclosures, locks,
encapsulation, or security - Consider implementing one-way screws that will
offer additional tamper resistance. - Implement tight airflow channels will increase
the difficulty of optical probing of the product
internals using fiber optics. - Seale both sides of the housing together ,
Consider sealing the housing with
high-temperature glue or ultrasonic welding to
reduce tampering. - Encapsulate the entire circuit board with
resistant resin or epoxy compound to protect the
circuitry. - In order to protect against a chemical attack
that removes the encapsulation, aluminum powder
can be added to the compound
28RTES Hardware SecuritycontEnclosure level
- Tamper Mechanisms
- Tamper Evidence The goal of tamper evidence is
to ensure that there is visible evidence left
behind when tampering occurs. - Brittle plastics or enclosures that crack or
shatter upon an attempted penetration may be
suitable in certain environments. - "Bleeding" paint, where paint of one color is
mixed with tiny spheres of a contrasting color
paint which rupture when the surface is scratched
is a novel solution.
29RTES Hardware SecuritycontEnclosure level
- Tamper Mechanisms
- Tamper Detection Tamper detection mechanisms
enable the hardware device to be aware of
tampering and typically fall into one of three
groups - Switches such as microswitches, magnetic
switches, mercury switches, and pressure contacts
to detect the opening of a device. - Sensors such as temperature and radiation sensors
to detect environmental changes, voltage and
power sensors to detect glitch attacks, radiation
sensors for X-rays and ion beams . - Circuitry such as flexible circuitry, nichrome
wire, and fiber optics wrapped around critical
circuitry or specific components on the board.
These materials are used to detect if there has
been a puncture, break, or attempted modification
of the wrapper.
30RTES Hardware SecuritycontEnclosure level
- Tamper Mechanisms
- Tamper Response Tamper response mechanisms are
the countermeasures taken upon the detection of
tampering. - Most often, the response consists of completely
shutting down or disabling the device, or erasing
critical portions of memory to prevent an
attacker from accessing secret data. - Response mechanisms may also be simpler, such as
just log the type of attack detected and the time
it occurred.
31RTES Hardware SecuritycontEnclosure level
- Emissions and Immunity
- All electronic devices generate
electromagnetic inference (EMI) in one form or
another. - EMI emissions Analyzing the emitted RF to get
secret information about the product techniques
such as ,Differential Power Analysis (DPA) and
Simple Power Analysis (SPA) are used . - Immunity directing high-energy RF (HERF) signals
or directing electrostatic discharge (ESD) at the
product in order to cause failures - EMI shielding can easily be designed in or
retrofitted to a design in the form of coatings,
sprays, tapes, or housings in order to decrease
emissions and increase immunity.
32RTES Hardware SecuritycontBoard level
- Physical Access to Components
- Reverse engineering the target product usually
requires one to determine the part numbers and
device functionality of the major components on
the board - To increase the difficulty of reverse engineering
and device identification, it is recommended that
all markings be scratched off the tops of the
chips. - Using BGA packages increases the difficulty of
casual probing, manipulation, and attack, due to
the fact that all die connections are located
underneath the device packaging - The device can be removed and a socket can be
added, so, It is recommended to place critical
devices in areas of the circuit board that may
not have enough area or vertical height around
the component for a socket to be properly
mounted.
33RTES Hardware SecuritycontBoard level
- Physical Access to Components
- It is also recommended to add some type of epoxy
encapsulation or glue to help prevent easy
removal of components - Another solution is to employ Chip-on-Board (COB)
packaging, in which the silicon die of the
integrated circuit is mounted directly to the PCB
and protected by epoxy encapsulation.
34RTES Hardware SecuritycontBoard level
- PCB Design and Routing
- Traces should remain as short as possible.
- Differential signal lines should be aligned
parallel even if located on separate layers. - Noisy power supply lines should be kept away from
sensitive digital and analog lines. - Properly designed power and ground planes should
be employed to reduce EMI emissions. - any unnecessary test points should be removed
from the design, as they allow unwanted noise and
interference to pass through the PCB. - Critical traces should be hidden on inner board
layers and trace paths should be obfuscated to
prevent easy reverse engineering of circuitry. - Use buried vias, which connect two or more inner
layers but no outer layer and cannot be seen from
either side of the board.
35RTES Hardware SecuritycontBoard level
- Memory Devices
- Some memory devices employ security features to
prevent regular device programmers from reading
stored data, such as physical fuses on ROMs and
boot-block protection in Flash. - The Dallas Semiconductor DS2432 EEPROM is an
example of a secure memory device that uses the
Secure Hash Algorithm (SHA-1) and a user-provided
write-only secret to protect stored data. - The Atmel CryptoMemory family of devices25
includes EEPROMs and synchronous and asynchronous
Flash with authentication, password, and
encryption features. - IC delidding, for the purpose of gaining access
to the silicon die of the IC, is difficult to
perform without the use of proper tools because
hazardous chemicals are often required and the
underlying die is very fragile. - Advanced memory management consists of using an
FPGA or other circuitry to perform hardware-based
bounds checking by monitoring the address bus or
buses.
36RTES Hardware SecuritycontBoard level
- Power Supply
- Precautions should be taken to prevent
intentional variation of the power and clock. - Minimum and maximum operating limits should be
defined and protected using comparators,
watchdogs, or supervisory circuitry. - Using a low-dropout linear regulator or DC-DC
converter will help ensure that the circuitry in
the product receives power within its expected
range, regardless of an improper voltage supplied
at the input. - To aid in the reduction of EMI, noisy circuitry
(such as power supply components) should be
compartmentalized to one area of the board and
supported with proper filtering. Additionally,
power supply circuitry should be physically as
close to the power input as possible.
37RTES Hardware SecuritycontBoard level
- Clock and Timing
- Timing attacks rely on changing or measuring the
timing characteristics of the circuit and usually
fall into one of two categories - Active timing attacks are invasive attacks
requiring physical access to the clock crystal or
other timing. Circuits that make use of the clock
crystal for accurate timing, such as a time-based
authentication token, could be attacked to "speed
up" or "slow down" time based on the clock
input.. To prevent clock-skewing attacks, a
Phase-Locked Loop (PLL) could be implemented to
help reduce the clock delay and skew within a
device. - Passive timing attacks are non-invasive
measurements of computation time in order to
determine data or device operation. By going with
the notion that different computational tasks
take different amounts of time, it might become
possible to determine secret components or break
the cryptographic system of the device under
attack.
38RTES Hardware SecuritycontBoard level
- I/O Port Properties
- In order to prevent against ESD attacks
(introduced in Section 4.1.3), it is recommended
to design ESD protection devices onto any
connectors or I/O pins that are exposed (such as
keypads, buttons, switches, or displays). ESD
protection can simply be in the form of clamping
diodes or Transient Voltage Suppressor (TVS)
devices. - All unused I/O pins should be disabled or set to
a fixed state.
39RTES Hardware SecuritycontBoard level
- Cryptographic Processors and Algorithms
- There are three classes of cryptography
- 1- Symmetric ciphers
- require the sender to use a secret key to
encrypt data (plaintext) and transmit the
encrypted data (ciphertext) to the receiver. - On receiving the ciphertext, the receiver then
uses the same secret key to decrypt it and
regenerate the plaintext. - Examples of symmetric ciphers include DES, 3DES,
AES, and RC4. - 2- Secure Hash algorithms
- convert arbitrary messages into unique
fixed-length values, thereby providing unique
fingerprints for messages. - Hash functions are often used to construct
Message Authentication Codes (MACs). - Example of Secure Hash algorithms MD5 and SHA.
40RTES Hardware SecuritycontBoard level
- Cryptographic Processors and Algorithms
- 3- Asymmetric algorithms
- Also called public-key algorithm, use a pair of
keys one of the keys locks the data while the
other unlocks it. - Encryption of a message intended for a given
recipient requires only the public key known to
the world, but decryption is only possible with
the recipients private key. - use of the private key (assuming it is kept
secret) provides user or host authentication. - Example
- digital signatures are often constructed using
public key cryptography and secure hashes. The
user can digitally sign a message by encrypting
a hash of it with his private key any one can
verify this signature by decrypting with the
public key.
41References
- 1 David Friedman and David F. Nagle. Building
Scalable Firewalls with Intelligent Network
Interface Cards CMU-CS-00-173. Carnegie Mellon
University School of Computer Science Technical
Report, December 2000. - 2 M. Barbacci, J. Carriere, R. Kazman, M.
Klein, H. Lipson, T. Longstaff, C. Weinstock,
Steps Toward an Architecture Trade-off Analysis
Method Quality Attribute Models and Analysis,
CMU/SEI -97-TR-29, 1997. - 3 D. Nash, T. Martin, D. Ha, and M. Hsiao,
Towards an Intrusion - Detection System for Battery Exhaustion Attacks
on Mobile Computing - Devices, Proceedings of the 2nd International
Workshop on Pervasive - Computing and Communications Security, March
2005 - 4 D. Arora, S. Ravi, A. Raghunathan, and N. K.
Jha. Secure embedded processing through
hardware-assisted run-time monitoring. In Proc.
of the Design, Automation and Test in Europe
Conference and Exhibition (DATE05), pages
178183, Munich, Germany, Mar. 2005.