Как написать безопасный код на С++, Java, Perl, PHP, ASP.NET

В наличии Цена за шт.

500

Количество
Купить

Акции и скидки Поделиться


  • Артикул:00-00006571
  • Автор: Ховард М., Лебланк Д., Виега Д.
  • ISBN: 978-5-94074-836-6
  • Тираж: 200 экз.
  • Обложка: Мягкая обложка
  • Издательство: ДМК-Пресс (все книги издательства)
  • Город: Москва
  • Страниц: 288
  • Формат: 60х90 1/16
  • Год: 2014
  • Вес: 363 г
Развернуть ▼

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

Содержание
Об авторах
О научных редакторах
Предисловие
Благодарности
Введение
Структура книги
Кому предназначена эта книга
Какие главы следует прочитать
Грех 1. Переполнение буфера
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Греховность C/C++
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
CVE-1999-0042
CVE-2000-0389 - CVE-2000-0392
CVE-2002-0842, CVE-2003-0095, CAN-2003-0096
CAN-2003-0352
Искупление греха
Замена опасных функций работы со строками
Следите за выделениями памяти
Проверьте циклы и доступ к массивам
Пользуйтесь строками в стиле C++, а не С
Пользуйтесь STL-контейнерами вместо статических массивов
Пользуйтесь инструментами анализа
Дополнительные защитные меры
Защита стека
Запрет исполнения в стеке и куче
Другие ресурсы
Резюме
Грех 2. Ошибки, связанные с форматной строкой
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Греховность C/C++
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
CVE-2000-0573
CVE-2000-0844
Искупление греха
Искупление греха в C/C++
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 3. Переполнение целых чисел
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Греховность С и C++
Поразрядные операции
Греховность C#
Греховность Visual Basic и Visual Basic .NET
Греховность Java
Греховность Perl
Где искать ошибку
Выявление ошибки на этапе анализа кода
C/C++
C#
Java
Visual Basic и Visual Basic .NET
Perl
Тестирование
Примеры из реальной жизни
Ошибка в интерпретаторе Windows Script позволяет выполнить произвольный код
Переполнение целого в конструкторе объекта
SOAPParameter
Переполнение кучи в HTR-документе, передаваемом поблочно, может скомпрометировать Web-сервер
Искупление греха
Дополнительные защитные меры
Другие ресурсы
Резюме
Не рекомендуется
Грех 4. Внедрение SQL-команд
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Греховность C#
Греховность РНР
Греховность Perl/CGI
Греховность Java
Греховность SQL
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
CAN-2004-0348
CAN-2002-0554
Искупление греха
Проверяйте все входные данные
Никогда не применяйте конкатенацию для построения
SQL-предложений
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 5. Внедрение команд
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
CAN-2001-1187
CAN-2002-0652
Искупление греха
Контроль данных
Если проверка не проходит
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 6. Пренебрежение обработкой ошибок
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Раскрытие излишней информации
Игнорирование ошибок
Неправильная интерпретация ошибок
Бесполезные возвращаемые значения
Обработка не тех исключений, что нужно
Обработка всех исключений
Греховность C/C++
Греховность C/C++ в Windows
Греховность C++
Греховность С#, VB.NET и Java
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
CAN-2004-0077 dojmremap в ядре Linux
Искупление греха
Искупление греха в C/C++
Искупление греха в С#, VB.NET и Java
Другие ресурсы
Резюме
Грех 7. Кросс-сайтовые сценарии
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Греховное ISAPI-расширение или фильтр на C/C++
Греховность ASP
Греховность форм ASP.NET
Греховность JSP
Греховность РНР
Греховность Perl-модуля CGI.pm
Греховность mod-perl
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
Уязвимость IBM Lotus Domino для атаки с кросс-сайтовым сценарием и внедрением HTML
Ошибка при контроле входных данных в сценарии isqlplus, входящем в состав Oracle HTTP Server, позволяет удаленному пользователю провести атаку с кросс-сайтовым сценарием
CVE-2002-0840
Искупление греха
Искупление греха в ISAPI-расширениях и фильтрах на C/C++
Искупление греха в ASP
Искупление греха в ASP.NET
Искупление греха в JSP
Искупление греха в РНР
Искупление греха в Perl/CGI
Искупление греха в mod-perl
Замечание по поводу HTML-кодирования
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 8. Пренебрежение защитой сетевого трафика
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
TCP/IP
Протоколы электронной почты
Протокол E*Trade
Искупление греха
Рекомендации низкого уровня
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 9. Применение загадочных URL и скрытых полей форм
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Загадочные URL
Скрытые поля формы
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
CAN-2000-1001
Модификация скрытого поля формы в программе
MaxWebPortal
Искупление греха
Противник просматривает данные
Противник воспроизводит данные
Противник предсказывает данные
Противник изменяет данные
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 10. Неправильное применение SSL и TLS
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
Почтовые клиенты
Web-браузер Safari
SSL-прокси Stunnel
Искупление греха
Выбор версии протокола
Выбор семейства шифров
Проверка сертификата
Проверка имени хоста
Проверка отзыва сертификата
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 11. Использование слабых систем на основе паролей
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Политика управления сложностью пароля ..
Смена и переустановка пароля
Протоколы проверки паролей
Ввод и хранение паролей
Тестирование
Примеры из реальной жизни
CVE-2005-1505
CVE-2005-0432
Ошибка в TENEX
Кража у Пэрис Хилтон
Искупление греха
Многофакторная аутентификация
Хранение и проверка паролей
Рекомендации по выбору протокола
Рекомендации по переустановке паролей
Рекомендации по выбору пароля
Прочие рекомендации
Дополнительные защитные меры
Другие ресурсы
Резюме
Не рекомендуется
Стоит подумать
Грех 12. Пренебрежение безопасным хранением и защитой данных
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Слабый контроль доступа к секретным данным
Греховность элементов управления доступом
Встраивание секретных данных в код
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
CVE-2000-0100
CAN-2002-1590
CVE-1999-0886
CAN-2004-0311
CAN-2004-0391
Искупление греха
Использование технологий защиты, предоставляемых операционной системой
Искупление греха в C/C++ для Windows 2000 и последующих версий
Искупление греха в ASP.NET версии 1.1 и старше
Искупление греха в C# на платформе .NET Framework 2.0 Искупление греха в C/C++ для Mac OS X версии v10.2 и старше
Искупление греха без помощи операционной системы (или «храните секреты от греха подальше»)
Замечание по поводу Java и Java KeyStore
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 13. Утечка информации
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Побочные каналы
Слишком много информации!
Модель безопасности информационного потока
Греховность C# (и других языков)
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Имитация кражи ноутбука
Примеры из реальной жизни
Атака с хронометражем Дэна Бернстайна на шифр AES
CAN-2005-1411
CAN-2005-1133
Искупление греха
Искупление греха в C# (и других языках)
Учет локальности
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 14. Некорректный доступ к файлам
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Греховность C/C++ в Windows
Греховность C/C++
Греховность Perl
Греховность Python
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
CAN-2005-0004
CAN-2005-0799
CAN-2004-0452 и CAN-2004-0448
CVE-2004-0115 Microsoft Virtual PC для Macintosh
Искупление греха
Искупление греха в Perl
Искупление греха в C/C++ для Unix
Искупление греха в C/C++ для Windows
Получение места нахождения временного каталога пользователя
Искупление греха в .NET
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 15. Излишнее доверие к системе разрешения сетевых имен
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Греховные приложения
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
CVE-2002-0676
CVE-1999-0024
Искупление греха
Другие ресурсы
Резюме
Грех 16. Гонки
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Греховность кода
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
CVE-2001 -1349
CAN-2003-1073
CVE-2004-0849
Искупление греха
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 17. Неаутентифицированный обмен ключами
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
Атака с «человеком посередине» на Novell Netware
CAN-2004-0155
Искупление греха
Дополнительные защитные меры
Другие ресурсы
Резюме
Грех 18. Случайные числа криптографического качества
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Греховность некриптографических генераторов
Греховность криптографических генераторов
Греховность генераторов истинно случайных чисел
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Когда следует использовать случайные числа
Выявление мест, где применяются PRNG-генераторы
Правильно ли затравлен CRNG-генератор
Тестирование
Примеры из реальной жизни
Браузер Netscape
Проблемы в OpenSSL
Искупление греха
Windows
Код для.NET
Unix
Java
Повторное воспроизведение потока случайных чисел
Дополнительные защитные меры
Другие ресурсы
Резюме
Стоит подумать
Грех 19. Неудобный интерфейс
В чем состоит грех
Подверженные греху языки
Как происходит грехопадение
Каков круг ваших пользователей?
Минное поле: показ пользователям информации о безопасности
Родственные грехи
Где искать ошибку
Выявление ошибки на этапе анализа кода
Тестирование
Примеры из реальной жизни
Аутентификация сертификата в протоколе SSL/TLS
Установка корневого сертификата в Internet Explorer 4.0
Искупление греха
Делайте интерфейс пользователя простым и понятным
Принимайте за пользователей решения, касающиеся безопасности
Упрощайте избирательное ослабление политики безопасности
Ясно описывайте последствия
Помогайте пользователю предпринять действия
Предусматривайте централизованное управление
Другие ресурсы
Резюме
Приложение А. Соответствие между 19 смертными грехами и «10 ошибками» OWASP
Приложение В. Сводка рекомендаций
Предметный указатель


Оставьте отзыв о товаре
Рекомендуем

Артикул 00-01029184

Грокаем глубокое обучение

Грокаем глубокое обучение

951-26% 700 руб.

Купить
×

Диски

Журналы и бланки

Журналы для автодорог, дорожного хозяйстваЖурналы для АЗС и АЗГСЖурналы для аптекЖурналы для архивовЖурналы для аттракционовЖурналы для банковЖурналы для бассейновЖурналы для бухгалтерииЖурналы для газовых хозяйств, газораспределительных систем, ГАЗПРОМаЖурналы для гостиниц, общежитий, хостеловЖурналы для грузоподъемных механизмовЖурналы для делопроизводстваЖурналы для драгметалловЖурналы для ЖКХЖурналы для канатных дорог, фуникулеровЖурналы для кладбищЖурналы для конструкторских, научно-техническая документацияЖурналы для лесных хозяйствЖурналы для лифтовЖурналы для медицинских учрежденийЖурналы для МЧСЖурналы для нефтебазЖурналы для нефтепромысла, нефтепроводовЖурналы для образовательных учрежденийЖурналы для парикмахерских, салонов красоты, маникюрных, педикюрных кабинетовЖурналы для проверки и контроля госорганами, контролирующими организациямиЖурналы для промышленностиЖурналы для работ с повышенной опасностьюЖурналы для регулирования алкогольного рынкаЖурналы для сельских хозяйств, ветеринарииЖурналы для складовЖурналы для снегоплавильных пунктовЖурналы для стройки, строительстваЖурналы для тепловых энергоустановок, котельныхЖурналы для транспортаЖурналы для туризмаЖурналы для учреждений культуры, библиотек, музеевЖурналы для церкви, религиозных организацийЖурналы для шахт, рудников, метрополитенов, подземных сооруженийЖурналы для электроустановокЖурналы и бланки для армии, вооруженных силЖурналы и бланки для нотариусов, юристов, адвокатовЖурналы и бланки для организаций пищевого производства, общепита и пищевых блоковЖурналы и бланки для организаций, занимающихся охраной объектов и частных лицЖурналы и бланки для ФТС РФ (таможни)Журналы и бланки по экологииЖурналы и бланки, используемые в торговле, бытовом обслуживанииЖурналы и бланки, относящиеся к нескольким отраслямЖурналы по геодезии, геологииЖурналы по метрологииЖурналы по охране труда и технике безопасностиЖурналы по пожарной безопасностиЖурналы по психологииЖурналы по санитарии, проверкам СЭСЖурналы по связиЖурналы по эксплуатации зданий и сооруженийЖурналы по энергетикеЖурналы, бланки, формы для кадровых работЖурналы, бланки, формы документов для органов прокуратуры и суда, минюста, пенитенциарной системыЖурналы, бланки, формы документов МВД РФ, РосгвардииКомплекты документов и журналовОбложки для журналов и удостоверенийСамокопирующиеся бланки

Знаки безопасности, таблички, стенды

Вспомогательные знаки, таблички-наклейкиЗапрещающие знакиЗнаки для инвалидовЗнаки для уборки и сбора мусораЗнаки на автомобильЗнаки пожарной безопасностиЗнаки электробезопасностиИнформационные знаки для строительных площадокМедицинские и санитарные знакиНаклейкиПредписывающие знакиПредупреждающие знакиСтендыУказательные знакиЭвакуационные знакиЮмористические знаки

Календари

Книги

Букинистическая литератураГОСТы, ОСТыДетская литератураДомашний кругДругоеИскусство. Культура. ФилологияКниги в электронном видеКниги издательства "Комсомольская правда"Компьютеры и интернетКосмосНаука. Техника. МедицинаНормативные правовые актыОбщественные и гуманитарные наукиОхрана труда, обеспечение безопасностиПодарочные книгиПутешествия. Отдых. Хобби. СпортРелигия. Оккультизм. ЭзотерикаРостехнадзорСанПины, СП, МУ, МР, ГНСборники рецептур блюд для предприятий общественного питанияСНиП, СП, СО,СТО, РД, НП, ПБ, МДК, МДС, ВСНУчебный годХудожественная литератураЭкономическая литератураЭнциклопедии, справочники, словари

Курвиметры

Ленты с тиснением

Линейки

Авиационные и военные линейкиДетские линейкиМедицинские линейкиПортновские линейкиТехнические линейкиТрафареты с чертежными шрифтамиЧертежные линейки

Маркировочная продукция

Маркировка трубопровода "Вода"Маркировка трубопровода "Воздух"Маркировка трубопровода "Газ"Маркировка трубопровода "Жидкость"Маркировка трубопровода "Кислота"Маркировка трубопровода "Пар"Маркировка трубопровода "Прочие вещества"Маркировка трубопровода "Щелочь"

Материалы для типографии (мини-типографии)

Бумага для оргтехникиКлейПереплетные материалыПленка для печати и ламинацииФольга для тиснения

Металлические изделия (металлическая мебель, конструкции, навесы)

Металлическая мебельМеталлические изделия для дачи и дома

Носки и портянки

Одноразовая одежда

Охрана труда

Печати и штампы

Медицинские печати и штампыОснастки, самонаборные штампыПечати и штампы для бухгалтерии и делопроизводстваПечати и штампы для водителейПечать фирмы (организации, компании, подразделения, отдела)Штампы по техническому контролю, учету и хранению

Плакаты

Погоны министерств и ведомств

Подарки нашим покупателям

Полотенца

Портреты знаменитых людей

Сувениры

Бизнес сувениры, корпоративные подаркиБрелкиГимн России. Эксклюзивное графическое оформление в багетном обрамленииГудки и Рожки охотничьиЗажигалкиКружки для термопереносаКружки подарочныеПодарочные наборы игрПредметы интерьераСувениры, подарки для мужчин

Тир

Рогатки спортивные

Ткани

Товары "Юнармия"

Береты

Товары для дома и офиса

Грамоты и благодарностиИндикаторы стерилизацииКанцелярские товарыКаски, защитные очки, маскиКухонные принадлежностиОгнетушителиПланы эвакуацииСамоспасателиСредства дезинфекцииТовары для ремонтаФитолампы и прожекторыХозяйственные товарыЭлектроудлинители, тройники, катушкиЭлектроустановочные изделия

Товары для здоровья, БАДы

Аюрведические товарыСредства гигиены, косметика из минералов Мертвого моря

Товары для развития, игрушки

Бумажные модели

Товары для спорта, туризма и охоты

Походные сумки, рюкзаки и мешочки для храненияСигнальное снаряжениеТовары для фитнеса

Удостоверения, Свидетельства

Зачетные книжки, студенческие билетыУдостоверения для спортивных секцийУдостоверения рабочих различных специальностей

Упаковка, упаковочные материалы

Коробки картонные

Членские книжки

ГК, ГСК, членские книжки, пропуска и пр.Садоводческие книжки, членские книжки СНТ
;