СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ УДАЛЕННОГО ПОДКЛЮЧЕНИЯ ПРИ РАБОТЕ НА СТРАНИЦАХ ВЕБ-РЕСУРСА
METHOD AND SYSTEM OF DETECTING REMOTE CONNECTION WHEN WORKING ON WEB RESOURCE PAGES

ОБЛАСТЬ ТЕХНИКИ
[0001] Данное техническое решение относится к области вычислительной техники, а точнее к способам и системам выявления удаленного доступа при работе на страницах веб-ресурса.
УРОВЕНЬ ТЕХНИКИ
[0002] С недавних времен использование электронных ключей (токенов) и смарт-карт, с неизвлекаемыми криптографическими ключами, с помощью которых производится подписание юридически значимых документов и денежных переводов, перестало считаться надежным способом защиты от мошенников. Самой распространенной схемой обхода этих средств является использование вредоносного программного обеспечения для несанкционированного сбора учетных данных, пин-кодов, паролей на устройстве «жертвы» с последующим удаленным доступом на его устройство и совершение действий в информационных системах от имени легитимного пользователя.
[0003] Подобные атаки перестали быть единичными, и особенно широкое применение получили у кибермошенников при хищении денежных средств через различные системы онлайн-платежей и дистанционного банковского обслуживания. Для осуществления удаленного доступа часто используются такие общедоступные программы как Microsoft Remote Desktop, TeamViewer, Lite Manager, Ammyy Admin, Remote Admin, семейство на основе VNC.
[0005] Однако в случае использования Microsoft Remote Desktop мошенник может явно установить необходимые параметры экрана, а при использовании других средств удаленного доступа, таких как VNC, Ammyy Admin, TeamViewer, эти параметры по умолчанию будут соответствовать параметрам экрана управляемого устройства. В этом случае удаленное подключение вышеописанным способом не будет выявлено, в чем заключается его существенный недостаток.
СУЩНОСТЬ
[0006] Данное изобретение направлено на устранение недостатков, присущих существующим решениям.
[0007] Технической проблемой в данном техническом решении является выявление удаленного подключения при работе на страницах веб-ресурса без использования специальных программ, а только с использованием средств браузера.
[0008] Техническим результатом является расширение арсенала технических средств для выявления удаленного подключения на основе данных о срабатывании прерывания компьютерной мыши.
[0009] Указанный технический результат достигается благодаря способу выявления удаленного подключения при работе на страницах веб-ресурса, в котором предварительно собирают данные о периодичности срабатывания сигнала прерываний компьютерной мыши и обучают статистическую модель на основе собранных вышеуказанных данных с помощью метода машинного обучения; получают сигнал о прерывании компьютерной мыши; сравнивают периодичность срабатывания полученного сигнала прерывания компьютерной мыши с вышеуказанной сформированной статистической моделью; выявляют наличие удаленного подключения при возникновении отклонения в срабатывании прерывания компьютерной мыши.
[00010] Также указанный технический результат достигается благодаря системе выявления удаленного подключения при работе на страницах веб-ресурса, содержащая: сервер, выполненный с возможностью сбора данных о периодичности срабатывания сигнала прерываний компьютерной мыши, а также обучения статистической модели на основе полученных вышеуказанных данных с помощью метода машинного обучения и сравнения периодичности срабатывания полученного сигнала прерывания компьютерной мыши с вышеуказанной сформированной статистической моделью; сервер удаленного доступа, выполненный с возможностью получения сигнала от компьютерной мыши от клиента удаленного доступа; клиент удаленного доступа, выполненный с возможностью передачи сигнала о прерывании компьютерной мыши на сервер удаленного доступа; компьютерную мышку; браузер, выполненный с возможностью загрузки скрипта для сбора и передачи данных о периодичности срабатывания сигнала прерывания компьютерной мыши на устройстве пользователя.
[00011] В некоторых вариантах осуществления технического решения данными о периодичности срабатывания события движения компьютерной мыши являются медиана и дисперсия распределения набора временных замеров (в мс) между соседними вызовами события движения мыши.
[00012] В некоторых вариантах осуществления технического решения при обучении статической модели на основе выбранных данных используют такой метод машинного обучения, как метод k-ближайших соседей или линейную регрессию.
[00013] В некоторых вариантах осуществления технического решения при обучении статической модели на основе выбранных данных используют аппроксимирующие функции для вычисления параметров, необходимых для выявления использования средства удаленного доступа.
[00015] К сожалению, данные способы не срабатывают в большинстве реальных случаев. Во-первых, не сработает против осторожных мошенников, которые имеют возможность получить оригинальное значение разрешения и глубины цвета, и выставить их вручную в параметрах клиента удаленного доступа. Во-вторых, такие широко используемые системы удаленного доступа как VNC, TeamViewer, LiteManager, Remote Admin, Ammyy Admin не изменяют по умолчанию ни разрешения, ни глубины цвета.
[00016] Данное техническое решение предлагает новый способ выявления удаленного подключения, который определяет использование всех вышеперечисленных программ удаленного подключения за счет учета фундаментальных принципов их работы.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00017] Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей, на которых:
[00018] На Фиг. 1 показан примерный вариант осуществления технического решения согласно способу выявления удаленного подключения при работе на страницах веб-ресурса;
[00019] На Фиг. 2 показан примерный вариант осуществления технического решения согласно системе выявления удаленного подключения при работе на страницах веб-ресурса;
[00020] На Фиг. 3 показан примерный вариант осуществления технического решения согласно способу выявления удаленного подключения при работе на страницах веб-ресурса. На диаграмме показаны существенные компоненты, участвующие при работе легитимного пользователя со своего устройства на страницах веб-ресурса. Также показана последовательность взаимодействия компонент для первичного построения статистической модели и последующей проверки данных прерывания компьютерной мыши.
[00021] На Фиг. 4 показан примерный вариант осуществления технического решения согласно способу выявления удаленного подключения при работе на страницах веб-ресурса. На диаграмме показаны существенные компоненты, участвующие при использовании средств удаленного доступа и вносящие аномальные изменения в данные прерывания компьютерной мыши. Также показана последовательность взаимодействия компонент для выявления использования средств удаленного управления (обозначены сокращением УУ).
ПОДРОБНОЕ ОПИСАНИЕ
[00022] Данное техническое решение может быть реализовано на компьютере, в виде системы или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.
[00023] Техническое решение может быть реализовано в виде распределенной компьютерной системы.
[00024] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).
[00025] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[00026] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
[00027] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[00028] Ниже будут описаны термины и понятия, необходимые для осуществления настоящего технического решения.
[00029] Статистическая модель - модель, описывающая (в большей или меньшей степени) взаимосвязь между признаками (переменными).
[00030] Машинное обучение - обширный подраздел искусственного интеллекта, математическая дисциплина, использующая разделы математической статистики, численных методов оптимизаций, теории вероятностей, дискретного анализа и извлекающая знания из данных.
[00031] Прерывание - сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передается обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.
[00032] Сервер - компьютер и/или оборудование для выполнения на нем сервисного программного обеспечения (в том числе серверов тех или иных задач).
[00033] Сервер удаленного доступа обеспечивает пользователя через соответствующую клиентскую программу аналогом локального терминала (текстового или графического) для работы на удаленной системе. Для обеспечения доступа к командной строке служат серверы telnet, RSH и SSH. Для обеспечения доступа к графическому терминалу (оболочке) используются такие программы, как RDP, VNC, TeamViewer, RemoteAdmin, AmmyyAdmin, LiteManager.
[00034] Браузер - прикладное программное обеспечение для просмотра веб-страниц; содержания веб-документов, компьютерных файлов и их каталогов; управления веб-приложениями; а также для решения других задач.
[00035] Компьютерная мышь - механический манипулятор, преобразующий движение в управляющий сигнал. В частности, сигнал может быть использован для позиционирования курсора или прокрутки страниц.
[00036] ДБО - дистанционное банковское обслуживание.
[00037] В информатике и программировании событие - это сообщение программного обеспечения (либо его части), которое указывает, что произошло.
[00038] Согласно заявляемому техническому решению способ выявления удаленного подключения при работе на страницах веб-ресурса, который показан на Фиг. 1, реализован следующим образом.
[00039] Шаг 101: предварительно собирают данные о периодичности срабатывания сигнала прерываний компьютерной мыши и обучают статистическую модель на основе собранных вышеуказанных данных с помощью метода машинного обучения.
[00041] В качестве методов машинного обучения могут быть использованы метод k-ближайших соседей, линейная регрессия, и иные алгоритмы кластеризации и выявления аномалий. В условиях ограниченного набора данных о событии движения мыши возможно использование аппроксимирующих функций для вычисления необходимых параметров для выявления использования средства удаленного доступа. Под ограниченным набором данных понимается, что как правило, сессия работы мошенника под удаленным управлением довольно короткая (1-2 минуты). Его задача, например, быстро создать платеж и уйти. В этих условиях можно не набрать достаточное количество данных. Поэтому используется аппроксимация на основе тех данных, которые успели накопиться. Например, в качестве такой функции может выступать дисперсия распределения из N случайных величин, которые необходимы для достоверного определения использования удаленного подключения, может быть аппроксимирована функцией a/(N^2)+b, где коэффициенты a и b - вычисляются на основе дисперсий от меньшего количества случайных величин, полученных в ходе сессии работы на защищаемом веб-ресурсе.
[00042] Шаг 102: получают события движения компьютерной мыши;
[00043] Шаг 103: сравнивают периодичность срабатывания полученного сигнала прерывания компьютерной мыши с вышеуказанной сформированной статистической моделью.
[00044] В общем случае сравнивается набор полученных данных, т.к. и при нормальной работе могут быть одиночные выбросы (аномалии)
[00045] Выявляет разницу периодичности прерывания компьютерной мыши со статистической моделью, построенной на этапе обучения. Если она оказывается статистически значимой, то принимается решение, что наличествует удаленное подключение. На основе полученных данных о периодичности прерывания компьютерной мыши и статистической модели, построенной алгоритмом выявления аномалий на этапе обучения, принимается решение, что наличествует удаленное управление.
[00046] Шаг 104: при возникновении отклонения в срабатывании прерывания компьютерной мыши уведомляют владельца защищаемого веб-ресурса о наличии удаленного подключения у посетителя веб-ресурса для последующего реагирования на стороне владельца. В качестве реагирования может быть, например, ограничение доступа к функционалу веб-ресурса, дополнительной авторизации клиента, прерывании сессии работы с посетителем или отзыве ранее совершенных действий, и т.п.
[00047] Важно, что уведомляется не пользователь, а владелец веб-ресурса (банк в случае ДБО). Бессмысленно показывать что-либо в браузере под удаленным управлением мошенника.
[00048] Рассмотрим пример осуществления технического решения.
[00050] В обработчике при каждом вызове замеряется разница между временем предыдущего вызова и текущего. Используется промежуточный массив счетчиков с индексами от 0 до заданного количества (например, 40). При каждом вызове обработчика увеличивается на единицу счетчик с индексом равным разнице времени предыдущего вызова и текущего. По достижении заданного количества последовательно полученных разниц времен, подсчитывается медиана. Эти значения медианы отправляются на сервер. Массив счетчиков обнуляется, и вся описанная выше итерация повторяется.
[00051] На сервере полученные значения медианы накапливаются до заданного количества - на этом этапе накапливаются данные, которые относятся к классу «пользователь работает локально». Заданное количество задается настройками алгоритма выявления аномалий и представляет собой положительное число, например 100, как показано в примере реализации ниже. По получении заданного количества медиан вычисляется следующая статистическая модель.
[00052] Среднее значение медианы m и ее дисперсия sd.
[00053] Задается пороговое значение большее m+3*sd*K, где К - является настроечным параметром, задающим чувствительность выявления. В пределах [0, m+3*sd) находится 0.07% всего нормального распределения медиан, данный интервал взят из теории статистики.
[00054] Например, в ходе нескольких сессий локальной работы клиента в ДБО были получены следующие значения медианы (в миллисекундах):
[00055] [9, 10, 11, 11, 11, 9, 11, 10, 11, 11, 11, 11, 11, 11, 11, 9, 9, 11, 11, 9, 11, 11, 11, 11, 12, 13, 13, 12, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 11, 11, 11, 11, 11, 10, 9, 11, 11, 11, 11, 11, 11, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 13, 13, 13, 13, 13, 13, 11, 11, 11, 11, 11, 11, 9, 9, 9, 9, 9, 9, 9]
[00056] m=10.09
[00057] sd=1.295641
[00058] при К=1, пороговое значение равно 13.97692
[00059] После этого все получаемые значения медианы тестируются на вхождение в промежуток [0, m+3*sd*К]. Если медиана выходит за пределы, то считается, что происходит удаленное управление. Это имеет очень простой физический смысл: при плавном движении мышки на стороне мошенника сигналы от нее передаются от клиента удаленного доступа на сервер удаленного доступа с некоторой большей периодичностью (задержкой), что на управляемом устройстве выглядит как дерганое движение мышки (большими скачками).
[00061] Например, в ходе сессии работы через TeamViewer были получены следующие значения медиан: [41, 41, 41, 41, 41]
[00062] 41 - значит, что реальные медианы вышли за пределы массива счетчиков, т.е. задержки были более 40 мс.
[00063] В результате среднее из этих медиан выходит за пределы допустимого значения 13.97692.
[00064] Этим способом выявляются такие средства удаленного доступа как RDP и TeamViewer. Другие средства удаленного доступа требуют других алгоритмов выявления основанных на изменении дисперсии периодичности срабатывания событий window.onmousemove.
[00065] Согласно заявляемому техническому решению система выявления удаленного подключения при работе на страницах веб-ресурса, реализована следующим образом.
[00066] Сервер выполнен с возможностью сбора данных о периодичности срабатывания сигнала прерываний компьютерной мыши, а также обучения статистической модели на основе полученных вышеуказанных данных с помощью метода машинного обучения и сравнения периодичности срабатывания полученного сигнала прерывания компьютерной мыши с вышеуказанной сформированной статистической моделью.
[00067] Все подробности реализации сбора данных о периодичности срабатывания сигнала прерываний компьютерной мыши, а также обучение статистической модели на основе полученных данных описаны выше.
[00068] В любом домене узлы потребителей, серверы, магистральные соединения и т.п. рассматриваются как «локальные» для этого домена, в то время как эти элементы в пределах другого домена рассматриваются как «удаленные».
[00069] сервер удаленного доступа, выполненный с возможностью получения сигнала от компьютерной мыши от клиента удаленного доступа;
[00070] клиент удаленного доступа, выполненный с возможностью передачи сигнала о прерывании компьютерной мыши на сервер удаленного доступа;
[00071] компьютерная мышка;
[00072] браузер, выполненный с возможностью загрузки скрипта для сбора и передачи данных о периодичности срабатывания сигнала прерывания компьютерной мыши на устройстве пользователя.
[00073] Специалист в данной области техники может легко осуществить другие варианты изобретения из рассмотренного описания, раскрытого здесь. Эта заявка предназначена для того, чтобы покрыть любые варианты изобретения, и включая такие отклонения от настоящего изобретения, которые появляются в пределах известной или обычной практики в уровне техники. Предполагается, что описание и примеры рассматриваются только как примерные, с сущностью и объемом настоящего изобретения, обозначенные формулой технического решения.
[00074] Следует принимать во внимание, что настоящее раскрытие не ограничивается точными конструкциями, которые были описаны выше и проиллюстрированы на прилагаемых чертежах, и что различные модификации и изменения могут быть сделаны без отхода от области его применения. Предполагается, что объем технического решения ограничен только прилагаемой формулой.