From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Vong Subject: Re: hardening Date: Wed, 31 Jan 2018 20:20:44 +0800 Message-ID: <871si6w76r.fsf@gmail.com> References: <87a7wwesx2.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41311) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1egrNk-0002Tn-MX for guix-devel@gnu.org; Wed, 31 Jan 2018 07:21:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1egrNg-00060M-Hp for guix-devel@gnu.org; Wed, 31 Jan 2018 07:20:52 -0500 Received: from mail-pf0-x244.google.com ([2607:f8b0:400e:c00::244]:39184) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1egrNg-0005zl-BG for guix-devel@gnu.org; Wed, 31 Jan 2018 07:20:48 -0500 Received: by mail-pf0-x244.google.com with SMTP id e11so12408966pff.6 for ; Wed, 31 Jan 2018 04:20:48 -0800 (PST) In-Reply-To: <87a7wwesx2.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me> (ng0@n0.is's message of "Mon, 29 Jan 2018 12:44:09 +0000") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: ng0@n0.is Cc: guix-devel@gnu.org Hello, ng0@n0.is writes: > Hi, > > as we've long talked and not really taken action on hardening builds > I've started working on an opt-in way as last discussed in > september 2016, modifying the gnu-build-system with a > #:hardening-flags keyword. > > For my testing purposes I will use > >> CFLAGS="-fPIE -fstack-protector-all -D_FORTIFY_SOURCE=2" > LDFLAGS="-Wl,-z,now -Wl,-z,relro" > > which is used by Gentoo, but adjustments (wether to opt-in or > opt-out) will be made. The flags I use (suggested by Debian Wiki[0]) are: CPPFLAGS=-D_FORTIFY_SOURCE=2 CFLAGS=-fstack-protector-strong CXXFLAGS=-fstack-protector-strong LDFLAGS=-Wl,-z,relro,-z,now,--as-needed Also, should we use retpoline flags for all native binaries? This article[1] suggests ``applying a software mitigation (e.g., Google's Retpoline) to the hypervisor, operating system kernel, system programs and libraries, and user applications''. I've sent a patch to do so when bootstraping GCC 7 itself[2] but no reply are received yet (maybe I should have open a new bug instead of changing the title of an old bug). [0]: https://wiki.debian.org/Hardening [1]: https://security.googleblog.com/2018/01/more-details-about-mitigations-for-cpu_4.html [2]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30111