Re: [Json] Security Considerations

Paul Hoffman <paul.hoffman@vpnc.org> Thu, 06 June 2013 15:37 UTC

Return-Path: <paul.hoffman@vpnc.org>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8F71B21F88D8 for <json@ietfa.amsl.com>; Thu, 6 Jun 2013 08:37:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.81
X-Spam-Level:
X-Spam-Status: No, score=-101.81 tagged_above=-999 required=5 tests=[AWL=0.789, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
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 QtK+0AQYhFNe for <json@ietfa.amsl.com>; Thu, 6 Jun 2013 08:37:57 -0700 (PDT)
Received: from hoffman.proper.com (IPv6.Hoffman.Proper.COM [IPv6:2605:8e00:100:41::81]) by ietfa.amsl.com (Postfix) with ESMTP id 4669621F8900 for <json@ietf.org>; Thu, 6 Jun 2013 08:37:55 -0700 (PDT)
Received: from [10.20.30.90] (50-0-66-165.dsl.dynamic.sonic.net [50.0.66.165]) (authenticated bits=0) by hoffman.proper.com (8.14.5/8.14.5) with ESMTP id r56FbpA3030085 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO) for <json@ietf.org>; Thu, 6 Jun 2013 08:37:51 -0700 (MST) (envelope-from paul.hoffman@vpnc.org)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
From: Paul Hoffman <paul.hoffman@vpnc.org>
In-Reply-To: <CAFtB7BQvUbJtKyK8oARBywVva7KKp8a6Rhn_Zg7VRKh6Ug64Zw@mail.gmail.com>
Date: Thu, 06 Jun 2013 08:37:50 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <C7A8481F-07EA-4F6B-B932-71E913D3C9AF@vpnc.org>
References: <51AF7C55.3070606@crockford.com> <2E4D08E5-3AF2-42F5-874A-9CD872800717@vpnc.org> <CAFtB7BQvUbJtKyK8oARBywVva7KKp8a6Rhn_Zg7VRKh6Ug64Zw@mail.gmail.com>
To: "json@ietf.org" <json@ietf.org>
X-Mailer: Apple Mail (2.1508)
Subject: Re: [Json] Security Considerations
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/json>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 06 Jun 2013 15:37:59 -0000

On Jun 5, 2013, at 10:12 PM, Peter Brooks <peter.h.m.brooks@gmail.com> wrote:

> On 6 June 2013 02:20, Paul Hoffman <paul.hoffman@vpnc.org> wrote:
>> On Jun 5, 2013, at 10:58 AM, Douglas Crockford <douglas@crockford.com> wrote:
>> 
>>> The section on security considerations is completely inadequate. It is describing a use of JavaScript eval that is now considered to be a very bad practice, and it provides no advice for other languages.
>>> 
>>> It should instead be advising care when constructing JSON texts, insisting on proper encoding practices and avoidance of concatenation.
>> 
>> Who wants to take a stab at proposed Security Considerations wording? This should probably go in Section 7, not Section 6, so that allows a bit more formatting such as headers and such.
>> 
> How far can this go before it becomes completely new stuff that should
> be excluded from the scope?

That is a WG call.

> For security to work, each object ought to be able to specify the
> roles that have read or modify access - with a well defined policy
> (echoing the current position for backwards compatibility) to describe
> what happens when there are no access rights defined for an object.
> 
> It is good practice for the actual security requirements for each
> object to be documented in the object - if they are not, and
> application logic is relied upon to provide access control, then it is
> difficult, if not impossible, to have proper governance of access
> control. There is no better documentation than that that provides the
> actual control.


Useful security considerations for a format include "Emitting X might be dangerous" and "Parsing Y might be dangerous". There are probably others.

--Paul Hoffman