Специализированное информационно-аналитическое и программное обеспечение для финансовых расследований
Сочнева Е.Н.1, Насыров Ю.И.2, Зябликов Д.В.2, Донцов А.В.2
1 Красноярский государственный аграрный университет
2 Сибирский федеральный университет
Статья в журнале
Информатизация в цифровой экономике (РИНЦ, ВАК)
опубликовать статью | оформить подписку
Том 5, Номер 3 (Июль-сентябрь 2024)
Цитировать:
Сочнева Е.Н., Насыров Ю.И., Зябликов Д.В., Донцов А.В. Специализированное информационно-аналитическое и программное обеспечение для финансовых расследований // Информатизация в цифровой экономике. – 2024. – Том 5. – № 3. – doi: 10.18334/ide.5.3.121456.
Аннотация:
В данной работе воссоздана архитектура и основы специализированного программного обеспечения для финансовых расследований в экономике. Данное программное обеспечение может эффективно использоваться для расследования преступлений по выводу финансовых активов за рубеж, так как оно может отслеживать все подозрительные транзакции. Предлагаемое программное обеспечение базируется на различии нормального поведения и возникающих аномалий, которые оно фиксирует. Представлены функциональные, нефункциональные и технические требования к разрабатываемому программному обеспечению. В системе представлена клиент-серверная архитектура с разделениями клиентской и серверной частей. Действие программного обеспечения позволяет получить диаграмму и список подозрительных транзакций. Программное обеспечение нацелено на снижение количества финансовых преступлений и повышение эффективности расследований, проводимых учреждениями и органами следствия. Статья будет полезна представителям и руководителям органов исполнительной власти, занимающихся финансовыми расследованиями. Также материалы работы будут полезны всем, кто исследует вопросы финансовых расследований в экономике.
Ключевые слова: цифровизация, финансовые расследования, подозрительные транзакции, программное обеспечение, эффективность расследований
JEL-классификация: L60, L63, L80, L86
Введение
Финансовые расследования и возврат имущественных активов играют критическую роль в глобальной борьбе с финансовыми преступлениями, такими как отмывание денег, коррупция и финансирование терроризма. В условиях глобализации, где финансовые потоки легко и быстро пересекают национальные границы, важность международного сотрудничества и координации усилий между государствами становится исключительно важной. Современные преступные организации используют сложные схемы и передовые технологии для сокрытия незаконных доходов, что создает дополнительные вызовы для правоохранительных и финансовых органов.
Мировой опыт показывает, что успешное противодействие финансовым преступлениям требует комплексного подхода, включающего надежную законодательную базу, внедрение передовых технологий, а также выработку и применение стратегий и методов, позволяющих оперативно выявлять и пресекать незаконные финансовые операции. Международные организации, такие как Financial Action Task Force (FATF) и United Nations Office on Drugs and Crime (UNODC), играют ключевую роль в разработке и распространении лучших практик и стандартов. Эти стандарты направлены на борьбу с отмыванием денег и возвращение незаконно выведенных активов, что способствует укреплению глобальной финансовой системы и повышению ее прозрачности.
Несмотря на значительные усилия и достижения на международной арене, процесс финансовых расследований и возврата активов остается сопряженным с множеством проблем. Одной из основных проблем является растущая сложность финансовых схем, используемых преступниками для сокрытия происхождения средств. Эти схемы часто включают многоступенчатые транзакции, использование офшорных зон и подставных компаний, что значительно затрудняет их выявление и пресечение.
Ограниченность ресурсов, необходимых для проведения глубоких и всесторонних расследований, является еще одной значительной проблемой. Финансовые расследования требуют значительных затрат времени и усилий, а также наличия специализированных кадров и передовых технологий. Недостаточное финансирование и ограниченные кадровые ресурсы могут существенно снижать эффективность работы правоохранительных органов и других организаций, занимающихся противодействием финансовым преступлениям.
Одним из методов расследования рассматриваемых правонарушений являются программно-информационные средства, которые постоянно обсуждаются в научно-практической литературе.
Так, авторы Батурина Е. В., Литвиненко А. Н., Поляков В. В. исследуют криминалистические основы проведения инженерно-компьютерных экспертиз. [1;3;10].
Многие исследователи, например Буйнов Д. О., Савицкий А. А., изучают правоприменительную практику проведения судебных инженерно-компьютерных экспертиз при расследовании экономических преступлений [5;6;8;11].
Кроме того, много работ (авторы – Городнова Н. В., Феофанов С. В. И др.) посвящено методологии проведения судебно-экономических экспертиз [2;4;7;9].
Однако, несмотря на такой интерес среди ученых и практиков к проблеме расследования преступлений по выводу активов за рубеж, их количество все еще остается значительным, что связано, прежде всего с постоянной эволюцией форм и методов совершения таких правонарушений.
В современных условиях глобализации и цифровизации экономики, борьба с отмыванием денег и сокрытием активов, полученных преступным путем, представляет собой сложную и многогранную задачу. Для эффективного противодействия этим преступлениям правоохранительным органам необходимо иметь доступ к большому объему информации и владеть современными методами ее анализа.
Повышение эффективности финансовых расследований в целях поиска и возврата имущественных активов, полученных преступным путем, невозможно без использования современных информационных технологий.
В условиях роста объемов финансовой информации и сложности современных схем отмывания денег, традиционные методы анализа данных становятся неэффективными. Внедрение модели информационно-аналитического и программного обеспечения для автоматизации процессов анализа и обработки финансовых данных может значительно повысить эффективность финансовых расследований.
Таким образом, целью исследования является разработка программного обеспечения для автоматизированного обнаружения подозрительных транзакций. Это программное обеспечение должно анализировать финансовые операции и выделять те из них, которые имеют высокую вероятность быть связанными с незаконными действиями, такими как коррупция, кража, отмывание денег и другие виды финансовых махинаций. Программное обеспечение должно не только выявлять аномальные транзакции, но и оценивать степень их подозрительности, чтобы помочь финансовым учреждениям и правоохранительным органам в борьбе с финансовыми преступлениями.
Основная часть.
Специализированное информационно-аналитическое и программное обеспечение для финансовых расследований должно обладать широким спектром функциональных возможностей, чтобы обеспечить эффективный сбор, анализ и визуализацию данных, а также генерацию отчетов для дальнейшего принятия решений.
Рисунок 1 – Диаграмма бизнес-процесса
Ожидаемые результаты:
- Снижение количества финансовых преступлений за счет раннего выявления и предотвращения подозрительных транзакций.
- Повышение эффективности работы финансовых учреждений и правоохранительных органов благодаря автоматизации процесса анализа транзакций.
- Обеспечение высокого уровня безопасности и конфиденциальности данных при их обработке и анализе.
Обнаружение аномалий является ключевым аспектом в области анализа данных, особенно в финансовом секторе. Основная цель этого процесса — выявление данных, которые значительно отличаются от ожидаемого поведения. Аномальные транзакции, связанные с коррупцией, отмыванием денег или другими незаконными действиями, часто проявляют необычные паттерны, которые можно обнаружить с помощью различных методов анализа данных.
Основные концепции:
- Аномалия (Outlier): Данные или события, которые существенно отличаются от других наблюдений и могут указывать на ошибки или интересные случаи, требующие дополнительного внимания.
- Нормальное поведение: Профиль нормальных транзакций, основанный на исторических данных и статистических характеристиках, таких как средние значения, медианы и стандартные отклонения.
- Аномальное поведение: Транзакции, которые отклоняются от профиля нормального поведения и могут указывать на подозрительные или незаконные действия.
Существует множество алгоритмов и методик для обнаружения аномалий. Рассмотрим подробно три наиболее известных и широко используемых методы.
Метод ближайших соседей (K-Nearest Neighbors) является одним из самых простых и эффективных методов для обнаружения аномалий. Основная идея заключается в оценке аномальности объекта на основе его близости к другим объектам в пространстве признаков.
Основные шаги метода: Выбор метрики расстояния - наиболее часто используемой метрикой является евклидово расстояние, но могут использоваться и другие метрики, такие как манхэттенское расстояние. Для каждой транзакции определяется K ближайших соседей из набора данных. Если транзакция находится на значительном расстоянии от своих ближайших соседей, она считается аномальной. Величина расстояния может использоваться как мера степени аномальности. Преимуществами данного метода является – простота реализации и эффективность для небольших и средних наборов данных.
Метод опорных векторов (Support Vector Machines - SVM) является мощным инструментом для классификации и регрессии, который также используется для обнаружения аномалий. В контексте обнаружения аномалий SVM используется для построения гиперплоскости, которая отделяет нормальные данные от аномальных.
Основные шаги метода: Построение гиперплоскости - SVM находит гиперплоскость, которая максимально разделяет нормальные данные в пространстве признаков. Транзакции, находящиеся далеко от гиперплоскости, считаются аномальными. Величина расстояния до гиперплоскости используется как мера степени аномальности. Преимуществами данного метода является высокая точность и возможность и использования нелинейных ядровых функций.
Функциональные требования описывают конкретные функции и возможности, которые должно предоставлять программное обеспечение для обнаружения подозрительных транзакций.
MVP (Minimal Viable Product) – это версия товара с минимальным набором функций. В таблице описываются версиями, т.е. “1” – это значит, что будет выпущено в первой версии, а “2” – что будет добавлено со второй версии ПО.
Таблица 1 – Функциональные требования
Требования
|
MVP
|
Программное обеспечение должно
обеспечивать сбор данных о транзакциях из различных источников, включая банковские
системы, платежные шлюзы и другие финансовые системы.
|
1
|
Возможность импорта данных в различных
форматах (CSV, Excel, SQL, API и т.д.).
|
1
|
Очистка данных от ошибок и пропусков.
|
1
|
Обработка дублирующихся записей и
устранение некорректных данных.
|
1
|
Нормализация и агрегирование данных.
|
1
|
Применение алгоритмов обнаружения
аномалий для анализа транзакций в реальном времени.
|
1
|
Обнаружение подозрительных паттернов на
основе установленных критериев и моделей.
|
1
|
Присвоение каждой транзакции метки, указывающей
степень вероятности ее незаконного характера (например, низкий, средний,
высокий риск).
|
1
|
Использование различных моделей для
оценки риска (например, машинное обучение, статистические методы).
|
1
|
Автоматическая генерация уведомлений для
сотрудников при обнаружении подозрительных транзакций.
|
1
|
Возможность настройки пороговых значений
для различных уровней риска.
|
1
|
Отправка уведомлений по электронной
почте, SMS или через внутренние системы оповещения.
|
2
|
Генерация отчетов с детальной информацией
о подозрительных транзакциях.
|
2
|
Визуализация данных в виде графиков,
диаграмм и таблиц.
|
1
|
Возможность экспорта отчетов в различные
форматы (PDF, Excel, CSV).
|
2
|
Возможность интеграции с существующими
банковскими и финансовыми системами через API.
|
1
|
Обмен данными с другими системами и
базами данных.
|
1
|
Таблица 2 – Нефункциональные требования
Требования
|
MVP
|
Высокая скорость обработки и анализа
данных.
|
1
|
Возможность обработки больших объемов
данных в реальном времени.
|
1
|
Минимальное время отклика при генерации
отчетов и уведомлений.
|
1
|
Возможность масштабирования системы для
обработки увеличивающегося объема данных.
|
1
|
Поддержка горизонтального и
вертикального масштабирования.
|
2
|
Обеспечение высокой доступности и
надежности системы.
|
1
|
Встроенные механизмы резервного
копирования и восстановления данных.
|
1
|
Обработка сбоев и обеспечение
устойчивости к отказам.
|
1
|
Защита данных от несанкционированного
доступа и утечек.
|
1
|
Шифрование данных при передаче и
хранении.
|
1
|
Аутентификация и авторизация пользователей.
|
1
|
Соответствие требованиям
законодательства и стандартам безопасности (например, GDPR, PCI DSS).
|
1
|
Возможность настройки пользовательских
предпочтений и параметров.
|
1
|
Поддержка многоязычности.
|
2
|
Предоставление документации и руководств
для пользователей и администраторов.
|
2
|
Обеспечение технической поддержки и
регулярного обновления системы.
|
1
|
Внедрение механизмов для мониторинга
производительности и состояния системы.
|
2
|
Таблица 3 – Технические требования
Требования
|
MVP
|
Серверы с достаточной вычислительной
мощностью и памятью для обработки больших объемов данных.
|
1
|
Системы хранения данных с высокой
емкостью и производительностью.
|
1
|
Сетевое оборудование для обеспечения
быстрой и надежной передачи данных.
|
1
|
Операционные системы: поддержка основных
операционных систем (Linux, Windows, macOS).
|
1
|
Базы данных: поддержка реляционных СУБД
PostgreSQL
|
1
|
Средства разработки: использование
языков программирования и фреймворков Java
|
1
|
Интерфейсы API: поддержка стандартов
REST для интеграции с внешними системами.
|
1
|
Архитектура системы для проектируемой системы должна быть тщательно спроектирована для обеспечения высокой производительности, масштабируемости, безопасности и надежности. В данном разделе будет описана многоуровневая архитектура системы, включающая следующие компоненты: сбор данных, предварительная обработка данных, анализ данных, хранение данных, интерфейсы взаимодействия, управление и безопасность.
Клиент-серверная архитектура предлагаемой системы обеспечивает четкое разделение функций между клиентской и серверной частями. Данная архитектурная модель способствует улучшению производительности, масштабируемости и безопасности системы. Клиентская часть представляет собой интерфейс, с которым взаимодействуют конечные пользователи. Клиенты могут использовать веб-браузеры или мобильные приложения для доступа к функциональности системы. Клиентская часть отвечает за отображение данных, взаимодействие с пользователями и отправку запросов на сервер. Серверная часть включает в себя серверные компоненты, которые обрабатывают запросы клиентов, выполняют операции по сбору, обработке и анализу данных, а также управляют хранилищем данных.
Сервер обеспечивает выполнение бизнес-логики и взаимодействие с базами данных и внешними системами. Взаимодействие фронтенда и бэкенда через REST API для обеспечения эффективного и надежного взаимодействия между клиентской и серверной частями используется REST (Representational State Transfer) API. REST API является стандартом для разработки веб-сервисов.
Рисунок 2 – Архитектура ПО
Таблица 4 – Описание архитектуры ПО
Описание архитектуры
| |
FRONT(Клиент)
|
Это интерфейс системы, которую видит
пользователь, когда взаимодействует с системой
|
BACK(Сервер)
|
Это программа к функциям которого
обращается FRONT для обработки,
анализа, получения, добавления каких либо ресурсов. Обычно она находится на
отдельном сервере.
|
APIGateway
|
Является промежуточным сервисом между
клиентом и сервером. Он предназначен для конвертации данных, ответов, также
участвует как вход для всех сервисов.
|
Storage
|
Это система, которая описывает системы
хранения данных.
|
Apache Kafka
|
Это брокер сообщений для обмена данными
с банковскими системами для получения транзакций и отправления статусов по
транзакциям. Мы используем брокер, так как ежесекундно могут происходить
отправка и получения сообщений до 50 тыс сообщений в секунду
|
ABS Front
|
Представляет собой клиентскую часть
приложения для сотрудников надзора
|
Admin Front
|
Представляет собой клиентскую часть
приложения для технических специалистов, которые поддерживают систему.
|
Notification service
|
Сервис в котором находится логика, которая
позволяет отправлять уведомления на Email, пушом и
сообщениями сотрудникам банка.
|
Mathematical analysis service
|
Сервис, который хранит функции для
обработки и анализа транзакций методами машинного обучения и статистического
анализа
|
Authorization service
|
Представляет собой сервис, который
позволяет пользователям авторизоваться, регистрироваться и восстанавливать
пароль.
|
Integration service
|
Сервис, который хранит методы и функции,
которые позволяют сервисам взаимодействовать между собой и ПО взаимодействовать
с внешней системой ЦБ
|
PostgresSQL
|
СУБД, которая позволяет хранить данные в
реляционных БД. Тут будут хранится данные пользователей и небольшие таблицы
|
Kassandra
|
СУБД нереляционных баз данных, который
имеет огромное преимущество перед PostgresSQL за счет того,
что он может обрабатывать большие объемы данных быстро. Тут будут храниться
данные по транзакциям.
|
File Storage
|
Это файловая система хранения, которая
будет хранить отчеты, бэкапы БД и рисунки
|
Внешняя система ЦБ
|
Это всякие
банковские системы от которых мы будем получать все транзакции
|
1. Описание прототипов ПО.
В этом разделе представлено описание прототипов программного обеспечения для обнаружения подозрительных транзакций. Основная цель прототипов - визуализировать ключевые компоненты системы, показать их взаимодействие и представить пользователю интерфейс, который будет использоваться для взаимодействия с системой. Прототипы были разработаны с использованием инструмента для проектирования интерфейсов Figma.
2. Авторизация.
Страница авторизации является важным компонентом нашей системы. Она обеспечивает безопасность и контроль доступа к системе, позволяя только авторизованным пользователям получать доступ к конфиденциальным данным и функциональности.
Рисунок 3 – Страница авторизации
Таблица 5 – Описание элементов интерфейса «страницы авторизации»
Элемент
|
Название
|
Тип
|
Параметры
|
Логика работы
|
|
Информационный текст
|
Текст
|
Статичен
|
Информационное поле
|
|
Войти
|
Кнопка
|
Активна
|
При нажатии валидируются данные
введенными пользователем
|
|
Ввод номера телефона и
пароля
|
Поле ввода
|
Активна
|
Поле
ввода принимает только цифры в ограниченном количестве, в определенном
формате
|
|
Ввод пароля от системы
|
Поле ввода
|
Активна
|
Поле
ввода принимает все символы, но шифрует их звездами
|
|
Информационный текст
|
Текст
|
Статичен
|
Информационное поле
|
3. Шапка сайта
Шапка сайта играет ключевую роль в навигации по системе обеспечивая пользователям удобный доступ к основным функциональным возможностям. Она размещена в верхней части страницы и остается фиксированной при прокрутке, что позволяет быстро переключаться между различными разделами. В шапке расположены основные элементы навигации, такие как настройки, профиль, список транзакций, диаграмма транзакций и уведомления. Ее интуитивный дизайн помогает пользователям легко ориентироваться в системе, обеспечивая эффективное взаимодействие с программным обеспечением. Далее будет представлено подробное описание каждого элемента шапки сайта.
Рисунок 4 – Шапка ПО
Таблица 6 – Описание элементов шапки ПО
Элемент
|
Название
|
Тип
|
Параметры
|
Логика работы
|
|
Поиск функций системы
|
Поле ввода
|
Активен
|
Информационное поле
|
|
Сообщения
|
Кнопка
|
Активна
|
При нажатии открывается окно с
сообщениями, если пришло новое сообщение, то в правый угол иконки
добавляется красная точка
|
|
Профиль
|
Кнопка
|
Активна
|
Если
пользователь авторизован в системе, то система его перенаправляет на личный
кабинет, если нет, то на страницу регистрации
|
|
Главная
|
Кнопка
|
Активна
|
Перенаправляет
пользователя на главную страницу
|
|
Транзакции
|
Кнопка
|
Активна
|
Перенаправляет
пользователя на страницу транзакций, если пользователь авторизован. Если нет
то на страницу авторизации
|
|
Диаграмма транзакций
|
Кнопка
|
Активна
|
Перенаправляет
пользователя на страницу диаграммы транзакций, если пользователь авторизован.
Если нет то на страницу авторизации
|
|
Настройка
|
Кнопка
|
Активна
|
Перенаправляет
пользователя на страницу настроек, если пользователь авторизован. Если нет то
на страницу авторизации
|
|
Сотрудники
|
Кнопка
|
Активна
|
Перенаправляет
пользователя на страницу “Список сотрудников”, если пользователь авторизован.
Если нет то на страницу авторизации
|
4. Диаграмма транзакций
Страница "Диаграмма транзакций" предоставляет визуальное представление активности транзакций за определенные периоды времени, которые пользователи могут выбирать. На этой странице можно анализировать количество транзакций по трем степеням риска, а также общее количество транзакций. Диаграммы позволяют легко выявлять временные паттерны, такие как периоды с высоким или низким уровнем подозрительных транзакций. Эта функциональность помогает пользователям оперативно мониторить и анализировать транзакционную активность для принятия обоснованных решений.
Рисунок 5 – Диаграмма транзакций
Таблица 7 – Описание элементов страниц «диаграмм транзакций»
Элемент
|
Название
|
Тип
|
Параметры
|
Логика работы
|
|
Диаграм-ма транзак-ций
|
Диаграмма
|
Динамичен
|
Каждые 5 секунд данные
диаграммы обновляются.
|
|
Выбрать период
|
Кнопка
|
Активна
|
При нажатии появляется
календарь с возможнос-тью указания даты и времени
|
5. Список транзакций
Страница со списком транзакций является ключевым элементом системы, предоставляющим пользователям возможность мониторинга и анализа всех зарегистрированных транзакций. Визуальная индикация уровня риска и удобные функции сортировки и поиска делают эту страницу мощным инструментом для выявления подозрительных финансовых операций.
Рисунок 6 – Список транзакций
Таблица 8 – Описание элементов страницы «список транзакций»
Элемент
|
Название
|
Тип
|
Параметры
|
Логика работы
|
|
Выход на главную
|
Кнопка
|
Активна
|
Возвращает пользователя на
главную страницу
|
|
Сортировка
|
Кнопка
|
Активна
|
Позволяет отсортировать
список по какому либо критерию
|
|
Фильтр
|
Кнопка
|
Активна
|
Позволяет отфильтровать
список
|
|
Транзакция
|
Кнопка
|
Активна
|
В зависимости от степени
риска окрашивает кнопку в оранжевый либо красный цвет. При нажатии система
открывает страницу “Транзакция”
|
|
Добавить транзакцию
|
Кнопка
|
Активна
|
Позволяет добавить
транзакцию
|
|
Переходы
|
Кнопка
|
Активна
|
Позволяет переходить по
спискам транзакций
|
6. Транзакция
Страница транзакции предоставляет пользователям возможность детально просматривать информацию о каждой отдельной транзакции. Это ключевой элемент системы, обеспечивающий полную прозрачность и контроль над финансовыми операциями. Пользователи могут не только ознакомиться с подробной информацией, но и при необходимости редактировать данные транзакции.
Рисунок 7 – Транзакция
Таблица 9 – Описание страницы подробной информации по транзакций
Элемент
|
Название
|
Тип
|
Параметры
|
Логика работы
|
|
Подробная информация о
транзакции
|
Информационный текст
|
Статичен
|
-
|
|
Редактировать транзакцию
|
Кнопка
|
Активна
|
Позволяет отредактировать
транзакцию
|
|
Найти транзакции
определенных физ лиц
|
Кнопка
|
Активна
|
Позволяет вернуться на
страницу списка транзакций с фильтром на фигурирующие в транзакции лиц
|
|
Назад к списку транзакций
|
Кнопка
|
Активна
|
Позволяет вернуться к списку
транзакций
|
7. Реализация программного обеспечения
Разработка программного обеспечения для обнаружения подозрительных транзакций осуществляется поэтапно, с использованием современных технологий и инструментов. В этом разделе подробно описываются основные этапы реализации, используемые технологии, структура кода и примеры реализации ключевых компонентов системы.
Для реализации системы использовались следующие технологии:
1. Frontend: HTML, CSS, JavaScript, React.js
2. Backend: Python, Flask
3. Базы данных: PostgreSQL
4. Машинное обучение и анализ данных: Scikit-learn, Pandas, NumPy
5. Среда разработки: Visual Studio Code
6. Контроль версий: Git, GitHub
7. Средства тестирования: PyTest, Selenium
a. Клиентская часть.
Рисунок 8 – Блок кода на Javascript
Данный блок кода описывает клиентскую функциональность транзакций и их отображение со степенями рисков.
Следующая функция нужна для получения списка транзакций с бэкенда:
useEffect(() = > { axios.get('/api/transactions') .then(response= > setTransactions(response.data)) .catch(error= > console.error('Error fetching transactions:', error)); }, []);
Рисунок 9 – Список транзакций с бэкенда
Функция для отображения полученных транзакций:
return ( <div> <h1>Список транзакций</h1> <ul> {transactions.map(transaction => ( <li key={transaction.id}> {transaction.amount} - {transaction.date} - {transaction.risk_level} </li> ))} </ul> </div> );
Рисунок 10 - Export default TransactionList;
b. Бэкенд часть.
import pandas as pd import matplotlib.pyplot as plt
Рисунок 11 - Бэкенд часть
Этот блок кода импортирует функции и методы библиотек для дальнейшей обработки и анализа данных.
Пример данных:
transactions = [ {"transaction_id": 1, "user_id": 1, "amount": 5000, "date": "2024-01-01"}, {"transaction_id": 2, "user_id": 2, "amount": 20000, "date": "2024-01-02"}, {"transaction_id": 3, "user_id": 3, "amount": 3000, "date": "2024-01-03"}, {"transaction_id": 4, "user_id": 1, "amount": 10000, "date": "2024-01-04"}, ] #Ежемесячный средний доход лиц incomes = [ {"user_id": 1, "income": 10000}, {"user_id": 2, "income": 15000}, {"user_id": 3, "income": 5000}, ] #Средние траты лица payments = [ {"user_id": 1, "payment_id": 1, "amount": 2000, "date": "2023-12-01"}, {"user_id": 2, "payment_id": 2, "amount": 1000, "date": "2023-12-02"}, {"user_id": 3, "payment_id": 3, "amount": 300, "date": "2023-12-03"}, ] #Имущество лица в денежном эквиваленте assets = [ {"user_id": 1, "asset_id": 1, "asset_value": 20000}, {"user_id": 2, "asset_id": 2, "asset_value": 25000}, {"user_id": 3, "asset_id": 3, "asset_value": 8000}, ] #Родственные связи relative_id это человек совершивший транзакцию relations = [ {"user_id": 1, "relative_id": 2, "relation_type": "sibling"}, {"user_id": 2, "relative_id": 1, "relation_type": "sibling"}, {"user_id": 3, "relative_id": 1, "relation_type": "parent"}, ]
Рисунок 12 – Пример данных для блока кода, импортирующего функции и методы библиотек с целью дальнейшей обработки и анализа данных
Преобразование данных в датафрейм:
transactions_df = pd.DataFrame(transactions) incomes_df = pd.DataFrame(incomes) payments_df = pd.DataFrame(payments) assets_df = pd.DataFrame(assets) relations_df = pd.DataFrame(relations)
Рисунок 13 - Преобразование данных в датафрейм
Функция для анализа транзакции по отношению к родственным связям, имущества, дохода и траты за предыдущий период:
def calculate_risk(transaction, incomes_df, payments_df, assets_df, relations_df): user_id = transaction ["user_id"] amount = transaction ["amount"] income = incomes_df [incomes_df ["user_id"] == user_id] ["income"].sum() # Получение платежных операций пользователя user_payments = payments_df [payments_df ["user_id"] == user_id] ["amount"].sum() # Получение стоимости имущества пользователя user_assets = assets_df [assets_df ["user_id"] == user_id] ["asset_value"].sum() # Получение родственных связей пользователя user_relations = relations_df [relations_df ["user_id"] == user_id] # Определение риска на основе заданных критериев #Выделяем место на сервере для записи риска risk_score = 0 if amount > income * 0.5: risk_score += 1 if amount > user_payments * 2.0: risk_score += 1 # Высокая сумма транзакции относительно предыдущих платежей if amount > user_assets * 0.1: risk_score += 1 # Высокая сумма транзакции относительно стоимости имущества for relation in user_relations.itertuples(): relative_income = incomes_df [incomes_df ["user_id"] == relation.relative_id] ["income"].sum() if amount > relative_income * 0.5: risk_score += 1 # Высокая сумма транзакции относительно дохода родственников if risk_score >= 3: return "high" elif risk_score == 2: return "medium" else: return "low"
Рисунок 14 - Функция для анализа транзакции по отношению к родственным связям, имущества, дохода и траты за предыдущий период
Блок кода для обучения модели машинного обучения на Python с использованием Scikit-learn:
import pandas as pd from sklearn.ensemble import IsolationForest from sklearn.externals import joblib # Загрузка данных для обучения модели data = pd.read_csv('transactions.csv') # Предобработка данных features = data [ ['amount']] # Инициализация и обучение модели model = IsolationForest(contamination=0.01) model.fit(features) # Сохранение модели на диск joblib.dump(model, 'model.pkl')
Рисунок 15 - Блок кода для обучения модели машинного обучения на Python с использованием Scikit-learn
Заключение
На основе проведенного исследования и разработки программного обеспечения для обнаружения подозрительных транзакций можно сделать следующие выводы.
Целью данной работы было создание эффективной системы для автоматического выявления и анализа транзакций, которые могут указывать на незаконные действия, такие как финансовые махинации, коррупция и другие формы экономических преступлений. Основные задачи проекта включали в себя разработку алгоритмов и методов анализа данных, интеграцию существующих моделей машинного обучения и применение технологий искусственного интеллекта для повышения точности обнаружения подозрительных транзакций.
Реализованное программное обеспечение успешно прошло этапы тестирования, демонстрируя способность к эффективному выявлению и классификации транзакций по степени риска. Интерфейс пользователя разработан таким образом, чтобы обеспечить удобство использования и быстрый доступ к информации о подозрительных операциях. Научная и практическая значимость данного программного обеспечения заключается в его способности снижать финансовые риски для компаний и организаций, улучшать оперативное реагирование на потенциально незаконные действия и способствовать повышению общей безопасности финансовых операций.
Таким образом, можно утверждать, что разработанное ПО является важным инструментом в борьбе с финансовыми преступлениями, обеспечивая надежную защиту интересов компаний и государственных структур от экономических угроз.
Источники:
2. Батурина Е.В. Судебная экономическая экспертиза теневого денежного потока // Экономическая безопасность. – 2023. – № 1. – c. 215-232. – doi: 10.18334/ecsec.6.1.117470.
3. Батурина Е.В., Литвиненко А.Н. Информационно-аналитическая система «Спектр распределения теневого денежного потока» // На страже экономики. – 2021. – № 2(17). – c. 15-21. – doi: 10.36511/2588-0071-2021-2-15-21.
4. Бахтеев Д.В. Об интеграции современных технологий в следственную деятельность // ГлаголЪ правосудия. – 2022. – № 1(27). – c. 2-5.
5. Бессонов А.А. Современные информационные технологии на службе следствия // Сибирские уголовно-процессуальные и криминалистические чтения. – 2022. – № 1(35). – c. 94-100. – doi: 10.17150/2411-6122.2022.1.94-100.
6. Буйнов Д.О. Назначение комплексных судебных экспертиз при исследовании цифровых следов в расследовании экономических преступлений // Полицейская деятельность. – 2022. – № 4. – c. 20-28. – doi: 10.7256/2454-0692.2022.4.38601.
7. Городнова Н.В., Феофанов С.В. Судебная экономическая экспертиза: понятие, сущность и методический инструментарий // Экономика, предпринимательство и право. – 2021. – № 3. – c. 605-622. – doi: 10.18334/epp.11.3.111890.
8. Дубынин Е.А., Космодемьянская Е.Е. Возможности использования цифровых технологий в раскрытии и расследовании преступлений: практические аспекты // Вестник Сибирского юридического института МВД России. – 2022. – № 1(46). – c. 31-36. – doi: 10.51980/2542-1735_2022_1_31.
9. Пименова Д.А. Экономическая экспертиза как инструмент противодействия теневой экономике // Управленческий учет. – 2021. – № 7-2. – c. 565-569.
10. Поляков В.В. К проблеме использования понятия «Искусственный интеллект» в криминалистике // Юрислингвистика. – 2022. – № 25(36). – c. 21-28. – doi: 10.14258/leglinleglin(2022)2504.
11. Савицкий А.А. Актуальные вопросы становления и развития судебной экономико-цифровой экспертизы в условиях цифровизации социально-экономической сферы государства // Законы России: опыт, анализ, практика. – 2021. – № 3. – c. 60-64.
Страница обновлена: 18.10.2024 в 21:02:26