All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Booth <mbooth@redhat.com>
To: darryl.dixon@winterhouseconsulting.com
Cc: linux-audit@redhat.com
Subject: Re: Decoding arguments passed to system calls
Date: Tue, 03 Jul 2007 00:23:42 +0100	[thread overview]
Message-ID: <1183418622.4534.84.camel@localhost.localdomain> (raw)
In-Reply-To: <42015.65.99.233.211.1183416503.squirrel@pythonhacker.is-a-geek.net>


[-- Attachment #1.1: Type: text/plain, Size: 1877 bytes --]

On Tue, 2007-07-03 at 10:48 +1200, Darryl Dixon - Winterhouse Consulting
wrote:
> Hi Matt,
> 
> Thank you for your very thorough response. What you say about not being
> able to audit 'write()' is worrying to me. The problem with auditing write
> by inference from open(), is that one doesn't know *when* the file was
> written, or even if it really ever was at all (eg, was data written
> continuously from open() to close(), or only sporadically over the course
> of hours or days?). Auditing for actual alterations is definitely
> something that we need to be able to track. Assuming for a moment that we
> have beefy enough hardware ( heh ), can the path be extracted from write()
> as with your example for open() above? My assumption would have been that
> CWD reflected only where the exe was launched from, and not necessarily
> where the write()-en file was located...

Well, you can audit write(). The question is whether you can handle the
resulting data volume.

read() and write() don't generate a PATH record. The only time at which
a path is relevant is at the time the file is opened. Once the file is
opened, it can have zero or more paths, which can all change without
affecting the open file. An open file is genuinely divorced from its
path.

That said, it's *not* divorced from its filesystem, which I understand
is what you're really looking for. Unfortunately that information
doesn't appear to live on its own in the audit trail, and it's not
available to filter on for these calls. This would leave you having to
audit all read() and write() calls and filtering them in
post-processing. I doubt this would be a practical solution.

Matt
-- 
Matthew Booth, RHCA, RHCSS
Red Hat, Global Professional Services

M:       +44 (0)7977 267231
GPG ID:  D33C3490
GPG FPR: 3733 612D 2D05 5458 8A8A 1600 3441 EA19 D33C 3490

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



  reply	other threads:[~2007-07-02 23:23 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-02 21:46 Decoding arguments passed to system calls Darryl Dixon - Winterhouse Consulting
2007-07-02 22:27 ` Matthew Booth
2007-07-02 22:48   ` Darryl Dixon - Winterhouse Consulting
2007-07-02 23:23     ` Matthew Booth [this message]
2007-07-03 11:57       ` Stephen Smalley
2007-07-03 14:38         ` Stephen Smalley
2007-07-04 15:03           ` Steve Grubb
2007-07-03 13:04     ` Wieprecht, Karen M.
2007-07-04 14:29     ` Steve Grubb
2007-07-04 14:23 ` Steve Grubb

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=1183418622.4534.84.camel@localhost.localdomain \
    --to=mbooth@redhat.com \
    --cc=darryl.dixon@winterhouseconsulting.com \
    --cc=linux-audit@redhat.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.