Analyzing & Breaking QNX Exploit Mitigations and PRNGs For Embedded Systems
summary
Dissects QNX exploit mitigations and PRNGs, showing user-space /dev/random moves from a broken Yarrow variant to Heimdall Fortuna while a new kernel RNG draws mainly from cycle counters; kernel and user ASLR get only 7 bits (stack) and 12 bits (mmap) due to masking, with measured average ASLR min-entropy at 4.47 bits and stack canary min-entropy ~7.79 bits. QNet lacks auth allowing remote shadow reads, procfs and rdebug leak addresses, PDbug debugging exposes root access (Metasploit module exists), and a demo achieves root in 23 seconds to root. Patches exist but slow to reach devices.
AI-written summary · about
chapters (46)
- 0:00Intro
- 2:11Automotive: BlackBerry Radar
- 2:53Industrial: Nuclear HMI
- 3:21Defense: Military Radios QNX Secures Major Design Win in Software Defined Radio
- 3:33Medical: Surgical Robots
- 3:59Many more critical systems
- 4:19What's New?
- 4:52QNX Microkernel Architecture
- 5:41QNX IPC Message Passing
- 6:11QNX Attack Surface
- 7:19QNX Security History
- 9:05Syscalls
- 10:49QNX Boot Process Power on
- 11:38QNX Firmware
- 12:51QNX Memory Layout - Nemespace - Userspace Separation
- 13:21QNX User Management
- 14:41QNX Process Management
- 16:32QNX Process Abilities Limitations
- 17:45Breaking' Rootless Execution
- 18:22Qnet (Native Networking / TDP)
- 19:00Qnet Security
- 21:36Qnet EOP Vulnerability (CVE-2017-3891)
- 22:25QNX Debugging
- 24:33PRNG Quality
- 25:18QNX Security-Oriented PRNGs
- 25:53QNX 7 /dev/random
- 29:41QNX 7 Kernel PRNG
- 31:24Exploit Mitigation Quality
- 32:22QNX Exploit Mitigations
- 33:11QNX DEP
- 36:31QNX ASLR - map_find_va
- 37:08QNX ASLR - stack_randomize
- 38:07QNX 6 ASLR - Weak RNG
- 39:53QNX 6 ASLR - Bruteforcing
- 41:14QNX 6 ASLR - procfs Infoleak (CVE-2017-3892)
- 42:41QNX 6 ASLR-LD DEBUG Infoleak (CVE-2017-9369)
- 43:27QNX 7 ASLR - Changes
- 44:54QNX Stack Canaries
- 45:23QNX 6 SSP - Weak RNG
- 46:13QNX 6 SSP - Kernelspace
- 46:46QNX 7 SSP - Changes
- 47:19Relocation Read-Only (RELRO) to do
- 49:01QNX 6 Broken RELRO (CVE-2017-3893)
- 50:08QNX 6 RELRO
- 50:32Patches
- 51:03Conclusions
related talks
57mAttacking the Linux PRNG on Android
58mExploiting Linux and Pax ASLR's Weaknesses on 32-Bit and 64-Bit Systems
45mInside the Linux Kernel Random Number Generator
51mExploiting Hardware Glitches And Side Channels In Perfect Software
01h 30mRandom
24mCurrent State of Exploit Mitigations in the Linux Kernel
44mDeep Analysis of Exploitable Linux Kernel Vulnerabilities 2017-2019
14mlol im so random!
