2011-01-04 3 views
1

Я просто прочитал о том, как ASLR помогает предотвратить атаки переполнения буфера и хотел бы взглянуть на его реализацию.Реализация ASLR

Может кто-нибудь предложить несколько указателей, где я мог бы начать искать? Мне также понравилось бы, если бы вы могли указать мне на другие материалы для чтения, связанные с тем же.

ответ

2

Реализация, естественно, может быть найдена в исходном дереве ядра Linux. Даже просто grepping для .. randomize_va_space будет показывать достаточно результатов для начала.

В эльфа загрузчиком #ifdef arch_randomize_brk ->arch_randomize_brk ->randomize_range

1

Как пользоваться?

https://lkml.org/lkml/2010/11/30/110

Что это?

http://en.wikipedia.org/wiki/Address_space_layout_randomization

Почему?

Чтобы предотвратить 2 типа атаки:

http://en.wikipedia.org/wiki/Return-to-libc_attack

http://en.wikipedia.org/wiki/Return-oriented_programming

, потому что оба нападения предполагали, что ваша область кода, если фиксируется в памяти.