Jelajahi Sumber

Merge branch 'master' of http://213.155.192.79:3001/ypv/EASvZI

ypv 1 bulan lalu
induk
melakukan
e52fa5b5ea

TEMPAT SAMPAH
Лекции/2.4.500_Организация_работ_по_защите_от_НСД/1.png


+ 15 - 0
Лекции/2.4.500_Организация_работ_по_защите_от_НСД/ask_moroz.md

@@ -0,0 +1,15 @@
+Какой современный подход к защите информации лежит в основе противодействия НСД и в чем заключается его главная суть?
+В отличие от старых подходов, где все внутри сети считалось безопасным, принцип нулевого доверия подразумевает, что запрос на доступ  должен проходить строгую проверку, а доступ предоставляется только по принципу минимальных привилегий — ровно столько, сколько нужно для выполнения конкретной задачи.
+
+Согласно лекции, на какие три категории делятся угрозы несанкционированного доступа, и почему внутренние угрозы считаются наиболее коварными?
+Угрозы делятся на:Внешние векторы — атаки со стороны (хакеры, фишинг, вирусы).Внутренние векторы (инсайдеры) — угрозы от текущих или увольняющихся сотрудников.Физические векторы — прямое проникновение в помещения или кража оборудования.Внутренние угрозы самые коварные, так как источник атаки уже находится внутри защищенного периметра. Более того, в 60% случаев это непреднамеренные действия (ошибки, небрежность), а нецеленаправленный взлом, что делает их сложными для отслеживания классическими системами защиты.
+
+В чем принципиальная разница между процессами «идентификации» и «аутентификацией» при входе в систему?
+Идентификация — это первый шаг, на котором система узнает, кто претендует на доступ (например, ввод логина или предъявление смарт-карты). На этом этапе личность еще не доказана. Аутентификация — это второй шаг, направленный на подтверждение того, что заявителем действительно является владелец учетной записи (например, ввод одноразового пароля из приложения, сканирование отпечатка пальца или распознавание лица). Эти два шага вместе образуют основу двухфакторной аутентификации (MFA).
+
+Какие аппаратные и программные методы применяются для защиты информации на ПК в случае его физического изъятия злоумышленниками?
+Для защиты от физической кражи устройства применяется комплекс мер: Программные: Шифрование жестких дисков (FDE), благодаря которому данные без ключа превращаются в нечитаемый набор символов, а также установка паролей на уровень BIOS/UEFI для исключения переустановки операционной системы. Аппаратные: Использование модуля доверенной загрузки (TPM) — специального чипа на материнской плате. Он проверяет целостность системы до загрузки ОС и блокирует устройство, если кто-то пытается заменить жесткий диск или вмешаться в загрузчик.
+
+Как международная модель NIST описывает жизненный цикл реагирования на НСД, и с помощью каких инструментов реализуется этап «Обнаружение»?
+Модель NIST разделяет процесс на 5 этапов: Идентификация, Защита, Обнаружение, Реагирование и Восстановление. Этап «Обнаружение» (Detect) реализуется с помощью внедрения SIEM-систем (Security Information and Event Management). Эти системы в реальном времени собирают и анализируют логи со всех устройств в сети. Они умеют выявлять аномальное поведение — например, если сотрудник отдела бухгалтерии попытается скачать базу клиентов в три часа ночи, SIEM немедленно поднимет тревогу.
+

+ 256 - 0
Лекции/2.4.500_Организация_работ_по_защите_от_НСД/game.py

@@ -0,0 +1,256 @@
+import time
+import sys
+import re
+import tkinter as tk
+from tkinter import scrolledtext
+import threading
+
+# --- ВАШИ ИСХОДНЫЕ ДАННЫЕ ---
+class Colors:
+    RESET = "\033[0m"
+    RED = "\033[91m"
+    GREEN = "\033[92m"
+    YELLOW = "\033[93m"
+    CYAN = "\033[96m"
+    BOLD = "\033[1m"
+
+def print_slow(text, delay=0.03):
+    """Функция для эффекта печатной машинки"""
+    for char in text:
+        sys.stdout.write(char)
+        sys.stdout.flush()
+        time.sleep(delay)
+    print()
+
+def print_scene_header(scene_num, title):
+    print(f"\n{Colors.YELLOW}{'='*50}")
+    print(f"{Colors.BOLD}СЦЕНА {scene_num}: {title.upper()}{Colors.RESET}")
+    print(f"{Colors.YELLOW}{'='*50}{Colors.RESET}\n")
+
+quiz_data = [
+    {
+        "scene": 1, "title": "Брифинг в рубке",
+        "text": "Главный инженер: «Новичок, наша сеть сейчас под атакой. Чтобы снять первую блокировку с консоли, напомни мне главный постулат современной архитектуры безопасности, на которую мы перешли».",
+        "question": "Что означает концепция Zero Trust (Нулевое доверие)?",
+        "options": ["Доверять всем устройствам внутри корпоративной сети по умолчанию", "Никогда не доверять, всегда проверять любой запрос на доступ", "Полностью заблокировать доступ в интернет всем сотрудникам", "Доверять только администраторам, а остальным запрещать всё"],
+        "correct": 1
+    },
+    {
+        "scene": 2, "title": "Периметр под огнем",
+        "text": "Система разблокирована. Вы видите попытку входа под учеткой директора. Система запросила подтверждающий код из приложения. Нужно классифицировать эти два шага для журнала аудита.",
+        "question": "Ввод логина 'Director' — это идентификация или аутентификация? А ввод кода из приложения?",
+        "options": ["Оба действия — это аутентификация", "Логин — идентификация, код из приложения — аутентификация", "Логин — аутентификация, код из приложения — идентификация", "Оба действия — это идентификация"],
+        "correct": 1
+    },
+    {
+        "scene": 3, "title": "Троянский конь изнутри",
+        "text": f"{Colors.RED}ВНИМАНИЕ: Обнаружена аномалия!{Colors.RESET} Сотрудник бухгалтерии в 03:00 ночи пытается скачать базу клиентов. Это не внешний хакер, угроза исходит изнутри периметра.",
+        "question": "К какому вектору угроз относится эта ситуация и какая система помогла ее обнаружить?",
+        "options": ["Внешний вектор, обнаружен с помощью антивируса", "Физический вектор, обнаружен камерами видеонаблюдения", "Внутренний вектор (инсайдер), обнаружен SIEM-системой", "Программный вектор, обнаружен файрволом"],
+        "correct": 2
+    },
+    {
+        "scene": 4, "title": "Физическая брешь",
+        "text": "Охрана сообщает: «С рабочего стола украден ноутбук аналитика!» На нем хранились отчеты. Вору не осталось ничего, кроме самого железа и жесткого диска.",
+        "question": "Какие средства защиты гарантируют, что данные на украденном диске останутся нечитаемым набором символов?",
+        "options": ["Сложный пароль на Windows и скрытые папки", "Шифрование жесткого диска (FDE) и модуль доверенной загрузки (TPM)", "Установленный браузер Tor и отключенный Wi-Fi", "Регулярная дефрагментация диска и очистка корзины"],
+        "correct": 1
+    },
+    {
+        "scene": 5, "title": "Восстановление системы",
+        "text": "Благодаря вашим верным решениям, скомпрометированный аккаунт заблокирован, а данные в безопасности. Штатные вирусы изолированы. Настало время закрыть инцидент.",
+        "question": "Согласно модели NIST, как называется финальный этап жизненного цикла реагирования на инцидент, на котором данные восстанавливаются из бэкапов?",
+        "options": ["Защита (Protect)", "Обнаружение (Detect)", "Реагирование (Respond)", "Восстановление (Recover)"],
+        "correct": 3
+    }
+]
+
+# --- КЛАСС ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ---
+class HackerApp:
+    def __init__(self, root):
+        self.root = root
+        self.root.title("ОПЕРАЦИЯ: НУЛЕВОЕ ДОВЕРИЕ")
+        self.root.geometry("800x600")
+        self.root.configure(bg="black")
+
+        # Настройка шрифта (Consolas или монопшринный по умолчанию)
+        self.font = ("Consolas", 11)
+
+        # Поле вывода текста (Терминал)
+        self.text_area = scrolledtext.ScrolledText(
+            root, 
+            bg="#050505", 
+            fg="#00FF41", 
+            font=self.font, 
+            insertbackground="white",
+            wrap=tk.WORD,
+            state=tk.DISABLED, # Запрещаем ручной ввод в главное окно
+            borderwidth=0,
+            highlightthickness=0
+        )
+        self.text_area.pack(padx=10, pady=(10, 0), fill=tk.BOTH, expand=True)
+
+        # Строка ввода ответов
+        self.input_frame = tk.Frame(root, bg="black")
+        self.input_frame.pack(padx=10, pady=10, fill=tk.X)
+
+        self.input_var = tk.StringVar()
+        self.input_entry = tk.Entry(
+            self.input_frame, 
+            textvariable=self.input_var, 
+            bg="#0A0A0A", 
+            fg="#00FFFF", 
+            font=self.font, 
+            insertbackground="#00FFFF",
+            borderwidth=1,
+            relief="solid"
+        )
+        self.input_entry.pack(side=tk.LEFT, fill=tk.X, expand=True, ipady=5)
+        self.input_entry.bind("<Return>", self.on_enter)
+
+        # Механизм замены стандартного ввода/вывода
+        self.input_ready = threading.Event()
+        self.user_input = ""
+        
+        # Перенаправляем стандартный вывод (print) в наше окно
+        sys.stdout = self
+
+    # Функция для записи в текстовое поле (с поддержкой потоков)
+    def write(self, text):
+        # Очищаем ANSI-коды, так как Tkinter их не понимает, 
+        # но заменяем их на теги цветов Tkinter
+        clean_text = re.sub(r'\x1B\[[0-?]*[ -/]*[@-~]', '', text)
+        
+        def _write():
+            self.text_area.config(state=tk.NORMAL)
+            
+            # Простая эмуляция цветов (зеленный по умолчанию)
+            if Colors.RED in text:
+                self.text_area.insert(tk.END, clean_text, "red")
+            elif Colors.YELLOW in text:
+                self.text_area.insert(tk.END, clean_text, "yellow")
+            elif Colors.CYAN in text:
+                self.text_area.insert(tk.END, clean_text, "cyan")
+            elif Colors.BOLD in text:
+                self.text_area.insert(tk.END, clean_text, "bold")
+            else:
+                self.text_area.insert(tk.END, clean_text)
+                
+            self.text_area.see(tk.END)
+            self.text_area.config(state=tk.DISABLED)
+            
+        # Используем root.after для безопасности потоков в Tkinter
+        self.root.after(0, _write)
+
+    def flush(self):
+        pass # Заглушка для sys.stdout
+
+    # Обработка нажатия Enter в строке ввода
+    def on_enter(self, event):
+        self.user_input = self.input_var.get()
+        self.input_entry.delete(0, tk.END)
+        self.input_entry.config(state=tk.DISABLED) # Блокируем ввод пока идет процесс
+        self.input_ready.set() # Сигнализируем основному потоку, что ответ получен
+
+    # Замена стандартной функции input()
+    def gui_input(self, prompt):
+        self.write(prompt)
+        
+        self.input_ready.clear()
+        
+        # Разблокируем поле ввода в главном потоке интерфейса
+        def unlock():
+            self.input_entry.config(state=tk.NORMAL)
+            self.input_entry.focus_set()
+        self.root.after(0, unlock)
+        
+        # Ждем, пока пользователь не нажмет Enter
+        self.input_ready.wait()
+        
+        # Выводим то, что ввел пользователь (эффект эха)
+        self.write(self.user_input + "\n")
+        return self.user_input
+
+
+# --- ИЗМЕНЕННАЯ ФУНКЦИЯ MAIN ---
+def main(app):
+    print(f"{Colors.CYAN}{Colors.BOLD}")
+    print("╔══════════════════════════════════════════════╗")
+    print("║       ОПЕРАЦИЯ: НУЛЕВОЕ ДОВЕРИЕ             ║")
+    print("║          СИМУЛЯЦИЯ ИБ-АНАЛИТИКА             ║")
+    print("╚══════════════════════════════════════════════╝{Colors.RESET}\n")
+    
+    print_slow("Инициализация терминала безопасности...")
+    time.sleep(1)
+    print_slow("Загрузка базы данных лекций по НСД...")
+    time.sleep(1)
+    print_slow(f"{Colors.YELLOW}Статус: ТРЕВОГА. Требуется подтверждение допуска.{Colors.RESET}")
+    time.sleep(1)
+
+    score = 0
+
+    for level in quiz_data:
+        print_scene_header(level["scene"], level["title"])
+        print_slow(level["text"])
+        time.sleep(0.5)
+        
+        print(f"\n{Colors.BOLD}>> ВАШ ОТВЕТ:{Colors.RESET}")
+        for i, option in enumerate(level["options"]):
+            print(f"  [{i + 1}] {option}")
+        
+        # Заменяем стандартный input() на наш графический
+        while True:
+            try:
+                # ВАЖНО: тут используем app.gui_input вместо обычного input
+                user_answer = int(app.gui_input(f"\n{Colors.CYAN}Введите номер варианта (1-{len(level['options'])}: ")) - 1
+                if 0 <= user_answer < len(level["options"]):
+                    break
+                else:
+                    print(f"{Colors.RED}Ошибка: Выбран несуществующий вариант. Попробуйте снова.{Colors.RESET}")
+            except ValueError:
+                print(f"{Colors.RED}Ошибка: Введите пожалуйста цифру.{Colors.RESET}")
+
+        print("\n" + "-"*40)
+        if user_answer == level["correct"]:
+            print(f"{Colors.GREEN}[ УСПЕХ ] Верный ответ! Угроза нейтрализована.{Colors.RESET}")
+            score += 1
+        else:
+            print(f"{Colors.RED}[ ПРОВАЛ ] Неверный ответ! Системе нанесен ущерб.{Colors.RESET}")
+            correct_text = level["options"][level["correct"]]
+            print(f"{Colors.YELLOW}Подсказка системы: Правильный ответ -> {correct_text}{Colors.RESET}")
+        print("-"*40 + "\n")
+        
+        time.sleep(1.5)
+
+    # Финал игры
+    print(f"{Colors.YELLOW}{'='*50}{Colors.RESET}")
+    print(f"{Colors.BOLD}СИМУЛЯЦИЯ ЗАВЕРШЕНА{Colors.RESET}")
+    print(f"{Colors.YELLOW}{'='*50}{Colors.RESET}\n")
+    
+    print_slow(f"Итоговый результат: {score} из {len(quiz_data)} верных решений.")
+    
+    if score == len(quiz_data):
+        print_slow(f"\n{Colors.GREEN}{Colors.BOLD}РАНГ: ЭКСПЕРТ. Вы полностью остановили утечку данных и доказали, что уместно применять меры защиты заблаговременно. Добро пожаловать в отдел ИБ!{Colors.RESET}")
+    elif score >= 3:
+        print_slow(f"\n{Colors.YELLOW}{Colors.BOLD}РАНГ: УЧЕНИК. Атака частично отражена, но компания понесла некоторые потери. Вам стоит перечитать лекцию про внутренние угрозы и криптографию.{Colors.RESET}")
+    else:
+        print_slow(f"\n{Colors.RED}{Colors.BOLD}РАНГ: ПРОВАЛ. Сервера скомпрометированы, данные утекли в сеть. Уступить инициативу — значит допустить потерю данных. Симуляция провалена.{Colors.RESET}")
+
+
+if __name__ == "__main__":
+    # Создаем графическое окно
+    root = tk.Tk()
+    app = HackerApp(root)
+    
+    # Настраиваем цветовые теги для текста в Tkinter
+    app.text_area.tag_config("red", foreground="#FF4444")
+    app.text_area.tag_config("yellow", foreground="#FFFF00")
+    app.text_area.tag_config("cyan", foreground="#00FFFF")
+    app.text_area.tag_config("bold", font=("Consolas", 11, "bold"), foreground="#FFFFFF")
+
+    # Запускаем логику игры в отдельном потоке, чтобы не зависало окно
+    game_thread = threading.Thread(target=main, args=(app,), daemon=True)
+    game_thread.start()
+    
+    # Запускаем графический цикл
+    root.mainloop()

+ 62 - 0
Лекции/2.4.500_Организация_работ_по_защите_от_НСД/moroz_lekcia.md

@@ -0,0 +1,62 @@
+# Организация работ по защите от НСД
+![](1.png)
+# Архитектура цифровой безопасности: Как построить систему защиты от несанкционированного доступа. Цена цифровой открытости.
+В эпоху, когда данные стали главным активом бизнеса и государства, периметр традиционной сети перестал существовать. Облачные технологии, удаленная работа и развитие IoT расширили зону атаки до беспрецедентных масштабов. Любая точка контакта с внешним миром — это потенциальная дверь для злоумышленника. В центре этой проблемы находится НСД (несанкционированный доступ). Это не просто технический сбой, это целенаправленное или случайное пересечение границ конфиденциальности, ведущее к финансовым потерям, репутационному краху и юридическим санкциям (вплоть до штрафов по законам типа GDPR или ФЗ-152). Защита от НСД сегодня — это не установка антивируса, это выстраивание архитектуры, основанной на недоверии.
+
+# Анатомия угрозы: Что такое НСД в реальности?
+Если говорить простым языком, несанкционированный доступ — это любая активность в информационной системе, которая нарушает установленную политику безопасности. Важно понимать: НСД не всегда означает взлом хакером в маске. В 60% случаев это инсайдер — сотрудник, который просто открыл файл, к которому у него не было прав, из любопытства или по ошибке.
+
+Угрозы делятся на три принципиально разные категории:
+
+Внешние векторы (External Threats). Атакующие, находящиеся за пределами инфраструктуры. Они используют фишинг, брутфорс-атаки, эксплойты нулевого дня (0-day) и методы социальной инженерии, чтобы получить начальную точку опоры в сети.
+
+Внутренние векторы (Insider Threats). Самые коварные угрозы, так как источник уже находится «внутри» fortress. Они делятся на злонамеренные (кража базы клиентов при увольнении) и непреднамеренные (заражение флешки вирусом и подключение ее к рабочему ПК).
+
+Физические векторы (Physical Breach). Цифровая защита бесполезна, если злоумышленник физически украл сервер из серверной или подобрал флешку с паролями, оставленную на столе. Сюда же относится tailgating (проход в защищенную зону вслед за авторизованным сотрудником).
+
+Фундамент защиты: Модель Zero Trust и управление идентичностью
+Современный подход к защите от НСД базируется на принципе Zero Trust (Нулевое доверие): «никогда не доверяй, всегда проверяй». Прежде чем закрывать данные замками, нужно понять, что именно мы защищаем.
+
+# Построение системы начинается с базового аудита:
+
+Инвентаризация активов: нельзя защитить то, чего не видите. Необходимо каталогизировать все данные и системы.
+Разделение долей (Data Classification): Информация разбивается на уровни (Публичная, Внутренняя, Конфиденциальная, Строго секретная).
+Внедрение RBAC (Role-Based Access Control): Доступ предоставляется не по должности («он бухгалтер»), а по конкретной роли и задаче («ему нужен доступ только к модулю зарплат за текущий квартал»). Принцип минимальных привилегий — золотое правило здесь.
+Технологические барьеры: Идентификация, аутентификация и криптография
+Чтобы отсечь неавторизованных пользователей на пороге, применяются многоуровневые фильтры:
+
+1. Двухфакторная аутентификация (MFA) и биометрия
+Пароли ушли в прошлое — они легко взламываются или угадываются. Современный стандарт требует внедрения MFA. Процесс входа теперь двухступенчатый:
+
+Первый шаг (Идентификация): Система узнает, кто вы (ввод логина или чтение смарт-карты/USB-токена).
+Второй шаг (Аутентификация): Подтверждение того, что это действительно вы. Это может быть одноразовый код из приложения-аутентификатора, push-уведомление или биометрический скан (отпечаток пальца, распознавание лица). Токены считаются менее надежным решением, так как их можно физически скопировать или украсть.
+2. Защита конечных точек (Endpoint Security)
+Защита самого компьютера, если он попал в чужие руки:
+
+Шифрование дисков (FDE): Например, BitLocker или FileVault. Даже если жесткий диск вытащат и подключат к другому ПК, данные превратятся в нечитаемый набор символов без ключа расшифровки.
+Модуль доверенной загрузки (TPM): Аппаратный чип на материнской плате. Он проверяет целостность системы до загрузки ОС. Если кто-то попытается заменить жесткий диск или изменить загрузчик, TPM заблокирует ПК.
+Защита BIOS/UEFI: Установка паролей на уровень микрокода, исключающая возможность переустановки ОС сторонним лицом.
+3. Гибридная безопасность: Аналоговый аспект
+Несмотря на цифровизацию, бумажный документооборот (договоры, финансовые отчеты, кадровые приказы) остается лакомым куском для промышленного шпионажа. Для бумажных носителей применяется физическая модель секретности: сейфы с классом защиты, системы учета движения документов (журналы выдачи), запрет на использование личных смартфонов в помещениях с критическими документами и разрушители бумаг (шредеры) определенного класса секретности.
+
+Жизненный цикл реагирования на НСД (Модель NIST)
+Защита — это не статичная стена, это непрерывный процесс. Международно признанная модель безопасности делит противодействие НСД на 5 этапов:
+
+Идентификация (Discover): Понимание, где находятся уязвимости и какие данные под угрозой.
+
+Защита (Protect): Внедрение тех самых паролей, шифрования и политик доступа.
+Обнаружение (Detect): Внедрение SIEM-систем (Security Information and Event Management), которые в реальном времени анализируют логи и бьют тревогу, если бухгалтер в 3 часа ночи пытается скачать базу клиентов (аномальное поведение).
+Реагирование (Respond): Автоматическая или ручная изоляция зараженного узла, блокировка скомпрометированного аккаунта.
+Восстановление (Recover): Восстановление данных из чистых резервных копий (бэкапов), анализ причин произошедшего (постмортем) и закрытие бреши.
+Бизнес-результат: Зачем компании тратить деньги на СЗИ?
+Грамотно выстроенная экосистема информационной безопасности — это не статья расходов, а инструмент сохранения бизнеса. Результаты ее внедрения измеряются в том, чего не произошло:
+
+Отсутствие многомиллионных штрафов регуляторов за утечку персональных данных.
+Сохранение конкурентоспособности за счет защиты ноу-хау и интеллектуальной собственности.
+Повышение доверия со стороны партнеров и клиентов (многие крупные корпорации просто не будут работать с подрядчиком, не имеющим сертификатов безопасности).
+Снижение простоев в работе из-за разрушительных атак (например, шифровальщиков-вымогателей).
+
+# Заключение
+Информационная безопасность — это не бинарная величина («защищено/не защищено»). Это вопрос стоимости взлома для атакующего. Цель службы ИБ — сделать так, чтобы затраты сил, времени и денег на осуществление НСД многократно превысили ценность самих данных.
+
+Важно понимать: идеальной защиты не существует. Самые надежные системы часто страдают от человеческого фактора. Поэтому инвестиции в сложные криптографические шлюзы бессмысленны, если регулярно не обучать сотрудников правилам цифровой гигиены. Меры по защите должны применяться проактивно — до того, как на пороге появится злоумышленник, потому что в кибербезопасности уступка инициативы всегда означает проигрыш.

+ 89 - 0
Лекции/2.4.500_Организация_работ_по_защите_от_НСД/scenaryi_morozi4.md

@@ -0,0 +1,89 @@
+# СЦЕНАРИЙ ИГРЫ: «ОПЕРАЦИЯ: НУЛЕВОЕ ДОВЕРИЕ»
+Жанр: Интерактивная текстовая викторина / Симулятор ИБ-аналитика.
+Атмосфера: Киберпанк, напряжение, клаустрофобия запертого серверного помещения.
+
+# ПРОЛОГ: ШОКОВЫЙ СТАРТ
+Визуальный ряд: Экран монитора погружен в темноту. Внезапно вспыхивает надпись красного цвета: ПРЕДУПРЕЖДЕНИЕ: НАРУШЕНИЕ ПЕРИМЕТРА. Из динамиков компьютера раздается резкий, пронзительный сигнал тревоги.
+Действие игрока: Игрок видит сообщение: "Серверная комната заблокирована. Запущен протокол стресс-тестирования для пользователя [ИГРОК]. Для разблокировки дверей необходимо пройти верификацию". Появляется кнопка [ НАЧАТЬ ТЕСТИРОВАНИЕ ]. Игрок нажимает на нее.
+
+# СЦЕНА 1. БРИФИНГ В РУБКЕ
+Аудио: Тревога стихает, заменяясь низким гулом вентиляции и треском радиопомех.
+Визуальный ряд: На экране появляется окно видеосвязи — лицо Главного инженера в низком разрешении. За его спиной мигают красные лампы. Текст его реплик дублируется бегущей строкой внизу экрана зеленым шрифтом.
+Диалог инженера: "Новичок! Система безопасности переключена в ручной режим. Мы перешли на новую архитектуру, но кто-то пытается её сломать. Чтобы я мог разблокировать твою консоль, напомни мне главное правило, на котором сейчас строится вся наша сеть!"
+
+Интерфейс: Появляется консоль ввода с четырьмя вариантами ответа.
+
+Доверять всем устройствам внутри корпоративной сети...
+Никогда не доверять, всегда проверять любой запрос...
+Полностью заблокировать доступ в интернет...
+Доверять только администраторам...
+Действие игрока: Игрок выбирает вариант 2.
+Реакция системы:
+
+Если верно: Инженер кивает: "Верно. Zero Trust. Консоль разблокирована. Действуй". На экране загорается зеленый текст: ДОСТУП РАЗРЕШЕН.
+Если неверно: Инженер кричит: "Нет! Ты же нас погубишь!". Экран мигает, появляется красная надпись ОШИБКА АВТОРИЗАЦИИ. ПОПЫТКА ПОВТОРНОГО ВВОДА.
+
+# СЦЕНА 2. ПЕРИМЕТР ПОД ОГНЕМ
+Визуальный ряд: Экран консоли заполняется бегущими строками логов (журналов событий). Они движутся слишком быстро, но система автоматически подсвечивает три строки желтым цветом:
+03:14:01 [AUTH] Ввод логина: 'Director_General'
+03:14:05 [MFA] Запрос кода из приложения...
+03:14:08 [AUTH] ОШИБКА: Неверный токен. ДОСТУП ЗАПРЕЩЕН.
+
+Действие игрока: Справа от логов появляется блок-схема процесса входа. Игроку нужно перетащить понятия "Идентификация" и "Аутентификация" на нужные этапы схемы (К вводу логина или К запросу кода), чтобы классифицировать их для журнала аудита.
+
+Действие: Игрок ставит "Идентификацию" на ввод логина, а "Аутентификацию" на запрос кода.
+Варианты ошибок: Игрок может перепутать их местами или выбрать вариант "Оба действия — аутентификация".
+Реакция системы:
+
+Если верно: Журнал фиксирует: Инцидент классифицирован. Учетная запись директора помечена как скомпрометированная. Система автоматически инициирует сброс пароля директора.
+Если неверно: Система выдает ошибку: Нарушена логика аудита. Данные о инциденте искажены. Штраф к рейтингу.
+
+# СЦЕНА 3. ТРОЯНСКИЙ КОНЬ ИЗНУТРИ
+Аудио: Сирена меняет тональность с ровного гула на пульсирующие, тревожные всплески (в стиле сердцебиения).
+Визуальный ряд: На экране разворачивается интерфейс системы мониторинга SIEM (Security Information and Event Management). В центре — круговая диаграмма, на которой зеленый сектор (норма) стремительно съедается пульсирующим красным сектором. Всплывает окно алерта:
+КРИТИЧЕСКАЯ АНОМАЛИЯ
+Отдел: Бухгалтерия
+Время: 03:00 AM
+Действие: Массовый экспорт таблицы 'Clients_DB_2023' на съемный носитель.
+
+Действие игрока: Система задает вопрос: "Угроза не из интернета. Кто это и что нас спасло?". Игроку нужно выбрать правильный вектор угрозы и инструмент обнаружения из выпадающего списка.
+
+Правильный выбор: "Внутренний вектор (инсайдер), обнаружен SIEM-системой".
+Реакция системы:
+
+Если верно: Игрок нажимает кнопку [ ИЗОЛИРОВАТЬ УЗЕЛ ]. На экране диаграммы красный сектор резко обнуляется. Появляется сообщение: Учетная запись бухгалтера заморожена. Физический порт USB отключен на коммутаторе. Сирена замолкает.
+Если неверно: Игрок выбирает "Внешний вектор/Антивирус". Система отвечает: Антивирус не контролирует легитимные действия авторизованного пользователя. Утечка продолжается! -10% к защите сети.
+
+# СЦЕНА 4. ФИЗИЧЕСКАЯ БРЕШЬ
+Аудио: Тихое шипение помех, затем резко включается канал радиосвязи охраны с треском.
+Визуальный ряд: Экран делится пополам. Слева — окно текстового радиообмена, справа — карточка устройства в системе учета активов.
+Текст охраны: "Центр, здесь пост №3. Из коридора третьего этажа исчез рабочий ноутбук аналитика Петрова! Никто не проходил, дверь была закрыта... Там чертежи нового продукта!"
+
+Действие игрока: На экране появляются настройки безопасности пропавшего ноутбука. Игроку нужно поставить "галочки" (активировать) те средства защиты, которые сделают жесткий диск нечитаемым абракадаброй, если вор сейчас подключит его к своему ПК.
+
+Доступные тумблеры: [Сложный пароль Windows], [Скрытые папки], [Шифрование диска FDE и модуль TPM], [Браузер Tor].
+Действие: Игрок активирует шифрование FDE и TPM.
+Реакция системы:
+
+Если верно: Карточка устройства загорается зеленой рамкой. Система отправляет команду на удаленную блокировку. Появляется текст: Модуль TPM заблокировал загрузчик. Ключи расшифровки уничтожены. Данные превратились в хаотичный набор байтов. Утечка невозможна.
+Если неверно: Игрок ставит галочку на "Сложный пароль". Система отвечает: Пароль легко снимается при прямом доступе к диску (boot-подмена). Данные скомпрометированы!
+
+# СЦЕНА 5. ВОССТАНОВЛЕНИЕ СИСТЕМЫ
+Визуальный ряд: Аудио полностью стихает. На экране — спокойный, строгий интерфейс. В центре отображается замкнутый цикл (кольцо) международной модели NIST. Четыре этапа кольца светятся синим: Идентификация -> Защита -> Обнаружение -> Реагирование. Пятый этап, соединяющий конец с началом, серый и пустой — Восстановление.
+
+Действие игрока: Голос инженера в динамике: "Отличная работа. Мы отбились, локализовали инсайдера и спасли данные с ноутбука. Но из-за атаки часть баз данных повреждена. Настало время вернуть компанию к жизни. Запускай финальную стадию."
+Игрок наводит курсор на пустой сегмент Восстановление и нажимает кнопку [ ИНИЦИИРОВАТЬ RECOVER ].
+
+# Реакция системы:
+
+Если верно: Пустой сегмент вспыхивает ярким зеленым светом. Кольцо NIST замыкается. На экране появляется прогресс-бар: Восстановление из изолированного бэкапа... 100% СЕТЬ АКТИВНА. ШИФРОВАНИЕ ВОССТАНОВЛЕНО.
+Если неверно: Игрок нажимает на "Реагирование". Система выдает: Реагирование уже завершено. Повторный запуск заблокирован. Требуется завершение жизненного цикла!
+ЭПИЛОГ: ДЕБРИФИНГ
+Визуальный ряд: Вспыхивает свет (экран монитора белеет). Тяжелые двери серверной с грохотом откатываются в стороны.
+Действие системы: На экране появляется финальная таблица результатов стресс-теста.
+
+Выводится количество ошибок и время реакции.
+РАНГ "ЭКСПЕРТ" (0 ошибок): Главный инженер выходит из-за двери, пожимает руку: "С первого дня действуешь как профи. Добро пожаловать в отдел".
+РАНГ "УЧЕНИК" (1-2 ошибки): Инженер хмурится: "Неплохо для новичка, но мы потеряли часть данных из-за твоих ошибок. Иди изучи мануал, завтра пересдача".
+РАНГ "ПРОВАЛ" (3+ ошибок): Экран мигает надписью КРИТИЧЕСКИЙ ПРОВАЛ СТРЕСС-ТЕСТА. Двери не открываются. Появляется надпись: "Вы не готовы к работе с реальными инцидентами. Ожидайте arrival команды ликвидации последствий".
+Конец игры. Появляется кнопка [ ПРОЙТИ ЗАНОВО / ВЫЙТИ ].