Safety and security of software in IoT embedded systems: key points
These days you hardly find even an elementary electronics system without embedded software. The IoT is all about integrating software powered embedded-system not only in electronics sys, but into any device which need some human control/monitor. The safety and security of electronic systems in terms of safety to the system itself as well as to its user and the environment is critical, not only in applications such as aerospace and defence, but also many other popular applications such as consumer electronics due to the important role electronics systems play in our daily life. IoT technology is all about pervasive embedded devices.
Nobody will buy into the idea of self driving car, use of robot at home until it is proven that they are robust and reliable. Smart home system can turn devastating if they can be hacked. At a recently held embedded systems safety and security event organized by LDRA in Bangalore, experts in this domain shared some of the thoughts, experiences and suggestions on how to ensure safety and security of electronic systems which have embedded a piece of software inside it. Below are some of key points shared at the event:
1. In safety and security, experience precedes over the talent, based on the failure/testing experiences, various safety agencies have come out with safety standards. Compliant to the standards ensures a fairly high level of safety and also a trust factor. Some of the safety standards include:
IEC61508: Functional Safety of Electrical/Electronic/Programmable Electronic Safety related systems, IEC60880: Software aspects for computer based systems performing category A functions, DO178: Software considerations in airborne systems and equipment certification, DO254: Design Assurance Guidelines for Airborne Electronic Hardware, EN50128: Software for railway control and protection systems, IEC62304: Medical device software -- Software life cycle processes, ISO26262: Road vehicles –Functional safety.
2. Some of the non-functional software errors which have caused major system failures include: floating-point rounding error, Stack overflow, arithmetic overflow, and divide by zero.
3. The present IOT systems are not fully secure, much of the communication still not encrypted, and also user interface is not secure, to address this crisis and also utilize the opportunity, design IOT systems with security as basis and keep the data as much encrypted as possible.
4. Tools play a pivotal role in the concept to certification of safety critical systems. You can't trust compilers 100%, there are tested reports of generating wrong code by some of the compilers and presented with valid inputs.
5. Always use secure coding practices, to know more on that visit the website https://www.securecoding.cert.org
6. Model-based verification can be considered as one of the most efficient.
7. In vehicles whether automotive or aircrafts, instrument cluster play Important role in the Functional safety.
Author: Srinivasa Reddy N