Дэвид Лебланк , Майкл Ховард , Джон Виега - 19 смертных грехов, угрожающих безопасности программ
Название: | 19 смертных грехов, угрожающих безопасности программ | |
Автор: | Дэвид Лебланк , Майкл Ховард , Джон Виега | |
Жанр: | Другие языки и системы программирования, Учебники и самоучители по компьютеру, Компьютерная безопасность, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), .NET Framework, Basic, Visual Basic, VB Script, VBA и т.п., C, C++, C#, PHP, Python, Java, Java Script | |
Изадано в серии: | неизвестно | |
Издательство: | неизвестно | |
Год издания: | - | |
ISBN: | неизвестно | |
Отзывы: | 1 комментарий | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "19 смертных грехов, угрожающих безопасности программ"
Эта книга необходима всем разработчикам программного обеспечения, независимо от платформы, языка или вида приложений. В ней рассмотрены 19 грехов, угрожающих безопасности программ, и показано, как от них избавиться. Рассмотрены уязвимости на языках C/C++, C#, Java, Visual Basic, Visual Basic.NET, Perl, Python в операционных системах Windows, Unix, Linux, Mac OS, Novell Netware. Авторы издания, Майкл Ховард и Дэвид Лебланк, обучают программистов, как писать безопасный код в компании Microsoft. На различных примерах продемонстрированы как сами ошибки, так и способы их исправления и защиты от них. Если вы программист, то вам просто необходимо прочесть эту книгу. Перевод: А. Слинкин
Читаем онлайн "19 смертных грехов, угрожающих безопасности программ" (ознакомительный отрывок). [Страница - 3]
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (7) »
Введение
В 2004 году Амит Йоран, тогда начальник отдела национальной кибербезопасности Министерства национальной безопасности США, объявил, что около 95% всех дефектов программ, относящихся к безопасности, проистекают из 19 типичных ошибок, природа которых вполне понятна. Мы не станем подвергать сомнению ваши интеллектуальные способности и объяснять важность безопасного программного обеспечения в современном взаимосвязанном мире, вы и так все понимаете, но приведем основные принципы поиска и исправления наиболее распространенных ошибок в вашем собственном коде.Неприятная особенность ошибок, касающихся безопасности, состоит в том, что допустить их очень легко, а результаты одной неправильно написанной строчки могут быть поистине катастрофическими. Червь Blaster смог распространиться из–за ошибки всего в двух строках кода.
Если попытаться выразить весь накопленный опыт одной фразой, то, наверное, она звучала бы так: «Никакой язык программирования, никакая платформа не способны сделать программу безопасной, это можете сделать только вы». Существует масса литературы о том, как создавать безопасное программное обеспечение, да и авторы настоящей книги написали на эту тему немало текстов, к которым прислушиваются. И все же есть потребность в небольшой, простой и прагматической книге, в которой рассматривались бы все основные проблемы.
Работая над этой книгой, мы старались придерживаться следующих правил, которые не позволили бы оторваться от земли.
□ Простота. Мы не тратили место на пустую болтовню. Здесь вы не найдете ни репортажей с поля боя, ни забавных анекдотов – только голые факты. Скорее всего, вы просто хотите сделать свою работу качественно и в кратчайшие сроки. Поэтому мы стремились к тому, чтобы найти нужную информацию можно было просто и быстро.
□ Краткость. Это следствие предыдущего правила: сосредоточившись исключительно на фактах, мы смогли сделать книгу небольшой по объему. Это введение тоже не будет многословным.
□ Кроссплатформенность. Интернет – это среда, связывающая между собой мириады вычислительных устройств, работающих под управлением разных операционных систем и программ, написанных на разных языках. Мы хотели, чтобы эта книга была полезна всем разработчикам, поэтому представленные примеры относятся к большинству имеющихся операционных систем.
□ Многоязычие. Следствие предыдущего правила: мы приводим примеры ошибок в программах, которые составлены на разных языках.
Структура книги
В каждой главе описывается один «смертный грех». Вообще–то они никак не упорядочены, но самые гнусные мы разместили в начале книги. Главы разбиты на разделы:□ «В чем состоит грех» – краткое введение, в котором объясняется, почему данное деяние считается грехом;
□ «Как происходит грехопадение» – описывается суть проблемы; принципиальная ошибка, которая доводит до греха;
□ «Подверженные греху языки» – перечень языков, подверженных данному греху;
□ «Примеры ошибочного кода» – конкретные примеры ошибок в программах, написанных на разных языках и работающих на разных платформах;
□ «Где искать ошибку» – на что нужно прежде всего обращать внимание при поиске в программе подобных ошибок;
□ «Выявление ошибки на этапе анализа кода» тут все понятно: как найти грехи в своем коде. Мы понимаем, что разработчики – люди занятые, поэтому старались писать этот раздел коротко и по делу;
□ «Тестирование» – описываются инструменты и методики тестирования, которые позволят обнаружить признаки рассматриваемого греха;
□ «Примеры из реальной жизни» – реальные примеры данного греха, взятые из базы данных типичных уязвимостей и брешей (Common Vulnerabilities and Exposures – CVE) (www.cve.mitre.org). с сайта BugTraq (www.securityfocus.com) или базы данных уязвимостей в программах с открытыми исходными текстами (Open Source Vulnerability Database) (www.osvdb.org). В каждом случае мы приводим свои комментарии. Примечание: пока мы работали над этой книгой, рассматривался вопрос об отказе с 15 октября 2005 года от номеров CAN в базе данных CVE и --">- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (7) »
Книга охватывает широкий спектр уязвимостей, включая:
* Буферные переполнения
* Инъекции SQL
* Межсайтовый скриптинг
* Подделка межсайтовых запросов
* Обход проверки подлинности
Лебланк подробно объясняет каждый грех, предоставляя конкретные примеры, иллюстрирующие его потенциальные последствия. Он также предлагает практические рекомендации по их предотвращению и устранению.
Несмотря на техническую тему, книга написана понятным и лаконичным языком. Лебланк не перегружает читателя излишними деталями, а вместо этого сосредоточивается на самых важных концепциях и их практических приложениях.
Книга содержит множество реальных примеров уязвимостей безопасности, которые привели к значительным нарушениям, таким как хакерские атаки и утечки данных. Лебланк анализирует эти случаи, предоставляя ценные уроки о том, как их избежать.
Лебланк на протяжении всей книги подчеркивает соответствие стандартам и лучшим практикам безопасности, таким как OWASP Top 10 и NIST Cybersecurity Framework. Он показывает, как применять эти стандарты для создания более безопасных приложений.
Книга предназначена для широкой аудитории, включая:
* Разработчики программного обеспечения
* Специалисты по безопасности
* Тестировщики программного обеспечения
* Руководители проектов
"19 смертных грехов, угрожающих безопасности программ" - это исчерпывающее руководство по наиболее распространенным ошибкам в разработке программного обеспечения, влияющим на безопасность. Ясный и лаконичный стиль книги, реальные примеры и практические рекомендации делают ее ценным ресурсом для тех, кто стремится создавать надежные и защищенные приложения. Настоятельно рекомендуется всем, кто работает в области разработки программного обеспечения и обеспечения безопасности.
Книги схожие с «19 смертных грехов, угрожающих безопасности программ» по жанру, серии, автору или названию:
Джонатан Стейнхарт - Тайная жизнь программ. Как создать код, который понравится вашему компьютеру Жанр: Другие языки и системы программирования Год издания: 2023 Серия: Для профессионалов |