
Пізній вересневий вечір 2023 року. Ви ліниво гортаєте eBay.. Серед звичайного мотлоху трапляється дивне обладнання - важкі промислові модулі. На платах є логотипи Siemens і AREVA.. Опис скупий, але професійно, ціна неймовірно доступна.
Перед вами компоненти системи Teleperm XS - цифрової платформи управління ядерними реакторами. Прямо зараз таке обладнання керує безпекою АЕС у всьому світі.
Незалежний security-дослідник Рубен Сантамарта двадцять років зламує все підряд - від супутникових терміналів до систем голосування. Побачивши ці лоти, він не зміг пройти повз. Купив компоненти та запитав себе: що буде, якщо зловмисник дістанеться до «мозків» реактора?
Сьогодні ми пройдемо його шлях та змоделюємо реалістичну кібератаку. Сценарій КіберТри-Майл-Айленд», Котрий, за розрахунками Сантамарти, за 49 хвилин призводить до розплавлення активної зони реактора.
Подорож у серце ядерного реактора починається.
АЕС як гігантський самовар
Щоб зрозуміти, як зламати ядерний реактор, спершу розберемося, Як це працює. Не будемо йти в нетрі нейтронної кінетики, вистачить базових принципів та кількох аналогій.
Три контури

по суті, водо-водяний ядерний реактор (PWR) - це неймовірно складний і дорогий кип'ятильник. Спрощено його конструкція зводиться до трьох контурів.
Перший контур - Серце реактора. Усередині міцного сталевого корпусу знаходяться паливні стрижні., зібрані з таблеток діоксиду урану. Тут триває ланцюгова реакція, та виділяється колосальна кількість тепла.
Вода проходить через активну зону та нагрівається до 330°C. Щоб не кипіла, її тримають під тиском 155 атмосфер. Ця вода радіоактивна і ніколи не залишає герметичну зону.
Другий контур вже містить пару. Гаряча радіоактивна вода з першого контуру проходить через парогенератор - гігантський теплообмінник. Усередині нього вона, не змішуючись, кип'ятить воду другого контуру. Пара, що вийшла, вже не радіоактивна. Саме він по трубах подається до машинного залу і обертає турбіну.. Турбіна крутить генератор, генератор дає струм. Але це ще не все.
Третій контур відповідає за охолодження. Відпрацьований пар потрібно сконденсувати назад у воду і відправити на нове коло. Для цього використовують воду з найближчого ставка, річки чи моря, яка проганяється через градирні.

Тепер, коли з пристроєм розібралися, перейдемо до фізики — тих нюансів та системи безпеки, які відрізняють реактор від атомної бомби.
Реактивність
Щоб машина їхала, потрібно тиснути на газ. У реакторі «газом» служать нейтрони. Їх кількість визначає коефіцієнт розмноження (). якщо
(негативна реактивність) - Уповільнюється, ми «гальмуємо». якщо
(критичність) реактор працює стабільно, як на круїз-контролі, виробляючи постійну потужність.
Проблема в тому, що майже всі нейтрони при розподілі народжуються миттєво. З ними все розвивається настільки швидко, що жодна система управління не встигає зреагувати. Однак близько 0,7% нейтронів - запізнювальні, вони з'являються із затримкою до кількох хвилин. Завдяки цій крихітній частині ми маємо час керувати реактором.
Але найцікавіше — реактор має вбудоване гальмо., або ефект Доплера. Чим гарячішим стає паливо, тим активніше уран-238 поглинає нейтрони, автоматично уповільнюючи реакцію. Це фундаментальний закон фізики, який неможливо відключити. по суті, це головний запобіжник, але на додаток до нього є ціла низка захисних інженерних рішень.
Захист ядерного реактора
Ешелонований захист реактора побудований за принципом середньовічного замку: рів, зовнішня стіна, внутрішня стіна, цитадель.
Перша лінія захисту - сама паливна таблетка, яка утримує більшість продуктів поділу. Друга - герметична оболонка паливного стрижня зі сплаву цирконію з оловом. Третя – міцний сталевий корпус реактора. Четверта - залізобетонна герметична оболонка (контейнмент) товщиною більше метра, здатна витримати падіння літака. П'ята лінія захисту - системи безпеки та оператори.
Проста ідея: відмова одного рівня не повинна призводити до катастрофи. Щоб сталося лихо, повинні впасти всі стіни замку одна за одною.
Гіпотетичного хакера тут найбільше цікавлять системи безпеки та оператори. Системи безпеки безперервно збирають телеметрію з тисяч датчиків та обробляють її в контролерах із закладеної логіки голосування. За найменшого відхилення від норми вони віддають команди виконавчим механізмам — заглушити реактор і запустити охолодження. Потім у роботу вступають оператори: вони повинні вручну виконати дії, передбачені регламентом, та довести установку до безпечного стану.
Отже, ми маємо справу з найскладнішим пристроєм, спроектованим так, щоб будь-який збій призводив до безпечної зупинки. Тепер розберемося, як працює платформа Teleperm XS.
Телеперм XS. Анатомія ядерних «мозків»

Отже, Рубен отримав посилку. Усередині - блискучий заводський модуль SVE2 (універсальний процесор) та SCP3 (комунікаційний модуль). Це ключові компоненти цифрової платформи Teleperm XS (TXT) від компанії Framatome - колишнього підрозділу Siemens, яке сьогодні постачає компоненти для десятків реакторів по всьому світу.
Як критично важливе обладнання ядерної інфраструктури, зняте з експлуатації, опинилося у вільному продажу на онлайн-аукціоні?
Найімовірніше, це наслідок згортання ядерної програми у Німеччині. Закриті АЕС списують обладнання, і частина його, минаючи офіційні процедури та канали утилізації, виринає на відкритому ринку.
Архітектура TXS побудована за модульним принципом.
- ВСУ (Підрозділ збору та обробки) збирають дані із сотень датчиків по всьому реактору: тиск у першому контурі, температуру, потік нейтронів в активній зоні. Їхнє завдання — оцифрувати реальний світ і передати інформацію далі по ланцюжку.
- ALU (Логічний блок активації) отримують дані від кількох APU та приймають рішення з урахуванням власної логіки голосування. наприклад, якщо два канали з чотирьох показують небезпечні значення, ALU дає команду виконавчим механізмам: скинути стрижні-поглиначі в активну зону або запустити насоси аварійного охолодження.
- MSI (Інтерфейс моніторингу та обслуговування) - Найбільш критичний елемент з точки зору безпеки. Це шлюз, де з одного боку – надсекретна мережа безпеки на промисловому протоколі Profibus, де живуть APU та ALU. З іншого — звичайна локальна мережа, де сидять інженери зі своїми робочими станціями.

- Вони є (Сервісний підрозділ) — це звичайний комп'ютер під керуванням SUSE Linux. З нього інженери проводять діагностику, змінюють установки (скажемо, поріг спрацьовування захисту тиску), тестують системи. Найголовніше - завантажують новий софт в APU та ALU. Service Unit - єдиний пристрій, якому MSI дозволяє двостороннє спілкування з мережею безпеки.
Процесори SVE2 встановлені у всіх логічних блоках (ВСУ, ALU, MSI). SCP3 – це додатковий комунікаційний модуль, який працює у парі з SVE2 для забезпечення зв'язку (через Ethernet у MSI, через Profibus в APU/ALU).

При вивченні цієї системи стає помітною її гібридна природа. З одного боку, TXS - кастомна розробка спеціально для АЕС. З іншого боку, в ній активно використовуються готові комерційні компоненти.. наприклад, для організації мережі застосовуються комутатори Hirschmann, а за виведення інформації на дисплеї операторів відповідає одноплатний комп'ютер від SBS Technologies.
Такий підхід розширює потенційну поверхню атаки.. Одна річ — намагатися зламати унікальну закриту систему, документації за якою немає у відкритому доступі. І зовсім інше — коли частина системи складається з найпоширеніших продуктів.
На них легко знайти документацію, про них можуть бути відомі вразливості. Головне — їх легко купити на тому самому eBay і спокійно досліджувати у домашній лабораторії..
Пошук дірок
Будь-який атакуючий буде щасливим захопити Service Unit, адже так можна дістатися свята святих — контролерів APU та ALU, які безпосередньо керують фізичними процесами в реакторі. Однак на шляху до цієї мети Рубен мав подолати кілька бар'єрів.
Проблема #1: Порожнє залізо
Рубен розпакував модулі SVE2 і SCP3, підключив програматор і приготувався здампити прошивки для реверс-інжинірингу, але на нього чекав сюрприз. На жаль (або на щастя для решти світу), пам'ять пристроїв була повністю порожня.

Вивчивши документацію, Сантамарта з'ясував, що програмне забезпечення заливається в контролери на заводі безпосередньо перед приймально-здавальними випробуваннями. Модулі з eBay, Мабуть, були з надлишкових складських запасів і ніколи не програмувалися.
Рубен змінив тактику. Якщо не можна розкрити «мозок», потрібно вивчити його «медичну картку» - офіційну документацію. Він почав копати у загальнодоступних звітах, ліцензійні угоди та технічні специфікації з сайту ядерного регулятора США (NRC).
З'ясувалося, що TXS використовує для перевірки цілісності та справжності прошивок просту контрольну суму CRC32. Проблема в тому, що CRC32 - це НЕ криптографічний захист. Це просто спосіб виявити випадкові помилки в даних, як перевірка парності.
Зловмисник може взяти стандартну прошивку, впровадити в неї шкідливий код і підігнати кілька байт у файлі так, щоб CRC32 залишився колишнім. Система прийме таку прошивку як справжню.
Але найголовніше - у документах знайшлася архітектурна вразливість, закладена у самому дизайні системи. Щоб зрозуміти її, потрібно поговорити про найболючіше питання будь-якої системи безпеки — про довіру.
Проблема #2: Захист за МАС-адресою
Другий бар'єр, який Сантамарта виявив у документації до американської АЕС Oconee, - фільтрація за MAC-адресою. MSI налаштований приймати команди тільки з однієї MAC-адреси - адреси легітимної SU. Будь-який інший комп'ютер у тій самій мережі просто ігнорується.
Однак для досвідченого хакера спуфінг (підміна MAC-адреси) не становить жодної складності. Такий бар'єр зупинить лише найледачіших і некомпетентних. Для серйозного угруповання хакерів це навіть не лежачий поліцейський — просто розмітка на асфальті. Але є ще одна перешкода – фізичний ключ.
Проблема #3: Ключ, який не ключ
І ось ми підійшли до найцікавішого. Ядерний регулятор США (NRC) - організація вкрай серйозна та консервативна. В одному із ключових керівних документів, відомому як Staff Position 10, регулятор висуває жорстку вимогу: Переведення систем безпеки в режим програмування або тестування має бути реалізовано апаратно.
Інженер повинен підійти до шафи з обладнанням, вставити фізичний ключ, повернути його - і цей поворот повиненфізично розірвати електричний ланцюг. Створити повітряний зазор між ALU та рештою світу.
Зробимо крок убік і подивимося на сумнозвісний шкідливість Trisis (він же Triton чи HatMan), який у 2017 році атакував нафтохімічний завод у Саудівській Аравії. Trisis був націлений на платформу промислової безпеки Triconex від Schneider Electric. Ця платформа, До речі, теж сертифікована NRC для американських АЕС - прямий аналог Teleperm XS.
У контролерах Triconex також був ключ для перемикання режимів («біг», «Програма», "СТІЙ"). Розслідування показало: становище ключа було просто програмним прапором. Жодного фізичного розриву ланцюга. Шкідливість Trisis, потрапивши до контролера, міг віддалено виконувати команди незалежно від положення ключа.
А як із цим справи у TXS? Дуже схоже. Вивчаючи стоси документів щодо ліцензування АЕС Oconee, Сантамарта знайшов спосіб обійти захист ключем.
Поворот ключа в шафі Teleperm XS не змінює режим роботи системи.. Він лише виставляє один біт (логічну одиницю) на платі дискретного введення. Цей біт у системній логіці називається "permissive" - дозвіл. Він сигналізує процесору: «Увага, зараз з тобою говоритиме Service Unit, йому можна довіряти».
Сама команда для зміни режиму (перехід у «Тест» чи «Діагностику») приходить пізніше через мережу, від того самого SU. Логіка процесора ALU/APU виконує просту перевірку: «Прийшла команда змінити режим. Дивимося на біт-дозвіл. Виставлений? Гаразд, виконуємо».
Таким чином, якщо шкідливість вже впроваджено в ALU або APU, він може повністю ігнорувати перевірку цього біта. Сигнал від ключа для нього не існує. А якщо шкідливість сидить на SU, йому достатньо дочекатися, коли інженер поверне ключ для планових робіт (калібрування датчиків), і в цей момент зробити свої брудні справи.
Ключ перетворюється на спусковий гачок.
Вікно можливостей
Тепер, коли ми знаємо як, залишилося питання - коли? В який момент атакуючий може заразити систему? У своєму дослідженні Сантамарта виділяє два сценарії.
Планове перевантаження палива
Раз на півтора-два роки реактор зупиняють на кілька тижнів для заміни частини ядерного палива — грандіозна подія. На станцію з'їжджаються до 2 тисяч додаткових працівників та підрядників з десятків компаній. Периметр безпеки розширюється, контроль слабшає.

У цій метушні набагато легше атакувати через інсайдера або скомпрометованого співробітника підрядника. Відкрити шафу з обладнанням, який зазвичай під строгим контролем, підключити заражений пристрій до Service Unit — у метушні, що панує навколо, це стає можливим.
Безперервне підключення
Регулятори та оператори АЕС досі сперечаються, чи повинен Service Unit бути підключений до мережі безпеки постійно. З одного боку, повна картина стану системи в реальному часі.. З іншого — безперервний вектор атаки.
На деяких сучасних АЕС (Фламанвіль 3 у Франції, Олкілуото 3 у Фінляндії) SU підключений постійно. Це означає, що атакуючому навіть не потрібно чекати перевантаження палива. Головне - знайти лазівку в локальну мережу.
Моделуємо катастрофу. «Кібер Трі-Майл-Айленд»
Картина склалася. У нас є ціль (Сервісний підрозділ), спосіб обійти першу лінію захисту (підробка MAC-адреси) та розуміння, як нейтралізувати головний козир - фізичний ключ, який виявився програмною імітацією.
Зберемо все разом і подивимося, як може виглядати реалістична кібератака на АЕС. Сантамарта називає цей сценарій не «Кібер-Чорнобиль», а "Кібер Трі-Майл-Айленд" - і це набагато точніше.
Чому саме така аналогія? Чорнобильська АЕС була реактором іншого типу (РБМК) з позитивним коефіцієнтом реактивності – при кипінні води він розганявся, а не гальмував.
Аварія на АЕС Три-Майл-Айленд у США 1979 році сталася на реакторі типу PWR, такому ж, як сучасні АЕС. Вона почалася з клапана, що відмовив, і втрати теплоносія.://embedd.srv.habr.com/iframe/68c96931af3a39ea32bc0b8b
Ідеальна мета
Сантамарта вибрав сценарій малої течі теплоносія (Невелика аварія з втратою охолоджуючої рідини, SLOCA) не випадково. Це оптимальна атака з кількох причин.
По-перше, подібне вже траплялося. Три-Майл-Айленд показав, що навіть невелика текти може призвести до розплаву активної зони, если системы безопасности работают неправильно. Це єдина серйозна аварія на сучасному PWR в історії - ідеальний «шаблон» для кібератаки.
По-друге, запобіжні клапани компенсатора тиску керуються цифровими системами., та відкриття клапанів можна виконати програмно. Така атака створює витік, яка спочатку виглядає як нормальна робота запобіжних клапанів.
Третій фактор – ідеальний таймінг. На відміну від миттєвих аварій, SLOCA розвивається досить повільно, щоб шкідливість встиг заблокувати системи аварійного реагування. При цьому досить швидко, щоб оператори не встигли повністю оцінити ситуацію та вжити правильних заходів.
Нарешті, спрацьовує психологічний фактор. Оператори звикли до спрацювання запобіжних клапанів – це нормальна захисна функція. Дорогоцінний час губиться на діагностику.

Крок 1: Зараження
Все починається під час планового перевантаження палива. Гіпотетичний зловмисник через скомпрометованого підрядника чи інсайдера отримує доступ до Service Unit. Під час регламентних робіт, коли інженер вставляє та повертає ключ, щоб змінити налаштування, Зловмисне програмне забезпечення використовує це «вікно довіри».
Зловмисне програмне забезпечення перезаписує мікропрограму на всіх контролерах ALU та APU, до яких може дотягнутися. Атака має бути тотальною, щоб обійти резервування. Крім того, він може скомпрометувати шлюз для маніпуляцій із даними на пультах операторів. Після цього все, що вам потрібно зробити, це чекати.
Крок 2: Ініціююча подія
Шкідливість, сидить у контролерах ALU, дає команду відкрити два з трьох запобіжних клапанів на компенсаторі тиску.
Компенсатор тиску - це, по суті, великий бак нагорі реактора, який створює парову «подушку», підтримуючи стабільний тиск у першому контурі.
Клапани відкриваються по команді та «застряють» у відкритому положенні. Починається витік теплоносія у вигляді пари з першого, самого радіоактивного контуру.
Крок 3: Блокування захисту
Тиск у системі починає падати, автоматика це бачить. Нормальна реакція системи безпеки – негайно запустити аварійне упорскування води, щоб компенсувати витік.
Але шкідливість у ALU блокує цю команду. Він бачить сигнал "низький тиск", бачить вимогу запустити насоси та просто ігнорує. Насоси мовчать.
Оператори дуже стурбовані, вони бачать відкриті клапани (цей сигнал йде апаратним каналом і його не підробити) і катастрофічно падає тиск. Вони намагаються самостійно запустити насоси високого тиску..
Тут у гру входить система пріоритетів PACS. Вона влаштована так, що команди від системи захисту (де сидить шкідливість) мають найвищий пріоритет над командами оператора. Будь-яка спроба закрити клапан або увімкнути насос тут же скасовується шкідливим впливом.. Система безпеки починає працювати проти своїх творців.
Симуляція у PCTran: 49 хвилин до аварії

Сантамарта прогнал этот сценарий в PCTran — профессиональном симуляторе аварий на АЭС, який використовують регулятори та оператори станцій по всьому світу. Результати виявилися лякаючими.
+69 секунд: Давление в первом контуре падает настолько, что реактор автоматически заглушается. Стержни-поглотители опускаются в активную зону, цепная реакция прекращается. Но топливо всё еще очень горячее и выделяет тепло от радиоактивного распада. Його потрібно охолоджувати.
+98 секунд: Пара, выходящий через открытые клапаны, разрывает мембраны в баке для сброса пара. Радіоактивна пара і вода починають заповнювати герметичну оболонку реактора.
+520 секунд (8-9 хвилин): Падіння тиску та висока температура у першому контурі створюють умови для кипіння води в активній зоні. Цей процес створює додаткову загрозу.
Вода в першому контурі містить борну кислоту - "рідкий" поглинач нейтронів. Оскільки борна кислота нелетюча, при кипінні утворюється чиста водяна пара, а концентрація бору в воді, що залишилася в реакторі, збільшується. Чиста пара йде з активної зони у верхні частини контуру - парогенератори. Там він охолоджується, конденсується і утворює скупчення чистої, деборованої води. Вони є бомбою сповільненої дії.

+1500 секунд (25 хвилин): Нагромадження деборованої води у першому контурі досягає критичних значень. Когда эта «чистая» вода вернется в активную зону, добавится положительная реактивность.
+3029 секунд (49 хвилин): Без аварийного охлаждения вода в реакторе продолжает выкипать. Нарешті, наступает критический момент: верхняя часть активной зоны оголяется. Позбавлені охолодження, топливные стержни начинают раскаляться с катастрофической скоростью — на сотни градусов в минуту. Це початок краху.
К этому моменту параллельно развившийся процесс борного разбавления превращает и без того критическую ситуацию в практически безвыходную.
Единственная надежда операторов остановить расплавление — это любой ценой подать в реактор воду. Однако в системе уже скопились «пробки» чистой, деборованої води. Спроба запустити насоси та відновити циркуляцію з високою ймовірністю призведе до того, що ця чиста вода буде впорснута в розпечену активну зону.
Це викликає реактивну аварію поверх теплогідравлічної: різкий стрибок потужності, який може призвести до прискорення руйнування паливних стрижнів.
Резюме наслідків: чотири D
Що ми маємо у сухому залишку після 49 хвилин симуляції? Сценарий «Кибер Три-Майл-Айленд» оставляет за собой шлейф из четырех разрушительных последствий:
- Катастрофа (Катастрофа). Хоча захисна оболонка (контейнмент) швидше за все витримає і прямого викиду радіації ззовні не буде, сам факт розплаву активної зони – вже аварія 5 рівня за шкалою INES («Аварія із широкими наслідками»). Для порівняння, Чорнобиль та Фукусіма — це 7 рівень.
- руйнування (Руйнування). Активна зона розплавлена, реактор знищено, відновленню не підлягає. Збитки обчислюються мільярдами доларів, а роботи з дезактивації займуть десятиліття.
- Порушення (Збій). Енергосистема країни втрачає потужне джерело генерації. Це може призвести до віялових відключень та економічного колапсу., особливо якщо атака проводилася взимку під час пікових навантажень.
- Обман (Обман). Атака може супроводжуватися зломом систем радіаційного контролю, рисуя фейковые пики на графиках. У поєднанні з реальною аварією на АЕС це посіє паніку та недовіру до влади, які не зможуть чітко пояснити те, що відбувається.
Холодний аналіз уразливостей
Важливо розуміти: описаний сценарій - це теоретична модель в ідеальних для атакуючого умовах. Насправді ймовірність успіху такої операції вкрай низька.
Для атаки все ж таки потрібно розуміння пристрою прошивок, які досліднику так і не дісталися.
Крім того, атакуючому довелося б подолати не лише цифрову, а й фізичний захист. У сучасних реакторах є низка пасивних систем безпеки, які спрацюють автоматично під дією законів фізики (наприклад, акумулятори високого тиску, впорскують воду при падінні тиску навіть без команди), а також апаратні блокування, які не контролюються ПЗ.
Проте, саме існування такої можливості наголошує на необхідності постійного вдосконалення заходів захисту навіть у такій надзахищеній галузі, як атомна енергетика.
Справа не в тому, що платформа Teleperm XS погана. Справа в тому, що вона, як будь-яка складна система, є продуктом своєї епохи та компромісів.
Використання простого CRC32 для перевірки цілісності та справжності прошивок у 2024 році - архаїзм, а історія з «ключом, який не ключ» — найяскравіший приклад того, як вимога регулятора, реалізоване формально, а не за духом, перетворюється на театр безпеки.
Уроки для нового покоління
Зараз на зміну гігантським АЕС приходять Малі Модульні Реактори (SMR). Вони дешевші, их можно строить быстрее и использовать в самых разных условиях — от питания удаленных городов до обеспечения энергией дата-центров.
Уроки, вилучені з таких досліджень, життєво важливо врахувати під час проектування цих реакторів. Ціна помилки тут надзвичайно висока. Такі люди, як Рубен Сантамарта, вказують на слабкі місця не для того, щоб посіяти страх, а щоб зробити систему сильнішою. Наше завдання – слухати їх дуже уважно. Тому що альтернатива — це коли про вразливість ми дізнаємось не з наукових статей, а зі зведень новин.
138 сторінок оригінального дослідженнядоступні для завантаження на сайті Рубена Сантамарти.
Відкрийте більше з VirusNet
Підпишіться, щоб отримувати найсвіжіші записи на вашу електронну пошту.