title: ÐÐ²ÑÐ¾Ð¼Ð°ÑÐ¸Ð·Ð°ÑÐ¸Ñ Ð²Ð½ÐµÐ´ÑÐµÐ½Ð¸Ñ Ð¿ÑÐ°Ð²Ð¸Ð» Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ð¹ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð½Ð° Ð¿ÑÐ¸Ð¼ÐµÑÐµ ÑÐ·ÑÐºÐ° Golang
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° ÑÐ¿ÐµÑÐ¸Ð°Ð»Ð¸ÑÑÐ°
titleType: Subtitle
title: Automation of the implementation of the rules of secure development on the example of the Golang language
Creators: name: ÐÐ¾Ð»Ð¾Ð²Ð¸Ð½, ÐÐ°Ð½Ð¸Ð¸Ð»
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2023
Subjects: ÐÐ½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ
Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð°Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ°
Ð¸ÑÑ Ð¾Ð´Ð½ÑÐ¹ ÐºÐ¾Ð´
Ð°Ð±ÑÑÑÐ°ÐºÑÐ½Ð¾Ðµ ÑÐ¸Ð½ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¾Ðµ Ð´ÐµÑÐµÐ²Ð¾
secure development
source code
abstract syntax tree

description: Ð¢ÐµÐ¼Ð° Ð²ÑÐ¿ÑÑÐºÐ½Ð¾Ð¹ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ: Â«ÐÐ²ÑÐ¾Ð¼Ð°ÑÐ¸Ð·Ð°ÑÐ¸Ñ Ð²Ð½ÐµÐ´ÑÐµÐ½Ð¸Ñ Ð¿ÑÐ°Ð²Ð¸Ð» Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ð¹ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð½Ð° Ð¿ÑÐ¸Ð¼ÐµÑÐµ ÑÐ·ÑÐºÐ° GolangÂ». Ð¦ÐµÐ»ÑÑ ÑÐ°Ð±Ð¾ÑÑ ÑÐ²Ð»ÑÐµÑÑÑ Ð¿Ð¾Ð²ÑÑÐµÐ½Ð¸Ðµ ÑÑÐ¾Ð²Ð½Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾ÑÑÐ¸ Ð¿ÑÐ¾ÑÐµÑÑÐ° ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ Ð½Ð° ÑÐ·ÑÐºÐµ Golang. ÐÑÐµÐ´Ð¼ÐµÑ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ â Ð¼ÐµÑÐ¾Ð´Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ð¹ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸. Ð ÑÐ¾Ð´Ðµ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÐµÑÐ°ÑÑÑÑ ÑÐ»ÐµÐ´ÑÑÑÐ¸Ðµ Ð·Ð°Ð´Ð°ÑÐ¸: 1. ÐÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¿Ð¾Ð´ÑÐ¾Ð´Ð¾Ð² Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ð¹ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸. 2. Ð¡ÑÐ°Ð²Ð½Ð¸ÑÐµÐ»ÑÐ½ÑÐ¹ Ð°Ð½Ð°Ð»Ð¸Ð· Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½ÑÐ¾Ð² Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ð¹ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸. 3. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¿Ð¾Ð´ÑÐ¾Ð´Ð° Ðº Ð²ÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð°. 4. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑÑÐµÐ´ÑÑÐ²Ð° Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ñ Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ð³Ð¾ Golang-ÐºÐ¾Ð´Ð°. Ð ÑÐ¾Ð´Ðµ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ»Ð¸ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ñ Ð¿Ð¾Ð´ÑÐ¾Ð´Ñ Ðº ÑÐ¾Ð¿ÑÐ¾Ð²Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ð¹ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸, Ð° ÑÐ°ÐºÐ¶Ðµ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½ ÑÑÐ°Ð²Ð½Ð¸ÑÐµÐ»ÑÐ½ÑÐ¹ Ð°Ð½Ð°Ð»Ð¸Ð· ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ñ Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½ÑÐ¾Ð² Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ð¹ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸. ÐÑÐ´ÐµÐ»ÐµÐ½Ñ Ð¾Ð±ÑÐ¸Ðµ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾ÑÑÐ¸ Ðº Ð¿ÑÐ¾ÑÐµÑÑÑ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð¸ Ð²ÑÑÐ²Ð»ÐµÐ½Ñ ÐºÑÐ¸ÑÐ¸ÑÐµÑÐºÐ¸Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½ÑÑ Ð¶Ð¸Ð·Ð½ÐµÐ½Ð½Ð¾Ð³Ð¾ ÑÐ¸ÐºÐ»Ð° Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ, ÑÑÐ·Ð²Ð¸Ð¼ÑÐµ Ðº ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐ¼ Ð°ÑÐ°ÐºÐ°Ð¼. Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ»Ð¾ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð¾ ÑÑÐµÐ´ÑÑÐ²Ð¾ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸ÑÐµÑÐºÐ¾Ð³Ð¾ Ð½Ð°ÑÐ¾Ð¶Ð´ÐµÐ½Ð¸Ñ ÑÑÐ·Ð²Ð¸Ð¼Ð¾ÑÑÐµÐ¹ Ð² Ð¸ÑÑÐ¾Ð´Ð½Ð¾Ð¼ ÐºÐ¾Ð´Ðµ Ð¿ÑÐ¾ÐµÐºÑÐ° Ð½Ð° ÑÐ·ÑÐºÐµ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Golang, Ð° ÑÐ°ÐºÐ¶Ðµ â Ð¿Ð¾Ð´ÐºÐ»ÑÑÐ°ÐµÐ¼ÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÑÑ. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½Ð¾Ðµ ÑÑÐµÐ´ÑÑÐ²Ð¾ Ð¸ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½ÑÐµ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¸Ð½ÑÐµÐ³ÑÐ¸ÑÐ¾Ð²Ð°Ð½Ñ Ð² ÑÑÐµÐ´Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ ÑÐ°ÑÑÐ¸ÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð²Ð½ÐµÐ´ÑÐµÐ½Ñ Ð² Ð¿ÑÐ¾ÑÐµÑÑ Ð½ÐµÐ¿ÑÐµÑÑÐ²Ð½Ð¾Ð¹ Ð¸Ð½ÑÐµÐ³ÑÐ°ÑÐ¸Ð¸ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ.
description: The topic of the final qualification work: Â«Automation of the implementation of the rules of secure development on the example of the Golang languageÂ». The aim of the work is to increase the security level of the software development process in the Golang language. The subject of the research is methods for ensuring safe development. The following tasks are solved during the research: 1. Research on secure development approaches. 2. Comparative analysis of secure development tools. 3. Development of an approach to identifying unsafe code. 4. Development of an automated tool for detecting unsafe Golang code. In the course of the work, approaches to supporting secure development were studied, as well as a comparative analysis of existing secure development tools was performed. The general security requirements for the development process are identified and the critical components of the software life cycle that are vulnerable to various attacks are identified. As a result of the work, a tool was developed to automatically find vulnerabilities in the source code of the project in the Golang programming language, as well as plug-in dependencies. The developed tool and the results obtained can be integrated into the development environment as an extension or introduced into the process of continuous software integration.