Re: [Cellar] Benjamin Kaduk's Discuss on draft-ietf-cellar-ebml-15: (with DISCUSS and COMMENT)

Benjamin Kaduk <kaduk@mit.edu> Mon, 30 December 2019 03:50 UTC

Return-Path: <kaduk@mit.edu>
X-Original-To: cellar@ietfa.amsl.com
Delivered-To: cellar@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D97FE120100; Sun, 29 Dec 2019 19:50:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=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 Lt5NgOYR7Kos; Sun, 29 Dec 2019 19:50:30 -0800 (PST)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (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 197961200D6; Sun, 29 Dec 2019 19:50:29 -0800 (PST)
Received: from kduck.mit.edu ([24.16.140.251]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id xBU3oOcb020149 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 29 Dec 2019 22:50:26 -0500
Date: Sun, 29 Dec 2019 19:50:23 -0800
From: Benjamin Kaduk <kaduk@mit.edu>
To: Steve Lhomme <slhomme@matroska.org>
Cc: The IESG <iesg@ietf.org>, Steven Villereal <villereal@gmail.com>, draft-ietf-cellar-ebml@ietf.org, cellar-chairs@ietf.org, Codec Encoding for LossLess Archiving and Realtime transmission <cellar@ietf.org>
Message-ID: <20191230035023.GI35479@kduck.mit.edu>
References: <157676970970.27491.11040479061607849531.idtracker@ietfa.amsl.com> <CAOXsMFJKk3HTEjoAJ9URhGt97SA++kNDp3HCVMscj+qED5+VgA@mail.gmail.com> <20191224184147.GP35479@kduck.mit.edu> <3fb0107e-a5d3-5d3a-0d15-f556b97755ae@matroska.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <3fb0107e-a5d3-5d3a-0d15-f556b97755ae@matroska.org>
User-Agent: Mutt/1.12.1 (2019-06-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/vmUChGdD9BLqVZ7EUS4_HM_8t4M>
Subject: Re: [Cellar] Benjamin Kaduk's Discuss on draft-ietf-cellar-ebml-15: (with DISCUSS and COMMENT)
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Codec Encoding for LossLess Archiving and Realtime transmission <cellar.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cellar>, <mailto:cellar-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cellar/>
List-Post: <mailto:cellar@ietf.org>
List-Help: <mailto:cellar-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cellar>, <mailto:cellar-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Dec 2019 03:50:32 -0000

On Fri, Dec 27, 2019 at 10:17:58AM +0100, Steve Lhomme wrote:
> On 2019-12-24 19:41, Benjamin Kaduk wrote:
> > On Tue, Dec 24, 2019 at 04:20:25PM +0100, Steve Lhomme wrote:
> 
> >>> Section 12
> >>>
> >>>     If a Master Element contains a CRC-32 Element that doesn't validate,
> >>>     then the EBML Reader MAY ignore all contained data except for
> >>>     Descendant Elements that contain their own valid CRC-32 Element.
> >>>
> >>> Ignoring only part of the known questionable content could have
> >>> significant security considerations, if (e.g.) security-relevant
> >>> restrictions are in the garbled part of the document but the sensitive
> >>> content has a (valid) redundant CRC.
> >>
> >> That's why it's a MAY. If a Matroska Segment has a CRC and each frame
> >> in it has a CRC. If the top CRC is invalid, we can still use some of
> >> the frames that have a valid CRC. It's not a requirement but a
> >> possibility.
> > 
> > I agree that it's an implementation choice for whether or not to do this,
> > but please add some text in the Security Considerations that mentions the
> > risk of handling incomplete-but-interdependent data when implementations
> > choose to do this sort of thing.
> 
> I think it really depends on the dependency of the data at the semantic 
> level. For example and EBML Element may define the type of data found in 
> another EBML Element. If the type is damaged the interpretation of the 
> data can create many kind of issues.
> 
> As for the CRC I think it's similar. It depends on what the CRC covers 
> and the decision should probably be done at the semantic level, even 
> with various options on how to handle the data.

I entirely agree that it depneds on the semantics of the particular data in
question.  That said, even if it only would happen for a small fraction of
actual usage, typically we still see fit to document the existence of the
risk for the affected cases, in the security considerations.

-Ben