DornerWorks

Building Secure and High-Performance Software Products with seL4 and NVIDIA Hardware

Posted on April 24, 2023 by Matthew Russell

Do you want to build software products that are both secure and high performing? If so, you need a strong foundation that can deliver both.

The combination of seL4 and NVIDIA hardware, such as TX2 and TX NX, can provide just that.

The seL4 Microkernel and its Benefits

Real-world examples of software products that could leverage the combination of seL4 and NVIDIA hardware include autonomous vehicles, robotics and defense applications.

seL4 is a microkernel-based operating system that provides a secure foundation for software products. It is important for software developers to consider seL4 as a foundation for their products because it is formally verified, meaning that its design and implementation have been mathematically proven to be correct, secure, and reliable. This makes it a highly trusted and secure option for building critical software systems that require high levels of assurance, such as those used in the defense, aerospace, and medical industries.

By building software products on the secure foundation of the seL4 microkernel, developers can enable highly secure and reliable systems that are less prone to vulnerabilities and failures.

NVIDIA Hardware Capabilities

NVIDIA specializes in graphics processing units (GPUs) and artificial intelligence (AI) technology. What makes NVIDIA hardware special is its advanced processing capabilities, particularly in AI and deep learning, which enable it to handle complex computing tasks more efficiently than traditional processors. Additionally, NVIDIA hardware is optimized for high-performance computing and is widely used in various industries such as gaming, data centers, and autonomous vehicles.

The NVIDIA TX2 and TX NX platforms are powerful hardware solutions that offer exceptional performance and features for a wide range of applications. The TX2 is a compact, energy-efficient module designed for embedded applications, while the TX NX is a high-performance, compact module with advanced AI capabilities. Both platforms offer exceptional processing power, low power consumption, and a range of hardware accelerators that make them ideal for AI, robotics, and autonomous applications. The TX NX also offers advanced security features such as hardware-based cryptography, secure boot, and secure key storage.

Combine seL4 and NVIDIA Hardware for Secure and High-Performance Products

When it comes to building software products, one of the key considerations is selecting a foundation that can provide both security and performance. This is where the combination of seL4 and NVIDIA hardware comes into play. seL4 has been rigorously tested and proven to have excellent security properties, while NVIDIA hardware such as the TX2 and TX NX platforms offer high-performance computing capabilities. By combining these two technologies, developers can create powerful and secure systems that meet the needs of a wide range of applications.

Here are a few key advantages:

  • Highly secure systems: seL4’s proven security properties make it an ideal foundation for systems that need to be highly secure. By building on top of seL4, developers can create systems that are less susceptible to attacks such as buffer overflows and privilege escalation.
  • Deterministic behavior: seL4’s microkernel architecture provides a high level of determinism, meaning that the behavior of the system is predictable and consistent. This is particularly important in real-time systems, where even slight variations in behavior can have significant consequences.
  • High performance: NVIDIA hardware such as the TX2 and TX NX platforms are designed for high-performance computing. These platforms offer powerful processing capabilities that can handle demanding workloads and provide real-time performance.

When seL4 is combined with NVIDIA hardware, developers can create systems that take advantage of both technologies. For example, a developer building a drone that needs to operate in a secure environment could use seL4 as the foundation of the software, while leveraging the high-performance capabilities of the NVIDIA TX2 or TX NX platform to process data in real-time.

DornerWorks embedded engineer Chris Guikema helped port seL4 to the TX2 and TX NX platforms. Guikema says he was brought on the project when it was already in progress, to help with a virtualization issue.

“seL4 already supports the TX2 platform upstream so it wasn’t like we had to go through and create an entirely new port by ourselves,” Guikema says. “We were able to leverage a lot of what was already existing.”

One problem that arose was related to the device tree. Specific memory regions for the software conflicted with regions the seL4 kernel was trying to use.

“The behavior was a little sporadic, things weren’t working properly, the way we were expecting,” Guikema says. “I came in and cleaned up some things so that way everyone was working on the same page. I discovered that the NVIDIA boot loaders and tool chains and everything were making modifications to the device tree, so the stock device tree that the seL4 kernel was referencing didn’t match the device tree that a running version of Linux was using.”

Guikema pulled up a working version of the device tree, that which Linux was using.

“By using that device tree with seL4, we were able to solve a lot of the issues and get a good virtualization functioning on the TX2 chip,” Guikema says.

Based on the success of that portion of the project, the customer asked DornerWorks to run seL4 on the TX NX.

“We followed the process of creating a new sub platform and provided the new device tree using the same methods, created a new project and were able to get everything functioning on that new board as well,” Guikema says.

Use Cases for seL4 and NVIDIA Hardware

An industrial control system (ICS) is one example of a software product that can benefit from the combination of seL4 and NVIDIA hardware.

Imagine an oil refinery where an ICS is used to control the various processes involved in the refining of crude oil. In this scenario, the ICS needs to be highly secure to prevent unauthorized access and ensure the safety of the workers and the environment.

By building the ICS on the seL4 microkernel and using NVIDIA hardware, developers could create a system that is not only highly secure but also offers high performance and deterministic behavior. The seL4 microkernel ensures that the system is protected from malicious attacks, while the NVIDIA hardware provides the necessary computing power to run complex control algorithms in real-time.

Real-world examples of software products that could leverage the combination of seL4 and NVIDIA hardware include:

  • Autonomous vehicles: Autonomous vehicle platforms require high levels of safety and security, as well as real-time performance for sensor processing and decision-making.
  • Robotics applications: Robotic systems can also benefit from the combination of seL4 and NVIDIA hardware. Robotics applications such as drones and industrial robots require both high-performance computing power and real-time processing capabilities, as well as the ability to separate critical applications from non-critical demands.
  • Military applications: Unmanned aerial vehicles (UAVs) and battlefield communication systems could also benefit from this combination. These systems require high levels of security and reliability, and seL4 and NVIDIA hardware provide the necessary foundation for building such systems.

The combination of seL4 and NVIDIA hardware can accelerate the development of software products that require high levels of security, real-time performance, and determinism. Considering the proliferation of NVIDIA silicon, there’s a good chance it might also align with your team’s legacy systems and knowledge base.

“A lot of times customers will choose hardware based on what they’re familiar with,” Guikema says. “NVIDIA is a large chip supplier. They have a lot of low-cost chip options optimized for use in fields like AI. So, you now can take an artificial intelligence application and secure it with seL4. That tells a good security story and a good innovation story as well.”

A Secure Foundation for Your Embedded Products

seL4 and NVIDIA hardware, such as TX2 and TX NX, offer an ideal foundation for software products that require high levels of security and performance. When combined, seL4 and NVIDIA hardware offer highly secure systems, deterministic behavior, and high performance.

As Guikema points out, the ability to containerize AI systems as seL4 enables is an ideal feature to provide the system with specific set of resources without worrying that it could overstep boundaries of trust or security.

This technology is an ideal choice for companies that are looking to build a new product, modernize an existing product, or build a product that requires high levels of security and performance. Schedule a meeting with our team when you are ready to turn your secure product ideas into reality.

Matthew Russell
by Matthew Russell