Справочник · для тех, кто слышит эти слова впервые

Словарь, без которого остальное не читается.

Здесь собраны термины обоих дней программы. Для каждого — расшифровка аббревиатуры, объяснение обычными словами и, где это помогает, короткий пример. Порядок тематический, а не алфавитный: понятия идут в том порядке, в каком они нужны на занятии. Разделы 01–06 — первый день, 07–08 — второй.

Как этим пользоваться

Не пытайтесь выучить словарь целиком. Откройте его рядом с конспектом первого или второго дня и возвращайтесь сюда каждый раз, когда встречаете незнакомое слово. Через один проход по материалу большая часть терминов запомнится сама — потому что вы увидите их в деле, а не в списке.

01 · Базовые понятия

С чего начинается любой разговор о защите

Эти шесть слов определяют, о чём вообще идёт речь. Если их путать, дальше рассыпается всё остальное.

Активasset
То ценное, что мы защищаем: данные, деньги, непрерывность работы, репутация, интеллектуальная собственность.
Пока актив не назван, невозможно сказать, насколько опасна найденная уязвимость.
Угрозаthreat
Нежелательное событие и путь, которым оно может произойти. Отвечает на вопрос «кто и зачем».
Уязвимостьvulnerability
Недостаток в проектировании, коде, конфигурации или процессе, которым можно воспользоваться.
Уязвимость — это «через что», а не «насколько плохо».
Рискrisk
Сочетание вероятности события и тяжести последствий для конкретной организации.
Одна и та же уязвимость в двух системах даёт разный риск — потому что различаются активы.
Эксплуатацияexploitation
Практическое использование уязвимости для достижения цели злоумышленника. Отдельно от неё существует эксплойт — программа или последовательность действий, которая это делает.
AppSecapplication security · безопасность приложений
Процесс разработки, обновления и тестирования защитных свойств приложения с целью находить и устранять уязвимости на всём жизненном цикле.
Это именно процесс, а не разовая проверка перед релизом.

02 · Свойства и проверки

Что именно нарушается и кто это разрешил

Первая группа отвечает на вопрос «что сломалось», вторая — «кто вообще имел право».

CIAconfidentiality, integrity, availability
Триада свойств: конфиденциальность, целостность, доступность. Универсальный способ назвать последствие нарушения.
Конфиденциальностьconfidentiality
Свойство «данные видит только тот, кому положено». Нарушение — посторонний прочитал чужой заказ.
Целостностьintegrity
Свойство «данные меняет только тот, кому положено, и только правильным образом». Нарушение — изменилась цена, роль или статус заказа.
Доступностьavailability
Свойство «законный пользователь получает услугу вовремя». Нарушение — сервис не отвечает или отвечает слишком долго.
Идентификацияidentification
Субъект сообщает, кем он представляется. Проверки на этом шаге ещё нет.
Аутентификацияauthentication
Система проверяет доказательство: пароль, ключ, второй фактор, подпись токена.
Авторизацияauthorization
Решение о том, разрешено ли конкретное действие над конкретным объектом в конкретном контексте.
Успешный вход не даёт права на всё — это и есть самая частая ошибка.
Принцип наименьших привилегийleast privilege
Каждому компоненту и учётной записи выдаётся ровно столько прав, сколько нужно для их задачи, и не больше.
Граница доверияtrust boundary
Место, где данные или команды переходят из зоны с одним уровнем доверия в зону с другим. Именно здесь ставятся проверки.
Поверхность атакиattack surface
Все точки, через которые с системой можно взаимодействовать: формы, API, файлы, зависимости, роли, интеграции, административные интерфейсы.
Каждая новая интеграция расширяет её.
Модель угрозthreat model
Систематический разбор: что защищаем, от кого, где границы, что может пойти не так и как мы это заметим.
Инвариантinvariant
Утверждение о системе, которое обязано быть истинным всегда: сумма заказа неотрицательна, чужой объект недоступен, неподписанный токен не принимается.

03 · Как устроено приложение

Слова про архитектуру, без которых непонятно, где что исполняется

Эта группа отвечает на вопрос «на чьей стороне это происходит» — от него зависит, можно ли вообще доверять проверке.

Клиент и серверclient · server
Клиент запрашивает услугу, сервер её выполняет. Клиент принадлежит пользователю, поэтому его код и данные можно изменить.
Прикладное и системное ПОapplication · system software
Прикладное ПО решает задачу пользователя (браузер, редактор, мобильное приложение). Системное обслуживает оборудование и запускает прикладное (операционная система, драйверы, компиляторы).
APIapplication programming interface
Программный интерфейс, через который одна система обращается к другой. Для безопасности это такая же точка входа, как форма на сайте.
Эндпоинтendpoint
Конкретный адрес, по которому доступна функция API. Забытый старый эндпоинт остаётся частью поверхности атаки.
Балансировщик нагрузкиload balancer
Узел, распределяющий запросы между несколькими серверами. Часто именно он завершает защищённое соединение.
TLStransport layer security
Протокол защиты канала связи: шифрует передачу и подтверждает подлинность сервера. HTTPS — это HTTP поверх TLS.
Cookie и сессияcookie · session
Cookie — небольшой фрагмент данных, который браузер хранит и отправляет обратно. Сессия — состояние «этот пользователь уже вошёл», обычно опирающееся на cookie.
HttpOnly и SameSiteатрибуты cookie
HttpOnly запрещает читать cookie из JavaScript. SameSite ограничивает отправку cookie при переходах с чужих сайтов.
Патчpatch
Исправление, закрывающее известную уязвимость. Выпущенный, но не установленный патч не защищает: именно на этом разрыве живут массовые атаки.
Харденингhardening · усиление конфигурации
Приведение системы к безопасной конфигурации: отключить лишнее, закрыть неиспользуемое, сменить значения по умолчанию, ограничить права.

04 · OWASP и классы уязвимостей

Общий язык, на котором описывают проблемы

Классификация не заменяет анализ конкретной системы, но позволяет разным людям говорить об одном и том же одинаковыми словами. Актуальные редакции — на сайте OWASP.

OWASPOpen Worldwide Application Security Project
Открытое сообщество, публикующее бесплатные материалы по безопасности приложений: классификации, руководства, стандарты проверки и учебные среды.
OWASP Top 10
Список наиболее значимых классов рисков веб-приложений. Обновляется редакциями, поэтому год выпуска — часть названия.
OWASP Mobile Top 10
Аналогичный список для мобильных приложений: свои риски хранения данных на устройстве, межпроцессного взаимодействия и обратной разработки.
WSTGWeb Security Testing Guide
Руководство OWASP по планированию и документированию тестирования веб-приложений: что проверять и как это описывать.
ASVSApplication Security Verification Standard
Стандарт проверки: перечень требований к защитным свойствам приложения по уровням строгости. Удобен как основа для чек-листа приёмки.
IDORInsecure Direct Object Reference
Небезопасная прямая ссылка на объект: система отдаёт объект по идентификатору, не проверив, принадлежит ли он запросившему.
Учебный признак — номер в адресе, который можно поменять руками.
BOLABroken Object Level Authorization
То же нарушение в терминологии API: не проверена авторизация на уровне конкретного объекта.
Повышение привилегийprivilege escalation
Горизонтальное — доступ к данным другого пользователя того же уровня. Вертикальное — получение прав более высокого уровня, например административных.
Инъекцияinjection
Данные пользователя попадают туда, где они интерпретируются как часть команды, и меняют её смысл.
SQL-инъекцияSQLi
Инъекция в запрос к базе данных. Защита — параметризованные запросы, где текст запроса и данные передаются раздельно.
XSSCross-Site Scripting
Выполнение чужого сценария в браузере пользователя. Бывает отражённая (из параметра запроса), хранимая (из базы) и DOM-based (внутри клиентского кода).
Источник и приёмникsource · sink
Источник — место, откуда пришли недоверенные данные. Приёмник — место, где они опасно используются. Разбор DOM XSS сводится к поиску пары «источник → приёмник».
CSRFCross-Site Request Forgery
Чужой сайт заставляет браузер пользователя выполнить действие в вашем приложении, пользуясь тем, что сессия уже открыта. Защита — токен запроса и SameSite.
Открытый редиректopen redirect
Приложение перенаправляет на адрес, полностью взятый из параметра. Используется, чтобы придать доверия фишинговой ссылке. Защита — список разрешённых адресов.
SSRFServer-Side Request Forgery
Злоумышленник заставляет сервер обратиться к адресу по своему выбору — часто во внутреннюю сеть, недоступную снаружи.
Переполнение буфераbuffer overflow
Запись за границу выделенной области памяти. Характерно для C и C++; лечится проверкой длины и безопасными функциями, а не только флагами компилятора.
Небезопасное проектированиеinsecure design
Ошибка не в строке кода, а в самой модели: бизнес-правило вообще не сформулировано или проверяется не там, где нужно.

05 · Криптография и цепочка поставки

Токены, подписи и происхождение кода

Две темы, где ошибку почти невозможно заметить по внешнему виду работающей системы.

Хешhash
Короткая свёртка данных фиксированной длины. По ней удобно проверять, что файл не изменился, но восстановить исходные данные нельзя.
Цифровая подписьdigital signature
Подтверждение авторства и неизменности: подписывают закрытым ключом, проверяют открытым.
JWTJSON Web Token
Формат токена из трёх частей: заголовок, полезная нагрузка и подпись. Содержимое читается кем угодно — секретность не является его свойством.
Claimsутверждения токена
Поля внутри токена: кто выдал (iss), кому предназначен (aud), до какого момента действителен (exp), с какого действителен (nbf). Проверять их обязан сервер.
Allow-list алгоритмов
Явный перечень допустимых алгоритмов подписи. Без него проверяющая сторона может принять токен, подписанный не тем способом, на который рассчитывали.
Цепочка поставки ПОsoftware supply chain
Весь путь от чужой библиотеки и исходного кода через сборку и реестр до запуска в рабочей среде.
Зависимостьdependency
Сторонний компонент, который вы подключаете к своему проекту. Его уязвимость становится вашей.
Lockfileфайл фиксации версий
Файл, закрепляющий точные версии всех зависимостей. Без него две сборки одного и того же кода могут отличаться.
SBOMSoftware Bill of Materials
Опись состава продукта: какие компоненты, каких версий и под какими лицензиями в него вошли.
SCASoftware Composition Analysis
Анализ состава: инструмент сверяет ваши зависимости с базами известных уязвимостей и лицензионных ограничений.
SAST и DASTstatic · dynamic application security testing
SAST анализирует исходный код без запуска. DAST проверяет уже работающее приложение снаружи. Они находят разные классы проблем и не заменяют друг друга.
Provenanceпроисхождение артефакта
Проверяемые сведения о том, из какого кода, каким процессом и кем собран артефакт.
CI/CDcontinuous integration · continuous delivery
Автоматическая сборка, проверка и доставка. Обладает правами на запись в реестр и доступ к секретам, поэтому сама является ценной целью.
Digest образа
Хеш конкретного образа контейнера. Тег вроде latest может указывать на разное содержимое в разное время, digest — всегда на одно и то же.
SSDLCsecure software development lifecycle
Жизненный цикл разработки, в который встроены практики безопасности на каждом этапе, а не только перед выпуском.

06 · Безопасность ИИ

Термины заключительного блока первого дня

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

LLMlarge language model · большая языковая модель
Модель, порождающая текст по контексту. Не хранит истину и не проверяет факты — она продолжает последовательность правдоподобным образом.
Контекстcontext window
Весь текст, который модель видит при формировании ответа: системная инструкция, история диалога, вложенные документы. Всё это лежит в одном пространстве.
Внедрение инструкцийprompt injection
Текст внутри данных ведёт себя как команда. Прямое внедрение приходит от пользователя, непрямое — из документа, веб-страницы или ответа стороннего сервиса.
Системная инструкцияsystem prompt
Заданные разработчиком правила поведения модели. Их утечка облегчает обход, поэтому они не должны быть единственным механизмом защиты.
RAGRetrieval-Augmented Generation
Схема, при которой перед ответом система ищет фрагменты в базе знаний и подкладывает их в контекст. Содержимое базы становится входом — и его надо проверять.
Эмбеддинг и векторное хранилищеembedding · vector store
Числовое представление текста и база для поиска по смыслу. Загрязнение такой базы меняет то, что модель «найдёт», не трогая её саму.
Агентagentic application
Система, где модель не только отвечает, но и вызывает инструменты, выполняющие действия во внешнем мире.
Инструментtool
Функция, которую агент может вызвать. Права выдаются инструменту, а не модели; универсальный инструмент вида «выполни команду» права ограничить не позволяет.
Человек в контуреhuman in the loop
Обязательное подтверждение человеком перед необратимым действием: оплатой, удалением, отправкой данных вовне.
Отравление памяти и контекстаmemory · context poisoning
Внесение в долговременную память агента данных, которые будут влиять на его поведение в последующих сессиях.
Правдоподобная дезинформация
Уверенно сформулированный неверный ответ. Опасен именно формой: она не даёт сигнала о том, что нужно перепроверить.
AISVSAI Security Verification Standard
Стандарт OWASP с проверяемыми требованиями к безопасности систем с ИИ — по смыслу аналог ASVS для этой области.
MCPModel Context Protocol
Протокол подключения внешних инструментов и источников данных к модели. Каждый подключённый сервер расширяет поверхность атаки.

07 · Аутентификация, сессии и целостность

Термины второго дня: A07–A08

Второй день начинается с того, чем доказывается личность и как её подделывают, и переходит к целостности данных и сборок.

Аутентификацияauthentication
Проверка, что субъект — действительно тот, кем представился. Отвечает на вопрос «достаточно ли доказательств личности», но не на вопрос «что ему можно делать».
Авторизацияauthorization
Проверка права субъекта выполнить действие над объектом. Должна выполняться на сервере при каждой значимой операции — успешный вход её не заменяет.
MFAmulti-factor authentication · многофакторная аутентификация
Требование нескольких независимых доказательств личности: знание (пароль), владение (устройство, код), свойство (биометрия). Компрометация одного фактора не даёт доступа.
Credential stuffingподстановка утёкших пар
Автоматическая проверка ранее утёкших пар «логин–пароль» против другого сервиса в расчёте на повторное использование пароля. Защита: уникальные пароли, MFA, блокировка известных утёкших паролей.
Password sprayingраспыление паролей
Проверка небольшого числа популярных паролей против большого числа учётных записей. Блокировки одной учётки недостаточно — нужны ограничения по источнику, скорости и риску.
Фиксация сессииsession fixation
Атакующий заранее задаёт или получает идентификатор сессии, который продолжает действовать после входа жертвы. Защита — сменить идентификатор после входа и повышения привилегий.
Ротация сессииsession rotation
Замена идентификатора сессии при входе и при смене уровня привилегий, чтобы старый идентификатор нельзя было использовать для авторизованного действия.
Rate limitingограничение частоты
Ограничение числа попыток за интервал по источнику, устройству или методу запроса. Замедляет автоматизированный подбор, не блокируя легитимного пользователя.
JWT и alg: noneJSON Web Token
Токен с полями и подписью. Если сервер не фиксирует список алгоритмов, он может принять токен с заголовком «алгоритм отсутствует» — то есть без действительной подписи. Защита — allow-list алгоритмов и обязательная проверка подписи.
Десериализацияdeserialization
Восстановление объекта из его текстового или бинарного представления. Небезопасная десериализация недоверенного входа может исполнить код, создать объекты или исчерпать ресурсы.
Бомба памяти (YAML/XML)billion laughs
Малый файл с рекурсивно ссылающимися элементами, который при разборе разворачивается в огромный объём и вызывает отказ в обслуживании. Защита — лимиты глубины, размера, памяти и безопасный парсер.
Alertingоповещение
Правило и порог, по которым событие в логах превращается в сигнал для владельца реакции. Запись без оповещения и разбора — ещё не контроль.
Fail-open / fail-closedотказ в открытую / в закрытую
Поведение системы при ошибке: «в открытую» — продолжить и разрешить (опасно для доступа), «в закрытую» — остановиться и запретить. Для контроля доступа безопаснее fail-closed.
Идемпотентностьidempotency
Свойство операции давать один и тот же результат при повторном выполнении. Важна для платежей и критичных процессов, чтобы повторная доставка запроса не создавала двойной эффект.
Корреляционный идентификаторcorrelation id
Метка, связывающая записи одного запроса или транзакции в разных сервисах. Без неё логи нельзя собрать в цельную картину инцидента.

08 · Не только веб и процесс

Термины второго дня: память, non-web, SSDLC и моделирование угроз

Вторая половина дня выходит за пределы веб-формы: нативный код, мобильные и десктопные приложения, процесс безопасной разработки и его нормативная опора.

Переполнение буфераbuffer overflow
Запись за границы выделенной области памяти. Может перезаписать соседние данные и изменить поведение программы. Первопричина — отсутствие проверки границ при работе с памятью.
Целочисленное переполнениеinteger overflow
Выход результата за пределы типа: например, 255 + 1 обнуляется, 0 − 1 даёт максимум. Ломает проверки размеров и приводит к неверным выделениям памяти.
Use-after-freeиспользование после освобождения
Обращение к памяти по указателю, которая уже освобождена. Атакующий может подставить туда свои данные и повлиять на выполнение.
Double free / type confusion
Повторное освобождение одной области памяти и интерпретация данных как объекта неверного типа. Оба дефекта нарушают целостность памяти и ведут к непредсказуемому поведению.
RAIIResource Acquisition Is Initialization
Приём в C++, где время жизни ресурса привязано к объекту: освобождение происходит автоматически при выходе из области видимости. Снижает риск утечек и ошибок владения.
СанитайзерыASan · UBSan
Инструменты сборки, обнаруживающие ошибки памяти и неопределённое поведение во время выполнения тестов. Не защита в production, а средство поймать дефект в CI.
Фаззингfuzzing
Автоматическая подача большого числа изменённых входных данных, чтобы найти падения и аномалии. Особенно полезен для парсеров, протоколов и нативного кода.
Механизмы hardeningASLR · PIE · RELRO · stack protector · NX
Защиты компилятора и ОС: рандомизация адресов, позиционно-независимый код, защита таблиц связывания, «канарейки» стека, неисполняемая память. Затрудняют эксплуатацию, но не устраняют первопричину.
WebView
Встроенный в приложение браузерный компонент. Опасен при включённом JavaScript-мосте и произвольной навигации: веб-содержимое получает доступ к нативным функциям.
Deep linkглубокая ссылка
Ссылка, открывающая конкретный экран или действие в приложении. Без серверной проверки права может инициировать оплату, восстановление пароля или привязку устройства.
Экспортированный компонентexported component
Часть мобильного приложения, доступная другим приложениям через IPC. Лишний экспорт — выход из песочницы; получатель обязан проверять отправителя и разрешения.
IPCinter-process communication
Обмен данными между процессами: сокеты, именованные каналы, intent. «localhost — значит доверенно» — ложное допущение: обратиться может любой локальный процесс.
Updaterмеханизм обновления
Компонент, доставляющий обновления приложению. Требует проверяемой целостности (подпись пакета) и безопасного отката, иначе становится каналом доставки вредоносной версии.
STRIDE
Метод моделирования угроз по шести типам: подмена, изменение, отказ от авторства, раскрытие, отказ в обслуживании, повышение привилегий. Применяется к потокам данных и границам доверия.
CVSSCommon Vulnerability Scoring System
Система оценки тяжести уже найденной уязвимости по вектору характеристик. Не строит модель угроз и не назначает бизнес-приоритет без контекста актива.
CWECommon Weakness Enumeration
Каталог классов слабостей (например, CWE-79 — XSS). Фиксирует первопричину и связывает исправление с тестом.
SSDFSecure Software Development Framework · NIST SP 800-218
Набор практик подготовки организации, защиты ПО, производства защищённого ПО и реагирования на уязвимости.
SAMMSoftware Assurance Maturity Model
Модель зрелости практик безопасной разработки от OWASP: позволяет оценить и развивать процессы без сведения безопасности к одному инструменту.
ГОСТ Р 56939-2024
Отечественный стандарт требований к безопасной разработке ПО и контролю процессов; применяется как рамка организации разработки.
ISO/IEC 27034
Стандарт, связывающий безопасность приложений с организационным контекстом и жизненным циклом.
Egress / allowlistисходящий трафик · список разрешённого
Контроль исходящих соединений и явный перечень разрешённых адресатов вместо запрета «плохих». Ключевая мера против SSRF и бесконтрольных server-side запросов.
Regression testрегрессионная проверка
Тест, который раньше падал на уязвимости, а после исправления проходит — и не даёт дефекту вернуться незамеченным.

Точность формулировок

Определения авторские, источники — первичные

Объяснения в этом словаре написаны для быстрого понимания и намеренно упрощены. Для строгих формулировок и актуальных редакций пользуйтесь первоисточниками: OWASP Top 10, WSTG, OWASP Top 10 for LLM Applications.