Система контроля целостности файлов исходных текстов программного обеспечения

Изобретение относится к некриптографическим способам контроля целостности файлов и может быть использовано при создании программного обеспечения, при контроле целостности исходных текстов программного обеспечения, в том числе при проведении сертификационных испытаний программного обеспечения на отсутствие недекларированных возможностей. Техническим результатом является контроль целостности файлов в исходных текстах программного обеспечения, не зависящего от их форматирования. Система контроля целостности файлов, включающая блок генерации ключа хэширования, блок формирования хэш-кода файлов, блок хранения контрольных хэш-кодов файлов, блок сравнения хэш-кодов, причем выход блока генерации ключа хэширования соединен с первым входом блока формирования хэш-кода файлов, первый выход которого соединен с входом блока хранения контрольных хэш-кодов файлов, второй выход - со вторым входом блока сравнения хэш-кодов, первый вход которого соединен с выходом блока хранения контрольных хэш-кодов файлов, выход - с выводом результатов контроля целостности, отличается тем, что дополнительно введены блок построения сети Петри файлов исходных текстов и блок хранения сети Петри в виде файла сети Петри, причем вход блока построения сети Петри файлов исходных текстов соединен с входом чтения контролируемых файлов, выход - с входом блока хранения сети Петри в виде файла сети Петри, выход которого соединен со вторым входом блока формирования хэш-кода файлов. 2 ил.

 

Изобретение относится к некриптографическим способам контроля целостности файлов и может быть использовано при создании программного обеспечения, при контроле целостности исходных текстов программного обеспечения, в том числе при проведении сертификационных испытаний [1, ст.20; 2] программного обеспечения на отсутствие недекларированных возможностей [3].

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

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

Таким образом, данная система позволяет проводить контроль целостности любых файлов информационных систем.

Существенным недостатком данной системы для обеспечения контроля целостности файлов исходных текстов программного обеспечения является неидентичность хэш-кода файлов, содержащих исходные тексты программного обеспечения, до и после их форматирования, хотя процесс форматирования исходных текстов программного обеспечения не вносит никаких изменений в описанный в них алгоритм. Это связано с тем, что хэшированию подвергаются файлы исходных текстов программного обеспечения целиком (побайтно).

Задача, на решение которой направлено данное изобретение, заключается в обеспечении неизменности хэш-кода исходных текстов программного обеспечения вне зависимости от произведенного форматирования.

Техническим результатом заявляемого изобретения является контроль целостности файлов в исходных текстах программного обеспечения, не зависящего от их форматирования.

Указанный технический результат достигается тем, что в известной системе контроля целостности файлов, включающей блок генерации ключа хэширования, блок формирования хэш-кода файлов, блок хранения контрольных хэш-кодов файлов, блок сравнения хэш-кодов, причем выход блока генерации ключа хэширования соединен с первым входом блока формирования хэш-кода файлов, первый выход которого соединен с входом блока хранения контрольных хэш-кодов файлов, второй выход - со вторым входом блока сравнения хэш-кодов, первый вход которого соединен с выходом блока хранения контрольных хэш-кодов файлов, выход - с выводом результатов контроля целостности, согласно изобретению дополнительно введены блок построения сети Петри файлов исходных текстов и блок хранения сети Петри в виде файла сети Петри, причем вход блока построения сети Петри файлов исходных текстов соединен с входом чтения контролируемых файлов, выход - с входом блока хранения сети Петри в виде файла сети Петри, выход которого соединен со вторым входом блока формирования хэш-кода файлов.

Эти отличительные признаки по сравнению с прототипом позволяют сделать вывод о соответствии заявляемого технического решения критерию "новизна".

Сущность изобретения заключается в следующем. В случае применения классического механизма контроля целостности путем хеширования для файлов исходных текстов, содержащих одинаковые алгоритмы, но имеющих различное форматирование, будет получен отрицательный результат сравнения. Применение сравнения контрольных образов в виде сетей Петри позволит в этом случае подтверждать идентичность сравниваемых исходных текстов. Это объясняется тем, что в случае применения хеширования сравнивают файлы на бинарном уровне (в виде потока байт), а при построении сетей Петри фактически сравнивают алгоритмы, заложенные в файлы исходных текстов.

В совокупности признаков заявленной системы используется следующая терминология и обозначения:

- условие целостности файлов исходных текстов - полное совпадение структуры алгоритмов функционирования программного обеспечения, после внесения изменения в исходные тексты программного обеспечения;

- форматирование исходных текстов - процесс внесения или удаления пробелов, знаков табуляции, пустых строк, комментариев и так далее;

- файл сети Петри - каким-либо образом сохраненная в виде файла сеть Петри.

Перечисленная совокупность существенных признаков в указанном порядке обеспечивает неизменность хэш-кода исходных текстов программного обеспечения вне зависимости от произведенного форматирования, так как хэш-код снимается не с файлов, содержащих исходные тексты программного обеспечения, а с файла сети Петри этих исходных текстов программного обеспечения, и построение сети Петри исходных текстов программного обеспечения происходит без учета их форматирования.

Именно новое свойство совокупности признаков, приводящих к существенному уменьшению влияния субъективных факторов, таких как стиль форматирования, на объективную оценку идентичности исходных текстов программного обеспечения позволяет сделать вывод о соответствии предлагаемого технического решения критерию "изобретательский уровень". Предлагаемый способ контроля целостности исходных текстов программного обеспечения может быть использован, в том числе и для автоматизированного определения факта нарушения авторских прав на исходные тексты программного обеспечения при их использовании от чужого имени после произведенного форматирования.

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

Назначение блоков понятно из их названия.

Предварительно, в блоке 7 осуществляют построение сети Петри для файлов, содержащих исходные тексты программного обеспечения, с последующим сохранением результата в файле сети Петри в блоке 8. После чего передают в блок 2 сформированные файлы сети Петри для расчета их хэш-кодов.

Технический результат достигается за счет использования для построения контрольного образа файлов исходных текстов не механизма сквозного побитного хэширования файлов исходных текстов программного обеспечения, а аппарата сетей Петри. При этом алгоритм функционирования программного обеспечения, описанный в файлах исходных текстов программного обеспечения, представляется ординарной сетью Петри.

Реализация предлагаемой системы не вызывает затруднений, так как все блоки и узлы, входящие в устройство, реализующее систему, общеизвестны и широко описаны в технической литературе [9-17]. Например, блок построения сети Петри файлов исходных текстов, например, может быть реализован в виде специализированного устройства на микроконтроллере по принципам и методам, описанным в [9-14], блок хранения сети Петри в виде файла сети Петри - на базе любого машиночитаемого носителя информации [15, 16], их взаимное соединение и подсоединение к блокам прототипа может быть осуществлено по стандартным схемам подключения устройств [17].

Источники информации

1. Федеральный закон "О техническом регулировании" №184-ФЗ от 27 декабря 2002 года.

2. Положение о сертификации средств защиты информации по требованиям безопасности информации. Утверждено приказом председателя Гостехкомиссии при Президенте РФ от 27 октября 1995 г. №199.

3. Руководящий документ "Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей" (Гостехкомиссия России, 1999).

4. Программный комплекс "Shield System Manager". Подсистема контроля целостности (Integrity Control System). SSM-ICS. Описание применения. - Москва: "Лаборатория Испытаний Средств и Систем Информатизации", 2005. - 25 с.

5. Онучин С. Устройства защиты информации. Критерии выбора. - "Мир связи: Connect!" №9, 1999 г.

6. ГОСТ Р 34.11-94. "Информационная технология. Криптографическая защита информации. Функция хэширования".

7. Котов В.Е. Сети Петри. - М.: Наука, Гл. ред. физ.-мат.лит., 1984. - 160 с.

8. Питерсон Дж. Теория сетей Петри и моделирование систем: Пер. с англ. - М.: Мир, 1984. - 264 с., ил.

9. Нечаев И.А. Конструкции на логических элементах цифровых микросхем. - Москва.: "Радио и связь", 1992. - 123 с.

10. Белов А.В. Создаем устройства на микроконтроллерах. - СПб.: Наука и техника, 2007. - 304 с.

11. Конструкторско-технологическое проектирование электронной аппаратуры. Учебник для вузов. Серия: Информатика в техническом университете. Под ред. Шахнова В.А. - М.: Изд-во МГТУ им.Н.Э.Баумана, 2003. - 528 с.: ил.

12. Суворова Е., Шейнин Ю. Проектирование цифровых систем на VHDL. Серия "Учебное пособие". - СПб.: БХВ-Петербург, 2003. - 576 с.: ил.

13. Овчинников В.А. Алгоритмизация комбинаторно-оптимизационных задач при проектировании ЭВМ и систем. Серия: Информатика в техническом университете. - М.: Изд-во МГТУ им.Н.Э.Баумана, 2001. - 288 с.: ил.

14. Новиков Ю.В. Основы цифровой схемотехники. Базовые элементы и схемы. Методы проектирования. - М.: Мир, 2001. - 379 с.

15. Левин В.И. Носители информации в цифровом веке / Под общ. ред. Д.Г.Красковского. - М.: КомпьютерПресс, 2000. - 256 с.: ил.

16. Гук М. Дисковая подсистема ПК. - СПб.: Питер, 2001. - 336 с.: ил.

17. Пей Ан. Сопряжение ПК с внешними устройствами. - М.: ДМК Пресс, 2003. - 320 с. ил.

Система контроля целостности файлов, включающая блок генерации ключа хэширования, блок формирования хэш-кода файлов, блок хранения контрольных хэш-кодов файлов, блок сравнения хэш-кодов, причем выход блока генерации ключа хэширования соединен с первым входом блока формирования хэш-кода файлов, первый выход которого соединен с входом блока хранения контрольных хэш-кодов файлов, второй выход - со вторым входом блока сравнения хэш-кодов, первый вход которого соединен с выходом блока хранения контрольных хэш-кодов файлов, выход - с выводом результатов контроля целостности, отличающаяся тем, что дополнительно введены блок построения сети Петри файлов исходных текстов и блок хранения сети Петри в виде файла сети Петри, причем вход блока построения сети Петри файлов исходных текстов соединен с входом чтения контролируемых файлов, выход - с входом блока хранения сети Петри в виде файла сети Петри, выход которого соединен со вторым входом блока формирования хэш-кода файлов.



 

Похожие патенты:

Изобретение относится к информационным вычислительным системам и сетям. .

Изобретение относится к способам и системам управления контентом. .

Изобретение относится к вычислительной технике. .

Изобретение относится к области вычислительной техники. .

Изобретение относится к системам защиты компьютерных систем от несанкционированного доступа. .

Изобретение относится к средству памяти, содержащему по меньшей мере один набор данных в области памяти. .
Изобретение относится к вычислительной технике, а именно к информационным вычислительным системам и сетям, и может быть использовано в сети контроля целостности для защиты информационных ресурсов в рабочих станциях, информационных и функциональных серверов и т.д.

Изобретение относится к вычислительной технике, а именно к информационным вычислительным системам и сетям, и может быть использовано для защиты информационных ресурсов в рабочих станциях, информационных и функциональных серверах.

Изобретение относится к микроэлектронной технике и предназначено для применения как в аналоговых, так и в цифровых микроэлектронных устройствах. .

Изобретение относится к информационным вычислительным системам и сетям. .

Изобретение относится к автоматике и вычислительной технике и может быть использовано для оценки технического состояния контролируемого объекта и прогнозирования момента вывода его на профилактику.
Изобретение относится к вычислительной и информационно-измерительной технике и может быть использовано в качестве компонент систем диагностирования технического и/или функционального состояния оборудования по синхронно измеряемым медленноменяющимся (ММП) и быстроменяющимся (БМП) параметрам машин в рабочем частотном диапазоне 0-40000 Гц, автоматизированных систем сбора информации, систем автоматического управления машинными комплексами, а также автономно.

Изобретение относится к средствам обработки цифровых данных, области защиты от несанкционированного доступа к информации и может быть использовано для обработки и преобразования информации.

Изобретение относится к области управления цифровыми лицензиями, в частности способам удаления лицензии из клиентского вычислительного устройства. .

Изобретение относится к контрольно-измерительной технике, конкретно к переносным диагностическим комплексам для контроля параметров, диагностики и поиска мест локализации неисправностей в радиоэлектронных изделиях (РЭИ) с цифровым, аналоговым или цифроаналоговым выходами.

Изобретение относится к средствам мониторинга технического состояния сложных многокомпонентных объектов, преимущественно таких как современные компьютерно-вычислительные системы.

Изобретение относится к вычислительной технике и предназначено для контроля целостности файлов
Наверх