Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги2 / 52

.pdf
Скачиваний:
0
Добавлен:
24.02.2024
Размер:
2.44 Mб
Скачать

Рисунок 5 – Распределение результатов классификации по модели Дерево

C&R

1)Сформированы правила отбора кредитных организаций, вовлеченных в противоправную деятельность по ОД/ФТ.

2)Построено дерево решений по алгоритму CHAID. (Рис.6)

Рисунок 6 – Дерево решений по алгоритму CHAID

91

10. Результаты применения Дерево C&R (Рис.7)

Рисунок 7 – Визуализация распределения ликвидированных банков по 3й главной компоненте

В ходе проведения анализа с использованием функционала IBM SPSS Modeler идентифицированы правила классификации кредитных организаций на предмет вовлеченности в противоправную деятельность, в частности ОД/ФТ, а также произведено ранжирование главных компонент по степени влияния главной компоненты на целевой элемент.

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

Вместе с тем, приведены распределения ликвидированных банков (Рис. 8), и банков с высокой степенью благонадежности (Рис. 9).

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

92

Рисунок 8 – Распределение ликвидированных банков

Рисунок 9 – Распределение благонадежных банков

2) Построено дерево решений по алгоритму C&R.

93

Рисунок 10 – Дерево решений по алгоритму C&R

94

Рисунок 11 – Распределение благонадежных банков по 1й главной компоненте

Рисунок 12 – Распределение ликвидированных банков по 1й главной компоненте

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

95

Список использованных источников:

1.Елисеев О.Е. Управление рисками в контрактации [Электронный ресурс] // Информационно-экономические аспекты стандартизации и технического регулирования: Научный интернет-журнал. 2012. – №

3(7).

2.Приказчикова А.С., Бекетнова Ю.М., Крылов Г.О. «Системный анализ признакового пространства деятельности кредитных организаций в целях выявления рисков их финансовой устойчивости» / Орёл: Информационные системы и технологии, 2017 №1(97) / с. 125-129.

3.Приказчикова А.С., Бекетнова Ю.М., Крылов Г.О., Р.Э. Асланов «Об эффективности анализа кредитных организаций методом главных компонент в целях выявления рисков информационной и финансовой безопасности» / М.: Информатизация и связь, 2017, №4.

96

УДК 004.4:004.056

© А.А. Тулеубаева, А.Б. Камолов, В.А. Рычков, 2021

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

А.А. Тулеубаева студент 4 курса бакалавриата НИЯУ МИФИ, Москва

E-mail: aigerim.tuleubayeva@yandex.ru

А.Б. Камолов студент 4 курса бакалавриата НИЯУ МИФИ, Москва

E-mail: kamolov.amir2000@yandex.ru

В.А. Рычков старший преподаватель кафедры финансового мониторинга № 75 НИЯУ МИФИ, Москва

E-mail: VARychkov@mephi.ru

Аннотация: В статье рассмотрены современные методологии разработки программного обеспечения, созданные с целью обеспечить ПО необходимым уровнем безопасности. Описаны основные моменты в методологиях DevOps и DevSecOps. Приведены примеры самых часто используемых в настоящее время инструментов для разработки безопасного программного обеспечения.

Ключевые слова: DevOps, DevSecOps, CI/CD.

Managing the organization’s business processes in an organization as a part of digital transformation

Abstract: The article discusses modern software development methodologies. The main points of the DevOps and DevSecOps methodology are described. Examples of the most commonly used tools for secure software are given.

Keywords: DevOps, DevSecOps, CI/CD.

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

97

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

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

Постоянное совершенствование методологий разработки программного обеспечения стало результатом необходимости обеспечить программный продукт высокой устойчивостью и максимально удовлетворить потребности конечного пользователя для получения конкурентного преимущества в сфере разработки ПО. В ходе эволюции отрасли были созданы и нашли свое широкое применение на практике параллельно с классическими методологиями, как «Водопад» и «Спираль», гибкие методологии Agile и DevOps. Их популярность обусловлена возникновением инструментов с возможностью адаптации к постоянно изменяющимся потребностям пользователей, а также ускорения процесса разработки программного обеспечения. К примеру, это касается платформ

Continuous Integration и Continuous Delivery (CI/CD) и технологии контейнеризации.

Development and Operations (DevOps) — это комплекс практик,

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

98

Рисунок 1 – Основополагающие процессы DevOps

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

Важной особенностью DevOps является автоматизация процессов как непрерывная доставка (CD), которая предоставляет возможность разработчикам поставлять изменения в ПО чаще и в относительно короткие сроки, а также непрерывная интеграция (CI), ориентированная на интеграцию модулей и частей программного обеспечения. Конвейер CI / CD — это набор практик, который подразумевает под собой внесение небольших изменений с фиксацией. Задача CI заключается в обеспечении последовательности и автоматизации способов компиляции и компоновки, тестирования и упаковки программного обеспечения. Непрерывная поставка (CD) начинается после успешного завершения процесса непрерывной интеграции (CI).

Методология содержит шесть основополагающих принципов: Клиентоориентированность; Сквозная ответственность всех членов команды за обеспечение

производительности ПО; Непрерывное улучшение;

Автоматизация — это ключевой момент DevOps; Командная работа;

99

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

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

Основные этапы жизненного цикла DevOps:

1. Этап планирования. Менеджеры проектов в сотрудничестве с командой занимаются определением и описанием функций и возможностей создаваемого ПО. На данном этапе происходит планирование и мониторинг выполнения задач, управление гибкой разработкой инструментами популярных гибких методологий вроде Scrum

иKanban. Используются инструменты управления проектами как Jira, Confluence, Trello, Asana, Azure DevOps, Clarizen и т.д.;

Этап разработки. Включает в себя все моменты написания кода – программирование, тестирование, интеграция кода. Для параллельной работы над кодом используются системы управления версиями как Mercurial, Git, SVN, Subversion, и системы, вносящие огромное количество преимуществ в совместную работу команды разработки ПО как GitHub,

GitLab и Bitbucket;

Этап сборки. Исходный код программы преобразуется в форму, которая может быть запущена в компьютерной системе. На этом этапе задействованы в основном разработчики и системные администраторы. Используются инструменты CI как Jenkins, TravisCI, а также инструменты автоматизированной сборки как Maven, Gradle, Apache Ant, Apache Buildr, MSBuild и т. д.;

Этап тестирования. На этом этапе программное обеспечение проверяется отделом обеспечения качества с использованием инструментов автоматизированного тестирования, примерами которых являются JUnit, Bugzilla, Jmeter, Selenium, и т.д. Автоматизация тестирования может повысить качество программного обеспечения и снизить риски;

Этап развертывания. На данном этапе происходят процессы установки

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

100

Соседние файлы в папке книги2