|

Security in systems engineering

Security

In systems engineering, we differentiate between functional safety and intrusion or IT security. In the past, security often had a lower priority and was sometimes completely neglected. With the introduction of more and more software into systems, security has become an urgent problem. If we don't get security under control, we have a big problem.

Do not forgetRegistration for the GfSE Workshop 2021 on February 4/5, 2021 is open!

Further details on the GfSE workshop and registration here >>

Safety at mechanical level

In the distant past, system users were concerned about burglar resistance, which manifested itself in locks, barriers and the like. Providing security here is relatively simple - but we need to keep an eye on technological change. The spread and use of black powder made knights redundant in the late Middle Ages.

Even in this day and age, we must not ignore the mechanical level. A good example of this is the Theft from cash machinesas was frequently committed in the 2010s. A key step was to drill a hole in the thin housing of the ATM in order to insert a USB stick.

Safety at electrical level

It is also simple and straightforward to provide security for simple electrical systems. Here, the repertoire expands in a similar way to mechanical attacks. "Brute force" in the form of overvoltages or disconnections from the power grid are common here.

In the 80s in particular, many ideas were also taken up by Hollywood: The vault in Die Hard opened due to a deliberate power failure, in which Number 5 Lives a lightning strike causes astonishing changes in the robot's behavior. And in War Games David, the hero of the story, picks a lock by recording a sound signal with a dictation machine and then feeding the signal into the electronics. With a similar trick Steve Wozniak and Steve Jobs had already earned money in the 70s.

Security in software

Software is the reason why security has become an ever greater problem in recent years. This is due to several things: For one, software has drastically more "moving parts". Every variable in the software code can be regarded as a moving part. Accordingly, it is usually impossible to test all system states. The number of lines of code (LoC) is often used as a proxy. A typical error density is between 0.5 and 10 errors per 1000 LoC. The number of LoCs even in simple systems can be in the millions.

The reason why simple systems also have a high LoC is reuse. A simple thermostat, for example, can probably get by with a few thousand lines of code. But to make these lines work, we need an embedded platform, for example a Single-board computer. However, this has a BIOS and an operating system. The actual software most likely uses libraries. Therefore, only a few thousand lines of code were developed for the thermostat, but the overall system consists of much more.

Compromising of components

The danger of built-in components is particularly visible in software: a vulnerability in a built-in component also weakens the entire system. If, for example, a database has a backdoor, the system can still be secure: It won't help if an attacker finds a way to use the backdoor. Such backdoors are not limited to software: There are universal keys for most suitcases, and whose shape has long since ceased to be a secret.

The topic is also currently being discussed in the press with regard to semiconductor production: For example The manufacturers of the 5G network components occupy a key strategic position. one. In addition to the economic risk of a monopoly, there is also a risk of backdoors here. In 2015, there was a scandal in which tiny, unknown components appeared on the motherboards of network components. These were allegedly installed by Chinese companies during production. The investigations are still ongoing.

What to do?

There is no one-size-fits-all solution, but there are a number of techniques to get a grip on security (also here in the blog). These must be applied as a whole in order to be effective. For example, security should be considered from the outset. If we follow "best practices" from the outset during development, this will hardly increase the cost of security. An example of this is No default passwords. At ECS 2018, the head of CEO Secure Thingz appealed to manufacturers to follow the UK's Code of Practice for consumer IoT security to hold.

Another technique is the use of Honeypots or the continuous analysis of data at runtime, as practiced by credit card companies, for example, in order to detect fraud through changes in behavior.

Conclusion

The topic of security will continue to grow in importance over the next few years - decades? - will continue to gain in importance. There is a lot at stake here: incidents can ruin companies and are also playing an increasingly important role in warfare.

In concrete terms, this means: open your eyes and proactively consider security in systems engineering. And for young readers and parents: Here is an industry that will have a gigantic shortage of skilled workers for a while.

Photo by Fábio Lucas on Unsplash

Similar Posts

Leave a Reply