All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Ropert <mro@adviseo.fr>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: Neha Sood <neha0405@yahoo.com>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: Re: System Call Interception
Date: Wed, 22 Nov 2006 20:58:00 +0100	[thread overview]
Message-ID: <4564ABC8.5090704@adviseo.fr> (raw)
In-Reply-To: <4561DA1E.60108@us.ibm.com>

Anthony Liguori wrote:
> Neha Sood wrote:
>>
>> Hi there,
>>
>> I have a question related to intercepting guest OS system calls in 
>> Xen to provide logging mechanism. As a part of my project, i have to 
>> log all the system calls issued by the guest OS in the Xen hypervisor 
>> for secure logging. I am new to Xen and have been reading the source 
>> code. I have read about Fast Handler for system call. What is the 
>> fast handler and how the system call works in Xen. Could you please 
>> provide me some starting point how to do that?
>
> On i386 at least, syscalls are delivered directly to the guest (they 
> aren't intercepted by Xen).
>
> I'm not sure if the same is true on x86-64 but at any rate, the first 
> thing to do would be to make sure Xen intercepts syscalls.  You will 
> have to find some mechanism to "log" these events which will likely 
> involved a ring queue and some sort of daemon in dom0.
All syscalls go through Xen on x86-64 (as guest runs in ring3), so you 
can insert some logs in the handling code (xen/arch/x86/x86_64/entry.S).
But as stated before, would be much easier to do it in the guest kernel 
code for most OS. Now if you talk about logging calls from a 
non-modified guest (using HVM),  it should be theorically possible but i 
don't where you should insert your code (probably in the interrupt 
handling code somewhere in xen/arch/x86/hvm, can't be more precise 
though, don't know this part very well).
About the "fast" system call, it's a new feature added on x86-64 (and i 
think on the lastest x86 CPUs) to handle what it names says "fast system 
calls". It's used as an alternative to the software interrupts 
(generated by the "int" instruction) to handle system call faster than 
the usual way. They are entered via the "syscall" instruction and exited 
with "sysret" (some processors also implements the "sysenter" and 
"sysexit" instructions, check Intel/AMD manuals for more detail).

Regards,

Mathieu
>
> However, as Mats suggests, are you sure this is really what you want 
> to do?  The audit infrastructure in Linux is designed just to do this 
> sort of thing...
>
> Regards,
>
> Anthony Liguori
>
>> Will it be a very difficult to log guest OS system calls in Xen ? If 
>> no, how to start with and what are files have to be changed.
>>
>> I would really appreciate your help.
>>
>> Thanks,
>> Neha
>>
>> ------------------------------------------------------------------------
>> Sponsored Link
>>
>> Mortgage rates near 39yr lows. $510,000 Mortgage for $1,698/mo - 
>> Calculate new house payment 
>> <http://www.lowermybills.com/lre/index.jsp?sourceid=lmb-9134-16416&moid=4119> 
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xensource.com
>> http://lists.xensource.com/xen-devel
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

  reply	other threads:[~2006-11-22 19:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-19 19:10 System Call Interception Neha Sood
2006-11-20 10:54 ` Petersson, Mats
2006-11-20 16:38 ` Anthony Liguori
2006-11-22 19:58   ` Mathieu Ropert [this message]
2006-11-23 15:52     ` Adrian Chadd

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4564ABC8.5090704@adviseo.fr \
    --to=mro@adviseo.fr \
    --cc=aliguori@us.ibm.com \
    --cc=neha0405@yahoo.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.