Обратно инженерство - безплатен курс от Otus, обучение 5 месеца, дата 30 ноември 2023 г.
разни / / December 03, 2023
Ще овладеете на практика най-важните техники на обратното инженерство: статичен и динамичен анализ.
Запознайте се с програмирането на ниско ниво и системното програмиране и разберете в детайли аспектите на вътрешната структура на Windows.
Ще изучавате и класифицирате зловреден софтуер, като използвате примери за реален зловреден софтуер, уловен в мрежата.
КАКВО Е ОБРАТНО ИНЖЕНЕРСТВО?
Кодово обратно инженерство (кодово обратно инженерство) е процес на анализ на машинния код на програма, който има за цел да разбере принципа на работа, възстановяване на алгоритъма, откриване на недокументирани програмни възможности и др. Основните методи за обратно инженерство са статични или динамични анализ на кода. При статичния анализ изследователят разглобява програмния код с помощта на специален софтуер и след това анализира асемблиращия код. При динамичния анализ изследователят изпълнява кода в изолирана среда (sandbox) или програма за отстраняване на грешки и анализира кода във времето.
За кого е този курс?
- За системни програмисти, разработващи софтуер от ниско ниво. Ще разберете как кодът работи вътрешно след компилиране и можете да подобрите качеството на вашите решения.
- За начинаещи вирусни анализатори и специалисти по информационна сигурност. Ще научите всички задължителни практики за обратно инженерство и ще придобиете цялостно разбиране за зловреден софтуер.
Как върви практиката?
Учениците получават стойки предварително и ги поставят на място преди началото на часа. Ще изпълнявате практиката на вашата виртуална машина по време на уебинар под ръководството на учител.
Какво ви очаква на курса:
- Практикувайте разопаковане на файлове
- Практически анализ на PE формата (таблица за импортиране, таблица за експортиране, таблица за преместване)
- Практически анализ на ransomware, банкови троянски коне, ботове.
- Работа по проект, в рамките на която ще напишете своя собствена програма за лечение на зловреден софтуер
Нашите партньори от Certiport предоставят 10% отстъпка от изпитите за сертифициране на EC-Council (EHA, CFA) за всички студенти!
Програмиране на ниско ниво в асемблер за x8086/x64.
-Тема 1. Процесорни регистри, работа с памет
-Тема 2. Представяне на данни, код, кодове на команди. Основни YA команди
-Тема 3. Аритметични и логически команди
-Тема 4. Верижни операции
-Тема 5. Подпрограми
-Тема 6. Прекъсвания на BIOS
-Тема 7. Писане на персонализиран MBR
Програмиране на ниско ниво в асемблер за MIPS.
-Тема 8.Регистри на процесора. Работа с паметта
-Тема 9. Аритметика, логически команди. Условни/безусловни команди за прескачане
-Тема 10. Операционни кодове на команди
Защитен режим на процесора
- Тема 11. Режими на работа на процесорите. Принципът на работа на процесора в PM. Сегментна организация на паметта
-Тема 12. Странична организация на паметта
-Тема 13.Видове дескриптори
Вътрешни части на Windows
-Тема 14. Обекти на ядрото
-Тема 15. Мениджър на паметта
-Тема 16.I/O Manager
Системно програмиране
-Тема 17.PE формат
-Тема 18.Импортиране на таблица
-Тема 19. Таблица за експорт/Таблица за преместване
-Тема 20. Windows Traps
-Тема 21. Прихващане на WinApi функции
-Тема 22. Програмиране на Native приложения
-Тема 23. Методи за добавяне към стартиране
-Тема 24.Програмни услуги
-Тема 25. Настройка на работна среда за отстраняване на грешки в драйвери за режим на ядрото
Обратно инженерство на програми
-Тема 26. Анализ на динамичен код
-Тема 27. Статичен анализ на код
-Тема 28. Разработване на шел кодове
-Тема 29. Практика: ръчно разопаковане
-Тема 30. Практика: анализ на експлоатация
-Тема 31. Практика: анализ на злонамерена проба
-Тема 32. Уязвимост при препълване на буфера
-Тема 33. Уязвимост на UAF
-Тема 34. Буткитове
Проектен модул
-Тема 35. Избор на тема и организация на работата по проекта
-Тема 36. Консултации по проекти и домашни
-Тема 37. Защита на проектантска работа