Dissertação

{en_GB=WArdian: Securing WebAssembly Applications on Untrusted Mobile Operating Systems} {} EVALUATED

{pt=Os dispositivos móveis são extremamente populares e usados para correr várias aplicações que trabalham com dados sensíveis ao utilizador. Graças ao desenvolvimento de WebAssembly, uma tecnologia emergente com suporte para a maioria dos browsers modernos, vastas aplicações deixam de necessitar uma instalação prévia no dispositivo. Desta nova forma, necessitam apenas de ser transferidas, em tempo real, para o browser utilizado e conseguem correr localmente no dispositivo. Isto é possível visto que WebAssembly traz aos web developers a possibilidade de correr código nativo C/C++ compilado directamente para a web page, o que corre muito mais rapidamente do que típico JavaScript. Utilizando esta nova técnica, os antigos mecanismos de encapsulamento dos browsers modernos não serão suficientes para tolerar ataques provenientes de um adversário que consiga comprometer o estado do sistema operativo do dispositivo móvel. Por exemplo, caso um dispositivo Android seja atacado por um rootkit, o adversário consegue comprometer a integridade e confidencialidade da informação trabalhada pela aplicação de WebAssembly, mesmo que devidamente encapsulada pelo browser. Este trabalho apresenta a concepção, implementação e avaliação de WArdian, um ambiente de execução seguro para aplicações de WebAssembly em sistemas operativos móveis não confiáveis. Aproveitando um hipervisor existente, pretendemos desconstruir o Chrome browser e correr WebAssembly em memória protegida -- intitulada Web Cage -- onde o sistema operativo não apresenta privilégios., en=Mobile devices are extremely popular and are used for running many data sensitive applications. Thanks to the development of WebAssembly, an emerging browser technology, applications no longer need to be installed on the device. Instead, they can be download on-the-fly and executed directly on the local browser. This is possible because WebAssembly enables web developers to run native C/C++ code on a web page, which runs much faster than typical JavaScript. Using this new approach, the previously implemented sandboxing mechanisms of modern web browsers will not be enough to prevent attacks from an adversary that can compromise the mobile operating system. For instance, if the android OS is attacked by a rootkit, the adversary could compromise the integrity and confidentiality of data manipulated by the sandboxed WebAssembly application. This work presents the design, implementation, and evaluation of Wardian, a secure execution environment to run WebAssembly applications on untrusted mobile operating systems. Leveraging on an existent hypervisor, we intend to deconstruct the Chrome browser and run WebAssembly code inside a protected memory space -- named web cage -- where the operating system holds no privileges.}
{pt=WebAssembly, Chrome browser, Android, Encapsulamento, Hipervisor, Virtualização, en=WebAssembly, Chrome browser, Android OS, Sandboxing, Hypervisor, Virtualization}

Novembro 16, 2020, 16:30

Orientação

ORIENTADOR

Nuno Miguel Carvalho dos Santos

Departamento de Engenharia Informática (DEI)

Professor Auxiliar