Переполнения буфера - все еще распространенный способ проникновения в нативные приложения, хотя я подозреваю, что число людей, использующих их для оскорблений в реальных условиях, все еще довольно мало из-за механизмов защиты ОС, таких как ASLR и DEP, и механизмов защиты компиляторатакие как файлы cookie GS (канареек стека).
В настоящее время переполнения стека часто не могут быть использованы, потому что достижения в современных компиляторах означают, что большинство (но не все) переполнения стека обнаруживаются во время выполнения функции, вызывая сбой процесса, а неуступить выполнение атакующему.
Переполнения кучи очень пригодны для использования даже в современных ОС и всегда должны рассматриваться как критические.
К сожалению, нет строгого и быстрого правила относительно того, что специфическое переполнение стека или кучи является практически эксплуатируемым, однако с точки зрения защиты все средства защиты компилятора и ОС - это только средства защиты.Они замедляют злоумышленников, а не останавливают их, и если вы исследователь безопасности, вам нужно сообщать о переполнении стека и переполнении кучи как о критических проблемах, а как разработчику вы должны немедленно их исправить.