Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp649615pxa; Tue, 11 Aug 2020 11:29:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwIwr9yNof1FllABcFPtAY5pRKwSLWVzguZ4Uz4W42qLy0Zi03CMgA2rN+AGiDY9yU6lIDQ X-Received: by 2002:a17:906:2b8e:: with SMTP id m14mr2700223ejg.249.1597170564354; Tue, 11 Aug 2020 11:29:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597170564; cv=none; d=google.com; s=arc-20160816; b=kSwC1SvUe720hP5RCzuAuGHE2aGHmSKyw5PdM+2VEms6WHdaxbKwVGA884DZ/7Pifj Yzi9fX8CsSqzAXxn5PVKQCRESPf7lj9rywnFEV/tiomY6ebTHjIioQ+JSsA4YZL9iNgx JCY0DtvMAE8BuMOuOxxOXUrJws0hXThzayODloKzhLq3iCIv1vXuv0umJ9wA/Tl+olyh 48Gkb4NznfMjWfPzLsqzm9zpHhWgKq5uqqgqs10mb0VJsKMKzXb2xIQ4P28AhhLde3Ma lHSaB/fTFnZ6cC51aYKksx+j0T0+kCKfCOfnJrME+nSMUk4WgVDFssugd/p5r+9xxvpV 9jjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature:dkim-signature; bh=26MB8aZXhcJtdAk3LUJ+XAw86fYa2gFhHvg5sSBO9MQ=; b=soccEPC1zCc0sO7EG71j4jUWutAG9ZPec1VTQn7RPkAWTr1dLcj0uZyU1jV/pPQDgs syeJEndg4QOi7DBDAfF1pBjn0wJ5LqCeVI+SN6cDkbiTIosI5lJPzBzETKGxpI5qdC8R 4z8HoUsgCBbQR8FA+fR52DDhqnZDl8oCLvHsE5IlBTEtDiROigCaihsevTBNGe7qMKbG alHYGPlQrgORGG5dQ2gIT4/brxgvKC5Rq0M8JBOuEvGaHorc0gfEH98DucMd7YlhnpWs AnzuiXmDBfUiFC8JCVwX+pYDUR3NDgcA+/LewaJufg6P0QVsqiNXOH4f3bWw4Gh2PwaK 0LxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hansenpartnership.com header.s=20151216 header.b=f8kSFMTU; dkim=fail header.i=@hansenpartnership.com header.s=20151216 header.b=OSDLkaQV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hansenpartnership.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qq10si13013493ejb.362.2020.08.11.11.29.01; Tue, 11 Aug 2020 11:29:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@hansenpartnership.com header.s=20151216 header.b=f8kSFMTU; dkim=fail header.i=@hansenpartnership.com header.s=20151216 header.b=OSDLkaQV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hansenpartnership.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726258AbgHKS2e (ORCPT + 99 others); Tue, 11 Aug 2020 14:28:34 -0400 Received: from bedivere.hansenpartnership.com ([66.63.167.143]:43170 "EHLO bedivere.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725889AbgHKS2d (ORCPT ); Tue, 11 Aug 2020 14:28:33 -0400 Received: from localhost (localhost [127.0.0.1]) by bedivere.hansenpartnership.com (Postfix) with ESMTP id 12B4B8EE19D; Tue, 11 Aug 2020 11:28:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=hansenpartnership.com; s=20151216; t=1597170512; bh=3WEnw6QUJlA/ul3OQNUWXjoU13+yLZLQS09srF5MAho=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=f8kSFMTUDNJBODH89PuFjILL2FIdhsJg734xkqUR/cnDMS0KoMreMUczSAhnUyPMA FTeH0AYqaAUb8S0lZlH/2MKXOBNx4BiGB+ITLubur3uSRnr1jBTuyfUMErztSAvCOK o6mPwANArB0pQb+2/z1bhs18+blmHF0lRNFSsct0= Received: from bedivere.hansenpartnership.com ([127.0.0.1]) by localhost (bedivere.hansenpartnership.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zuQo8S5FYJFD; Tue, 11 Aug 2020 11:28:31 -0700 (PDT) Received: from [153.66.254.174] (c-73-35-198-56.hsd1.wa.comcast.net [73.35.198.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bedivere.hansenpartnership.com (Postfix) with ESMTPSA id 7EF748EE149; Tue, 11 Aug 2020 11:28:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=hansenpartnership.com; s=20151216; t=1597170511; bh=3WEnw6QUJlA/ul3OQNUWXjoU13+yLZLQS09srF5MAho=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=OSDLkaQVZ4KRYf4a0s5X94LSMaapheTMG3B7iv1TDO9dOQ2MOULwugwtLeHe6qdeF qJgkWRBhCi9y0UIGoySKjkb+RHhMP2bUFkZ9nJkEdlUyNr1yc428zvmYrJhUC4gJZu kZoLKW8vwf99sZFDKUvV19sDo8EBD6kP0uULOtBM= Message-ID: <1597170509.4325.55.camel@HansenPartnership.com> Subject: Re: [dm-devel] [RFC PATCH v5 00/11] Integrity Policy Enforcement LSM (IPE) From: James Bottomley To: Chuck Lever Cc: Mimi Zohar , James Morris , Deven Bowers , Pavel Machek , Sasha Levin , snitzer@redhat.com, dm-devel@redhat.com, tyhicks@linux.microsoft.com, agk@redhat.com, Paul Moore , Jonathan Corbet , nramas@linux.microsoft.com, serge@hallyn.com, pasha.tatashin@soleen.com, Jann Horn , linux-block@vger.kernel.org, Al Viro , Jens Axboe , mdsakib@microsoft.com, open list , eparis@redhat.com, linux-security-module@vger.kernel.org, linux-audit@redhat.com, linux-fsdevel , linux-integrity@vger.kernel.org, jaskarankhurana@linux.microsoft.com Date: Tue, 11 Aug 2020 11:28:29 -0700 In-Reply-To: <16C3BF97-A7D3-488A-9D26-7C9B18AD2084@gmail.com> References: <20200728213614.586312-1-deven.desai@linux.microsoft.com> <20200802115545.GA1162@bug> <20200802140300.GA2975990@sasha-vm> <20200802143143.GB20261@amd> <1596386606.4087.20.camel@HansenPartnership.com> <1596639689.3457.17.camel@HansenPartnership.com> <329E8DBA-049E-4959-AFD4-9D118DEB176E@gmail.com> <1597073737.3966.12.camel@HansenPartnership.com> <6E907A22-02CC-42DD-B3CD-11D304F3A1A8@gmail.com> <1597124623.30793.14.camel@HansenPartnership.com> <16C3BF97-A7D3-488A-9D26-7C9B18AD2084@gmail.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.26.6 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2020-08-11 at 10:48 -0400, Chuck Lever wrote: > Mimi's earlier point is that any IMA metadata format that involves > unsigned digests is exposed to an alteration attack at rest or in > transit, thus will not provide a robust end-to-end integrity > guarantee. I don't believe that is Mimi's point, because it's mostly not correct: the xattr mechanism does provide this today. The point is the mechanism we use for storing IMA hashes and signatures today is xattrs because they have robust security properties for local filesystems that the kernel enforces. This use goes beyond IMA, selinux labels for instance use this property as well. What I think you're saying is that NFS can't provide the robust security for xattrs we've been relying on, so you need some other mechanism for storing them. I think Mimi's other point is actually that IMA uses a flat hash which we derive by reading the entire file and then watching for mutations. Since you cannot guarantee we get notice of mutation with NFS, the entire IMA mechanism can't really be applied in its current form and we have to resort to chunk at a time verifications that a Merkel tree would provide. Doesn't this make moot any thinking about standardisation in NFS for the current IMA flat hash mechanism because we simply can't use it ... If I were to construct a prototype I'd have to work out and securely cache the hash of ever chunk when verifying the flat hash so I could recheck on every chunk read. I think that's infeasible for large files. James