Gentoo Archives: gentoo-hardened

From: Alex Efros <powerman@××××××××.name>
To: gentoo-hardened@l.g.o
Subject: [gentoo-hardened] "grsec: denied RWX mprotect" doesn't kill app anymore
Date: Sat, 01 Nov 2014 10:08:29
Message-Id: 20141101100823.GA22195@home.power
1 Hi!
2
3 I wonder is something was changed in handling "grsec: denied RWX mprotect"?
4 Previously when I see this in kernel log it usually result in killing app
5 (and I've to run `paxctl-ng -m /that/app`), but now it looks like this
6 doesn't happens anymore. For example:
7
8 # eselect opengl list
9 Available OpenGL implementations:
10 [1] nvidia *
11 [2] xorg-x11
12 # grep PAX /etc/portage/make.conf
13 PAX_MARKINGS="XT"
14 # paxctl-ng -v /usr/bin/glxgears
15 /usr/bin/glxgears:
16 PT_PAX : -e---
17 XATTR_PAX : not found
18 # /usr/bin/glxgears
19 Running synchronized to the vertical refresh. The framerate should be
20 approximately the same as the monitor refresh rate.
21 302 frames in 5.0 seconds = 60.336 FPS
22 300 frames in 5.0 seconds = 59.960 FPS
23 (so, as you see, it works!)
24
25 and here is kernel log:
26
27 2014-11-01_10:00:19.58867 kern.alert: grsec: denied RWX mprotect of /usr/lib64/opengl/nvidia/lib/libGL.so.343.22 by /usr/bin/glxgears[glxgears:12208] uid/euid:0/0 gid/egid:0/0, parent /bin/bash[bash:8601] uid/euid:0/0 gid/egid:0/0
28
29 At same time paxtest works ok (all killed).
30
31
32 My kernel config:
33
34 # zgrep PAX /proc/config.gz
35
36 CONFIG_PAX_USERCOPY_SLABS=y
37 CONFIG_PAX=y
38 # CONFIG_PAX_SOFTMODE is not set
39 # CONFIG_PAX_PT_PAX_FLAGS is not set
40 CONFIG_PAX_XATTR_PAX_FLAGS=y
41 CONFIG_PAX_NO_ACL_FLAGS=y
42 # CONFIG_PAX_HAVE_ACL_FLAGS is not set
43 # CONFIG_PAX_HOOK_ACL_FLAGS is not set
44 CONFIG_PAX_NOEXEC=y
45 CONFIG_PAX_PAGEEXEC=y
46 CONFIG_PAX_EMUTRAMP=y
47 CONFIG_PAX_MPROTECT=y
48 # CONFIG_PAX_MPROTECT_COMPAT is not set
49 # CONFIG_PAX_ELFRELOCS is not set
50 # CONFIG_PAX_KERNEXEC is not set
51 CONFIG_PAX_KERNEXEC_PLUGIN_METHOD=""
52 CONFIG_PAX_ASLR=y
53 # CONFIG_PAX_RANDKSTACK is not set
54 CONFIG_PAX_RANDUSTACK=y
55 CONFIG_PAX_RANDMMAP=y
56 # CONFIG_PAX_MEMORY_SANITIZE is not set
57 # CONFIG_PAX_MEMORY_STACKLEAK is not set
58 CONFIG_PAX_MEMORY_STRUCTLEAK=y
59 # CONFIG_PAX_MEMORY_UDEREF is not set
60 CONFIG_PAX_REFCOUNT=y
61 CONFIG_PAX_USERCOPY=y
62 # CONFIG_PAX_USERCOPY_DEBUG is not set
63 # CONFIG_PAX_SIZE_OVERFLOW is not set
64 # CONFIG_PAX_LATENT_ENTROPY is not set
65
66 # zgrep GRKERNSEC /proc/config.gz
67
68 CONFIG_GRKERNSEC=y
69 # CONFIG_GRKERNSEC_CONFIG_AUTO is not set
70 CONFIG_GRKERNSEC_CONFIG_CUSTOM=y
71 CONFIG_GRKERNSEC_PROC_GID=1000
72 CONFIG_GRKERNSEC_KMEM=y
73 # CONFIG_GRKERNSEC_IO is not set
74 CONFIG_GRKERNSEC_PERF_HARDEN=y
75 CONFIG_GRKERNSEC_RAND_THREADSTACK=y
76 CONFIG_GRKERNSEC_PROC_MEMMAP=y
77 # CONFIG_GRKERNSEC_KSTACKOVERFLOW is not set
78 # CONFIG_GRKERNSEC_BRUTE is not set
79 CONFIG_GRKERNSEC_MODHARDEN=y
80 CONFIG_GRKERNSEC_HIDESYM=y
81 # CONFIG_GRKERNSEC_RANDSTRUCT is not set
82 # CONFIG_GRKERNSEC_KERN_LOCKOUT is not set
83 CONFIG_GRKERNSEC_NO_RBAC=y
84 CONFIG_GRKERNSEC_ACL_HIDEKERN=y
85 CONFIG_GRKERNSEC_ACL_MAXTRIES=3
86 CONFIG_GRKERNSEC_ACL_TIMEOUT=30
87 CONFIG_GRKERNSEC_PROC=y
88 # CONFIG_GRKERNSEC_PROC_USER is not set
89 CONFIG_GRKERNSEC_PROC_USERGROUP=y
90 CONFIG_GRKERNSEC_PROC_ADD=y
91 CONFIG_GRKERNSEC_LINK=y
92 # CONFIG_GRKERNSEC_SYMLINKOWN is not set
93 CONFIG_GRKERNSEC_FIFO=y
94 # CONFIG_GRKERNSEC_SYSFS_RESTRICT is not set
95 # CONFIG_GRKERNSEC_ROFS is not set
96 CONFIG_GRKERNSEC_DEVICE_SIDECHANNEL=y
97 CONFIG_GRKERNSEC_CHROOT=y
98 CONFIG_GRKERNSEC_CHROOT_MOUNT=y
99 CONFIG_GRKERNSEC_CHROOT_DOUBLE=y
100 CONFIG_GRKERNSEC_CHROOT_PIVOT=y
101 CONFIG_GRKERNSEC_CHROOT_CHDIR=y
102 CONFIG_GRKERNSEC_CHROOT_CHMOD=y
103 CONFIG_GRKERNSEC_CHROOT_FCHDIR=y
104 CONFIG_GRKERNSEC_CHROOT_MKNOD=y
105 CONFIG_GRKERNSEC_CHROOT_SHMAT=y
106 CONFIG_GRKERNSEC_CHROOT_UNIX=y
107 CONFIG_GRKERNSEC_CHROOT_FINDTASK=y
108 CONFIG_GRKERNSEC_CHROOT_NICE=y
109 CONFIG_GRKERNSEC_CHROOT_SYSCTL=y
110 CONFIG_GRKERNSEC_CHROOT_CAPS=y
111 # CONFIG_GRKERNSEC_AUDIT_GROUP is not set
112 # CONFIG_GRKERNSEC_EXECLOG is not set
113 CONFIG_GRKERNSEC_RESLOG=y
114 # CONFIG_GRKERNSEC_CHROOT_EXECLOG is not set
115 CONFIG_GRKERNSEC_AUDIT_PTRACE=y
116 # CONFIG_GRKERNSEC_AUDIT_CHDIR is not set
117 # CONFIG_GRKERNSEC_AUDIT_MOUNT is not set
118 CONFIG_GRKERNSEC_SIGNAL=y
119 CONFIG_GRKERNSEC_FORKFAIL=y
120 # CONFIG_GRKERNSEC_TIME is not set
121 CONFIG_GRKERNSEC_PROC_IPADDR=y
122 CONFIG_GRKERNSEC_RWXMAP_LOG=y
123 CONFIG_GRKERNSEC_DMESG=y
124 CONFIG_GRKERNSEC_HARDEN_PTRACE=y
125 CONFIG_GRKERNSEC_PTRACE_READEXEC=y
126 CONFIG_GRKERNSEC_SETXID=y
127 CONFIG_GRKERNSEC_HARDEN_IPC=y
128 # CONFIG_GRKERNSEC_TPE is not set
129 CONFIG_GRKERNSEC_RANDNET=y
130 CONFIG_GRKERNSEC_BLACKHOLE=y
131 CONFIG_GRKERNSEC_NO_SIMULT_CONNECT=y
132 # CONFIG_GRKERNSEC_SOCKET is not set
133 # CONFIG_GRKERNSEC_DENYUSB is not set
134 CONFIG_GRKERNSEC_SYSCTL=y
135 CONFIG_GRKERNSEC_SYSCTL_ON=y
136 CONFIG_GRKERNSEC_FLOODTIME=10
137 CONFIG_GRKERNSEC_FLOODBURST=4
138
139 --
140 WBR, Alex.

Replies