openbsd
- no
aclorattr - no gpl:
clangclang++- custom libc + otto malloc
compiler-rtlibc++libc++abi
- no initramfs
- no pam
- no systemd
- no udev; hotplugd/devd/libudev-devd instead
Security
Section titled “Security”Somewhat “valid” criticism
Section titled “Somewhat “valid” criticism”- Spectre v1 mitigations
%ninprintfis not disabled by default which allows format string attacksTRAPSLEDis good in theory but is questionable in practice- Response to
Zenbleed bcryptfor hashing passwords- Stack cookies/RETGUARD are leakable and suffer from partial overwrite vulnerabilities
MAP_STACKlimitations as bypasses exist- ROP gadget removal have “minimal?” impact on actual exploitation difficulty
SETJMP/LONGJMPimplementation as single cookie reuse is weak- Library order randomization adds entropy with some caveats
Response to “invalid” criticism
Section titled “Response to “invalid” criticism”arc4randomis a decent ChaCha20 implementation- Disk encryption follows good practices
- ASLR & randomization techniques are valid measures despite limitations
atexithardening is “somewhat better” than glibc/musl- Execute-only memory provides protection against code reading
- Microcode loading timing is “fine” despite implementation challenges
TIOCSTIhardening is good in practicetarpitis a “decent” network defense mechanism- SMAP/SMEP implementation is good
- Response to
Spectre v2/v3 strlcpy/strlcatare safer than alternatives- Response to
SWAPGS pledgeis simpler thanseccompunveilis a “somewhat effective” filesystem sandboxingsignifyis a minimal and secure design choice by default- privilege separation patterns reduces attack surface
- otto malloc is more secure than the previous
jemalloc fork+execis effective for address space isolation