Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 471

Heap Spraying

Что такое Heap Spraying?

Heap SprayingЭксплойт-примитив, заполняющий кучу множеством копий полезной нагрузки, чтобы повреждённый указатель с высокой вероятностью попал на данные атакующего.


Heap spraying заполняет большие области памяти процесса предсказуемыми копиями NOP-слайда и шеллкода (в современных вариантах — цепочками ROP или поддельными vtable). Когда атакующий вызывает повреждение памяти, например use-after-free или type confusion в браузере, он направляет повреждённый указатель на популярный адрес (исторически 0x0c0c0c0c), где спрей гарантированно содержит нужные байты. Технику популяризировал эксплойт Skylined для Internet Explorer (2004); она до сих пор применяется в эксплойтах браузеров, документов и парсеров шрифтов. Современная защита: ASLR с высокой энтропией, секционированные кучи (PartitionAlloc, Heap Isolation в Edge), Control-Flow Integrity и меры по защите JIT.

Примеры

  1. 01

    Аллокация сотен МБ JavaScript-строк с шеллкодом, чтобы после use-after-free 0x0c0c0c0c стал исполняемым шеллкодом.

  2. 02

    Эксплойты Adobe Flash используют спреи Vector<uint>, чтобы посадить ROP-цепочку.

Частые вопросы

Что такое Heap Spraying?

Эксплойт-примитив, заполняющий кучу множеством копий полезной нагрузки, чтобы повреждённый указатель с высокой вероятностью попал на данные атакующего. Относится к категории Атаки и угрозы в кибербезопасности.

Что означает Heap Spraying?

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

Как работает Heap Spraying?

Heap spraying заполняет большие области памяти процесса предсказуемыми копиями NOP-слайда и шеллкода (в современных вариантах — цепочками ROP или поддельными vtable). Когда атакующий вызывает повреждение памяти, например use-after-free или type confusion в браузере, он направляет повреждённый указатель на популярный адрес (исторически 0x0c0c0c0c), где спрей гарантированно содержит нужные байты. Технику популяризировал эксплойт Skylined для Internet Explorer (2004); она до сих пор применяется в эксплойтах браузеров, документов и парсеров шрифтов. Современная защита: ASLR с высокой энтропией, секционированные кучи (PartitionAlloc, Heap Isolation в Edge), Control-Flow Integrity и меры по защите JIT.

Как защититься от Heap Spraying?

Защита от Heap Spraying обычно сочетает технические меры и операционные практики, как описано в определении выше.

Какие есть другие названия Heap Spraying?

Распространённые альтернативные названия: Heap-спрей.

Связанные термины

См. также