Canary's - очень хорошая мера безопасности для защиты от некоторых переполнений буфера. За эти годы различные реализации Canary были сломаны, а затем стали более безопасными. Важно то, что даже несмотря на расширенную защиту памяти, переполнения буфера все еще используются в Vista, Windows 7 и Fedora 11 ...
Одна очень важная вещь, которую стоит упомянуть, - это то, что Canary защищает только фрейм вызова функции (который включает в себя мощный EIP!). Переполнение буфера может произойти в другом сегменте памяти, таком как куча, и канарейка не будет иметь никакого влияния. Более того, приложение может быть взломано с использованием переполнения буфера без необходимости перезаписывать EIP. Управление EIP - это очень простой и простой способ превратить переполнение буфера в убийственный эксплойт, и поэтому он является наиболее распространенным методом эксплуатации.
Эти методы эксплуатации, как и другие, подробно описаны в Эксплуатация программного обеспечения: как взломать код .