Научная статья на тему 'Методика автоматизированного контроля целостности и авторства программных средств на этапах разработки и развертывания'

Методика автоматизированного контроля целостности и авторства программных средств на этапах разработки и развертывания Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
102
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОРСТВО / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / РАЗРАБОТКА / ЦЕЛОСТНОСТЬ / AUTHORSHIP / SOFTWARE / DEVELOPMENT / INTEGRITY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бархатова Д.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

METHODOLOGY of automated control of integrity and authorship of software tools at stages of development and deployment

Formation of a technique that allows to implement the process of automated control of integrity and authorship of software tools being developed in the organization.

Текст научной работы на тему «Методика автоматизированного контроля целостности и авторства программных средств на этапах разработки и развертывания»

УДК 004.056

МЕТОДИКА АВТОМАТИЗИРОВАННОГО КОНТРОЛЯ ЦЕЛОСТНОСТИ И АВТОРСТВА ПРОГРАММНЫХ СРЕДСТВ НА ЭТАПАХ РАЗРАБОТКИ И РАЗВЕРТЫВАНИЯ

Д. А. Бархатова

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

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

Ключевые слова: авторство, программное обеспечение, разработка, целостность.

METHODOLOGY OF AUTOMATED CONTROL OF INTEGRITY AND AUTHORSHIP OF SOFTWARE TOOLS AT STAGES OF DEVELOPMENT AND DEPLOYMENT

D. A. Barkhatova

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation

Formation of a technique that allows to implement the process of automated control of integrity and authorship of software tools being developed in the organization.

Keywords: authorship, software, development, integrity.

Разработка программных средств с требованием к отсутствию НДВ требует повышенных мер безопасности на этапах их разработки и развертывания. Известны случаи внесения уязвимостей в исходный код программного обеспечения на этапе разработки проекта. Например, для реализации подобного вредоносного действия использовалась уязвимость системы управления версиями BitKeeper, которая позволяла получить доступ к исходным кодам [1]. Также распространенной практикой является заражение дистрибутива программного средства вирусным программным обеспечением при передаче по сети.

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

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

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

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

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

Целостность исходных кодов на своей машине и в репозитории разработчик контролирует по ЭП с использованием средств ЭП. В репозитории также реализуются права доступа для исключения несанкционированных внесений подписанных изменений. После обновления репозитория общим сервером проверяется ЭП разработчика исходных кодов в репози-тории и в случае успеха производится процесс компиляции и тестирования [2-5].

Далее собирается дистрибутив (на основании deb-пакетов), в который программа может быть включена только после успешной проверки ее ЭП на предыдущем этапе. После производится подписание ключом разработчика дистрибутива. На машине пользователя производится проверка ЭП устанавливаемых пакетов (рис. 2, 3).

По сформированной модели было произведено тестовое развертывание системы. На базе ОС Astra Linux 1.5 SE было развернуто средство контроля версий Git, система непрерывной интеграции Jenkins, средство ЭП OpenSSL и usb-токен Рутокен.

Система Jenkins автоматически проверяет репо-зиторий Git на наличие изменений и проверяет ЭП

Решетневские чтения. 2018

проекта с изменениями перед проведением процедур анализа исходных кодов и тестирования. При некорректной ЭП работа с проектом в системе пре-

кращается, в случае корректной ЭП производится анализ исходных кодов, компиляция и тестирование (рис. 4, 5).

Внесение изменений в исходные коды разрабатываемого ПС Загрузка измененных исходных кодов на сервер -- Тестирование исходных кодов разрабатываемого ПС

Электронная подпись файлов исходных кодов разрабатываемого ПС Добавление новой версии исходных кодов в репозиторий Проверка электронной подписи

Формирование дистрибутива

Генерация ЭП дистрибутива

Передача дистрибутива пользователю

Проверка -ЗП дистрибутива пользователем

Развертывание дистрибутива на ПЭВМ пользователя

Рис. 1. Встраивание этапов разработки и развертывания программных средств в существующую систему

Рис. 2. Модель системы автоматизированного контроля целостности и авторства (этап разработки ПО)

Формирование дистрибутива

Генерация подписи дистрибутива

"Передача подп исэнного

дистрибутива

пользователю

Развертывание дистрибутива на ПЭВМ пользователя не происходит_

1)

Ошибка проверки подписи

Проверка ЭП дистрибутива п о л ьзо в ате л е м

Подпись верна

Запускается процесс развертывания дистрибутива на ПЭВМ пользователя

Переход между < ]_I ~ Переход к следующей

стадиями модели системы стадии в случае успешного

завершений проверки

<'' ) - Переход к следующей стадии в случае ошибочного завершения проверки

Рис. 3. Модель системы автоматизированного контроля целостности и авторства (этап развертывания ПО)

Рис. 4. Пример проверки корректной ЭП дистрибутива

vkr@client:'VfloKyMeHTbii openssl smime -engine pkcsll_gost -verify -in project.sig -inform PEN -CRfile /ca.crt -out project.deb engine "pkcsll_gost" set. Ver i f icat i on fail ure

139632524633792:error:21071065:PKCS7 routines:PKCS7_signatureVeri fy digest failure:pk7_doi t.c:1169: 139632524633792:error:21075069:PKCS7 routines : PKCS7_verify:signature fai 1 ure : pk7_smime . c:410:

Рис. 5. Пример проверки некорректной ЭП дистрибутива

При формировании дистрибутива формируется его ЭП перед его передачей пользователю.

Результатами работы являются:

1. Модель системы, основанная на рассматриваемых исходных ограничениях.

2. Методика автоматизированного контроля целостности и авторства программных средств на этапах разработки и развертывания.

3. Развертывание системы, на основе разработанного проекта.

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

Библиографические ссылки

1. BitKeeper remote shell command execution/local vulnerability [Электронный ресурс]. URL: https://www. securityfocus.com/archive/1/306294 (дата обращения: 29.03.2018).

2. Protecting Code Integrity with PGP - Part 2: Generating Your Master Key [Электронный ресурс]. URL: https://www.linux.com/blog/learn/PGP/2018/2/protecting -code-integrity-pgp-part-2-generating-and-protecting-your-master-pgp-key (дата обращения: 04.03.2018).

3. Документация Рутокен [Электронный ресурс]. URL: https://www.rutoken.ru/support/manual/ (дата обращения: 13.03.2018).

4. Jenkins Documentation [Электронный ресурс]. URL: https://jenkins.io/doc/ (дата обращения: 06.08.2017).

5. Шудрак М. О., Лубкин И. А., Золотарев В. В. Статический анализ бинарного кода в сфере информационной безопасности // Известия ЮФУ. Технические науки. 2012. № 12 (137). С. 54-60.

References

1. BitKeeper remote shell command execution/local vulnerability. Available at: https://www.securityfocus.com/ archive/1/306294 (accessed: 29.03.2018).

2. Protecting Code Integrity with PGP - Part 2: Generating Your Master Key. Available at: https://www. linux.com/blog/learn/PGP/2018/2/protecting-code-integri-ty-pgp-part-2-generating-and-protecting-your-master-pgp-key (accessed: 04.03.2018).

3. Documentation RuToken. Available at: https://www. rutoken.ru/support/manual/ (accessed: 13.03.2018).

4. Jenkins Documentation. Available at: https:// jenkins.io/doc/ (accessed: 06.08.2017).

5. Shudrak M. O., Lubkin I. A., Zolotarev V. V. Static analysis of binary code in the field of information security. News of SFU. Technical science. 2012. No. 12 (137). P. 54-60.

© Бархатова Д. А., 2018

i Надоели баннеры? Вы всегда можете отключить рекламу.