X-Git-Url: https://ruderich.org/simon/gitweb/?p=blhc%2Fblhc.git;a=blobdiff_plain;f=README;h=b60004cc9a7c8f41fd17b25ce4fd710f90ff4ddc;hp=605ab680efbf447c8e8a42d49b12c8768933efe6;hb=ee8f350576149b3cccaf0dacf11e35660209ff7d;hpb=49540cde704094918ad460f476ef65edb1a3d4f0 diff --git a/README b/README index 605ab68..b60004c 100644 --- a/README +++ b/README @@ -13,8 +13,9 @@ all compiler commands use the correct hardening flags and thus all hardening features are correctly used. It's designed to check build logs generated by Debian's dpkg-buildpackage (or -tools using dpkg-buildpackage like pbuilder or the official buildd build logs) -to help maintainers detect missing hardening flags in their packages. +tools using dpkg-buildpackage like pbuilder or sbuild (which is used for the +official buildd build logs)) to help maintainers detect missing hardening +flags in their packages. At the moment it works only on Debian and derivatives but it should be easily extendable to other systems as well. Patches are welcome. @@ -66,7 +67,7 @@ Consider the following compiler line: blhc generates the following warnings because all hardening flags are missing: - CFLAGS missing (-fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security): gcc -g -O2 -o test test.c + CFLAGS missing (-fstack-protector-strong -Wformat -Werror=format-security): gcc -g -O2 -o test test.c CPPFLAGS missing (-D_FORTIFY_SOURCE=2): gcc -g -O2 -o test test.c LDFLAGS missing (-Wl,-z,relro): gcc -g -O2 -o test test.c @@ -100,11 +101,12 @@ following line (output of dpkg-buildpackage): The available hardening flags are adapted to the architecture because some architectures don't support certain hardening options. -Some checks (Ada and hardening-wrapper at the moment) check the build -dependencies for certain packages. The following lines are used to get the -build dependencies. The first is used in buildd build logs, the second by -pbuilder logs, both are detected: +Some checks check the build dependencies for certain packages. The following +lines are used to get the build dependencies. The first two are used in buildd +build logs (the second was used in older logs), the third by pbuilder logs, +all are detected: + Filtered Buildd-Depends: ... Build-Depends: ... Depends: ... @@ -118,9 +120,13 @@ real compile process (output of dpkg-buildpackage): dpkg-buildpackage: ... If it's not present no compiler commands are detected. In case you don't use -dpkp-buildpackage but still want to check a build log adding it as first line +dpkg-buildpackage but still want to check a build log, adding it as first line should work fine. +To prevent false positives when checking debug builds, compiler lines +containing '-OO' or '-Og' are considered debug builds and are not checked for +'-O2', even though fortification doesn't work without '-O2'. + The following non-verbose builds can't be detected: gcc -o test @@ -168,7 +174,7 @@ LICENSE blhc is licensed under GPL version 3 or later. -Copyright (C) 2012-2013 Simon Ruderich +Copyright (C) 2012-2020 Simon Ruderich This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -182,3 +188,5 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . + +// vim: ft=asciidoc