Команда отвечает за выстраивание процессов безопасной разработки (РБПО/SSDLC) на комбинации open source и enterprise-инструментов. Сейчас ищем инженера в направление динамического анализа: фаззинг ядра системы (сокращённый набор системных модулей и библиотек, необходимый для старта LXC-контейнеров и containerd-рантайма), а также прикладных компонентов продукта.
Работа идёт в рамках сертификационных требований ФСТЭК: результаты анализа и методология оформляются как артефакты процессов РБПО, часть задач выполняется в рамках совместной работы с ИСП РАН.
Фаззинг-тестирование
- Разработка и сопровождение фаззинг-харнессов для системных библиотек и прикладных компонентов на C/C++/Java.
- Фаззинг ядра Linux и модулей ядра: сопровождение описаний системных вызовов для syzkaller, сборка ядра с KCOV/KASAN, анализ достижимости подсистем.
- Эксплуатация и развитие фаззинг-фермы: планирование кампаний, распределение ресурсов, поддержание стабильности длительных прогонов.
- Управление корпусами: периодическая минимизация, контроль роста, регрессионные прогоны в CI на накопленном корпусе.
- Сбор и интерпретация метрик покрытия по регионам и ветвям (llvm-cov, KCOV), поиск недопокрытых участков поверхности атаки и доработка харнессов под них.
Работа с результатами
- Разбор падений: дедупликация, минимизация воспроизводящих входов, классификация по типу дефекта и оценка эксплуатабельности.
- Ранжирование дефектов по критичности и сопровождение их до исправления совместно с командами разработки: подтверждение фиксов и пополнение регрессионных наборов.
- Подготовка PoC, подтверждающих найденные дефекты, при необходимости - готовых исправлений.
- Составление и регулярная актуализация карты поверхности атаки продукта.
Автоматизация и процессы
- Интеграция Fuzzing-инструментов в пайплайны GitLab CI/CD, автоматизация сбора и триажа результатов в системе управления уязвимостями.
- Подготовка методических и отчётных артефактов процессов РБПО под требования ГОСТ Р 56939 и ФСТЭК.
- Помощь разработчикам в написании фаззинг-тестов.
Обязательные
- Уверенное администрирование Linux, а также понимание внутреннего устройства ОС: процессы, подсистема памяти, файловые системы, системные вызовы.
- Чтение и правка кода на C/C++ на уровне, достаточном для написания харнессов и локализации дефекта по стеку.
- Знание распространённых классов дефектов безопасности (memory corruption, use-after-free, integer overflow, race condition) и умение разбирать их причины и условия срабатывания.
- Понимание принципов фаззинга ориентированного на покрытие: инструментирование, обратная связь по покрытию, мутационные стратегии.
- Реальный опыт запуска фаззинг-кампаний с libFuzzer и/или AFL++ на промышленных проектах.
- Практика применения санитайзеров (ASan/MSan/UBSan/TSan) и понимание их накладных расходов и взаимных ограничений.
- Навык разбора падений: дедупликация по стеку, минимизация входа, отделение реальных дефектов от артефактов харнесса.
- Работа с метриками покрытия (llvm-cov, lcov, sancov) и понимание разницы между покрытием по строкам, регионам и ветвям.
- Владение Python и Bash в объёме, достаточном для автоматизации повторяющихся задач.
- Уверенная работа с системами сборки make, CMake, Meson, Ninja, включая сборку ядра Linux и сборку пакетов из исходников.
- Git, опыт построения пайплайнов в GitLab CI/CD.
- Практика работы с Docker/Podman и понимание устройства контейнеризации (namespaces, cgroups).
Будет плюсом
- Опыт фаззинга ядра: syzkaller, KCOV/KASAN/KMSAN, написание описаний syscall'ов и разбора падений.
- Опыт интеграции с oss-fuzz, ClusterFuzz, иными системами оркестрации фаззинга.
- Опыт участия в сертификационных работах ФСТЭК, знакомство с ГОСТ Р 56939, опыт взаимодействия с ИСП РАН, работа со Svace.
- Публичные артефакты: зарегистрированные CVE, принятые upstream-патчи, доклады или публикации по методологии.
- Ориентация в форматах SBOM (CycloneDX, SPDX) и работа с источниками уязвимостей (NVD, БДУ ФСТЭК).
- Опыт применения LLM в задачах генерации харнессов и первичного триажа падений.