Open main menu

DAVE Developer's Wiki β

Changes

Embedded systems security and IoT

1,486 bytes added, 07:35, 8 July 2016
Examples
==Introduction==
Some weeks ago DAVE Embedded Systems Technical support service was addressed by a customer reporting a problem he was experiencing on old ARM7-based product running Linux kernel 2.4. Even : even if the machine configuration was not changed, it suddenly became very slow when performing ordinary tasks.
A specific support ticket was created and a failure analysis was conducted in order to determine the root cause of this behavior, apparently unexplainable. It was found out that a virus - in the form of an ELF executable - was uploaded by an attacker [1]. Two instances of this executable were running when the machine when it was analyzed. These processes overloaded the processor, causing the overall slowing down of the machine, as reported by the customer. Likely this virus has had been used to perform illegitimate actions on the Internet such as [[https://en.wikipedia.org/wiki/Denial-of-service_attack DDoS]attacks].
The machine was initially installed in a severely controlled private LAN with no access to the Internet. Then it was configured with a public static IP address and was moved to public network connected to the Internet. However, it was not verified that the original configuration is suited for such a use. From the security perspective, the system was affected by clear vulnerabilities such as the use of <code>telnet</code> service, combined with a weak <code>root</code> password. Thus it was trivial for the attacker to get access to the machine with <code>root</code> privileges. The protection level was so low, that maybe the attack was even carried out by an automatic hacking toolwithout human intervention.
This anecdote proves one again that, when it comes to security in Internet-based applications, embedded systems are very similar to traditional IT equipments. However, they are much more complex because of their heterogeneity in terms of hardware/software configurations. Also, network-related security is just one of the facets of the overall security that the system integrator needs to deal with. It is worth pointing out that the huge group of embedded systems include so-called IoT devices. As such, the general security principles and practices are valid for this class of devices as well.
This document aims to raise system integrators awareness of these issues and to provide some practical suggestions general guidelines based on real-world applications. It is not intended to be an exhaustive guide to embedded systems security. Interested readers are encouraged to deepen their own understanding of these issues by independent reading in the relevant technical literature (see for example <ref name="name">D. Kleidermacher, M. Kleidermacher, ''Embedded Systems Security: Practical Methods for Safe and Secure Software and Systems Development'', https://www.amazon.com/Embedded-Systems-Security-Practical-Development/dp/0123868866</ref>).
This article is not a
In the last eighteen months IoT
[1] See also https://www.virustotal.com/en/file/1917f27f64fe8770e43a8087ad4529593dfb3cc4d9317ababb91e3bfea60a179/analysis/.
==Examples==
''Security is a process, not a feature''
 
This effective sentence<ref name="PRQA1">PRQA, ''Addressing security vulnerabilities in embedded applications using best practice software development processes and standards'', 2016</ref> describes very well how the security should be thought of: a methodology that pervasively embraces all the design/development stages, from the system inception to the final deployment.
Another important general concept that should never be forgotten is the holistic approach. Securing the house-door with the safest lock is pointless if the windows are left open. [[File:5561211 700b v1.jpg|right|200px]]
 
 
'''Deployment'''
 
 
 
'''Android-based systems'''
[1] See also https://www.virustotal.com/en/file/1917f27f64fe8770e43a8087ad4529593dfb3cc4d9317ababb91e3bfea60a179/analysis/.Android
Security is a process, not a feature <ref name="PRQA1">PRQA, ''Addressing security vulnerabilities in embedded applications using best practice software development processes and standards'', 2016</ref>
'''Long-term software maintenance'''
When a new product is conceived,
holistic approach
analisi static del codice'''Static code analysis'''==References=={{reflist}}
4,650
edits