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

torsten@lodderstedt.net Mon, 09 May 2016 05:46 UTC

Return-Path: <torsten@lodderstedt.net>
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 78A2F12D10D for <oauth@ietfa.amsl.com>; Sun, 8 May 2016 22:46:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.621
X-Spam-Level:
X-Spam-Status: No, score=-2.621 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 blWdDTuCIpkE for <oauth@ietfa.amsl.com>; Sun, 8 May 2016 22:46:05 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.31.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A1F8812D109 for <oauth@ietf.org>; Sun, 8 May 2016 22:46:04 -0700 (PDT)
Received: from [80.187.103.36] (helo=[10.152.142.184]) by smtprelay03.ispgateway.de with esmtpsa (TLSv1.2:DHE-RSA-AES128-GCM-SHA256:128) (Exim 4.84) (envelope-from <torsten@lodderstedt.net>) id 1aze14-00069i-6Z; Mon, 09 May 2016 07:46:02 +0200
Date: Mon, 09 May 2016 07:45:51 +0200
Message-ID: <qkqj5wmu6f92jxm466vcjwel.1462772730650@com.syntomo.email>
In-Reply-To: <CABzCy2BoDtB9Mf00TOLZx9E7WdsRE9NhLT-OfBTU78axkrgFyg@mail.gmail.com>
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>
From: torsten@lodderstedt.net
To: Nat Sakimura <sakimura@gmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="--_com.syntomo.email_3075443775802722"
X-Df-Sender: dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXQ=
Archived-At: <http://mailarchive.ietf.org/arch/msg/oauth/fXP29GzhDd2kAZdjZtg9rMp2mJw>
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 05:46:07 -0000

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
>