Статті‎ > ‎

Основні загрози та напрями кібератак в системах АСКТП

опубліковано 25 груд. 2019 р., 04:36 Александр Пупена   [ оновлено 25 груд. 2019 р., 04:40 ]

    Для розуміння необхідності кіберзахисту та можливих наслідків від кіберзлочинів, варто розглянути основні загрози та напрями кібератак в системах АСКТП. 

Для початку зупинимося на самому означенні терміну «кібератака». Відповідно до Закону України «Про основні засади забезпечення кібербезпеки України» (від 5 жовтня 2017 року № 2163-VIII) кібератака – це спрямовані (навмисні) дії в кіберпросторі, які здійснюються за допомогою засобів електронних комунікацій (включаючи інформаційно-комунікаційні технології, програмні, програмно-апаратні засоби, інші технічні та технологічні засоби і обладнання) та спрямовані на досягнення однієї або сукупності таких цілей: порушення конфіденційності, цілісності, доступності електронних інформаційних ресурсів, що обробляються (передаються, зберігаються) в комунікаційних та/або технологічних системах, отримання несанкціонованого доступу до таких ресурсів; порушення безпеки, сталого, надійного та штатного режиму функціонування комунікаційних та/або технологічних систем; використання комунікаційної системи, її ресурсів та засобів електронних комунікацій для здійснення кібератак на інші об’єкти кіберзахисту.

    Кібератака в системах автоматизованого керування може бути спрямована як на АСКТП так і на СПАЗ (система протиаварійного захисту). Мета кібератаки - нанести шкоду одному з активів підприємства для знищення його, виконання ним неправильних дій, видачі ним невірних результатів, отримання з нього конфіденційної інформації, приведення до непрацездатності або уповільнення роботи. Для цього зловмисник може зробити як фізичні дії (крадіжка або знищення пристрою, відновлення даних зі списаного пристрою, вставлення пристрою для атаки, тощо) так і дії з комп’ютером (змінити вміст пам’яті, виконати несанкціоновані дії по керуванню, змінити інформацію що передається по мережі, прочитати інформацію яка може сприяти неправомірним діям).

    Для проникнення в цільову систему та проведення зловмисних дій можна поєднувати різні засоби. Цей процес може проходити через кілька етапів, наприклад:

  • етап розпізнавання: дослідження цільової системи, ідентифікація, вибір цілей та їх вразливості; цілі можуть бути технічними (сервери, PLC) або людськими (персонал компанії);
  • етап передачі зловмисного програмного забезпечення в цільову систему, зокрема:  електронною поштою, через шкідливий веб-сайт, переносний накопичувач або за допомогою вразливості в цільовій системі;
  • етап експлуатації: зловмисне програмне забезпечення приховано виконується в цільовій системі, шпигує або чекає команд від зловмисника; шкідливе ПЗ також може спробувати скопіювати себе на інші станції мережі.

    Атаки можуть проходити також в кілька стадій. Первинна атака може мати за мету проведення підготовчих засобів для наступної атаки іншого характеру. Це може проводитися до тих пір, поки зловмисник не досягне кінцевої мети, або його дії будуть виявлені і припинені.

Категорії шкідливого ПЗ.

    Зловмисники (особи або навіть цілі організації) можуть використовувати різні категорії шкідливого програмного забезпечення.  

Вірус - це шкідливе програмне забезпечення, яке встановлюється прихованим чином на комп’ютер чи обладнання та здатне копіюватися з одного комп'ютера на інший. Код вірусу є частиною іншого програмного забезпечення (носія), і коли воно запускається – вірус також виконується і може скопіювати себе як частину іншого файлу. Запуск зараженої програми може бути ініційований людиною або автоматично, наприклад якщо USB-накопичувачі виконують файл автозапуску. Хробак (worm) - це тип вірусу, який поширюється по мережі, часто використовуючи вразливість віддаленого виконання.

Троян – це програмне забезпечення, яке часто передається через вкладення в електронний лист та видається за доброякісне, але по факту встановлюється на машину та проводить певні приховані дії (шпигування, надсилання інформації користувача на піратський сервер і т.ін). Логічна бомба - це категорія зловмисного програмного забезпечення, яка встановлюється приховано, наприклад, через троян та запускає дії в певну дату, визначену хакерами. Руткіт - це шкідливе програмне забезпечення, яке встановлюється прихованим способом, метою якого є надання зловмиснику доступу привілейованого користувача, який таким чином має можливість виконувати всі дії в операційній системі. Шпигунське програмне забезпечення - це програмне забезпечення, яке шпигує за користувачами та записує їхню діяльність, наприклад, натискання клавіш (keylog), запис звуку та/або зображення.

Бекдор (Back doors) - це прихована особливість програмного забезпечення або операційної системи, яка найчастіше впроваджується на момент розробки та дозволяє отримати доступ до певних опцій або обходити звичайну процедуру аутентифікації. Ця функція при розробці може бути призначена як для благих цілей (наприклад для відновлення втрачених паролів) так і для незаконних (крадіжка даних).

Ботнет - це мережа машин, підключених до Інтернету, кожна з яких виконує «бот», тобто програмне забезпечення робота, відповідального за реагування на зовнішні команди або виконання попередньо означених дій. Бот поширюється одним із способів, згаданих вище, таких як віруси або електронні листи. Вони приховано встановлюються на цільових робочих станціях або пристроях і чекають замовлень. Це дає можливість створювати армії машин, оснащених шкідливим програмним забезпеченням. Ці зомбі-машини можуть бути комп’ютерами або іншими пристроями, що підключені до Інтернету, наприклад, камерами або засобами промислового Інтернету речей (IIoT), і використовуються для здійснення інших атак. Вони можуть надсилати спам або здійснювати розподілені атаки відмови в обслуговуванні (DDoS).

Програма-шантажист (Ransomware) - це тип зловмисного програмного забезпечення, яке перешкоджає або обмежує доступ користувачів до їх системи, блокуючи екран системи або файли користувачів. Для відновлення доступу необхідно виплатити викуп.

По відношенню до цільової системи, загрози кібератак можуть бути внутрішніми або зовнішніми. Внутрішні загрози базуються на наявності фізичного доступу зловмисника до цільової системи безпосередньо, або через внутрішню мережу. Це може бути, наприклад, працівник підприємства, або представник постачальника. У цьому випадку контрзаходи по суті є організаційними: обмежені права доступу, подвійна перевірка для адміністраторів, контроль прибуття та виїзду персоналу, тощо. Зовнішні загрози використовують інші вектори нападу, такі як Інтернет або соціальна інженерія. Шлях або засоби, що використовуються для доступу до цільової системи, називаються вектором атаки.

Атаки засобів.

Засоби (програмні та технічні) можуть бути атаковані через різні типи вразливостей. Атака переповнення буфера (Buffer overflow) намагається розмістити більше даних в області пам'яті, ніж вона може містити. Це може пошкодити інші змінні, заблокувати систему або, коли область даних перекривається з областю коду записати в стек виклик потрібної підпрограми і тим самим призвести до виконання шкідливого коду.

Атака грубою силою – це метод проб і помилок, який використовується деяким програмним забезпеченням для декодування зашифрованих даних, таких як паролі або ключі шифрування даних. Подібно до того, як злочинець може «зламати» сейф, випробувавши безліч можливих комбінацій, програма для взлому грубою силою проходить послідовно через всі можливі поєднання дозволених символів. Груба сила вважається безвідмовним підходом, хоч і займає тривалий час. Насправді програми, що виконують цей тип атаки, поєднують грубу силу та словниковий підхід: перш ніж систематично перевіряти всі комбінації, вони спочатку перевірять типові паролі, потім словникові слова, потім класичні варіанти наборів.

Атака нульового дня (zero day) – це атака, яка використовує вразливості, які не були виправлені або оприлюднені. Часто цей тип нападу включає атаки, спрямовані на вразливості, відомі широкій публіці, але ще не виправлені. Якщо ці вразливості виявлять хакери, вони можуть використовувати їх для встановлення атак, через фрагменти програм чи програми, які називаються експлойтами (exploits). Експлойти будуть зберігатися в таємниці якомога довше, їх можна продати на чорному ринку кіберзлочинності.

Атака сторонніми каналами - використовують витоки інформації, такі як час виконання, споживання електроенергії або електромагнітні витоки, що спостерігаються під час звичайного виконання криптографічного алгоритму для виведення секретної інформації, такої як ключі шифрування. Певним чином цей спосіб схожий на відкриття сейфа за допомогою стетоскопа.

Атаки WEB-серверів.

При Веб-доступі також можуть бути використані атаки з ін'єкцією SQL, при якій зловмисний код вставляється в рядки, які потім передаються екземпляру SQL-сервера для аналізу та виконання. Якщо на сервері не стоїть попередня обробка та фільтрація запитів, таким чином, наприклад, можна отримати перелік усіх користувачів.

Атака міжсайтових сценаріїв (XSS) - це тип атаки, при якому зловмисник вводить дані, такі як шкідливий сценарій (як правило Javascript), у контент (наприклад сторінку) із надійних веб-сайтів. Атаки на міжсайтові сценарії трапляються у випадках, коли ненадійному джерелу дозволено вводити власний код у веб-застосунок, і цей шкідливий код включається у динамічний вміст сторінки, що передається браузеру жертви. Так може відбуватися, наприклад, на форумах, якщо вміст, введений користувачами, не валідується. Включений сценарій може використовуватися для крадіжки ідентифікаційних даних або інформації з файлів cookies.

Для засобів АСКТП (ПЛК, засоби розподіленого вводу/виводу, тощо) також присутні особливі вектори атак. Наприклад, багато ПЛК різних виробників працюють на базі ОС VxWorks, яка має вразливості, що дозволяють через проблему неперевіреного переповнення цілих чисел дозволити користувачеві виконувати довільний код або зробити атаку DoS. Якщо ПЛК не передбачає захист програми користувача від змін (наприклад по паролю, або спеціальному фізичному ключі), це надає можливість вставляти зловмисне програмне забезпечення в цільову програму, що може виконувати шкідливі дії або навіть створювати DoS. Існують експерименти, в яких в ПЛК був прописаний хробак, який поширювався по промисловій мережі на інші ПЛК. Інший тип атаки стосується класичного OPC DA, що базується на COM/DCOM. OPC дозволяє зловмиснику перелічити властивості системи або використовувати вразливості шляхом переповнення буфера. Протокол OPC був замінений стандартом OPC UA, який є набагато безпечнішим.

Мережні атаки.

Принцип атаки людини посередині мережі (атаки МіМ або MitM) полягає в передачі зв'язку між двома станціями через проміжний вузол зловмисника без відома цих станцій. Це можна зробити за допомогою різних методик:

  • зараження кешу ARP: коли обидві робочі станції знаходяться в одній локальній мережі, то зловмисник може поставивши "комутатор пакетів" (маршрутизатор, шлюз) і змусити усі мережні пакети пройти через його комп'ютер; так він зможе передивитися або навіть підмінити зміст пакетів;
  • DNS-Spoofing: якщо для зв’язку використовується імена вузлів (наприклад, www.scada1.com), зловмисник може змінити адресу DNS-серверів на свою, щоб перенаправити усі пакети через потрібний вузол;
  • перенаправлення ICMP: з допомогою ICMP зловмисник може надіслати роутеру підроблене повідомлення, щоб перенаправити потік даних жертви на його власну машину (тому ця опція повинна бути заблокована в маршрутизаторах).

DoS-атака (Denial of service, відмова в обслуговуванні) – це атака, призначена для виведення системи чи служби з нормального режиму роботи. Вона може використовувати відому вразливість у конкретному додатку чи операційній системі або використовувати певні вразливості в конкретних протоколах або сервісах. Під час DoS-атаки зловмисник намагається не допустити доступу авторизованих користувачів до конкретної інформації, або до комп'ютерної системи чи самої мережі. Це може бути досягнуто шляхом несподіваного вимкнення (наприклад, через переповнення буфера) або затопити службу мережними запитами (наприклад ботнетом). Атака DoS також може використовуватися разом з іншими діями для отримання несанкціонованого доступу до комп'ютера за допомогою атаки MitM. У контексті АСКТП, DoS-атака системи, що відповідальна за керування фізичним устаткованням, може мати серйозні наслідки. Якщо атакованою системою є СПАЗ – можуть постраждати люди або навколишнє середовище. DoS-атака, що проводиться мережею комп'ютерів або підключених об'єктів, називається DDoS атакою (Distributed DoS). Атаки DoS/DDoS можуть бути проведені наприклад з використанням вразливості SYN-затоплення, коли створюється багато напіввідкритих TCP -з’єднань, що унеможливлює або ускладнює створення нових підключень.

Якщо засоби використовують стек TCP/IP вони можуть очікувати вхідних повідомлень по одному з портів TCP або UDP. Так, наприклад, порт 21 використовується для зв'язку FTP, порт 80 для веб-сервера, 102 для ISO-TSAP (для S7 протоколу), а 502 – для Modbus. Якщо контроль та керування доступом до цих портів не проводиться, це може надавати зловмиснику багато можливостей для несанкціонований дій.  Під час спроби вторгнення, сканування портів дозволяє зловмиснику дізнатися, чи існує пристрій за адресою, а потім визначити його функціональні можливості та вразливості. Це може включати такі етапи:

  • перевірка активність хоста;
  • перевірка, чи знаходиться хост за брандмауером;
  • виявлення ОС або типу обладнання;
  • сканування доступних портів;
  • пошук вразливості.

Спроба вторгнення виконується шляхом тестування відомих вразливостей на ідентифікованих портах. Наприклад, для порту 80, який використовується для веб-сайтів, автоматичне програмне забезпечення надсилає запити для спроб ін'єкцій SQL, атак міжсайтових сценаріїв або спроб переповнення буфера. Для порту 22, який використовується SSH, спроби з'єднання можуть бути здійснені грубою силою. У Інтернеті можна знайти велику кількість утиліт для сканування мережі. Наприклад програмне забезпечення nmap дозволяє "сканувати" комп'ютерну мережу та відкриває порти. Утиліта PLCSCAN дозволяє виявляти ПЛК, наявні в мережі. Виявлення активності сканування портів є важливим захисним процесом виявлення спроби нападу і може попередити інцидент.

Атака повторного відтворення (Replay attack) - це атака, яка передбачає перехоплення пакетів з мережі, (наприклад, за допомогою механізму MiM), а потім використання їх для повторного пересилання  одержувачу. При цьому пакети обов’язково інтерпретувати чи розшифровувати. Наприклад, відправник може надіслати зашифроване ім’я та пароль, щоб ідентифікувати себе, після чого зловмисник повторно використовуючи ту саму послідовність, може отримати права відправника. Атака такого типу можлива проти певних типів вразливих ПЛК: зловмисник, що має доступ до мережі керування процесом, може вкрасти номери сеансу та додати довільні команди, щоб зупинити або перезапустити ПЛК.

Фізичні атаки.

Якщо зловмисник може отримати фізичний доступ до цілі, можлива низка додаткових атак. По-перше, зловмисник може просто знищити або пошкодити пристрої. Крім того, він може:

  • підключити пристрої для шпигування даних (включаючи крадіжку паролів), таких як кейлогер, який підключається до кабелю клавіатури та фіксує всі записи користувачів, або через порт тестування JTAG;
  • вкрасти картки пам'яті для копіювання або заміни;
  • вкрасти пристрої для здійснення зворотної інженерії та, можливо, виявлення вразливих місць, які можна використовувати віддалено;
  • використовувати існуючу клавіатуру або мишу пристрою, щоб спробувати змінити щось, або екран, щоб вкрасти необхідну інформацію.

Фізична атака може також бути здійснена на викинутому обладнанні з метою викрадення даних або паролів.

Атаки з використанням людського фактору.

Однією з найслабших ланок безпеки ІТ-системи є людський фактор. Окрім ненавмисних (необережності) чи навмисних (свідоме недотримання правил) людських помилок, користувач може стати жертвою так званих методів соціальної інженерії. Ці методи ґрунтуються на брехні, хибному представленні, шантажі чи жадібності. Наприклад, зловмисник може зв’язатися з системним адміністратором і прикинутися авторизованим користувачем, попросивши отримати новий пароль. Ще одна загальна стратегія – представити себе членом персоналу постачальника, якому потрібен тимчасовий доступ для проведення аварійного обслуговування.

Ці методи також значною мірою покладаються на фішинг-афери, які мають на меті зловживати "наївністю" користувачів для отримання своїх облікових даних. Фішинг — один з різновидів соціальної інженерії, заснований на незнанні користувачами основ мережної безпеки. Зокрема, багато хто не знає простого факту: сервіси не розсилають листів з проханнями повідомити свої облікові дані, пароль та інше. Існує два типи фішингу: масовий (mass phishing) – використання загальних електронних листів а також цільовий (Spear phishing) – який проводиться після дослідження цілі та компанії. Виявлення останнього може бути набагато складнішим. Атака подібного плану може включати в себе наступні етапи:

  • отримання жертвою електронного листа з використанням логотипу та кольорів компанії, яка надає якісь послуги (наприклад постачальника або виробника);
  • запит до жертви на виконання такої операції, як оновлення персональних даних або підтвердження пароля;
  • підключення жертви до підробленого підконтрольного зловмиснику сайту;
  • відновлення зловмисником логіну/паролів (або будь-яких інших конфіденційних даних), введених жертвою на підроблений сайт.
Іншим типом людського фактору є внутрішнє шахрайство – коли уповноважений користувач свідомо використовує свій доступ з метою шкоди безпеці організації, в якій він працює. Користувачем може бути працівник, консультант або субпідрядник. Його слід відрізняти від користувача, який надає свої дані для доступу через необережність, або через те, що він був введений в оману. Існують різні категорії шахраїв: випадковий шахрай, повторний шахрай, особа, яку навмисно наймають на здійснення шахрайства та групового шахрайства.

За матеріалами посбіника Jean-Marie Flaus. Cybersecurity of Industrial Systems. 2019
Переклад та адаптація Олександра Пупени

Рекомендуємо також прочитати Міфи про кібербезпеку систем керування.
Comments