Received: by 10.192.165.148 with SMTP id m20csp49905imm; Thu, 3 May 2018 14:39:36 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqI7fNWwaE4dJkJZRfDi/KyMs5Qp2W8Km6lEEm2CnDUd3zfju9FEtcKSvaHJNdXfAwqx4mO X-Received: by 2002:a17:902:bb06:: with SMTP id l6-v6mr25523087pls.255.1525383576871; Thu, 03 May 2018 14:39:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525383576; cv=none; d=google.com; s=arc-20160816; b=BqAyDZo5sm0mbpliuRWYdu9Hx62IQTwiAJ+A56vBbjIzcQ4Jm03mZ4vtdoYl9Owb+a atifn41RaQLgMFKaXoGsoTiNtMqmRCutkGpSE4yVbnb0e6mUYefyD6VOyEtkkyhERqiu vYI+3ysp6q5LuAJ7vS844AadwHrbmM4fwfk4nKYrCfDSzKjSnYFOHJ6ChPEQEtvTS8Bw zo0C+VpWIT+LM7khZeGUeZ1JBkCnjyWOOilBRht/MumVO2ol9Cefdpg8fDBqjv2wcmST JcZLh252q1ITbGXcCWvso4g37dX72xDE433OwRQQ6YljhXYSb7VwyrjV0PBHR0vB3ZPo NUkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:subject:content-transfer-encoding :mime-version:user-agent:message-id:in-reply-to:date:references:cc :to:from:arc-authentication-results; bh=UbiY0XWC+QLWI1nF3HUdyeI9fAIjluN2Su4eaKdh2bQ=; b=U2l63VCGfOhuCdIASmFZ5Kk15/6+jZuMCsFnT2Gz3yKnzvdBe8HyQceJFNkBAbBnT4 PEgnl6TE9vgH0eXKv7THl59T2EiUF8ErHA467svqHtzB+PsCrIiUuiooLMlo7Zd9Gvho KPWCwU7WVDQG+HHf5mpYc3HIYOAwR2vrd/eKQ6gpOj26bJSB8kItqDb74wsVb6qy89hp FuKpxRSvrv4n4uvZDW7AO/aa60bOsn4KnsMuGV+pJfoTlqDGwCdZROWkVumJzfCrj4b7 L5sYL/vOixzVu8fSohH4cZRM37v68YpPGPRQ+XW3HJSh1HL5XEs5sds91vmoGU43j2HM aiGA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t23-v6si12004683pgu.285.2018.05.03.14.39.22; Thu, 03 May 2018 14:39:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751262AbeECVjI convert rfc822-to-8bit (ORCPT + 99 others); Thu, 3 May 2018 17:39:08 -0400 Received: from out01.mta.xmission.com ([166.70.13.231]:46412 "EHLO out01.mta.xmission.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751139AbeECVjG (ORCPT ); Thu, 3 May 2018 17:39:06 -0400 Received: from in02.mta.xmission.com ([166.70.13.52]) by out01.mta.xmission.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.87) (envelope-from ) id 1fELwO-0001n6-U4; Thu, 03 May 2018 15:39:04 -0600 Received: from [97.119.174.25] (helo=x220.xmission.com) by in02.mta.xmission.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.87) (envelope-from ) id 1fELwO-0004TR-Co; Thu, 03 May 2018 15:39:04 -0600 From: ebiederm@xmission.com (Eric W. Biederman) To: Mimi Zohar Cc: Kees Cook , David Howells , Matthew Garrett , linux-integrity@vger.kernel.org, linux-security-module@vger.kernel.org, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, kernel-hardening@lists.openwall.com References: <1523572911-16363-1-git-send-email-zohar@linux.vnet.ibm.com> <87r2mso5up.fsf@xmission.com> <1525383075.3539.67.camel@linux.vnet.ibm.com> Date: Thu, 03 May 2018 16:38:57 -0500 In-Reply-To: <1525383075.3539.67.camel@linux.vnet.ibm.com> (Mimi Zohar's message of "Thu, 03 May 2018 17:31:15 -0400") Message-ID: <87d0yco1vy.fsf@xmission.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT X-XM-SPF: eid=1fELwO-0004TR-Co;;;mid=<87d0yco1vy.fsf@xmission.com>;;;hst=in02.mta.xmission.com;;;ip=97.119.174.25;;;frm=ebiederm@xmission.com;;;spf=neutral X-XM-AID: U2FsdGVkX1++UOxjXLvcp8fRHH8jwfJ5jZXTJVAA6Co= X-SA-Exim-Connect-IP: 97.119.174.25 X-SA-Exim-Mail-From: ebiederm@xmission.com X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa06.xmission.com X-Spam-Level: ** X-Spam-Status: No, score=2.3 required=8.0 tests=ALL_TRUSTED,BAYES_50, DCC_CHECK_NEGATIVE,T_TM2_M_HEADER_IN_MSG,T_TooManySym_01,T_XMDrugObfuBody_08, XMNoVowels autolearn=disabled version=3.4.1 X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 1.5 XMNoVowels Alpha-numberic number with no vowels * 0.0 T_TM2_M_HEADER_IN_MSG BODY: No description available. * 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% * [score: 0.4978] * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa06 1397; Body=1 Fuz1=1 Fuz2=1] * 1.0 T_XMDrugObfuBody_08 obfuscated drug references * 0.0 T_TooManySym_01 4+ unique symbols in subject X-Spam-DCC: XMission; sa06 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: **;Mimi Zohar X-Spam-Relay-Country: X-Spam-Timing: total 237 ms - load_scoreonly_sql: 0.03 (0.0%), signal_user_changed: 2.4 (1.0%), b_tie_ro: 1.70 (0.7%), parse: 0.84 (0.4%), extract_message_metadata: 3.3 (1.4%), get_uri_detail_list: 1.59 (0.7%), tests_pri_-1000: 3.6 (1.5%), tests_pri_-950: 1.19 (0.5%), tests_pri_-900: 0.99 (0.4%), tests_pri_-400: 23 (9.8%), check_bayes: 22 (9.4%), b_tokenize: 7 (2.9%), b_tok_get_all: 7 (3.1%), b_comp_prob: 2.6 (1.1%), b_tok_touch_all: 3.2 (1.3%), b_finish: 0.66 (0.3%), tests_pri_0: 190 (80.0%), check_dkim_signature: 0.71 (0.3%), check_dkim_adsp: 2.4 (1.0%), tests_pri_500: 4.6 (1.9%), rewrite_mail: 0.00 (0.0%) Subject: Re: [PATCH 0/3] kexec: limit kexec_load syscall X-Spam-Flag: No X-SA-Exim-Version: 4.2.1 (built Thu, 05 May 2016 13:38:54 -0600) X-SA-Exim-Scanned: Yes (on in02.mta.xmission.com) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Mimi Zohar writes: > [Cc'ing Kees and kernel-hardening] > > On Thu, 2018-05-03 at 15:13 -0500, Eric W. Biederman wrote: >> Mimi Zohar writes: >> >> > In environments that require the kexec kernel image to be signed, prevent >> > using the kexec_load syscall. In order for LSMs and IMA to differentiate >> > between kexec_load and kexec_file_load syscalls, this patch set adds a >> > call to security_kernel_read_file() in kexec_load_check(). >> >> Having thought about it some more this justification for these changes >> does not work. The functionality of kexec_load is already root-only. >> So in environments that require the kernel image to be signed just don't >> use kexec_load. Possibly even compile kexec_load out to save space >> because you will never need it. You don't need a new security hook to >> do any of that. Userspace is a very fine mechanism for being the >> instrument of policy. > > True, for those building their own kernel, they can disable the old > syscalls.  The concern is not for those building their own kernels, > but for those using stock kernels.   > > By adding an LSM hook here in the kexec_load syscall, as opposed to an > IMA specific hook, other LSMs can piggy back on top of it.  Currently, > both load_pin and SELinux are gating the kernel module syscalls based > on security_kernel_read_file. > > If there was a similar option for the kernel image, I'm pretty sure > other LSMs would use it. > > From an IMA perspective, there needs to be some method for only > allowing signed code to be loaded, executed, etc. - kernel modules, > kernel image/initramfs, firmware, policies. What is the IMA perspective. Why can't IMA trust appropriately authorized userspace? >> If you don't trust userspace that needs to be spelled out very clearly. >> You need to talk about what your threat models are. >> >> If the only justification is so that that we can't boot windows if >> someone hacks into userspace it has my nack because that is another kind >> of complete non-sense. > > The usecase is the ability to gate the kexec_load usage in stock > kernels. But kexec_load is already gated. It requires CAP_SYS_BOOT. >> Given that you are not trusting userspace this changeset also probably >> needs to have the kernel-hardening list cc'd. Because the only possible >> justification I can imagine for something like this is kernel-hardening. > > Sure, Cc'ing linux-hardening and Kees. > > Mimi