|  | .. _hardening: | 
|  |  | 
|  | Hardening Tool | 
|  | ############## | 
|  |  | 
|  | Zephyr contains several optional features that make the overall system | 
|  | more secure. As we take advantage of hardware features, many of these | 
|  | options are platform specific and besides it, some of them are unknown | 
|  | by developers. | 
|  |  | 
|  | To address this problem, Zephyr provides a tool that helps to check an | 
|  | application configuration option list against a list of hardening | 
|  | preferences defined by the **Security Group**. The tool can identify the build | 
|  | target and based on that provides suggestions and recommendations on how to | 
|  | optimize the configuration for security. | 
|  |  | 
|  | Usage | 
|  | ***** | 
|  |  | 
|  | After configure of your application, change directory to the build folder and: | 
|  |  | 
|  | .. code-block:: console | 
|  |  | 
|  | # ninja build system: | 
|  | $ ninja hardenconfig | 
|  | # make build system: | 
|  | $ make hardenconfig | 
|  |  | 
|  | The output should be similar to the one bellow: | 
|  |  | 
|  | .. code-block:: console | 
|  |  | 
|  |  | 
|  | name                       |   current   |    recommended     ||        check result | 
|  | =================================================================================================================== | 
|  | CONFIG_HW_STACK_PROTECTION                        |      n      |         y          ||            FAIL | 
|  | CONFIG_BOOT_BANNER                                |      y      |         n          ||            FAIL | 
|  | CONFIG_PRINTK                                     |      y      |         n          ||            FAIL | 
|  | CONFIG_EARLY_CONSOLE                              |      y      |         n          ||            FAIL | 
|  | CONFIG_OVERRIDE_FRAME_POINTER_DEFAULT             |      n      |         y          ||            FAIL | 
|  | CONFIG_DEBUG_INFO                                 |      y      |         n          ||            FAIL | 
|  | CONFIG_TEST_RANDOM_GENERATOR                      |      y      |         n          ||            FAIL | 
|  | CONFIG_BUILD_OUTPUT_STRIPPED                      |      n      |         y          ||            FAIL | 
|  | CONFIG_STACK_SENTINEL                             |      n      |         y          ||            FAIL |