Недавно я натолкнулся на статью Microsoft, в которой рекламировались новые «защитные усовершенствования» Windows 7. В частности:
- Рандомизация размещения адресного пространства (ASLR)
- Куча рандомизации
- Рандомизация стека
Далее в статье говорилось, что «... некоторые из этих защит находятся в основной операционной системе, а компилятор Microsoft Visual C ++ предлагает другие», но не объяснялось, как эти стратегии действительно повышают безопасность.
Кто-нибудь знает, почему рандомизация памяти повышает безопасность, если вообще? Используют ли другие платформы и компиляторы аналогичные стратегии?