Привет, уважаемый будущий коллега!
Мы ищем специалиста по системному программированию и исследованию информационной безопасности для разработки контролируемых инструментов проверки защищенности и adversary emulation под Windows и macOS.
Предстоящие задачи
- Проектировать и разрабатывать на C/C++ лабораторные системные агенты под Windows и macOS.
- Реализация лабораторных сценариев adversary emulation на уровне нативного программного обеспечения Windows и macOS.
- Анализ существующих образцов и технических публикаций с целью воспроизведения отдельных поведенческих характеристик в безопасной тестовой реализации.
- Исследовать внутренние механизмы операционных систем Windows и macOS.
- Разрабатывать модульные компоненты сбора тестовой телеметрии и взаимодействия с локальной исследовательской инфраструктурой.
- Проводить статический и динамический анализ бинарного программного обеспечения.
- Исследовать исполняемые файлы форматов PE и Mach-O.
- Диагностировать низкоуровневые ошибки, проблемы памяти, синхронизации и межпроцессного взаимодействия.
- Создавать воспроизводимые лабораторные стенды и сценарии испытаний.
- Сопоставлять действия тестовых агентов с событиями EDR, SIEM и системных журналов.
- Проверять совместимость программных компонентов с различными версиями Windows и macOS.
- Подготавливать техническую документацию и отчеты по результатам исследований.
- Участвовать в code review и архитектурном проектировании.
Обязательные требования
- Практический опыт системной разработки на C/C++ от трех лет.
- Глубокое понимание архитектуры Windows и/или macOS.
- Знание процессов, потоков, виртуальной памяти, системных интерфейсов, IPC и сетевого взаимодействия.
- Понимание принципов разграничения доступа, привилегий и изоляции приложений.
- Знание форматов исполняемых файлов PE и/или Mach-O.
- Уверенное чтение ассемблерного кода x86/x64.
- Понимание архитектуры ARM64 будет необходимо для работы с современными устройствами Apple.
- Понимание ABI, calling conventions, работы стека и результатов оптимизации компилятора.
- Практический опыт реверс-инжиниринга с использованием IDA Pro или Ghidra.
- Опыт работы с WinDbg, x64dbg, LLDB или аналогичными отладчиками.
- Навыки статического и динамического анализа бинарного программного обеспечения.
- Умение восстанавливать логику неизвестной программы и определять назначение ее компонентов.
- Умение диагностировать ошибки управления памятью, синхронизации и взаимодействия компонентов.
- Python на уровне автоматизации тестовых и исследовательских задач.
- Опыт работы с Git, системами сборки и code review.
- Способность документировать архитектуру, ограничения и результаты испытаний.
Требования по Windows
Кандидат должен понимать основные механизмы Windows:
- процессы и потоки;
- виртуальную память;
- службы;
- токены доступа и привилегии;
- объекты ядра;
- DLL и механизм их загрузки;
- WinAPI;
- системный реестр;
- файловую систему;
- механизмы обработки исключений;
- структуру PE-файлов;
- диагностику приложений пользовательского режима.
Дополнительным преимуществом будет понимание Native API, ETW, Windows Filtering Platform и принципов разработки драйверов.
Требования по macOS
Кандидат должен понимать основные механизмы macOS:
- процессы и потоки;
- виртуальную память;
- архитектуру XNU на концептуальном уровне;
- системные фреймворки и API;
- механизм запуска и управления службами;
- межпроцессное взаимодействие;
- структуру Mach-O;
- динамический загрузчик dyld;
- Objective-C Runtime;
- механизмы подписи кода;
- sandbox и entitlements;
- систему разрешений Transparency, Consent and Control;
- Keychain на уровне архитектуры и разрешенного программного взаимодействия;
- механизмы журналирования и диагностики;
- особенности архитектур Intel и Apple Silicon.
Дополнительным преимуществом будет опыт работы с Endpoint Security Framework, System Extensions и DriverKit.
Будет преимуществом
- Опыт анализа вредоносного программного обеспечения.
- Опыт разработки EDR, антивирусных, античит-компонентов или системных средств мониторинга.
- Опыт разработки программных агентов под Windows или macOS.
- Опыт разработки средств проверки защищенности или adversary-emulation решений.
- Практический опыт работы с Apple Silicon и архитектурой ARM64.
- Понимание механизмов защиты macOS: Gatekeeper, notarization, hardened runtime, sandbox и System Integrity Protection.
- Знание YARA и Sigma.
- Опыт работы с ETW или Endpoint Security Framework.
- Опыт разработки Windows-драйверов, System Extensions или DriverKit-компонентов.
- Поиск и исследование уязвимостей.
- Написание безопасных демонстрационных PoC.
- Опыт работы с виртуализацией и автоматизированными лабораторными стендами.
- Опыт разработки инструментов анализа бинарных файлов.
- Профильные публикации, доклады, исследовательские проекты или участие в CTF.
Ремарка
- Все работы выполняются только в рамках согласованной исследовательской программы.
- Исходный код проходит обязательное ревью.
- Все эксперименты должны быть воспроизводимыми и документированными.
- Разрабатываемые компоненты не должны взаимодействовать с внешними системами без отдельного письменного разрешения.
Условия
- Фиксированный и постоянный процент от чистой прибыли в рамках вашего проекта
- Высокий уровень дохода.
- Работа в коллективе опытных специалистов.
- Гибкий график выстроенный по договоренности и необходимости. Ориентир, то от чего будем отталкиваться - 5/2
После отклика:
Пожалуйста ответьте на вопросы в гугл форме, это займет 5-10 минут.
Так мы сможем быстрее пригласить вас на второй этап интервью, спасибо!