Даём маршрут, спрашиваем наблюдение
Слушатель получает пошаговую инструкцию и заранее известную цель. От него требуется точно описать, что он увидел, и назвать нарушенное свойство из триады.
Критерий: шаги выполнены, наблюдение описано без домыслов.
Методическое руководство · для ведущего занятие
Двухдневный тренинг Kaspersky Academy проводился для преподавателей, доцентов и специалистов вузов — с явной целью, чтобы материал был перенесён в собственные курсы. Здесь собрано то, что нужно именно ведущему: тайминг, три уровня сложности заданий, критерии оценивания, требования к среде и места, где группа предсказуемо спотыкается.
01 · Структура занятия
Ниже — расписание первого дня, как оно было заявлено программой, с методическим комментарием к каждому блоку. Пропорция важнее точных минут: на каждый лекционный блок приходится сопоставимый по времени практический.
Самый недооценённый блок. Здесь закладывается словарь: актив, угроза, уязвимость, риск, CIA, три вопроса доступа. Не экономьте на нём — сэкономленные 15 минут придётся потратить дважды при разборе OWASP.
Контроль доступа, конфигурация, цепочка поставки. Держите темп: каждая категория — одна причина, один пример, одна проверяемая мера. Углубление оставьте на разбор после практики.
Первый выход в среду. Заложите время на технические сбои: запуск учебного приложения у части группы не получится с первого раза, и это нормальная часть занятия.
Криптографические сбои, инъекции, небезопасное проектирование. Здесь полезнее всего разбирать «до и после»: один и тот же код в уязвимом и исправленном виде.
Разбор в группе — обязательная часть, а не остаток времени. Именно на нём результат превращается в понимание причины.
Ставится в конец намеренно: блок работает как сборка всего дня. Он же снимает вопрос «как теперь оценивать работы, написанные с помощью модели».
Соберите не впечатления, а вопросы: три вещи, которые остались непонятны. Они задают план следующего занятия лучше любой анкеты.
Схема 12
02 · Три уровня сложности
Программа прямо предусматривает адаптацию заданий под подготовку студентов: от новичков до продвинутых. Удобнее всего менять не саму цель, а объём подсказки и требования к результату — тогда группа работает с одним и тем же учебным приложением и обсуждает общий предмет.
Слушатель получает пошаговую инструкцию и заранее известную цель. От него требуется точно описать, что он увидел, и назвать нарушенное свойство из триады.
Критерий: шаги выполнены, наблюдение описано без домыслов.
Указывается только раздел приложения и класс риска. Слушатель сам находит проблему и обязан объяснить первопричину: где именно отсутствует проверка и почему она должна быть на сервере.
Критерий: причина названа верно и подтверждена наблюдением.
Задание формулируется как инженерная задача: предложить исправление, оценить его влияние на функциональность и написать отрицательный тест, который не пройдёт на уязвимой версии.
Критерий: исправление обосновано, тест действительно различает две версии.
Учебная среда, форма отчёта и запрет на действия за её пределами. Различается глубина требований, а не правила безопасности и не структура результата.
Заметка преподавателя
Не объявляйте уровни вслух как «слабый / средний / сильный». Практичнее выдать всем один и тот же текст задания, а уровни оформить как необязательные разделы: «минимум», «если получилось быстро», «для тех, кто хочет довести до конца». Так сильные студенты не простаивают, а слабые не получают ярлык.
03 · Оценивание
Шкала ниже одинаково работает и для отчёта по лабораторной, и для устной защиты. Она специально построена так, чтобы найденный «флаг» сам по себе не приносил баллов.
| Критерий | Что смотрим | Признак слабой работы |
|---|---|---|
| Полнота выполнения | Пройдены обязательные шаги, среда и её версия зафиксированы | Не указано, что именно и где проверялось |
| Объяснение первопричины | Названо конкретное место отсутствующей или неверной проверки | «Приложение уязвимо к XSS» без указания источника и приёмника |
| Конкретность исправления | Предложена серверная мера и способ проверить регрессию | «Нужно фильтровать ввод» без указания контекста и механизма |
| Качество и безопасность оформления | Доказательства обезличены, секретов и чужих данных нет | Скриншоты с реальными токенами, ключами или персональными данными |
Слушателю
Работа считается сделанной не тогда, когда что-то получилось, а тогда, когда вы можете объяснить, почему это получилось, и назвать изменение, после которого перестанет получаться.
Что не принимается
Отчёт, содержащий чужие персональные данные, реальные ключи и токены, а также любые действия за пределами разрешённой учебной среды. Это условие не смягчается уровнем задания.
04 · Где группа спотыкается
Перечень собран по ходу занятия и по разбору выполненных работ. Каждый пункт дешевле предупредить одной фразой, чем разбирать потом.
01 / СЛОВАРЬ
Самая частая путаница. Разведите их до разбора A01, иначе категория останется непонятой. Помогает глоссарий и схема трёх вопросов.
02 / ЛОГИКА
Группа сразу называет технический дефект и не может объяснить, почему он важен. Разворачивайте обсуждение назад — к активу и последствию.
03 / КАРТА
При составлении карты поверхности атаки зависимости и сборку не вспоминают почти никогда. Это стоит зафиксировать вслух: именно поэтому категория A03 существует.
04 / СРЕДА
Часть группы не запустит учебное приложение с первого раза. Заложите время, подготовьте запасной вариант и попросите заранее проверить среду.
05 / ОТЧЁТ
В отчёт попадает результат, но не причина. Помогает жёсткая форма отчёта, где поле «первопричина» нельзя оставить пустым.
06 / ГРАНИЦЫ
Проговорите правило до начала практики, а не после. Формулировка простая: за пределами выданной локальной среды — ничего и никогда.
05 · Подготовка среды
Практика проводится только в намеренно уязвимой локальной среде, развёрнутой для обучения. Подробный порядок запуска и правила работы — в практикуме.
Чек-лист ведущего
Что взять с собой в курс
Все документы распространяются по CC BY 4.0: их можно адаптировать под свой курс с указанием происхождения.
О переносе материала в свой курс
Программа Kaspersky Academy проводилась именно для того, чтобы преподаватели транслировали материал студентам. При переиспользовании указывайте название программы, дату и происхождение файла — это требование корректной атрибуции, а не формальность. Полный перечень источников и их статус — на странице прав и атрибуции.
Основной AppSec-блок первого дня вёл Дмитрий Павлухин, архитектор по информационной безопасности.
06 · День 2 · методика
Первый день строит модель и разбирает A01–A06. Второй завершает OWASP Top 10 (A07–A10), выходит за пределы веба (память, mobile, desktop), собирает всё в SSDLC и учит преподавателя конструировать собственные задания. Полный конспект — в материалах дня 2.
Как устроен второй день
Уровни сложности через «звёздочку»
В наборе из 12 работ уровень регулируется не разными заданиями, а обязательной частью и «заданием со звёздочкой»:
Оценивание
Слушатель сдаёт не «решённый challenge», а проверяемый артефакт. Баллы распределены так, чтобы понимание первопричины и регрессия весили больше, чем сам факт срабатывания.
| Критерий | Баллы | Что проверяется |
|---|---|---|
| Цель и граница стенда | 1 | Нет внешних адресов и данных; понятен объект проверки. |
| Доказательство факта | 2 | Запрос/ответ или артефакт воспроизводим и минимален. |
| Первопричина и модель угроз | 2 | Объяснены субъект, объект, граница доверия и ошибочный контроль. |
| Исправление | 2 | Мера server-side/архитектурна, не сводится к UI-ограничению. |
| Регрессионная проверка | 2 | Описан ожидаемый безопасный результат после исправления. |
| Отчёт и cleanup | 1 | Нет секретов и персональных данных; среда сброшена. |
Где группа спотыкается на дне 2
SSRF — это A10:2021. A10:2025 — некорректная обработка исключительных ситуаций. Проговорите границу версий до практики.
Запись без alerting, порога и владельца реакции — не мониторинг. Требуйте событие, правило и ожидаемую реакцию.
Флаги компилятора и санитайзеры — компенсирующая мера. Первопричина — отсутствие проверки границ; сначала чинится она.
Структурированный вход остаётся недоверенным. Урок — лимиты глубины/памяти и безопасный парсер, а не формат.
Успешный вход (A07) не даёт права на объект (A01). Разведите «кто ты» и «что тебе можно» на конкретном примере.
Найденный флаг закрывает только наблюдение. Оценивается объяснение причины и регрессия, а не сам эффект.
Контрольный чек-лист преподавателя (день 2)
Материалы дня 2 для переиспользования
Распространяются по CC BY 4.0 с указанием происхождения.