Курс: Reverse-Engineering
Что даст вам этот курс
Вы освоите на практике важнейшие приемы реверс-инжиниринга: статический и динамический анализ. Познакомитесь с низкоуровневым и системным программированием, подробно разберете аспекты внутреннего устройства Windows. Вам предстоит изучить и классифицировать вредоносное ПО на примерах реальных malware, выловленных в сети.
ЧТО ТАКОЕ РЕВЕРС-ИНЖИНИРИНГ?
Реверс-инжиниринг кода (обратная разработка кода) — это процесс анализа машинного кода программы, который ставит своей целью понять принцип работы, восстановить алгоритм, обнаружить недокументированные возможности программы, и т.п. Основные методы реверс-инжиниринга — это статический или динамический анализ кода. При статическом анализе исследователь дизассемблирует код программы, используя специальное ПО, и далее анализирует ассемблерный код. При динамическом анализе исследователь запускает код в изолированной среде (песочнице) или отладчике и анализирует код в динамике.
Для кого этот курс?
Для системных программистов, разрабатывающих низкоуровневый софт. Вы поймете, как код работает изнутри после компиляции, и сможете повысить качество своих решений.
Для начинающих вирусных аналитиков и специалистов ИБ. Вы научитесь всем must have практикам реверс-инжиниринга и получите комплексное представление о вредоносном ПО.
Как проходит практика?
Студенты заранее получают стенды и разворачивают их у себя локально до начала занятия.
На курсе вас ждет:
Практика по распаковке файлов
Практический разбор PE формата (таблица импорта, таблица экспорта, таблица релокаций)
Практический анализ шифровальщиков, банковских троянов, ботов.
Проектная работа, в рамках которой вы можете выбрать одну из предложенных преподавателем тем или реализовать свою идею.
Необходимые знания
Знание архитектуры ЭВМ на начальном уровне
Базовые знания внутреннего устройства Windows
Преимуществом будет опыт программирования на языке C/C++ (это необязательное условие)
Требования к "железу": процессор с тактовой частотой 2,0 ГГц или больше, от 8 ГБ ОЗУ, 100 ГБ свободного места на жестком диске