Re: [OAUTH-WG] DPoP: Threat Model

Daniel Fett <fett@danielfett.de> Mon, 04 May 2020 19:45 UTC

Return-Path: <fett@danielfett.de>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B180D3A0F86 for <oauth@ietfa.amsl.com>; Mon, 4 May 2020 12:45:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_NONE=0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=danielfett.de
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VWLWHgfZD7mR for <oauth@ietfa.amsl.com>; Mon, 4 May 2020 12:45:32 -0700 (PDT)
Received: from d3f.me (redstone.d3f.me [5.9.29.41]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ADB663A0F85 for <oauth@ietf.org>; Mon, 4 May 2020 12:44:54 -0700 (PDT)
Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by d3f.me (Postfix) with ESMTPA id BB45117F2; Mon, 4 May 2020 19:44:52 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=danielfett.de; s=dkim; t=1588621493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=umU0u6YyG2EHaDVAFz4BB/Hjo1Lkti4C5a2T6V18doc=; b=aEaZste3o5iMV3OPxnZVXc4YKsZjN+2j99EaTmWIQX6DFMRxefr6BV5DaqUXgDUAVDw2o+ TglMxiUQ+EIvWDGZMjo6KqD4jTVCJdDGf1tuOmnlRkt5ttMiiJwxo9fz0roi2353lNL4iR mU9LUQ44DVZmhPvvW2Oz2N7+CVMD51A=
To: Philippe De Ryck <philippe@pragmaticwebsecurity.com>
Cc: Neil Madden <neil.madden@forgerock.com>, oauth@ietf.org
References: <9ee75fc4-c134-1a36-1fa3-4c42887dc438@danielfett.de> <1427A993-02B5-4444-9FD5-0E62A32D2AF4@forgerock.com> <b5645470-67db-c18d-28b8-2cf4df06a03d@danielfett.de> <F0001BCC-29D5-4525-89CE-0BEF0E835333@pragmaticwebsecurity.com>
From: Daniel Fett <fett@danielfett.de>
Message-ID: <fc4a020e-97e8-6074-c80a-dc88e88d879b@danielfett.de>
Date: Mon, 04 May 2020 21:44:52 +0200
MIME-Version: 1.0
In-Reply-To: <F0001BCC-29D5-4525-89CE-0BEF0E835333@pragmaticwebsecurity.com>
Content-Type: multipart/alternative; boundary="------------DC2C5C71BBD01E5462F6A64F"
Content-Language: de-DE
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=danielfett.de; s=dkim; t=1588621493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=umU0u6YyG2EHaDVAFz4BB/Hjo1Lkti4C5a2T6V18doc=; b=AL/8hRLdtPa10op/y68iJKvBrxxZFKvxVM6v3Tbfu+5Bs9+dzlNWXgPXObM/lZTHkn0nj/ n8OHllElGlZYbpYaTNtDu7u5+b4lZCVTvFdamwcs7j2eXuvSPFlx2EHJFLrXwreCkMXI9s V6Sk50JTUamMzU3/4wZhWZozcgCBprc=
ARC-Seal: i=1; s=dkim; d=danielfett.de; t=1588621493; a=rsa-sha256; cv=none; b=Vgk+T4a+zETlmt4WNpOYydTjJY4kSXFMGZnlS6q9tKg4zJquUJEPWVM2P/gClxwrRWLX/L yJj8qmh/Z7ZdLN3fj0rCBCuTjihc75yujU/nC6s9jo09UIt79HTo6b7PqXYD8z8yro/9BG sSfHhW7v/lasoHuy7VHslFV8xZxcDOM=
ARC-Authentication-Results: i=1; d3f.me; auth=pass smtp.auth=fett@danielfett.de smtp.mailfrom=fett@danielfett.de
Authentication-Results: d3f.me; auth=pass smtp.auth=fett@danielfett.de smtp.mailfrom=fett@danielfett.de
X-Spamd-Bar: /
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/PuLHvhSvxadhCsqQx6jDDlxoh6s>
Subject: Re: [OAUTH-WG] DPoP: Threat Model
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth/>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 May 2020 19:45:35 -0000

Am 04.05.20 um 21:27 schrieb Philippe De Ryck:
>
>>> (https://beefproject.com <https://beefproject.com/>) rather than
>>> exfiltrating tokens/proofs.
>>
>> As a sidenote: BeEF is not really XSS but requires a full browser
>> compromise.
>>
>
> No, it’s not. The hook for BeEF is a single JS file, containing a wide
> variety of attack payloads that can be launched from the command and
> control center. You can combine BeEF with Metasploit to leverage an
> XSS to exploit browser vulnerabilities and break out.
I shall stand corrected!
>
> Just keep in mind that once an attacker has an XSS foothold, it is
> extremely hard to prevent abuse. The only barrier that cannot be
> broken (in a secure browser) is the Same Origin Policy. Keeping tokens
> and metadata in a separate environment (e.g., iframe, worker, …) is
> effective to keep them out of reach. However, once the app “extracts”
> data from such a context, the same problem arises.

Compartmentalization within an origin is as old a problem as it is
mostly unsolved, indeed. That is why I would not further differentiate
in case the browser is online and the client's script is compromised,
but instead assume that the attacker can then forge arbitrary requests
using the token.

-Daniel