← sudoto

Кибербезопасность

Для разработчиков и будущих специалистов по защите: как устроены уязвимости изнутри, как их закрывать в своём коде и как вести проверку по закону.

8 модулей38 уроков3 проекта
Открыть курс

Программа

  1. 01

    Как устроен HTTP и сессии

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

    • 1.1 · Анатомия HTTP-запроса
    • 1.2 · HTTPS и заголовки безопасности
    • 1.3 · Куки и сессии
    • 1.4 · Одинаковый источник и CORS
    • 1.5 · Почему нельзя доверять данным клиента
  2. 02

    Аутентификация и хранение паролей

    Как система узнаёт человека и как она решает, что ему можно. Разбираем хранение паролей, второй фактор, восстановление доступа, токены и жизненный цикл сессии — с механикой поломок и конкретными починками.

    • 2.1 · Аутентификация и авторизация: разные вещи
    • 2.2 · Хранение паролей: соль и медленные хеши
    • 2.3 · Второй фактор и восстановление доступа
    • 2.4 · Токены доступа и JWT
    • 2.5 · Жизненный цикл сессии и выход
  3. 03

    Типовые уязвимости веба

    Разбираем механику самых частых веб-уязвимостей: инъекции, XSS, CSRF, IDOR, SSRF и загрузку файлов. Не список определений, а объяснение, почему данные превращаются в код и какая именно защита разрывает эту цепочку.

    • 3.1 · Инъекции в SQL и как их закрыть
    • 3.2 · Инъекции команд и шаблонов
    • 3.3 · Межсайтовый скриптинг
    • 3.4 · Подделка межсайтовых запросов
    • 3.5 · Небезопасные ссылки на объекты и контроль доступа
    • 3.6 · Запросы от лица сервера и загрузка файлов
  4. 04

    Криптография для практиков

    Не математика, а инженерия: что именно гарантирует хеш, зачем нужен HMAC, почему шифрование без проверки целостности — половина защиты, как устроены подписи и сертификаты и на каких пяти ошибках чаще всего горят разработчики.

    • 4.1 · Хеши: что они гарантируют, а что нет
    • 4.2 · Симметричное шифрование
    • 4.3 · Асимметричное шифрование и подписи
    • 4.4 · TLS и сертификаты
    • 4.5 · Типовые ошибки в криптографии
  5. 05

    Сети и разведка на своих системах

    Как пакет доходит до вашего сервера и что по дороге о вас видно. Разбираем уровни, маршрутизацию, состояния портов, NAT и межсетевой экран, записи DNS и перехват забытых поддоменов, инвентаризацию своих слушающих сокетов и чтение собственного трафика в захвате. Всё — только на своей инфраструктуре или по письменному разрешению владельца.

    • 5.1 · Как пакет доходит до сервера
    • 5.2 · DNS и имена: что о вас видно снаружи
    • 5.3 · Инвентаризация своих портов и сервисов
    • 5.4 · Разбор своего трафика
  6. 06

    Безопасность инфраструктуры

    Код можно написать безупречно, а систему всё равно потеряют через забытый доступ уволенного сотрудника, ключ в репозитории, непоставленное обновление или резервную копию, которую ни разу не восстанавливали. Этот модуль — про обвязку вокруг приложения: доступы, секреты, обновления, журналы и копии.

    • 6.1 · Доступы, роли и наименьшие привилегии
    • 6.2 · Секреты: где они живут и где не должны
    • 6.3 · Обновления и уязвимые зависимости
    • 6.4 · Журналы и мониторинг
    • 6.5 · Резервные копии и восстановление
  7. 07

    Тестирование на проникновение по закону и договору

    Проверка защищённости отличается от взлома одной вещью — письменным разрешением. Здесь разбираем рамку, методику на своём полигоне и отчёт, который заказчик сможет исполнить.

    • 7.1 · Правовая рамка: что можно и чего нельзя
    • 7.2 · Область работ и правила взаимодействия
    • 7.3 · Методика проверки на своём полигоне
    • 7.4 · Отчёт и оценка рисков
  8. 08

    Реагирование на инциденты

    Инцидент случится — вопрос только когда. Здесь про то, как заранее договориться о ролях, не уничтожить улики в первые минуты и превратить разбор в исправленные системы.

    • 8.1 · План реагирования: роли и связь
    • 8.2 · Обнаружение и сортировка событий
    • 8.3 · Локализация, устранение, восстановление
    • 8.4 · Разбор инцидента и выводы

Проект в конце

Свой полигон: уязвимое приложение и отчёт о починке

Поднял локальный полигон с намеренными уязвимостями, задокументировал инъекцию, XSS и IDOR, починил каждую с тестом-регрессией и собрал отчёт «было — стало».

стартовый · 2 недели · 7 шагов

Другие направления

Python с нуляМашинное обучениеRust