RU2464628C1 - Способ контроля функционирования программного обеспечения - Google Patents
Способ контроля функционирования программного обеспечения Download PDFInfo
- Publication number
- RU2464628C1 RU2464628C1 RU2011126194/08A RU2011126194A RU2464628C1 RU 2464628 C1 RU2464628 C1 RU 2464628C1 RU 2011126194/08 A RU2011126194/08 A RU 2011126194/08A RU 2011126194 A RU2011126194 A RU 2011126194A RU 2464628 C1 RU2464628 C1 RU 2464628C1
- Authority
- RU
- Russia
- Prior art keywords
- software
- controlled
- monitored
- subsystems
- expected
- Prior art date
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Изобретение относится к вычислительной технике. Техническим результатом является повышение достоверности и точности контроля функционирования программного обеспечения. Заявленное техническое решение реализует способ контроля функционирования программного обеспечения, обеспечивающего повышение достоверности контроля функционирования программного обеспечения от случайных и преднамеренных воздействий за счет определения подлинности программного обеспечения путем введения эталонного уникального идентификатора по значениям характеристик программного обеспечения, а также повышение точности контроля функционирования программного обеспечения, за счет определения подсистем программного обеспечения, нарушающих его функционирование и обеспечение требуемых временных затрат на выполнение функций автоматизированной системы за счет уменьшения временных затрат на реализацию действий по обеспечению отказоустойчивого выполнения программного обеспечения. 3 ил.
Description
Изобретение относится к вычислительной технике и направлено на обеспечение надежного функционирования программного обеспечения.
Известен способ контроля функционирования программного обеспечения, реализованный в аппаратном модуле контроля зависания операционной системы электронной вычислительной машины (модуль WatchDog), встроенный в плату видеозахвата Provideo PV-26x (электронный ресурс - http://www.provideo.tw).
Данный способ включает следующие действия. Предварительно загруженное в операционную систему электронной вычислительной машины ПО осуществляет выдачу периодических сигналов оповещения «heartbeat» (англ. - «сердцебиение»), которые фиксируются. При отсутствии сигналов оповещения в течение некоторого промежутка времени модуль контроля зависания делает вывод о том, что операционная система зависла и выполняет перезагрузку электронной вычислительной машины.
Недостатком данного способа является низкая достоверность контроля, так как осуществляется контроль только за функционированием операционной системы, а перезагрузка электронной вычислительной машины производится только при зависании операционной системы. Уровень надежности современных операционных систем, устанавливаемых на автономные устройства (Linux-подобные операционные системы), достаточно высок, чтобы вероятность зависания операционной системы считать пренебрежимо малой. Значительно более критична надежность функционирования прикладного ПО, которое никак не контролируется указанным аналогом.
Известен способ контроля функционирования программного обеспечения, реализованный в свободно распространяемом продукте SoftDog для операционной системы Linux (электронный ресурс - http://www.opennet.ru/prog/info/497.html). Способ-аналог заключается в том, что модуль контроля ожидает получения от контролируемого ПО сигналов оповещения. При отсутствии сигналов оповещения в течение некоторого промежутка времени модуль контроля делает вывод о нарушении функционирования основного ПО и выполняет его перезапуск.
Недостатком данного способа является низкая точность контроля, так как не определяется нарушение функционирования конкретной подсистемы контролируемого ПО. Кроме того, данный способ не учитывает возможность злонамеренного воздействия на контролируемое ПО, а следовательно, если злоумышленник после вывода ПО из строя продолжит передавать модулю контроля сигналы оповещения со стороны собственного ПО, то модуль контроля не обнаружит подмены и не предпримет никаких действий по восстановлению работоспособности аварийно завершенного ПО.
Наиболее близким по технической сущности к предлагаемому способу является способ контроля функционирования ПО по пат. RU №2331101, МПК G06F 11/36 G06F 21/22. Опубл. 10.08.2008 г, бюл. №22. Способ заключается в следующих действиях: осуществляется запуск контролируемого ПО при запуске электронной вычислительной машины, вырабатывается ключ симметричного шифрования для взаимодействия модуля контроля и контролируемого ПО в ответ на сигнал инициализации, полученный при начальном запуске от ПО, модулю контроля сообщается идентификатор контролируемого ПО, набор контролируемых подсистем и ожидаемая интенсивность (динамика) получения сигналов оповещения от контролируемых подсистем, в процессе функционирования ПО модулем контроля отслеживается интенсивность (динамика) получения сигналов оповещения от контролируемых подсистем по криптографически защищенному каналу, в случае несоответствия реальной интенсивности (динамики) ожидаемой выполняется перезапуск электронной вычислительной машины.
Способ позволяет решить поставленную перед ним задачу - обеспечить надежное функционирование ПО в автономном режиме (без участия оператора).
Однако способу-прототипу присущи недостатки:
1) низкая достоверность контроля функционирования программного обеспечения, обусловленная отсутствием при оценке функционирования программного обеспечения, проверки подлинности контролируемого программного обеспечения, зависящая от случайных и преднамеренных воздействий, которые могут привести к его модификации как на начальном этапе запуска ЭВМ, так и на этапе перезапуска.
2) способ-прототип имеет низкую точность контроля функционирования программного обеспечения, так как в нем не предусматривается определение подсистем программного обеспечения, приводящих к нарушению функционирования, при этом осуществляется полный перезапуск программного обеспечения, что влечет за собой увеличение времени решения основных функций, особенно для автоматизированных систем сложных объектов и быстро текущих процессов.
Целью заявленного технического решения является разработка способа контроля функционирования программного обеспечения, обеспечивающего повышение достоверности контроля функционирования программного обеспечения от случайных и преднамеренных воздействий за счет определения подлинности программного обеспечения путем введения эталонного уникального идентификатора по значениям характеристик программного обеспечения, а также повышение точности контроля функционирования программного обеспечения за счет определения подсистем программного обеспечения, нарушающих его функционирование и обеспечение требуемых временных затрат на выполнение функций автоматизированной системы за счет уменьшения временных затрат на реализацию действий по обеспечению отказоустойчивого выполнения программного обеспечения.
В заявленном изобретении поставленная цель достигается тем, что в известном способе запускают контролируемое ПО, формируют ключ симметричного шифрования для взаимодействия модуля контроля и контролируемого ПО в ответ на сигнал инициализации, полученный при начальном запуске от ПО, передают модулю контроля идентификатор контролируемого ПО, набор контролируемых подсистем и ожидаемую интенсивность получения сигналов оповещения от контролируемых подсистем, измеряют в процессе функционирования ПО интенсивность сигналов оповещения от контролируемых подсистем по криптографически защищенному каналу на ключе s, в случае несоответствия реальной интенсивности ожидаемой перезапускают ПО, дополнительно перед запуском модуля контроля и контролируемого ПО в модуле контроля формируют данные контролируемого ПО, состоящие из характеристик ПО, набора контролируемых подсистем, конфигурации программного обеспечения в различных режимах функционирования, ожидаемой интенсивности сигналов оповещения. Измеряют реальные значения характеристик ПО. Формируют эталонный уникальный идентификатор по значениям характеристик ПО с использованием функции преобразования. После запуска программного модуля контроля и контролируемого ПО передают уникальный идентификатор от контролируемого ПО программному модулю контроля. Сравнивают эталонный уникальный идентификатор ПО с полученным уникальным идентификатором от контролируемого ПО. Измеряют интенсивность сигналов оповещения от контролируемого ПО в процессе функционирования по криптографически защищенному каналу на ключе s. Сравнивают ожидаемые и реальные интенсивности сигналов оповещения. Запоминают контролируемую подсистему, в которой нарушено функционирование. Выделяют и запоминают контролируемые подсистемы, влияющие на подсистему, в которой нарушено функционирование по конфигурации программного обеспечения в определенном режиме функционирования. Перезапускают контролируемые подсистемы ПО, приводящие к сбоям функционирования данной подсистемы. Измеряют интенсивность сигналов оповещения от контролируемого ПО в процессе функционирования по криптографически защищенному каналу на ключе s. Сравнивают ожидаемые и реальные интенсивности сигналов оповещения. Запоминают контролируемую подсистему, в которой повторно нарушено функционирование. Перезапускают ПО при несовпадении ожидаемой и реальной интенсивности сигналов оповещения.
Новая совокупность существенных признаков позволяет достичь указанного технического результата за счет определения подлинности программного обеспечения путем введения эталонного уникального идентификатора по значениям характеристик программного обеспечения, определения подсистем программного обеспечения, нарушающих его функционирование, и уменьшения временных затрат на реализацию действий по обеспечению отказоустойчивого выполнения программного обеспечения.
Заявленный способ поясняется чертежами, на которых;
на Фиг.1 - блок-схема алгоритма контроля функционирования ПО;
на Фиг.2 - схема поясняющая порядок контроля функционирования программного обеспечения;
на Фиг.3 - зависимость времени восстановления (перезагрузки) ПО (подсистем) от объема ПО.
Реализация заявленного способа поясняется алгоритмом (фиг.1), схемой (фиг.2) и объясняется следующим образом:
1. Для применения предлагаемого изобретения должен быть определен ряд параметров. Пусть задано множество Р={p0,…, pN}, где pi - i-e контролируемое ПО.
Для каждого pi определены множества , где - j-я контролируемая подсистема i-го контролируемого ПО, и где - ожидаемая интенсивность (динамика) поступления сигналов оповещения о состоянии j-й контролируемой подсистемы i-го контролируемого ПО.
2. В программном модуле контроля формируют данные контролируемого ПО, состоящие из:
где N - количество режимов функционирования;
Данные характеристики ПО указаны в разделе «Характеристики ПО», имеющемся в итоговом документе разработки ПО [ГОСТ Р 51904-2002 «Программное обеспечение встроенных систем. Общие требования к разработке и документированию», с.48-51]. В данном разделе указывается размер исполняемого объектного кода, ограничения по времени и памяти, ограничения ресурсов и способы измерения каждой характеристики.
Конфигурация ПО указывается в разделе «Управление конфигурацией ПО» [ГОСТ Р 51904-2002 «Программное обеспечение встроенных систем. Общие требования к разработке и документированию», с.30-36]. При этом осуществляется идентификация элементов конфигурации ПО, определяемых как совокупность компонентов ПО, которая обеспечивает конечную функцию использования.
3. Измеряют реальные значения характеристик контролируемого ПО.
4. Формируют эталонный уникальный идентификатор по значениям характеристик ПО с использованием функции преобразования. Упомянутый уникальный идентификатор может быть реализован в виде хэш-функции.
Хэш-функция - это функция, отображающая аргумент произвольной конечной длины в образ фиксированной длины. Благодаря основному свойству хэш-функции она является односторонней, из полученного отображения нельзя будет восстановить исходный текст. Алгоритмически невозможно подобрать любой такой текст, у которого значение хэш-функции совпадало бы с ранее найденным. Фактически любой алгоритм хэширования представляет собой подсчет контрольной суммы от исходного текста, при котором используются необратимые логические операции над исходным сообщением, такие как AND, OR. Для нахождения хэш-функции можно применять известные алгоритмы хэширования (SHA, MD4, MD5 и др.), которые позволяют получить на выходе блок данных фиксированной длины [журнал «Компьютер Пресс» №3'2007 г., С.Пахомов - «Забыли пароль. Нет проблем», с.23-24; Информационно-методический журнал «Защита информации. Инсайд» №3, 2005 г., А.Тетерин - «Создание защищенного канала передачи данных между распределенными информационными ресурсами предприятия», с.71-77].
Использование эталонного уникального идентификатора, полученного с использованием хэш-функции, позволяет осуществлять контроль ПО при запуске и перезапуске, что позволит достоверно определить легитимность используемого ПО.
5. Выполняют запуск модуля контроля и контролируемого ПО. При запуске каждой подсистемы выполняется процедура инициализации модуля контроля, которая предполагает выполнение следующих действий:
- передача сигнала инициализации от ПО модулю контроля с указанием уникального идентификатора контролируемого ПО;
- сравнение эталонного уникального идентификатора ПО с полученным уникальным идентификатором от контролируемого ПО.
Для противодействия злонамеренным воздействиям, направленным на вывод контролируемого приложения из строя и подмены его другим приложением, которое продолжит от имени контролируемого приложения оповещать модуль контроля, для каждого i-го контролируемого ПО должен быть сформирован (сгенерирован) уникальный ключ симметричного шифрования s, с использованием которого организуется защищенный от подмены канал взаимодействия между контролируемым приложением и модулем контроля.
6. Передают ключ симметричного шифрования s от модуля контроля контролируемому ПО в ответ на сигнал инициализации.
7. Измеряют интенсивности сигналов оповещения при работе каждой подсистемы модулю контроля по криптографически защищенному каналу на ключе s.
8. Сравнивают реальную интенсивность (динамику) получения сигналов оповещения каждой подсистемы (1) с ожидаемой интенсивностью .
где - количество сигналов от j-й контролируемой подсистемы (программного модуля) i-го контролируемого ПО за время наблюдения Т.
10. Выделяют и запоминают контролируемые подсистемы , оказывающие влияние на подсистему , в которой выявлено нарушение функционирования, используя конфигурацию ПО в определенном режиме функционирования.
16. Измеряют интенсивности сигналов оповещения при работе каждой подсистемы (программного модуля) модулю контроля по криптографически защищенному каналу на ключе s.
17. Сравнивают реальную интенсивность (динамику) получения сигналов оповещения каждой подсистемы (программного модуля) с ожидаемой интенсивностью .
Возможность реализации сформулированного технического результата была проверена путем машинного моделирования. С помощью моделирования получена взаимосвязь значений времени перезагрузки tвосст (восстановления) от объема программного обеспечения Vисх. кода по (Фиг.3) для Почтового клиента Novell - 5,4 Мб (23 тыс. строк кода), Операционных систем: Linux 2.6.29 - 3,4 Гб (11 млн. строк кода,) Windows 7 - 10,5 Гб (34 млн. строк кода) [Научно-технический журнал "Мир компьютерной автоматизации" №6 (web), 2010 г., Пол Леру - «Реальное время или реальная Linux? Делаем трезвый выбор»].
Достижение технического результата поясняется следующим образом. Для способа-прототипа при нарушении функционирования ПО осуществляется полный перезапуск за время Т1. Для предлагаемого способа определяются и перезапускаются контролируемые подсистемы, в которых выявлено нарушение функционирования ПО, используя конфигурацию в определенном режиме функционирования, что требует меньшее время Т2. При этом разница в требуемом времени для перезагрузки ΔT=T1-T2 тем больше, чем больше объем используемого ПО, чем и достигается технический результат.
Таким образом, заявленный способ за счет определения подлинности программного обеспечения путем введения эталонного уникального идентификатора по значениям характеристик программного обеспечения, определения подсистем программного обеспечения, нарушающих его функционирование, и уменьшения временных затрат на реализацию действий по обеспечению отказоустойчивого выполнения программного обеспечения позволяет обеспечить повышение достоверности контроля функционирования программного обеспечения от случайных и преднамеренных воздействий, повышение точности контроля функционирования программного обеспечения и обеспечения требуемых временных затрат на выполнение функций автоматизированной системы.
Claims (1)
- Способ контроля функционирования программного обеспечения, заключающийся в том, что запускают контролируемое программное обеспечение, формируют ключ симметричного шифрования для взаимодействия модуля контроля и контролируемого программного обеспечения в ответ на сигнал инициализации, полученный при начальном запуске от программного обеспечения, передают модулю контроля идентификатор контролируемого программного обеспечения, набор контролируемых подсистем и ожидаемую интенсивность получения сигналов оповещения от контролируемых подсистем, измеряют в процессе функционирования программного обеспечения интенсивность сигналов оповещения от контролируемых подсистем по криптографически защищенному каналу на ключе s, в случае несоответствия реальной интенсивности ожидаемой перезапускают программное обеспечение, отличающийся тем, что перед запуском модуля контроля и контролируемого программного обеспечения в модуле контроля формируют данные контролируемого программного обеспечения, включающие характеристики программного обеспечения, набор контролируемых подсистем, конфигурацию программного обеспечения, ожидаемую интенсивность сигналов оповещения, измеряют реальные значения характеристик программного обеспечения, по которым формируют эталонный уникальный идентификатор с использованием функции преобразования, после запуска программного модуля контроля и контролируемого программного обеспечения передают уникальный идентификатор от контролируемого программного обеспечения программному модулю контроля, сравнивают эталонный уникальный идентификатор программного обеспечения с полученным уникальным идентификатором от контролируемого программного обеспечения, измеряют интенсивность сигналов оповещения от контролируемого программного обеспечения в процессе функционирования по криптографически защищенному каналу на ключе s, сравнивают ожидаемые и реальные интенсивности сигналов оповещения, запоминают контролируемую подсистему, в которой нарушено функционирование, выделяют и запоминают контролируемые подсистемы, влияющие на подсистему, в которой нарушено функционирование по конфигурации программного обеспечения, перезапускают контролируемые подсистемы программного обеспечения, приводящие к сбоям функционирования данной подсистемы, измеряют интенсивности сигналов оповещения от контролируемого программного обеспечения в процессе функционирования по криптографически защищенному каналу на ключе s, сравнивают ожидаемые и реальные интенсивности сигналов оповещения, запоминают контролируемую подсистему, в которой повторно нарушено функционирование, перезапускают программное обеспечение при несовпадении ожидаемой и реальной интенсивности сигналов оповещения.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2011126194/08A RU2464628C1 (ru) | 2011-06-24 | 2011-06-24 | Способ контроля функционирования программного обеспечения |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2011126194/08A RU2464628C1 (ru) | 2011-06-24 | 2011-06-24 | Способ контроля функционирования программного обеспечения |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2464628C1 true RU2464628C1 (ru) | 2012-10-20 |
Family
ID=47145529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2011126194/08A RU2464628C1 (ru) | 2011-06-24 | 2011-06-24 | Способ контроля функционирования программного обеспечения |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2464628C1 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2742675C1 (ru) * | 2020-07-22 | 2021-02-09 | Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации | Способ установки, контроля и восстановления программного обеспечения, сложных программно-аппаратных объектов |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2137303C1 (ru) * | 1991-11-21 | 1999-09-10 | Моторола, Инк. | Процесс удостоверения подлинности команд |
RU2284591C2 (ru) * | 2001-06-13 | 2006-09-27 | Сони Корпорейшн | Система передачи данных, устройство передачи данных, устройство записи данных, способ управления данными и способ генерирования идентификатора |
US7266595B1 (en) * | 2000-05-20 | 2007-09-04 | Ciena Corporation | Accessing network device data through user profiles |
RU2310907C1 (ru) * | 2005-03-17 | 2007-11-20 | Атроник Интернешнл ГмбХ | Способ обеспечения безопасности игровых устройств и игровое устройство для его осуществления |
RU2331101C1 (ru) * | 2006-12-25 | 2008-08-10 | Илья Сергеевич Свирин | Способ контроля функционирования программного обеспечения |
RU2364049C2 (ru) * | 2003-11-27 | 2009-08-10 | Награкард Са | Способ аутентификации приложений |
RU2408071C2 (ru) * | 2004-10-11 | 2010-12-27 | Телефонактиеболагет Лм Эрикссон (Пабл) | Защищенные загрузка и хранение данных в устройстве обработки данных |
-
2011
- 2011-06-24 RU RU2011126194/08A patent/RU2464628C1/ru not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2137303C1 (ru) * | 1991-11-21 | 1999-09-10 | Моторола, Инк. | Процесс удостоверения подлинности команд |
US7266595B1 (en) * | 2000-05-20 | 2007-09-04 | Ciena Corporation | Accessing network device data through user profiles |
RU2284591C2 (ru) * | 2001-06-13 | 2006-09-27 | Сони Корпорейшн | Система передачи данных, устройство передачи данных, устройство записи данных, способ управления данными и способ генерирования идентификатора |
RU2364049C2 (ru) * | 2003-11-27 | 2009-08-10 | Награкард Са | Способ аутентификации приложений |
RU2408071C2 (ru) * | 2004-10-11 | 2010-12-27 | Телефонактиеболагет Лм Эрикссон (Пабл) | Защищенные загрузка и хранение данных в устройстве обработки данных |
RU2310907C1 (ru) * | 2005-03-17 | 2007-11-20 | Атроник Интернешнл ГмбХ | Способ обеспечения безопасности игровых устройств и игровое устройство для его осуществления |
RU2331101C1 (ru) * | 2006-12-25 | 2008-08-10 | Илья Сергеевич Свирин | Способ контроля функционирования программного обеспечения |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2742675C1 (ru) * | 2020-07-22 | 2021-02-09 | Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации | Способ установки, контроля и восстановления программного обеспечения, сложных программно-аппаратных объектов |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200320193A1 (en) | Baseboard management controller to perform security action based on digital signature comparison in response to trigger | |
US9436827B2 (en) | Attesting a component of a system during a boot process | |
CN108762783B (zh) | 车辆系统的软件更新方法、装置及车辆系统 | |
CN106796524B (zh) | 记录应用程序配置信息的方法、装置和电子设备 | |
US10262140B2 (en) | Methods and apparatus to facilitate blockchain-based boot tracking | |
US11030347B2 (en) | Protect computing device using hash based on power event | |
CN113407911A (zh) | 验证驻留在远程计算设备上的软件 | |
US11514365B2 (en) | Immutable watermarking for authenticating and verifying AI-generated output | |
CN105069352A (zh) | 一种在服务器上构建可信应用程序运行环境的方法 | |
CN112199439A (zh) | 数据存储设备和非暂态有形计算机可读存储介质 | |
US20170161497A1 (en) | Runtime verification | |
WO2021121382A1 (en) | Security management of an autonomous vehicle | |
CN101369141B (zh) | 用于可编程数据处理设备的保护单元 | |
US20240250825A1 (en) | Information processing device and control method for information processing device | |
RU2464628C1 (ru) | Способ контроля функционирования программного обеспечения | |
US10686812B2 (en) | Device and method for detecting manipulation of a program code | |
CN115130114B (zh) | 一种网关安全启动方法、装置、电子设备及存储介质 | |
CN103795905A (zh) | 一种网络摄像机可信启动方法 | |
CN113157543B (zh) | 一种可信度量方法及装置、服务器、计算机可读存储介质 | |
US10237133B2 (en) | Techniques of restoring BMC configurations to multiple BMCs | |
CN111767549B (zh) | 检测方法和装置 | |
JP5955165B2 (ja) | 管理装置、管理方法及び管理プログラム | |
US20220382636A1 (en) | Security inspections | |
US10789365B2 (en) | Control device and control method | |
CN105354487B (zh) | 应用监控处理方法、装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20130625 |