Безопасность памяти
Что такое Безопасность памяти?
Безопасность памятиБезопасность памяти — свойство, при котором программа никогда не читает, не пишет и не исполняет память, которую она не выделяла легитимно, что устраняет целые классы уязвимостей.
Гарантии безопасности памяти включают пространственную (без выходов за границы), временную (без use-after-free и double-free), типовую и инициализационную безопасность. C и C++ по умолчанию небезопасны и являются источником большинства критичных CVE через переполнения, UAF и type confusion. Данные Microsoft, Google Project Zero и доклада ONCD США 2024 года показывают, что 60–70% серьёзных уязвимостей в крупных кодбазах C/C++ связаны с дефектами памяти. Меры защиты (ASLR, DEP, CFI, санитайзеры) повышают стоимость эксплуатации, но окончательное решение — устранять баги в источнике через языки с безопасной памятью или формально верифицированные подмножества.
● Примеры
- 01
Запись за пределами буфера превращает кусок кучи в объект, контролируемый атакующим.
- 02
use-after-free освобождает объект JavaScript, указатель на который остаётся в JIT-кеше.
● Частые вопросы
Что такое Безопасность памяти?
Безопасность памяти — свойство, при котором программа никогда не читает, не пишет и не исполняет память, которую она не выделяла легитимно, что устраняет целые классы уязвимостей. Относится к категории Безопасность приложений в кибербезопасности.
Что означает Безопасность памяти?
Безопасность памяти — свойство, при котором программа никогда не читает, не пишет и не исполняет память, которую она не выделяла легитимно, что устраняет целые классы уязвимостей.
Как защититься от Безопасность памяти?
Защита от Безопасность памяти обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Безопасность памяти?
Распространённые альтернативные названия: Баги безопасности памяти.