Система и способ выполнения банковской транзакции
SYSTEM AND METHOD OF BANK TRANSACTION EXECUTION

Область техники
Изобретение относится к антивирусным технологиям, а более конкретно к системам и способам обеспечения безопасности выполнения банковских транзакций.
Уровень техники
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков и т.д.), и особенно мобильных устройств (планшетов, смартфонов и т.д.) стали мощным стимулом для использования этих устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и программного обеспечения, работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.
В настоящее время существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы), другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для кибератак таких, как отказ в обслуживании (англ. DDOS) или для перебора паролей методом грубой силы (англ. bruteforce), осуществляемые на другие компьютеры или компьютерные сети, третьи блокируют доступ к данным пользователя (документам электронного документооборота, фотографиям, и т.п.), четвертые предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.
Одной из самых опасных для пользователей разновидностей вредоносных программ являются так называемые «банкеры» - приложения, которые крадут с устройств пользователей их банковские реквизиты, логины и пароли доступа к банковским счетам и т.д. Кроме того, такие приложения модифицируют транзакции, передаваемые между устройствами пользователей и банковскими сервисами. С этой целью подменяются или модифицируются легальные банковские приложения, установленные на устройствах пользователей (например, пользователям через поддельные банковские сайты предлагаются модифицированные банковские приложения со встроенным вредоносным функционалом). Такие вредоносные программы способны нанести пользователям значительный материальный ущерб.
Для борьбы с описанными выше «банкерами» применяется большой спектр технологий, работающих на устройствах пользователей, например:
• антивирусные программы, позволяющие обнаруживать и нейтрализовывать вредоносные программы с заранее известным поведением или структурой;
• сетевые экраны, позволяющие обнаруживать и блокировать передачу данных от банковских приложений по запрещенным сетевым адресам;
• многофакторная авторизация пользователей в банковских приложениях, защищающая от несанкционированного или скрытого доступа к банковским счетам.
Например, в публикации US 8806592 B2 описана технология защиты банковских транзакций цифровой подписью пользователя. С этой целью банковский сервер по запросу пользователя (клиента, работающего на мобильном устройстве пользователя) вычисляет некоторое «секретное слово» и передает на сторону клиента для формирования цифровой подписи пользователя. Сформированная цифровая подпись пользователя впоследствии служит для идентификации банковских транзакций пользователя, переданных для выполнения от клиента банковскому серверу.
Хотя описанная выше технология обеспечивает безопасное выполнение банковских транзакций в случае попыток осуществить несанкционированные банковские транзакции с устройства, не принадлежащего пользователю, она не способна справиться с ситуацией, когда устройство пользователя само подверглось успешной кибератаке, в результате которой легальное банковское приложение было модифицировано или заменено (например, была по ошибке установлена самим пользователем), что дало возможность осуществлять вредоносные банковские транзакции без ведома пользователя.
В другой публикации ЕР 2016543 А1 описана технология выполнения онлайн-транзакций с удаленного устройства и обеспечения безопасности упомянутых транзакций. С этой целью используется система клиент-сервер, при этом сервер является распределенной системой, и состоит из нескольких частей, на одной из которых происходит проверка корректности транзакций, на другой - выполнение транзакций. Таким образом злоумышленникам затруднена задача «подмены» транзакций, т.е. перехвата транзакций, отправленных с устройства пользователя, ее модификация и передача банковскому сервису.
Хотя описанная выше технология справляется с защитой пользователя в случае, когда кибератака осуществляется с вычислительных устройств, не принадлежащих пользователю (например, в случае перехвата и модификации запроса от клиента к серверу), она не защищает в ситуациях, когда кибератака осуществляется с зараженных устройств пользователя.
Описанные выше технологии обнаружения хорошо справляются с защитой транзакций от несанкционированного удаленного доступа, т.е. выполнения транзакций при условии, что осуществляется попытка удаленного доступа к транзакциям, однако, они не справляются с ситуациями, когда доступ к транзакциям осуществляется с устройств пользователей.
Настоящее изобретение позволяет решать задачу выполнения банковских транзакций пользователя в случае попыток модификации или подмены упомянутых банковских транзакций вредоносными программами или сервисами.
Раскрытие изобретения
Изобретение предназначено для выполнения банковских транзакций.
Технический результат настоящего изобретения заключается в обеспечении безопасности выполнения банковских транзакций за счет выполнения с вычислительных устройств пользователя только тех банковских операций, чей вычисленный уровень безопасности выполнения банковских операций удовлетворяет заранее заданному пороговому значению.
Данный результат достигается с помощью использования системы выполнения банковской транзакции, при этом упомянутая система содержит клиент, работающий на вычислительном устройстве, предназначенный для сбора с упомянутого вычислительного устройства данных, необходимых для выполнения банковской операции, при этом клиент содержит средство работы с банковским счетом, предназначенное для сбора с упомянутого вычислительного устройства данных, описывающих банковскую операцию, которую необходимо выполнить на банковском сервере (далее операционная информация), передачи собранной операционной информации средству регистрации транзакций и средству создания сценариев; средство обеспечения безопасности банковских операций, предназначенное для: сбора с упомянутого вычислительного устройства данных, описывающих программное обеспечение, работающее на упомянутом вычислительном устройстве (далее идентификационные данные), полученных в результате выполнения сценария проверки, полученного от средства создания сценариев, при этом сценарий проверки описывает характеристики идентификационных данных, по которым средство обеспечения безопасности банковских операций однозначно определяет идентификационные данные среди прочих данных вычислительного устройства пользователя, способы сбора идентификационных данных, на основании которых средство обеспечения безопасности банковских операций выбирает ресурсы вычислительного устройства пользователя, которые будут использованы для сбора идентификационных данных, условия сбора идентификационных данных, при выполнении которых средство обеспечения безопасности банковских операций выполняет сбор идентификационных данных; передачи собранных идентификационных данных средству анализа; сервер безопасности, предназначенный для анализа уровня безопасности проведения банковской операции с вычислительного устройства, при этом сервер безопасности содержит: средство создания сценариев, предназначенное для: создания сценария проверки на основании операционной информации, полученной от средства работы с банковским счетом, при этом сценарий проверки предназначен для сбора идентификационных данных и описывает характеристики идентификационных данных, по которым средство обеспечения безопасности банковских операций однозначно определяет идентификационные данные среди прочих данных вычислительного устройства пользователя, способы сбора идентификационных данных, на основании которых средство обеспечения безопасности банковских операций выбирает ресурсы вычислительного устройства пользователя, которые будут использованы для сбора идентификационных данных, условия сбора идентификационных данных, при выполнении которых средство обеспечения безопасности банковских операций выполняет сбор идентификационных данных, при этом характеристики, условия и способы сбора идентификационных данных выбираются таким образом, чтобы на основании анализа собранных идентификационных данных, был вычислен уровень безопасности выполнения банковской операции, где уровень безопасности выполнения банковской операции характеризует вероятность несанкционированного доступа к упомянутой операционной информации, передачи созданного сценария проверки средству обеспечения безопасности банковских операций; средство анализа, предназначенное для: вычисления на основании идентификационных данных, полученных от средства обеспечения безопасности банковских операций, уровня безопасности выполнения упомянутой банковской операции, формирования и передачи запроса на проведение банковской операции средству выполнения транзакций в случае, когда вычисленный уровень безопасности выполнения упомянутой банковской операции удовлетворяет заранее заданному пороговому значению; банковский сервер, предназначенный для выполнения банковской операции на основании переданных клиентом данных, при этом банковский сервер содержит: средство регистрации транзакций, предназначенное для: создания на основании полученной от средства работы с банковским счетом операционной информации банковской транзакции упомянутой банковской операции, передачи созданной транзакции средству выполнения транзакций; средство выполнения транзакций, предназначенное для: выполнение по запросу средства анализа, банковской транзакции, ранее созданной средством регистрации транзакций.
В другом частном случае реализации системы сбор операционной информации осуществляется по меньшей мере: с помощью отдельно установленного с административными правами приложения, непосредственно самим средством работы с банковским счетом.
Еще в одном частном случае реализации системы сбор операционной информации осуществляется с использованием по меньшей мере: предоставляемых функций API графического интерфейса; с помощью которого пользователь вводит данные, предоставляемых функций API операционной системы; перехвата системных событий; прямого доступа в память процессов, работающих с данными, вводимыми пользователем.
В другом частном случае реализации системы операционная информация содержит по меньшей мере: авторизационные данные для доступа по меньшей мере к банковскому счету, личному кабинету пользователя; банковские реквизиты; типы проводимых банковских операций; денежные суммы, участвующие в проводимых банковских операциях; данные, подтверждающие проведение банковской операции; дополнительная информация, связанная по меньшей мере с проводимыми банковскими операциями, с модификацией аккаунта пользователя.
Еще в одном частном случае реализации системы сценарий проверки содержит по меньшей мере: совокупность заранее созданных правил сбора, способы применения правил сбора, способы получения дополнительных данных в результате обработки данных, полученных в результате работы правил сбора, включающие по меньшей мере: вычисление контрольных сумм по полученным данным; поиск данных, полученных в результате работы одного правила сбора, в данных, полученных в результате работы другого правила сбора; поиск зависимостей между полученными данными и вычисление числовых коэффициентов, описывающих найденные зависимости.
В другом частном случае реализации системы выполнение условия удовлетворения заранее заданному пороговому значению заключается по меньшей мере в том, что: вычисленный уровень безопасности выполнения банковской операции не ниже заранее заданного порогового значения; в случае выполнения нескольких банковских операций, мера центральной тенденции от вычисленных уровней безопасности выполнения банковских операций не ниже заранее заданного порогового значения.
Данный результат достигается с помощью использования способа выполнения банковской транзакции, при этом способ содержит этапы, которые реализуются с помощью средств из системы выполнения банковской транзакции, и на которых: собирают с упомянутого вычислительного устройства данные, описывающие банковскую операцию, которую необходимо выполнить на банковском сервере (далее информационная информация); создают на основании собранной на предыдущем этапе операционной информации банковскую транзакцию упомянутой банковской операции; создают сценарий проверки на основании собранной на первом этапе операционной информации, при этом сценарий проверки предназначен для сбора вычислительного устройства данных, описывающих программное обеспечение, работающее на упомянутом вычислительном устройстве (далее идентификационные данные), и описывает характеристики идентификационных данных, по которым на предыдущем этапе однозначно определяют идентификационные данные среди прочих данных вычислительного устройства пользователя, способы сбора идентификационных данных, на основании которых на предыдущем этапе выбирает ресурсы вычислительного устройства пользователя, которые будут использованы для сбора идентификационных данных, условия сбора идентификационных данных, при выполнении которых на предыдущем этапе выполняют сбор идентификационных данных, при этом характеристики, условия и способы сбора идентификационных данных выбираются таким образом, чтобы на основании анализа собранных идентификационных данных, был вычислен уровень безопасности выполнения банковской операции, где уровень безопасности выполнения банковской операции - численное значение, характеризующее вероятность того, что к упомянутой операционной информации будет осуществлен несанкционированный доступ; собирают идентификационные данные, полученные в результате выполнения сценария проверки, созданного на предыдущем этапе, при этом сценарий проверки описывает характеристики идентификационных данных, по которым на предыдущем этапе однозначно определяют идентификационные данные среди прочих данных вычислительного устройства пользователя, способы сбора идентификационных данных, на основании которых на предыдущем этапе выбирает ресурсы вычислительного устройства пользователя, которые будут использованы для сбора идентификационных данных, условия сбора идентификационных данных, при выполнении которых на предыдущем этапе выполняют сбор идентификационных данных; вычисляют на основании идентификационных данных, собранных на предыдущем этапе, уровень безопасности выполнения упомянутой банковской операции; выполняют в случае, когда вычисленный на предыдущем этапе уровень безопасности выполнения упомянутой банковской операции удовлетворяет заранее заданному пороговому значению, созданную на предыдущем этапе банковскую транзакцию.
В другом частном случае реализации способа сбор операционной информации осуществляется по меньшей мере: с помощью отдельно установленного с административными правами приложения, непосредственно самим средством работы с банковским счетом.
Еще в одном частном случае реализации способа сбор операционной информации осуществляется с использованием по меньшей мере: предоставляемых функций API графического интерфейса, с помощью которого пользователь вводит данные, предоставляемых функций API операционной системы, перехвата системных событий, прямого доступа в память процессов, работающих с данными, вводимыми пользователем.
В другом частном случае реализации способа операционная информация содержит по меньшей мере: авторизационные данные для доступа по меньшей мере к банковскому счету, личному кабинету пользователя; банковские реквизиты; типы проводимых банковских операций, денежные суммы, участвующие в проводимых банковских операциях; данные, подтверждающие проведение банковской операции; дополнительная информация, связанная по меньшей мере с проводимыми банковскими операциями, с модификацией аккаунта пользователя.
Еще в одном частном случае реализации способа сценарий проверки содержит по меньшей мере: совокупность заранее созданных правил сбора, способы применения правил сбора, способы получения дополнительных данных в результате обработки данных, полученных в результате работы правил сбора, включающие по меньшей мере: вычисление контрольных сумм по полученным данным; поиск данных, полученных в результате работы одного правила сбора, в данных, полученных в результате работы другого правила сбора; поиск зависимостей между полученными данными и вычисление числовых коэффициентов, описывающих найденные зависимости.
В другом частном случае реализации способа выполнение условия удовлетворения заранее заданному пороговому значению заключается по меньшей мере в том, что: вычисленный уровень безопасности выполнения банковской операции не ниже заранее заданного порогового значения, в случае выполнения нескольких банковских операций, мера центральной тенденции от вычисленных уровней безопасности выполнения банковских операций не ниже заранее заданного порогового значения.
Краткое описание чертежей
Фиг. 1 представляет пример структурную схему системы выполнения банковской транзакции.
Фиг. 2 представляет пример структурной схемы способа выполнения банковской транзакции.
Фиг. 3 представляет диаграмму последовательности выполнения банковской транзакции.
Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Банковская операция - операция с данными, описывающими банковский счет пользователя и содержащая по меньшей мере одну банковскую транзакцию.
Банковская транзакция - операция с банковским счетом, осуществляемая на стороне банка по предоставленным данным. Различают онлайн-транзакции, выполняющиеся в режиме реального времени между всеми заинтересованными сторонами, и офлайн-транзакции. Как итоговая часть банковской операции, транзакция может быть инициирована электронным распоряжением через системы интернет-банкинга или иные коммуникационные системы, а также при помощи какого-либо платежного инструмента.
Фиг. 1 представляет пример структурную схему системы выполнения банковской транзакции.
Структурная схема системы выполнения банковской транзакции состоит из сервера безопасности 110, средства создания сценариев 111, средства анализа 112, клиента 120, средства работы с банковским счетом 121, средства обеспечения безопасности банковских операций 122, банковского сервера 130, средства регистрации транзакций 131 и средства выполнения транзакций 132.
Клиент 120, работающий на вычислительном устройстве, предназначен для сбора с упомянутого вычислительного устройства данных, необходимых для выполнения банковской операции, при этом клиент содержит средство работы с банковским счетом 121 и средство обеспечения безопасности банковских операций 122.
При этом в качестве клиента 120 может выступать:
• приложение или совокупность взаимодействующих друг с другом приложений, работающих на вычислительном устройстве пользователя 100;
• сайт, запущенный в браузере, работающем на вычислительном устройстве пользователя 100;
• прочие возможные варианты соединения, выполняемого с вычислительного устройства пользователя 100 с банковским сервером 130.
В одном из случаев реализации в качестве клиента может выступать приложение интернет-банкинга, связка приложения управления паролями (англ. passwords manager) и приложения интернет-банкинга (в этом случае пользователь 100 не передает авторизационные данные приложению онлайн-банкинга, а упомянутые данные непосредственно получаются приложением онлайн-банкинга от приложения управления паролями) и т.д.
Средство работы с банковским счетом 121 предназначено для:
• сбора с упомянутого вычислительного устройства данных, описывающих банковскую операцию, которую необходимо выполнить (далее операционная информация);
• передачи собранной операционной информации средству регистрации транзакций 131 и средству создания сценариев 111.
При этом сбор операционной информации может осуществляться по меньшей мере:
• с помощью отдельно установленного с административными правами приложения (данные между упомянутым приложением и средством работы с банковским счетом 121 могут передаваться с использованием средств межпроцессного взаимодействия);
• непосредственно самим средством работы с банковским счетом 121 (например, если упомянутому средству были повышены права доступа до уровня, необходимого для доступа к операционной информации);
с использованием по меньшей мере:
• предоставляемых функций API графического интерфейса, с помощью которого пользователь 100 вводит данные;
• предоставляемых функций API операционной системы (например, в операционных системах семейства Windows с помощью функции «::GetWindowsText»);
• перехвата системных событий;
• прямого доступа в память процессов, работающих с данными, вводимыми пользователем 100.
При этом операционная информация может содержать:
• авторизационные данные для доступа к банковскому счету, личному кабинету и т.д. (логин и пароль, биометрические данные пользователя 100, такие как отпечаток пальца, снимок радужки глаза, шаблоны голоса, образцы почерка и т.п.);
• банковские реквизиты;
• типы проводимых банковских операций (получение баланса счета, перевод денежной суммы со счета на счет, пополнение счета, снятие наличности со счета, оплаты товаров и услуг и т.п.);
• денежные суммы, участвующие в проводимых банковских операциях;
• данные, подтверждающие проведение банковской операции (коды подтверждения банковской операции с использованием технологии 3ds-secure и т.п.);
• дополнительная информация, связанная с проводимыми банковскими операциями (комментарии для выполняемых операций и т.п.) или с модификацией аккаунта пользователя 100 (например, номера счетов с которыми работает пользователь 100).
В одном из случаев реализации средство работы с банковским счетом 121 может предоставлять пользователю 100 графический интерфейс, с помощью которого пользователь 100 будет вводить все необходимые данные, описывающие банковскую операцию.
В другом случае реализации средство работы с банковским счетом 121 часть данных, описывающих банковскую операцию (например, банковские реквизиты), может собирать не у самого пользователя 100, а по компьютерной сети (например, из сети Интернет или сервера банка) на основании собранной ранее информации (например, номера кредитной карты). Например, пользователь 100 с помощью предоставленного средством работы с банковским счетом 121 интерфейса указывает в качестве счета, на который он хочет перевести некоторую денежную сумму, «расчетный счет общества охраны окружающей среды», при этом сам расчетный счет общества охраны окружающей среды нигде в системе выполнения банковской транзакции не присутствует и средству работы с банковским счетом не известен. После того, как средство работы с банковским счетом 121 собрало текстовые данные «расчетный счет общества охраны окружающей среды», оно производит поиск в сети Интернет банковских реквизитов общества охраны окружающей среды. В случае успешного поиска найденные банковские реквизиты используются в качестве одной из характеристик банковской операции.
Средство обеспечения безопасности банковских операций 122 предназначено для:
• сбора с упомянутого вычислительного устройства данных (далее идентификационные данные), полученных в результате выполнения сценария проверки, полученного от средства создания сценариев 111, при этом сценарий проверки содержит по меньшей мере одно правило сбора, где правило сбора описывает характеристики идентификационных данных, по которым средство обеспечения безопасности банковских операций 122 однозначно определяет идентификационные данные среди прочих данных вычислительного устройства пользователя 100, способы сбора идентификационных данных, на основании которых средство обеспечения безопасности банковских операций 122 выбирает ресурсы вычислительного устройства пользователя 100, которые будут использованы для сбора идентификационных данных, условия сбора идентификационных данных, при выполнении которых средство обеспечения безопасности банковских операций 122 выполняет сбор идентификационных данных;
• передачи собранных идентификационных данных средству анализа 112.
При этом идентификационные данные могут содержать:
• образ (англ. dump) оперативной памяти вычислительного устройства;
• журналы сетевой активности приложений, работающих на вычислительном устройстве (содержащие записи, включающие уникальный идентификатор приложения, время начала и завершения обмена данными по компьютерной сети, сетевой адрес сервера, с которым происходит обмен данными, объем передаваемых или принимаемых данных и т.п.);
• журналы вызовов функций из приложений, работающих на вычислительном устройстве (содержащие записи, включающие уникальный идентификатор приложения, время вызова функции, название функции, данные, передаваемые функции, результат работы вызванной функции и т.п.);
• политики безопасности, работающие на вычислительном устройстве пользователя 100;
• данные, передаваемые между приложениями, работающими на вычислительном устройстве, а также способы передачи упомянутых данных, например, уникальные идентификаторы приложений, участвующих в обмене данными, время начала и завершения обмена данными, объем и тип передаваемых данных, тип межпроцессного взаимодействия (англ. InterProcess Communication, IPC) и т.п.;
• характеристики приложений, работающих на вычислительном устройстве (объем оперативной памяти, занимаемый работающим приложением, время работы, уникальный идентификатор приложения, такой как контрольная сумма MD5 приложения или название, под которым приложение зарегистрировано в операционной системе вычислительного устройства и т.п.).
При этом в качестве характеристик идентификационных данных может выступать:
• тип идентификационных данных (например, число, строка, массив байт, изображение, медиа-данные и т.д.),
• размер идентификационных данных,
• местоположение идентификационных данных (например, указатель в оперативной памяти, путь на жестком диске и т.д.).
При этом в качестве способов сбора идентификационных данных может выступать:
• использование вызовов функций API графического интерфейса, с помощью которого пользователь 100 вводит данные;
• использование вызовов функций API операционной системы;
• перехват системных событий;
• прямой доступ в память процессов, работающих с данными, вводимыми пользователем 100.
При этом в качестве ресурсов вычислительного устройства пользователя 100 могут выступать:
• функции API графического интерфейса, с помощью которого пользователь 100 вводит данные;
• функции API операционной системы;
• системные события;
• данные, для получения доступа к носителям информации (памяти, внешних носителей информации, жестких дисков и т.д.).
При этом средство обеспечения безопасности 122 может выполнять следующие операции с собранными данными:
• шифровать собранные идентификационные данные;
• архивировать собранные идентификационные данные;
• вычислять свертки собранных идентификационных данных;
• вычислять контрольные суммы по собранным идентификационным данным (например, CRC32 или MD5).
Результаты выполнения упомянутых операций средство обеспечения безопасности 122 передает средству анализа 112.
В одном из случаев реализации для экономии сетевого трафика и тем самым уменьшения времени работы средство обеспечения безопасности 122 вместо передачи собранной идентификационной информации средству анализа 112 передает вычисленные контрольные суммы (например, MD5), вычисленные по собранным идентификационным данным.
Сервер безопасности 110 предназначен для анализа уровня безопасности проведения банковской операции с вычислительного устройства, при этом сервер безопасности содержит средство создания сценариев 111 и средство анализа 112.
В одном из вариантов реализации сервер безопасности 110 и банковский сервер 130 могут представлять собой единый сервер, работающий на стороне банка и содержащий средство создания сценариев 111, средство анализа 112, средство регистрации транзакций 131 и средство выполнения транзакций 132.
Такая архитектура способна обеспечить высокую скорость выполнения банковских транзакций за счет снижения расхода вычислительных и сетевых ресурсов (таких, как сетевой трафик между сервером безопасности 110 и банковским сервером 130 и т.п.). В другом варианте реализации сервер безопасности 110 и банковский сервер 130 могут представлять два раздельных сервера, находящиеся в разных частях света, поддерживаемые и развиваемые разными группами людей. Такая архитектура способна повысить безопасность выполнения банковских транзакций за счет усложнения вредоносного внедрения в упомянутые сервера и последующей компрометации работы упомянутых серверов при выполнении банковских транзакций.
В одном из случаев реализации для клиента 120 средство создания сценария 111, средство анализа 112, средство регистрации транзакций 131 и средство выполнения транзакций не доступны, а доступен только банковский сервер 130, с которым клиент 120 и производит обмен данными. Банковский сервер 130 при этом может представлять собой распределенную систему, в которой упомянутые средства разделены физически (например, находятся на разных серверах в разных частях света). При необходимости обратиться к одному из средств сервера безопасности 110 обращение клиента 120 также производится к банковскому серверу 130.
В другом случае реализации, когда сервер безопасности 110 и банковский сервер 130 логически разделены и различны для клиента 120, клиент может иметь возможность выбирать между разными серверами безопасности (например, пользователь 100 сам может выбрать, с каким поставщиком услуг безопасности, содержащего один из доступных серверов безопасности, работать и указать его в качестве текущего сервера безопасности 110).
При этом уровень безопасности выполнения банковской операции - численное значение, характеризующее вероятность того, что к упомянутой операционной информации будет осуществлен несанкционированный доступ. В одном из случаев реализации уровень безопасности выполнения банковской операции может представлять собой численное значение от 0 до 1, где 0 означает, что к упомянутой операционной информации, передаваемой от средства обеспечения безопасности банковских операций 122 средству выполнения транзакций 131, будет гарантированно осуществлен несанкционированный доступ, а 1 - что к упомянутой операционной информации несанкционированный доступ гарантированно осуществлен не будет. В другом случае реализации уровень безопасности выполнения банковской операции может представлять собой дискретную величину, принимающую ограниченный набор значений (например, 0 - выполнение банковской операции опасно, 1 - выполнение банковской операции не рекомендуется, 2 - выполнение банковской операции безопасно) и т.д.
Средство создания сценариев 111 предназначено для:
• создания сценария проверки на основании операционной информации, полученной от средства работы с банковским счетом 121, при этом сценарий проверки предназначен для сбора идентификационных данных и содержит по меньшей мере одно правило сбора, которое в свою очередь описывает характеристики идентификационных данных, по которым средство обеспечения безопасности банковских операций 122 однозначно определяет идентификационные данные среди прочих данных вычислительного устройства пользователя 100, способы сбора идентификационных данных, на основании которых средство обеспечения безопасности банковских операций 122 выбирает ресурсы вычислительного устройства пользователя 100, которые будут использованы для сбора идентификационных данных, условия сбора идентификационных данных, при выполнении которых средство обеспечения безопасности банковских операций 122 выполняет сбор идентификационных данных, при этом характеристики, условия и способы сбора идентификационных данных выбираются таким образом, чтобы на основании анализа собранных идентификационных данных, был вычислен уровень безопасности выполнения банковской операции;
• передачи созданного сценария проверки средству обеспечения безопасности банковских операций 122.
При этом сценарий проверки может содержать:
• совокупность заранее созданных правил сбора,
• способы применения правил сбора (например, порядок выполнения правил сбора средством обеспечения безопасности 122),
• способы получения дополнительных данных в результате обработки данных, полученных в результате работы правил сбора, такие как:
вычисление контрольных сумм по полученным данным;
поиск данных, полученных в результате работы одного правила сбора, в данных, полученных в результате работы другого правила сбора;
поиск зависимостей между полученными данными и вычисление числовых коэффициентов, описывающих найденные зависимости.
В одном из вариантов реализации сценарий проверки может быть создан с помощью одного из существующих сценарных языков (англ. scripting language) (например, LUA, AppleScript и т.д.). Преимущество данного подхода в скорости выполнения создания проверки, поддержки и прозрачности работы.
В другом варианте реализации сценарий проверки может быть создан с помощью языка программирования высокого уровня (например, Java, С++ и т.д.). Преимущество данного подхода в надежности работы сценария проверки, сложности и даже невозможности его анализа вредоносными средствами.
В одном из случаев реализации правила сбора, входящие в состав сценария проверки, могут выбираться из совокупности заранее заданных правил сбора следующим образом:
1) каждому правилу сбора из упомянутой совокупности правил сбора ставится в соответствие численный коэффициент, характеризующий вероятность того, что выполнение упомянутого правила сбора на вычислительном устройстве пользователя 100 приведет к тому, что полученные данные будут содержать информацию о возможности осуществления несанкционированного доступа к операционной информации;
2) при этом численный коэффициент для каждого правила сбора может зависеть от типа, объема и т.п. операционной информации, на получение которой направлены упомянутые правила сбора;
3) при этом численные коэффициенты могут быть вычислены заранее на основе статистического анализа собранных ранее данных с других вычислительных устройств;
4) из упомянутой совокупности правил сбора случайно выбираются правила сбора до тех пор, пока суммарная вероятность обнаружения несанкционированного доступа к операционной информации не превысит заранее заданного значения.
В другом случае реализации правила сбора могут не выбираться из заранее созданной совокупности правил сбора, а создаваться каждый раз заново с использованием по меньшей мере:
• искусственных нейронных сетей (англ. artificial neural network), для анализа созданных ранее правил сбора и создания на их основе и полученных идентификационных данных новых правил сбора;
• алгоритмов классификации (англ. statistical classification);
• алгоритмов прогнозирования (англ. statistical forecasting).
Средство анализа 112 предназначено для:
• вычисления на основании идентификационных данных, полученных от средства обеспечения безопасности банковских операций 122, уровня безопасности выполнения упомянутой банковской операции;
• запроса на проведение банковской операции средству выполнения транзакций 132 в случае, когда вычисленный уровень безопасности выполнения упомянутой банковской операции удовлетворяет заранее заданному пороговому значению.
При этом выполнения условия удовлетворения заранее заданному пороговому значению может заключаться по меньшей мере в том, что:
• вычисленный уровень безопасности выполнения банковской операции не ниже заранее заданного порогового значения;
• в случае выполнения нескольких банковских операций, мера центральной тенденции от вычисленных уровней безопасности выполнения банковских операций не ниже заранее заданного порогового значения.
В одном из случаев реализации системы выполнения банковской транзакции уровень безопасности выполнения банковской операции может быть рассчитан следующим образом:
В качестве условий влияния на безопасность выполнения банковской операции выступает вредоносное программное обеспечение (ПО), работающее на вычислительном устройстве пользователя 100, модифицирующее оперативную информацию, передаваемую банковскому серверу 130.
1) полученные идентификационные данные категоризируются по меньшей мере по следующим категориям:
• данные содержат элементы вредоносного ПО;
• данные содержат результаты работы вредоносного ПО;
• данные содержат элементы ПО, работающего на вычислительном устройстве, необходимые для работы вредоносного ПО (например, уязвимости ПО);
• данные содержат элементы легального ПО;
• данные содержат результаты работы легального ПО;
2) каждой категории ставится в соответствие числовой коэффициент безопасности категории, характеризующий, как данные, категоризованные в упомянутую категорию, влияют на безопасность выполнения банковской операции, и принимающий значение от 0 (данные являются элементами вредоносного ПО) до 1 (данные являются элементами доверенного ПО);
3) для каждой категории вычисляется коэффициент безопасности данных, зависящий от объема идентификационных данных, категоризируемых в данную категорию, при этом коэффициент безопасности данных может принимать значение от 0 (в случае, когда в категории вообще нет идентификационных данных) до 1 (в случае, когда все идентификационные данные, полученные от средства обеспечения безопасности банковских операций 122, категоризированы в данную категорию); 4) вычисляется уровень безопасности выполнения банковской операции по формуле
i
i
i
L=ΣC×N(p)
где:
L - уровень безопасности выполнения банковской операции,
i
C - коэффициент безопасности категории i,
i
i
N(p) - коэффициент безопасности данных, зависящий от объема данных в категории i.
Банковский сервер 130 предназначен для выполнения банковской операции на основании переданных клиентом 120 данных, при этом банковский сервер 130 содержит средство регистрации транзакций 131 и средство выполнения транзакций 132.
Средство регистрации транзакций 131 предназначено для:
• создания на основании полученной от средства работы с банковским счетом 122 операционной информации банковской транзакции упомянутой банковской операции,
• передачи созданной транзакции средству выполнения транзакций 132.
При этом созданная банковская транзакция может быть передана средству выполнения транзакций 132:
• по истечению заранее установленного периода времени,
• по получению команды от средства анализа 112.
В одном из случаев реализации после создания банковской транзакции она сохраняется в базе данных, расположенной в банковском сервере 130. Если по истечению заранее установленного периода времени (например, администраторами банковского сервера 130 на основании статистического анализа безопасности ранее выполненных банковских операций) от средства анализа 112 не поступило команды на выполнение упомянутой банковской транзакции она удаляется из базы данных и тем самым даже после получения упомянутой команды от средства анализа 112 выполнена быть не может.
В другом случае реализации с упомянутый установленный период времени может зависеть от полученной от средства работы с банковским счетом 122 операционной информации - для более критичных банковских операций (связанные с переводом денежных средств) установленный период времени меньше, для менее критичных банковских операций (связанных с модификацией данных о банковском счете) установленный период времени больше.
Средство выполнения транзакций 132 предназначено для выполнения по запросу средства анализа 112 банковской транзакции, ранее созданной средством регистрации транзакций 131.
При этом результаты выполнения банковской транзакции могут быть переданы клиенту 120 для информирования пользователя 100 о результатах выполнения упомянутой банковской операции.
В одном из случаев реализации пользователь 100 имеет возможность с помощью средства работы с банковским счетом 121 отменить или модифицировать упомянутую банковскую операцию и как следствие банковскую транзакцию. Например, если пользователь 100 последовательно одну за другим попытался выполнить банковские операции:
1) перевести денежную сумму со счета #1 на счет #2,
2) отменить предыдущую банковскую операцию,
3) получить состояние счета #1,
то в случае, когда банковская операция #1 уже была зарегистрирована, но еще не выполнена, банковская операция # 1 на банковском сервере 130 замещается на банковскую операцию #3. Таким образом, снижается нагрузка на банковский сервер 130, а также повышается безопасность выполняемых банковских операций.
Рассмотрим систему выполнения банковской транзакции на примере осуществления банковского перевода 100$ со счета #7 (банковская карта) на счет #2 (расчетный счет), осуществляемого пользователем 100 с использованием вычислительного приложения онлайн-банкинга BankingApp, работающего на смартфоне. При этом упомянутое вычислительное приложение BankingApp содержит в себе вредоносный функционал, позволяющий передавать мошенникам данные, связанные с банковскими счетами и банковскими операциями. Описанная ситуация стала возможной, поскольку пользователь 100 установил BankingApp не с официального сайта банка, а с недоверенного сайта, распространяющего модифицированные приложения онлайн-банкинга.
Пользователь 100 использует приложение онлайн-банкинга BankingApp 120, работающее на смартфоне, для выполнения описанной выше банковской операции. С этой целью упомянутый пользователь 100 передает приложению BankingApp 120 через предоставляемый интерфейс необходимые для выполнения упомянутой банковской операции данные:
• логин и пароль для доступа к личному кабинету 100;
• банковские реквизиты (название банка, сетевые адреса банковских сервисов, с которыми будет производиться обмен данными и т.д.);
• номер и тип счета #1, с которого необходимо списать 100$: банковская карта 0001-0002-0003-0004;
• номер и тип счета #2, на который необходимо произвести начисление 100$: расчетный счет 10101010000001000001;
• сумму и валюту денежного перевода: 100$;
• комментарии к проводимой банковской операции: «оплата услуг web-дизайнера»;
• код подтверждения банковской операции, полученный от банка через SMS-оповещение: «9876».
После того как пользователь 100 передал все необходимые данные приложению BankingApp 120, один из модулей упомянутого приложения, а именно средство работы с банковским счетом 121, собирает переданные пользователем 100 данные, обрабатывает их:
• шифрует асимметричным алгоритмом шифрования с использованием открытого ключа, таким образом дополнительно защищаются данные, передаваемые по открытым компьютерным сетям),
• проверяет собранные данные на соответствие требуемому формату (корректность номеров счетов, денежных сумм и т.п.);
• вычисляет идентификационные данные и передает по заранее заданному сетевому адресу банковского сервера 130.
Кроме того, полученные идентификационные данные средство работы с банковским счетом 121 передает также другому модулю BankingApp 120, а именно средству обеспечения безопасности банковских операций 122. Данный модуль является внешней библиотекой, предоставляемой разработчикам приложения онлайн-банкинга BankingApp 120 третьей стороной, обеспечивающей безопасность банковских операций и одобренной банком. Средство обеспечения безопасности банковской операции 122 анализирует полученные от средства работы с банковским счетом 121 идентификационные данные с целью определить, какие из полученных идентификационных данных характеризуют выполняемую банковскую операцию и могут быть использованы в мошеннических схемах, таких как:
• несанкционированный доступ к личному кабинету пользователя 100;
• осуществление несанкционированных банковских операций;
• получение конфиденциальной информации пользователя 100 (например, список выполненных банковских операций).
Таковыми в описанном примере оказываются:
• логин и пароль для доступа к личному кабинету пользователя 100;
• банковские реквизиты (название банка, сетевые адреса банковских сервисов, с которыми будет производиться обмен данными и т.д.);
• номера счетов, используемых в описанной банковской операции;
• сумму денежного перевода;
• тип выполняемой банковской операции: денежный перевод.
Средство обеспечения безопасности банковской операции 122 шифрует ассиметричным алгоритмом шифрования с использованием открытого ключа выбранные данные и передает их по заранее заданному сетевому адресу сервера безопасности 110.
На сервере безопасности 110 идентификационные данные, переданные средством обеспечения безопасности банковских операций 122, передаются средству создания сценариев 111. Средство создания сценариев 111 для каждого типа данных из полученных идентификационных данных (например, для данных, описывающих логин и пароль доступа к личному кабинету, для банковской операции «банковский перевод» и т.д.) выбирает правила сбора данных с вычислительного устройства пользователя таким образом, чтобы, если на вычислительном устройстве пользователя работает вредоносное ПО, упомянутое вредоносное ПО было достоверно идентифицировано. Например, для того, чтобы определить, что на вычислительном устройстве работает вредоносное ПО, получающее несанкционированный доступ к авторизационным данным пользователя, необходимо получить журнал вызова функций, произошедших после того, как авторизационные данные были введены пользователем 100. После того, как правила сбора были выбраны, определяются характеристики выполнения правил сбора. После чего из выбранных правил сбора формируется сценарий проверки, который передается средству обеспечения безопасности банковских операций 122.
Средство обеспечения банковских операций 122 после того, как получило сценарий проверки выполняет его.
Данные, характеризующие банковскую операцию, переданные на банковский сервер 130 средством работы с банковским счетом 121, принимаются средством регистрации транзакций 131. Полученные данные обрабатываются:
• если данные были зашифрованы, то расшифровываются (например, ассиметричным алгоритмом шифрования с использованием закрытого ключа);
• логин, пароль и код подтверждения выполнения банковской операции проверяются на соответствие требуемому формату;
• на основании полученных банковских реквизитов, номеров счетов и т.п. проверяется техническая возможность выполнения требуемой банковской операции (счета #1 и #2 существуют, на счете #1 есть 100$ и т.д.);
после чего, в случае успешного выполнения обработки, на их основании создается банковская транзакция, которая регистрируется и сохраняется в банковской системе. При этом для зарегистрированной банковской транзакции устанавливается временной период, в течении которого упомянутая банковская транзакция может быть выполнена, и по истечении которого будет удалена из банковской системы, а приложению онлайн-банкинга BankingApp 120 средством регистрации транзакций 131 будет передана информация о неуспешной попытке выполнить упомянутую банковскую операцию. Таким образом реализуется дополнительная защита от несанкционированного доступа к данным упомянутой банковской операции. В противном случае приложению онлайн-банкинга BankingApp 120 средством регистрации транзакций 131 выдается информация об отказе в выполнении запрошенной банковской операции, которая впоследствии предоставляется пользователю 100 в удобном для восприятия виде.
Данные о разрешении на выполнение упомянутой банковской операции, переданные на банковский сервер 130 средством анализа 112 принимаются средством выполнения транзакций 132. На основании полученных данных средство выполнения транзакций 132 производит поиск зарегистрированной в банковской системе упомянутой ранее банковской транзакции. В случае, если банковская транзакция была найдена, она выполняется, а результаты выполнения передаются приложению онлайн-банкинга BankingApp 120, которые впоследствии предоставляются пользователю 100 в удобном для восприятия виде.
Фиг. 2 представляет пример структурной схемы способа выполнения банковской транзакции.
Структурная схема способа выполнения банковской транзакции содержит этап 201, на котором собирают операционную информацию, этап 202, на котором создают транзакцию банковской операции, этап 203, на котором создают сценарий проверки, этап 204, на котором собирают идентификационные данные, этап 205, на котором вычисляют уровень безопасности выполнения банковской операции и этап 206, на котором выполняют транзакцию банковской операции.
На этапе 201 собирают с упомянутого вычислительного устройства данные, описывающие банковскую операцию, которую необходимо выполнить (далее информационная информация).
При этом операционная информация может содержать:
• авторизационные данные для доступа к банковскому счету, личному кабинету и т.д. (логин и пароль, биометрические данные пользователя 100, такие как, отпечаток пальца, снимок радужки глаза, шаблоны голоса, образцы почерка и т.п.);
• банковские реквизиты;
• типы проводимых банковских операций (получение баланса счета, перевод денежной суммы со счета на счет, пополнение счета, снятие наличности со счета, оплаты товаров и услуг и т.п.);
• денежные суммы, участвующие в проводимых банковских операциях;
• данные, подтверждающие проведение банковской операции (коды подтверждения банковской операции с использованием технологии 3ds-secure и т.п.);
• дополнительная информация, связанная с проводимыми банковскими операциями (комментарии для выполняемых операций и т.п.) или с модификацией аккаунта пользователя 100 (например, номера счетов с которыми работает пользователь 100).
На этапе 202 создают на основании собранной на этапе 201 операционной информации транзакцию упомянутой банковской операции.
При этом выполнение этапа 206 возможно:
• по истечению заранее установленного периода времени,
• по получению команды от средства анализа 112 на этапе 205.
На этапе 203 создают сценарий проверки на основании собранной на этапе 201 операционной информации, при этом сценарий проверки предназначен для сбора данных с упомянутого вычислительного устройства (далее идентификационные данные) и содержит по меньшей мере одно правило сбора, которое в свою очередь характеристики идентификационных данных, по которым на этапе 204 однозначно определяют идентификационные данные среди прочих данных вычислительного устройства пользователя 100, способы сбора идентификационных данных, на основании которых на этапе 204 выбирают ресурсы вычислительного устройства пользователя 100, которые будут использованы для сбора идентификационных данных, условия сбора идентификационных данных, при выполнении которых на этапе 204 выполняют сбор идентификационных данных, при этом характеристики, условия и способы сбора идентификационных данных выбираются таким образом, чтобы на основании анализа собранных идентификационных данных, был вычислен уровень безопасности выполнения банковской операции, где уровень безопасности выполнения банковской операции - численное значение от 0 до 1, характеризующее вероятность того, что к упомянутой операционной информации будет осуществлен несанкционированный доступ.
При этом сценарий проверки может содержать:
• совокупность заранее созданных правил сбора,
• способы применения правил сбора (например, порядок выполнения правил сбора на этапе 204),
• способы получения дополнительных данных в результате обработки данных, полученных в результате работы правил сбора, такие как:
вычисление контрольных сумм по полученным данным,
поиск данных, полученных в результате работы одного правила сбора, в данных, полученных в результате работы другого правила сбора,
поиск зависимостей между полученными данными и вычисление числовых коэффициентов, описывающих найденные зависимости.
В одном из вариантов реализации сценарий проверки может быть создан с помощью одного из существующих сценарных языков (англ. scripting language), например, LUA, AppleScript и т.д. Преимущество данного подхода в скорости выполнения создания проверки, поддержки и прозрачности работы.
В другом варианте реализации сценарий проверки может быть создан с помощью языка программирования высокого уровня (например, Java, С++ и т.д.). Преимущество данного подхода в надежности работы сценария проверки, сложности и даже невозможности его анализа вредоносными средствами.
На этапе 204 собирают идентификационные данные, полученные в результате выполнения сценария проверки, созданного на этапе 203, при этом сценарий проверки содержит по меньшей мере одно правило сбора, где правило сбора описывает характеристики идентификационных данных, по которым на этапе 204 однозначно определяют идентификационные данные среди прочих данных вычислительного устройства пользователя 100, способы сбора идентификационных данных, на основании которых на этапе 204 выбирают ресурсы вычислительного устройства пользователя 100, которые будут использованы для сбора идентификационных данных, условия сбора идентификационных данных, при выполнении которых на этапе 204 выполняют сбор идентификационных данных.
При этом идентификационные данные могут содержать:
• образ (англ. dump) оперативной памяти вычислительного устройства,
• журналы сетевой активности приложений, работающих на вычислительном устройстве (содержащие записи, включающие уникальный идентификатор приложения, время начала и завершения обмена данными по компьютерной сети, сетевой адрес сервера, с которым происходит обмен данными, объем передаваемых или принимаемых данных и т.п.),
• журналы вызовов функций из приложений, работающих на вычислительном устройстве (содержащие записи, включающие уникальный идентификатор приложения, время вызова функции, название функции, данные, передаваемые функции, результат работы вызванной функции и т.п.),
• политики безопасности, работающие на вычислительном устройстве пользователя 100,
• данные передаваемые между приложениями, работающими на вычислительном устройстве, а также способы передачи упомянутых данных, например, уникальные идентификаторы приложений, участвующих в обмене данными, время начала и завершения обмена данными, объем и тип передаваемых данных, тип межпроцессного взаимодействия (англ. InterProcess Communication, IPC) и т.п.),
• характеристики приложений, работающих на вычислительном устройстве (объем оперативной памяти, занимаемый работающим приложением, время работы, уникальный идентификатор приложения, такой как контрольная сумма MD5 приложения или название, под которым приложение зарегистрировано в операционной системе вычислительного устройства и т.п.).
При этом в качестве характеристик идентификационных данных может выступать:
• тип идентификационных данных (например, число, строка, массив байт, изображение, медиа-данные и т.д.),
• размер идентификационных данных,
• местоположение идентификационных данных (например, указатель в оперативной памяти, путь на жестком диске и т.д.).
При этом в качестве способов сбора идентификационных данных может выступать:
• использование вызовов функций API графического интерфейса, с помощью которого пользователь 100 вводит данные;
• использование вызовов функций API операционной системы;
• перехват системных событий;
• прямой доступ в память процессов, работающих с данными, вводимыми пользователем 100.
При этом в качестве ресурсов вычислительного устройства пользователя 100 может выступать:
• функции API графического интерфейса, с помощью которого пользователь 100 вводит данные;
• функции API операционной системы;
• системные события;
• данные, для получения доступа к носителям информации (памяти, внешних носителей информации, жестких дисков и т.д.).
При этом на этапе 204 могут выполняться следующие операции с собранными данными:
• шифровать собранные идентификационные данные,
• архивировать собранные идентификационные данные,
• вычислять свертки собранных идентификационных данных,
• вычислять контрольные суммы по собранным идентификационным данным (например, CRC32 или MD5);
а результаты выполнения упомянутых операций участвовать на этапе 205.
На этапе 205 вычисляют на основании идентификационных данных, собранных на этапе 204, уровень безопасности выполнения упомянутой банковской операции;
На этапе 206 выполняют в случае, когда вычисленный на этапе 205 уровень безопасности выполнения упомянутой банковской операции удовлетворяет заранее заданному пороговому значению, созданную на этапе 202 транзакцию.
При этом выполнения условия удовлетворения заранее заданному пороговому значению может заключаться по меньшей мере в том, что:
• вычисленный уровень безопасности выполнения банковской операции не ниже заранее заданного порогового значения;
• в случае выполнения нескольких банковских операций, мера центральной тенденции от вычисленных уровней безопасности выполнения банковских операций не ниже заранее заданного порогового значения.
При этом результаты выполнения банковской транзакции могут быть переданы клиенту 120 для информирования пользователя 100 о результатах выполнения упомянутой банковской операции.
Фиг. 3 представляет диаграмму последовательности выполнения банковской транзакции.
Структурная схема диаграммы последовательности выполнения банковской транзакции состоит из пользователя 100, сервера безопасности 110, средства работы с банковским счетом 121, средства обеспечения безопасности банковских операций 122, банковского сервера 130, содержит этапы на которых создают транзакцию 310, создают уникальный сценарий проверки 320, проверяют вычислительное устройство пользователя по сценарию проверки 330, обрабатывают идентификационные данные 340 и выполняют транзакцию 350 и передаваемые между средствами данные, а именно: операционную информацию 310.1, UID транзакции 320.1, 320.2, 320.3, уникальный сценарий проверки 330.1, идентификационные данные 340.1, результаты анализа идентификационных данных, собранных с вычислительного устройства 350.1, результаты выполнения транзакции 360.1 и банковскую транзакцию 370.1.
Пользователь 100 с помощью графического интерфейса, предоставленного клиентом 120, передает средству работы с банковским счетом 110 данные, характеризующие банковскую операцию.
Из переданных пользователем 100 данных средство работы с банковским счетом формирует операционную информацию 310.1 и передает ее банковскому серверу 130.
Банковский сервер 130 обрабатывает полученную от средства работы с банковским счетом 121 операционную информацию 310.1 и создает банковскую транзакцию 370.1, которой ставит в однозначное соответствие уникальный идентификатор (UID транзакции) 320.1. UID транзакции банковский сервер возвращает средству работы с банковским счетом 121, с которым поддерживает соединение.
Средство работы с банковским счетом 121 передает полученный от банковского сервера 130 UID транзакции средству обеспечения безопасности банковских операций 122.
Средство обеспечения безопасности банковских операций 122 устанавливает соединение с заранее заданным сервером безопасности 110 и передает ему полученный от средства работы с банковским счетом 121 UID транзакции 320.3. Кроме самого UID транзакции 320.3 сервер обеспечения безопасности банковских операций 122 может также передать операционную информацию 310.1, полученную ранее средством работы с банковским счетом (на основе этой информации сервер безопасности 110 будет создавать уникальный сценарий проверки 330.1).
Сервер безопасности 110 создает уникальный сценарий проверки 330.1 и передает его обратно средству обеспечения безопасности банковских операций 122.
Средство обеспечения безопасности банковских операций 122 выполняет полученный уникальный сценарий проверки 330.1, который собирает идентификационные данные 340.1 с вычислительного устройства пользователя 100. После этого средство обеспечения банковских операций 122 передает собранные идентификационные данные 340.1 серверу безопасности 110.
Сервер безопасности обрабатывает полученные идентификационные данные 340.1: по собранным идентификационным данным 340.1 вычисляется, безопасно ли будет выполнять банковскую транзакцию 370.1, не был ли получен несанкционированный доступ к операционной информации 310.1 и т.д. После завершения выполнения проверки сервер безопасности 110 передает результаты проверки вычислительного устройства 350.1, содержащие также полученный ранее от средства обеспечения безопасности банковской операции 122 UID транзакции, банковскому серверу 130.
В случае, если результаты проверки вычислительного устройства пользователя 100 положительные, банковский сервер 130 выполняет созданную ранее банковскую транзакцию, а результаты выполнения банковской транзакции передает средству работы с банковским счетом 121. В случае отрицательного результата проверки вычислительного устройства пользователя 110 банковский сервер удаляет созданную ранее транзакцию, чтобы ее выполнение было невозможным.
Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.