Наш продукт обеспечивает комплексный анализ защищенности ИТ-инфраструктуры, выявляя уязвимости и контролируя целостность конфигураций на основе данных из различных источников. Он работает с сетевым оборудованием, операционными системами, системами виртуализации и АСУТП, проверяя их соответствие вендорским настройкам и требованиям регуляторов. Система также предоставляет модуль аналитики для оценки работы правил межсетевых экранов и моделирования векторов атак, что позволяет пользователям выявлять и устранять уязвимости и неправильно настроенные компоненты.
Обязанности
- Разработка ядра и компонентов для клиент-серверной системы в области ИБ
- Участие в выборе технологий, разработки архитектуры и ее реализация
- Рефакторинг существующего кода
Обязательные требования
- глубокое знание языка C (минимум C89/C99) и стандартной библиотеки C - глубокое знание языка C++ (минимум C++11/C++14) и стандартной библиотеки C++ - понимание архитектуры и принципов работы современных ОС на основе Windows/Linux: загрузчик и загрузка ОС, ядро, user/kernel-space, службы и фоновые задачи, межпроцессное взаимодействие, файловые системы и т.д.; - опыт работы с многопоточностью и сетью (процессы/потоки, методы синхронизации, TCP/UDP, сокеты); - опыт работы с основными системами сборки: GNU autotools, GNU make, cmake; - опыт работы с разными компиляторами (gcc, clang, mingw64); - опыт работы с инструментами отладки и анализа кода (отладчики, санитайзеры, профилировщики, статический и динамический анализ кода); - опыт работы с системами управления кодом (git), понимание принципов ведения веток и релизов в репозитории; - опыт чтения чужого кода (в том числе legacy-кода), навыки проведения code review; - опыт написания unit-тестов, правила оформления и документирования кода; - опыт работы с СУБД PostgreSQL: общие знания основ баз данных, основы языка SQL, понимание базовых принципов работы СУБД PostgreSQL; - опыт системной разработки и опыт работы в командах разработки от 3 лет; - опыт наставничества, умение сформулировать и поставить задачу своему коллеге;
Будет плюсом
- уверенная работа в ОС Windows/Linux, работа в командной строке (sh, batch, powershell), работа со службами и сервисами; - уверенная работа со средствами виртуализации (VirtualBox, VmWare); - основные знания о контейнерах и опыт работы с ними; - начальные знания Python/Perl (умение читать написанный код, умение писать небольшие скрипты); - опыт написания расширений для СУБД PostgreSQL (в том числе на языке C/C++); - знание принципов устройства PostgreSQL: методов хранения и обработки данных, архитектуры памяти, методов хранения и построения индексов, знание принципов работы процессов и конвейера обработки запросов.