УСТРОЙСТВО ДИНАМИЧЕСКОГО КОНТРОЛЯ ВЫПОЛНЕНИЯ СПЕЦИАЛЬНЫХ ВЫЧИСЛЕНИЙ

Полезная модель относится к устройствам динамического контроля и верификации вычислительных процессов специальных расчетных задач, в частности к сопроцессорам, выполняющих узкоспециализированные преобразования вычислений. Устройство может быть реализовано на существующей элементной базе и использовано в системах сбора и обработки информации при организации расчетов для контроля их выполнения в вычислительных комплексах специального назначения.
Для вычислительных комплексов, выполняющих программы специальных расчетных задач, важно контролировать целостность производимых вычислений, так как незначительная модификация одного оператора может привести к накоплению ошибки, вследствие чего будут получены неверные результаты расчетов. Данные результаты могут находиться в конкретном доверительном интервале, поэтому ошибку без дополнительных средств контроля обнаружить невозможно.
Выделение инвариантных признаков классификации вычислительных процессов (в данной задаче - на два класса: корректное и некорректное выполнение) тождественно вопросу об изоморфности двух систем относительно некоторого отображения. Для выяснения необходимых и достаточных условий изоморфности систем, а также определения качественных и количественных параметров отображения изоморфизма был разработан математический аппарат теории подобия.
Основные положения теории подобия были сформулированы Седовым Л.И., Вениковым В.А., Гухманом А.А. [1-3]. Первоначально положения теории разрабатывались применительно к моделированию механических, электрических процессов и процессов теплообмена. Однако в конце 1980-х годов полученные результаты были применены в области моделирования с использованием универсальных цифровых ЭВМ, а затем перенесены для решения гораздо более широкого спектра задач, в том числе защиты информации.
Известно, что теория подобия для контроля правильности текстов программ была применена учеными В.В. Ковалевым [4], В.А. Романюк, С.А. Петренко [5] в исследованиях статических методов верификации. Однако современные методы верификации и контроля не распространяются на этап выполнения программ, когда естественные ошибки и уязвимости, а также преднамеренные закладки проявляются через используемые данные и ресурсы. Это позволило сделать вывод об актуальности разработки новой модели устройства динамического контроля выполнения вычислений для выполнения требований своевременности обнаружения скрытных информационно-технических воздействий на вычислительные комплексы специального назначения.
Известно устройство обеспечения целостности программного обеспечения [6]. Недостатком данного устройства является отсутствие контроля семантической корректности производимых вычислений.
Наиболее близким является устройство процессора безопасности [7]. Однако в нем не предусмотрено противодействие атакам, связанными с возможной модификацией машинных инструкций процессора.
Целью предлагаемого устройства является динамический контроль семантики выполнения арифметических операций и контроль целостности вычислений в целом. Поставленная цель достигается тем, что в устройстве организован семантический контроль, заключающийся в анализе абстрактных размерностей обрабатываемых переменных на основе математического аппарата теории размерности и подобия.
Существующие возможности инструментальных средств IDA Pro и IRIDA 2.0 [8] позволяют представить вычислительный процесс исполняемого кода программы расчетной задачи управляющим графом, описать граф вызовов подпрограмм, а также классифицировать передачи управления на подпрограммы (ближние вызовы, вызовы по содержимому регистра, вызовы через таблицу импорта, дальние вызовы, вызовы с возвратом или без возврата в вызывающую подпрограмму, неклассифицированные вызовы, к которым относятся недизассемблированные IDA Pro участки кода и участки кода, не отнесенные ни к одной подпрограмме). Кроме этого, в инструментальном комплексе IRIDA 2.0 [8] реализован механизм расстановки контрольных точек по трассе выполнения вычислительного процесса, в которых в дальнейшем будет происходить формирование семантических эталонов. Таким образом, данные, полученные с помощью этих инструментальных средств (управляющий граф программы с внедренными контрольными точками на линейные участки вычислительного процесса), являются входными данными для построения семантических инвариантов программы.
Сущность полезной модели состоит в обеспечении распараллеливания задач контроля и управления вычислительным процессом, выполняемого центральным процессором или математическим сопроцессором (фиг. 1). Устройство и процессор обмениваются информацией по каналам последовательного интерфейса. На плате устройства размещаются блоки: анализа машинных инструкций, обработки данных, построения определяющих соотношений в терминах размерностей, решения системы определяющих соотношений, результатом которого является матрица инвариантов подобия, анализа и сравнения полученных инвариантов с паспортом программы (фиг 2).
Схема работы устройства содержит следующие этапы. Этап формирования инвариантов подобия в контрольной точке выполняется блоками анализа машинных инструкций и обработки данных, этап формирования базы данных инвариантов подобия выполняется блоками построения определяющих соотношений в терминах размерностей и решения полученной системы соотношений, этап проверки критерия семантической корректности вычислительных процессов выполняется блоком анализа и сравнения полученных инвариантов с паспортом программы. В случае обнаружения несовпадения на этапе проверки критерия семантической корректности формируется сигнал о возможном информационно-техническом воздействии на вычислительный процесс.
Технический результат заключается в том, что устройство позволяет представить вычислительный процесс в виде соответствующей системы уравнений размерностей или определяющими соотношениями в заранее установленных контрольных точках, решение системы позволяет получить инвариантные информативные признаки процесса и исследовать семантику вычислений, производимых процессором (математическим сопроцессором). Эталонные признаки (или инварианты) образуют паспорт программы. Штатные инварианты формируются в процессе вычислений и сравниваются с эталоном. Сравнение полученных результатов с эталонными позволяет сделать вывод о корректности выполняемого вычислительного процесса и отсутствии скрытных модификаций арифметических операций.
Устройство позволяет контролировать семантику производимых вычислений и гарантировать корректность получаемого результата.
Устройство работает следующим образом:
Множество команд К исполняемой программы (команды ассемблера) разбивается на три подмножества:
А
К - аддитивные команды (сложение, вычитание, сравнение…);
м
К - мультипликативные команды (умножение, деление, возведение в степень, …);
N
K - не интерпретируемые команды.
Блок анализа машинных инструкций интерпретирует команды процессора (математического сопроцессора) следующим образом:
i
A
i
M
если процессор выполняет команду к∈K или к∈K, то управление на обработку команды и ее операндов передается блоку преобразования данных;
i
N
если процессор выполняет команду к∈K, то сопроцессор простаивает до поступления следующей машинной инструкции.
Блок преобразования данных осуществляет разбор арифметического выражения путем построения дерева вывода. На вершине дерева находится операция, выполняемая в последнюю очередь. Для однозначного построения дерева определен порядок вычисления операций в выражении, с учетом их приоритетов и порядка выполнения операций с одинаковым приоритетом, в том числе при вычислении одной и той же операции. Такие выражения вычисляются слева направо. После разбора арифметического выражения управление передается блоку построения системы соотношений.
Блок построения системы соотношений в общем виде работает следующим образом. Арифметическое выражение, поступающее с блока преобразования данных, представляется в виде упорядоченной последовательности первичных соотношений [9], соответствующих арифметическим операторам:
i
Выполнив в правых частях соотношений суперпозицию {y} на X, формируется система соотношений, инвариантных относительно перемещения:
Соотношение  можно представить в виде:
ij
1
2
N
где z(x,x, …, x) - степенной одночлен.
Слагаемые суммы (3) должны быть однородными по размерностям, т.е.
или
Система (4) является системой определяющих соотношений или системой уравнений подобия.
j
j
Семантическая функция ρ=X→[Х] сопоставляет каждому х∈X некоторую абстрактную размерность [x]∈[X]. Тогда размерности слагаемых суммы (3) можно представить в виде:
Семантическая функция позволяет выполнять операции над физическими размерностями программных переменных. Аксиоматика расширенной семантической алгебры, определяющая операции над размерностями переменных, представлена в табл. 1.
Блок решения системы определяющих соотношений преобразует систему соотношений
к виду
Используя прием логарифмирования, из системы (7) получается однородная система линейных уравнений
которая является критерием семантической корректности вычислительного процесса. В результате решения системы уравнений формируется матрица
инвариантов подобия для каждого арифметического выражения.
Совокупность, таким образом, сформированных эталонных матриц инвариантов подобия вычислительного процесса представляют собой паспорт программы. Совокупность штатных матриц, построенных в ходе выполнения программы в вычислительных комплексах, представляют собой базу данных штатных инвариантов подобия.
jn
in
Блок анализа и сравнения штатных инвариантов с паспортом программы осуществляет проверку критерия семантической корректности вычислительного процесса (фиг. 3). В случае обнаружения нарушения семантической корректности выполнения программы, то есть если для данной контрольной точки λ-λ≠0, то формируется сигнал и реализуется попытка восстановления вычислений по обратному преобразованию инвариантов эталонной матрицы.
Устройство позволяет определить не только факт нарушения семантики вычислений, а указать конкретное место воздействия на программу, используя механизм внедрения контрольных точек.
Технико-экономическая эффективность полезной модели заключается в уменьшении временных затрат, требуемых для обнаружения скрытных информационно-технических воздействий на процесс вычислений. Описанные выше преобразования процесса для контроля производимых вычислений в случае программной реализации требуют значительных затрат ресурсов вычислительной системы. Поэтому разработана модель устройства для реализации динамического контроля, позволяющего в режиме реального времени выполнения задачи производить контроль вычислений с минимальным временем задержки.
Данные выводы подтверждаются выполнением расчетов по вычислению производительности системы при программной и аппаратной реализациях динамического контроля вычислений следующим способом.
Для системы n уравнений с n неизвестными при отсутствии выборок из массива (хранящего информацию о перестановках строк и столбцов) общая вычислительная трудоемкость вывода инвариантов подобия равна количеству операций процессора:
или (при наличии выборок из массива)
MUL
где K - коэффициент вычислительной трудоемкости операции целочисленного умножения по сравнению с операцией целочисленного сложения для данной аппаратной платформы. Для процессоров класса Intel Pentium значение этого коэффициента составляет 6-10 раз, для процессоров класса Intel 8086 достигает 20-40 раз. При передаче управления устройству динамического контроля специальных вычислений на практике приводит к выигрышу в вычислительной трудоемкости выделения инвариантов подобия и повышению оперативности обнаружения модификаций вычислений.
Примечание:
Источники информации, принятые при составлении описания и формулы полезной модели.
1. Седов Л.И. Методы теории размерности и теории подобия в механике. - М.; Л.: ОГИЗ. Гос. изд-во технико-теорет. лит., 1944. - 136 с.
2. Венников В.А. Теория подобия и моделирования. Учеб. пособие для вузов. Изд. 2-е, доп. и перераб. - М.: «Высшая школа». - 1976.
3. Гухман А.А. Применение теории подобия к исследованию процессов тепло-массообмена. Изд. 2-е, доп. и перераб. - М.: «Высшая школа». - 1974.
4. Годердзишвили Г.М., Ковалев В.В., Романюк В.А. Метод статического контроля правильности программ. - СПб, 1986 - 8 с.
5. Петренко С.А. Методы информационно-технического воздействия на киберсистемы и возможные способы противодействия. // Труды ИСА РАН «Управление рисками и безопасностью». Том 41. - М.: ЛЕНАНД, 2009. - С. 104-146.
6. RU 2541196 С2, Заявка: 2013104050/08, 22.07.2010.
7. RU 2568298 С2, Заявка: 2012102988/08, 23.06.2010.
8. Инструментальный комплекс для автоматизации проведения статического и динамического анализа потоков управления в исполняемых кодах программ «ШГОА» // ТУ 425790.007.72410666.04. ООО «Газинформсервис».
9. Харжевская А.В., Ломако А.Г., Петренко С.А. Представление программ инвариантами подобия для контроля искажения вычислений. - Вопросы кибербезопасности-2017. - №2 (20). - С. 9-20.
УСТРОЙСТВО ДИНАМИЧЕСКОГО КОНТРОЛЯ ВЫПОЛНЕНИЯ СПЕЦИАЛЬНЫХ ВЫЧИСЛЕНИЙ
где R - результат операции;
L, R - левый и правый операнды;
[] - размерность.