Эксплуатация программных продуктов с открытым кодом

Главная > Статьи >Эксплуатация программных продуктов с открытым кодом
Статьи

Исландия (Рейкьявик). Конференция «Программные продукты с открытым кодом»

Эксплуатация программных продуктов с открытым кодом. Методологический опыт.

ТЕрминЫ и ОПРЕДЕЛЕНИЯ

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

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

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

Система сборки (компиляции) программного продукта – набор исполняемых программ, создающих в результате своей работы исполняемый код программного продукта.

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

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

Программа вычисления состояния исходного или исполняемого кода – программный модуль или несколько программных модулей, предназначенный (предназначенные) для вычисления и/или контроля хеш-значений  файлов исполняемого и/или исходного кода программного продукта.

Хеш-значение – результат вычисления хеш-функции для конкретного массива данных (файла).

Список хеш-значений – совокупность хеш-значений, соотнесенная с именами файлов, для которых данные хеш-значения вычислены.

Список модулей исходного кода – полная совокупность имен файлов исходного кода программного продукта.

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

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

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

По согласованию с Заказчиком система сборки может быть предоставлена Разработчиком на отдельном носителе, либо использоваться уже имеющаяся в распоряжении Заказчика система сборки.

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

Общие положения

Настоящий Порядок является документом, определяющим порядок приемки в Банке России программных продуктов с исходным кодом.

Действие Порядка распространяется на договоры (дополнительные соглашения к договорам) последующих периодов, включающие поставку в Банк России программных продуктов (ПП) с исходным кодом.

Применение настоящего Порядка к конкретным договорам будет при необходимости определяться отдельными решениями.

Настоящий Порядок не применяется при сопровождении принятого в промышленную эксплуатацию программного продукта.

В данный Порядок могут вноситься изменения и дополнения при их согласовании сторонами, подписавшими настоящий документ.

Взаимодействующие СТОРОНЫ

Исполнитель работ (Разработчик):

формирует контрольный комплект поставляемых модулей;

передает  Заказчику дополнительные материалы исходного кода ПП.

Заказчик (информационно-вычислительное подразделение Банка России, территориальное учреждение Банка России (подразделение, сопровождающее соответствующий договор)):

обеспечивает проверку контрольного комплекта поставляемых модулей;

выполняет приемку контрольного комплекта поставляемых модулей ПП.

Приемка ПП со стороны Заказчика производится назначенной (сформированной) в установленном порядке комиссией либо уполномоченным Банком России лицом.

Для проведения необходимых процедур с контрольным комплектом поставляемых модулей ПП, предусмотренных настоящим порядком, Исполнитель (Разработчик) или подрядная организация на основании договора обеспечивает создание (наличие и поддержание в рабочем состоянии) и функционирование в Банке России стенда, а также при необходимости предоставляет Заказчику систему сборки, использованную при разработке ПП.

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

Требования и порядок использования ПП с исходным кодом

Требования к первичной организации работы

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

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

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

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

Требования к формированию контрольного комплекта поставляемых модулей

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

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

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

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

 вычисляет и проверяет совпадения хеш-значения для программы вычисления состоянии исполняемого или исходного кода ее контрольному значению (при помощи самой программы вычисления состояния исполняемого или исходного кода);

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

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

устанавливает на компьютер систему сборки и/или запускает  ее с контрольного комплекта поставляемых модулей;

 проводит процесс сборки программного продукта;

 вычисляет и проверяет совпадения хеш-значений для полученных в процессе сборки исполняемых файлов (с учетом Примечания) с их контрольными значениями.

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

При положительном исходе всех этапов пункта 3.3.1 настоящего Порядка контрольный комплект поставляемых модулей помещается (передается) на хранение в фонд алгоритмов и программ (ФАП) Заказчика. Передача сопровождается Актом приема-передачи, форма которого устанавливается ФАП

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

Требования к порядку замены версий, внесению изменений и исправлению ошибок

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

Если произведены изменения в параметрах сборки, они также указываются исполнителем и передаются Заказчику.

Для полученных изменений в полном объеме проводятся все проверки, предусмотренные п.3.3 настоящего Порядка.

Требования к дополнительным материалам исходного кода

 Дополнительные материалы исходного кода могут быть переданы Заказчику на отдельном носителе, либо включены в отдельную часть (каталог) контрольного комплекта поставляемых модулей.

Дополнительные материалы в обязательном порядке должны содержать:

перечень дополнительных материалов исходного кода;

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

Дополнительные материалы также могут содержать.

текст программы в соответствии с ГОСТ 19.401-78 (для всех или согласованных с заказчиком модулей исходного кода),

описание программы в соответствии с ГОСТ 19.402-78 (для программного продукта в целом или отдельных его частей),

описание применения в соответствии с ГОСТ 19.502-78,

руководство системного программиста в соответствии с ГОСТ 19.503-79.

Порядок загрузки исполняемого кода в оборудование

Загрузка исполняемого кода в оборудование производится при помощи системы загрузки исполняемого кода в оборудование в соответствии с инструкцией Разработчика.

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

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