Ubunutu 3
Ubunutu 3
Automated OTA updates go a long way towards simplifying the process, but it is
rarely possible to have full control over devices in the eld. For instance, a user
might have their device turned o� for several weeks, preventing it from receiving
updates. When that machine is turned back on, there may be a brief window in
which it is operating without the latest security xes.
Within data centres and on clouds, Kubernetes has been the industry-standard
container orchestration platform for several years. Indeed, the latest Canonical
Cloud Native Operations survey found that 43.1% of respondents ran applications
either partially or exclusively on Kubernetes, with a further 29.9% evaluating or
planning Kubernetes deployment.2
More recently, the quest to bring computing closer to users and data sources
has seen Kubernetes come to the edge as well. According to the Cloud Native
Computing Foundation’s 2021 survey, edge developers are the largest user
segment for both containers and Kubernetes, with Kubernetes used by 63% of
developers working on edge computing applications in the last 12 months.3
Kubernetes is a natural t for IoT since it o�ers a way to simplify deployment and
management across a vast eet of devices, empowering developers to focus on
their applications rather than the underlying infrastructure. That being said, when
Kubernetes was created, it was not designed to run at the edge. As a result, using
Kubernetes on an IoT device poses signi cant risks.
Combining these complications with device mutability and the sheer scope of
what Kubernetes enables at the edge creates a large attack surface that is almost
impossible to fully police.
2 https://juju.is/cloud-native-kubernetes-usage-report-2022#container-and-kubernetes-usage
3 https://www.cncf.io/wp-content/uploads/2021/12/Q1-2021-State-of-Cloud-Native-development-FINAL.pdf
3
Growing attention from bad actors
To make matters worse, the number and severity of security threats at the edge
are growing rapidly.
In the past, malicious actors have focused more on nding and exploiting
vulnerabilities on servers, laptops, and workstations than on IoT devices. But with
embedded devices becoming more important, proli c, and mass produced, security
researchers and hackers are increasingly turning their attention to the edge.
Hardware integrity
While the security of IoT software is essential, it is also important to consider
the integrity of the edge hardware itself. As devices trend towards increased
computing power and reduced energy consumption, hardware security does not
always keep up, adding a further layer of risk.
Unlike data centre hardware, IoT devices in the eld can be physically accessed by
malicious actors. As such, everything from low-level mainboard components to
debugging interfaces and buses are viable targets, creating an assortment of new
security challenges.
What is MicroK8s?
MicroK8s is a lightweight, CNCF-certi ed, pure upstream Kubernetes distribution
designed not only for clouds and workstations, but also for IoT devices. Created
by Canonical, the company behind Ubuntu, MicroK8s is delivered as a snap – a
containerised software package that bundles Kubernetes together with all of its
dependencies.
4 https://www.iottechnews.com/news/2021/sep/07/kaspersky-attacks-on-iot-devices-double-in-a-year/
4
Most importantly, being a snap, MicroK8s is isolated from underlying systems,
limiting its access to other system services and resources on an IoT device. To truly
address edge security concerns, MicroK8s version 1.25 takes this concept a step
further with strict con nement.
Con nement and permissions are enforced by the Linux kernel security module
AppArmor, alongside other Linux security features. When strictly con ned
MicroK8s is installed, its metadata is examined and used to derive AppArmor
pro les, seccomp lters, device cgroup rules, and traditional permissions.
Together, these ensure total isolation for the Kubernetes runtime.
Perhaps the most important consequence of strict con nement being added to
MicroK8s is that it can now be used with Ubuntu Core.
5
What is Ubuntu Core?
Ubuntu Core is a lean, embedded version of Ubuntu created for the edge.
The main goal of Ubuntu Core is to secure the next generation of IoT devices,
and it achieves this through containerisation. Ubuntu Core itself and all
applications deployed on it are packaged as strictly con ned snaps.
This snap-based paradigm takes the bene ts of strict con nement detailed above
and proliferates them throughout the entire device. All applications are fully
isolated from each other and can only interact with the system through interfaces.
This approach is inherently secure and perfect for IoT devices.
Because all applications running on Ubuntu Core must be strictly con ned, it was
not previously possible to pair it with MicroK8s. Now, Ubuntu Core and MicroK8s
can be combined for a seamless path to secure Kubernetes at scale, optimised for
size, performance, and usability at the edge.
Smart home
Let’s examine a hypothetical application of MicroK8s in a smart home. In this smart
home, the fridge acts as a hub controlling multiple smart devices in the house.
That hub is running Ubuntu Core with MicroK8s.
The workloads on the hub communicate with sensors and other devices around
the house. Critically, these devices must not be in uenced by outside updates that
could cause a malign threat later down the line. All updates must come from a
secure source.