База знаний по информационной безопасности в Obsidian: структурирую CIA-триаду, угрозы и модели доступа

Через месяц после первого курса по ИБ я не смог объяснить стажёру, чем утечка Dropbox 2012 года — 68 миллионов скомпрометированных учётных записей с паролями — нарушает конфиденциальность, а подмена пакета при pip install бьёт по целостности. Конспект лежал передо мной: 40 страниц в Google Docs, выстроенных по порядку лекций. Пролистал трижды — не нашёл. В линейном документе эти концепции разнесены на 15 страниц и никак между собой не связаны. Тогда я перенёс всё в Obsidian (редактор заметок на Markdown с двусторонними ссылками между файлами) и пересобрал материал в граф. Полтора года спустя забывание прекратилось. Ниже — конкретная структура vault, шаблоны карточек и плагины, которые превращают конспект по информационной безопасности из мёртвого документа в рабочий инструмент.
Как изучать информационную безопасность самостоятельно: Zettelkasten вместо линейного конспекта
Линейный конспект копирует структуру курса: тема за темой, глава за главой. Проблема в том, что информационная безопасность — не линейная дисциплина. Одна уязвимость одновременно нарушает свойство CIA-триады, эксплуатируется определённой техникой из STRIDE (модель классификации угроз — о ней подробнее ниже), закрывается конкретным контролем доступа и описана в OWASP. В обычных заметках эти связи живут только в голове — и через месяц испаряются.
Метод Zettelkasten (Цеттелькастен — «картотека» по-немецки) решает проблему иначе. Его придумал немецкий социолог Никлас Луман, который с помощью бумажных карточек и системы нумерации написал более 70 книг и 400 научных статей. Принцип простой: каждая карточка содержит одну атомарную идею, записанную своими словами, и ссылки на связанные карточки. Со временем карточки образуют сеть — и новые связи возникают сами.
Как пишет Сёнке Аренс в книге How to Take Smart Notes, «знание становится полезным, когда оно связано с другим знанием». Для ИБ это означает: заметка «Шифрование AES-256» должна ссылаться не только на раздел «криптография», но и на карточку «Confidentiality», на инцидент с утечкой из-за хранения паролей в открытом виде и на категорию OWASP A02:2021 — Cryptographic Failures (ошибки криптографии, ведущие к раскрытию данных). Когда через полгода придётся вспомнить, зачем нужен AES, контекст восстановится за секунду через обратные ссылки.
Есть ещё одно свойство, которое отличает методику обучения информационной безопасности через Zettelkasten от обычного конспектирования: она заставляет переформулировать материал. Если не получается объяснить концепцию в одном абзаце своими словами — она не усвоена. Встроенный тест на понимание, без дополнительных усилий.
Структурирование знаний ИБ: архитектура vault в Obsidian
Vault (хранилище) в Obsidian — обычная папка на диске с файлами .md. Никакой привязки к облаку, никаких проприетарных форматов. Для тех, кто работает с безопасностью, момент принципиальный: заметки с внутренними процедурами, конфигурациями и командами остаются локальными.
Мой vault для изучения ИБ выглядит так:
00-Inbox— сюда падают все свежие заметки: обрывки мыслей с лекции, ссылки на статьи, идеи. Раз в день разбираю, раскидываю по папкам и связываю ссылками.01-Concepts— фундаментальные понятия: CIA-триада, риск, угроза, уязвимость, эксплойт. Каждый файл — одна атомарная идея.02-Threats— угрозы и техники атак, классифицированные по STRIDE.03-Controls— защитные меры: шифрование, многофакторная аутентификация, ACL (списки контроля доступа), DLP (системы предотвращения утечек данных).04-Frameworks— фреймворки и стандарты: OWASP Top 10, NIST CSF, ISO 27001.05-Incidents— реальные инциденты и утечки с разбором, какое свойство триады нарушено.06-Tools— инструменты: Wireshark, Nmap, Burp Suite — каждый с карточкой и ссылками на задачи, где он применяется.Templates— шаблоны карточек для быстрого создания новых заметок.
Нюанс, который стоит запомнить: папки — вспомогательная структура, а не основная. Основная навигация идёт через внутренние ссылки ([[Имя заметки]]) и теги (#cia/confidentiality, #stride/tampering). Одна заметка может относиться к нескольким категориям одновременно — что невозможно в жёсткой иерархии папок.
Каждый файл начинается с YAML-фронтматтера (блок метаданных в начале файла, ограниченный строками ---), где указаны тип заметки, категория, связанные свойства и теги. Плагин Dataview потом использует эти поля для автоматических таблиц и списков — об этом ниже.
CIA-триада в конспекте: карточки, связанные с реальными инцидентами
CIA-триада (Confidentiality, Integrity, Availability — конфиденциальность, целостность, доступность) — три свойства информации, вокруг которых строится вся информационная безопасность. Нарушение любого из них — это инцидент. На курсах определения дают одним блоком, а через неделю разница между «конфиденциальностью» и «целостностью» размывается. Знакомо?
В моём vault каждое свойство — отдельная карточка с метаданными, определением своими словами, привязкой к реальным инцидентам и ссылками на защитные меры.
Шаблон карточки свойства CIA
Вот как выглядит карточка «Confidentiality» в vault:
---
type: concept
category: CIA-triad
property: confidentiality
definition: "Защита информации от несанкционированного доступа"
related_stride: ["Information Disclosure"]
related_controls: ["шифрование", "контроль доступа", "DLP"]
related_owasp: ["A02:2021 Cryptographic Failures"]
tags: [cia, confidentiality, основы]
---
После YAML-блока идёт текст заметки: определение своими словами, типичные сценарии нарушения и ссылки. Определение я пишу так, будто объясняю себе через полгода, когда забуду контекст: «Конфиденциальность нарушена, когда кто-то видит данные, которые ему не предназначались. Примеры: утечка базы паролей, перехват трафика, доступ к чужой почте».
Ключевой элемент — ссылки на другие заметки в двойных квадратных скобках. В теле карточки «Confidentiality» есть строки вроде: «Нарушена в инциденте [[Dropbox 2012]] — утечка 68 млн учётных записей». А в карточке инцидента «Dropbox 2012» Obsidian автоматически покажет обратную ссылку (backlink) на «Confidentiality». Я не прописывал эту связь в обоих файлах — она появилась сама.
Обратные ссылки: как инцидент «находит» нужное свойство
Обратные ссылки — причина, по которой Obsidian для базы знаний работает лучше Google Docs или Notion. Создаю заметку об утечке START 2022 года (7,4 миллиона пользователей онлайн-кинотеатра) и ставлю ссылку [[Confidentiality]]. Открываю карточку «Confidentiality» через месяц — и вижу в панели обратных ссылок все инциденты, где это свойство было нарушено: Dropbox, START, Adapt (9,3 миллиона записей с e-mail, именами и должностями сотрудников). Я не собирал этот список вручную — он вырос по мере добавления новых заметок.
Тот же механизм работает с фреймворками. В карточку «Confidentiality» я добавил ссылку [[OWASP A02 Cryptographic Failures]] — ошибки криптографии напрямую ведут к нарушению конфиденциальности. Если позже добавлю заметку про OWASP A09:2021 — Security Logging and Monitoring Failures (без логирования утечки остаются незамеченными), она тоже получит ссылку на Confidentiality. Граф растёт сам.
На графе Obsidian (визуальная карта всех заметок в виде точек и линий) карточка «Confidentiality» через три месяца стала крупным узлом — у неё больше всего связей. Логично: конфиденциальность нарушается чаще всего. Но я этого заранее не «знал» — я это увидел, просто добавляя заметки по одной.
Заметки по кибербезопасности: угрозы STRIDE и модели доступа в ИБ
STRIDE как система тегов
STRIDE — модель классификации угроз от Microsoft. Зачем она нужна: чтобы при анализе системы не забыть ни один тип угрозы. Каждая буква — отдельный тип:
- Spoofing — подмена личности (нарушает аутентификацию)
- Tampering — несанкционированное изменение данных (нарушает целостность)
- Repudiation — отрицание действий (нарушает неотказуемость)
- Information Disclosure — раскрытие информации (нарушает конфиденциальность)
- Denial of Service — отказ в обслуживании (нарушает доступность)
- Elevation of Privilege — повышение привилегий (нарушает авторизацию)
В vault каждый тип STRIDE — отдельная карточка в папке 02-Threats. Карточка «Information Disclosure» ссылается на [[Confidentiality]], карточка «Tampering» — на [[Integrity]], «Denial of Service» — на [[Availability]]. Угрозы связываются с триадой не абстрактно, а через конкретные ссылки.
Теги в заметках использую иерархические: #stride/spoofing, #stride/tampering и так далее. Читаю статью про фишинг, делаю заметку — ставлю тег #stride/spoofing и ссылку на карточку Spoofing. В панели тегов Obsidian потом легко отфильтровать все заметки по конкретному типу угрозы.
Я не просто ставлю тег и забываю. В каждой карточке угрозы пишу одно предложение, объясняющее связь с CIA-триадой своими словами. Для «Tampering»: «Если атакующий изменил данные без авторизации — это Tampering, и нарушено свойство Integrity. Пример: модификация лога аудита, чтобы скрыть действия». Это та самая глубокая переработка из принципов Zettelkasten, о которой пишут на форуме Obsidian: «Не копируй — перепиши и переосмысли, иначе это ложное обучение».
Модели доступа в ИБ: DAC, MAC, RBAC, ABAC
Модели контроля доступа определяют, кто и на каких основаниях получает доступ к ресурсу. Если совсем коротко — это правила, по которым система решает: «пускать или не пускать». Четыре основные модели:
- DAC (Discretionary Access Control, дискреционный) — владелец ресурса сам решает, кому дать доступ. Пример: права на файлы в Linux через
chmod. Просто и гибко, но если владелец ошибётся — защита рассыпается. - MAC (Mandatory Access Control, мандатный) — доступ определяется системой на основе меток секретности. Пользователь не может передать свои права. Пример: SELinux, государственные системы с грифами «секретно» / «совершенно секретно». Жёстко, зато человеческий фактор минимален.
- RBAC (Role-Based Access Control, ролевой) — доступ назначается через роли, а не напрямую пользователям. Пример: роль «аналитик SOC» (Security Operations Center — центр мониторинга безопасности) даёт доступ к SIEM, роль «администратор» — к конфигурации сервера. Самая распространённая модель в корпоративных системах.
- ABAC (Attribute-Based Access Control, атрибутный) — решение о доступе принимается на основе атрибутов: роль пользователя, время суток, местоположение, тип устройства. Пример: «сотрудник финансового отдела получает доступ к платёжной системе только в рабочее время с корпоративного устройства». Самая гибкая модель, но и самая сложная в настройке.
В vault каждая модель — отдельная карточка в 01-Concepts. Карточки связаны между собой ссылками «когда использовать вместо»: в заметке RBAC есть строка «Для большинства корпоративных систем RBAC проще в администрировании, чем [[DAC]], но не учитывает контекст — для этого нужен [[ABAC]]». Все четыре карточки ссылаются на [[Confidentiality]] и [[Integrity]], потому что контроль доступа защищает оба свойства.
На графе знаний четыре модели доступа образуют заметный кластер, связанный с CIA-триадой. Если завтра в курсе появится модель Bell-LaPadula — я создам карточку, поставлю ссылку на [[MAC]] (потому что Bell-LaPadula — формализация мандатного подхода) и ссылку на [[Confidentiality]]. Граф вырастет ещё на один узел.
Obsidian для специалистов по безопасности: Dataview, Excalidraw, Templater
Три community-плагина (устанавливаются из каталога плагинов Obsidian) превращают vault из набора текстовых файлов в рабочую базу знаний.
Dataview позволяет делать SQL-подобные запросы по заметкам, используя метаданные из YAML-фронтматтера. Зачем: автоматически генерировать таблицы и списки без ручного обновления. Запрос ниже покажет все инциденты из папки 05-Incidents, где нарушена конфиденциальность, с сортировкой по году:
TABLE definition AS "Описание", tags AS "Теги"
FROM "05-Incidents"
WHERE contains(related_cia, "confidentiality")
SORT year DESC
Результат — таблица, которая обновляется автоматически при добавлении новых карточек инцидентов. Добавлю заметку про утечку Figure 2026 года (967 тысяч записей с датами рождения и физическими адресами) с полем related_cia: confidentiality — она появится в таблице без каких-либо действий с моей стороны. Я один раз написал запрос и забыл. Таблица живёт сама.
Excalidraw — плагин для рисования схем прямо внутри заметок. Я использую его для визуализации цепочек атак: рисую блоки «initial access», «lateral movement», «exfiltration» и связываю каждый блок со ссылкой на карточку соответствующей техники. Получается визуальная карта атаки, где каждый элемент кликабелен и ведёт к подробной заметке. Для учебных целей рисую схемы моделей доступа: стрелки «субъект → объект», блоки с атрибутами ABAC, метки секретности для MAC. Выглядит как доска с маркером, только интерактивная.
Templater — шаблонизатор с переменными и логикой. Я создал три шаблона: «Новый концепт», «Новый инцидент», «Новая угроза». При создании заметки командой Ctrl+P → Templater: Create new note from template выбираю шаблон — и получаю готовую структуру с YAML-фронтматтером, разделами и placeholder-текстом. Остаётся заполнить содержание. Шаблон инцидента содержит поля: year, source, affected_count, related_cia, related_stride, related_controls. Без шаблона я забывал добавлять половину полей — а потом Dataview-запросы возвращали пустые строки. Раздражает, когда находишь такие дыры через неделю.
Делай раз, делай два, делай три: личная база знаний специалиста по ИБ за вечер
Практический блок для тех, кто хочет собрать первый работающий граф прямо сейчас. Что нужно: установленный Obsidian (скачивается бесплатно с obsidian.md, работает на Windows, macOS, Linux) и 40 минут свободного времени.
Шаг 1. Создать vault и поставить плагины (5 минут). Запускаете Obsidian, выбираете «Создать новое хранилище», указываете папку на диске. Затем: Настройки → Сторонние плагины → Отключить безопасный режим → Обзор. Находите и устанавливаете Dataview и Templater. После установки перезагрузите Obsidian. Ожидаемый результат: в левой панели появится пустой проводник файлов, в настройках — активные плагины.
Шаг 2. Создать структуру папок (2 минуты). В проводнике правой кнопкой создайте папки: 01-Concepts, 02-Threats, 03-Controls, 05-Incidents, Templates. Не нужно создавать все сразу — добавите по мере необходимости.
Шаг 3. Создать три карточки CIA (10 минут). В папке 01-Concepts создайте три файла: Confidentiality.md, Integrity.md, Availability.md. В каждом — YAML-фронтматтер с полями type: concept, category: CIA-triad, property: <название> и текст определения своими словами. Не копируйте определения из учебника: перескажите, как объяснили бы другу. Ожидаемый результат: три файла с заполненными метаданными, видны в проводнике.
Шаг 4. Создать три карточки STRIDE и связать с CIA (10 минут). В папке 02-Threats создайте: Information Disclosure.md, Tampering.md, Denial of Service.md. В каждой карточке поставьте ссылку на соответствующее свойство CIA: [[Confidentiality]], [[Integrity]], [[Availability]]. Ожидаемый результат: в панели обратных ссылок каждой CIA-карточки появится связанная угроза.
Шаг 5. Создать две карточки инцидентов (10 минут). В 05-Incidents создайте Dropbox 2012.md и ещё один инцидент на выбор. В YAML укажите related_cia: confidentiality, year: 2012, affected_count: 68000000. В тексте поставьте ссылки: Нарушено: [[Confidentiality]]. Тип угрозы: [[Information Disclosure]]. Ожидаемый результат: граф Obsidian (открывается через иконку в левой панели) покажет 8 связанных узлов вместо 8 изолированных точек.
Шаг 6. Создать две карточки моделей доступа (5 минут). В 01-Concepts создайте RBAC.md и DAC.md. В каждой — ссылка [[Confidentiality]] и [[Integrity]], одно предложение-определение и ссылка друг на друга для сравнения.
Откройте граф. Десять узлов, переплетённых линиями связей. Это уже не конспект — это база знаний. Каждая новая заметка будет уплотнять граф и создавать новые пути между идеями.
Запоминание материала по ИБ: граф знаний и повторение через интервалы
Граф сам по себе помогает запоминать, потому что заставляет устанавливать связи. Но для долгосрочного удержания есть дополнительный приём — spaced repetition (интервальное повторение: метод, при котором материал повторяется через увеличивающиеся промежутки — 1 день, 3 дня, 7 дней, 14 дней).
В Obsidian есть community-плагин Spaced Repetition, который позволяет добавить к любой заметке карточку для повторения. В конце карточки ставите блок с вопросом и ответом, плагин показывает вопросы по расписанию. Для CIA-карточки вопрос может быть таким: «Чем нарушение целостности отличается от нарушения конфиденциальности? Приведи пример инцидента для каждого». Ответ — своими словами, со ссылками на конкретные заметки в vault.
Второй способ повторения — регулярный обзор графа. Раз в неделю я открываю граф и ищу «сиротские» заметки (orphan notes — точки без связей). Если заметка ни с чем не связана — я не понял, как она вписывается в общую картину. Это сигнал: перечитать и добавить ссылки. Или удалить, если заметка оказалась пустышкой.
По данным ISSA/ESG (2024), 65% специалистов по безопасности говорят, что их работа стала сложнее за последние два года. Объём знаний растёт быстрее, чем кто-либо способен усвоить линейным чтением. Структурированная личная база знаний — не модное хобби, а рабочий инструмент.
Я начинал этот vault, когда не мог отличить Confidentiality от Integrity на конкретном примере. Сейчас в нём больше 200 связанных карточек: концепции, угрозы, инциденты, инструменты, фрагменты конфигураций. Каждый новый курс или статья не ложится мёртвым грузом — я разбираю материал на атомарные идеи и вплетаю в существующую сеть. Через месяц ничего не забывается, потому что каждый факт привязан к трём-четырём другим.
Совет, который я бы дал себе на старте: не ждать идеальной структуры. На форуме Obsidian пишут то же самое — vault должен расти органически, структура проявляется по мере накопления заметок. Начните с десяти карточек по шагам выше, добавляйте по одной-две в день. Через три месяца граф станет плотным, а понятия из области ИБ — прочно связанными в голове. Если хочется не собирать структуру с нуля, а пройти базу системно — на IB Basics эта логика заложена в программу: не «запомните терминологию», а «разберитесь, как это работает».
Эту тему и смежные навыки разбирают на практике в курсе «Основы информационной безопасности» Codeby Academy.
