Messages in this thread | | | Date | Thu, 07 Aug 2008 23:29:25 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: [PATCH] x86: prevent binaries from making system calls using the wrong syscall interface |
| |
Michael Davidson wrote: > Prevent binaries from making system calls using other than one > of the "normal" system call interfaces for that binary type. > > Currently there is nothing to prevent 64 bit binaries from > attempting to make system calls using the 32 bit system call > interfaces and vice versa. >
No. While I'm not sure it's been used, it would definitely be useful to be able to invoke 32-bit int 0x80 syscalls in 64-bit bit process for something like Valgrind.
Issuing 64-bit syscalls from a 32-bit process would be... interesting.
> Since the 32 bit and 64 bit system call numbers are different > this means that a binary could attempt to obfuscate which system > calls it was actually making by using the "wrong" system call > interface. In particular, the call to audit_syscall_entry() > relies on checking the TIF_IA32 flag to determine whether it is > dealing with a 32 or 64 bit system call without regard to the > actual type of system call that was made.
Or just have separate 32-compat vs 64 bit audit paths which can clearly make the distinction.
J
| |