
Влітку 2017 року на нафтопереробному заводі «Petro Rabigh» (що знаходиться в Саудівській Аравії) відбулися збої в системі протиаварійного захисту (ПАЗ).
Початок
У червні відключився один з контролерів ПАЗ. Оскільки системи «АСУ» / «SCADA» підтверджвали штатний режим роботи технологічного процесу, служба експлуатації вирішила, що причина збою –несправність самого контролера.
Його відключили і передали виробникові. Відповідно той, провівши ряд перевірок, не виявив нічого підозрілого. Було рекомендовано встановити контролер на місце.
Але в серпні збій повторився.
Цього разу вийшли з ладу вже кілька контролерів ПАЗ, що працювали в різних сегментах промислової мережі на різних виробничих установках.
Виробник устаткування і ІТ‑фахівці «Petro Rabigh» вирішили провести детальніший аналіз. Вони перевірили мережеве оточення, автоматизовані місця (АРМ) і сервери, які беруть участь в роботі системи.
Що ж показала ця перевірка? Виявили неавторизовані RDP‑з’єднання з інженерною станцією. От тепер стало очевидно: до розслідування треба залучати експертів з кібербезпеки.
Це була перша публічно описана атака шкідливого «Trisis» (чи «Triton»), спрямована саме на системи протиаварійного захисту. Стало зрозумілим, що такий вплив на систему можливий і що це може призвести до серйозної аварії…
Чому це так небезпечно?
Якби кіберзлочинцям вдалося змінити параметри блокувань контролера ПАЗ, вони могли б спровокувати викид отруйних газів або навіть їх детонацію. На щастя, нічого подібного не сталося і в результаті інциденту контролери просто відключилися, що викликало безпечну зупинку технологічного процесу. Але хто знає, що станеться наступного разу?
Як атакував «Trisis»?
«Trisis» – це шкідливе ПЗ, створене для впливу на контролери певного типу в системах ПАЗ. Відмінною особливістю є те, що «Trisis», використовуючи 0‑day уразливість у програмованому логічному контролері (ПЛК), може безпосередньо взаємодіяти з його пам’яттю, враховуючи запис і виконання свого коду.
Попередньо зловмисники мали проробити складний етап підготовки. Вони проникли в корпоративну ІТ‑інфраструктуру, щоб отримати доступ до промислової мережі.
Основні етапи атаки на АСУ ТП детально описує модель ICS Kill Chain, яка розібрана в роботі «The Industrial Control System Cyber Kill Chain». Сама атака складається з двох етапів.
Етап 1. Компрометація ІТ‑інфраструктури, проникнення в ізольовану інфраструктуру і закріплення в ній. (Здебільшого під час відомих атак на промислові мережі проникнення відбувається через корпоративну мережу, в якій зловмисники знаходять вузли з доступом. АЛЕ у випадку з «Trisis» це були АРМ інженери АСУ та інженери ПАЗ).
Етап 2. Дослідження промислової мережі, розробка і тестування спеціалізованого ВПЗ, спроба взаємодії з промисловим обладнанням. У кейсі з «Petro Rabigh» саме на цьому етапі вдалося виявити вторгнення хакерів, досліджувати ВПЗ і зупинити атаку.
Техніки та інструменти зловмисників
Їх умовно можна розділити на 3 групи:
- Загальні техніки і інструменти, що застосовуються для проникнення і розповсюдження всередині корпоративних мереж (це Mimikatz, PsExec, Webshell, Nmap і т.д.);
- Загальні техніки і спеціалізовані інструменти. Вони розроблені для того, щоб зменшити ймовірність детектування і блокування стандартними засобами захисту, наприклад, антивірусом (це SecHack, NetExec і цілий набір бекдор, зібраних на основі OpenSSH, CryptCat і інших бібліотек);
- Спеціалізоване ВПЗ для використання в системах ПАЗ, встановлених на цьому заводі (це «Trisis»).
Як захистити АСУ ТП?
Найперше: правильно проектувати підключення сегмента ПАЗ до мережі управління. Це, як мінімум, виконання сегментації і установка брандмауера для фільтрації трафіку між ПАЗ і АСУ ТП.
Також варто використовувати додаткові засоби захисту: системи виявлення вторгнень, контроль привілейованих користувачів тощо.
Кілька рекомендацій щодо виявлення аномальної активності і дій кіберзлочинців:
На міжмережевому екрані потрібно:
- контролювати всі мережеві з’єднання;
- контролювати версію прошивки і спроби оновлення програмного забезпечення;
- визначати спроби несанкціонованого доступ (наприклад, підбір логінів і паролів);
- визначати зміни конфігурації.
На всіх АРМ і серверах потрібно:
- скласти типовий профіль роботи системи, себто перечислити дозволені процеси і мережеві з’єднання;
- використовувати розширені можливості моніторингу подій на рівні операційної системи.
На рівні мережі рекомендується використовувати спеціалізовані системи виявлення вторгнень, які вміють розбирати трафік промислових протоколів. Також необхідно реалізувати наступне:
- спостерігати за скануванням мережі;
- відправляти команди на промислові контролери;
- використовувати нелегітимні або нетипові DNS‑сервери;
- аналізувати DNS-трафіку;
- використовувати нетипові мережеві протоколи (RDP, ssh, scp тощо)
І (нарешті) на рівні ПЛК потрібно:
- контролювати версії ПЗ і спроби оновлення;
- фіксувати помилки аутентифікації або успішні спроби в нетиповий час;
- контролювати запуск і зупинку додаткових сервісів на ПЛК (наприклад, FTP-протоколу);
- контролювати відправку нелегітимних команд на управління.