3 курса Reverse Engineering доступных для прохождения в 2024 году

Обратная разработка (Reverse Engineering) - это процесс анализа продукта или системы для понимания его работы, структуры или дизайна. Основная цель обратной разработки заключается в изучении функционала или строения объекта с целью его воссоздания, улучшения, оптимизации или создания альтернативного решения. Обратная разработка остаётся важным и перспективным направлением по нескольким причинам:

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

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

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

  4. Разработка ПО: Обратная разработка используется для анализа и улучшения программного обеспечения, оптимизации кода и исправления ошибок.

  5. Защита интеллектуальной собственности: Она позволяет компаниям защищать свои интеллектуальные права, обнаруживать нарушения и предотвращать кражу интеллектуальной собственности.

  6. Эффективность и оптимизация: Обратная разработка помогает найти оптимизационные возможности и повысить эффективность процессов, что остаётся важным для конкурентоспособности компаний.

С ростом технологий и увеличением объёма данных, обратная разработка продолжает оставаться актуальной и востребованной, играя ключевую роль в различных отраслях, от информационной безопасности до разработки программного обеспечения и инновационных технологий.

Курс «Reverse-Engineering» — OTUS

Курс "Реверс-инжиниринг" от OTUS научит вас находить и исправлять уязвимости в системах и приложениях, являясь единственным практическим курсом на российском рынке. Продолжительность курса — 5 месяцев с 4 академическими часами в неделю, проводящимися онлайн, начиная с 16 апреля.

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

Преподавателем курса является Артур Пакулов, экс-вирусный аналитик Kaspersky Lab, специализирующийся на низкоуровневом программировании и анализе вредоносного ПО. Он преподавал в образовательном департаменте Лаборатории Касперского и разработал программы, включенные в учебные планы ведущих университетов.

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

Перед началом курса учащимся желательно обладать базовыми знаниями архитектуры ЭВМ, внутреннего устройства Windows и опытом программирования на C/C++. Ожидается, что после обучения вы научитесь читать ассемблерный код, работать с специализированным ПО для обратной разработки и освоите методы анализа кода. Выпускники курса получат сертификат и материалы по всем пройденным занятиям для дальнейшего использования в карьере.

Стоимость курса составляет 63 000 рублей с возможностью оплаты в рассрочку. Курс привлекает внимание корпоративных клиентов, предлагая оптимизацию систем и работу над реальными промышленными задачами. Обучение предполагает интенсивную практику и подходит для тех, кто стремится повысить свою конкурентоспособность и ценность как специалиста в области информационной безопасности.

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

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

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

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

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

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

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

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

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

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

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

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

Модуль 3. Защищённый режим процессора

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

Модуль 4. Внутреннее устройство Windows

  • Тема 14. Объекты ядра
  • Тема 15. Менеджер памяти
  • Тема 16. Диспетчер ввода-вывода

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

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

Модуль 6. Обратная разработка программ

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

Модуль 7. Проектный модуль

  • Тема 35. Выбор темы и организация проектной работы
  • Тема 36. Консультация по проектам и домашним заданиям
  • Тема 37. Защита проектных работ.

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

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

  • получите материалы по всем пройденным занятиям (видеозаписи курса, дoполнительные материалы, финальный проект для добавления в портфолио)
  • научитесь читать ассемблерный код
  • научитесь работать в специализированном ПО для обратной разработки (IDA Pro, WinDBG, OllyDbg, Hiew)
  • освоите в теории и на практике основные приемы статического и динамического анализа кода
  • повысите свою ценность и конкурентоспособность как специалиста
  • получите сертификат об окончании курса.
Стоимость: 63000 ₽
Подробнее о курсе →
Курс «2MC: Reverse Engineering» — Coursera

Курс "2MC: Обратный инжиниринг", предлагаемый Университетом Иллинойс в Урбана-Шампейн, является частью специализации "Профессиональный IQ: Предотвращение и решение проблем на работе". С рейтингом 4.5 из 5 и 11 тысячами зарегистрированных учащихся, курс направлен на развитие лидерских качеств и влияния на профессиональной арене.

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

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

Преподаватель курса, C. K. Gunsalus, является директором Национального центра профессиональной и исследовательской этики (NCPRE), профессором эмеритой бизнеса и исследовательским профессором в Координированной научной лаборатории. Учащиеся познакомятся с курсом, однокурсниками и учебной средой, а также получат технические навыки, необходимые для успешного прохождения курса.

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

  • Ориентация курса
    Вы познакомитесь с курсом, своими одноклассниками и нашей учебной средой. Ориентация также поможет вам получить технические навыки, необходимые для прохождения курса.
  • Неделя 1: Становление лидером
    Узнайте, каково это - перейти на руководящую роль. Узнайте, как ваши ценности и брендинг важны в этот переходный период.
  • Неделя 2: Влияние, Убеждение и переговоры
    Узнайте, как влияние и убеждение являются ключом к лидерству и некоторым основным концепциям и навыкам ведения переговоров. Узнайте больше об эффективной коммуникации.
  • Неделя 3: Трудные разговоры в качестве лидера
    Развивайте навыки ведения сложных разговоров, включая предоставление и получение обратной связи, а также обработку жалоб.
  • Неделя 4: Это Твоя Жизнь - Живи хорошо
    Соберите воедино навыки и знания, полученные на всех курсах, изучая важность вашего соответствия и соответствия организации. Подумайте о важности обучения в качестве лидера и спланируйте, что произойдет дальше.
Стоимость: бесплатно
Подробнее о курсе →
Курс «Reverse Engineering and Exploit Development» — Udemy

Курс "Reverse Engineering and Exploit Development" на Udemy предназначен для начинающих специалистов в области безопасности, тестирования на проникновение и реверс-инжиниринга. С рейтингом 4,2 из 5 и общим числом 11 355 студентов, этот курс направлен на обучение учащихся общим уязвимостям программного обеспечения, методам их поиска и разработке эксплойтов.

За цену 49,99 долларов студенты получают 6 часов видеоматериалов, доступ к одной статье и одному ресурсу для скачивания, а также возможность доступа к материалам через мобильные устройства и телевизор. По завершении курса предоставляется сертификат.

Курс состоит из 12 разделов и 70 лекций, продолжительностью 6 часов и 6 минут, и включает в себя изучение инструментов для реверс-инжиниринга, нахождения уязвимостей в различных операционных системах и разработки эксплойтов. Учащиеся узнают о реверс-инжиниринге скомпилированных приложений Windows, включая использование fuzzing, stack overflow и heap overflow. Курс также охватывает реверс-инжиниринг приложений для OS X, Linux и Android, а также методы поиска уязвимостей на сайтах и в базах данных.

Автор курса, эксперт Филипп Полстра, научит студентов понимать и разрабатывать простые эксплойты, включая эксплойты для веб-приложений и ARM-устройств. По завершении курса учащиеся будут полностью способны находить уязвимости и разрабатывать для них эксплойты. Курс предоставляет рабочие файлы, позволяющие студентам практически применять полученные знания на протяжении всех уроков.

Курс предназначен для всех, кто заинтересован в реверс-инжиниринге и разработке эксплойтов, и предлагает обширный материал для начинающих в этой области.

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

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

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

12 разделов, 70 лекций

  1. Getting Started
  2. Reversing Compiled Windows Applications
  3. Reversing Compiled OS X Applications
  4. Reversing Compiled Linux Applications
  5. Reversing Android Applications
  6. Finding Other Vulnerabilities
  7. Simple Exploits
  8. Exploit Payloads
  9. Making Exploits Harder To Detect
  10. Web Exploitation
  11. ARM Exploitation
  12. Future Directions.
Стоимость: 4 690 ₽
Подробнее о курсе →

Перейти к курсу ↑