Re: [OAUTH-WG] problem statement

Eran Hammer-Lahav <eran@hueniverse.com> Tue, 06 September 2011 18:56 UTC

Return-Path: <eran@hueniverse.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 C728321F8C59 for <oauth@ietfa.amsl.com>; Tue, 6 Sep 2011 11:56:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.558
X-Spam-Level:
X-Spam-Status: No, score=-2.558 tagged_above=-999 required=5 tests=[AWL=0.041, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g2SSmPQCTj5d for <oauth@ietfa.amsl.com>; Tue, 6 Sep 2011 11:56:42 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by ietfa.amsl.com (Postfix) with SMTP id E03FE21F8C1D for <oauth@ietf.org>; Tue, 6 Sep 2011 11:56:41 -0700 (PDT)
Received: (qmail 29525 invoked from network); 6 Sep 2011 18:57:42 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 6 Sep 2011 18:57:42 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Tue, 6 Sep 2011 11:57:29 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Michael Thomas <mike@mtcc.com>
Date: Tue, 06 Sep 2011 11:57:22 -0700
Thread-Topic: [OAUTH-WG] problem statement
Thread-Index: AcxsxtNsyztBHXtjR266ssIH1m+R9A==
Message-ID: <29815937-0FB9-463B-B6E4-8FCAF7B3CD8C@hueniverse.com>
References: <4E665B25.6090709@mtcc.com> <4E6661FA.7050804@alcatel-lucent.com> <CD0B1909-8298-4CC3-B273-7B26E71EAB31@hueniverse.com> <4E666512.7010701@mtcc.com> <F4839FCD-CA73-4450-AD12-E07D46BB7746@hueniverse.com> <4E6667D1.3080404@mtcc.com> <1315334677.26387.YahooMailNeo@web31809.mail.mud.yahoo.com> <4E666B65.30701@mtcc.com>
In-Reply-To: <4E666B65.30701@mtcc.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] problem statement
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Tue, 06 Sep 2011 18:56:42 -0000

Framing this as an OAuth issue is wrong. In your scenario:

1. Install bad app
2. Do protocol X
3. Bad things happen

X can be anything. For example, the app can add a root cert to your os and break TLS protection. 

EHL

On Sep 6, 2011, at 11:50, "Michael Thomas" <mike@mtcc.com> wrote:

> William Mills wrote:
>> OAuth doesn't solve this problem, and can't.  Generally the question is 
>> whether the app appears to come from a reputable source, and nowadays 
>> whether it's signed (in windows land) or otherwize certified by the 
>> provider.
>> 
>> If you manage to solve this problem in a real way I'd be interested in 
>> investing in your company.
> 
> Then what I don't see anywhere is that oauth is not applicable to embedded
> web objects, and that end users should *never* trust oauth in a, say, phone
> app. As far as I can tell, the server deploying oauth can't tell that it's
> being misused, so this is all on the shoulders of the end user.
> 
> It sure looks like oauth is easily subverted in the real world.
> 
> Mike
> 
>> 
>> ------------------------------------------------------------------------
>> *From:* Michael Thomas <mike@mtcc.com>
>> *To:* Eran Hammer-Lahav <eran@hueniverse.com>
>> *Cc:* "oauth@ietf.org" <oauth@ietf.org>
>> *Sent:* Tuesday, September 6, 2011 11:34 AM
>> *Subject:* Re: [OAUTH-WG] problem statement
>> 
>> Eran Hammer-Lahav wrote:
>>> Don't install crap on you device or computer. OAuth is the least of 
>> your concern if you install bad software.
>>> If there was a solution to this we would not need an antivirus.
>> 
>> How exactly does an end user know what is "crap" or not? Or are you just 
>> dismissive of apps in
>> general? I don't think that apple and google are going to close up shop 
>> because it breaks oauth's
>> trust model.
>> 
>> Mike
>> 
>>> 
>>> EHL
>>> On Sep 6, 2011, at 11:23, "Michael Thomas" <mike@mtcc.com 
>> <mailto:mike@mtcc.com>> wrote:
>>> 
>>>> Eran Hammer-Lahav wrote:
>>>>> I agree. If you are going to install a native app, you better trust 
>> it not to do bad things. Grabbing your password is the least interesting 
>> thing such an app can abuse. I don't see any need to change the v2 draft.
>>>> How, exactly, is the user supposed to protect themselves against 
>> rogue apps?
>>>> It sounds like the solution is to tell them to never use oauth in an 
>> app at all.
>>>> 
>>>> Is oauth only intended to be used on standalone trustable web 
>> browsers? I don't recall
>>>> seeing that anywhere.
>>>> 
>>>> Mike
>>>> 
>>>>> EHL
>>>>> 
>>>>> On Sep 6, 2011, at 11:10, "Igor Faynberg" 
>> <igor.faynberg@alcatel-lucent.com 
>> <mailto:igor.faynberg@alcatel-lucent.com>> wrote:
>>>>> 
>>>>>> Mike,
>>>>>> 
>>>>>> You've got the problem statement right: allowing the user to 
>> authorize  resource access to another party without divulging user's 
>> credentials is the objective of OAuth. You are also right in that the 
>> attack you have described defies the whole purpose of OAuth.  I do not 
>> think though that it is related to OAuth per se.
>>>>>> 
>>>>>> To this end, the security work led by Torsten has thoroughly 
>> analyzed the protocol and specified protection against multiple protocol 
>> attacks.  From what you described, it appears to me that the attack you 
>> mention is not related to the protocol but rather to the user's 
>> environment.  There is no possible protection from key loggers that a 
>> protocol can implement. I could be mistaken; in any case, it looks like 
>> the problem rests with the implementation of WebView.
>>>>>> 
>>>>>> If I am wrong, I would appreciate a detailed description of what 
>> happened.
>>>>>> 
>>>>>> Igor
>>>>>> 
>>>>>> On 9/6/2011 1:40 PM, Michael Thomas wrote:
>>>>>>> Hi all,
>>>>>>> 
>>>>>>> Barry suggested that I might subscribe and explain what I sent him.
>>>>>>> 
>>>>>>> My basic problem is that in neither the protocol nor the threats 
>> drafts,
>>>>>>> I can't seem to find what problem is actually trying to be solved 
>> with
>>>>>>> oauth, and what assumptions you're making about various elements.
>>>>>>> 
>>>>>>> Here's what I did. I've written an app, and I wanted re-integrate the
>>>>>>> ability to send tweets after they deprecated Basic. So the app has a
>>>>>>> webView (android, iphone...) which it obviously completely controls.
>>>>>>> With oauth, the webview UA will ultimately redirect off to Twitter's
>>>>>>> site to collect the user's credentials and grant my app's backend an
>>>>>>> access token (sorry if I get terminology screwed up, i'm just coming
>>>>>>> up to speed).
>>>>>>> 
>>>>>>> What occurs to me is that webview affords exactly zero protection 
>> from
>>>>>>> my client (ie, the app) from getting the user's twitter 
>> credentials. All
>>>>>>> I have to do is set up a keypress handler on that webview and in 
>> a few
>>>>>>> minutes of hacking I have a key logger. etc.
>>>>>>> 
>>>>>>> So what I can't tell is whether this is a "problem" or not, because I
>>>>>>> don't know what problem you're trying to solve. If the object of 
>> oauth
>>>>>>> isn't to keep user/server credentials out of the hands of a third 
>> party,
>>>>>>> then what is it trying to solve? Is there an expectation that the
>>>>>>> UA is trusted by the user/server? What happens when that's not 
>> the case?
>>>>>>> 
>>>>>>> Regardless of whether I'm misunderstanding, it would sure be nice 
>> to have
>>>>>>> both the problem and your assumptions laid out, hopefully with 
>> some prominence
>>>>>>> so you don't get these sort of dumb questions.
>>>>>>> 
>>>>>>> Mike
>>>>>>> _______________________________________________
>>>>>>> OAuth mailing list
>>>>>>> OAuth@ietf.org <mailto:OAuth@ietf.org>
>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>> _______________________________________________
>>>>>> OAuth mailing list
>>>>>> OAuth@ietf.org <mailto:OAuth@ietf.org>
>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org <mailto:OAuth@ietf.org>
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>> 
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org <mailto:OAuth@ietf.org>
>> https://www.ietf.org/mailman/listinfo/oauth
>> 
>> 
>