Guarda: A web application firewall for WebAuthn transaction authentication

Transaction authentication is an attractive extension to two-factor authentication. It is proposed in the WebAuthn standard by the World-Wide-Web Consortium (W3C) as a mechanism to secure individual “high-risk” operations of a website via a hardware authenticator device. It defends against a stringe...

Full description

Bibliographic Details
Main Author: Barabonkov, Damian
Other Authors: Athalye, Anish
Format: Thesis
Published: Massachusetts Institute of Technology 2022
Online Access:https://hdl.handle.net/1721.1/139135
_version_ 1826213846357901312
author Barabonkov, Damian
author2 Athalye, Anish
author_facet Athalye, Anish
Barabonkov, Damian
author_sort Barabonkov, Damian
collection MIT
description Transaction authentication is an attractive extension to two-factor authentication. It is proposed in the WebAuthn standard by the World-Wide-Web Consortium (W3C) as a mechanism to secure individual “high-risk” operations of a website via a hardware authenticator device. It defends against a stringent threat model where an adversary can modify or create HTTP requests between the user and the web service. Transaction authentication as defined by WebAuthn is not yet adopted in practice, partially because it requires intrusive web application changes. This thesis presents Guarda, a firewall for integrating transaction authentication into a new or existing web service with relatively few code changes. The firewall intercepts all HTTP traffic sent to the web service, and based on the configuration, any requests deemed safe are proxied directly to the web service. All other requests are considered high-risk and are held back and validated using transaction authentication. Only if the validation passes are they also permitted to pass through to the web service. This thesis uses the firewall approach to integrate transaction authentication into three web applications: a blogging site named Conduit, a WordPress admin panel named Calypso and a self-hosted Git service named Gogs. Compared to directly modifying them to support transaction authentication, the firewall approach is close to 8 times more concise. Under heavy load, there is an associated latency of at worst 1.5x slower when using Guarda to secure Gogs versus accessing the web service directly without WebAuthn.
first_indexed 2024-09-23T15:55:46Z
format Thesis
id mit-1721.1/139135
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T15:55:46Z
publishDate 2022
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1391352022-01-15T03:06:38Z Guarda: A web application firewall for WebAuthn transaction authentication Barabonkov, Damian Athalye, Anish Kaashoek, M. Frans Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Transaction authentication is an attractive extension to two-factor authentication. It is proposed in the WebAuthn standard by the World-Wide-Web Consortium (W3C) as a mechanism to secure individual “high-risk” operations of a website via a hardware authenticator device. It defends against a stringent threat model where an adversary can modify or create HTTP requests between the user and the web service. Transaction authentication as defined by WebAuthn is not yet adopted in practice, partially because it requires intrusive web application changes. This thesis presents Guarda, a firewall for integrating transaction authentication into a new or existing web service with relatively few code changes. The firewall intercepts all HTTP traffic sent to the web service, and based on the configuration, any requests deemed safe are proxied directly to the web service. All other requests are considered high-risk and are held back and validated using transaction authentication. Only if the validation passes are they also permitted to pass through to the web service. This thesis uses the firewall approach to integrate transaction authentication into three web applications: a blogging site named Conduit, a WordPress admin panel named Calypso and a self-hosted Git service named Gogs. Compared to directly modifying them to support transaction authentication, the firewall approach is close to 8 times more concise. Under heavy load, there is an associated latency of at worst 1.5x slower when using Guarda to secure Gogs versus accessing the web service directly without WebAuthn. M.Eng. 2022-01-14T14:52:00Z 2022-01-14T14:52:00Z 2021-06 2021-06-17T20:12:50.443Z Thesis https://hdl.handle.net/1721.1/139135 In Copyright - Educational Use Permitted Copyright MIT http://rightsstatements.org/page/InC-EDU/1.0/ application/pdf Massachusetts Institute of Technology
spellingShingle Barabonkov, Damian
Guarda: A web application firewall for WebAuthn transaction authentication
title Guarda: A web application firewall for WebAuthn transaction authentication
title_full Guarda: A web application firewall for WebAuthn transaction authentication
title_fullStr Guarda: A web application firewall for WebAuthn transaction authentication
title_full_unstemmed Guarda: A web application firewall for WebAuthn transaction authentication
title_short Guarda: A web application firewall for WebAuthn transaction authentication
title_sort guarda a web application firewall for webauthn transaction authentication
url https://hdl.handle.net/1721.1/139135
work_keys_str_mv AT barabonkovdamian guardaawebapplicationfirewallforwebauthntransactionauthentication