Безопасность веб-приложений: Исчерпывающий гид для начинающих разработчиков

Безопасность веб-приложений: Исчерпывающий гид для начинающих разработчиков

Безопасность веб-приложений: Исчерпывающий гид для начинающих разработчиков
Автор: Янка Таня
Дата выхода: 2024
Издательство: БОМБОРА
Количество страниц: 408
Размер файла: 3.3 MB
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

Таня Янка. Безопасность веб-приложений. Исчерпывающий гид для начинающих разработчиков....2

Отзывы о книге. Тани Янка «Безопасность веб-приложений. Визуальный гид для начинающих разработчиков»....4

Об авторе....7

О технических редакторах....8

Благодарности....9

Предисловие....10

Введение....12

Сдвиг влево....14

О книге....16

Темы, выходящие за рамки книги....17

Ответы....18

Часть I. Все, что нужно знать о коде, безопасном для публикации в интернете....19

Глава 1. Основы безопасности....20

Обязательство по обеспечению безопасности: «CIA»....20

Конфиденциальность....21

Целостность....22

Доступность....23

«Предполагать взлом»....26

Внутренние угрозы....28

Глубокая защита....30

Принцип наименьших привилегий....32

Безопасность цепи поставок....34

Безопасность через неясность....37

Уменьшение поверхности атаки....39

Жесткое кодирование....39

«Никогда не доверяй, всегда проверяй»....40

Удобство и безопасность....43

Факторы аутентификации....44

Упражнения....47

Глава 2. Требования безопасности....49

Требования....50

Шифрование....52

Никогда нельзя доверять входному потоку системы....53

Кодирование и экранирование....60

Сторонние компоненты....61

Заголовки безопасности: ремни безопасности для веб-приложений....66

Заголовки безопасности на практике....66

Х-XSS-Protection....67

Content-Security-Policy (CSP)....67

X-Frame-Options....72

X–Content-Type-Options....72

Referrer-Policy....73

Strict-Transport-Security (HSTS)....74

Feature-Policy....77

X-Permitted-Cross-Domain-Policies....77

Expect-CT....78

Public Key Pinning Extension for HTTP (HPKP)....81

Обеспечение безопасности файлов cookies....81

Флаг Secure....82

Флаг HTTPOnly....82

Для постоянных cookies....83

Domain....83

Path....85

Same-site....85

Cookie с префиксом....86

Политика конфиденциальности....87

Классификация данных....87

Пароли, хранилище и другие важные решения, касающиеся обеспечения безопасности....90

HTTPS повсюду....98

Настройки TLS....99

Комментарии....100

Резервное копирование и восстановление....100

Элементы безопасности платформы....102

Технический долг = Долг безопасности....103

Загрузка файлов....104

Ошибки и их регистрация....106

Проверка и санитизация вводимых значений....107

Авторизация и аутентификация....110

Параметризированные запросы....110

Параметры URL....111

Принцип наименьших привилегий....111

Чек-лист требований....113

Упражнения....115

Глава 3. Безопасность при проектировании ПО....117

Ошибка проектирования и дефект безопасности....118

Позднее обнаружение ошибки проектирования....119

Сдвиг влево....122

Концепции проектирования безопасного ПО....122

Защита конфиденциальных данных....122

«Никогда не доверяй, всегда проверяй» и «Предполагать взлом»....127

Резервное копирование и откат....128

Валидация на стороне сервера....130

Функции безопасности платформы....131

Изоляция функций безопасности....132

Разделение приложения....134

Управление секретами приложения....134

Повторная аутентификация при транзакционных операциях (предотвращение CSRF-атаки)....135

Разделение производственных данных....136

Защита исходного кода....138

Моделирование угроз....139

Упражнения....146

Глава 4. Безопасность кода ПО....147

Выбор используемой платформы и языка программирования....147

Пример 1....150

Пример 2....150

Пример 3....152

Языки программирования и платформы: правило....152

Сомнительные данные....154

HTTP-глаголы....156

Идентификация....159

Управление сессиями....159

Проверка границ....162

Аутентификация (AuthN)....166

Авторизация (AuthZ)....167

Обработка, регистрация и мониторинг ошибок....172

Правила работы с ошибками....173

Регистрация....174

Мониторинг....176

Упражнения....178

Глава 5. Часто встречающиеся подводные камни....180

OWASP....180

Ранее не упомянутые средства защиты и уязвимости....188

Межсайтовая подделка запроса (CSRF)....188

Подделка запросов со стороны сервера (SSRF)....193

Десериализация....195

Состояние гонки....198

Заключительные комментарии....199

Упражнения....199

Часть II. Как написать безупречный код....201

Глава 6. Тестирование и развертывание....202

Тестирование кода....203

Обзор кода....203

Статическое тестирование безопасности приложений (SAST)....206

Анализ состава программного обеспечения (SCA)....208

Модульное тестирование....211

Инфраструктура как код (IaC) и безопасность как код (SaC)....213

Тестирование приложения....216

Ручное тестирование....217

Браузеры....218

Инструменты разработчика....220

Веб-прокси....220

Фаззинг....222

Динамическое тестирование безопасности приложений (DAST)....224

Инфраструктура....224

Пользовательские приложения....225

Оценка уязвимости, оценка безопасности, пентестирование....226

Гигиена безопасности....230

Стресс-тестирование и тестирование производительности....232

Интеграционное тестирование....233

Интерактивное тестирование безопасности приложений....234

Регрессионное тестирование....235

Тестирование инфраструктуры....237

Тестирование базы данных....238

Тестирование API и веб-серверов....239

Тестирование интеграций....241

Тестирование сети....242

Развертывание....243

Редактирование кода на сервере в реальном времени....245

Публикация из среды IDE....246

«Самодельные» системы развертывания....247

Ранбуки....248

Непрерывная интеграция, непрерывная поставка, непрерывное развертывание....248

Упражнения....250

Глава 7. Программы безопасности приложений....252

Задачи программы по защите приложения....253

Создание и поддержка реестра приложения....254

Техническая возможность обнаружения уязвимостей в написанном, выполняемом и стороннем коде....256

Знания и ресурсы, необходимые для исправления уязвимостей....257

Образование и справочные материалы....258

Предоставление разработчикам инструментов по обеспечению безопасности приложений....260

Проведение одного или нескольких мероприятий по обеспечению безопасности на каждом этапе жизненного цикла разработки системы....261

Внедрение полезных и эффективных инструментов....262

Команда реагирования на инциденты, которая знает, когда вам звонить....263

Постоянное совершенствование программы на основе показателей, экспериментов и обратной связи....265

Метрики....265

Экспериментирование....269

Обратная связь от всех и каждой из заинтересованных сторон....269

Особое замечание о DevOps и Agile....270

Деятельность по обеспечению безопасности приложений....271

Инструменты по обеспечению безопасности приложений....275

Ваша программа безопасности приложения....276

Упражнения....277

Глава 8. Обеспечение безопасности современных систем и приложений....278

API и микросервисы....279

Онлайн-хранилище....284

Контейнеры и оркестровка....285

Бессерверные приложения....288

Инфраструктура как код (IaC)....290

Безопасность как код (SaC)....294

Платформа как услуга (PaaS)....295

Инфраструктура как услуга (IaaS)....297

Непрерывные интеграция, поставка и развертывание....298

Dev(Sec)Ops....299

DevSecOps....302

Облако....303

Облачные вычисления....303

Ориентированность на облако....306

Безопасность облачно-ориентированной среды....307

Облачные потоки....308

Современные инструменты....310

Интерактивное тестирование безопасности приложений IAST....310

Запуск защиты приложений....310

Контроль целостности файлов....311

Инструменты контроля приложений (список одобренного программного обеспечения)....311

Инструменты безопасности, созданные для конвейеров DevOps....313

Инструменты инвентаризации приложений....314

Автоматизация политики наименьших привилегий и других....314

Современные тактические приемы....315

В итоге....317

Упражнения....317

Часть III. Полезная информация о том, как постоянно писать код очень высокого качества....318

Глава 9. Полезные привычки....319

Управление паролями....319

Отмена правил сложности пароля....320

Использование менеджера паролей....322

Парольные фразы....323

Отказ от повторного использования паролей....323

Отказ от ротации паролей....324

Многофакторная аутентификация....326

Реагирование на инциденты....326

Пожарные учения....327

Непрерывное сканирование....330

Технический долг....330

Инвентаризация....331

Другие полезные привычки....332

Политики....332

Загрузки и устройства....334

Блокировка рабочей техники....334

Приватность....335

Итоги....336

Упражнения....338

Глава 10. Непрерывное обучение....339

Что изучать....340

Нападение = защита....340

Не забывайте о «гибких навыках»....340

Лидерство!= менеджмент....343

Варианты обучения....343

Действия, которые можно выполнять самостоятельно....344

Действия, которые можно выполнять на работе (или о чем можно попросить начальника)....347

Действия, которые можно выполнять в отношении своих сотрудников....348

Подотчетность....348

Составление плана....351

Действуйте....352

Упражнения....352

Учебный план....353

Глава 11. Заключение....355

Вопросы, оставшиеся без ответа....357

Когда можно говорить о достаточности предпринятых мер по обеспечению безопасности?....357

Как привлечь руководство к обеспечению безопасности?....361

Как привлечь разработчиков к обеспечению безопасности?....362

С чего начать?....364

Откуда брать помощь?....364

Заключение....365

Приложение. Ответы....366

Примечания....390

Исчерпывающее руководство по безопасности программного обеспечения.Поддерживать безопасность своих продуктов – одна из первостепенных задач любой современной IT-компании. В этой книге вы найдете пошаговые инструкции по тому, как спроектировать безопасную архитектуру веб-сайтов и приложений и защищать ее на всех этапах производства и реализации. Более того, автор даст ответы на самые распространенные вопросы об информационной безопасности и расскажет о лучших практиках гигантов технологической индустрии, например, Microsoft и Google.

Для кого эта книга:

  • специалисты по информационной безопасности;
  • практикующие разработчики программного обеспечения;
  • инженеры приложений;
  • руководители IT-проектов;
  • специалисты по тестированию.

Похожее:

Список отзывов:

Нет отзывов к книге.