linux-kselftest.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1] sefltest/ima: support appended signatures (modsig)
@ 2019-08-28 15:14 Mimi Zohar
  2019-08-28 15:53 ` shuah
  2019-08-28 23:38 ` Thiago Jung Bauermann
  0 siblings, 2 replies; 5+ messages in thread
From: Mimi Zohar @ 2019-08-28 15:14 UTC (permalink / raw)
  To: linux-integrity
  Cc: Mimi Zohar, Thiago Jung Bauermann, Petr Vorel, Jessica Yu,
	Dave Young, shuah, linux-kselftest, linuxppc-dev, linux-kernel

In addition to the PE/COFF and IMA xattr signatures, the kexec kernel
image can be signed with an appended signature, using the same
scripts/sign-file tool that is used to sign kernel modules.

This patch adds support for detecting a kernel image signed with an
appended signature and updates the existing test messages
appropriately.

Reviewed-by: Petr Vorel <pvorel@suse.cz>
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
---
 .../selftests/kexec/test_kexec_file_load.sh        | 38 +++++++++++++++++++---
 1 file changed, 34 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/kexec/test_kexec_file_load.sh b/tools/testing/selftests/kexec/test_kexec_file_load.sh
index fa7c24e8eefb..2ff600388c30 100755
--- a/tools/testing/selftests/kexec/test_kexec_file_load.sh
+++ b/tools/testing/selftests/kexec/test_kexec_file_load.sh
@@ -37,11 +37,20 @@ is_ima_sig_required()
 	# sequentially.  As a result, a policy rule may be defined, but
 	# might not necessarily be used.  This test assumes if a policy
 	# rule is specified, that is the intent.
+
+	# First check for appended signature (modsig), then xattr
 	if [ $ima_read_policy -eq 1 ]; then
 		check_ima_policy "appraise" "func=KEXEC_KERNEL_CHECK" \
-			"appraise_type=imasig"
+			"appraise_type=imasig|modsig"
 		ret=$?
-		[ $ret -eq 1 ] && log_info "IMA signature required";
+		if [ $ret -eq 1 ]; then
+			log_info "IMA or appended(modsig) signature required"
+		else
+			check_ima_policy "appraise" "func=KEXEC_KERNEL_CHECK" \
+				"appraise_type=imasig"
+			ret=$?
+			[ $ret -eq 1 ] && log_info "IMA signature required";
+		fi
 	fi
 	return $ret
 }
@@ -84,6 +93,22 @@ check_for_imasig()
 	return $ret
 }
 
+# Return 1 for appended signature (modsig) found and 0 for not found.
+check_for_modsig()
+{
+	local module_sig_string="~Module signature appended~"
+	local sig="$(tail --bytes $((${#module_sig_string} + 1)) $KERNEL_IMAGE)"
+	local ret=0
+
+	if [ "$sig" == "$module_sig_string" ]; then
+		ret=1
+		log_info "kexec kernel image modsig signed"
+	else
+		log_info "kexec kernel image not modsig signed"
+	fi
+	return $ret
+}
+
 kexec_file_load_test()
 {
 	local succeed_msg="kexec_file_load succeeded"
@@ -98,7 +123,8 @@ kexec_file_load_test()
 		# In secureboot mode with an architecture  specific
 		# policy, make sure either an IMA or PE signature exists.
 		if [ $secureboot -eq 1 ] && [ $arch_policy -eq 1 ] && \
-			[ $ima_signed -eq 0 ] && [ $pe_signed -eq 0 ]; then
+			[ $ima_signed -eq 0 ] && [ $pe_signed -eq 0 ] \
+			  && [ $ima_modsig -eq 0 ]; then
 			log_fail "$succeed_msg (missing sig)"
 		fi
 
@@ -107,7 +133,8 @@ kexec_file_load_test()
 			log_fail "$succeed_msg (missing PE sig)"
 		fi
 
-		if [ $ima_sig_required -eq 1 ] && [ $ima_signed -eq 0 ]; then
+		if [ $ima_sig_required -eq 1 ] && [ $ima_signed -eq 0 ] \
+		     && [ $ima_modsig -eq 0 ]; then
 			log_fail "$succeed_msg (missing IMA sig)"
 		fi
 
@@ -204,5 +231,8 @@ pe_signed=$?
 check_for_imasig
 ima_signed=$?
 
+check_for_modsig
+ima_modsig=$?
+
 # Test loading the kernel image via kexec_file_load syscall
 kexec_file_load_test
-- 
2.7.5


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v1] sefltest/ima: support appended signatures (modsig)
  2019-08-28 15:14 [PATCH v1] sefltest/ima: support appended signatures (modsig) Mimi Zohar
@ 2019-08-28 15:53 ` shuah
  2019-08-28 15:55   ` Mimi Zohar
  2019-08-28 23:38 ` Thiago Jung Bauermann
  1 sibling, 1 reply; 5+ messages in thread
From: shuah @ 2019-08-28 15:53 UTC (permalink / raw)
  To: Mimi Zohar, linux-integrity
  Cc: Thiago Jung Bauermann, Petr Vorel, Jessica Yu, Dave Young,
	linux-kselftest, linuxppc-dev, linux-kernel, shuah

On 8/28/19 9:14 AM, Mimi Zohar wrote:
> In addition to the PE/COFF and IMA xattr signatures, the kexec kernel
> image can be signed with an appended signature, using the same
> scripts/sign-file tool that is used to sign kernel modules.
> 
> This patch adds support for detecting a kernel image signed with an
> appended signature and updates the existing test messages
> appropriately.
> 
> Reviewed-by: Petr Vorel <pvorel@suse.cz>
> Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
> ---

Thanks Mimi. This commit log looks good. My Ack for the patch
to go through the IMA tree.

Acked-by: Shuah Khan <skhan@linuxfoundation.org>

thanks,
-- Shuah

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1] sefltest/ima: support appended signatures (modsig)
  2019-08-28 15:53 ` shuah
@ 2019-08-28 15:55   ` Mimi Zohar
  0 siblings, 0 replies; 5+ messages in thread
From: Mimi Zohar @ 2019-08-28 15:55 UTC (permalink / raw)
  To: shuah, linux-integrity
  Cc: Thiago Jung Bauermann, Petr Vorel, Jessica Yu, Dave Young,
	linux-kselftest, linuxppc-dev, linux-kernel

On Wed, 2019-08-28 at 09:53 -0600, shuah wrote:
> On 8/28/19 9:14 AM, Mimi Zohar wrote:
> > In addition to the PE/COFF and IMA xattr signatures, the kexec kernel
> > image can be signed with an appended signature, using the same
> > scripts/sign-file tool that is used to sign kernel modules.
> > 
> > This patch adds support for detecting a kernel image signed with an
> > appended signature and updates the existing test messages
> > appropriately.
> > 
> > Reviewed-by: Petr Vorel <pvorel@suse.cz>
> > Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
> > ---
> 
> Thanks Mimi. This commit log looks good. My Ack for the patch
> to go through the IMA tree.
> 
> Acked-by: Shuah Khan <skhan@linuxfoundation.org>

Thanks!

Mimi


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1] sefltest/ima: support appended signatures (modsig)
  2019-08-28 15:14 [PATCH v1] sefltest/ima: support appended signatures (modsig) Mimi Zohar
  2019-08-28 15:53 ` shuah
@ 2019-08-28 23:38 ` Thiago Jung Bauermann
  2019-08-29  0:01   ` Mimi Zohar
  1 sibling, 1 reply; 5+ messages in thread
From: Thiago Jung Bauermann @ 2019-08-28 23:38 UTC (permalink / raw)
  To: Mimi Zohar
  Cc: linux-integrity, Petr Vorel, Jessica Yu, Dave Young, shuah,
	linux-kselftest, linuxppc-dev, linux-kernel


Hello Mimi,

Mimi Zohar <zohar@linux.ibm.com> writes:

> In addition to the PE/COFF and IMA xattr signatures, the kexec kernel
> image can be signed with an appended signature, using the same
> scripts/sign-file tool that is used to sign kernel modules.
>
> This patch adds support for detecting a kernel image signed with an
> appended signature and updates the existing test messages
> appropriately.
>
> Reviewed-by: Petr Vorel <pvorel@suse.cz>
> Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>

Thanks for doing this!

Reviewed-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>

-- 
Thiago Jung Bauermann
IBM Linux Technology Center

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1] sefltest/ima: support appended signatures (modsig)
  2019-08-28 23:38 ` Thiago Jung Bauermann
@ 2019-08-29  0:01   ` Mimi Zohar
  0 siblings, 0 replies; 5+ messages in thread
From: Mimi Zohar @ 2019-08-29  0:01 UTC (permalink / raw)
  To: Thiago Jung Bauermann
  Cc: linux-integrity, Petr Vorel, Jessica Yu, Dave Young, shuah,
	linux-kselftest, linuxppc-dev, linux-kernel

On Wed, 2019-08-28 at 20:38 -0300, Thiago Jung Bauermann wrote:
> Hello Mimi,
> 
> Mimi Zohar <zohar@linux.ibm.com> writes:
> 
> > In addition to the PE/COFF and IMA xattr signatures, the kexec kernel
> > image can be signed with an appended signature, using the same
> > scripts/sign-file tool that is used to sign kernel modules.
> >
> > This patch adds support for detecting a kernel image signed with an
> > appended signature and updates the existing test messages
> > appropriately.
> >
> > Reviewed-by: Petr Vorel <pvorel@suse.cz>
> > Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
> 
> Thanks for doing this!

You're welcome.  This isn't in lieu of a proper regression test that
verifies the IMA measurement list template modsig and d-modsig data
fields.  That still needs to be written.

thanks,

Mimi


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-08-29  0:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-28 15:14 [PATCH v1] sefltest/ima: support appended signatures (modsig) Mimi Zohar
2019-08-28 15:53 ` shuah
2019-08-28 15:55   ` Mimi Zohar
2019-08-28 23:38 ` Thiago Jung Bauermann
2019-08-29  0:01   ` Mimi Zohar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).