Мережи відображаються на графи
Топології мережі - це геометричні графи
Кожна комп'ютерна мережа має топологію: геометричне розташування вузлів (пристроїв) та ребер (з'єднань). Топологія визначає стійкість до відмов, пропускну здатність та властивості безпеки.
П'ять основних топологій:
- Зірка: один центральний концентратор, всі вузли підключаються до нього. Просто, дешево. Одна точка відмови: якщо концентратор вийде з ладу, все вийде з ладу. N-1 ребер для N вузлів.
- Кільце: вузли утворюють коло, кожен з'єднаний з двома сусідами. Один розрив розділяє мережу. N ребер для N вузлів.
- Шина: усі вузли спільно використовують один магістральний кабель. Дешево, але схильна до колізій. Одна відмова магістралі знищує все.
- Сітка: кожен вузол з'єднується з будь-яким іншим вузлом. Максимальна надмірність. Повна сітка з N вузлами має N(N-1)/2 ребер: це O(N²) з'єднань. Дорого, але дуже стійка до відмов.
- Дерево: ієрархічне розгалуження. N-1 ребер (мінімальний пов'язаний граф). Відмова кореня розділяє піддерева.
Справжні мережи - це гібриди: центральне ядро типу сітка з доступними шарами типу зірка, маршрутизацією типу дерево та надмірністю кільцевої топології у критичних місцях.
Топологія та стійкість до відмов
Дата-центр має 20 серверів. Команда операцій дебатує між повною сіткою та топологією зірки для внутрішньої мережі.
Геометрія експозиції
Поверхня атаки = геометрична межа
У кібербезпеці поверхня атаки - це загальний набір точок, де зловмисник може взаємодіяти з системою. Думайте про це геометрично: ваша система - це форма, & кожна точка на її межі - це потенційна точка входу.
Компоненти поверхні атаки:
- Мережева поверхня: кожен відкритий порт на кожній публічній IP-адресі. Сервер з 5 відкритими портами має 5 точок на його мережевій межі.
- Поверхня додатку: кожна кінцева точка API, кожний маршрут URL, кожне введення форми. Веб-додаток з 200 маршрутами має 200 точок межі на рівні додатку.
- Людська поверхня: кожен працівник з обліковими даними, кожна мета фішингу. Атаки соціальної інженерії спрямовані на людський периметр.
- Фізична поверхня: кожна дверь серверної, кожен USB-порт, кожна мережева розетка.
Геометричний принцип: безпека поліпшується шляхом мінімізації межі між довіреними та недовіреними зонами. Брандмауер визначає геометричну межу: трафік всередині - надійний, трафік ззовні - ні. Чим менше дір у цій межі, тим менше поверхня атаки.
Це пояснює, чому принцип мінімального привілею - це геометрія: надайте кожному компоненту мінімальну межову експозицію, яка йому потрібна для роботи.
Зменшення поверхні атаки
Компанія запускає веб-додаток з наступною експозицією: 12 публічних кінцевих точок API, SSH відкритий на всіх 50 серверах (порт 22), база даних з публічною IP-адресою, & панель адміністратора доступна з Інтернету.
Графи атак та дерева загроз
Моделювання загроз використовує теорію графів
Фахівці з безпеки моделюють загрози як орієнтовані графи. Структура цих графів розкриває шляхи атак, цілі високої цінності, & пріоритети захисту.
Графи атак: вузли представляють стани системи (або окремі системи). Орієнтовані ребра представляють можливі переходи: експлойти, бічні рухи, підвищення привілеїв. Шлях атаки - це прохід через цей граф від зовнішнього вузла до цільового вузла.
Дерева загроз: спеціалізована структура графу. Кореневий вузол - це мета зловмисника (наприклад, 'викрасти базу даних'). Дочірні вузли - це методи досягнення мети батька. Листи - це конкретні дії атаки. AND-вузли вимагають успіху всіх дітей; OR-вузли вимагають тільки одного.
Централізація графу визначає цілі високої цінності:
- Централизація посередництва: вузол, через який проходять багато найкоротших шляхів. У мережі це вузька місцевість: скомпрометуйте його, і ви контролюєте потік трафіку. Брандмауер або контролер домену часто мають високу централизацію посередництва.
- Централизація ступеня: вузол з багатьма з'єднаннями. У графі атаки це вузол, доступний з багатьох інших вузлів, є цілю бічного руху високої цінності.
Найкоротший шлях = найімовірніший вектор атаки: зловмисники оптимізують для найменшої кількості кроків. Найкоротший шлях у графі атаки від Інтернету до бази даних - це найімовірніший маршрут атаки. Захист означає зробити цей найкоротший шлях довшим: додати вузли (засоби безпеки), через які зловмисник повинен пройти.
Аналіз графа атак
Розглянемо мережу з такою структурою: Інтернет → Веб-сервер → Сервер додатків → База даних. Веб-сервер також з'єднується з файловим сервером. Сервер додатків з'єднується з сервером резервної копії. Мета зловмисника - база даних.
Еліптична крива криптографія використовує геометрію
Еліптичні криві: де геометрія стає шифруванням
Криптографія еліптичної кривої (ECC) - це одне з рідких місць, де безпека буквально побудована на геометричних операціях.
Еліптична крива - це набір точок (x, y), що задовольняють: y² = x³ + ax + b (плюс спеціальна 'точка на нескінченності'). На дійсних числах це виглядає як гладка, симетрична крива.
Додавання точок: геометрична операція, яка робить криптографію можливою:
1. Візьміть дві точки P & Q на кривій.
2. Проведіть пряму через P & Q.
3. Ця лінія перетинає криву рівно в одній іншій точці R'.
4. Відобразіть R' через вісь x, щоб отримати R = P + Q.
Ця операція 'додавання' формує математичну групу: вона асоціативна, має елемент ідентичності (точка на нескінченності), & кожна точка має зворотню.
Скалярне множення: додавання точки P до себе k разів дає kP. Рухатися вперед (обчислення kP заданих k & P) швидко: O(log k) операцій за допомогою подвоєння-та-додавання. Рухатися назад (пошук k заданого P & kP) - це проблема дискретного логарифму еліптичної кривої (ECDLP): вважається обчислювально невідпрацьованою для великих кривих.
Ця асиметрія - основа безпеки сучасного TLS. З'єднання HTTPS вашого браузера, ймовірно, використовує ECDHE (Ephemeral Diffie-Hellman еліптичної кривої): обидві сторони узгоджуються на спільному секреті шляхом обміну точками на еліптичній кривій, & жоден підслуховувач не може відновити секрет без розв'язування ECDLP.
Чому геометрія робить хорошу криптографію
ECC забезпечує таку ж безпеку, як RSA, з набагато меншими розмірами ключів. Ключ ECC розміром 256 біт забезпечує приблизно таку ж безпеку, як ключ RSA розміром 3072 біти.