Это работа с активами, границами доверия, архитектурными решениями и доказуемыми свойствами защиты. Здесь собран очищенный преподавательский маршрут первого дня: от поверхности атаки до OWASP Top 10:2025 и безопасной лабораторной рефлексии.
День 01 базовая модель AppSecA01–A06 OWASP Top 10:2025RU авторский конспект
06разобранных категорий OWASP Top 10:2025
02лабораторных блока в разрешённой локальной среде
01карта поверхности атаки как отправная точка
43HTML‑слайда и 5 Markdown-документов в открытом архиве
Шаг ноль · для тех, кто начинает
Сначала — где вообще живёт то, что мы защищаем.
Разговор про уязвимости бесполезен, пока в голове нет картинки устройства системы. Три схемы ниже — минимум, который стоит нарисовать на доске до первого термина. Все схемы на сайте нарисованы заново и остаются текстом: их можно искать, копировать и читать со вспомогательными технологиями.
Где живёт прикладное ПО
Схема 01
Как читать. Каждый уровень доверяет тому, что ниже, и обслуживает то, что выше. Безопасность приложений отвечает за уровень прикладного ПО — но ошибка на нём открывает данные пользователя, а иногда и путь к системному уровню.
Клиент, сервер и то, что между ними
Схема 02
Зачем это на первом же занятии. Почти каждая тема дня — это вопрос «на какой стороне пунктира выполняется проверка». Скрытая кнопка, отключённое поле формы и «внутренний» адрес находятся слева и защитой не являются.
Две стороны атаки — и разный масштаб последствий
Схема 03
Учебный вывод. Один и тот же класс уязвимости на клиенте и на сервере имеет разную цену. Это первая причина, по которой оценка риска не сводится к названию уязвимости.
Чем рискует пользователь
Ни одно приложение не защищено на сто процентов
Утечка персональных данных, финансовые потери, кража учётных записей. Удалённая атака при этом опаснее физического доступа: она не требует присутствия и работает по многим целям сразу. Права администратора у пользователя увеличивают ущерб от любой успешной атаки.
Чем рискует разработчик
Последствия не заканчиваются на исправлении кода
Юридическая ответственность за утечку персональных данных, судебные иски, прямые финансовые потери, потеря доверия пользователей и репутационный ущерб. Это и есть ответ на вопрос «зачем разработчику заниматься безопасностью, если есть отдел ИБ».
Учебный пример · почему обновления это не формальность
Червь Conficker распространялся через уязвимость службы удалённого вызова процедур Windows, доступную по TCP-порту 445. Исправление вышло раньше массового заражения — бюллетень MS08-067. Пострадали те системы, где обновление не установили.
Отсюда два вывода, которые стоит проговорить до разбора OWASP. Первый: известная и уже закрытая уязвимость остаётся рабочим вектором ровно до тех пор, пока патч не установлен. Второй: открытый в сеть сервис — это точка входа, даже если «им никто не пользуется».
Слушателю
Если какой-то из терминов на схемах незнаком — не пропускайте его. Откройте глоссарий: там каждое понятие разобрано одним предложением и примером, без предварительных знаний.
Заметка преподавателя
Схемы 01–03 закрывают типовой разрыв: студент знает слово «уязвимость», но не представляет, где физически исполняется код и кому принадлежит клиент. Пока этот разрыв не закрыт, разбор OWASP превращается в заучивание списка.
Визуальный конспект
Слайды, которые раскрывают тему первого дня.
Полная учебная колода последовательно раскрывает тезисы, термины, инженерные меры и связь теории с практикой: от активов и рисков к OWASP, лабораторным заданиям и безопасности ИИ.
01 / ОСНОВЫ
Активы, риск и CIA
От ценности актива и сценария угрозы к понятным последствиям для конфиденциальности, целостности и доступности.
02 / OWASP
A01–A03
Контроль доступа, конфигурация и цепочка поставки: что проверять на сервере, в инфраструктуре и в CI/CD.
03 / OWASP
A04–A06
Криптография, инъекции и проектирование: как закреплять защитные свойства до и после реализации.
04 / ИИ
Агенты и контроль инструментов
Права, схемы, изоляция, подтверждение человеком, трассировка и проверяемый результат.
План занятия и подтверждённая последовательность — это разные сущности.
Расписание ниже воспроизводит программу. Подробная стенограмма сохраняет тематическую последовательность занятия без неподтверждённых точных интервалов.
Как читать этот материал
Стенограмма и протокол для самостоятельной работы
В открытом архиве доступны подробная редактированная стенограмма, протокол дня и автоматические пересказы в Markdown. Они помогают повторить логику занятия, найти нужный термин и подготовиться к практике.
Учебный результат
От сценария злоупотребления к проверяемой защите
Каждый блок заканчивается инженерным вопросом: какой актив защищаем, где граница доверия, как проявится отказ контроля и каким тестом или ограничением подтверждается исправление.
10:20
Основы AppSec и карта атакуемой поверхности
Активы, CIA, идентификация → аутентификация → авторизация, клиент/сервер, границы доверия и групповая карта функции приложения.
11:00
OWASP A01–A03
Контроль доступа, конфигурация и цепочка поставки ПО; затем лабораторный блок 1 в изолированной учебной среде.
14:30
OWASP A04–A06
Криптографические сбои, инъекции, небезопасное проектирование; затем лабораторный блок 2 и оформление доказательств.
16:10
Безопасность ИИ и организация обучения
LLM/agentic-системы, источники, границы полномочий инструментов, проверка фактов и методическая ответственность преподавателя.
16:55
Итоги и подготовка к продолжению
Фиксация выводов, вопросов и доказательств выполненных работ — без подмены их набором эффектных payload’ов.
Общее ядро
Модель угроз начинается там, где заканчивается удобная схема интерфейса.
Скрытая кнопка, доверенный JavaScript или «внутренний» URL не являются механизмами защиты. Контроль должен выполняться на доверенной стороне и оставлять проверяемый след.
Как из актива получается риск
Схема 04
Практический смысл. Фраза «у нас SQL-инъекция» не помогает принять решение. Фраза «через параметр id посторонний прочитает заказы чужих клиентов» содержит и актив, и угрозу, и уязвимость — из неё сразу следуют и мера, и тест, который эту меру проверит.
Что именно мы защищаем: конфиденциальность, целостность, доступность
Схема 05
Зачем нужна триада. Она превращает разговор о «взломе» в разговор о конкретном последствии. Одна и та же уязвимость может нарушать одно свойство и не затрагивать два других — и это напрямую меняет приоритет исправления.
Три разных вопроса: идентификация, аутентификация, авторизация
Схема 06
Ошибка, которую делают почти все. Три слова часто используют как синонимы. Разведите их на первом же занятии: без этого категория A01 (нарушение контроля доступа) не будет понятна, потому что она про третий шаг, а не про первые два.
Карта атакуемой поверхности: что перечислять и где ставить контроль
Схема 07
Это и есть групповое упражнение первого дня. Карта превращает абстрактный разговор об угрозах в перечень: субъекты, входы, переходы, полномочия, хранилища, журналы и зависимости. До чистой пересборки заполненного примера используйте авторский шаблон и обезличенные данные своей группы.
Заметка преподавателя
Схему 07 полезно не показывать, а строить вместе с группой на доске — по одному столбцу за раз. Практика показывает, что первые два столбца группа заполняет уверенно, третий — хуже, а строку про цепочку поставки почти никогда не называет сама. Именно этот пробел и стоит зафиксировать вслух: он объясняет, почему категория A03 попала в OWASP Top 10.
Ограничение по времени: 10–12 минут на заполнение и 8–10 минут на разбор. Если дать больше, группа уходит в детали одного компонента и теряет картину целиком.
1 · Актив и последствия
Называем ценность до выбора инструмента
Данные, деньги, непрерывность процесса, интеллектуальная собственность и доверие пользователя определяют, какие сценарии злоупотребления действительно значимы.
2 · Граница доверия
Ищем место, где меняется уровень доверия
Браузер → API, API → БД, CI → registry, пользователь → файл, сервис → внешний ресурс. Здесь нужны валидация, авторизация, минимальные права и журналирование.
3 · Инвариант
Формулируем свойство, которое нельзя нарушить
Например, чужой объект недоступен, сумма неотрицательна, неподписанный токен не принимается, а внешняя зависимость имеет проверяемое происхождение.
4 · Доказательство
Закрываем цикл тестом, контролем или ограничением
Защита считается внедрённой, когда её можно проверить отрицательным тестом, политикой CI/CD, журналом решения или ограничением схемы данных.
OWASP Top 10:2025 · A01–A06
Шесть тем — шесть разговоров об инженерной причине, а не о «магическом» запрете ввода.
Классификация OWASP даёт общий язык. Она не отменяет моделирование угроз, требования организации и анализ конкретной архитектуры. Для актуальных редакций используйте первичный сайт OWASP.
A01:2025
A01:2025 — Нарушение контроля доступа
Серверная проверка субъекта, действия, объекта и контекста. Защита от IDOR/BOLA, вертикального и горизонтального повышения прав.
deny by default · ownershipA02:2025
A02:2025 — Небезопасная конфигурация
Устаревший endpoint, debug, лишняя информация в ошибке, открытый сервис или стандартная учётная запись — это часть поверхности атаки.
hardening · IaC · logsA03:2025
A03:2025 — Сбои в цепочке поставки ПО
Происхождение зависимостей, lockfile, SBOM, SCA, подписи и наименьшие права CI/CD защищают путь от исходника к артефакту.
SBOM · provenance · SCAA04:2025
A04:2025 — Криптографические сбои
Ключи, TLS, защита данных и строгая проверка токена. Алгоритмы и claims проверяет сервер; библиотека не заменяет конфигурацию.
allow-list · iss/aud/expA05:2025
A05:2025 — Инъекции
Разделяем код и данные, используем параметризацию и контекстное экранирование. XSS, SQLi, CSRF и command injection требуют разных рубежей.
parameterize · encodeA06:2025
A06:2025 — Небезопасное проектирование
Бизнес-инварианты формулируются до UI: серверный расчёт, точные типы, лимиты, атомарность и ограничения базы данных.
abuse cases · invariants
A01 · IDOR: почему «пользователь вошёл» — это ещё не разрешение
Схема 08
Отрицательный тест, который закрывает тему. «Субъект A не может прочитать и не может изменить объект субъекта B». Пока такого теста нет в наборе, исправление не доказано — оно только описано словами.
A03 · Цепочка поставки: путь от чужого кода до вашего продакшена
Схема 09
Почему это отдельная категория. Все пять этапов ведут в доверенное ядро в обход точек входа со схемы 07. Вы можете безупречно проверять пользовательский ввод — и всё равно получить чужой код в продакшене, потому что он пришёл не через форму, а через install.
Заключительный блок дня · безопасность ИИ
Языковые модели меняют модель угроз: знакомые слабости сохраняются, но появляются ИИ-специфичные поверхности атаки.
Недоверенный ввод, границы доверия, минимальные права и проверяемый результат применимы и здесь, но их недостаточно считать полным перечнем. Для разных задач OWASP публикует разные версионные источники: Top 10 for LLM Applications 2025, отдельный Top 10 for Agentic Applications 2026 и проверочный стандарт AISVS 1.0. Не смешивайте таксономию рисков, агентную модель угроз и проверяемые требования.
Приложение с языковой моделью: где здесь границы доверия
Схема 10
Как это связано с первой половиной дня. Схема 10 — это схема 07, пересобранная для другой архитектуры. Точки входа стали шире, доверенное ядро осталось на месте, и контроль по-прежнему ставится на пересечении пунктира.
Агент действует через инструменты — значит, права нужны инструментам, а не модели
Схема 11
Знакомая мысль в новой обёртке. Это тот же принцип наименьших привилегий из блока A01 и то же разделение кода и данных из A05. Изменился исполнитель, но не инженерное правило.
Классы рисков
OWASP Top 10 for LLM Applications 2025 — точные метки редакции
LLM01:2025 Prompt Injection; LLM02:2025 Sensitive Information Disclosure; LLM03:2025 Supply Chain; LLM04:2025 Data and Model Poisoning; LLM05:2025 Improper Output Handling.
LLM06:2025 Excessive Agency; LLM07:2025 System Prompt Leakage; LLM08:2025 Vector and Embedding Weaknesses; LLM09:2025 Misinformation; LLM10:2025 Unbounded Consumption.
Agentic Applications 2026 — отдельная таксономия для агентных систем; её категории нельзя выдавать за продолжение списка LLM01–LLM10. Для проектирования проверок используйте AISVS 1.0.
Проверяемость
Достоверность ответа — отдельный контроль, а не свойство модели
Уверенный тон не является признаком правильности. Если ответ влияет на решение, требуется внешняя проверка: ссылка на первоисточник, повторный расчёт детерминированным кодом, сверка с базой или ревью человеком.
В учебной работе это переносится напрямую: ответ, сгенерированный моделью, оценивается по проверяемости, а не по гладкости формулировки.
Слушателю
Проверьте на своём примере: возьмите любого ассистента, которым пользуетесь, и назовите его инструменты и их права. Если ответ звучит как «он просто умеет всё» — вы только что нашли границу доверия, которую никто не поставил.
Заметка преподавателя
Этот блок хорошо ставить в конец дня: он связывает пройденные инженерные принципы с новой архитектурой. Предложите группе сопоставить три ИИ-риска с A01–A06, а затем отдельно отметить то, что такое сопоставление не покрывает. Это показывает и переносимость базы, и необходимость самостоятельной модели угроз для LLM- и агентных систем.
Отдельно проговорите методическую сторону: если студенты сдают работы, написанные с помощью модели, критерием оценки становится не текст, а способность объяснить причину и защитить решение устно.
Педагогическая рамка практики
Флаг не равен отчёту. Отчёт связывает наблюдение с причиной и защитой.
Практические задания предназначены только для локальных намеренно уязвимых сред, на которые есть разрешение. На публичной странице нет чужих ответов, ключей, payload’ов и маршрутов эксплуатации.
Минимальная структура отчёта
Среда, границы разрешения и исходные условия.
Что проверено и какой наблюдаемый результат это подтверждает.
Первопричина в проектировании, коде или конфигурации.
Вероятные последствия для актива и процесса.
Конкретное исправление и способ проверить регрессию.
Разделяйте две классификации
Учебный блок не обязан совпадать с собственной категорией задания Juice Shop
На практикуме это отображается двумя метками: «тема учебного блока по notebook» и «класс challenge в Juice Shop». Такое разделение не создаёт ложного впечатления об официальной эквивалентности классификаций.
Доступны авторские Markdown-методички, слайды, протокол, стенограмма, автоматические пересказы и канонический безопасный пакет с локальным стендом. Пакет сопровождается SHA-256 и машинным манифестом; прежние PDF/DOCX и результаты работ остаются в карантине и не публикуются.
MD · 01
Методический конспект первого дня
Ключевые понятия, A01–A06, безопасность ИИ, вопросы для обсуждения и список источников.
Рекомендации по AppSec быстро меняются. Перед занятием и перед выпуском практикума зафиксируйте дату проверки, редакцию стандарта, версию образа и источник лицензии.
Версионная таксономия LLM01:2025–LLM10:2025. Для агентных систем используйте отдельную редакцию Agentic Applications 2026, а для проверяемых требований — AISVS 1.0.