public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* request for comment: generic kernel interface for malware vendors
@ 2008-07-21  4:18 Eric Paris
  2008-07-21 11:17 ` James Morris
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Eric Paris @ 2008-07-21  4:18 UTC (permalink / raw)
  To: malware-list; +Cc: linux-kernel

First I'd like to thank Sophos who stepped up and originally wrote a lot
of this code.  They might not recognize it since I've gotten my hands on
it, but they were nice enough to get the ball rolling by giving me some
GPL code which addressed near every request people on the malware list
had.

At the moment all of the code (over)uses the name talpa.  I expect this
group of people to come up with a new name for this interface, but since
that's how the patches started and I couldn't come up with anything I
love the patches still say talpa.  So if nothing else, lets come up with
suggestions.  For a little bit I plan to carry these as purely out of
tree patches but can move development somewhere like a git tree as they
settle down.  Feel free to send me comments/patches in an manner you see
fit.  I'm here to help.

This is a request for comment.  This is a first stab and I'm here to
address all of the concerns that people have.  Please don't hold back,
I've got thick skin.  BUT, I don't want to hear 'this is how we have
been doing it, do it that way.'  I want to hear how this won't work for
your needs (and WHY) or how we can do it better.

you can find the patches at:
http://people.redhat.com/~eparis/talpa

(1, 3, and 9 are by FAR the most interesting)

FOR NOW it comes with no documentation.  This is just a code dump since
I'm just in a rush.  I fly out for OLS in 5 hours.  Speaking of OLS, I'm
going to be there.  If you are going to be there and want to talk about
these patches, other patches, your needs, or really anything let me
know.

So what's at that web site?  There are 10 patches against Linus's git
tree.

1 - ****hooks, basics, infrastructure
2 - configuration generic stuff for the other patches
3 - ****results caching
4 - exclusions based on the operation or filetype
5 - per process exclusions
6 - filesystem type exclusions
7 - patch exclusions, don't scan when accessed through certain path
8 - patch inclusions, only scanning selected things
9 - ****userspace vetting, the big stuff
10 - operating when userspace is broken

patch 8 i'm not a fan of.  I really don't like path name security and
while path exclusions means we might scan more than we should
considering how unreliable and useless path names are path inclusions
means we might miss things.  I always find missing things to be rather
unacceptable.  Unless someone feels strongly I plan to drop patch 8
altogether (I also haven't reviewed it at all since I got it from
Sophos)

After (or maybe during) this next week I'll try to explain how all of
this works but for now this is just a code dump.  1, 3 and 9 are by FAR
the most interesting patches.  Patch 9 includes an example userspace
client that denies access to the file /root/denyme if it contains
exactly the string "bad."

I am trying to get something (that works) out there as soon as I can, so
please, don't take what you see as set in stone.  Give me comments.
What should I have done better?  Both in terms of what I'm doing and
what you need?

-Eric

 Documentation/talpa/allow_most.c         |  135 ++++++++
 Documentation/talpa/tecat.c              |   50 +++
 Documentation/talpa/test_deny.c          |  356 ++++++++++++++++++++
 fs/fcntl.c                               |    2 +-
 fs/inode.c                               |    6 +
 fs/namei.c                               |    2 +
 fs/open.c                                |   10 +
 include/linux/fs.h                       |    8 +
 include/linux/sched.h                    |    1 +
 include/linux/talpa.h                    |  184 ++++++++++
 security/Kconfig                         |    1 +
 security/Makefile                        |    2 +
 security/talpa/Kconfig                   |  124 +++++++
 security/talpa/Makefile                  |   18 +
 security/talpa/talpa.h                   |  181 ++++++++++
 security/talpa/talpa_allow_calls.h       |   18 +
 security/talpa/talpa_cache.c             |  207 ++++++++++++
 security/talpa/talpa_cache.h             |   22 ++
 security/talpa/talpa_client.c            |  542 ++++++++++++++++++++++++++++++
 security/talpa/talpa_common.c            |  223 ++++++++++++
 security/talpa/talpa_configuration.c     |  157 +++++++++
 security/talpa/talpa_degraded.c          |  120 +++++++
 security/talpa/talpa_deny_calls.h        |   18 +
 security/talpa/talpa_evaluation_calls.h  |   73 ++++
 security/talpa/talpa_fs_exclude.c        |  104 ++++++
 security/talpa/talpa_interceptor.c       |  122 +++++++
 security/talpa/talpa_operation_exclude.c |  151 +++++++++
 security/talpa/talpa_path_exclude.c      |  108 ++++++
 security/talpa/talpa_path_include.c      |  100 ++++++
 security/talpa/talpa_thread_exclude.c    |   63 ++++
 30 files changed, 3107 insertions(+), 1 deletions(-)


^ permalink raw reply	[flat|nested] 13+ messages in thread
[parent not found: <aRVce-Em-3@gated-at.bofh.it>]

end of thread, other threads:[~2008-08-04 19:41 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-21  4:18 request for comment: generic kernel interface for malware vendors Eric Paris
2008-07-21 11:17 ` James Morris
2008-07-24  9:58   ` Christoph Hellwig
2008-07-21 17:43 ` Rafael C. de Almeida
2008-07-21 18:14 ` Christian Borntraeger
2008-07-22  0:23   ` Eric Paris
2008-07-23 16:09 ` Ray Lee
2008-07-29  3:39 ` Greg KH
2008-07-29  4:50   ` [malware-list] " Jon Masters
2008-07-30 11:13     ` tvrtko.ursulin
2008-08-04 19:37       ` Greg KH
     [not found] <aRVce-Em-3@gated-at.bofh.it>
     [not found] ` <aS7Go-7AK-3@gated-at.bofh.it>
2008-07-23 12:43   ` Bodo Eggert
2008-07-23 15:14     ` Arjan van de Ven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox