Частина 2: Техніки
Існує дві основні техніки, які можна використовувати для аналізу шкідливого програмного забезпечення. Перша — статичний аналіз, друга — динамічний аналіз.
Статичний аналіз використовує програмні засоби для перевірки виконуваного файлу без запуску фактичних декомпільованих інструкцій в асемблері. Ми не будемо зосереджуватися на цьому типі аналізу, оскільки в даному курсі ми зосередимося на фактичних розібраних бінарних файлах, однак у майбутніх курсах ми це зробимо.
Динамічний аналіз використовує дизасемблери та відладчики для аналізу бінарних файлів шкідливого програмного забезпечення під час їх фактичного виконання. Найпопулярнішим інструментом на ринку сьогодні є IDA — мультиплатформовий, мультипроцесорний дизасемблер і відладчик. На ринку сьогодні є й інші інструменти для дизасемблювання/відладки, такі як Hopper Disassembler, OllyDbg та багато інших.
Дисасемблер перетворює виконуваний бінарний файл, написаний на мовах Assembly, C, C++ тощо, в інструкції мови Assembly, які ви можете налагоджувати та обробляти.
Зворотна інженерія — це набагато більше, ніж просто аналіз шкідливого програмного забезпечення. Наприкінці нашої серії в нашому підсумковому підручнику ми будемо використовувати IDA, створюючи реальний сценарій, в якому ви отримаєте завдання від генерального директора ABC Biochemicals таємно спробувати етично зламати програмне забезпечення його компанії, яке контролює куленепробивну двері в дуже чутливій біохімічній лабораторії, щоб перевірити, наскільки добре програмне забезпечення працює проти реальних загроз. Проект буде дуже простим, але в кінцевому підсумку він продемонструє потужність мови асемблера і те, як її можна використовувати для зворотного інжинірингу і, в кінцевому підсумку, для надання рішень щодо того, як краще спроектувати код, щоб зробити його безпечнішим.
У нашому наступному уроці ми обговоримо різні типи шкідливого програмного забезпечення.