Лабораторна робота 1. Лабораторна робота 1 дослідження роботи программоніторів мета і задачі
Скачать 0.77 Mb.
|
Лабораторна робота №1 ДОСЛІДЖЕННЯ РОБОТИ ПРОГРАМ-МОНІТОРІВ Мета і задачі Ознайомитись на практиці з основними програмними засобами, що використовуються зламниками для попереднього аналізу роботи захищеного програмного забезпечення. Дослідити програми моніторингу для виявлення програмами викорис-таних АРІ-функцій і мережевих з’єднань. Навчитись обирати програмні засоби для аналізу системи захисту програм. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ Порядок дослідження роботи систем захисту Для ефективного дослідження (зламу) програмного забезпечення хакерам, перш за все, необхідно зібрати всю необхідну і вичерпну інформацію про роботу цього програмного засобу: про середовище, в якому воно виконується, про глобальні системні змінні та параметри, які він використовує або активно модифікує, про файли і папки, які він використовує для захисту. Крім того, необхідно визначити, чи здійснює дане ПЗ програмні прив’язки та які динамічні бібліотеки використовує. Наближений алгоритм несанкціонованого дослідження, що його використовує зловмисник для зняття захисту з програми, такий. 1. Перш за все, необхідно запустити програмний засіб, спостерігати за його роботою, за обмеженнями під час роботи та іншими особливостями. Це можуть бути підозрілі рядки, масиви символів, діалогові вікна для введення реєстраційної інформації тощо. 2. Далі необхідно відслідкувати звернення програми до системного реєст-ру та власних файлів настроювань, оскільки інколи можна лише змінити або видалити певні записи з реєстру або деякий файл для зняття всіх обмежень у роботі програми. 3. Далі слід відслідкувати звернення програми до файлів, каталогів – до ресурсів файлової системи. 4. Проаналізувати виконувані файли та динамічні бібліотеки на предмет запакування виконуваних файлів, їх шифрування тощо. 5. Далі можна приступити до дизасемблювання і модифікації програмних модулів, тобто безпосередньо до здійснення зламу. File Monitors – програми-монітори файлової системи Даний тип програмних продуктів дозволяє відслідковувати зміни, що відбуваються у файловій системі під час запуску певних програм. У більшості таких програм передбачена система фільтрів для формування протоколів роботи окремих додатків. За допомогою даного типу засобів реалізується аналіз роботи систем захисту програмного забезпечення (СЗПЗ) з файлами. Подібні програми дозволяють з'ясувати, що саме і де змінюють розпізнані на етапах первинного і вторинного аналізу модулі СЗПЗ, або визначити модуль, що робить зміни у певному файлі. Ця інформація дозволяє точно локалізувати лічильники кількості запусків ПЗ, приховані файли систем "прив'язки" ПЗ, "ключові файли", файли з інформацією про функції ПЗ, дозволені для використання в рамках даної ліцензії на продукт і т. п., а також модулі і конкретні процедури СЗПЗ, що працюють з цими даними. Важливою є інформація про звернення захищеної програми до файлів, оскільки навіть під час свого виконання програма зчитує команди з власного бінарного файлу до оперативної пам’яті, вже не кажучи про інші приховані файли (файли настроювань, файли ключів). Для вирішення таких задач дослідникам допомагає програма FileMon (рис. 1). Рисунок 1 – Загальний вигляд вікна програми FileMon У головному вікні програми у таблиці поля містять інформацію про стан об’єкту, про результати виконання операцій з файлами, час виконання певної дії; шлях до файла, з яким відбувається певна дія. Крім того, повідомлення можна відфільтровувати за певними параметрами та критеріями. Примітка. Програми FileMon і Regmon замінені однією програмою Process Monitor в версіях Windows, починаючи з Windows 2000 SP4, Windows XP SP2, Windows Server 2003 SP1 і Windows Vista. Однак програми FileMon and Regmon залишені для підтримки застарілих операційних систем, включаючи і Windows 9x. Registry Monitors – програми-монітори системних файлів ОС Програмні засоби цього типу призначені для відстеження змін, внесених додатками в конфігураційні файли операційних систем (ОС). У розглянутому контексті дані програми дозволяють реалізувати аналіз СЗПЗ із системними файлами (більш специфічно для ОС сімейства Windows). Розглянуті засоби дозволяють визначати, чи працює система захисту з файлами конфігурації ОС, які зміни вона туди вносить і які дані використовує. У результаті подібного аналізу стає можливим знайти приховані лічильники кількості запусків ПЗ, збережені дати першої установлення ПЗ на ЕОМ користувача, записи з ліцензійними обмеженнями функціональності ПЗ і т. п. Такий аналіз дає результати, подібні до результатів аналізу роботи СЗПЗ з файлами. Прикладом такої програми може слугувати програма Regmon. Ця програма перехополює звернення будь-якої іншої програми до системного реєстра, виводячи при цьому повну та докладну інформацію про ключі, до яких здійснювалось звернення (рис. 2). Рисунок 2 – Загальний вигляд вікна програми RegMon Програма також дозволяє фільтрувати повідомлення за певним конкретним процесом. Знаючи про звернення програми до системного реєстру можна встановити саме той режим роботи додатку, який необхідний зловмиснику, або взагалі позбутись всіх обмежень. Примітка. Програми FileMon і Regmon замінені однією програмою Process Monitor в версіях Windows, починаючи з Windows 2000 SP4, Windows XP SP2, Windows Server 2003 SP1 і Windows Vista. Однак програми FileMon and Regmon залишені для підтримки застарілих операційних систем, включаючи і Windows 9x. API Monitors – програми-монітори викликів підпрограм ОС Програмне забезпечення цього типу призначено для відстеження виклику системних функцій одним чи декількома додатками з можливістю фільтрації або видалення певних системних функцій або додатків. Застосування таких програм дозволяє проводити аналіз використання в СЗПЗ системних функцій. З огляду на те, що всі дії ПЗ і СЗПЗ, які пов'язані з роботою з файловою системою, роботою з конфігурацією ОС, реалізацією діалогу з користува-чем, роботою з мережею та іншим, реалізуються за допомогою викликів функцій ОС, аналіз використання СЗПЗ системних функцій дозволяє досить докладно вивчити механізми роботи систем захисту, знайти в них слабкі місця і розробити шляхи обходу впровадженого захисту. Наприклад, практично всі сучасні системи захисту від копіювання оп-тичних дисків базуються на досить невеликому наборі системних функцій для роботи з даним видом накопичувачів інформації, і відстежування цих функцій дозволяє знайти і нейтралізувати механізми перевірки типу носія усередині СЗПЗ (рис. 3). Рисунок 3 – Загальний вигляд вікна програми АРІ Monitor Окрім того, що зазначена програма дає можливість подивитись перелік АРІ-функцій у використовуваній програмі, вона дозволяє подивитись конкретні значення параметрів цих функцій при вході у систему захисту, а, отже, отримати значення паролів, логінів, серійних номерів тощо. Process/Windows Managers – програми-монітори активних задач, процесів, потоків і вікон Зазначений тип програмних засобів призначений для відстеження і керування об'єктами ОС (задачами, процесами, потоками, вікнами й ін.). Подібні програми звичайно надають можливості пошуку необхідного об'єкта ОС, переключення на нього керування, зміни його пріоритету, знищення об'єкта, збереження його параметрів (іноді вмісту) на диску. Застосування моніторів задач дає можливість здійснювати аналіз модульної структури СЗПЗ. До таких засобів відносять програму Process Explorer (рис. 4). Рисунок 4 – Загальний вигляд вікна програми ProcessExplorer Port Monitors – програми-монітори обміну даними із системними пристроями (портами) У сучасній архітектурі ОС доступ до всіх системних пристроїв (їх контролерів) здійснюється через порти введення/виведення. Всі сучасні ОС віртуалізують ці порти, організовуючи в такий спосіб спільний доступ декількох додатків до одного й того самого порту (використовуючи механізм черг), а також здійснюючи контроль доступу до портів з метою забезпечення безпеки ОС. Використання цього типу програмних засобів дозволяє проводити аналіз взаємодії СЗПЗ із системними пристроями. Контролюючи доступ і обмін даними через порти введення/виведення програмної і апаратної частин СЗПЗ, можна аналізувати і переборювати механізми таких типів захистів, як СЗПЗ з електронними ключами, СЗПЗ з ключовими дисками і СЗПЗ "прив'язки" до архітектури комп’ютера користувача. Прикладом програми для обміну даними із системними пристроями (портами) є програма PortMon (рис. 5). Рисунок 5 – Загальний вигляд вікна програми PortMon Примітка. Програма Portmon працює тільки для 32-розрядної версії Windows. 64-розрядна версія Portmon від Microsoft недоступна. Якщо ви хочете, вам доведеться використовувати стороннє програмне забезпечення. Наприклад Serial Port Monitor. Serial Port Monitor. Програмне забезпечення для моніторингу COM-портів Serial Port Monitor - це потужна професійна системна утиліта для моніторингу RS232 / 422/485 COM портів. Програма відстежує, відображає, веде журнал (log) і аналізує активність всіх послідовних портів в системі. Це кращий спосіб виявити проблеми, які можуть виникнути при розробці програми або драйвера, тестуванні і оптимізації послідовних пристроїв і т.п. Serial Port Monitor також пропонує розширені можливості фільтрації і пошуку, професійний вбудований термінал, різні способи експорту даних, і, серед інших ключових переваг, гнучкий і легкий у використанні інтерфейс. Це повністю готове до використання програмне рішення, без необхідності встановлювати будь-яке додаткове обладнання. Приклад роботи програми для моніторингу даних із системними пристроями (портами) пркедставлено на рис.6 Рисунок 6 – Загальний вигляд вікна програми Serial Port Monitor Process Monitor - відстеження активності процесів Програма Process Monitor є вдосконаленим інструментом стеження для Windows, який в режимі реального часу відображає активність файлової системи, реєстру, а також процесів і потоків (рис. 7). У цій програмі поєднуються можливості двох раніше випущених програм від Sysinternals: Filemon і Regmon, а також величезний ряд поліпшень, включаючи розши-рену та нешкідливу фільтрацію, всеосяжні властивості подій, такі як ID сесій і імена користувачів, достовірну інформацію про процеси, повно-цінний стек потоку з вбудованою підтримкою всіх операцій, одночасну запис інформації у файл і багато інших можливостей. Ці можливості роблять програму Process Monitor ключовим інструментом для усунення неполадок та позбавлення від шкідливих програм. Рисунок 7 – Головне вікно програми Process Monitor Інтерфейс користувача програми Process Monitor і параметри схожі з інтерфейсом і параметрами програм Filemon і Regmon, але в програмі Process Monitor є ряд істотних поліпшень (рис. 8): Рисунок 8 – Фрагменти інтерфейсу програми Process Monitor відстежування запуску та завершення роботи процесів і потоків, включаючи інформацію про код завершення; відстежування завантаження образів (бібліотек DLL і драйверів пристроїв, що працюють в режимі ядра); збір стеків потоків для кожної операції дозволяє в більшості випадків визначити вихідну причину виконання операції; достовірний збір інформації про процеси, включаючи шлях до образу процесу, командний рядок, а також ID користувача і сесії; дерево процесів відображає відносини між всіма процесами, перерахованими у відомостях трасування; запис в журнал всіх операцій під час завантаження системи і інші. Контрольні питання 1. Навести загальний порядок здійснення зламу захисту. 2. Охарактеризувати програми-монітори звернень до файлів. Їх призначення. 3. Дати характеристику програмам стеження за системним реєстром. Їх використання дл аналізу систем захисту. 4. Дати характеристику програмам для моніторингу процесів і вікон. 5. Охарактеризувати програми-монітори АРІ-викликів. Де і як їх можна застосувати? 6. Охарактеризувати особливості використання програм сканування портів, програм моніторингу мережевого обміну. 7. Для чого можуть бути використані вказані програми при покращенні роботи операційних систем? 8. Як можуть бути використані програми моніторингу при дослідженні роботи систем захисту програмного забезпечення? Порядок виконання роботи 1. Ознайомитись з теоретичними відомостями про засоби моніторингу, наведеними в лекціях та в описі даної лабораторної роботи. 2. Ознайомитись з коротким описом програм-моніторів, встановити та запустити на виконання програми, що здійснюють моніторінг різних об’єктів операційної системи (вони знаходяться у папці Programs): моніторинг звернень до системного реєстру – RegMon або Process Monitor; моніторинг звернень до дискової системи комп’ютера – DiskMon; моніторинг звернень до файлів та каталогів – FileMon або Process Monitor; моніторинг звернень до портів – PortMon або Serial Port Monitor; перегляд інформації про використовувані АРІ-функціі – APIMon; моніторинг мережного обміну – Network Traffic Monitors; моніторинг активності операційної системи – Process Explorer, Process Monitor. 4. За допомогою програм-моніторів дослідити роботу таких програм: програми, що містяться у папці Examples; програми, розробленої в результаті виконання курсовї роботи з ТП. 5. Проаналізувати отримані результати та оформити звіт з лабораторної роботи за такою формою (бажано у вигляді таблиці за наведеною далі формою): призначення програми, яка є об’єктом дослідження; відомості, які надає кожна з програм моніторінгу при слідкуванні за програмою-об’єктом; оцінити кожну програму (за 5-бальною шкалою) відповідно до її функціональності, зручності у використанні, частоті оновлень тощо; зробити висновки щодо ефективності використаного у програмі-об’єкті захисту
|