1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/sys
Sören Tempel dbd5b4a402 sys/ssp: use a random value as the canary
This implements the randomization of canary values on each build as
mentioned in the comment above the STACK_CHK_GUARD macro. The canary
value is generated by the buildsystem and passed to the ssp module using
a `-D` compiler flag. The ssp object file, using this canary value, is
marked as PHONY to make sure it is rebuild on each make invocation,
thereby ensuring that each build uses a new random canary value.

Implementing this properly would require generating a cryptographically
secure random value on each boot of the RIOT operating system. This is
not deemed possible on some constrained devices, e.g. due to lack of
hardware random number generators. Besides, RIOT only seems to support a
PRNG (random module) currently. While this may be implemented in the
future for some devices the changes implemented in this commit may still
be used as a fallback then.

A hardcoded canary value is used when building software on the CI to not
break the CI test cache [1].

[1]: https://github.com/RIOT-OS/RIOT/pull/13119#issuecomment-574132932
2020-01-20 14:51:26 +01:00
..
analog_util sys/analog_util: Refactor adc_map, fix compilation 2018-04-16 13:53:49 +02:00
app_metadata sys/app_metadata: Add app_metadata module 2019-03-05 16:10:06 +01:00
arduino sys/arduino: fix typos 2019-11-23 22:39:37 +01:00
auto_init sys/auto_init: add driver for ITG320X 3-axis gyroscope 2020-01-11 08:02:34 +01:00
base64 sys/base64: fix return value when input data is empty 2019-10-08 15:38:27 +02:00
benchmark sys/benchmark: incl irq.h and fixed output 2018-09-11 11:29:19 +02:00
bitfield many typo fixes 2019-11-23 22:39:07 +01:00
bloom
can tests/can_conn: move static_assert into function 2019-10-19 17:23:21 +02:00
cb_mux sys/cb_mux/cb_mux.c: fix cpp.check shiftTooManyBitsSigned 2019-11-21 11:58:07 +01:00
checksum sys/checksum: add crc8 implementation 2019-12-13 14:50:32 +01:00
clif sys/clif: use ARRAY_SIZE 2019-11-23 22:39:40 +01:00
color color: Fix -Wdouble-promotion warnings 2018-09-28 09:33:40 +02:00
cpp11-compat sys/cpp11-compat: fix typos 2019-11-23 22:39:37 +01:00
crypto crypto/ccm: fix plaintext_len write 2020-01-08 19:49:15 +01:00
div sys: fix doxygen grouping 2018-06-11 19:12:02 +02:00
ecc sys/ecc: fix typos 2019-11-23 22:39:37 +01:00
eepreg sys/eepreg: initial EEPROM registration support 2018-10-20 09:30:40 -04:00
embunit sys/embunit: fix typos 2019-11-23 22:39:37 +01:00
event sys/event: add event_wait_timeout() 2019-05-16 12:01:36 +02:00
evtimer sys/evtimer: fix typos 2019-11-23 22:39:37 +01:00
fmt sys/fmt: add fmt_is_number() 2019-12-05 15:39:24 +01:00
frac frac: Integer fraction scaling library 2019-12-06 09:36:33 +01:00
fs devfs: add /dev/{urandom,hwrng} with random/hwrng 2019-05-29 15:50:25 +02:00
hashes sys/hashes: fix typos 2019-11-23 22:39:37 +01:00
include Merge pull request #12727 from benpicco/color_util 2020-01-10 23:27:45 +01:00
iolist add copyrights from IOTPUSH project 2019-05-02 12:09:37 +02:00
irq_handler sys/irq_handler: fix typos 2019-11-23 22:39:38 +01:00
isrpipe isrpipe: change API to be in line with tsrb 2019-06-05 18:13:57 +02:00
libc/include/sys
log sys/log: add colored logging module 2019-09-09 20:27:16 +02:00
luid sys/luid: provide luid_get_eui48() and luid_get_eui64() 2019-11-04 21:08:23 +01:00
matstat sys/matstat: change ingroup directive 2018-08-24 18:14:03 +02:00
memarray memarray: add fixed-size memory block allocator 2018-04-10 14:37:29 +02:00
mineplex
net Kconfig: Expose gnrc/ipv6/configurations 2020-01-10 12:23:35 +01:00
newlib_syscalls_default Merge pull request #10953 from gschorcht/sys/shell/heap_cmd/pr 2019-10-04 13:49:57 +02:00
od
oneway-malloc sys/oneway-malloc: fix typos 2019-11-23 22:39:38 +01:00
phydat drivers/ina3221: Added SAUL integration 2019-11-05 12:37:41 +01:00
pipe sys/pipe: always include stdlib.h instead of malloc.h 2019-09-17 20:43:33 +02:00
pm_layered pm_layered: Use {} for empty while loops 2018-02-01 06:55:49 +01:00
posix sys/posix: fix typos 2019-11-23 22:39:38 +01:00
progress_bar sys/progress_bar: add module for configurable progress bars 2019-12-02 16:48:16 +01:00
ps sys/ps/ps.c: ps can now handle zombie state threads 2019-12-11 16:48:31 +01:00
puf_sram sys/puf_sram: fix typos 2019-11-23 22:39:38 +01:00
quad_math cppcheck: add/correct reason for cppcheck-suppress 2018-09-25 12:03:58 +02:00
random many typo fixes 2019-11-23 22:39:07 +01:00
riotboot riotboot/flashwrite: use LOG_DEBUG when printing bytes processed 2020-01-09 11:31:12 +01:00
saul_reg sys: saul: add missing stddef.h include (for NULL) 2018-09-20 23:54:46 +02:00
schedstatistics sys/schedstatistics: fix typos 2019-11-23 22:39:38 +01:00
sema
seq sys/seq: change ingroup directive 2018-08-24 18:14:03 +02:00
shell sys/shell/sc_nimble_netif: adapt event handling 2020-01-10 16:36:12 +01:00
ssp sys/ssp: use a random value as the canary 2020-01-20 14:51:26 +01:00
stdio_null sys: stdio_null: add null driver 2019-11-26 21:12:41 +01:00
stdio_rtt stdio/vfs: generalized VFS mapping for STDIO 2018-08-30 11:14:59 +02:00
stdio_uart drivers: sys: replace USE_ETHOS_FOR_STDIO macro by MODULE_STDIO_ETHOS 2019-06-23 22:16:03 +02:00
suit suit/v4: display a progress bar while fetching the image 2020-01-09 11:31:24 +01:00
test_utils sys/test_utils/interactive_sync: AVR puts to pgmspace 2019-12-13 10:12:01 +01:00
timex sys/timex: fix incompatible atmega time.h 2018-05-28 13:04:55 -04:00
trickle trickle: remove msg_time member from struct 2018-05-17 10:40:12 +02:00
tsrb tsrb: remove now unnecessary cast 2019-06-05 17:10:26 +02:00
universal_address sys/universal_address: fix typos 2019-11-23 22:39:38 +01:00
usb/usbus Merge pull request #12892 from bergzand/pr/usbus_fmt/missing_alt_len_increment 2019-12-06 16:36:53 +01:00
uuid uuid: add uuid_from_string() 2018-10-03 10:44:14 +02:00
vfs stdio/vfs: generalized VFS mapping for STDIO 2018-08-30 11:14:59 +02:00
xtimer Merge pull request #11992 from JulianHolzwarth/pr/xtimer_mutex_lock_timeout/first_fix 2019-12-04 10:43:20 +01:00
doc.txt sys/doc: add net_lorawan group 2019-04-12 15:51:15 +02:00
Kconfig Kconfig: Add 'Networking' file and menu 2019-12-06 14:23:39 +01:00
Makefile netif: introduce descriptor based netif 2019-10-11 10:59:14 +02:00
Makefile.dep sys/arduino: Added SPI interface 2019-11-07 13:04:46 +01:00
Makefile.include sys/printf_float: remove use of export for LINKFLAGS 2020-01-02 09:52:04 +01:00