Re: trapping execve()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 29, 2002 at 12:12:12PM +0100, John Levon wrote:
> On Wed, May 29, 2002 at 07:22:46AM +0530, Sridhar N wrote:
> 
> > ok, I get your point.  Well, assuming what you've given is general to all 
> > syscalls, is it possible to insmod the module once, with a enable/disable 
> > flag, so that when the IDS is to be switched on, i just enable the flag to 
> > enable filtering. And instead of removing the module, I just reset the flag.  
> > Of course, *all* syscalls *all* the time, have to go through my code, even if 
> > the IDS is off. That is an overhead and a drawback, but atleast I *think* 
> > that should be safe.  Are my assumptions right ?
> 
> Actually things are slightly better than that. You can still switch back
> to the old system call pointers in the table, it's just you can never be
> *completely sure* that you can unload the module.

This is only correct on architectures where updating a function
pointer is atomic (such as x86). IIRC, this is not the case on IA64,
for example. 

The syscalltrack solution, btw, is to simply refuse to unload the
hijacker module. It's only 20k and can be shrunk further, and that's a
small price to pay for you data's assured integrity ;)
-- 
Sunday 7 Forelithe 7466

http://vipe.technion.ac.il/~mulix/
http://syscalltrack.sf.net/
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux