Michael Howard
David LeBlank
WRITING
SECURE
CODE
Second Edition
Microsoft Press
Майкл Ховард
Дэвид Лебланк
ЗАЩИЩЕННЫЙ
код
2-е издание, исправленное
Москва 2004
УССШ РЕДАКЦИЯ
УДК 004. 45
ББК 32. 973. 26-018. 2
Х68
Ховард М. , Лебланк Д. Х68 Защищенный код: Пер. с англ, — 2-е изд. , испр. М. : Издательско-тор-
говый дом «Русская Редакция», 2004. — 704 стр. : ил. ISBN 5-7502-0238-0
В этой книге разработчики найдут практические советы и рекомендации по
защите создаваемых приложений на всех этапах процесса создания ПО — от про-
ектирования безопасных приложений и до тестирования для выявления брешей
в готовой программе и создания безопасной документации и сообщений об
ошибках. Здесь рассказывается о моделировании опасностей, планировании про-
цесса разработки защищенных приложений, проблемах локализации и связан-
ных с ней опасностях, недостатках файловых систем, поддержке конфиденциаль-
ности в приложениях и безопасной установке приложений. Авторы иллюстриру-
ют свой рассказ примерами программ на самых разных языках — от Си до Perl. Издание обогащено знанием, полученным авторами в процессе реализации Win-
dows Security Push — инициативы по укреплению защиты продуктов Microsoft.
Книга будет полезной менеджерам проектов, архитекторам приложений, про-
граммистам, тестировщикам и техническим писателям, то есть абсолютно всем
специалистам, вовлеченным в процесс разработки ПО, — как новичкам, так и
профессионалам. Книга состоит из 24 глав, 5 приложений, библиографического списка с анно-
тациями и предметного указателя. УДК 004. 45
ББК 32. 973. 26-018. 2
Подготовлено к изданию по лицензионному договору с Microsoft Corporation, Редмонд, Вашинг-
тон, США. Active Directory, ActiveX, Autbenticode, Hotmail, JScript, Microsoft, Microsoft Press, MSDN, MS-DOS,
Visual Basic. Visual C++, Visual Studio, Win32. Windows, и Windows NT являются товарными знака-
ми или охраняемыми товарными знаками корпорации Microsoft в США и/или других странах. Все
другие товарные знаки являются собственностью соответствующих фирм. Все названия компаний, организаций, продуктов, Web-сайтов, доменов, адресов электронной
почты, событий, а также имена лиц, используемые в настоящем издании, вымышлены и не имеют
никакого отношения к реальным компаниям, организациям, продуктам, Web-сайтам, доменам,
адресам электронной почты, событиям и именам лиц. © Оригинальное издание на английском языке,
Microsoft Corporation, 2003
© Перевод на русский язык, Microsoft Corporation,
2003-2004
[SBN 0-7356-1722-8 (англ. ) © Оформление и подготовка к изданию, шдательско-
TSBN 5-7502-0238-0 торговый дом «Русская Редакция*, 2003-2004
Оглавление
Введение XX
Кому адресована эта книга XXI
Структура книги XX (I
Загрузка и установка примеров приложений XX [I
Системные требования XXII
Техническая поддержка XXI [I
Благодарности XXIII
Ч А С Т Ь I
БЕЗОПАСНОСТЬ ПРИЛОЖЕНИЙ СЕГОДНЯ 1
Глава 1 Необходимость защиты систем 2
Приложения в «дикой» Web-среде 4
Необходимость доверительных вычислений 6
«Танцуют все!* б
Тактичные методы пропаганды идей безопасности 7
Запрещенные приемы 10
Некоторые методы насаждения идей безопасности 11
Убедите начальника обратиться к сотрудникам с заявлением на тему
безопасности 12
Возьмите в штат поборника безопасности 13
Правила боя 16
Правило №1: защищающемуся приходится охранять все слабые места,
а нападающему достаточно выбрать одно из них 17
Правило №2: защищающийся готовится отразить известные атаки.