СПОСОБ ЗАЩИТЫ ИСПОЛНЕНИЯ ПРОГРАММЫ

1. Способ защиты исполнения главной программы, применяющей вложенные друг в друга функции, содержащий этапы, на которых:
исполняют программу управления защитой, выполненную с возможностью обновления списка текущих функций,
сообщают программе управления защитой о начале исполнения каждой функции и обновляют список текущих функций,
сообщают программе управления защитой о завершении исполнения каждой функции,
после каждого сообщения о завершении исполнения функции проверяют, что функция является последней начавшей исполнение функцией,
в случае неудачной проверки осуществляют защитное действие, выбираемое в зависимости от уровня защиты, назначенного для каждой функции.
2. Способ по п.1, в котором защитное действие состоит в испускании сигнала тревоги.
3. Способ по п.1, в котором защитное действие состоит в прерывании главной программы.
4. Способ по п.1, в котором список функций представляет собой таблицу, содержащую последовательность полей, предназначенных для внесения в них идентификатора функции, при этом способ содержит этапы, на которых:
инициализируют поля,
при сообщении о начале исполнения функции записывают идентификатор функции в первое свободное поле.
5. Способ по п.4, в котором идентификатор каждой функции содержит уровень защиты, присвоенный функции, и программа управления защитой имеет доступ к таблице, определяющей защитные действия, которые необходимо осуществить, в зависимости от уровней защиты.
6. Способ по п.1, в котором программа управления защитой имеет доступ к таблице возможных запросов функций для каждой функции главной программы.
7. Способ по п.1, в котором при сообщении о завершении исполнения функции, вызываемой обращающейся функцией, вызываемую функцию сохраняют в памяти, а обращающаяся функция проверяет в программе управления защитой, что последняя исполненная функция является вызываемой функцией.
8. Способ по п.1, в котором в начале исполнения функции программа управления защитой активирует по меньшей мере одну защитную контрмеру.