Introducing utk-web - a web developer's view on firmware
2020-12-29, 18:00–18:40, r3s - Monheim/Rhein
Language: English

This talk introduces utk-web, a feature-rich firmware image exploration tool that runs in the web browser. Based on Fiano's utk, it aims to support firmware developers and analysts through quick navigation and tricks from the web development world. In addition to the functionalities themselves, a seamless and comprehensible user experience plays a key role.


UEFI firmware has become increasingly popular in the industry, not only for x86, but also other architectures such as Arm and RISC-V. The complexity of UEFI requires rich tools to work with firmware images for both assembly and analysis. Closed, proprietary, non-public tools exist, and there are open source tools that can already parse and print out structured information, some offering reassembly features. The Fiano suite from the LinuxBoot project includes utk, the UEFI toolkit. Following a draft for a web UI, utk-web was created, aiming to visualize utk's output. After about three months of development, it has matured to a level where its usefulness already paid off in multiple occasions. Leveraging additional utilities such as PSPTool and uefi-firmware-parser, it is being extended to support others such as Mimoja's Firmware Toolkit, MEAnalyzer and UEFITool as well, potentially even more, depending on demand. What it means to integrate with all of these utilities, how to support different output formats and regions in firmware and how the encountered challenges could be solved conclude this talk.

Find me on the web :)