Дэвид Лебланк, Майкл Ховард - 19 смертных грехов, угрожающих безопасности программ

19 смертных грехов, угрожающих безопасности программ
Название: 19 смертных грехов, угрожающих безопасности программ
Авторы:
Жанры: Программирование | Зарубежная компьютерная литература
Серии: Нет данных
ISBN: Нет данных
Год: 2011
О чем книга "19 смертных грехов, угрожающих безопасности программ"

Эта книга необходима всем разработчикам программного обеспечения, независимо от платформы, языка или вида приложений. В ней рассмотрены 19 грехов, угрожающих безопасности программ, и показано, как от них избавиться. Рассмотрены уязвимости на языках C/C++, C#, Java, Visual Basic, Visual Basic.NET, Perl, Python в операционных системах Windows, Unix, Linux, Mac OS, Novell Netware. Авторы издания, Майкл Ховард и Дэвид Лебланк, обучают программистов, как писать безопасный код в компании Microsoft. На различных примерах продемонстрированы как сами ошибки, так и способы их исправления и защиты от них. Если вы программист, то вам просто необходимо прочесть эту книгу.

Бесплатно читать онлайн 19 смертных грехов, угрожающих безопасности программ


Об авторах

Майкл Ховард работает старшим менеджером по безопасности программного обеспечения в группе по обеспечению безопасности в Microsoft Corp. Является соавтором удостоенной различных наград книги «Writing Secure Code» (Разработка безопасного кода). Он также совместно с коллегами ведет колонку «Basic Training» в журнале «ШЕЕ Security & Privacy Magazine» и является одним из авторов документа «Processes to Produce Secure Software» («Процессы в производстве безопасного программного обеспечения»), выпущенного организацией National Cyber Security Partnership для Министерства национальной безопасности (Department of Homeland Security). Будучи архитектором «Жизненного цикла разработки безопасного программного обеспечения» в Microsoft, Майкл посвящает большую часть времени выработке и внедрению передового опыта создания безопасных программ, которыми в конечном итоге будут пользоваться обычные люди.

Дэвид Лебланк, доктор философии, в настоящее время работает главным архитектором программ в компании Webroot Software. До этого он занимал должность архитектора подсистемы безопасности в подразделении Microsoft, занимающемся разработкой Microsoft Office, стоял у истоков инициативы Trustworthy Computing и работал «белым хакером» в группе безопасности сетей в Microsoft. Дэвид является соавтором книг «Writing Secure Code» и «Assessing Network Secu–rity» («Оценка безопасности сети»), а также многочисленных статей. В погожие дни он любит конные прогулки вместе со своей женой Дженнифер.

Джон Виега первым дал описание 19 серьезных просчетов при написании программ. Этот труд привлек внимание средств массовой информации и лег в основу настоящей книги. Джон является основателем и техническим директором компании Secure Software (www.securesoftware.com). Он один из авторов первой книги по безопасности программного обеспечения «Building Secure Software» («Создание безопасного программного обеспечения»), а также книг «Network Security and Cryptography with OpenSSL» («Безопасность и криптографические методы в сетях. Подход на основе библиотеки OpenSSL») и «Secure Programming СоокЬоок» («Рецепты для написания безопасных программ»). Он является основным автором процесса CLASP, призванного включить элементы безопасности в цикл разработки программ. Джон написал и сопровождает несколько относящихся к безопасности программ с открытыми исходными текстами. Раньше Джон занимал должности адъюнкт–профессора в техническом колледже штата Вирджиния и старшего научного сотрудника в Институте стратегии кибепространства (Cyberspace Policy Institute). Джон хорошо известен своими работами в области безопасности программ и криптографии, а в настоящее время он трудится над стандартами безопасности для сетей и программ.

О научных редакторах

Алан Крассовски работает главным инженером по безопасности программного обеспечения в компании Symantec Corporation. Он возглавляет группу по безопасности продуктов, в задачу которой входит оказание помощи другим группам разработчиков в плане внедрения безопасных технологий, которые сокращают риски и способствуют завоеванию доверия со стороны клиентов. За последние 20 лет Алан работал над многими коммерческими программными проектами. До присоединения к Symantec он руководил разработками, был инженером–программистом и оказывал консультативные услуги многим компаниям, занимающим лидирующее положение в отрасли, в частности Microsoft, IBM, Tektronix, Step Technologies. Screenplay Systems, Quark и Continental Insurance. Он получил научную степень бакалавра в области вычислительной техники в Рочестерском технологическом институте, штат Нью–Йорк.

Дэвид А. Уилер много лет занимается совершествованием практических методов разработки программ для систем с повышенным риском, в том числе особо крупных и нуждающихся в высокой степени безопасности. Он соавтор и соредактор книги «Software Inspection: An Industry Best Practice» («Инспекция программ: передовой опыт»), а также книг «Ada95: The Lovelace Tutorial» и «Secure Programming for Linux and UNIX HOWTO» («Рецепты безопасного программирования для Linux и UNIX»). Проживает в Северной Вирджинии.

Предисловие

В основе теории компьютеров лежит предположение о детерминированном поведении машин. Обычно мы ожидаем, что компьютер будет вести себя так, как мы его запрограммировали. На самом деле это лишь приближенное допущение. Современные компьютеры общего назначения и их программное обеспечение стали настолько сложными, что между щелчком по кнопке мыши и видимым результатом лежит множество программных слоев. И мы вынуждены полагаться на то, что все они работают правильно.

Любой слой программного обеспечения может содержать ошибки, из–за которых оно работает не так, как хотел автор, или, по крайней мере, не соответствует ожиданиям пользователя. Эти ошибки вносят в систему неопределенность, что может приводить к серьезным последствиям с точки зрения безопасности. Проявляться они могут по–разному: от простого краха системы, и тогда ошибку можно использовать, чтобы вызвать отказ от обслуживания, до переполнения буфера, позволяющего противнику выполнить в системе произвольный код.

Коль скоро поведение программных систем недетерминировано из–за ошибок, то самые лучшие идеи по их защите – не более чем гипотезы. Мы можем воздвигать межсетевые экраны, реализовывать технологии защиты от переполнения буфера на уровне ОС, применять самые разнообразные методики, но все это никоим образом не изменит фундаментальную парадигму безопасности. И лишь за счет радикального улучшения качества программ и сокращения числа ошибок мы можем надеяться на успешность попыток обеспечить безопасность программного обеспечения.

Устранение всех рисков, относящихся к безопасности, – нереальная задача при современном уровне развития систем разработки. У этой проблемы так много аспектов, что, даже для того чтобы просто оставаться в курсе дел, нужно посвящать этому все свое время. Что уж говорить о владении предметом в совершенстве!

Если мы хотим добиться прогресса в битве против ошибок, связанных с безопасностью, то должны облегчить процесс их идентификации и устранения организациям, занимающимся разработкой, и при этом учесть реальные ограничения. О безопасности программного обеспечения написано немало отличных книг, в том числе и авторами настоящего издания. Но я полагаю необходимым не углубляться в разного рода сложности, а предложить разработчикам небольшой набор критически важных советов, следуя которым они смогут повысить качество своих программ с минимальными усилиями. Идея в том, чтобы осветить наиболее типичные проблемы, которые нетрудно устранить, а не ставить нереалистичную задачу достижения полной безопасности.


С этой книгой читают
Книга об основах языка программирования Python, расказанных простыми словами. Автор постарался упростить всю теорию, сделав её понятной для тех, кто только начинает знакомиться с программированием и ранее не имел опыта с другими языками.
В этом сборнике-справочнике изложены особенности всего цикла разработки программ от проектирования до внедрения. Каждому существенному определению или принципу разработки в этой книге посвящено по несколько четверостиший.Здесь представлены рекомендации по анализу и постановке требований, управлению жизненным циклом проекта, проектированию архитектуры и разработке программных систем. Описаны некоторые базовые алгоритмы, типовые подходы и решения к
Хотите разрабатывать крутые и увлекательные игры? Перед вами советы опытного гейм-дизайнера!Книга предлагает глубокое погружение в сферу разработки видеоигр и рассказывает о тонкостях профессии с точки зрения опытного дизайнера с более чем 20-летним опытом работы в индустрии. Вы узнаете психологические и биологические причины того, почему люди играют в игры, а также приемы и хитрости, которые профессиональные гейм-дизайнеры применяют для успешной
Каждый из нас уже привык соцсетям и интернету, и есть такие люди, которые это понимают.
Вы вместе уже достаточно долгий срок или наоборот только начали встречаться, но разлады и конфликты уже начали появляться. Взаимные претензии и упреки. Обиды и слезы. Как неприятно и противно и хочется все изменить. Сделать так, чтобы отношения вернулись на прежний уровень – его признания в любви, романтические ужины и желание быть с ним каждую минуту. Что ж – эта книга поможет вам. Применяя на практики наши правила вы не только научитесь преодол
Всем прекрасно знакомы бытовые ситуации, возникающие в связи с покупкой товаров или использованием услуг. Например, купил пылесос, принес домой, а он не работает; сдал в ремонт туфли, а набойки через день отвалились; купил в турфирме путевку на море, а в посольстве не дают визу.Эта книга в простой и доступной форме отвечает на вопросы, с которыми ежедневно сталкивается каждый из нас, в том числе как защитить себя самому в суде или добиться необхо
Серия небольших рассказов о маленьком путешественнике Зазюмбе в сказочной форме окунет ребенка в мир путешествий. Зазюмба – странное существо, появившееся в Санкт-Петербурге. Познакомившись на пляже Петропавловской крепости с птицами, которые рассказывают ему о разных странах и чудесах, Зазюмба решает отправится в путешествие по миру. Первый сборник серии «Поехали с нами в Санкт-Петербург» рассказывает о нескольких днях, которые Зазюмба проводит
Энциклопедия содержит вехи биографии, творчества живших прежде и живущих ныне в Екатеринбурге-Свердловске наших художников. Адресовано как профессионально задействованным в областях культуры и искусства людям, так и широкому кругу читателей. Научный и художественно-просветительский труд.