Статьи

Образование и подготовка специалистов

2024-05-29 14:07

Кто такой реверс-инженер?

Реверс-инженер (reverse engineer) — это специалист по обратной разработке, который исследует готовое устройство/программу и документацию для того, чтобы понять принцип работы или найти уязвимости, а в последующем сделать изменение или воспроизвести устройство, программу или иной продукт с такими же функциями, но без прямого копирования.

Что делают реверс-инженеры и  чем занимаются?

Обязанности на примере одной из вакансий:
  • Поиск уязвимостей в ПО различных устройств;
  • Реверс-инженеринг;
  • Работа с фазером;
  • Работа с дизассеблерами и отладчиками;
  • Написание небольших программ и сценариев;
  • Работа с firmware, загрузчиками, ПО и ядром Linux;

Что должен знать и уметь реверс-инженер?

Требования к реверс-инженерам:
  • Знание типов уязвимостей в бинарном коде, причин их появления, способов обнаружения и эксплуатации;
  • Опыт тестирования на проникновение и исследования уязвимостей ПО;
  • Уверенное владение инструментами дизассемблирования и отладки (IDA Pro, WinDBG, etc.);
  • Знание современных процессорных архитектур x86/64, ARM, PowerPС
  • Уверенное понимание принципов работы ОС Linux;
  • Уверенное знание языков программирования С/С++/Python;
  • Понимание технологии фаззинга;