- 1. ASLR 0931
- 2. ASLR - ASLR - ASLR Heap - ASLR - ASLR mmap - ASLR - - ASLR
-
- 3. ASLR ASLR - . ASLR ) ( - . ASLR 21.6.2 )5002 (May - . PaX
exec-shield . - 5002 - PaX 1002 .
- 4. ASLR ASLR - . EIP : - IP )(EIP
- 5. ASLR ) (cat ASLR - :
- 6. ASLR
- 7. ASLR - : 0000x0804e 0000x0804e HEAP0000xbffea 0000xbffea
Stack000760x00b 000760x00b Libc000840800x 000840800x
- 8. ASLR - ASLR .- . IP )(EIP )????????(
- 9. ASLR ) (cat ASLR - :
- 10. ASLR
- 11. ASLR : - 000606800x 00000x08dd HEAP000610xbfe 0008280xbf
Stack000760x00b 000760x00b Libc000840800x 000840800x HEAP STACK
.
- 12. ASLR ASLR . - . - ASLR 21.6.2 . - 5002 )21.6.2( ASLR PaX
1002 . - ASLR ELF . - ) ELF ( .
- 13. ASLR ASLR - :
- 14. ASLR
- 15. ASLR - ASLR : MMU ) (embedded - include/mm.h . MMU . - )
93.6.2( MMU - . MMU CPU - ... .
- 16. ASLR
- 17. ASLR : -
- 18. ASLR
- 19. ASLR personality.h . - )( mmap : -
- 20. ASLR /include/linux/sysctl.h )( sysctl . - . -
KERN_RANDOMIZE - . ISA UniCore PKUnity SoC heap -
arch/unicore32/kernel/process.c arch/unicore32/include/asm/elf.h
.
- 21. ASLR - . ),ARM, MIPS - TILE ...( 68 x . ASLR 68 x : - . -
)(.mmap - .heap - . -
- 22. ASLR . - )( load_elf_binary - fs/binfmt_elf.c .
- 23. ASLR - : : Current . ) (include/linux/personality.h
ADDR_NO_RANDOMIZE randomize_va_space ) (PF_RANDOMIZE . ASLR .
- 24. ASLR )( setup_arg_pages ToS - . )( randomize_stack_top -
.
- 25. ASLR )() randomize_stack_top ( - . - . random_variable . -
PAGE_ALIGN PAGE random_variable PAGE_ALIGN . PAGE_ALIGN )
.(RISC
- 26. ASLR random_variable - )( get_random_int PAGE_SHIFT .
PAGE_SHIFT 68 x 21 : - ).(arch/x86/include/asm/page_types.h )(
get_random_int STACK_RND_MASK random_variable ) (. STACK_RND_MASK )
( .
- 27. PAGE_SHIFT - PAGING PAGE . PAGE asm/page.h ) .(PAGE_SIZE -
. - PAGE PAGE . - PAGE - PAGE . PAGE_SHIFT . -
- 28. PAGE_SHIFT 21 PAGE . 212 = 6904 = PAGE_SIZE A B C D E F G H
I J K L M N O P Q PAGE PAGE 0 0 0 0 0 0 0 0 0 0 0 0 A B C D E 21
PAGE PAGE_SHIFT 21 .
- 29. ASLR )( get_random_int drivers/char/random.c - : HASH )
(CPU )( get_keyptr keyptr HASH PID HASH )( half_md4_transform
- 30. ASLR )( half_md4_transform lib/halfmd4.c - 4 MD 8 XOR AND
.
- 31. ASLR ASLR 4 4) MD - ( . : - . - . - . - ASLR 21.6.2 . -
STACK_RND_MASK - ).. (Binfmt_elf.c ASLR 11 7402 .
- 32. ASLR heap fs/binfmt_elf.c - . PF_RANDOMIZE
randomize_va_space heap )( arch_randomize_brk .
- 33. ASLR heap heap )( arch_randomize_brk -
arch/x86/kernel/process.c : randomize_range heap .
- 34. ASLR heap )( randomize_range drivers/char/random.c - .
PAGE_ALIGN)( get_random_int .
- 35. ASLR )(mmap mmap ASLR - arch . )( arch_pick_mmap_layout )(
mmap_legacy_base )( mmap_base .
- 36. ASLR )(mmap ) ( .
- 37. ASLR )(mmap )( mmap_rnd .
- 38. ASLR )(mmap mmap )( mmap_rnd ) Stack )( (get_random_int .
23 8 46 82 .
- 39. ASLR ASLR - . ASLR - PaX ) (. ASLR heap mmap . - PID - . 4
MD - .
- 40. : [email protected]