RU2331101C1 - Способ контроля функционирования программного обеспечения - Google Patents

Способ контроля функционирования программного обеспечения Download PDF

Info

Publication number
RU2331101C1
RU2331101C1 RU2006145955/09A RU2006145955A RU2331101C1 RU 2331101 C1 RU2331101 C1 RU 2331101C1 RU 2006145955/09 A RU2006145955/09 A RU 2006145955/09A RU 2006145955 A RU2006145955 A RU 2006145955A RU 2331101 C1 RU2331101 C1 RU 2331101C1
Authority
RU
Russia
Prior art keywords
software
controlled
control module
intensity
monitored
Prior art date
Application number
RU2006145955/09A
Other languages
English (en)
Inventor
Иль Сергеевич Свирин (RU)
Илья Сергеевич Свирин
Original Assignee
Илья Сергеевич Свирин
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Илья Сергеевич Свирин filed Critical Илья Сергеевич Свирин
Priority to RU2006145955/09A priority Critical patent/RU2331101C1/ru
Application granted granted Critical
Publication of RU2331101C1 publication Critical patent/RU2331101C1/ru

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

1. Область техники
Изобретение относится к области вычислительной техники и направлено на обеспечение надежного функционирования программного обеспечения.
2. Уровень техники
Развитие встраиваемых и других автономных вычислительных устройств, построенных на базе электронных вычислительных машин, свидетельствует о том, что все более и более ответственные задания возлагаются на электронные системы принятия решения. Это диктует достаточно жесткие требования к надежности функционирования таких систем, которая складывается из показателей надежности самой электронной вычислительной машины и исполняемого на ней программного обеспечения. При этом важность второго аспекта неоправданно занижается.
В настоящее время известно большое количество теоретических исследований и практических рекомендаций по организации процесса разработки программного обеспечения для сокращения числа ошибок, повышения его эффективности и надежности его функционирования (Макгрегор Дж., Сайке Д. Тестирование объектно-ориентированного программного обеспечения: Практическое пособие. - К.: ООО ТИД ДС, 2002. - 423 с.), но для этого, по сути, необходимо выполнить заново проектирование и разработку существующего программного обеспечения, что на практике неосуществимо. Использование предлагаемого изобретения призвано обеспечить надежное функционирование программного обеспечения с учетом уже существующих в этом программном обеспечении недостатков, а также с учетом возможных случайных и преднамеренных воздействий на программное обеспечение с целью нарушения его работоспособности.
В контексте рассматриваемой проблемы под надежностью функционирования программного обеспечения будем понимать отказоустойчивое выполнение его функциональных возможностей за счет противодействия следующим негативным факторам:
1. зависание программного обеспечения в целом или одной из его подсистем. Например, для программного обеспечения системы охранной телевизионной должна осуществляться запись видеопотока для всех видеоканалов, но в результате ошибки в программном коде произошел сбой (зависание) при записи одного видеоканала. Для обеспечения отказоустойчивого выполнения функциональных возможностей данной системы охранной телевизионной необходимо осуществить перезапуск программного обеспечения.
2. случайные воздействия на программное обеспечение, приводящие к нарушению его функционирования (аварийное завершение работы). В этом случае для обеспечения отказоустойчивого выполнения функциональных возможностей программного обеспечения требуется его повторный запуск.
3. преднамеренные воздействия на программное обеспечение, нацеленные на нарушение его функционирования. Отличаются от случайных воздействий тем, что после достижения цели воздействия (аварийное завершение работы программного обеспечения) злоумышленником предпринимаются дополнительные действия, направленные на то, чтобы скрыть от средств контроля функционирования факт нарушения работы программного обеспечения. Это требует применения дополнительных мер противодействия.
Известны аналоги предлагаемого изобретения.
Аппаратный модуль контроля зависания операционной системы электронной вычислительной машины (т.н. модуль WatchDog), встроенный в плату видеозахвата Provideo PV-26x (электронный ресурс - http://www.provideo.tw). Данное решение предполагает наличие аппаратного модуля, который ожидает от программного обеспечения, загруженного в операционную систему электронной вычислительной машины, периодических сигналов оповещения «heartbeat» (англ. - «сердцебиение»). При отсутствии сигналов оповещения в течение некоторого промежутка времени модуль контроля зависания делает вывод о том, что операционная система зависла и выполняет перезагрузку электронной вычислительной машины. К недостатку данного решения можно отнести то, что осуществляется контроль только за функционированием операционной системы, а перезагрузка электронной вычислительной машины производится только при зависании операционной системы. Уровень надежности современных операционных систем, устанавливаемых на автономные устройства (Linux-подобные операционные системы), достаточно высок, чтобы вероятность зависания операционной системы считать пренебрежимо малой. Значительно более критична надежность функционирования прикладного программного обеспечения, которое никак не контролируется указанным аналогом.
Второй известный аналог представляет собой полностью программное решение, реализованное в коммерческом продукте Watchdog-О-Matic (электронный ресурс - http://www.securitylab.ru/software) компании SecurityLab. Данный программный продукт проверяет корректность работы выбранного программного обеспечения и автоматически перезагружает его при недоступности. К недостатку данного решения можно отнести то, что корректность работы программного обеспечения определяется по косвенным признакам и не может быть обнаружено частичное зависание (только одной из подсистем программного обеспечения). Кроме того, данное решение никак не противостоит преднамеренному воздействию на контролируемое программное обеспечение, а следовательно, если злоумышленник после вывода программного обеспечения из строя осуществит запуск собственного программного обеспечения с таким же именем (идентификатором), то система контроля не обнаружит замены и продолжит контролировать работоспособность уже подмененного программного обеспечения.
Третий известный аналог также представляет собой полностью программное решение, реализованное в свободно распространяемом продукте SoftDog для операционной системы Linux (электронный ресурс - http://www.opennet.ru/prog/info/497.html). Указанный программный продукт представляет собой программный модуль контроля, который ожидает получения от контролируемого программного обеспечения сигналов оповещения «heartbeat» (англ. - «сердцебиение»). При отсутствии сигналов оповещения в течение некоторого промежутка времени модуль контроля делает вывод о нарушении функционирования основного программного обеспечения и выполняет его перезапуск. К недостатку данного решения можно отнести то, что модуль контроля получает от программного обеспечения сигналы оповещения только одного типа - «программное обеспечение функционирует», хотя может быть нарушено функционирование только какой-либо подсистемы контролируемого программного обеспечения (например, сбой записи только по одному из четырех видеоканалов системы охранной телевизионной). Кроме того, данное решение также никак не противостоит злонамеренному воздействию на контролируемое программное обеспечение, а следовательно, если злоумышленник после вывода программного обеспечения из строя продолжит передавать модулю контроля сигналы оповещения со стороны собственного программного обеспечения, то модуль контроля не обнаружит подмены и не предпримет никаких действий по восстановлению работоспособности аварийно завершенного программного обеспечения.
Способ контроля функционирования, реализованный в программном продукте SoftDog, является наиболее близким аналогом к предлагаемому изобретению и рассматривается в качестве прототипа.
3. Раскрытие изобретения
Задача настоящего изобретения заключается в обеспечении надежного функционирования программного обеспечения в автономном режиме (без участия оператора). Технический результат, достигаемый в результате использования предлагаемого изобретения, заключается в расширении функциональных возможностей известного решения за счет обеспечения отказоустойчивого выполнения программным обеспечением своих функциональных возможностей с обеспечением защиты от случайного и преднамеренного вмешательства.
Для применения предлагаемого изобретения должен быть определен ряд параметров. Пусть задано множество Р={p0,...,pN}, где pi - i-е контролируемое программное обеспечение.
Для каждого pi, определены множества
Figure 00000001
, где
Figure 00000002
- j-я контролируемая подсистема i-го контролируемого программного обеспечения, и
Figure 00000003
, где
Figure 00000004
- ожидаемая интенсивность (динамика) поступления сигналов оповещения о состоянии j-й контролируемой подсистемы i-го контролируемого программного обеспечения.
Для противодействия злонамеренным воздействиям, направленным на вывод контролируемого приложения из строя и подмены его другим приложением, которое продолжит от имени контролируемого приложения оповещать модуль контроля, для каждого pi должен быть сгенерирован уникальный ключ симметричного шифрования si, с использованием которого организуется защищенный от подмены канал взаимодействия между контролируемым приложением и модулем контроля.
Для достижения указанного технического результата необходимо для каждого контролируемого приложения pi выполнение следующей последовательности действий:
программное обеспечение pi, при начальном запуске, а также при запуске любой дополнительной подсистемы отправляет сигнал инициализации модулю контроля, которому сообщает собственный идентификатор pi, набор контролируемых подсистем
Figure 00000001
и ожидаемую интенсивность (динамику) поступления сигналов оповещения об их состоянии
Figure 00000003
;
в ответ на сигнал инициализации от программного обеспечения рi модуль контроля вырабатывает уникальный ключ симметричного шифрования si для программного обеспечения pi, при этом все дальнейшее взаимодействие программного обеспечения pi с модулем контроля выполняется по криптографически защищенному каналу, что позволяет исключить подмену программного обеспечения в результате злонамеренного воздействия;
программное обеспечение pi (включая все подсистемы, установленные им на контроль
Figure 00000001
в процессе функционирования формирует сигналы оповещения для модуля контроля, которые передаются модулю контроля по криптографически защищенному на ключе si каналу с интенсивностью не меньшей
Figure 00000003
модуль контроля отслеживает сигналы оповещения от каждой контролируемой подсистемы
Figure 00000001
программного обеспечения pi и определяет реальную интенсивность (динамику) их поступления
Figure 00000005
, вычисляемую по формуле
Figure 00000006
, где
Figure 00000007
- количество сигналов от j-й контролируемой подсистемы i-го контролируемого программного обеспечения за время наблюдения T. Если хотя бы для одной контролируемой подсистемы
Figure 00000008
, то модуль контроля делает вывод о том, что функционирование j-й подсистемы i-го контролируемого программного обеспечения нарушено, и выполняет перезапуск программного обеспечения. Перезапуск программного обеспечения может быть выполнен путем перезагрузки электронной вычислительной машины или непосредственно остановом и последующим запуском i-го программного обеспечения.
Таким образом, обеспечивается надежное функционирование программного обеспечения.
4. Осуществление изобретения
Для осуществления предлагаемого способа контроля функционирования программного обеспечения необходимы следующие компоненты:
электронная вычислительная машина - аппаратная платформа для функционирования контролируемого программного обеспечения;
модуль контроля - аппаратный или программный модуль, которому по криптографически защищенному каналу контролируемое программное обеспечение передает сигналы оповещения;
программное обеспечение - некоторое программное обеспечение, например, программное обеспечение системы охранной телевизионной, надежное функционирование которого требуется обеспечить. Пусть данное программное обеспечение включает в свой состав две подсистемы: подсистема отображения видеоданных в режиме реального времени и подсистема записи видеоданных на накопитель на жестком магнитном диске (НЖМД). Задача ставится как обеспечение надежного функционирования обеих подсистем для каждого видеоканала.
Для осуществления предлагаемого способа контроля функционирования программного обеспечения необходимо выполнение следующей последовательности действий:
1. подключить модуль контроля к электронной вычислительной машине (для аппаратной реализации модуля контроля) или выполнить запуск модуля контроля на электронной вычислительной машине (для программной реализации модуля контроля);
2. установить контролируемое программное обеспечение системы охранной телевизионной на автозапуск при включении электронной вычислительной машины. Выполнить запуск контролируемого программного обеспечения, в т.ч. запуск подсистем отображения видеоданных в режиме реального времени и записи видеоданных на НЖМД для всех видеоканалов;
3. при запуске каждой подсистемы для каждого видеоканала выполняется процедура инициализации модуля контроля, которая предполагает выполнение следующих действий:
передача сигнала инициализации от программного обеспечения модулю контроля с указанием уникального идентификатора программного обеспечения (может быть сгенерирован любым способом, в т.ч. последовательным увеличением значения некоторого глобального счетчика), набор контролируемых подсистем K={k0,..., kM, kM+1,..., k2M} и ожидаемая интенсивность (динамика) поступления сигналов об их состоянии F={f0,..., fM, fM+1,..., f2M}. При этом k0,..., kM - подсистемы отображения видеоданных в режиме реального времени для каналов 0...М, kM+1,..., k2M - подсистемы записи видеоданных на НЖМД для каналов 0...М. Ожидаемая интенсивность (динамика) F определяется исходя из логики работы каждой контролируемой подсистемы, в соответствии с которой динамика получения видеокадров для отображения в режиме реального времени составляет 25 кадр/сек, т.е. fi=20,
Figure 00000009
, а в режиме записи на НЖМД для экономии пространства на НЖМД динамика сохранения не превышает 10 кадр/сек, т.е. fi=7,
Figure 00000010
. Значения fi заведомо выбраны меньшими, чем реальная интенсивность (динамика) работы контролируемых подсистем, чтобы исключить ложные срабатывания модуля контроля на кратковременные снижения производительности;
выработка модулем контроля ключа симметричного шифрования s и передача его программному обеспечению в ответ на сигнал инициализации;
4. при работе каждой подсистемы для каждого видеоканала после обработки каждого кадра видеопотока выполняется отправка сигнала оповещения модулю контроля по криптографически защищенному на ключе s каналу взаимодействия;
5. модуль контроля, получив сигнал оповещения от контролируемого программного обеспечения, обновляет (пересчитывает) реальную интенсивность (динамику) получения сигналов оповещения. Если реальная интенсивность (динамика) получения сигналов оповещения оказывается меньше ожидаемой, например, в результате нарушения функционирования одной из подсистем, то модуль контроля выполняет перезапуск электронной вычислительной машины, а следовательно, и контролируемого программного обеспечения, обеспечив его надежное функционирование при условии достижения указанного технического результата.

Claims (1)

  1. Способ контроля функционирования программного обеспечения, заключающийся в том, что передают сигналы состояния работоспособности от контролируемого программного обеспечения программному модулю контроля, отличающийся тем, что осуществляют запуск контролируемого программного обеспечения при запуске электронной вычислительной машины, вырабатывают ключ симметричного шифрования для взаимодействия модуля контроля и контролируемого программного обеспечения в ответ на сигнал инициализации, полученный при начальном запуске от программного обеспечения, модулю контроля сообщают идентификатор контролируемого программного обеспечения, набор контролируемых подсистем и ожидаемую интенсивность (динамику) получения сигналов оповещения от контролируемых подсистем, в процессе функционирования программного обеспечения модулем контроля отслеживают интенсивность (динамику) получения сигналов оповещения от контролируемых подсистем по криптографически защищенному каналу, в случае несоответствия реальной интенсивности (динамики) ожидаемой выполняют перезапуск электронной вычислительной машины.
RU2006145955/09A 2006-12-25 2006-12-25 Способ контроля функционирования программного обеспечения RU2331101C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2006145955/09A RU2331101C1 (ru) 2006-12-25 2006-12-25 Способ контроля функционирования программного обеспечения

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2006145955/09A RU2331101C1 (ru) 2006-12-25 2006-12-25 Способ контроля функционирования программного обеспечения

Publications (1)

Publication Number Publication Date
RU2331101C1 true RU2331101C1 (ru) 2008-08-10

Family

ID=39746502

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006145955/09A RU2331101C1 (ru) 2006-12-25 2006-12-25 Способ контроля функционирования программного обеспечения

Country Status (1)

Country Link
RU (1) RU2331101C1 (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2464628C1 (ru) * 2011-06-24 2012-10-20 Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Способ контроля функционирования программного обеспечения
RU2641263C2 (ru) * 2011-12-02 2018-01-16 Фишер Контролз Интернешнел Ллс Стандартные программы управления ходом выполнения процесса и связанные способы и системы
US20230311933A1 (en) * 2022-03-31 2023-10-05 Transdev Group Innovation Device for generating a movement limitation signal for an autonomous motor vehicle, associated control system, assembly and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2464628C1 (ru) * 2011-06-24 2012-10-20 Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Способ контроля функционирования программного обеспечения
RU2641263C2 (ru) * 2011-12-02 2018-01-16 Фишер Контролз Интернешнел Ллс Стандартные программы управления ходом выполнения процесса и связанные способы и системы
US20230311933A1 (en) * 2022-03-31 2023-10-05 Transdev Group Innovation Device for generating a movement limitation signal for an autonomous motor vehicle, associated control system, assembly and method

Similar Documents

Publication Publication Date Title
US20080235546A1 (en) System and method for detecting a work status of a computer system
US9582373B2 (en) Methods and systems to hot-swap a virtual machine
Liang et al. Filtering failure logs for a bluegene/l prototype
CN102081573B (zh) 用于记录设备重启原因的装置及方法
US8806278B2 (en) Method and device for autonomously diagnosing and remotely controlling a computer or computer-aided system
CN106662994B (zh) 检测系统管理模式bios代码的改变
US9256489B2 (en) Synchronized debug information generation
US8832494B2 (en) Methods and apparatus for displaying video despite a nonfunctional operating system
RU2331101C1 (ru) Способ контроля функционирования программного обеспечения
CN112015599B (zh) 错误恢复的方法和装置
KR20140004702A (ko) 프로세스의 재기동
KR20140001988A (ko) 데이터 처리 시스템의 재기동
US20110145634A1 (en) Apparatus, a recovery method and a program thereof
JP4886558B2 (ja) 情報処理装置
US20080209254A1 (en) Method and system for error recovery of a hardware device
WO2000051000A1 (fr) Systeme informatique et procede pour gerer les perturbations affectant un systeme informatique
US10824493B2 (en) Disambiguation of error logging during system reset
US8880827B2 (en) Method for executing security-relevant and non-security-relevant software components on a hardware platform
US11884283B2 (en) Vehicle device
JP5342660B2 (ja) 管理システム及びシステム管理方法及びプログラム
CN112631863A (zh) 一种bmc健康状态检测方法、电子设备及存储介质
RU2464628C1 (ru) Способ контроля функционирования программного обеспечения
CN103518188B (zh) 监控系统恢复控制
JP5733515B2 (ja) Ras機能を備える組み込み機器
JP2021069009A (ja) 情報処理システム、情報処理システムの制御方法、情報処理装置、及びプログラム

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20121226

NF4A Reinstatement of patent

Effective date: 20140220

MM4A The patent is invalid due to non-payment of fees

Effective date: 20161226

NF4A Reinstatement of patent

Effective date: 20180216