Описание вакансии
Коротко о ролиСтатический анализ кода (SAST) критических компонентов Linux: Анализ исходного кода ядра Linux, KVM/QEMU, libvirt, сетевых драйверов и технологий (OVS, DPDK), файловых систем (ext4, XFS, Btrfs);
Задачи:
— Выполнение статического анализа кода (SAST) критических компонентов Linux, включая анализ исходного кода ядра Linux, KVM/QEMU, libvirt, сетевых драйверов и технологий (OVS, DPDK), а также файловых систем ext4, XFS, Btrfs.
— Использование инструментов Coverity, Coccinelle, sparse, Smatch, CodeQL для анализа.
— Поиск уязвимостей классов CWE, CVE, таких как memory corruption, race conditions, privilege escalation.
— Настройка и запуск фаззеров (syzkaller, AFL++, libFuzzer, kAFL) для тестирования ядра и виртуализации.
— Анализ крашей, написание репортов и взаимодействие с upstream-разработчиками.
— Проведение динамического анализа и отладки с использованием KASAN, UBSAN, KMSAN, GDB, kgdb, perf, ftrace.
— Анализ дампов памяти и race conditions с помощью lockdep, KCSAN.
— Исправление найденных уязвимостей, патчинг и backport исправлений.
— Проверка соответствия стандартам безопасности Linux Kernel Self-Protection Project и CERT C.
— Проведение аудита безопасности, включая анализ механизмов SELinux, AppArmor, seccomp, namespaces, cgroups.
— Проверка конфигураций виртуализации (KVM hardening).
— Интеграция в CI/CD, настройка автоматических проверок в Jenkins, GitLab CI, KernelCI, LKFT.
Требования:
— Высшее техническое образование в области информационной безопасности или информационных технологий.
— Опыт работы с ядром Linux, понимание архитектуры и знакомство с кодом.
— Знание Java.
— Участие в разработке или анализе open-source проектов, таких как ядро Linux, QEMU, libvirt.
— Навыки статического анализа с использованием Coverity, Coccinelle, CodeQL.
— Опыт фаззинга системного ПО с инструментами syzkaller, AFL++, Trinity.
— Понимание аппаратной виртуализации (Intel VT-x/AMD-V, KVM, QEMU).
— Знание сетевых протоколов и подсистем TCP/IP, netfilter, eBPF, OVS.
— Опыт отладки с использованием GDB, kgdb, crash-утилит, трассировки.
— Умение работать с git и патч-менеджментом (git send-email, lore.kernel.org).
— Владение английским языком для чтения и написания технических отчетов, общения с upstream.
Будет плюсом:
— Знание ассемблера (x86/ARM/RISC-V) для анализа low-level уязвимостей.
— Опыт работы с формальными методами верификации, например для драйверов.
— Понимание атак на гипервизоры, таких как Spectre/Meltdown, VM escape.
— Навыки обратной разработки (reverse engineering).
Условия:
— Трудоустройство согласно ТК РФ.
— Конкурентная заработная плата по итогам собеседования.
— Квартальные премии.
— График работы 5/2 с гибким началом дня.
— Социальный пакет, включающий ДМС и оплату мобильной связи.
Контакты работодателя доступны по кнопке «Откликнуться» после входа.