Реверс-инженер: кто это, обязанности, зарплаты и как им стать в 2023 году. Обзор профессии.

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

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

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

Обязанности, например, на одной из вакантных должностей:

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

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

Требования к обратному инжинирингу:

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

Востребованность и зарплаты реверс-инженеров

Сейчас на странице поиска работы 197 вакансий, и спрос на реверс-инжиниринг растет с каждым месяцем.

Количество вакансий реверс-инженера с указанной зарплатой по всей России:

  • от 95 000 руб. 65
  • от 155 000 руб. 45
  • от 215 000 руб. 12
  • от 275 000 руб. 10
  • от 335 000 руб. 6

Вакансии с указанным уровнем дохода в Москве:

  • от 105 000 руб. 17
  • от 165 000 руб. 8
  • от 280 000 руб. 5
  • от 340 000 руб. 4

Вакансии с указанным уровнем дохода в Санкт-Петербурге:

  • от 95 000 руб. 1. 3
  • от 155 000 руб. 7
  • от 215 000 руб. 5
  • от 275 000 руб. 3
  • от 335 000 руб. 2

Как стать реверс-инженером и где учиться?

Варианты обучения реверс-инженеру с нуля:

  • Самостоятельное обучение — всевозможные видео на YouTube, книги, форумы, туториалы и т д. Плюсы — дешево или очень доступно. Недостатки — нет последовательности, самообучение может быть малоэффективным, приобретенные навыки могут не потребоваться работодателю;
  • Онлайн обучение. Вы можете пройти курс на одной из образовательных платформ. Такие курсы рассчитаны на людей без специальной подготовки, поэтому подойдут большинству людей. Обычно упор в онлайн-обучении делается на практику — это позволяет быстро пополнить портфолио и устроиться на работу сразу после обучения.

Ниже представлен обзор 3 лучших онлайн-курсов.

3 лучших курсов для обучения реверс-инженера: подробный обзор

1 место. Курс «Reverse-Engineering» — OTUS

https://otus.ru/lessons/revers-engineering/

Обратный инженер: кто это, обязанности, зарплата и какой она будет в 2023 году. Обзор карьеры.

Цена: 53 200 ₽

На практике вы освоите самые важные приемы реверс-инжиниринга: статический и динамический анализ. Вы познакомитесь с низкоуровневым и системным программированием, подробно разбирая аспекты внутренней структуры Windows. Вы должны изучить и классифицировать вредоносные программы, используя примеры реальных вредоносных программ, найденных в Интернете.

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

Для кого этот курс?

  • Для системных программистов, разрабатывающих низкоуровневое ПО. Вы поймете, как работает код изнутри после компиляции, и сможете улучшить качество своих решений.
  • Для начинающих вирусных аналитиков и специалистов по информационной безопасности. Вы изучите все методы обратного проектирования, которые вам необходимы, и получите всестороннее представление о вредоносных программах.

Как проходит практика?

Учащиеся получают стенды заранее и перед началом занятий раздают их локально. Вы будете выполнять упражнение на своей виртуальной машине во время вебинара под руководством преподавателя. На курсе вы найдете:

  • упражнение на извлечение файлов
  • Практический анализ формата PE (таблица импорта, таблица экспорта, таблица перемещения)
  • Практический анализ программ-вымогателей, банковских троянов, ботов.
  • Проектная работа, где вы пишете свою программу для лечения вредоносных программ.

Программа обучения:

Модуль 1. Низкоуровневое программирование на ассемблере для x8086/x64.

  • Тема 1. Регистры процессора, работа с памятью
  • Тема 2. Представление данных, кода, командных опкодеров. Основные команды YaA
  • Тема 3. Арифметические и логические команды
  • Тема 4. Цепная операция
  • Тема 5. Подпрограммы
  • Тема 6. Прерывания BIOS
  • Тема 7. Написание пользовательской MBR

Модуль 2. Низкоуровневое программирование на языке ассемблера под MIPS.

  • Тема 8. Регистры процессора. Работа с памятью
  • Тема 9. Арифметика, логические команды. Инструкции условного/безусловного перехода
  • Тема 10. Кодировщики команд

Модуль 3

  • Тема 11. Режимы работы процессоров. Принцип работы процессора в ПМ. Сегментарная организация памяти
  • Тема 12. Поиск в памяти
  • Тема 13. Типы дескрипторов

Модуль 4: Windows внутри

  • Тема 14. Основные объекты
  • Тема 15. Управление памятью
  • Тема 16: Диспетчер ввода/вывода

Модуль 5: Системное программирование

  • Тема 17. Формат PE
  • Тема 18. Таблица импорта
  • Тема 19. Экспорт таблицы/Перенос таблицы
  • Тема 20. Ловушки Windows
  • Тема 21. Перехват функций WinApi
  • Тема 22. Программирование оригинальных приложений
  • Тема 23
  • Тема 24. Сервисное программирование
  • Тема 25

Модуль 6

  • Тема 26. Динамический анализ кода
  • Тема 27. Статический анализ кода
  • Тема 28. Разработка шелл-кодов
  • Тема 29. Практика: ручная распаковка
  • Тема 30. Практика: анализ использования
  • Тема 31. Практика: анализ вредоносных образцов
  • Тема 32. Уязвимость, связанная с переполнением буфера
  • Тема 33. Уязвимость UAF
  • Тема 34. Буткиты

Модуль 7. Модуль проекта

  • Тема 35. Выбор темы и организация проектной работы
  • Тема 36
  • Тема 37. Охрана инженерных работ.

Дипломная работа:
Вместе с участниками группы в ходе курса мы «отреверсим» несколько реальных вредоносных программ, определим их функционал и напишем программу для лечения в качестве итогового проекта.

После обучения вы

  • получать материалы по всем пройденным занятиям (видеокурса, дополнительные материалы, итоговый проект для добавления в портфолио)
  • научиться читать ассемблерный код
  • научиться работать со специализированным ПО для реверс-инжиниринга (IDA Pro, WinDBG, OllyDbg, Hiew)
  • овладеть теорией и практиковать основные методы статического и динамического анализа кода
  • повысить свою ценность и конкурентоспособность как специалиста
  • получить сертификат о прохождении курса.

2 место. Курс «Reverse Engineering and Exploit Development» — Udemy

https://www.udemy.com/course/reverse-engineering-and-exploit-development/

Обратный инженер: кто это, обязанности, зарплата и какой она будет в 2023 году. Обзор карьеры.

Цена: 4 690 ₽

Чему вы хотите научиться:

  • Узнайте больше о различных инструментах разворота
  • Узнайте больше о распространенных уязвимостях и о том, как их найти
  • Вы познакомитесь с простыми эксплойтами, используя веб-ресурсы и используя ARM.

Материал курса

12 секций, 70 лекций

  1. Начиная
  2. Реверсирование скомпилированных приложений Windows
  3. Реверсирование скомпилированных приложений OS X
  4. Реверсирование скомпилированных приложений Linux
  5. Откат приложений Android
  6. Найдите другие уязвимости
  7. Простые эксплойты
  8. Использовать полезную нагрузку
  9. Усложняет обнаружение эксплуатации
  10. Чистое использование
  11. ARM-эксплуатация
  12. Будущие направления.

3 место.Курс «2MC: Reverse Engineering» — Coursera

https://www.coursera.org/lecture/leadership-influence/2mc-reverse-engineering-Egfjn

Обратный инженер: кто это, обязанности, зарплата и какой она будет в 2023 году. Обзор карьеры.

Стоимость: бесплатно

Программа курса:

  • Ориентация курса
    Вы познакомитесь с курсом, вашими одноклассниками и нашей учебной средой. Ориентация также поможет вам получить технические навыки, необходимые для прохождения курса.
  • Неделя 1: Станьте лидером
    Узнайте, каково это – занять руководящую должность. Узнайте, насколько важны ваши ценности и брендинг во время этого перехода.
  • Неделя 2: Влияние, убеждение и переговоры
    Узнайте, как влияние и убеждение являются ключом к лидерству, и некоторые основные концепции и навыки ведения переговоров. Узнайте больше об эффективной коммуникации.
  • Неделя 3: Сложные разговоры в качестве лидера
    Развить сложные коммуникативные навыки, в том числе давать и получать обратную связь и работать с жалобами.
  • Неделя 4: Это твоя жизнь — живи хорошо
    Соберите навыки и знания, полученные на всех курсах, и узнайте о важности вашего соответствия организации. Подумайте о важности обучения в качестве лидера и спланируйте, что будет дальше.
Оцените статью
( Пока оценок нет )