Российский разработчик продуктов в области информационной безопасности ищет к себе в команду Инженера ядра и протоколов (C/C++).
Мы — прогрессивная команда
IT-специалистов в области разработки средств информационной безопасности, обработки и анализа данных, а также роботизации бизнес-процессов
Обещаем много интересной работы на динамично растущем рынке, достойных вызовов, рост вместе с бизнесом и команду единомышленников!
Задачи, которые необходимо решать:
• разбор обращений и инцидентов, воспроизведение проблем на стенде;
• исправление дефектов C++-служб анализа и захвата: crash, race condition, memory leaks, heap corruptions; тесты и диагностика на исправленные дефекты;
• снятие диагностики: журналы, счётчики, статистика; различение «детектор не сработал» и «данные не дошли»;
• сопровождение релизов и обновлений на объектах: deb/rpm, systemd-юниты, Linux и Windows.
• правки ядра и библиотек: существующий конвейер обработки и проектирование нового;
• нативные парсеры L7-протоколов по спецификации и по дампу: HTTP, TLS, SSH, DNS, SMB, Kerberos, LDAP, DCE-RPC, Oracle TNS, wire-протокол PostgreSQL и другие;
• транспорт захвата и обработки трафика: DPDK, AF_PACKET, многопоточный hot path;
• IPC между службами: модуль ядра Linux и драйвер под Windows.
От претендента ожидаем:
• C/C++: промышленная разработка от 5 лет; уверенное владение C++17 (стандарт проекта), понимание C++20;
• управление ресурсами: ручное управление временем жизни объектов — RAII, явный владелец, освобождение на всех путях, включая ошибочные; без расчёта на автоматическое управление памятью;
• многопоточность: модель памяти C++, атомики, барьеры; умение доказать потокобезопасность своей правки;
• сети: TCP/IP на уровне реассемблирования, а не «клиент-сервер»; фрагментация IPv4/IPv6, перекрытия фрагментов;
• трафик: понимание зеркалируемого трафика — дубли, потери, NAT, асимметрия;
• Linux: systemd, права, сеть, пакеты;
• отладка: разбор core-дампов, ASAN/UBSAN, gdbserver и удалённая отладка;
• ABI: понимание того, что ломает совместимость при экспорте из DLL/SO;
• сборка и версии: CMake на уровне чтения и правки целей; Git;
• модуль ядра Linux: готовность работать с кодом IPC между службами (опыт сборки и отладки — плюс, не обязателен);
• английский: чтение технической документации.
Желательно:
• профилирование, понимание кеша и NUMA; DPDK, hugepages, привязка к ядрам; опыт работы над крупной системой с десятками внешних зависимостей;
• сборка и отладка модуля ядра Linux;
• GTest, CI/CD;
• Lua 5.x — понимание скриптового слоя продукта;
• PostgreSQL, ClickHouse, LMDB; Kafka, syslog, IPFIX/NetFlow;
• предметная область ИБ: MITRE ATT&CK, сигнатурный анализ.
• Стек: C++17 (gcc, clang, MSVC), CMake, Git и непрерывная интеграция, Linux и Windows, deb/rpm, DPDK, собственный модуль ядра Linux для IPC, Lua 5.x, GTest, PostgreSQL, ClickHouse, LMDB, Kafka, syslog, IPFIX/NetFlow
#NGRTeam предлагает своим сотрудникам:
Забота о достатке:
Забота о развитии:
Москва
от 150000 RUR