From owner-freebsd-security Sat Sep 8 8:53:23 2001 Delivered-To: freebsd-security@freebsd.org Received: from brea.mc.mpls.visi.com (brea.mc.mpls.visi.com [208.42.156.100]) by hub.freebsd.org (Postfix) with ESMTP id F32EF37B403 for ; Sat, 8 Sep 2001 08:53:18 -0700 (PDT) Received: from sheol.localdomain (hawkeyd-fw.dsl.visi.com [208.42.101.193]) by brea.mc.mpls.visi.com (Postfix) with ESMTP id 12A052DDB5C; Sat, 8 Sep 2001 10:53:09 -0500 (CDT) Received: (from hawkeyd@localhost) by sheol.localdomain (8.11.1/8.11.1) id f88Fr8378200; Sat, 8 Sep 2001 10:53:08 -0500 (CDT) (envelope-from hawkeyd) Date: Sat, 8 Sep 2001 10:53:08 -0500 From: D J Hawkey Jr To: Alexander Langer , deepak@ai.net, freebsd-security@FreeBSD.ORG Subject: Re: Kernel-loadable Root Kits Message-ID: <20010908105308.A78138@sheol.localdomain> Reply-To: hawkeyd@visi.com References: <200109081052.f88AqRG30016@sheol.localdomain> <20010908141700.A53738@fump.kawo2.rwth-aachen.de> <20010908072542.A57605@sheol.localdomain> <20010908143231.A53801@fump.kawo2.rwth-aachen.de> <20010908074445.A77252@sheol.localdomain> <20010908181537.A840@ringworld.oblivion.bg> <20010908102816.B77764@sheol.localdomain> <20010908183728.D840@ringworld.oblivion.bg> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010908183728.D840@ringworld.oblivion.bg>; from roam@ringlet.net on Sat, Sep 08, 2001 at 06:37:28PM +0300 Sender: owner-freebsd-security@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Sep 08, at 06:37 PM, Peter Pentchev wrote: > > > Q: Can the kernel be "forced" to load a module from within itself? That > > is, does a cracker need to be in userland? > > Yes, certainly; all kldload(8) does is invoke the kldload(2) syscall, > nothing more, nothing userspace-magical. > All a kernel routine needs to do is either invoke that syscall, or > call the internal kernel functions that kldload(2) calls, like e.g. > linker_find_file_by_name() and linker_load_file() in sys/kern/kern_linker.c Ah. Well then, as I wrote to Kris, the kernel has to deny KLD loading altogether, it should be a build-time option, and it should have nothing to over-ride this. Or am I still being too simplistic? I haven't been using KLD- or LKM- aware systems very long (~one year), but so far I've had little use for them (the modules). I get a box, I configure the kernel to it, and that's that. If the box changes, I build a new kernel. At least for the servers I've set up, this works fine. Now, a development or users' box, well... > G'luck, > Peter You too, Dave -- Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?" To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-security" in the body of the message