19 смертных грехов, угрожающих безопасности программ. Как не допустить типичных ошибок

Майкл Ховард

Содержание
Об авторах .................................................................................... 18
О научных редакторах .................................................................. 19
Предисловие ................................................................................ 20
Благодарности ............................................................................. 22
Введение....................................................................................... 23
Структура книги.......................................................................... 24
Кому предназначена эта книга ................................................... 25
Какие главы следует прочитать .................................................. 25
Грех 1. Переполнение буфера ................................................ 26
В чем состоит грех ..................................................................... 26
Подверженные греху языки ........................................................ 27
Как происходит грехопадение .................................................... 27
Греховность C/C++................................................................. 31
Родственные грехи................................................................. 33
Где искать ошибку ...................................................................... 33
Выявление ошибки на этапе анализа кода ................................. 33
Тестирование ............................................................................. 34
Примеры из реальной жизни ...................................................... 35
CVE
Пользуйтесь инструментами анализа .................................... 38
Дополнительные защитные меры............................................... 38
Защита стека.......................................................................... 39
Запрет исполнения в стеке и куче .......................................... 39
Другие ресурсы .......................................................................... 39
Резюме....................................................................................... 40
Грех 2. Ошибки, связанные с форматной строкой ............ 42
В чем состоит грех ..................................................................... 42
Подверженные греху языки ........................................................ 42
Как происходит грехопадение .................................................... 43
Греховность C/C++................................................................. 45
Родственные грехи................................................................. 45
Где искать ошибку ...................................................................... 46
Выявление ошибки на этапе анализа кода ................................. 46
Тестирование ............................................................................. 46
Примеры из реальной жизни ...................................................... 47
CVE