РАССРОЧКА
Reverse engineering
Для кого этот курс?
- Для системных программистов, разрабатывающих низкоуровневый софт. Вы поймете, как код работает изнутри после компиляции, и сможете повысить качество своих решений.
- Для начинающих вирусных аналитиков и специалистов ИБ. Вы научитесь всем must have практикам реверс-инжиниринга и получите комплексное представление о вредоносном ПО.
Необходимые навыки:
- Знание архитектуры ЭВМ на начальном уровне
- Базовые знания внутреннего устройства Windows
- Преимуществом будет опыт программирования на языке C/C++ (это необязательное условие)
Минимальные системные требования для комфортного прохождения курса:
- Процессор с тактовой частотой 2,0 ГГц или больше, от 8 ГБ ОЗУ
- 100 ГБ свободного места на жестком диске
Как проходит практика?
Студенты заранее получают стенды и разворачивают их у себя локально до начала занятия.
На курсе вас ждет:
- Практика по распаковке файлов
- Практический разбор PE формата (таблица импорта, таблица экспорта, таблица релокаций)
- Практический анализ шифровальщиков, банковских троянов, ботов.
- Проектная работа, в рамках которой вы можете выбрать одну из предложенных преподавателем тем или реализовать свою идею.
Процесс обучения
Трудозатраты:
4 академических часа на занятия в неделю и 2-4 академических часа на домашнюю работу раз в 2 недели. Первый месяц занятия будут проходить в режиме 1 раз в неделю, для плавного погружения в процесс обучения.Партнеры
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности. Мы оказываем помощь в вопросах карьеры на протяжении всего обучения и спустя полгода после его завершения.
- Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
- Карьерные мероприятия в сообществе: получите рекомендации, как искать работу, и советы по прохождению собеседования
Работодатели курса
Программа
Низкоуровневое программирование на ассемблер под x8086/x64
В данном модуле проходит экспресс-курс изучения языка Ассемблер. Изучение необходимо для получения навыков чтения дизассемблерного кода в отладчике и дизассемблере. После изучения модуля, студент научится понимать, во что превращается скомпилированная программа и почему она содержит именно такие данные.
Тема 1: Регистры процессора, работа с памятью // ДЗ
Тема 2: Представление данных: знаковые и беззнаковые числа, символы. Основные команды ЯА
Тема 3: Представление кода: формат и опкоды команд
Тема 4: Арифметические и логические команды // ДЗ
Тема 5: Цепочечные операции // ДЗ
Тема 6: Подпрограммы
Тема 7: Дополнительное занятие: Представление данных
Тема 8: Прерывания BIOS // ДЗ
Тема 9: Написание кастомного MBR // ДЗ
Тема 10: RISС-архитектура на примере MIPS-процессоров // ДЗ
Защищённый режим процессора
Важный модуль, без которого невозможно будет понять принцип работы руткитов. Модуль включает в себя фундаментальные принципы работы процессора.
Тема 1: Режимы работы процессоров. Принцип работы процессора в PM. Сегментная организация памяти // ДЗ
Тема 2: Страничная организация памяти // ДЗ
Тема 3: Типы дескрипторов
Внутреннее устройство Windows
Данный модуль включает в себя изучение строения OS Windows. Модуль обязателен для успешного анализа руткитов.
Тема 1: Объекты ядра
Тема 2: Менеджер памяти
Тема 3: Диспетчер ввода-вывода
Тема 4: Настройка рабочей среды для отладки драйверов режима ядра // ДЗ
Системное программирование
Модуль включает в себя информацию, которая необходима для анализа большинства вредоносных программ.
Тема 1: PE формат
Тема 2: Таблица импорта
Тема 3: Таблица экспорта/Таблица релокаций // ДЗ
Тема 4: Решение crackme
Тема 5: Ловушки Windows
Тема 6: Перехват WinApi функций
Тема 7: Программирование Native приложений // ДЗ
Тема 8: Способы добавления в автозагрузку
Тема 9: Программирование служб // ДЗ
Обратная разработка программ
Данный модуль посвящён изучению практических навыков анализа программ.
Тема 1: Динамический анализ кода // ДЗ
Тема 2: Статический анализ кода
Тема 3: Разработка shell-кодов // ДЗ
Тема 4: Практическое занятие: ручная распаковка
Тема 5: Практическое занятие: анализ эксплойта
Тема 6: Практическое занятие: анализ вредоносного образца
Тема 7: Уязвимость Buffer Overflow
Тема 8: Уязвимость UAF
Тема 9: Буткиты
Проектный модуль
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.
Тема 1: Выбор темы и организация проектной работы
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Курс завершается выпускным проектом. Вместе с участниками группы по ходу курса мы «разревёрсим» несколько реальных вредоносных программ, определим их функционал и в качестве выпускного проекта напишем программу для лечения.
Преподаватели
Артур Пакулов
Kaspersky Lab
Ex-вирусный аналитик
Специалист в области низкоуровневого программирования, обратной разработки и анализа вредоносного программного обеспечения. В период 12.2015 - 05.2017 — специалист по образовательным программам и преподаватель Образовательного департамента «Лаборатории Касперского». Преподаватель и методист-разработчик курсов и программ по направлениям: «Защита информации от вредоносного ПО», «Низкоуровневое программирование», «Профессиональный пентестинг». Программы, разработанные Пакуловым, включены в учебные планы российских и зарубежных университетов, в том числе МГТУ им. Н.Э. Баумана, МГУ им. М.В. Ломоносова. Преподаватель международных магистерских программ по информационной безопасности. Навыки: Низкоуровневое программирование, Системное программирование, Реверс-инжиниринг, Анализ вредоносного ПО, Веб-безопасность, Программирование: Assembler, C/C++, Delphi, Python
Преподает на курсах
- Reverse engineering
- Информационная безопасность. Basic
Иван Квасенков
Positive Technologies
Старший специалист отдела анализа приложений
Окончил СПБГЭТУ ЛЭТИ по специальности "Компьютерная безопасность". Начал заниматься практической безопасностью еще в университете, участвуя в CTF. За практически 7 лет профессионального опыта получилось познакомится с широким стеком технологий, попрактиковаться как в исследовании, так и в разработке.
Преподает на курсах
- Reverse engineering
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Прошедшие
мероприятия
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Отзывы
Сертификат о прохождении курса
OTUS осуществляет лицензированную образовательную деятельность.
В конце прохождения специализации вы получите сертификат OTUS и официальный диплом о получении новой специальности
После обучения вы
- получите материалы по всем пройденным занятиям (видеозаписи курса, дoполнительные материалы, финальный проект для добавления в портфолио)
- научитесь читать ассемблерный код
- научитесь работать в специализированном ПО для обратной разработки (IDA Pro, WinDBG, OllyDbg, Hiew)
- освоите в теории и на практике основные приемы статического и динамического анализа кода
- повысите свою ценность и конкурентоспособность как специалиста
- получите сертификат об окончании курса