@@ -350,12 +350,23 @@ for them.
350
350
351
351
This is somewhat hard to do with an external tool, since there is
352
352
no way of looking at a binary and telling what mitigations its components
353
- have (for example [ ` hardening-check(1) ` ] , exists, but its check for
354
- stack smashing protection only checks that at least 1 function has stack
355
- cookies, rather than checking that every interesting function has it
356
- enabled).
357
-
353
+ have.
354
+
355
+ There are howevever some external tools that do check for mitigations,
356
+ but they have limitations:
357
+
358
+ 1 . [ ` hardening-check(1) ` ] exists, but its check for stack smashing protection only
359
+ checks that at least 1 function has stack cookies, rather than checking that
360
+ every interesting function has it enabled.
361
+ 2 . The Linux kernel has [ ` objtool ` ] , which checks for some other mitigations (for
362
+ example, retpolines). It however needs to access the ` .o ` object files
363
+ rather than to the final linked executable or shared library - which
364
+ requires its user to control the linking process - and also has hardcoded
365
+ limitations that make it only suitable for the Linux kernel, rather than
366
+ being useful as a general-purpose tool.
367
+
358
368
[ `hardening-check(1)` ] : https://manpages.debian.org/testing/devscripts/hardening-check.1.en.html
369
+ [ `objtool` ] : https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/objtool/Documentation/objtool.txt?id=5cd64d4f92683afa691a6b83dcad5adfb2165ed0
359
370
360
371
## .note.gnu.property
361
372
0 commit comments