From: Muli Ben-Yehuda <mulix@mulix.org>
To: Yoav Weiss <ml-lkml@unpatched.org>
Cc: arjanv@redhat.com, masud@googgun.com, linux-kernel@vger.kernel.org
Subject: Re: The disappearing sys_call_table export.
Date: Sat, 10 May 2003 22:53:20 +0300 [thread overview]
Message-ID: <20030510195320.GG1053@actcom.co.il> (raw)
In-Reply-To: <Pine.LNX.4.44.0305102217300.1163-100000@marcellos.corky.net>
[-- Attachment #1: Type: text/plain, Size: 1873 bytes --]
On Sat, May 10, 2003 at 10:18:34PM +0300, Yoav Weiss wrote:
> Masud, your delay-based solutions won't work because an attack code can
> just keep running in a loop until it gets the timing right. Once is
> enough. Even if it could work, it would have impact on the whole system.
> Afaik, you can't really yield the CPU for very short time slices so you'll
> have to busy-loop instead, and its not acceptable. I believe the below
> solution is the right one. Arjan, please correct me if I'm wrong.
>
> The solution is to have only ONE REAL copy, done by the wrapper. The
> original syscall will copy from a kernel ptr, unknowingly. Consider
> the following modified pseudo-code:
>
> long your_wrapped_syscall(char *userfilename)
> {
> char kernelpointer[something];
> copy_from_user(kernelpointer, usefilename, ...);
> audit_log(kernelpointer);
> old_fs = get_fs();
> set_fs(KERNEL_DS);
> ret = original_syscall(kernelpointer);
> set_fs(old_fs);
> return ret;
> }
>
> userfilename is only copied once. original_syscall just copies
> kernelpointer again, to another kernel pointer. No race.
This approach, while it would solve this particular problem, has a
grave flow. Consider the case where the first copy in the
original_syscall is to copy a user space structure, which has embedded
user space pointers... The set_fs() will cause future
copy_from_user/copy_to_user in original_syscall() calls to succeed
even if the user supplied pointer is in kernel space.
> Removing this symbol will not really get in the way for the bad guys
> because it'll always be possible to find and intercept it anyway (see my
> previous post in this thread), but it'll increase the learning curve for
> kernel newbies. Do we really want that ?
Hear hear.
--
Muli Ben-Yehuda
http://www.mulix.org
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2003-05-10 19:41 UTC|newest]
Thread overview: 207+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-10 19:18 The disappearing sys_call_table export Yoav Weiss
2003-05-10 19:53 ` Muli Ben-Yehuda [this message]
2003-05-10 20:06 ` Yoav Weiss
2003-05-11 3:54 ` Ahmed Masud
2003-05-10 20:48 ` David Wagner
-- strict thread matches above, loose matches on Subject: below --
2003-05-16 16:15 Chuck Ebbert
2003-05-15 8:16 Chuck Ebbert
2003-05-14 23:24 Chuck Ebbert
2003-05-15 0:49 ` David Schwartz
2003-05-14 8:41 Chuck Ebbert
2003-05-13 14:45 Chuck Ebbert
2003-05-13 19:00 ` jjs
2003-05-13 21:44 ` Jesse Pollard
2003-05-13 14:45 Chuck Ebbert
2003-05-13 21:32 ` Jesse Pollard
2003-05-13 13:58 Yoav Weiss
2003-05-13 22:51 ` Ahmed Masud
2003-05-13 23:58 ` Yoav Weiss
2003-06-12 23:20 ` Nigel Cunningham
2003-06-15 22:37 ` Yoav Weiss
2003-05-13 9:52 Chuck Ebbert
2003-05-13 13:32 ` Yoav Weiss
2003-05-14 7:44 ` Mike Touloumtzis
2003-05-14 10:34 ` Ahmed Masud
2003-05-14 20:58 ` Mike Touloumtzis
2003-05-14 21:32 ` Richard B. Johnson
2003-05-14 21:37 ` Yoav Weiss
2003-05-14 21:51 ` Richard B. Johnson
2003-05-15 13:17 ` Jesse Pollard
2003-05-15 15:16 ` Chris Ricker
2003-05-15 15:31 ` Richard B. Johnson
2003-05-15 15:33 ` Chris Ricker
2003-05-15 15:46 ` Richard B. Johnson
2003-05-15 16:21 ` Ahmed Masud
2003-05-15 2:06 ` Ahmed Masud
2003-05-13 1:57 Chuck Ebbert
2003-05-13 12:24 ` Jesse Pollard
2003-05-13 1:57 Chuck Ebbert
2003-05-13 2:25 ` Yoav Weiss
2003-05-12 22:57 Yoav Weiss
2003-05-12 23:58 ` Bryan Andersen
2003-05-13 12:11 ` Jesse Pollard
2003-05-13 13:44 ` Yoav Weiss
2003-05-13 21:26 ` Jesse Pollard
2003-05-13 22:21 ` Yoav Weiss
2003-05-14 13:05 ` Jesse Pollard
2003-05-12 21:51 Chuck Ebbert
2003-05-12 21:05 ` Alan Cox
2003-05-12 22:12 ` Valdis.Kletnieks
2003-05-12 21:19 ` Alan Cox
2003-05-12 22:29 ` Valdis.Kletnieks
2003-05-13 12:31 ` Ahmed Masud
[not found] <20030512164017$6c09@gated-at.bofh.it>
2003-05-12 17:02 ` Pascal Schmidt
2003-05-12 16:32 Chuck Ebbert
2003-05-12 16:46 ` Alan Cox
[not found] <20030511164010$5d34@gated-at.bofh.it>
2003-05-12 0:47 ` Ben Pfaff
2003-05-11 20:39 Chuck Ebbert
2003-05-11 22:32 ` Yoav Weiss
2003-05-11 21:46 ` Alan Cox
2003-05-11 22:57 ` David Schwartz
2003-05-14 21:08 ` H. Peter Anvin
2003-05-11 23:22 ` Yoav Weiss
2003-05-11 22:32 ` Ahmed Masud
2003-05-11 16:32 Chuck Ebbert
2003-05-11 17:20 ` David Wagner
2003-05-11 17:53 ` Yoav Weiss
2003-05-10 21:45 Yoav Weiss
2003-05-10 19:32 Chuck Ebbert
2003-05-09 21:22 Chuck Ebbert
2003-05-09 17:07 Chuck Ebbert
2003-05-09 18:27 ` Richard B. Johnson
2003-05-09 19:02 ` Valdis.Kletnieks
2003-05-09 19:18 ` Richard B. Johnson
2003-05-09 19:25 ` Valdis.Kletnieks
2003-05-09 17:07 Chuck Ebbert
2003-05-09 12:41 Chuck Ebbert
2003-05-09 12:47 ` Christoph Hellwig
2003-05-09 11:09 Chuck Ebbert
2003-05-09 9:43 Chuck Ebbert
2003-05-09 9:11 Chuck Ebbert
2003-05-09 10:47 ` Christoph Hellwig
2003-05-09 7:50 Chuck Ebbert
2003-05-09 7:59 ` Christoph Hellwig
2003-05-09 12:18 ` Alan Cox
2003-05-09 17:07 ` Valdis.Kletnieks
2003-05-10 15:34 ` Alan Cox
2003-05-09 7:50 Chuck Ebbert
2003-05-09 7:57 ` Christoph Hellwig
2003-05-08 19:43 Chuck Ebbert
2003-05-08 19:43 Chuck Ebbert
2003-05-08 19:58 ` Christoph Hellwig
2003-05-09 13:53 ` Jesse Pollard
2003-05-09 14:37 ` Ragnar =?unknown-8bit?Q?Kj=F8rstad?=
2003-05-12 14:19 ` Jesse Pollard
2003-05-12 15:56 ` Christoph Hellwig
2003-05-08 19:43 Chuck Ebbert
2003-05-08 19:48 ` Christoph Hellwig
2003-05-08 21:44 ` Alan Cox
2003-05-08 14:08 Chuck Ebbert
2003-05-08 14:36 ` Christoph Hellwig
2003-05-08 14:42 ` Alan Cox
2003-05-08 14:56 ` Jesse Pollard
2003-05-08 15:22 ` Alan Cox
2003-05-08 17:02 ` William Stearns
2003-05-08 18:28 ` Jesse Pollard
2003-05-10 14:38 ` Ahmed Masud
2003-05-10 16:50 ` Arjan van de Ven
2003-05-10 17:51 ` Ahmed Masud
2003-05-10 17:56 ` Arjan van de Ven
2003-05-10 18:03 ` Ahmed Masud
2003-05-10 18:09 ` Ahmed Masud
2003-05-10 18:43 ` Werner Almesberger
2003-05-10 18:26 ` Werner Almesberger
2003-05-11 11:01 ` Terje Malmedal
2003-05-11 11:57 ` Ahmed Masud
2003-05-07 19:04 Chuck Ebbert
2003-05-08 9:58 ` Terje Eggestad
2003-05-08 9:59 ` Arjan van de Ven
2003-05-08 10:20 ` viro
2003-05-08 12:54 ` Terje Eggestad
2003-05-08 12:58 ` Christoph Hellwig
2003-05-08 19:10 ` Shachar Shemesh
2003-05-08 19:15 ` Christoph Hellwig
2003-05-08 21:48 ` J.A. Magallon
2003-05-09 7:43 ` Muli Ben-Yehuda
2003-05-09 7:42 ` Muli Ben-Yehuda
2003-05-09 8:08 ` Greg KH
2003-05-09 19:07 ` Muli Ben-Yehuda
2003-05-07 15:34 petter wahlman
2003-05-07 15:48 ` Arjan van de Ven
2003-05-07 16:00 ` Richard B. Johnson
2003-05-07 16:08 ` petter wahlman
2003-05-07 16:45 ` Richard B. Johnson
2003-05-07 16:59 ` Richard B. Johnson
2003-05-07 18:07 ` petter wahlman
2003-05-07 18:33 ` Richard B. Johnson
2003-05-08 8:58 ` petter wahlman
2003-05-08 15:11 ` Richard B. Johnson
2003-05-07 21:27 ` Jesse Pollard
2003-05-07 17:21 ` Jesse Pollard
2003-05-07 16:18 ` Steffen Persvold
2003-05-08 12:23 ` Eric W. Biederman
2003-05-06 20:48 Chuck Ebbert
2003-05-06 15:51 Yoav Weiss
2003-05-06 8:45 Yoav Weiss
2003-05-06 9:15 ` David S. Miller
2003-05-06 19:45 ` David Schwartz
2003-05-06 10:06 ` Dmitry A. Fedorov
2003-05-06 17:01 ` Jerry Cooperstein
2003-05-06 17:45 ` Yoav Weiss
2003-05-05 21:29 Chuck Ebbert
2003-05-05 22:49 ` Terje Eggestad
2003-05-06 2:23 ` Dmitry A. Fedorov
2003-05-06 7:27 ` Terje Eggestad
2003-05-06 8:21 ` Dmitry A. Fedorov
[not found] <mailman.1052142720.4060.linux-kernel2news@redhat.com>
2003-05-05 20:50 ` Pete Zaitcev
2003-05-06 2:17 ` Dmitry A. Fedorov
2003-05-05 13:30 Dmitry A. Fedorov
2003-05-05 13:42 ` Christoph Hellwig
2003-05-05 14:46 ` Dmitry A. Fedorov
2003-05-05 13:45 ` viro
2003-05-05 14:29 ` Dmitry A. Fedorov
2003-05-05 8:19 Terje Eggestad
2003-05-05 8:23 ` Christoph Hellwig
2003-05-05 9:33 ` Terje Eggestad
2003-05-05 9:38 ` Arjan van de Ven
2003-05-05 10:12 ` Terje Eggestad
2003-05-05 10:25 ` Christoph Hellwig
2003-05-05 11:23 ` Terje Eggestad
2003-05-05 11:27 ` Arjan van de Ven
2003-05-05 11:31 ` Terje Eggestad
2003-05-05 11:33 ` Arjan van de Ven
2003-05-05 15:53 ` Tigran Aivazian
2003-05-05 14:57 ` Christoph Hellwig
2003-05-05 14:59 ` Arjan van de Ven
2003-05-05 12:52 ` Christoph Hellwig
2003-05-05 13:41 ` Terje Eggestad
2003-05-05 13:43 ` Christoph Hellwig
2003-05-05 13:50 ` Terje Eggestad
2003-05-05 13:54 ` Arjan van de Ven
2003-05-05 13:55 ` Christoph Hellwig
2003-05-05 14:28 ` Carl-Daniel Hailfinger
2003-05-05 14:34 ` Christoph Hellwig
2003-05-05 15:25 ` Carl-Daniel Hailfinger
2003-05-06 7:30 ` Eric W. Biederman
2003-05-06 8:14 ` Terje Eggestad
2003-05-06 9:21 ` Eric W. Biederman
2003-05-06 11:21 ` Terje Eggestad
2003-05-06 11:37 ` Eric W. Biederman
2003-05-06 12:08 ` Terje Eggestad
2003-05-05 11:16 ` Alan Cox
2003-05-05 13:23 ` Terje Eggestad
2003-05-08 12:25 ` Terje Malmedal
2003-05-08 12:29 ` Christoph Hellwig
2003-05-08 13:18 ` Terje Malmedal
2003-05-08 14:25 ` Christoph Hellwig
2003-05-08 15:29 ` Terje Malmedal
2003-05-08 18:13 ` Jesse Pollard
2003-05-08 19:17 ` Christoph Hellwig
2003-05-09 9:18 ` Terje Malmedal
2003-05-08 14:58 ` Alan Cox
2003-05-09 8:56 ` Terje Malmedal
2003-05-07 2:14 ` Ben Lau
2003-05-05 8:27 ` Arjan van de Ven
2003-05-05 9:01 ` Dmitry A. Fedorov
2003-05-05 9:19 ` Christoph Hellwig
2003-05-05 9:32 ` Arjan van de Ven
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=20030510195320.GG1053@actcom.co.il \
--to=mulix@mulix.org \
--cc=arjanv@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masud@googgun.com \
--cc=ml-lkml@unpatched.org \
/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.