Rust is a general-purpose programming language praised for its performance, productivity and – perhaps most importantly – safety.
Originally sponsored by Mozilla, Rust was first released in 2015. Unikie was an early adopter for the programming language, as the company started using Rust in 2018 and trained a number of developers to use it.
Today, Rust is often recommended to Unikie’s customers when there is a need for a modern, high-performing solution with safety and security built-in already on the programming language level.
What Makes Rust so Secure?
When talking about software security, it is good to remember that security is a wide and complex topic – the selected programming language is just one piece of the puzzle.
However, language selection matters. The selected language can provide protection for certain types of software vulnerabilities. For example, the programming language can provide improved protection for buffer overflow attacks, arbitrary code execution or DoS attacks.
Still today, buffer overflows remain one of the most common software vulnerabilities. Rust, being a memory-safe language, basically eliminates these vulnerabilities on language level.
Instead of relying on traditional garbage collection, Rust utilises a so-called borrow checker, a mechanism that tracks the lifetime of every object and prevents memory access outside this lifetime. Rust does this check already at compile time – if the code tries to access memory outside of its lifetime, the program simply will not compile. So, Rust allows you to explicitly express when the lifetime ends and prevent other actors from misusing the memory.
Further, Rust utilises an ownership model that helps writing concurrent code. Basically, each object always has an owner. When an object is accessed, its properties are checked whether it can be moved to a different thread or shared between threads. Since this is done automatically by the compiler, it’s referred to as fearless concurrency – if the program compiles, you as a developer have nothing to fear, everything will just work.
Why Should You Consider Moving to Rust?
Rust is a programming language that is essentially made for secure applications. Today, security is a central part of all applications, and having added security already on the programming language level is very important.
As a modern programming language, Rust takes a lot of good design decisions from the past, learning from the mistakes made in other languages. It does not compromise performance, which is a major factor for embedded applications with less CPU power available. As there is no need for garbage collection and much of the error handling is done already at compile time, Rust is on par with C and C++ when it comes to performance.
Especially for experienced developers with some background in C, the transition and learning curve to Rust is not too steep. From a developer perspective, Rust allows you to have more confidence in your code, improve your code quality and enable unit testing on a level that is not possible with other languages, for example.
For customers, the promise of Rust is clear: it helps Unikie to create premium, secure code and ship reliable software that has less vulnerabilities and does not break under heavy load.
In this video, Unikie’s Jiri Uitto, CTO for Defence & Security talks about the benefits of Rust with Embedded Software Engineer Vadim Kaushan.
Learn more about Unikie’s offering for Embedded security.


