Издательство: | Вильямс/Диалектика |
Дата выхода: | март 2015 |
ISBN: | 978-5-8459-1908-3 |
Тираж: | 400 экземпляров |
Объём: | 496 страниц |
Масса: | 775 г |
Размеры(В x Ш x Т), см: | 24 x 17 |
Обложка: | твёрдая |
Бумага: | офсетная |
Переводное издание | + |
Узнайте об основных причинах уязвимостей программного обеспечения и научитесь их избегать!
Распространенные уязвимости программного обеспечения обычно вызываются дефектами программирования, которых можно было бы избежать. Проанализировав десятки тысяч сообщений об уязвимостях, начиная с 1988 года, CERT выявила, что подавляющее количество уязвимостей вызывается относительно небольшим количеством первопричин.
Во втором издании книги Безопасное программирование на C и C++ выявляются и поясняются эти первопричины и указываются шаги, которые могут быть предприняты для устранения уязвимостей в разрабатываемом программном обеспечении. Кроме того, книга призывает программистов принять на вооружение наилучшие методы обеспечения безопасности и выработать образ мышления, который может помочь защитить программное обеспечение не только от известных на сегодня, но и от будущих атак. Опираясь на доклады и выводы CERT, Роберт С.Сикорд систематически указывает программные ошибки, которые, скорее всего, приведут к нарушениям безопасности, показывает, как они могут быть использованы злоумышленниками, рассматривает потенциальные следствия такого использования и предоставляет безопасные альтернативы.
В книге подробно рассмотрены следующие темы.
Повышение безопасности и защищенности любого приложения на C/C++.
Описание атак с использованием переполнения буфера и разрушения стека, использующих небезопасную логику работы со строками.
Как избежать уязвимостей и дефектов безопасности при использовании функций управления динамической памятью.
Как устранить проблемы целочисленной арифметики, вытекающие из переполнения знаковых целых чисел, циклического возврата беззнаковых целых чисел и ошибок усечения.
Безопасный ввод-вывод и устранение уязвимостей, связанных с файловой системой.
Корректное применение функций форматированного вывода без внесения уязвимостей форматных строк.
Устранение конфликтов при доступе к ресурсам и прочих уязвимостей при разработке параллельно выполняемого кода.
Обновления во втором издании:
Обновленные стандарты C и C++.
Значительно переработанные главы, посвященные строкам, управлению динамической памятью и целочисленной безопасности.
Новая глава о параллельных вычислениях.
Во втором издании книги Безопасное программирование на C и C++ приведены сотни примеров безопасного и небезопасного кода и используемых злоумышленниками уязвимостей, реализованных для Windows и Linux. Если вы отвечаете за разработку безопасного программного обеспечения на C или C++ (или за его безопасность) никакая иная книга не предложит вам помощи такого уровня и такой подробной информации.
Об авторе
Роберт С.Сикорд в настоящее время является техническим руководителем по безопасному кодированию Программы CERT в Институте программной инженерии (SEI) Карнеги-Меллон. Он выступал в роли автора или соавтора пяти книг, включая The CERT® C Secure Coding Standard (Addison-Wesley, 2009), а также в роли автора и преподавателя видеокурса Professional C Programming LiveLessons, Part I: Writing Robust, Secure, Reliable Code (Addison-Wesley, 2013).
Книга обсуждается в отдельном сообщении в блоге Виктора Штонда.