Positive Technologies
Любой город, Удаленная работа

Reverse Engineer

Мы находимся в поиске Reverse инженера, которому предстоит заниматься анализом двоичного кода с целью поиска ошибок реализации, уязвимостей и/или восстановления логики работы программ. Объекты для анализа могут поставляться другими отделами, выявляться в ходе расследования инцидентов, анализа патчей и т.п. От соискателя ожидается пытливость ума, склонность к анализу и постоянное желание изучать новое.

Требования:

  • Понимание принципов проектирования и построения вычислительных систем;
  • Знание типов уязвимостей в бинарном коде, причины их появления, способы обнаружения и эксплуатации;
  • Хорошее знание архитектуры и внутреннего устройства OC хотя бы одной популярной операционной системы (Windows/UNIX/Linux/MacOS);
  • Желательно знание архитектуры и внутреннего устройства хотя бы одной популярной мобильной операционной системы (Windows/Android/iOS);
  • Хорошее знание языка ассемблера для как можно большего числа архитектур процессоров (x86, AMD64, ARM, AArch64, MIPS);
  • Желательно базовое знание байткода популярных сред выполнения (IL, Java);
  • Умение "читать" и понимать код на популярных языках программирования (С/C++/C#/Delphi/Java/Python/PHP/JavaScript);
  • Знание особенностей кодогенерации современных компиляторов;
  • Умение программировать на C/C++ и, желательно, на Python (для прототипирования);
  • Понимание особенностей применения криптографии и возникающих при этом проблем;
  • Технический английский (чтение документации);
  • Базовое знание алгоритмов и структур данных;
  • Базовое знание форматов файлов и методов компрессии;
  • Базовое знание сетевых протоколов и методов их анализа, стека TCP/IP (WireShark);
  • Базовое знание протоколов HTTP, SOAP;
  • Знание инструментов и методов анализа кода;
  • Владение IDA Pro и средствами ее расширения (плагины, IDAPython);
  • Хорошие навыки отладки двоичного кода;
  • Умение самостоятельно разрабатывать недостающий инструментарий.

Задачи:

  • Анализ логики работы отдельных частей приложения;
  • Написание функциональных прототипов, повторяющих работу реконструированного кода;
  • Анализ изменений, вносимых патчами;
  • Обнаружение логических ошибок и уязвимостей в двоичном коде;
  • Разработка PoC-эксплойтов и способов безопасной проверки на наличие/отсутствие уязвимости;
  • Анализ функционала вредоносного кода и документирование способов его взаимодействия со средой выполнения;
  • Документирование обнаруженных проблем.

Мы предлагаем

  • Ежегодный отпуск

    28 календарных дней и 10 дополнительных оплачиваемых выходных

  • Карьерный рост

    Обучение и рост вместе с лучшими экспертами

  • Окружение

    Сильную команду профессионалов, с которыми ты будешь решать сложные интересные задачи и определять будущее кибербезопасности в мире

  • Коммьюнити

    Возможность стать частью комьюнити и проводить время с коллегами вне работы. У нас есть спортивные сборные и клубы по интересам

  • Комфорт

    Гибридный график и гибкое начало рабочего дня

  • Доверие

    Работу в аккредитованной ИТ-компании и возможность использования льгот Министерства цифрового развития

  • Забота о здоровье

    Заботу о здоровье: ДМС (стоматология, вызов врача на дом и экстренная госпитализация — с первого месяца работы), частичная компенсация занятий спортом и английским

Инструменты и стек

  • Python

  • С#

  • С++

  • Go

Откликнуться на вакансию

Расскажите нам о себе и наш менеджер непременно свяжется с вами.

Почта
+7 (555) 555-55-55

Выберите Резюме
в формате DOCX, PDF не более 10 Мб