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

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

CC BY
2
1
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
цифровая трансформация / блокчейн / смарт-контракт / экономическая безопасность / информационная безопасность / правоохранительная деятельность / digital transformation / blockchain / smart contract / economic security / information security / law enforcement

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Евгений Сергеевич Герасименко, Сергей Васильевич Копцов, Марина Юрьевна Толстых

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Евгений Сергеевич Герасименко, Сергей Васильевич Копцов, Марина Юрьевна Толстых

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

Application of blockchain technology in law enforcement and ensuring its information security

One of the technologies of digital transformation and digital economy is analyzed – blockchain. Its functional advantages for economic, informational and analytical support of law enforcement activities are outlined. Aspects of its information security are studied, technologies for increasing its security are proposed and verified by modifying the program code of smart contracts as the main components of the blockchain.

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

SOCIAL AND HUMAN SCIENCES

ECONOMIC SCIENCES

Научная статья УДК 338.1

https://doi.org/10.24412/2687-0185-2024-4-231-239 EDN: https://elibrary.ru/SZUINB NIION: 2007-0083-4/24-585 MOSURED: 77/27-005-2024-04-685

Евгений Сергеевич Герасименко1, Сергей Васильевич Копцов2, Марина Юрьевна Толстых3'4

1 Воронежский институт МВД России, Воронеж, Россия, [email protected]

2 Краснодарский университет МВД России, Краснодар, Россия, [email protected],

3 Московский государственный лингвистический университет, Москва, Россия, [email protected]

4 Московский университет МВД России имени В.Я. Кикотя, Москва, Россия

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

Ключевые слова: цифровая трансформация, блокчейн, смарт-контракт, экономическая безопасность, информационная безопасность, правоохранительная деятельность

Для цитирования: Герасименко Е. С., Копцов С. В., Толстых М. Ю. Применение технологии блокчейн в правоохранительной деятельности и обеспечение ее информационной безопасности // Криминологический журнал. 2024. № 4. С. 231-239. https://doi.org/10.24412/2687-0185-2024-4-231-239.

Original article

Evgeniy S. Gerasimenko1, Sergey V. Koptsov2, Marina Yu. Tolstykh3,4

1 Voronezh Institute of the Ministry of Internal Affairs of the Russian Federation, Voronezh, Russia, [email protected]

2 Krasnodar University of the Ministry of Internal Affairs of the Russian Federation, Krasnodar, Russia, [email protected]

3 Moscow State Linguistic University, Moscow, Russia, [email protected]

4 Moscow University of the Ministry of Internal Affairs of the Russian Federation named after V.Ya. Kikot', Moscow, Russia

Abstract. One of the technologies of digital transformation and digital economy is analyzed - blockchain. Its functional advantages for economic, informational and analytical support of law enforcement activities are outlined. Aspects of its information security are studied, technologies for increasing its security are proposed and verified by modifying the program code of smart contracts as the main components of the blockchain.

Keywords: digital transformation, blockchain, smart contract, economic security, information security, law enforcement

For citation: Gerasimenko E. S., Koptsov S. V., Tolstykh M. Yu. Application of blockchain technology in law enforcement and ensuring its information security. Criminological Journal. 2024;(4):231-239. https://doi. org/10.24412/2687-0185-2024-4-231-239.

© Герасименко Е. С., Копцов С. В., Толстых М. Ю., 2024

Применение технологии блокчейн в правоохранительной деятельности и обеспечение ее информационной безопасности

Application of blockchain technology in law enforcement and ensuring its information security

Введение и постановка задачи

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

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

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

• интернет вещей, в том числе на базе беспроводной сотовой технологии пятого поколения и робототехника;

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

• технология блокчейн и др.

Для технологии блокчейн [4] возможно обозначить следующие преимущества в части информационного и аналитического сопровождения правоохранительной деятельности:

• проведение расследовании в отношении большого числа фигурантов (поскольку технологии характерны обслуживаемость и неизмен-

ность записей и идентификационных данных);

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

• конфискация преступных активов (включая случаи анонимизации организаторов преступного инцидента или невозможности их экстрадиции из другой юрисдикции);

• сопровождение функционирования АПК «Безопасный город» (ввиду увеличения интеллектуальных камер и датчиков на улицах, а транспортных средств, оснащенных GPS, для обработки такого объема данных требуется большая и легко масштабируемая структура данных в виде интеллектуальной системы управления и мониторинга трафика с распределенной инфраструктурой);

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

Алгоритмически технология блокчейн обеспечивает гарантированность некоторых аспектов кибер-безопасности, что не является императивом для всего многообразия угроз информационной безопасности [5; 6]. Кроме того, адаптация указанной технологии под специфику деятельности правоохранительных органов требует особого внимания к вопросу информационной безопасности.

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

Ям

ных отношений в автоматизированном режиме).

Используя скриптовой язык Solidity в Ethereum, блокчейн-сеть позволяет формулировать и выполнять сложные смарт-контракты, которые в свою очередь обеспечивают создание децентрализованных приложений и автоматизацию разноплановых задач, в том числе администрирование транзакций и менеджмент цепочек поставок. Несмотря на способность выполнять элементарные смарт-контракты, большинство блокчейн-сетей ориентировано на работу с одноранговыми транзакциями, а не на более обширный программируемый функционал, поэтому решение использования Ethereum оправдано и эффективно для многомерных интерактивных сред.

Ethereum часто называют «компьютером мира». С точки зрения информатики, она представляется как детерминированный, неограниченный конечный автомат, который имеет две основные функции: глобально доступное одноэлементное состояние и виртуальная машина, изменяющая состояние. С точки зрения анализа информационной безопасности в структуре Ethereum следует обратить внимание на следующие компоненты: одноранговая сеть, виртуальная машина и блокчейн.

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

Смарт-контракт представляет собой компьютерный алгоритм, который контролирует выполнение обязательств в процессе обмена активами. Он является своего рода программным обеспечением (ПО), которое работает по принципу «если, то». К отличительным чертам смарт-контрактов в Ethereum относится то, что они обладают оригинальными адресами в блокчейне. Так, определенный программный код не дублируется в каждый контракт, взамен указанной операции узел сети инициирует старт определенной транзакции, формирующей и доставляющей уникальный адрес к контракту. По завершении такой первичной транзакции контракт трансформируется в единицу блокчейна с неизменным адресом. Далее он будет

функционировать безостановочно до момента успешного завершения операции.

Для написания смарт-контрактов используется язык программирования Solidity, который разработан специально для Ethereum Virtual Machine. Синтаксис и структура кода данного языка имеет схожесть с JavaScript и C++, что делает его доступным для разработчиков. Часто они обращаются к открытой библиотеке OpenZeppelin, в которой содержатся инструменты для создания смарт-контрактов в соответствии с современными стандартами безопасности и, такими как ERC20 и ERC721.

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

Уязвимость в программировании смарт-контрактов

Несмотря на то, что блокчейн Ethereum позиционируется как один из самых распространенных и надежных, в его смарт-контракте были обнаружены уязвимости, связанные с кодом. Ethereum Foundation ежегодно запрашивает аналитику виртуальной машины Ethereum и разрабатывает рекомендации по усилению средств безопасности, однако в большинстве контрактов рекомендации игнорируются. Например, в транзакции 0x6d41b1d3e9b01efc0cc63b5c7ee162bccffe5af 00fba3940850b09bfcbee0c9e в блоке №967395. Обращаясь к онлайн-платформе Etherscan [8], предоставляющей инструменты и аналитику для мониторинга блок-чейна Ethereum в реальном времени (от 16 мая 2024 года, временная метка: 19884803), можно заметить, что только 11,8 % блоков включают в себя команду «send», которая подвержена рекурсивным атакам.

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

Данный код представляет собой простой смарт-контракт на языке Solidity, который состоит из следующих элементов в видео операций, процессов и функций (табл. 1).

Уязвимость анализируемого фрагмента в том, что транзакция может завершиться с ошибкой: владелец может не получить средства, однако смарт-контракт будет считаться успешно выполненным, если пользователь «user» - это контракт, а не обычная учетная запись пользователя, а код контракта предполагает большую комиссию, необходимую для успешного проведения транзакции или выполнения контракта на платформе блокчейна.

Таблица 1

Описание кода

№ п/п Элемент Значение

1 pragma solidity л0.8.0 директива компилятору, указывающая на версию языка, с которой смарт-контракт совместим

2 contract Agreement {... } определение смарт-контракта под именем

3 bool public AgreementlsProven переменная AgreementlsProven типа bool, которая является публичной и указывает на то, было ли достигнуто соглашение

4 bool public MoneyTransfer переменная MoneyTransfer типа bool, которая является публичной содержит информацию, был ли выполнен перевод валюты

5 constructor() {... } конструктор контракта, который устанавливает начальные значения переменных AgreementlsProven и MoneyTransfer при его создании

6 function transferMoney(address payable user) external {... } функция transferMoney, которая позволяет передавать валюту пользователю, если соглашение было завершено и переменная AgreementlsProven равна true, а также если перевод не был выполнен и MoneyTransfer равна false

Листинг 1. Смарт-контракт на языке Solidity

pragma solidity A0.8.0; contract Agreement {

bool public AgreementlsProven; bool public MoneyTransfer; //Конструктор контракта constructor() { AgreementlsProven = true; MoneyTransfer = false;

}

// Функция для передачи валюты пользователю, если условия соблюдены

function transferMoney(address payable user) external { if (AgreementlsProven && ¡MoneyTransfer) { user.transfer(10 ether); MoneyTransfer = true;

}

}

}

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

Листинг 2. Фрагмент с исправлением в контракте

if (AgreementlsProven && ! (MoneyTransfer) ) { if (user.send (10) ) MoneyTransfer = true; else throw;

}

Однако данное решение не всегда правильное, поскольку способствует появлению другой уязвимости. В виртуальной машине Ethereum существует определенный ресурс, именуемый «стек вызовов». Он пред-

ставляет собой часть оперативной памяти, отслеживает последовательность запросов при параллельном выполнении программы смарт-контракта и при этом ограничен.

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

Одно из возможных решений выявленной проблемы заключается в проверке статуса сети и значения «send» в смарт-контракте.

При вводе в код условия «callStacklsEmpty ()», проверяющего стек вызовов, также возможна проблема рекурсивной атаки: если функция «send» происходит в составе блока кода, который был вызван из другого контракта, при этом на стеке вызовов параллельно остаются другие вызовы, то «send» может завершиться неудачно из-за ограниченного ресурса, даже с условием «CallStacklsEmpty», что приведет к рекурсивной атаке.

Таким образом, использование функции «send» в блокчейне сопровождается большим количеством ошибок. В этой связи видится целесообразным применение более безопасных функции, таких, например, как «transfer».

Разработка и реализация смарт-контракта в Ethereum

Предлагается создание оригинального смарт-контракта с более надежными функциями, чем «send». Для этого следует обратиться к среде разработки Remix IDE, которая доступна онлайн. В ней предоставляется весь интерфейс для написания смарт-контрактов.

ECONOMIC SCIENCES

Предположим, владелец реализует определенный сервис, оплату принимает в единицах Ethereum на смарт-контракт, полученные средства он впоследствии может вывести на свой счет, также возможна смена владельца смарт-контракта.

Разработка более надежного кода смарт-контракта производится в следующей последовательности [9]:

• Установка среды разработки - Remix IDE или Visual Studio Code с расширением Solidity, для написания и тестирования смарт-контрактов (в исследовании используется Remix IDE).

• Создание файла с расширением «.sol».

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

• Выбор версии компилятора (в исследовании используется версия Solidity 0.8.25).

• Определение контракта, в котором будет содержаться код с переменными состояния и функциями для управления ими.

• Реализация функций - «payForItem» и «withdrawAll», которые обрабатывают оплату и снятие средств со счета контракта соответственно.

• Компиляция контракта в байт-код.

• Развертывание контракта на тестовой сети Ethereum.

В рамках исследования реализованы все из пере-

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

Листинг 3. Разработанный смарт-контракт

//SPDX-License-Identifier: MIT pragma solidity л0.8.0;

import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; contractMyShop is Ownable(msg.sender), ReentrancyGuard { mapping(address => uint) public payments; event PaymentReceived(address indexed payer, uint amount); event Withdrawal(address indexed owner, uint amount);

constructor() { }

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

function payForItem() public payable {

require(msg.value > 0, "Value must be greater than 0");

payments[msg.sender] += msg.value;

emit PaymentReceived(msg.sender, msg.value);

}

function withdrawAll() public onlyOwner nonReentrant { uint balance = address(this).balance; require(balance > 0, "No funds to withdraw"); payable(msg.sender).transfer(balance); emit Withdrawal(msg.sender, balance);

}

}

Рассмотрим каждый элемент модифицированного кода (табл. 2).

Описание модификации кода

Таблица 2

№ п/п Элемент Значение

1 // SPDX-License-Identifier: MIT указание на лицензию, под которой распространяется исходный код контракта. В данном случае используется лицензия MIT, которая позволяет свободно использовать, модифицировать и распространять исходных код программы при условиях уведомления об авторстве

2 pragma solidity Л0.8.0; указание на версию компилятора

3 import "@openzeppelin/ contracts/access/Ownable.sol" и import «@openzeppelin/ contracts/ security/ReentrancyGuard.sol» импорт из библиотеки контрактов, в которых представлен функционал для управления владением (Ownable) и защитные меры от атаки рекурсивного вызова (ReentrancyGuard)

4 contract MyShop is Ownable(msg.sender), ReentrancyGuard { ... } имя контракта MyShop, а также указание на контракты, которые регулируют владение и защиту от атаки рекурсивного вызова

5 mapping(address => uint) public payments переменной payments задается тип данных mapping, который используется для создания соответствия между адресами пользователей и целыми числами, что позволяет отслеживать платежи от разных адресов, сохраняя суммы в виде целых чисел

б event PaymentReceived (address indexed payer, uint amount) и event Withdrawal(address indexed owner, uint amount) определение событий, которые происходят в смарт-контракте. PaymentReceived -получение платежа, Withdrawal - вывод средств со смарт-контракта владельцем

l constructor() {...} функция-конструктор контракта, которая выполняется при его развертывании. В ней было установлено значение переменной owner в адрес отправителя транзакции, то есть владельца контракта

8 payForItem() public payable функция, которая позволяет пользователям оплачивать сервис

9 require(msg.value > 0, «Value must be greater than 0») проверка, что переданная сумма больше 0

10 payments[msg.sender] += msg.value увеличение баланса пользователя на сумму переданного платежа

„¿¿¡Мм*» им

11 emit PaymentReceived(msg.sender, msg. value) регистрация платежа от определенного пользователя в определенном количестве

12 withdrawAll() public onlyOwner nonReentrant функция, которая позволяет только владельцу контракта снимать все средства с контракта, а также имеет защиту от рекурсивного вызова

13 uint balance = address(this).balance объявление переменной, содержащей текущей баланс контракта

14 require(balance > 0, «No funds to withdraw») проверка, что баланс больше нуля. В случае, если это не так, вызов функции вывода средств будет прерван

15 payable(msg.sender).transfer (balance) строка переводит все доступные средства контракта владельцу контракта

16 emit Withdrawal(msg.sender, balance) вызов события, в котором регистрируется вывод определенной суммы на адрес владельца контракта

Таким образом, в предложенном решении применены средства защитного программирования, которые включают:

• лицензию и последнюю версию компилятора с исправленными уязвимостями;

• использование модификаторов для контроля доступа;

• предотвращение атаки рекурсивного вызова, включающей в себя повторные списания средств и перезапись состояния контракта;

• функций, предотвращающих несанкционированное снятие средств;

• использование журнала действий и отслеживание изменения контракта.

Верификация функциональности смарт-контракта

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

Допустим, изначально у всех пользователей 100 эфиров (некоторое количество эфира взимается за развертку кода). Предположим, что необходимо совершить покупку на 1 эфир (рис. 1). Для этого следует перейти в аккаунт покупателя (действие под цифрой 1), в значении «VALUE» ввести 1 эфир (действие под цифрой 2).

0хАЬ8..35сЬ2 (100 ether)

Estimated Gas

MyShop - contracts/vlada smart-contC

Publish to IPFS

Рис. 1. Отправка денежных средств на счет покупателя

Далее следует осуществить функцию «payForltem» (действие под цифрой 3) и произвести оплату платежа на смарт-контракт (рис. 2).

Так как никаких ошибок не было выявлено, можно заключить, что транзакция прошла успешно: в «value» изменилось значение, ставшее равным 1 эфиру. Смарт-контракт корректно принимает платежи и сохраняет информацию о полученных средствах.

Другой способ верификации предложенного кода -проверка успешности транзакции с помощью функции «payments». Следует скопировать адрес покупателя, который отправил деньги, и вставить в строку «payments». После того, как средства пришли на смарт-контракт в нужном размере необходимо реализовать вывод средств со смарт-контракта на счет. Данное действие может произвести только владелец, следовательно, необходимо перейти на его аккаунт, запустить функцию withDrawAll и убедиться в том, что процесс прошел успешно: на аккаунте владельца появился 1 эфир.

Проведем эксперимент с использованием аккаунта третьей стороны, с которого будут приниматься попытки вызвать функцию «withdrawAll». С аккаунта покупателя отправляем на смарт-контракт 1 эфир. Все еще находясь в аккаунте покупателя, производим попытку вывода средств со смарт-контракта (рис. 3).

Как видно из рис. 3 процесс не был завершен, что свидетельствует о корректной работе кода.

Контрактом также предусмотрен сценарий, при котором владелец меняет аккаунт или передает полномочия другому, например, в случае несанкционированного доступа к первоначальному аккаунту.

Следует перейти на аккаунт владельца, в поле «transferOwnership» ввести адрес того, кому передается смарт-контракт. Далее возможно предпринять попытку вывода средств. На рис. 4 видно, что процесс заканчивается безуспешно, поскольку права уже были переданы.

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

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

18 function payForrtem() public payable { № infinite gas

19 require(msg.value > 0, "Value must be greater than 6"); 28 payments[msg.sender] += msg.value;

21 emit PaymentReceived(msg.sender, msg.value);

22 }

23

24 function withdrawAllO public onlyOwner nonReentrant { № infinite gas

25 uint balance = address(this).balance;

26 require(balance > 0, "No funds to withdraw");

27 payable(msg.sender).transfer(balance);

28 emit Withdrawal(msg.sender, balance);

29 }

30

0 ] Listen or

0[vm] from: 8xAb8. ..35cb2 to: MyShop.payForltemO 0x358.. ,D5eE3 value: 1000000000000060090 hash: 0xad3.. .82261

3

Рис. 2. Контроль процесса отправки денежных средств на счет покупателя

£ [vm] from: 0xAb8...35cb2 to: MyShop.withdrawAll() 0x358...D5eE3 value: 0weidata: transact to MyShop.withdrawAll errored: Error occurred: revert.

revert

The transaction has been reverted to the initial state. Error provided by the contract: OwnablellnauthorizedAccount

Parameters : {

"account": {

"value": "0xAb8483F64d9C6dlEcF9b849Ae677dD331S835eb2"

}

Рис. 3. Запрет доступа

£ [vm] from: 0x5B3...eddC4 to: MyShop.withdrawAll() 0x358...D5eE3 value: 0 wei transact to MyShop.withdrawAll errored: Error occurred: revert.

revert

The transaction has been reverted to the initial state. Error provided by the contract: OwnablellnauthorizedAccount

Parameters: {

"account": {

"value": "0x5B38Da6a701c56854SdCfcB03FcBS75f56beddC4"

}

Рис. 4. Потеря права вывода средств старым владельцем

Созданный скрипт является более безопасным по сравнению с аналогичными, в которых применяется оператор «send», поскольку для вывода средств с контракта он используют команду «transfer». Достоинство выбранной команды сопряжено с тем, что она реализуется вне буферных этапов: либо успешно, либо запрет на исполнение, ввиду чего «transfer» предотвращает вероятные нарушения, связанные с исчерпанием комиссии во время выполнения вызова. Также предусмотрена защита данного смарт-контракта от атак рекурсивного вызова.

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

Заключение

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

„¿¿¡Мм*» им

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

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

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

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

Целесообразно подчеркнуть проблемы внедрения блокчейна на современном этапе, определяющие в своем разрешении направления дальнейших научных исследований и разработок: отсутствие целевого нормативного регулирования, гарантированное обеспечение безопасности процессов и конфиденциальности всех данных, несовместимая инфраструктура и энер-

гоемкие транзакции, отсутствие эффективного управления и общественного доверия к технологии.

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

Список источников

1. Поздеев В. Л., Старикова М. Ф. Цифровая экономика в контексте экономической безопасности региона // Russian Journal of Management. 2022. Т. 10. № 3. С. 11-15.

2. Пакляченко М. Ю. Инструментарий цифрови-зации деятельности полиции // Математические методы и информационно-технические средства : Материалы XVIII Международной научно-практической конференции, Краснодар, 17 июня 2022 года / Редколлегия: И. Н. Старостенко, Е. В. Михайленко, А. В. Еськов [и др.]. Краснодар : Краснодарский университет Министерства внутренних дел Российской Федерации, 2022. С. 131-134.

3. Методические рекомендации по цифровой трансформации государственных корпораций и компаний с государственным участием, утверждены Минцифры России 6 ноября 2020 г. // URL://https://digital.gov.ru/ru

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

4. Максуров А. А. Блокчейн, криптовалюта, май-нинг: понятие и правовое регулирование : монограф. 2-е изд. М. : Дашков и К, 2021.

5. Сизов А. М. Обзор технологии блокчейн и ее информационной безопасности // Защита информации. Инсайд. 2023. № 2(110). С. 38-43.

6. Жихарев А. Г., Киданов В. В., Фефелов О. С. К вопросу о безопасности обработки информации с использованием смарт-контрактов // Научный результат. Информационные технологии. 2023. Т. 8. № 1. С. 46-55.

7. Башир И. Блокчейн: архитектура, крипто-валюты, инструменты разработки, смарт-контракты / Перевод: М. А. Райтман. Москва : ДМК Пресс, 2019.

8. Etherscan: платформа Block Explorer и Analytics для Ethereum, децентрализованной платформы смарт-контрактов // URL://https://etherscan.io/

9. Храмов Н. А. Обеспечение информационной безопасности при проектировании и исполнении смарт-контрактов в технологии блок-

SOCIAL AND HUMAN SCIENCES

ECONOMIC SCIENCES

чейн // Радиоэлектроника, электротехника и энергетика : Тезисы докладов Двадцать девятой Международной научно-технической конференции студентов и аспирантов, Москва, 16-18 марта 2023 года. М. : ООО «Центр полиграфических услуг «РАДУГА», 2023. С. 337.

References

1. Pozdeev V. L., Starikova M. F. Digital economy in the context of economic security of the region // Russian Journal of Management. 2022. T. 10. No. 3. P. 11-15.

2. Paklyachenko M. Y. Toolkit for digitalization of police activities // Mathematical methods and information technology tools: Proceedings of the XVIII International Scientific and Practical Conference, Krasnodar, June 17, 2022 / Editorial Board: I. N. Starostenko, E. V. Mikhailenko, A. V. Eskov [and others]. Krasnodar : Krasnodar University of the Ministry of Internal Affairs of the Russian Federation, 2022. P. 131-134.

3. Methodological recommendations for the digital transformation of state corporations and companies with state participation, approved by the Ministry of Digital Development of Russia on November 6, 2020 // URL://https://digital.gov.ru/ru

4. Maksurov A. A. Blockchain, cryptocurrency, mining: concept and legal regulation: monograph. 2nd ed. M. : Dashkov and K, 2021.

5. Sizov A. M. Review of blockchain technology and its information security // Information protection. Insider 2023. No. 2(110). P. 38-43.

6. Zhikharev A. G., Kidanov V. V., Fefelov O. S. On the issue of security of information processing using smart contracts // Scientific Result. Information Technology. 2023. Vol. 8. No. 1. P. 46-55.

7. Bashir I. Blockchain: architecture, cryptocurrencies, development tools, smart contracts / translation by M. A. Reitman. M. : DMK Press, 2019.

8. Etherscan: Block Explorer and Analytics platform for Ethereum, a decentralized smart contract platform // URL://https://etherscan.io/

9. Khramov N. A. Ensuring information security in the design and execution of smart contracts in blockchain technology // Radio electronics, electrical engineering and energy: Abstracts of the Twenty-ninth International Scientific and Technical Conference of Students and Postgraduates, Moscow, March 16-18, 2023. M. : LLC «Center for Printing Services «RADUGA», 2023. P. 337.

Информация об авторах

Е. С. Герасименко - старший преподаватель кафедры математики и моделирования систем Воронежского института МВД России, кандидат технических наук;

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

М. Ю. Толстых - доцент кафедры международной информационной безопасности института информационных наук Московского государственного лингвистического университета, доцент кафедры специальных информационных технологий учебно-научного комплекса информационных технологий Московского университета МВД России имени В.Я. Кикотя, кандидат технических наук.

Information about the authors

E. S. Gerasimenko - Senior lecturer of the department of mathematics and system modeling of the Voronezh Institute of the Ministry of Internal Affairs of the Russian Federation, candidate of technical sciences;

S. V. Koptsov - Senior lecturer of the department of information security of the Krasnodar University of the Ministry of Internal Affairs of the Russian Federation, candidate of sociological sciences;

M. Y. Tolstykh - Associate professor of the department of international information security of institute of information sciences of the Moscow State Linguistic University, associate professor of the chair of special information technologies of the educational and scientific complex of information technologies of the Moscow University of the Ministry of Internal Affairs of the Russian Federation named after V.Ya. Kikot', candidate of technical sciences.

Вклад авторов: все авторы сделали эквивалентный вклад в подготовку публикации. Авторы заявляют об отсутствии конфликта интересов.

Contribution of the authors: the authors contributed equally to this article. The authors declare no conflicts of interests.

Статья поступила в редакцию 14.06.2024; одобрена после рецензирования 24.06.2024; принята к публикации 05.06.2024.

The article was submitted 14.06.2024; approved after reviewing 24.06.2024; accepted for publication 05.06.2024.

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