SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Xenbedded:
Xen-based client virtualization for phones and tablets
Kyle Temkin
Chris Patterson
Assured Information Security, Inc.
August 25th, 2016 // XenSummit 2016
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Who are we?
Kyle Temkin
‘Hardware Hacker’ and Security Researcher
Twitter: @ktemkin, Freenode: ktemkin
E-mail: temkink@ainfosec.com
Chris Patterson
Senior Computer Engineer
Freenode: cjp256
E-mail: pattersonc@ainfosec.com
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Why run Xen on Phones/Tablets?
First, and foremost: it’s cool!
} This is the ‘frontier’ of virtualiztion tech–
there’s lots of new stuff to build!
Mobile virtualization also offers more
pragmatic benefits:
} Separation of critical and non-critical tasks.
◦ Thnk Qubes or OpenXT for mobile: different VMs for
different types of activity.
◦ Potential tools to deal with the whole ‘BYOD’ mess.
Pictured: Google Pixel C
Photo: Google Store
} Potential to extend benefits beyond phones/tablets; e.g. to devices
with integrated touchscreens such as car media centers.
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Isn’t ARM support enough?
Q: Xen already supports many ARM processors: shouldn’t it be able to
run on most phones and tablets?
A: Almost. There are still a few things we need:
◦ Hardware support for ARM’s virtualization extensions.
◦ Bootloader support for launching software in hypervisor mode (HYP/EL2).
• It’s easy to find yourself ‘locked out’ of these modes!
First-Stage	Bootloader
(usually	comes	with	SoC;	
often	in	ROM)
Second-Stage	Bootloader
(e.g.	u-boot,	android	
bootloader)
Final	Payload
(Linux,	Xen)
All	too	often,	the	FSBL	drops	down	
to	Supervisor	Mode	(PL1/EL1)... …	leaving	no	way	back	into	PL2/EL2!
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Landing in PL2/EL2
Q: What if the boot chain can’t land me in PL/EL2?
A: If you have to use that device, things will get… interesting.
◦ Best option: convince your vendor to support EL2 on unlocked devices.
◦ Last resort: dust off your hardware hacking skills!
• Samsung CID hacks (developer bootloader)
• Qualcomm TrustZone exploits (chain to get at HVBAR)
- CPU mode All forms of interrupts must be masked in PSTATE.DAIF
(Debug, SError, IRQ and FIQ). The CPU must be in either EL2
(RECOMMENDED in order to have access to the virtualisation extensions)
or non-secure EL1.
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Finding the Right Device
Finding a good phone or tablet to work with can be tricky.
You need a device that:
} Supports the ARM Virtualization Extensions, including a full-featured GIC.
} Provides an “unlockable” bootloader entered in NS-HYP or EL2.
You want a device that:
} Is supported by an open-source Linux variant (for dom0)
} Is closely approximated by an available evaluation board.
} Has an accessible UART “serial port”
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Identify Devices with HYP/EL2 ‘Payloads’
If your device runs Linux 3.7+ (arm32) or Linux 4.3+ (arm64),
checking for HYP/EL2 is easy:
Otherwise, you can compile a simple kernel module to check:
https://github.com/xenbedded/hyp-mode-checks
# dmesg | grep HYP –A 1 #arm32
CPU: All CPU(s) started in HYP mode.
CPU: Virtualization extensions available.
# dmesg | grep EL2 #arm64
CPU: All CPU(s) started at EL2
# #Note: these only work bare-metal!
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Fragmentation of Linux Baselines
Depending on the device, several Linux variants may be available,
including mainline and per-device variants.
Not all Linux forks are created equal:
} If possible, select a device that has reasonable mainline support. (e.g. MSI Primo73)
} Failing that, you may want to look for a fork that deviates less from mainline:
◦ A recent kernel version is usually a good hint.
◦ Another good hint: look at the device tree for your target device. Are many of its compatible
strings supported in mainline?
• Mainline
• Android Variants
• ChromiumOS variants
• linux4tegra
• linux-sunxi
• linux-exynos
• linux-xilinx
• linux-96boards
• … oh, my!
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Approximating HW with Dev Boards
≈
Pixel C
image source: Google Store
NVIDIA Jetson TX1
image source: NVIDIA Dev Blogs
Pairing your device with an evaluation board can dramatically speed up
development.
◦ It helps a lot to have a “known good” environment to test your hardware in.
Is the issue in your code, or with the weird tablet bootloader? Compare and find out!
◦ If you can get one, a JTAG debugger make all the difference!
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Finding UART Consoles
Most– but not all– phones and tablets have a UART surfaced somewhere.
Friendlier devices have externally accessible UARTs; some devices require soldering.
Externally AccessibleInternally Accessible
The Xen-compatible Primo 73’s UART
is accessible both directly on its PCB…
… or, with some configruation, routed
through its internal microSD slot.
Embedded Linux and Android communities are a good first resource for UART pinouts:
you’ll be surprised how often the community has documented how to get UART access!
Original
image.
Credit:
ssvb
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
While the Pixel C has no documented external UART, digging through
some of its firmware reveals an internal USB-to-serial-adapter.
} When the USB-C connector’s CC1 and CC2 pins are pulled down with 5.1Ω
resistors, the device enters ‘debug mode’, and the convert is connected as
below:
} Naturally, we went a little overboard, and our intern (@c4757p) developed a full
fledged open-source-hardware debug adapter for these ports:
◦ https://github.com/xenbedded/pixel-c-support/tree/master/hardware/debug_bridge_r2
Example: Pixel C UART
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Getting Xen onto Your Device
Once you’ve selected a device, the next step is to get Xen to start.
A basic path forward might be:
} Boot a simple, custom hello-world kernel.
} Boot up the Xen kernel alone– get it to crash!
} Provide Xen with its required images, and see how things behave.
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Booting a ‘Hello World’ Kernel
Many devices require their kernels to be encapsulated
in payload-specific image formats.
} ChromiumOS: FIT image with specific contents, prefixed
with signed header
} Many Android Devices: Android-specific boot.img format
} We’ve seen lots of variants on these formats!
Booting a “Hello World” image helps to verify that you
have the particulars of your image format correct.
} Also a great time for a final check for HYP/EL2!
} Good starter example:
https://github.com/andreiw/nexus9_demo
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
(Some People Just Want to)
Watch Xen Crash
Once you can boot an image on your particular device, try swapping
out your ‘hello-world’ kernel for Xen.
} Be sure to build Xen with EARLYPRINTK set up for your board!
Launching Xen...
- UART enabled –
- CPU 00000000 booting –
- Current EL 00000008 –
- Xen starting at EL2 –
- Zero BSS –
- Setting up control registers –
- Turning on paging –
- Ready –
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) No valid device tree
(XEN) ****************************************
(XEN)
(XEN) Reboot in five seconds...
= Victory!
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Getting Xen its Images
Once you successfully have Xen crashing, you’re ready to try a real
boot, which means passing in several necessary ‘images’.
This can be tricky. We expect our bootloader to load:
} The Xen kernel image, typically a zImage/Image;
} A flattened device tree (dtb) describing the target device;
} The dom0 kernel, typically also a Linux zImage/Image; and
} An optional ramdisk (initrd/initramfs).
… but most image formats won’t load all of these!
} We’ll need a next-stage bootloader to make our images available.
◦ u-boot is a popular choice.
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Discharge Boot Adapter
We created Discharge, a simple
image adapter for phones and tablets.
} Combines the images relevant to a Xen boot into
the single-image formats expected by most
consumer device loaders (Android/CrOS).
} ‘Faster’ and significantly lower-footprint than
u-boot; but also significantly less powerful.
◦ If u-boot better fits your use case, use it!
Full MIT-licensed source code:
http://github.com/xenbedded/discharge
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Xen on Your SoC
If things seem broken at first, don’t despair!
You may have to deal with quirks for your particular SoC– or with Xen
behaviors (bugs?) that your new configuration has unmasked.
} This is where things can get complicated. We won’t provide a general method for
moving forward (this talk is too short!), but we will provide examples.
} In particular, see Julien Grall’s slides from Porting Xen on ARM to a new SoC.
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Example:
Tegra Legacy Interrupt Controller
On Tegra systems, a set of Legacy Interrupt Controllers must be
programmed in addition to the core Generic Interrupt Controller (GIC).
} Idea is straightforward: implement Xen support for the Tegra LIC.
Figuring out the best way to do this: less straightforward..
} One working implementation is available online:
We’re currently working to get a proper solution mainlined!
https://github.com/xenbedded/xen/tree/tegra_support_v2
Tegra	LIC
Legacy	
Interrupt	
Controllers
GIC	
Distributor
GIC
CPU	Interface
GIC
CPU	Interface
CPU	0
CPU	1
SPI[n:32] SPI IRQ
IRQ
(Very)	Simplified	View	of	Tegra	Interrupt	Routing
The	Tegra	LIC,	by	default,	
gates	all	Shared	interrupts.
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Client Virtualization:
New Peripheral Support for Xen
Tablets and phones present a huge variety of new peripherals we may
want to virtualize for guest domains:
Virtualizing these devices require three components:
} A device driver running in domain zero; ideally provided by the BSP distribution.
} A backend driver to (e.g.) multiplex access to the physical hardware; and
} A frontend driver to deliver events to the guest kernel.
• Display/GPUs
• Light Sensors
• Flash LEDs
• Touch Sensors
• Cameras
• Wireless/Cellular
• Inertial Sensors
• Fingerprint Sensors
• … and more every day.
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Display and Input Multiplexing
To provide our guests with a high-performance
display capability, our group has worked to
develop a new display technology for Xen.
} Provides a near-native experience for both mobile and
desktop devices, including backend and frontend
drivers for multi-touch and multi-monitor support.
} Includes a full input stack, including PV drivers.
} We won’t go into detail here. This is covered in full by
the next talk in this room (“Display Handler”).
Baseline: X11 and VNC
Display Handler:
Native Look
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Multi-Touch with openxt-kbdfront
Multi-touch input is handled by an
extended version of xen-kbdfront.
} Entirely open; source is GPLv2 and
available on our GitHub.
(http://github.com/xenbedded/openxt-kbdfront)
} Backwards-compatible with xen-kbd,
and thus works with existing backends.
} We may submit our changes as patches
to xen-kbdfront, if well received.
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Goal: Android Support
Support for Android guests is not far off—basic functionality is
working on x86—but work towards this support is still underway.
Challenges still to be solved:
} Blocker: Modern Android versions require* hardware-accelerated video;
so we’ll need to implement a solution for multiplexing access to the host GPU.
} Soft req: Android isn’t as useful on a tablet without mobile-centric power mgmt.,
including intelligent use of host sleep states, paralleling Android’s wakelocks.
} Soft req: Many android applications require services from TrustZone ‘Applets’
(Trustlets), but we now need a guest-aware TrustZone, or equivalent.
*At least, according to Google. Software rendering may be an alternative,
but doesn’t work as-is, and likely isn’t worth pursuing for performance reasons.
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Android: Accelerated Graphics
Android’s SurfaceFlinger compositor– and
many applications– require OpenGL support.
Potential paths forward:
} On x86, HVM guests can run Android under the
VirGL virtualized GPU, which is heavily tied to its
QEMU implementation.
◦ See Rob Herring’s Android-on-QEMU effort.
◦ To support ARM PVH guests, we’d need to develop a PV
transport for the VirGL.
} Raw “API Sharing” solutions – such as the emugl
library used by the Android emulator – also offer
potential solutions.
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Android: TrustZone Implications
In the current implementation, only one trusted enclave is available.
} This is definitely not an optimal architecture for per-guest services, such as
secure password stores, DRM, and cryptographic services.
◦ As a result, we disable guest SMCs: and lose these capabilities altogether! (“No Netflix?”)
} Consider the implications of existing TrustZone escalations (e.g. the QSEE bug)—
do you really want your guests interacting with TrustZone services?
} Potential solution: leverage hypervisor separation to create a service-VM
trusted execution environment (TEE) for per-guest services.
dom0 dom1 dom2
Single	TZ-Enabled	Enclave	
Core	System	Services
TEE	Service	VM
dom0
TEE	Service	VM
dom1
TEE	Service	VM
dom2
dom0 dom1 dom2
Single	TZ-Enabled	Enclave	
Unused?
153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com
Questions and Demo

Más contenido relacionado

La actualidad más candente

Fosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for XenFosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for XenThe Linux Foundation
 
ELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for EmbeddedELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for EmbeddedStefano Stabellini
 
Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Stefano Stabellini
 
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...The Linux Foundation
 
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...The Linux Foundation
 
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...The Linux Foundation
 
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, Huawei
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, HuaweiXPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, Huawei
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, HuaweiThe Linux Foundation
 
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, OracleXPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, OracleThe Linux Foundation
 
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...The Linux Foundation
 
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...The Linux Foundation
 
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...The Linux Foundation
 
QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?Pradeep Kumar
 
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsXPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsThe Linux Foundation
 
System Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and LopperSystem Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and LopperStefano Stabellini
 
BSDCan 2015: How to Port BSD as a Xen on ARM Guest
BSDCan 2015: How to Port BSD as a Xen on ARM GuestBSDCan 2015: How to Port BSD as a Xen on ARM Guest
BSDCan 2015: How to Port BSD as a Xen on ARM GuestThe Linux Foundation
 
XPDS13: Performance Optimization on Xen-based Android Device - Jack Ren, Inte...
XPDS13: Performance Optimization on Xen-based Android Device - Jack Ren, Inte...XPDS13: Performance Optimization on Xen-based Android Device - Jack Ren, Inte...
XPDS13: Performance Optimization on Xen-based Android Device - Jack Ren, Inte...The Linux Foundation
 
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, Citrix
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, CitrixXPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, Citrix
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, CitrixThe Linux Foundation
 
LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondThe Linux Foundation
 

La actualidad más candente (20)

Fosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for XenFosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for Xen
 
XPDS16: Xen Development Update
XPDS16: Xen Development UpdateXPDS16: Xen Development Update
XPDS16: Xen Development Update
 
ELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for EmbeddedELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for Embedded
 
Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)
 
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
 
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
 
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...
 
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, Huawei
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, HuaweiXPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, Huawei
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, Huawei
 
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, OracleXPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
 
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
 
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
 
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
 
QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?
 
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsXPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
 
Xen Project: Windows PV Drivers
Xen Project: Windows PV DriversXen Project: Windows PV Drivers
Xen Project: Windows PV Drivers
 
System Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and LopperSystem Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and Lopper
 
BSDCan 2015: How to Port BSD as a Xen on ARM Guest
BSDCan 2015: How to Port BSD as a Xen on ARM GuestBSDCan 2015: How to Port BSD as a Xen on ARM Guest
BSDCan 2015: How to Port BSD as a Xen on ARM Guest
 
XPDS13: Performance Optimization on Xen-based Android Device - Jack Ren, Inte...
XPDS13: Performance Optimization on Xen-based Android Device - Jack Ren, Inte...XPDS13: Performance Optimization on Xen-based Android Device - Jack Ren, Inte...
XPDS13: Performance Optimization on Xen-based Android Device - Jack Ren, Inte...
 
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, Citrix
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, CitrixXPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, Citrix
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, Citrix
 
LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and Beyond
 

Destacado

XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...The Linux Foundation
 
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...The Linux Foundation
 
XPDS16: XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...
XPDS16:  XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...XPDS16:  XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...
XPDS16: XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...The Linux Foundation
 
Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...The Linux Foundation
 
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGICXPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGICThe Linux Foundation
 
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...The Linux Foundation
 
CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil ...
CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil ...CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil ...
CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil ...The Linux Foundation
 
CIF16: Unikernel.org (Amir Chaudhry, Docker Inc)
CIF16: Unikernel.org (Amir Chaudhry, Docker Inc)CIF16: Unikernel.org (Amir Chaudhry, Docker Inc)
CIF16: Unikernel.org (Amir Chaudhry, Docker Inc)The Linux Foundation
 
CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...
CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...
CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...The Linux Foundation
 
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...The Linux Foundation
 
Linaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARMLinaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARMThe Linux Foundation
 
XPDS16: Xen Project Weather Report 2016
XPDS16: Xen Project Weather Report 2016XPDS16: Xen Project Weather Report 2016
XPDS16: Xen Project Weather Report 2016The Linux Foundation
 
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, IntelXPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, IntelThe Linux Foundation
 
XPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium LabsXPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium LabsThe Linux Foundation
 
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...The Linux Foundation
 
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...The Linux Foundation
 
The ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM ArchitectureThe ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM Architecturesreea4
 
Fosdem17 - Mixed License FOSS Projects
Fosdem17 - Mixed License FOSS ProjectsFosdem17 - Mixed License FOSS Projects
Fosdem17 - Mixed License FOSS ProjectsThe Linux Foundation
 

Destacado (20)

XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
 
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
 
XPDS16: XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...
XPDS16:  XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...XPDS16:  XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...
XPDS16: XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...
 
Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...
 
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGICXPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC
 
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
 
CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil ...
CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil ...CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil ...
CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil ...
 
1 Day Arm 2007
1 Day Arm 20071 Day Arm 2007
1 Day Arm 2007
 
CIF16: Unikernel.org (Amir Chaudhry, Docker Inc)
CIF16: Unikernel.org (Amir Chaudhry, Docker Inc)CIF16: Unikernel.org (Amir Chaudhry, Docker Inc)
CIF16: Unikernel.org (Amir Chaudhry, Docker Inc)
 
CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...
CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...
CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...
 
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
 
Linaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARMLinaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARM
 
XPDS16: Xen Project Weather Report 2016
XPDS16: Xen Project Weather Report 2016XPDS16: Xen Project Weather Report 2016
XPDS16: Xen Project Weather Report 2016
 
ARM Fundamentals
ARM FundamentalsARM Fundamentals
ARM Fundamentals
 
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, IntelXPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
 
XPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium LabsXPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
 
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
 
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...
 
The ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM ArchitectureThe ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM Architecture
 
Fosdem17 - Mixed License FOSS Projects
Fosdem17 - Mixed License FOSS ProjectsFosdem17 - Mixed License FOSS Projects
Fosdem17 - Mixed License FOSS Projects
 

Similar a XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - Chris Patterson & Kyle Temkin, AIS, Inc.

Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvmdfages
 
Attacking Embedded Devices (No Axe Required)
Attacking Embedded Devices (No Axe Required)Attacking Embedded Devices (No Axe Required)
Attacking Embedded Devices (No Axe Required)Security Weekly
 
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Ron Munitz
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1Qualcomm Developer Network
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectYen-Chin Lee
 
Hacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on LinuxHacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on LinuxNetwalker lab kapper
 
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Ron Munitz
 
Easily emulating full systems on amazon fpg as
Easily emulating full systems on amazon fpg asEasily emulating full systems on amazon fpg as
Easily emulating full systems on amazon fpg asRISC-V International
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Ron Munitz
 
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...Sergey Gordeychik
 
Starting Raspberry Pi
Starting Raspberry PiStarting Raspberry Pi
Starting Raspberry PiLloydMoore
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesChris Simmonds
 
Opensolaris Introduction Extended
Opensolaris Introduction ExtendedOpensolaris Introduction Extended
Opensolaris Introduction Extendedalpercelk
 
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsBenjamin Zores
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardAnne Nicolas
 
OS Security Evolution & Latest Attack Vectors By Jacob Torrey
OS Security Evolution & Latest Attack Vectors  By Jacob TorreyOS Security Evolution & Latest Attack Vectors  By Jacob Torrey
OS Security Evolution & Latest Attack Vectors By Jacob TorreyPriyanka Aash
 
Coscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloudCoscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloudTian-Jian Wu
 
Android on Intel Architecture: ROM Cooking Tutorial
Android on Intel Architecture: ROM Cooking TutorialAndroid on Intel Architecture: ROM Cooking Tutorial
Android on Intel Architecture: ROM Cooking TutorialRon Munitz
 

Similar a XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - Chris Patterson & Kyle Temkin, AIS, Inc. (20)

Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
 
Attacking Embedded Devices (No Axe Required)
Attacking Embedded Devices (No Axe Required)Attacking Embedded Devices (No Axe Required)
Attacking Embedded Devices (No Axe Required)
 
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
 
Hacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on LinuxHacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on Linux
 
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
 
Easily emulating full systems on amazon fpg as
Easily emulating full systems on amazon fpg asEasily emulating full systems on amazon fpg as
Easily emulating full systems on amazon fpg as
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)
 
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...
 
Starting Raspberry Pi
Starting Raspberry PiStarting Raspberry Pi
Starting Raspberry Pi
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
 
Opensolaris Introduction Extended
Opensolaris Introduction ExtendedOpensolaris Introduction Extended
Opensolaris Introduction Extended
 
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded Systems
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
 
OS Security Evolution & Latest Attack Vectors By Jacob Torrey
OS Security Evolution & Latest Attack Vectors  By Jacob TorreyOS Security Evolution & Latest Attack Vectors  By Jacob Torrey
OS Security Evolution & Latest Attack Vectors By Jacob Torrey
 
Coscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloudCoscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloud
 
Linux kernel booting
Linux kernel bootingLinux kernel booting
Linux kernel booting
 
Android on Intel Architecture: ROM Cooking Tutorial
Android on Intel Architecture: ROM Cooking TutorialAndroid on Intel Architecture: ROM Cooking Tutorial
Android on Intel Architecture: ROM Cooking Tutorial
 
Beagle board101 esc-boston-2009b
Beagle board101 esc-boston-2009bBeagle board101 esc-boston-2009b
Beagle board101 esc-boston-2009b
 

Más de The Linux Foundation

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleThe Linux Foundation
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...The Linux Foundation
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...The Linux Foundation
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...The Linux Foundation
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather ReportThe Linux Foundation
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...The Linux Foundation
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxThe Linux Foundation
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...The Linux Foundation
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderThe Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...The Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...The Linux Foundation
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixThe Linux Foundation
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdThe Linux Foundation
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...The Linux Foundation
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DThe Linux Foundation
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsThe Linux Foundation
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...The Linux Foundation
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...The Linux Foundation
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...The Linux Foundation
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEThe Linux Foundation
 

Más de The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 

Último

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Último (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - Chris Patterson & Kyle Temkin, AIS, Inc.

  • 1. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Xenbedded: Xen-based client virtualization for phones and tablets Kyle Temkin Chris Patterson Assured Information Security, Inc. August 25th, 2016 // XenSummit 2016
  • 2. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Who are we? Kyle Temkin ‘Hardware Hacker’ and Security Researcher Twitter: @ktemkin, Freenode: ktemkin E-mail: temkink@ainfosec.com Chris Patterson Senior Computer Engineer Freenode: cjp256 E-mail: pattersonc@ainfosec.com
  • 3. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Why run Xen on Phones/Tablets? First, and foremost: it’s cool! } This is the ‘frontier’ of virtualiztion tech– there’s lots of new stuff to build! Mobile virtualization also offers more pragmatic benefits: } Separation of critical and non-critical tasks. ◦ Thnk Qubes or OpenXT for mobile: different VMs for different types of activity. ◦ Potential tools to deal with the whole ‘BYOD’ mess. Pictured: Google Pixel C Photo: Google Store } Potential to extend benefits beyond phones/tablets; e.g. to devices with integrated touchscreens such as car media centers.
  • 4. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Isn’t ARM support enough? Q: Xen already supports many ARM processors: shouldn’t it be able to run on most phones and tablets? A: Almost. There are still a few things we need: ◦ Hardware support for ARM’s virtualization extensions. ◦ Bootloader support for launching software in hypervisor mode (HYP/EL2). • It’s easy to find yourself ‘locked out’ of these modes! First-Stage Bootloader (usually comes with SoC; often in ROM) Second-Stage Bootloader (e.g. u-boot, android bootloader) Final Payload (Linux, Xen) All too often, the FSBL drops down to Supervisor Mode (PL1/EL1)... … leaving no way back into PL2/EL2!
  • 5. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Landing in PL2/EL2 Q: What if the boot chain can’t land me in PL/EL2? A: If you have to use that device, things will get… interesting. ◦ Best option: convince your vendor to support EL2 on unlocked devices. ◦ Last resort: dust off your hardware hacking skills! • Samsung CID hacks (developer bootloader) • Qualcomm TrustZone exploits (chain to get at HVBAR) - CPU mode All forms of interrupts must be masked in PSTATE.DAIF (Debug, SError, IRQ and FIQ). The CPU must be in either EL2 (RECOMMENDED in order to have access to the virtualisation extensions) or non-secure EL1.
  • 6. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Finding the Right Device Finding a good phone or tablet to work with can be tricky. You need a device that: } Supports the ARM Virtualization Extensions, including a full-featured GIC. } Provides an “unlockable” bootloader entered in NS-HYP or EL2. You want a device that: } Is supported by an open-source Linux variant (for dom0) } Is closely approximated by an available evaluation board. } Has an accessible UART “serial port”
  • 7. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Identify Devices with HYP/EL2 ‘Payloads’ If your device runs Linux 3.7+ (arm32) or Linux 4.3+ (arm64), checking for HYP/EL2 is easy: Otherwise, you can compile a simple kernel module to check: https://github.com/xenbedded/hyp-mode-checks # dmesg | grep HYP –A 1 #arm32 CPU: All CPU(s) started in HYP mode. CPU: Virtualization extensions available. # dmesg | grep EL2 #arm64 CPU: All CPU(s) started at EL2 # #Note: these only work bare-metal!
  • 8. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Fragmentation of Linux Baselines Depending on the device, several Linux variants may be available, including mainline and per-device variants. Not all Linux forks are created equal: } If possible, select a device that has reasonable mainline support. (e.g. MSI Primo73) } Failing that, you may want to look for a fork that deviates less from mainline: ◦ A recent kernel version is usually a good hint. ◦ Another good hint: look at the device tree for your target device. Are many of its compatible strings supported in mainline? • Mainline • Android Variants • ChromiumOS variants • linux4tegra • linux-sunxi • linux-exynos • linux-xilinx • linux-96boards • … oh, my!
  • 9. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Approximating HW with Dev Boards ≈ Pixel C image source: Google Store NVIDIA Jetson TX1 image source: NVIDIA Dev Blogs Pairing your device with an evaluation board can dramatically speed up development. ◦ It helps a lot to have a “known good” environment to test your hardware in. Is the issue in your code, or with the weird tablet bootloader? Compare and find out! ◦ If you can get one, a JTAG debugger make all the difference!
  • 10. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Finding UART Consoles Most– but not all– phones and tablets have a UART surfaced somewhere. Friendlier devices have externally accessible UARTs; some devices require soldering. Externally AccessibleInternally Accessible The Xen-compatible Primo 73’s UART is accessible both directly on its PCB… … or, with some configruation, routed through its internal microSD slot. Embedded Linux and Android communities are a good first resource for UART pinouts: you’ll be surprised how often the community has documented how to get UART access! Original image. Credit: ssvb
  • 11. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com While the Pixel C has no documented external UART, digging through some of its firmware reveals an internal USB-to-serial-adapter. } When the USB-C connector’s CC1 and CC2 pins are pulled down with 5.1Ω resistors, the device enters ‘debug mode’, and the convert is connected as below: } Naturally, we went a little overboard, and our intern (@c4757p) developed a full fledged open-source-hardware debug adapter for these ports: ◦ https://github.com/xenbedded/pixel-c-support/tree/master/hardware/debug_bridge_r2 Example: Pixel C UART
  • 12. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Getting Xen onto Your Device Once you’ve selected a device, the next step is to get Xen to start. A basic path forward might be: } Boot a simple, custom hello-world kernel. } Boot up the Xen kernel alone– get it to crash! } Provide Xen with its required images, and see how things behave.
  • 13. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Booting a ‘Hello World’ Kernel Many devices require their kernels to be encapsulated in payload-specific image formats. } ChromiumOS: FIT image with specific contents, prefixed with signed header } Many Android Devices: Android-specific boot.img format } We’ve seen lots of variants on these formats! Booting a “Hello World” image helps to verify that you have the particulars of your image format correct. } Also a great time for a final check for HYP/EL2! } Good starter example: https://github.com/andreiw/nexus9_demo
  • 14. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com (Some People Just Want to) Watch Xen Crash Once you can boot an image on your particular device, try swapping out your ‘hello-world’ kernel for Xen. } Be sure to build Xen with EARLYPRINTK set up for your board! Launching Xen... - UART enabled – - CPU 00000000 booting – - Current EL 00000008 – - Xen starting at EL2 – - Zero BSS – - Setting up control registers – - Turning on paging – - Ready – (XEN) (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) No valid device tree (XEN) **************************************** (XEN) (XEN) Reboot in five seconds... = Victory!
  • 15. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Getting Xen its Images Once you successfully have Xen crashing, you’re ready to try a real boot, which means passing in several necessary ‘images’. This can be tricky. We expect our bootloader to load: } The Xen kernel image, typically a zImage/Image; } A flattened device tree (dtb) describing the target device; } The dom0 kernel, typically also a Linux zImage/Image; and } An optional ramdisk (initrd/initramfs). … but most image formats won’t load all of these! } We’ll need a next-stage bootloader to make our images available. ◦ u-boot is a popular choice.
  • 16. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Discharge Boot Adapter We created Discharge, a simple image adapter for phones and tablets. } Combines the images relevant to a Xen boot into the single-image formats expected by most consumer device loaders (Android/CrOS). } ‘Faster’ and significantly lower-footprint than u-boot; but also significantly less powerful. ◦ If u-boot better fits your use case, use it! Full MIT-licensed source code: http://github.com/xenbedded/discharge
  • 17. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Xen on Your SoC If things seem broken at first, don’t despair! You may have to deal with quirks for your particular SoC– or with Xen behaviors (bugs?) that your new configuration has unmasked. } This is where things can get complicated. We won’t provide a general method for moving forward (this talk is too short!), but we will provide examples. } In particular, see Julien Grall’s slides from Porting Xen on ARM to a new SoC.
  • 18. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Example: Tegra Legacy Interrupt Controller On Tegra systems, a set of Legacy Interrupt Controllers must be programmed in addition to the core Generic Interrupt Controller (GIC). } Idea is straightforward: implement Xen support for the Tegra LIC. Figuring out the best way to do this: less straightforward.. } One working implementation is available online: We’re currently working to get a proper solution mainlined! https://github.com/xenbedded/xen/tree/tegra_support_v2 Tegra LIC Legacy Interrupt Controllers GIC Distributor GIC CPU Interface GIC CPU Interface CPU 0 CPU 1 SPI[n:32] SPI IRQ IRQ (Very) Simplified View of Tegra Interrupt Routing The Tegra LIC, by default, gates all Shared interrupts.
  • 19. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Client Virtualization: New Peripheral Support for Xen Tablets and phones present a huge variety of new peripherals we may want to virtualize for guest domains: Virtualizing these devices require three components: } A device driver running in domain zero; ideally provided by the BSP distribution. } A backend driver to (e.g.) multiplex access to the physical hardware; and } A frontend driver to deliver events to the guest kernel. • Display/GPUs • Light Sensors • Flash LEDs • Touch Sensors • Cameras • Wireless/Cellular • Inertial Sensors • Fingerprint Sensors • … and more every day.
  • 20. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Display and Input Multiplexing To provide our guests with a high-performance display capability, our group has worked to develop a new display technology for Xen. } Provides a near-native experience for both mobile and desktop devices, including backend and frontend drivers for multi-touch and multi-monitor support. } Includes a full input stack, including PV drivers. } We won’t go into detail here. This is covered in full by the next talk in this room (“Display Handler”). Baseline: X11 and VNC Display Handler: Native Look
  • 21. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Multi-Touch with openxt-kbdfront Multi-touch input is handled by an extended version of xen-kbdfront. } Entirely open; source is GPLv2 and available on our GitHub. (http://github.com/xenbedded/openxt-kbdfront) } Backwards-compatible with xen-kbd, and thus works with existing backends. } We may submit our changes as patches to xen-kbdfront, if well received.
  • 22. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Goal: Android Support Support for Android guests is not far off—basic functionality is working on x86—but work towards this support is still underway. Challenges still to be solved: } Blocker: Modern Android versions require* hardware-accelerated video; so we’ll need to implement a solution for multiplexing access to the host GPU. } Soft req: Android isn’t as useful on a tablet without mobile-centric power mgmt., including intelligent use of host sleep states, paralleling Android’s wakelocks. } Soft req: Many android applications require services from TrustZone ‘Applets’ (Trustlets), but we now need a guest-aware TrustZone, or equivalent. *At least, according to Google. Software rendering may be an alternative, but doesn’t work as-is, and likely isn’t worth pursuing for performance reasons.
  • 23. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Android: Accelerated Graphics Android’s SurfaceFlinger compositor– and many applications– require OpenGL support. Potential paths forward: } On x86, HVM guests can run Android under the VirGL virtualized GPU, which is heavily tied to its QEMU implementation. ◦ See Rob Herring’s Android-on-QEMU effort. ◦ To support ARM PVH guests, we’d need to develop a PV transport for the VirGL. } Raw “API Sharing” solutions – such as the emugl library used by the Android emulator – also offer potential solutions.
  • 24. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Android: TrustZone Implications In the current implementation, only one trusted enclave is available. } This is definitely not an optimal architecture for per-guest services, such as secure password stores, DRM, and cryptographic services. ◦ As a result, we disable guest SMCs: and lose these capabilities altogether! (“No Netflix?”) } Consider the implications of existing TrustZone escalations (e.g. the QSEE bug)— do you really want your guests interacting with TrustZone services? } Potential solution: leverage hypervisor separation to create a service-VM trusted execution environment (TEE) for per-guest services. dom0 dom1 dom2 Single TZ-Enabled Enclave Core System Services TEE Service VM dom0 TEE Service VM dom1 TEE Service VM dom2 dom0 dom1 dom2 Single TZ-Enabled Enclave Unused?
  • 25. 153 Brooks Road, Rome, NY | 315.336.3306 | http://ainfosec.com Questions and Demo