freebsd-dev/sys
Marcin Wojtas b0fefb25c5 Create kernel module to parse Veriexec manifest based on envs
The current approach of injecting manifest into mac_veriexec is to
verify the integrity of it in userspace (veriexec (8)) and pass its
entries into kernel using a char device (/dev/veriexec).
This requires verifying root partition integrity in loader,
for example by using memory disk and checking its hash.
Otherwise if rootfs is compromised an attacker could inject their own data.

This patch introduces an option to parse manifest in kernel based on envs.
The loader sets manifest path and digest.
EVENTHANDLER is used to launch the module right after the rootfs is mounted.
It has to be done this way, since one might want to verify integrity of the init file.
This means that manifest is required to be present on the root partition.
Note that the envs have to be set right before boot to make sure that no one can spoof them.

Submitted by: Kornel Duleba <mindal@semihalf.com>
Reviewed by: sjg
Obtained from: Semihalf
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D19281
2019-04-03 03:57:37 +00:00
..
amd64 Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
arm Use information about max data size that the controller is able to operate 2019-04-01 18:49:39 +00:00
arm64 Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
bsm Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
cam Build NVMe CAM transport unrelated to NVMe SIM. 2019-04-02 20:27:56 +00:00
cddl If the autoexpand pool property is turned on and vdev is healthy try to 2019-03-30 07:29:20 +00:00
compat freebsd32: fix padding of computed control message length for recvmsg() 2019-03-30 23:43:58 +00:00
conf Create kernel module to parse Veriexec manifest based on envs 2019-04-03 03:57:37 +00:00
contrib Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
crypto Embedded chacha: Add 0-bit iv + 128-bit counter mode 2019-03-01 23:30:23 +00:00
ddb ddb: Print the thread's pcb in 'show thread' 2019-02-09 21:08:19 +00:00
dev ioat(4) should use bus_dma(9) for the operation source and destination 2019-04-02 19:08:06 +00:00
dts Adapt FreeBSD specific DT stub for Jetson TK1 board to be consistent with 2019-02-06 06:03:44 +00:00
fs tmpfs: plug holes on rw->ro mount update. 2019-04-02 13:59:04 +00:00
gdb
geom Introduce new event SIZECHANGE within GEOM system to inform about GEOM 2019-03-30 07:24:34 +00:00
gnu Correct my previous correction to the license. It now matches the text 2019-03-07 22:34:45 +00:00
i386 Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
isa
kern Fix branding after r345661. 2019-03-30 16:58:51 +00:00
kgssapi * Handle SIGPIPE in gssd 2019-02-21 01:30:37 +00:00
libkern Add non-sleepable strdup variant strdup_flags 2019-02-20 20:48:10 +00:00
mips The Atheros AR7241 has 20 GPIO pins 2019-03-25 07:48:52 +00:00
modules Fix make in sys/modules 2019-03-28 08:59:11 +00:00
net Do not perform DAD on stf(4) interfaces. 2019-03-30 18:00:44 +00:00
net80211 net80211: correct check for SMPS node flags updates 2019-03-18 02:40:22 +00:00
netgraph Remove 'dir' argument in ng_ipfw_input, since ip_fw_args now has this info. 2019-03-14 22:30:05 +00:00
netinet tcp_autorcvbuf_inc was removed in r344433. 2019-03-29 21:39:47 +00:00
netinet6 Do not perform DAD on stf(4) interfaces. 2019-03-30 18:00:44 +00:00
netipsec Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
netpfil pf: use UID_ROOT and GID_WHEEL named constants in make_dev 2019-03-26 21:20:42 +00:00
netsmb Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
nfs
nfsclient
nfsserver
nlm
ofed Mechanical cleanup of epoch(9) usage in network stack. 2019-01-09 01:11:19 +00:00
opencrypto Fix another bug introduced during the review process of r344140: 2019-02-25 19:14:16 +00:00
powerpc powerpc: Apply r178139 from sparc64 to powerpc's fpu_sqrt 2019-04-03 03:54:30 +00:00
riscv o Grab the number of devices supported by PLIC from FDT. 2019-04-02 12:02:35 +00:00
rpc Add a comment to the r345818 patch to explain why cl_refs is initialized to 2. 2019-04-03 03:50:16 +00:00
security Create kernel module to parse Veriexec manifest based on envs 2019-04-03 03:57:37 +00:00
sparc64 amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
sys Revert change accidentally committed along with r345625 2019-03-28 10:56:27 +00:00
teken Attempt to complete fixing programmable function keys for syscons. 2019-02-20 02:14:41 +00:00
tests Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
tools make_dtb.sh: Use $CPP instead of assuming that cpp is in $PATH 2018-12-14 23:53:28 +00:00
ufs This is an additional and hopefully final fix for bug report 230962. 2019-03-20 23:11:05 +00:00
vm Eliminate adj_free field from vm_map_entry. 2019-03-29 16:53:46 +00:00
x86 DMAR driver assumes all physical addresses are backed by a fully 2019-04-02 18:50:49 +00:00
xdr
xen xen: introduce a new way to setup event channel upcall 2019-01-30 11:34:52 +00:00
Makefile