# Протокол второго дня образовательной лаборатории

**Дата:** 12.08.2026
**Материал:** «Безопасность приложений» — день 2.
**Основание:** три фрагмента записи, рабочие изображения слайдов (для редакторской сверки), учебные материалы и техническое ревью результатов подгрупп.

## 1. Темы дня

1. Конструктор лабораторной работы: цели, инструкции, доказательства и критерии оценки.
2. OWASP A07–A10: аутентификация, целостность ПО и данных, журналирование/alerting, обработка исключительных ситуаций.
3. Историческая лабораторная тема SSRF (OWASP Top 10:2021 A10).
4. Non-web AppSec: C/C++, mobile, desktop, обновления и IPC.
5. Жизненный цикл разработки, модели разработки, SSDLC, threat modeling, SAST/DAST/SCA/fuzzing.
6. ИИ‑инструменты, агентные системы и проверка самостоятельного инженерного мышления.

## 2. Ключевые решения и редакторские уточнения

| Вопрос | Решение |
|---|---|
| Нумерация OWASP | В публикации явно разделены 2021 и 2025. SSRF обозначается как `A10:2021`; `A10:2025` — некорректная обработка исключительных ситуаций. |
| Полная стенограмма | Публикуется нормализованная редакция с таймкодами, а не raw‑ASR: смысл, вопросы и ход дискуссии сохранены; ошибки распознавания исправлены. |
| Слайды второго дня | Подготовлена самостоятельная доступная HTML‑колода из 133 учебных слайдов в восьми тематических блоках, с индивидуальными заметками слушателю и преподавателю; исходные изображения, личный сертификат участника и рабочие файлы не размещаются и не включены в ZIP‑пакеты. |
| Работы подгрупп | Не публикуются в исходном виде. Идеи переработаны в авторские, безопасные и воспроизводимые задания без персональных данных. |
| SSRF | Конкретный Juice Shop challenge не используется как обещанный критерий зачёта. В пакет включается самодостаточный закрытый трёхсервисный fixture: gateway, app и internal. |
| Безопасность заданий | Только `127.0.0.1` и выделенные Docker‑сети; запрещены внешние URL, корпоративные сети, реальные metadata endpoints, reverse listeners и `--network host`. |

## 3. Методические выводы

### Конструктор лабораторной работы

- Цель формулируется через наблюдаемое действие, которое можно оценить.
- Инструкция содержит 6–10 ясных шагов; длинная последовательность делится на части.
- Студент сдаёт не только факт выполнения, но и артефакт, первопричину, последствия, исправление и regression check.
- Сильный вопрос требует переноса модели или объяснения «почему», а не воспроизводит фразу инструкции.
- Задание «со звёздочкой» имеет самостоятельную учебную цель и прозрачные критерии.

### OWASP и инженерные контроли

- Аутентификация, сессия и авторизация объекта — разные проверки.
- Целостность включает данные, зависимости, сборку, контейнеры, обновления и десериализацию.
- Логирование без rule/alert/owner/reaction не образует работающий контроль.
- Негативные пути должны быть безопасны: fail‑closed, таймауты, лимиты, сообщения без секретов, идемпотентность и телеметрия.
- SSRF требует рассматривать реальный server-side маршрут и сетевую границу, а не только строку URL.

### SSDLC

Минимальный цикл: требования и активы → модель угроз → безопасная архитектура/код → SAST/SCA/tests → проверяемый релиз/SBOM → logging/alerting → обработка уязвимостей и regression. Для зрелости применимы ГОСТ Р 56939‑2024, ISO/IEC 27034, NIST SSDF, OWASP SAMM и ASVS; выполнение одного упражнения не является заявлением соответствия стандарту.

## 4. Результаты ревью будущих практик

Идеи подгрупп прошли ревью и интегрированы в практикум из 12 работ (ЛР_0–ЛР_11): подготовительная инвентаризация активов, A01–A09:2025, историческая SSRF A10:2021 и безопасность нативной памяти. A10:2025 рассматривается как тема обработки исключительных ситуаций без заявления отдельной лабораторной. Ниже — ключевые решения ревью по практикам, выведенным из работ подгрупп.

| Приоритет | Практика | Результат ревью |
|---|---|---|
| P0 | BOLA/IDOR: чужая корзина | Использовать только заранее известный тестовый объект; первопричина — отсутствие server-side object-level authorization, а не «изменение локальной переменной». |
| P0 | Reflected XSS в bWAPP | Сценарий low → medium → high пригоден после исправления порта, pin образа и удаления внешнего listener. |
| P0 | SSRF | Использовать закрытый fixture вместо версия‑зависимого Juice Shop challenge. |
| P1 | Отрицательное количество корзины | Выделить в отдельную ЛР по бизнес‑инвариантам и Insecure Design. |
| P1 | Удаление чужого отзыва | Отдельная ЛР по BOLA/BFLA, только одноразовые искусственные данные. |
| P1 | Default credentials | Не превращать в широкий brute force; использовать заранее выданную учебную пару и анализ защит. |
| P2 | Активный SVG/upload | Не использовать исходный сценарий без полного redesign самодостаточного стенда. |

## 5. Пакет материалов

- `day-02.html` — полная страница лекции.
- `slides-day-02.html` — 133‑слайдовая доступная HTML‑колода.
- `Стенограмма-дня-02-полная-редактированная.md` — подробный нормализованный текст.
- `день-2-методический-конспект.md` — структурированная версия лекции.
- `практикум-день-2-набор-заданий.md` — задания и рубрики.
- `participant-materials/lr-ssrf/` — закрытый воспроизводимый стенд и инструкция.
- `источники-и-версии-день-2.md` — provenance и границы публикации.

## 6. Открытые условия перед внешним переиспользованием

1. Проверить полномочия на дальнейшее распространение изображений слайдов и обозначить нужную атрибуцию.
2. Не распространять исходные документы подгрупп, raw‑транскрипты, персональные данные или файловые метаданные без отдельного основания.
3. Перед очным запуском задания закрепить используемые версии образов/зависимостей и проверить стенд на целевой машине.
4. Актуализировать ссылки на стандарты и версии OWASP при следующем обновлении курса.

## Источники для проверки

- [OWASP Top 10:2025](https://owasp.org/Top10/2025/0x00_2025-Introduction/)
- [OWASP ASVS](https://owasp.org/www-project-application-security-verification-standard/)
- [OWASP SAMM](https://owasp.org/www-project-samm/)
- [NIST SP 800-218 SSDF](https://csrc.nist.gov/pubs/sp/800/218/final)
- [OWASP SSRF Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html)
