Р. П. Шевчук // Опорний конспект лекцій з дисципліни „Методи та засоби захисту програмного забезпечення", для студентів напрямку „Комп’ютерні науки"



Pdf көрінісі
бет18/23
Дата10.09.2023
өлшемі0.66 Mb.
#477061
түріКонспект
1   ...   15   16   17   18   19   20   21   22   23
Опорний конспект лекцій з дисципліни Методи та засоби захисту програмного забезпечення

 
6.2. Класифікація засобів зламу захистів ПЗ 
Всі засоби дослідження ПЗ можна розбити на 2 класи: статичні і динамічні. 
Перші оперують початковим кодом програми як даними і будують її алгоритм без 
виконання, другі - вивчають програму, інтерпретуючи її в реальному або 
віртуальному обчислювальному середовищі. Звідси витікає, що перші є більш 
універсальними в тому сенсі, що теоретично можуть отримати алгоритм всієї 
програми, у тому числі і тих блоків, які ніколи не отримають управління. Динамічні 
засоби можуть будувати алгоритм програми тільки на підставі її трасування, 
отриманого при певних вхідних даних. Тому завдання отримання повного алгоритму 
програми в цьому випадку еквівалентне побудові вичерпного набору текстів для 
підтвердження правильності програми, що практично неможливе, і взагалі при 
динамічному дослідженні можна говорити тільки про побудову деякої частини 
алгоритму. 
Два найбільш відомих типи програм, призначених для дослідження ПЗ, якраз і 
відносяться до різних класів: це відлагоджувач (динамічний засіб) і дизасемблер 
(засіб статистичного дослідження). Якщо перший широко застосовується 
користувачем для відлагоджування власних програм і завдання побудови алгоритму 
для нього вторинні і реалізуються самим користувачем, то другим призначений 
виключно для їх вирішення і формує на виході асемблерний текст алгоритму. 
Крім цих двох основних інструментів дослідження, можна використовувати: 

дискомпілятори, програми, що генерують з виконуваного коду програму на 
мові високого рівня

трасувальники, програми що спочатку запам'ятовують кожну інструкцію, що 
проходить через процесор, а потім переводять набір інструкцій у форму, 
зручну для статичного дослідження, автоматично виділяючи цикли
підпрограми і інше;

«системи що стежать» - запам'ятовують і аналізують трасу вже не інструкції, а 
інших характеристик, наприклад викликаних програмою переривання. 
Крім класифікації засобів подолання захисту ПЗ на статичні та динамічні 
існують інші класифікації. Наприклад класифікація, на пасивні і активні. 
Пасивні інструменти не надають ніякої дії ні на саму досліджувану програму, 
ні на її оточення. Активні інструменти, навпаки, взаємодіють з програмою під час її 
виконання. З цього випливають два важливі зауваження: 

активний інструментарій може дати значно більше інформації, чим пасивний, 
оскільки дозволяє оцінювати полягання програми в динаміці; 

присутність активних інструментів може бути виявлена захистом і може 
привести до відповідних дій. Виявити або запобігти застосуванню пасивних 
засобів програма не в змозі. 
Активні інструменти, у свою чергу, можуть використовуватися тільки для 
протоколювання (моніторингу) ходу виконання програми або для явної дії на хід 


38 
виконання програми: підміни даних, виправлення результатів перевірки умов і т.д. 
Також активний інструментарій може проводити віртуалізацію середовища 
виконання програми. Тобто програма знаходиться в повній впевненості, що 
виконується в звичайних умовах, а насправді кожен її крок, включаючи дії по 
пошуку активних засобів аналізу, знаходиться під повним контролем дослідника. 
Ще один спосіб класифікації інструментів - по області застосування, тобто що 
саме піддається дослідженню: 

виконуваний код;

ресурси ПЗ; 

дискові файли; 

записи в реєстрі; 

інформація в оперативній пам'яті; 

інформація, що отримується від пристроїв введення; 

інформація, що посилається на пристрої введення; 

повідомлення і дані, що пересилаються між процесами і всередині процесу

дані, що передаються по мережі; 

виклики бібліотечних функцій. 


Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   23




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет