Задачи идентификации пользователей при использовании информационных систем, в том числе промышленных автоматизированных систем управления, достаточно изучены, но остаются актуальными. Существующие решения основаны на ограниченном количестве методов и средств: электронных замках, аутентификации, технологиях биометрической идентификации [1, 2]. В последнее время широкое распространение получили методы биометрической идентификации пользователей, одним из которых является метод идентификации по динамике нажатия клавиш, то есть по характеру набора на клавиатуре произвольного текста или произвольной парольной фразы.
Принцип идентификации пользователей по динамике нажатия клавиш заключается в возможности проведения анализа временных характеристик нажатий клавиш при вводе парольной фразы. При многократном вводе одной и той же фразы подготовленный пользователь обычно осуществляет большую часть манипуляций с клавиатурой на бессознательном уровне, что и порождает эффект клавиатурного почерка, то есть при вводе пароля пользователь формирует автоматический стереотип действий. Контролируемыми параметрами клавиатурного ввода являются время нажатия каждой клавиши из пароля и временные интервалы между нажатием соседних клавиш. В работах [3–5] показаны результаты исследований, в которых точность идентификации пользователей по клавиатурному почерку составляет более 97 %. Существуют исследова- ния и зарубежных авторов. Так, например, в работе [6] описана система идентификации пользователей по динамике нажатия клавиш, и из восьми тестируемых пользователей только три были идентифицированы, вероятность распознавания составила 37,5 %. В работе [7] описано, что только один из восьми пользователей был распознан, вероятность распознавания – 12,5 %.
Современные промышленные автоматизированные системы управления позволяют аутентифицировать пользователей, как правило, по логину и паролю. Метод аутентификации пользователей по динамике нажатия клавиш не требует никакого специального оборудования, но обладает недостатком – низкой точностью. В данной работе предлагается трехуровневая модель повышения точности аутентификации пользователей по динамике нажатия клавиш, позволяющая повысить эффективность аутентификации не только в автоматизированных системах управления, но и в сложных, критически важных и потенциально опасных объектах промышленности.
Обзор существующих решений в области аутентификации пользователей в автоматизированных системах управления
Анализ работ [8, 9] показал, что 82 % промышленных предприятий не могут противостоять внутреннему нарушителю, который стремится проникнуть в технологическую сеть из корпоративной. После получения доступа к технологическому сегменту сети у злоумышленника появляются широкие возможности по злонамеренному влиянию на компоненты автоматизированных систем управления.
По сравнению с 2017 годом в 2018 году количество новых уязвимостей в компонентах промышленных автоматизированных систем увеличилось на 30 %. Как правило, анализ таких систем выявляет несколько уязвимостей. Наиболее часто встречающиеся уязвимости представлены в таблице 1.
С каждым годом наблюдается рост случаев обнаружения уязвимостей в автоматизированных системах управления: 2013 г. – 158 случаев, 2014 г. – 181, 2015 г. – 212, 2016 г. – 115, 2017 г. – 197, 2018 г. – 257.
Значительная доля уязвимостей связана с некорректной аутентификацией или избыточными правами доступа пользователей. При этом больше половины из них (64 %) могут эксплуатироваться удаленно.
В таблице 2 на основе анализа данных из работ [10, 11] представлена информация о распределениях уязвимостей в автоматизированных системах управления по типу.
В настоящее время компоненты промышленных автоматизированных систем управления не являются полностью защищенными, следовательно, возникает потребность в их адекватной защите, повышении уровня информационной безопасности.
Физиологическая биометрия. Решение применяется для аутентификации пользователей на основе физиологических данных (отпечатки пальцев, структура лица, радужная оболочка и др.). Данное решение доказало надежность только в части идентификации пользователей по распознаванию радужной оболочки глаз [5, 12], другие способы идентификации на основе физиологических данных не подтвердили своей надежности [7, 13, 14].
Поведенческая биометрия. Данное решение позволяет идентифицировать пользователя на основе уникальных характеристик его поведения (походка, голосовой ритм, почерк, клавиатурный почерк, характер подписи и т.д.). В работах [13, 15, 16] предложено использовать коэффициент корреляции для сравнения вновь напечатанных данных с данными, хранящимися в БД:
, (1)
где ki – вектор длины (), отражающий интервал времени (разница между отпусканием и последующим нажатием клавиши) между нажатиями клавиш в эталонной подписи; ti – вектор длины (), в котором хранятся временные интервалы между нажатиями клавиш в пробной подписи.
Данное решение неэффективно при работе с большими объемами данных.
Авторы работ [5–7], учитывая скорость набора текста, частоту нажатия клавиш, движения мыши и время задержки нажатия клавиш, предложили модель на основе нейронной се- ти [16, 17]. Результаты исследований показали, что пользователи успешно идентифицированы в случаях, когда сходство между сохраненным шаблоном и текущими данными было более 90 %. Модель на основе нейронной сети содержала модуль дополнения, который обновлял шаблон каждый раз, когда пользователь успешно проходил идентификацию. Решение неэффективно для небольших наборов данных из-за сложности обобщения.
В работе предлагается трехуровневая модель повышения точности аутентификации пользователей по динамике нажатия клавиш.
Перед началом использования промышленной автоматизированной системы управления пользователю предлагается пройти авторизацию в системе (ввод логина, пароля и других параметров). После успешной авторизации пользователь может пройти аутентификацию, при этом для подтверждения аутентификации измеряются клавиатурные параметры пользователя, формируются эталоны и выполняется сравнение параметров пользователей по критерию сравнения центров распределения двух совокупностей при допущении, что распределение параметров клавиатур- ного почерка подчинено нормальному гауссов- скому закону (стандартное отклонение) и проверке соответствия на критерий Хи-квадрат (c2). На втором уровне решается классовая задача для сравнения текущих данных с данными классов пользователей в случае, если на первом уровне пользователь не прошел аутентификацию. На третьем уровне происходит обновление данных пользователей на основе процесса рекуррентности.
На рисунке 1 представлена структурная схема детализации трехуровневой модели аутентификации пользователей.
Опишем более подробно каждый уровень предложенной модели.
Статистический уровень. На этом уровне измеряются временные параметры клавиатурного почерка пользователей и формируются эталоны пользователей в виде средних значений и среднеквадратических отклонений. Далее происходит анализ стандартных отклонений между текущими входными данными и эталонными значениями. Стандартное отклонение временных параметров динамики работы пользователей на клавиатуре вычисляется по формуле
, (2)
где S – стандартное отклонение; N – размер выборки из временных параметров; xi – текущее значение выборки; – среднее значение параметров.
Вычисленное значение S сравнивается с сохраненным стандартным отклонением, которое рассчитывается на основе ранее собранных данных конкретного пользователя. Если разница между этими двумя значениями незначительная (в данном случае меньше 3), пользователь принимается, в противном случае осуществляется переход к проверке критерия c2.
Следующий уровень – выполнение теста c2 для подтверждения или опровержения гипотезы. В предлагаемой системе в качестве гипотезы для теста принимается предположение «Пользователь легальный». Данный тест предполагает одну степень свободы, поскольку возможны только два результата: пользователь ле- гальный или нелегальный. Степень свободы используется для выбора критического значения в статистической таблице [18]. Критическое значение выбирается в зависимости от желаемого уровня точности. Для предложенной системы был выбран уровень достоверности 97,5 %, который означает вероятность того, что решение о принятии или отклонении гипотезы является верным. Чтобы доказать, верна ли гипотеза, необходимо использовать уже сохраненное среднее значение атрибута в качестве ожидаемого значения и среднее значение входного атрибута в качестве наблюдаемого значения. Цель теста – выяснить, является ли разница между наблюдаемым средним (входным) и ожидаемым средним (сохраненным) результатом случайности или других факторов. Вычисления проводятся по формуле
, (3)
где c2 – значение критерия Хи-квадрат; – наблюдаемое значение (среднее значение временного параметра клавиатурного почерка); Li – ожидаемое значение (среднее значение, сохраненное в эталоне пользователя) [18].
Значение c2 должно быть меньше или равно критическому значению, выбранному из статистической таблицы [18], чтобы принять гипотезу. Если значение c2 меньше или равно критическому значению, пользователь принимается с вероятностью 97,5 %, в противном случае пользователь отклоняется и переходит на следующий уровень модели аутентификации.
Уровень классификации. На этом уровне определяется набор классифицируемых признаков наборных характеристик пользователей в составлении априорного словаря классов. Основное в данной задаче – выбор надлежащего принципа классификации этих характеристик. Последнее определяется требованиями, предъявляемыми к системе распознавания, которые, в свою очередь, зависят от того, какие решения могут приниматься системой управления по результатам распознавания неизвестных характеристик клавиатурного почерка. Далее, на примере работы [19], осуществляем определение параметров классов путем разбиения характеристик почерка на классы L1, …, Lm. Требуется выделить в пространстве наборных характеристик области Si, i = 1, …, m, эквивалентные классам, то есть, если характеристика клавиатурного почерка, имеющая параметры x01, …, x0N, относится к классу Li, то представляющее его в пространстве наборных характеристик значение принадлежит области Si. Пример разбиения классов для представленной задачи показан на рисунке 2.
Таким образом можно определить решающую границу между областями Si, соответствующими классам Li.
На рисунке 2 показано разбиение двумерного пространства наборных характеристик клавиатурного почерка на области S1, S2, соответствующие классам L1, L2.
В области S1 находятся параметры клавиа- турного почерка первого класса легальных пользователей, а в области S2 – параметры случайных, незарегистрированных пользователей, 1 – решающая граница.
Задав разделяющие функции, можно проверить выполнение условий.
Если F1(x1, x2) > F2(x1, x2), то параметры относятся к легальному пользователю системы, если F1(x1, x2) < F2(x1, x2), то текущий пользователь (проходящий процедуру идентификации) распознается как «чужой» и игнорируется системой.
Если пользователь распознался как «свой», происходит обновление параметров и S, со- храненных как эталонные значения, в соответ- ствии с рекуррентными отношениями вида:
, (4)
где – среднее значение параметров пользователя; N – количество наблюдений; xi – текущее значение параметров пользователя;
, (5)
где S – среднеквадратичное отклонение (обновленное).
Экспериментальная часть
Для проверки работоспособности трехуровневой модели проведены экспериментальные исследования и численно-параметрические расчеты. Для эксперимента была выбрана группа из шести пользователей промышленной автоматизированной системы управления, разработанной корпорацией «Галактика», владеющих десятипальцевым слепым набором слов на клавиатуре. Сначала было предложено войти на специально разработанный web-сайт, авторизоваться, в процессе чего формировались эталоны данных пользователей по результатам их работы на клавиатуре, при этом пользователи должны были указать свои Ф.И.О., направление профессиональной деятельности, должность. Затем они перенаправлялись на другую страницу, где ими осуществлялся ввод предложенных готовых текстов на экране. Эти тексты представляли собой некие заранее подготовленные предложения, неизвестные тестируемой группе.
Далее осуществлялся сбор введенных тестируемой группой текущих данных на сто- роне клиента из web-формы. Когда пользова- тель печатал символы на клавиатуре, программа-обработчик, разработанная на языке JavaScript, обрабатывала каждое нажатие и отпускание клавиш. Для этого использовались стандартные встроенные функции: Keydown – событие при нажатии клавиши и Keyup – событие при отпускании клавиши.
Код обработчика событий Keyup и Keydown выглядит следующим образом:
kinput.onkeydown = kinput.onkeyup = kinput.onkeypress = handle;
let lastTime = Date.now();
function handle(e) {
if (form.elements [e.type + 'Ignore'].checked) return;
let text = e.type + ' key=' + e.key + ’ code=’ + e.code+
(e.shiftKey ? ' shiftKey' : '') +
(e.ctrlKey ? ' ctrlKey' : '') +
(e.altKey ? ’ altKey' : '') +
(e.metaKey ? ' metaKey' : '') +
(e.repeat ? ' (repeat)' : '') + "\n";
if (area.value && Date.now() - lastTime > 250){
area.value += new Array(81).join('-') + '\n';
}
lastTime = Date.now();
area.value += text;
if (form.elements[e.type + 'Stop'].checked) {e.preventDefault();
}
При нажатии клавиши программа фиксировала первую временную метку, а при отпускании клавиши ставила вторую временную метку, после этого вычислялась разность времени между вторым и первым событиями, что и являлось временем удержания клавиши. Кроме этого, используя встроенные функции, программа определяла код нажатой клавиши и ее символьное обозначение. Затем JavaScript-функция отправляла код, имя, время задержки клавиши и временное значение отпускания клавиши на сервер, используя при этом AJAX-запрос для дальнейшей обработки этих данных.
На следующем этапе осуществлялся сбор данных на стороне сервера. Web-сервер был реализован на основе Apache HTTP Server 2.2 в локальной вычислительной сети на базе операционной системы Linux Mint. Обработка данных на сервере проходила на распространенном скриптовом языке PHP. При поступлении данных от пользователя на стороне сервера скрипт запрашивал БД для проверки, реализованной на MySQL, с целью определения, не были ли какие-либо предыдущие данные (нажатые клавиши) уже сохранены для текущего пользователя. Если данные уже были в базе, обработчик выбирал последние три и использовал их временные метки для расчета временных интервалов диад, триад и тетрад путем разности значений временных меток.
В процессе эксперимента статистические данные были разделены на данные для обработки и эталонные.
Был выбран параметр «время удержания клавиш пользователями», так как он наиболее информативный в рассматриваемом случае, хотя это утверждение может быть неверно при работе с большим объемом данных.
По результатам тестов для каждого пользователя были рассчитаны и выстроены стандартные девиации текущих и эталонных данных. Результаты для всех шести тестируемых пользователей представлены в таблице 3. Кроме этого, был рассчитан критерий c2 для каждого тестируемого пользователя. Из таблицы видно, что пользователь под номером 2 был аутентифицирован путем сравнения стандартных девиаций между его данными и эталоном, потому что разница в девиации была менее 3, что и явилось первым шагом в процессе аутентификации.
Таблица 3
Значение девиации и критерий хи-квадрат
Table 3
Deviation value and Chi-square criterion
Пользователь
|
Данные
|
Значения девиации (эталонные данные)
|
Значения девиации (измеренные)
|
Критерий Хи-квадрат
|
1
|
42
|
12
|
4.82
|
2
|
39
|
38
|
13.86
|
3
|
63
|
9
|
5.95
|
4
|
62
|
48
|
51.41
|
5
|
162
|
35
|
11.84
|
6
|
169
|
41
|
31.42
|
Пользователи № 1, 3 и 5 были аутентифицированы с использованием критерия c2, поскольку их значения критерия меньше, чем критическое значение 12.71, тогда с уверенностью в 97,5 % можно утверждать, что пользователи идентифицировались верно. Результаты расчетов показывают, что 50 % пользователей прошли проверку подлинности в процессе сравнения статистических значений параметров динамики нажатия клавиш. Но нужно иметь в виду, что предложенная модель будет совершенствоваться по мере обработки большего числа данных, так как полученные статистические значения для каждого пользователя будут более верными.
Первоначальной целью было убедиться в способности предложенной модели разграни- чить доступ для легитимных пользователей и нелегитимных, приспосабливаясь к незначительным изменениям параметров динамики нажатия клавиш, тем самым увеличивая точность аутентификации. В результате один из тестируемых пользователей был подвержен сравнению девиаций, в то время как другие три аутентифицированы с помощью критерия c2. Остальные пользователи не прошли процедуру аутентификации на всех уровнях системы, что может быть обусловлено недостаточным количеством идентификационных данных. В случае работы с большим набором идентификационных данных процент безуспешного распознавания будет сведен к минимуму.
Заключение
В работе представлен обзор решений в области аутентификации пользователей, предложена модель повышения точности аутентификации пользователей по динамике нажатия клавиш, приведены результаты экспериментального исследования.
Исследования показали, что половина данных были обработаны на статистическом уровне предложенной модели, которая по сравнению с некоторыми известными решениями является более точной в вычислительном отношении.
Проблемы с эффективностью можно оптимизировать при разработке больших систем, а простота алгоритмов и программной реализации разработанной модели позволит сэкономить вычислительную мощность в крупномасштабных системах. Применение критерия c2 явилось важным дополнением к статистическому сравнению из-за его способности исследовать статистические вариации, что и отразилось в исследованиях, где три тестируемых пользователя прошли процесс аутентификации после оценки критерия c2. В дальнейшем планируется создать метод, работающий на уровне логического сравнения с целью повышения точности. Он будет предназначен для создания усовершенствованного эталона, в котором учитывались бы особенности каждого пользователя, а также некоторые девиации, связанные с эмоциональными состояниями пользователей, что могло бы способствовать разработке систем непрерывной аутентификации пользователей с целью мониторинга их эмоционального состояния при работе на критических объек- тах.
Литература
1. Тесленко П.А., Барская И.С., Чумаченко Е.А. Проект создания автоматизированной системы управления контейнерным терминалом // Современные информационные и электронные технологии. 2013. Т. 1. № 14. С. 74–77.
2. Алферов В.П., Дровникова И.Г., Обухова Л.А., Рогозин Е.А. Вербальная модель управления слабо уязвимым процессом разграничения доступа пользователей к программным средствам системы электронного документооборота // Вестн. ДГТУ. 2019. Т. 46. № 2. С. 37–49.
3. Костюченко Е.Ю., Мещеряков Р.В. Распознавания пользователя по клавиатурному почерку на фиксированной парольной фразе в компьютерных системах // Изв. ЮФУ. 2003. № 4. С. 177–178.
4. Тумбинская М.В., Баянов Б.И., Рахимов Р.Ж., Кормильцев Н.В., Уваров А.Д. Aнализ и прогнозирование вредоносного сетевого трафика в облачных сервисах // Бизнес-информатика. 2019. № 1. С. 71–81. DOI: 10.17323/1998-0663.2019.1.71.81.
5. Sharipov R.R., Tumbinskaya M.V., Abzalov A.R. Analysis of users keyboard handwriting based on Gaussian reference signals. Proc. Intern. RusAutoConf., 2019. DOI: 10.1109/RUSAUTOCON.2019.8867753.
6. Шарипов Р.Р., Сафиуллин Н.З. Аппаратурный анализ клавиатурного почерка с использованием эталонных гауссовских сигналов // Вестн. КГТУ им. А.Н. Туполева. 2006. № 2. С. 21–23.
7. D’Lima N., Mittal J. Password authentication using keystroke biometrics. Proc. IEEE Intern. Conf. ICCICT, Mumbai, 2015, pp. 1–6.
8. Промышленные компании: векторы атак. URL: https://www.ptsecurity.com/ru-ru/research/ analytics/ics-attacks-2018/ (дата обращения: 15.11.2019).
9. Анализ уязвимостей компонентов АСУ ТП. URL: https://www.ptsecurity.com/ru-ru/research/ analytics/ics-vulnerabilities-2019/ (дата обращения: 15.11.2019).
10. Анализ уязвимостей компонентов АСУ ТП. URL: https://www.ptsecurity.com/ru-ru/research/ analytics/ics-vulnerabilities-2019/#3 (дата обращения: 15.11.2019).
11. Басыня E.A. Распределенная система сбора, обработки и анализа событий информационной безопасности сетевой инфраструктуры предприятия // Безопасность информационных технологий. 2018. Т. 25. № 4. С. 42–51.
12. Абзалов А.Р., Самигуллина Р.Р., Жиганов А.В. Аутентификация пользователей по динамике нажатий клавиш при использовании систем автоматического прокторинга // Прикладная информатика. 2019. Т. 14. № 6. С. 25–35.
13. Flior E., Kowalski K. Continuous biometric user authentication in online examinations. Proc. IEEE 7th Intern. Conf. Inform. Tech., 2010, pp. 488–492.
14. Peralta D., Triguero I., Garcia S., Herrera F., Benitez J.M. DPD-DFF: A dual phase distributed scheme with double fingerprint fusion for fast and accurate identification in large databases. Information Fusion, 2016, vol. 32, pp. 40–51. DOI: 10.1016/j.inffus.2016.03.002.
15. Nelasa A.V., Krischuk V.M. Using of the user identification methods on keyboard handwriting at digital signature shaping. Proc. 6th Intern. Conf., CADSM, 2001, pp. 239–240. DOI: 10.1109/CADSM.2001.975824.
16. Мухаматханов Р.М., Михайлов А.А., Баянов Б.И., Тумбинская М.В. Классификация DDos-атак на основе нейросетевой модели // Прикладная информатика. 2019. № 1. С. 96–103.
17. Самойлова Е.М. Построение экспертной системы поддержки принятия решения как интеллектуальной составляющей системы мониторинга технологического процесса // Вестн. ПНИПУ. 2016. Т. 18. № 2. С. 128–142.
18. Берман Г.Н. Сборник задач по курсу математического анализа. М.: Наука, 1977. 416 c.
19. Delattre M., Genon-Catalot V., Samson A. Mixtures of stochastic differential equations with random effects: application to data clustering. J. Stat. Plan. Inference, 2016, vol. 173, pp. 109–124.
References
- Teslenko P.A., Barskaya I.S., Chumachenko E.A. The project of creating an automated container terminal management system. Modern Information and Electronic Technologies, 2013, vol. 1, no. 14, pp. 74–77 (in Russ.).
- Alferov V.P., Drovnikova I.G., Obukhova L.A., Rogozin E.A. The verbal model of managing a weakly vulnerable process of delimiting user access to software tools of an electronic document management system. Bull. DSTU, 2019, vol. 46, no. 2, pp. 37–49 (in Russ.).
- Kostyuchenko E.Yu., Meshcheryakov R.V. User recognition by keyboard handwriting on a fixed passphrase in computer systems. News SFU, 2003, no. 4, pp. 177–178 (in Russ.).
- Tumbinskaya M.V., Bayanov B.I., Rakhimov R.Zh., Kormiltcev N.V., Uvarov A.D. Analysis and forecast of undesirable cloud services traffic. Business Informatics, 2019, no. 1, pp. 71–81 (in Russ.). DOI: 10.17323/1998-0663.2019.1.71.81.
- Sharipov R.R., Tumbinskaya M.V., Abzalov A.R. Analysis of users keyboard handwriting based on Gaussian reference signals. Proc. Intern. RusAutoConf., 2019. DOI: 10.1109/RUSAUTOCON.2019.8867753.
- Sharipov R.R., Safiullin N.Z. Hardware analysis of keyboard script by using the reference gaussian signals. Bull. KSTU, 2006, no. 2, pp. 21–23 (in Russ.).
- D’Lima N., Mittal J. Password authentication using keystroke biometrics. Proc. IEEE Intern. Conf. ICCICT, Mumbai, 2015, pp. 1–6.
- Industrial Companies: Attack Vectors. Available at: https://www.ptsecurity.com/ru-ru/research/
analytics/ics-attacks-2018/ (accessed November 15, 2019).
- Vulnerability Analysis of ICS Components. Available at: https://www.ptsecurity.com/ru-ru/research/
analytics/ics-vulnerabilities-2019/ (accessed November 30, 2019).
- Vulnerability Analysis of ICS Components. Available at: https://www.ptsecurity.com/ru-ru/research/
analytics/ics-vulnerabilities-2019/#3 (accessed November 15, 2019).
- Basynya E.A. Distributed system for the collection, processing and analysis of information security events network infrastructure of the enterprise. Information Technology Security, 2018, vol. 25, no. 4,
pp. 42–51 (in Russ.).
- Abzalov A.R., Samigullina R.R., Zhiganov A.V. Authentication of users by the dynamics of keystrokes when using automatic proctoring systems. Applied Informatics, 2019, vol. 14, no. 6, pp. 25–35 (in Russ.).
- Flior E., Kowalski K. Continuous biometric user authentication in online examinations. Proc. IEEE 7th Intern. Conf. Inform. Tech., 2010, pp. 488–492.
- Peralta D., Triguero I., Garcia S., Herrera F., Benitez J.M. DPD-DFF: A dual phase distributed scheme with double fingerprint fusion for fast and accurate identification in large databases. Information Fusion, 2016, vol. 32, pp. 40–51. DOI: 10.1016/j.inffus.2016.03.002.
- Nelasa A.V., Krischuk V.M. Using of the user identification methods on keyboard handwriting at digital signature shaping. Proc. 6th Intern. Conf., CADSM, 2001, pp. 239–240. DOI: 10.1109/CADSM.2001.975824.
- Mukhamatkhanov R.M., Mikhaylov A.A., Bayanov B.I., Tumbinskaya M.V. Classification of DDos attacks based on a neural network model. Applied Informatics, 2019, no. 1, pp. 96–103 (in Russ.).
- Samoylova E.M. Construction of an expert decision support system as an intellectual component of
a process monitoring system. Bull. PNRPU, 2016, vol. 18, no. 2, pp. 128–142 (in Russ.).
- Berman G.N. Collection of Tasks on the Course of Mathematical Analysis. Moscow, 1977, 416 p.
(in Russ.).
- Delattre M., Genon-Catalot V., Samson A. Mixtures of stochastic differential equations with random effects: application to data clustering. J. Stat. Plan. Inference, 2016, vol. 173, pp. 109–124.