Re: [OAUTH-WG] Mix-Up and CnP/ Code injection

Nat Sakimura <sakimura@gmail.com> Mon, 09 May 2016 19:26 UTC

Return-Path: <sakimura@gmail.com>
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 0E1FA12B051 for <oauth@ietfa.amsl.com>; Mon, 9 May 2016 12:26:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 j0pylCbSIW7F for <oauth@ietfa.amsl.com>; Mon, 9 May 2016 12:26:37 -0700 (PDT)
Received: from mail-qg0-x22b.google.com (mail-qg0-x22b.google.com [IPv6:2607:f8b0:400d:c04::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 67C8E12B010 for <oauth@ietf.org>; Mon, 9 May 2016 12:26:37 -0700 (PDT)
Received: by mail-qg0-x22b.google.com with SMTP id f74so94482793qge.2 for <oauth@ietf.org>; Mon, 09 May 2016 12:26:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=RCoXKCwXNhHQaZ96ff6uTtU2qFradK6zYjm4Pfs+Hiw=; b=sGZtF6eqsLNAMRXficA0W8ME2VdGNKwmdf1cJ24Tqpk+5ZLSba3zNMAi4jScDuRWwU Gds83YAELFIcpvPgliM7TvZCnunwnk8dXtiwj6GEZj0CY6ddlyjCeHRiyjmXys9x8j6S x329cCxtgNMHRJtklFW9X1rb9JSSjz5QoPUI5/NecVStK/IcYJLLxk9U94DdOuoZ4fh5 166mIrrUKHtbOvcewhZMv/2h5HvXSENoGqe9JAWQriGfwHJOrUAZTBQ5shjeXC4J8tKR KkAwTE+BrpXa210wOxlETUmg5GmWasTPnqcwjE6RcZKUMn0xM82KamwXh1FPTgVlSIRj VXNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RCoXKCwXNhHQaZ96ff6uTtU2qFradK6zYjm4Pfs+Hiw=; b=mYLD8adgi7TwdsyRWo27S2y3vuLON/fSiPOGQTZuTFnnChWwppDDKoTkk4SCikRoXC Ry1vgzdNm6fj7ckSPzXNxvfhT2qp/ioMGPkCkRe6yyPx2iSrXkSEXWmragEP5uDYEAMj e/otR0oUgjBe+DrNnLvw/Wp4UCvTpvKnKE778k7WKOmPEgxsSQxT7TxjFlwmStmA8vau TA7lXIcU7ZK7QOaRchKqf/pF8EPpoe/qFZ2zuLVoPLLXAErXVtpaLCZeSGv1+dZWVbf9 4z2Yp/N0Q9eJW2vdQ/NXb1qALYnl00u6GAi9OJcgL050/htmamrMqLVMlj/vYFchCFOx VHoA==
X-Gm-Message-State: AOPr4FV6naiR2Bxqp+eXgXDQnoGiUa56EgAedP5fcXbacAM0/NBnilcg+Xcbc0IUb9/mByop1jV/Zbyi2KloRg==
X-Received: by 10.140.222.210 with SMTP id s201mr37459740qhb.67.1462821996223; Mon, 09 May 2016 12:26:36 -0700 (PDT)
MIME-Version: 1.0
References: <571B60BA.8090301@lodderstedt.net> <CABzCy2DeMSGc_yjKi=NWJjh7RLoVsb+KyD9S_MuiQ_gJNg5+fw@mail.gmail.com> <49355f12-ef58-0637-47e0-7acd54e882d9@lodderstedt.net> <DA464416-4C42-4A3A-B829-70E14B6C1149@mit.edu> <CABzCy2DD+E4CNUHL3Bh_sZW+UF2Ea4tBA6am+LkJbrisepxMgQ@mail.gmail.com> <FA921CBC-C10F-4262-9D2F-BD2D4AC1A014@lodderstedt.net> <CABzCy2BoDtB9Mf00TOLZx9E7WdsRE9NhLT-OfBTU78axkrgFyg@mail.gmail.com> <qkqj5wmu6f92jxm466vcjwel.1462772730650@com.syntomo.email>
In-Reply-To: <qkqj5wmu6f92jxm466vcjwel.1462772730650@com.syntomo.email>
From: Nat Sakimura <sakimura@gmail.com>
Date: Mon, 09 May 2016 19:26:25 +0000
Message-ID: <CABzCy2CEka2Ko-DpMmNPmFDg+8J7xrcoSbDr4BQv0O8tkGpbNQ@mail.gmail.com>
To: torsten@lodderstedt.net
Content-Type: multipart/alternative; boundary="001a113732a474632505326dc940"
Archived-At: <http://mailarchive.ietf.org/arch/msg/oauth/o5jUjdN_U_QJ_r4qUX1r9D1oHX8>
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Mix-Up and CnP/ Code injection
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.17
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, 09 May 2016 19:26:40 -0000

Hi Torsten,

No, not defeating, but being able to find out if the input is tainted or
not.

Nat
On Mon, May 9, 2016 at 07:46 <torsten@lodderstedt.net> wrote:

> Are you suggesting OAuth should defeat maleware? So far, this was
> considered to be handled by OS/Anti-Virus/other measures.
>
>
> -------- Originalnachricht --------
> Betreff: Re: [OAUTH-WG] Mix-Up and CnP/ Code injection
> Von: Nat Sakimura <sakimura@gmail.com>
> An: Torsten Lodderstedt <torsten@lodderstedt.net>
> Cc: Justin Richer <jricher@mit.edu>,"<oauth@ietf.org>" <oauth@ietf.org>
>
> Yes, and unfortunately, that is a rather common attack these days.
> Infesting a user device with a malware is probably easier than having the
> client developer register its client to unknown server.
>
> 2016年5月1日(日) 16:54 Torsten Lodderstedt <torsten@lodderstedt.net>:
>
>> Hi Nat,
>>
>> please explain the attack. I assume the attacker would need to control
>> network transmission or client device.
>>
>> kind regards,
>> Torsten.
>>
>> Am 01.05.2016 um 07:36 schrieb Nat Sakimura <sakimura@gmail.com>:
>>
>> It actually depends on what risk level the transaction is at. For low
>> risk transactions, just having separate redirection endpoint may be
>> adequate. On the other hand, I can easily think of an attack that replaces
>> iss on the authz response making the control invalid posing questions on
>> whether it is worth introducing it.
>> On Sun, May 1, 2016 at 14:21 Justin Richer <jricher@mit.edu> wrote:
>>
>>> I agree that we’re getting dangerously close to recommending signed
>>> assertions at every step of the process, thereby bypassing HTTP. This was
>>> the same mistake that WS-* and SOAP made, let’s not repeat it if we can.
>>>
>>>  — Justin
>>>
>>> On Apr 30, 2016, at 10:57 AM, Torsten Lodderstedt <
>>> torsten@lodderstedt.net> wrote:
>>>
>>> Hi Nat,
>>>
>>> sure, one could also authenticate and cryptographically protect the
>>> redirect response. Leveraging OIDC concepts is an idea worth considering
>>> but they should be adopted to the OAuth philosophy. The id token as used in
>>> the hybrid flows mixes an identity assertion with elements of transport
>>> security measures. A OAuth AS does not provide identity data to clients, so
>>> we only need the transport security part.
>>>
>>> I personally would prefer a OAuth response object (similar to request
>>> object you have proposed) over the id token. Such a response object could
>>> contain (and directly protect) state, code and other response values. I
>>> consider this the more elegant design and it is easier to implement then
>>> having detached signatures over hash values of codes or access tokens.
>>> Moreover, it would allow to encrypt the response as well.
>>>
>>> Generally, our threat analysis so far does not have provided
>>> justification for cryptographically protected redirect responses. All
>>> proposals currently on the table stop mix up and code injection using
>>> simpler mechanisms.
>>>
>>> I think OAuth 2.0 is a huge success due to its balance of versatility,
>>> security and _simplicity_. We definitely need to keep it secure, but we
>>> should also keep it as simple as possible.
>>>
>>> kind regards,
>>> Torsten.
>>> Am 29.04.2016 um 10:08 schrieb Nat Sakimura:
>>>
>>> As I look at it more and more, it started to look like the problem of
>>> accepting tainted values without message authentication. To fix the root
>>> cause, we would have to authenticate response. ID Token was designed to
>>> also serve as a solution anticipating it.
>>>
>>> Any concrete ideas?
>>>
>>> On Sat, Apr 23, 2016 at 04:47 Torsten Lodderstedt <
>>> torsten@lodderstedt.net> wrote:
>>>
>>>> Hi all,
>>>>
>>>> discussion about Mix-Up and CnP seems to have stopped after the session
>>>> in BA - at least in the OAuth WG. There is a discussion about
>>>> mitigations in OpenId Connect going on at the OpenId Connect mailing
>>>> list.
>>>>
>>>> I'm very much interested to find a solution within the OAuth realm as
>>>> I'm not interested to either implement two solutions (for OpenId Connect
>>>> and OAuth) or adopt a OpenId-specific solution to OAuth (use id! tokens
>>>> in the front channel). I therefore would like to see progress and
>>>> propose to continue the discussion regarding mitigations for both
>>>> threats.
>>>>
>>>> https://tools.ietf.org/html/draft-ietf-oauth-mix-up-mitigation-00
>>>> proposes reasonable mitigations for both attacks. There are alternatives
>>>> as well:
>>>> - mix up:
>>>> -- AS specific redirect uris
>>>> -- Meta data/turi
>>>> (https://tools.ietf.org/html/draft-sakimura-oauth-meta-07#section-5)
>>>> - CnP:
>>>> -- use of the nonce parameter (as a distinct mitigation beside state for
>>>> counter XSRF)
>>>>
>>>> Anyone having an opinion?
>>>>
>>>> best regards,
>>>> Torsten.
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>> --
> Nat Sakimura
> Chairman of the Board, OpenID Foundation
> Trustee, Kantara Initiative
>
-- 
Nat Sakimura
Chairman of the Board, OpenID Foundation
Trustee, Kantara Initiative