Нейронные сети на
страже индустриальной
кибербезопасности
Павел Филонов
digitalsubstation.ru
http://taneco.tatneft.ru/
Физика ПЛК Полнота Данные
Реальный
объект
Реальная Реальные Только
«хорошие»
примеры
Трудно
добывать
данные
Физика ПЛК Полнота Данные
Реальный
объект
Реальная Реальные Только
«хорошие»
примеры
Трудно
добывать
данные
Физика ПЛК Полнота Данные
Реальный
объект
Реальная Реальные Только
«хорошие»
примеры
Трудно
добывать
данные
Натурная
модель
Упрощенная Реальные Мало «плохих»
примеров
Долго
добывать
данные
Физика ПЛК Полнота Данные
Реальный
объект
Реальная Реальные Только
«хорошие»
примеры
Трудно
добывать
данные
Натурная
модель
Упрощенная Реальные Мало «плохих»
примеров
Долго
добывать
данные
Физика ПЛК Полнота Данные
Реальный
объект
Реальная Реальные Только
«хорошие»
примеры
Трудно
добывать
данные
Натурная
модель
Упрощенная Реальные Мало «плохих»
примеров
Долго
добывать
данные
Компьютерная
модель
Модельная Модельные Много
различных
примеров
Легко
добывать
данные
Многомерный временной ряд
Подходы к снаряду
Rules Based Systems
• Прозрачные
• Нужен эксперт
• Ловят только то, что знают
• Сложны в реализации
• Долгое внедрение
• Ложные срабатывания
Machine Learning
• Непрозрачные
• Нужны данные
• Могут поймать новые атаки
• Просты в реализации
• Быстрое внедрение*
• Ложные срабатывания*
Machine learning за 5 минут
Machine learning за 5 минут
Machine learning за 5 минут
Machine learning за 5 минут
Start
Segmen
tation
PCA
Feed
forward
networks
LSTM
Finish
Сигнал
ССегментация
Извлечение
признаков
𝑥11 ⋯ 𝑥1𝑚
⋮ ⋱ ⋮
𝑥 𝑛1 ⋯ 𝑥 𝑛𝑚
Сегменты
Матрица признаков
Кластеризация
Кластеры
Кодирование
цепочек
Последовательности
меток
Сегментация
• Достоинства
• Удобно визуализировать
• Можно легко трактовать
• Можно применять символьные методы
• Недостаки
• Трудоемкие онлайн-алгоритмы
• Сложно обобщить на многомерный случай
• Необходимо подбирать много параметров
• Неизвестное заранее число кластеров
Start
Segmen
tation
PCA
Feed
forward
networks
LSTM
Finish
Метод главных компонент (PCA)
Метод главных компонент
• Достоинства
• Быстрые алгоритмы обучения
• Эффективные онлайн-алгоритмы
• Хорошо укладывается в многомерный случай
• Недостатки
• Плохо подходит для случая нелинейных зависимостей
• Работает без памяти
• Непрозрачный
Start
Segmen
tation
PCA
Feed
forward
networks
LSTM
Finish
Заглянем в будущее
Заглянем в будущее
Input
Hidden
Output
Сети прямого распространения
• Достоинства
• Быстрые онлайн-алгоритмы вывода
• Хорошо справляются с многомерными данными
• Хорошо описывают нелинейные зависимости
• Недостатки
• Долгое время обучения
• Непрозрачность
• Необходимо подбирать размеры временного окна
Start
Segmen
tation
PCA
Feed
forward
networks
LSTM
Finish
Рекуррентные нейронные сети
Изображение: colah.github.io
Рекуррентные нейронные сети
Изображение : colah.github.io
Stacked LSTM
Реккурентные сети
• Достоинства
• «Бесконечная» память
• Эффективные онлайн-алгоритмы вывода
• Недостатки
• «Холодный» старт
• Очень доглое время обучения
• Непрозрачность
Die Hard X
черновик сценария
Заводик работает в штатном режиме
Заводик работает в штатном режиме
В системе завелся зловред
Что-то пошло не так!
Есть сигнал!
Оценка качества
Шеф, у нас проблемы В городе все спокойно
Осуществляется атака True Positive (TP) False Negative (FN)
Штатный режим False Positive (FP) True Negative (TN)
Точность (precision) 𝑃 =
𝑇𝑃
𝑇𝑃+𝐹𝑃
Полнота (recall) 𝑅 =
𝑇𝑃
𝑇𝑃+𝐹𝑁
Кручу-верчу
𝐹 = 2
𝑃 ∙ 𝑅
𝑃 + 𝑅
𝐹-мера:
Источники
1. Stuxnet: первые жертвы – blogpost
2. Будни немецких сталеваров – blogpost
3. E. Keogh, S. Chu, D. Hart, and M. Pazzani. Segmenting Time Series:
A Survey and Novel Approach – paper
4. L.H. Chiang, E.L. Russel, and R.D. Bratz. Fault Detection and
Diagnosis in Industrial Systems – eBook
5. E. Keogh, J. Lin, and A. Fu. HOT SAX: Finding the Most Unusual Time
Series Subsequence: Algorithms and Applications – paper
6. K. Koutroumbas, S. Theodoridis. Pattern Recognition - eBook
Источники
7. L. Huang, X. Ngueyn, M. Garofalakis, M. Jordan, A. Joseph, and N.
Taft. In-Network PCA and Anomaly Detection – paper
8. A. Lebedevich. Statistics for Monitoring: Anomaly Detection –
blogpost
9. К. В. Воронцов. Прогнозироваие временных рядов – slides, video
10. Neural Networks for Time Series Prediction – slides
11. P. Malhotra, A. Ramakrishnan, G. Anand, and L. Vig. LSTM-based
Encoder-Decoder for Multi-sensor Anomaly Detection – paper
12. P. Malhotra, L. Vig, G. Shroff, P. Agarwal. Long Short Term Memory
Networks for Anomaly Detection in Time Series - paper
Источники
13. A. Nanduri, L. Sherry. Anomaly detection in aircraft data using
recurrent neural networks (RNN) – paper
14. A. Karpathy. The unreasonable effectiveness of rcurrent neural
networks – blogpost
15. C. Olah. Understanding LSTM Networks – blogpost
16. J. Brownlee. Time Series Prediction with LSTM Recurrent Neural
Networks in Python with Keras – blogpost
17. S. Hochreiter, J. Schmidhuber. Long Short-Term Memory - paper
18. Y. Bengio, P. Simard, and P. Frasconi. Learning Long-Term
Dependencies with Gradient Descent is Difficult - paper
Спасибо за внимание!
email: Pavel.Filonov@Kaspersky.com
github: github.com/sdukshis
twitter: @filonovpv
А нам нужно GPU?
• Горизонт прогноза – 5 минут
• Количество каналов ~ 600
• Keras 1.1.0
• Theano 0.8.2
• CUDA 8RC
Спасибо команде Nvidia!

Нейронные сети на страже индустриальной кибербезопасности / Павел Филонов (Лаборатория Касперского)