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
|  |