SLUB Freelist Hardening & Randomization Simulator Linux Kernel 6.12 LTS

속도:
Simulation Active: Fisher-Yates Freelist Pulse
🎲 시나리오 1: 프리리스트 무작위화 (CONFIG_SLAB_FREELIST_RANDOM)
전통적인 슬랩 할당자는 새 페이지 할당 시 [0] -> [1] -> [2] -> [3] 순서로 선형 프리리스트를 구성하여 객체 할당 순서가 100% 예측 가능했습니다.
CONFIG_SLAB_FREELIST_RANDOM=y 적용 시, Fisher-Yates 셔플 알고리즘으로 프리리스트 순서를 무작위화하여 힙 그루밍(Heap Grooming) 및 인접 객체 오버플로우 공격을 확률적으로 무력화합니다. 아래 동적 펄스는 무작위화된 할당 순서(Order: [0] -> [1] -> [2] -> ...)를 따라 비순차적으로 점핑합니다.
SLUB Slab Page (4KB Page / 64B Objects) Slot 0 Offset: +0 Order: [3] Slot 1 Offset: +64 Order: [0] (1st) Slot 2 Offset: +128 Order: [6] Slot 3 Offset: +192 Order: [1] (2nd) Slot 4 Offset: +256 Order: [4] Slot 5 Offset: +320 Order: [7] Slot 6 Offset: +384 Order: [2] (3rd) Slot 7 Offset: +448 Order: [5]
[System Ready] SLUB Freelist Randomization driver loaded. Notice the non-sequential dynamic traversal jumping across slots.