
Команда Лабораторії комп’ютерних наук та штучного інтелекту Массачусетського технологічного інституту (CSAIL MIT) оголосила про успішну розробку інноваційного ядра операційної системи під назвою Fractal. Ця система створена з нуля спеціально для дослідження внутрішніх процесів сучасних чипів і вже допомогла виявити невідомі раніше прогалини у безпеці процесорів Apple Silicon.
Щоб дізнатись останні новини, слідкуйте за нашим каналом Google News онлайн або через застосунок.
Керівник проєкту, аспірант MIT Джозеф Равічандран, порівнює Fractal із електронним мікроскопом для світу операційних систем. За його словами, якщо стандартні методи тестування схожі на ручну лупу, яка дає лише обмежений огляд, то нова розробка дозволяє науковцям побачити достеменну картину роботи апаратного забезпечення.
Читайте також: AERONAUT – про все, що літає вище землі: авіація, БПЛА та дрони, ракети та космос
До цього часу фахівці з кібербезпеки були змушені аналізувати процесорні загрози (такі як Spectre або Meltdown) на базі macOS або Linux, власноруч модифікуючи ядро. Такий підхід є нестабільним, а на платформах Apple невдовзі взагалі буде заблокований. Fractal повністю розв’язує цю проблему, працюючи безпосередньо з «голим залізом» і усуваючи будь-який програмний шум. Під час перших випробувань системи на чипі Apple M1 дослідники вже знайшли перші докази того, що архітектура Apple схильна до небезпечних спекулятивних атак класу Phantom.

За словами Равічандрана команда змушує апаратну частину функціонувати у непередбачених розробниками режимах. Він підкреслює, що сама можливість реалізації таких примітивів на цьому залізі не була очевидною, проте команді вдалося знайти рішення. Дослідник знову порівнює Fractal з електронним мікроскопом, який, на відміну від простої лупи, забезпечує кардинально вищий рівень деталізації в індустрії операційних систем.
Fractal виконує функцію своєрідної стерильної лабораторії для вивчення мікросхем, усуваючи базову проблему, з якою науковці боролися роками. Справа в тому, що сучасні чипи зберігають свій стан у численних внутрішніх компонентах: буферах прогнозування розгалужень, кеш-пам’яті, буферах асоціативної трансляції (TLB) тощо. Для відстеження поведінки цих структур на межі між користувацьким кодом і кодом ядра – двома зонами, які процесор має суворо ізолювати, – необхідно здійснювати ідентичні тести по обидва боки цього бар’єру. На базі стандартних операційних систем загального призначення це надзвичайно складно, оскільки система самостійно контролює рівні привілеїв, розподіляє адресні простори, керує плануванням процесів і вносить власні викривлення у кожне вимірювання.
Розробка Fractal повністю перевертає цю схему. Вона завантажується безпосередньо на апаратному забезпеченні без участі стороннього софту та надає інструменти, які дозволяють у межах одного тесту перемикати рівні доступу просто під час виконання, зберігаючи ті самі інструкції та єдиний адресний простір. Фахівці назвали цей метод багаторівневою конкурентністю привілеїв. Він базується на впровадженні нового елемента – зовнішнього потоку ядра, який розташовується в пам’яті користувацького процесу, але виконується з найвищими системними правами.
Завдяки цьому вдалося створити тестове середовище, майже повністю очищене від фонового шуму. Якщо у macOS чи Linux результати замірів викривляються через переривання, роботу планувальника завдань та керування адресним простором, то Fractal гарантує стабільні базові показники та чіткі сигнали.

За допомогою своєї розробки команда MIT перевірила процесор M1 і зробила кілька відкриттів. Цей чип від Apple реалізує специфікацію ARM під назвою CSV2, завдання якої – заважати коду з одного рівня привілеїв керувати спекулятивними обчисленнями на іншому рівні. Тести у Fractal підтвердили ефективність цього захисту на етапі виконання для непрямого прогнозування розгалужень: програма у користувацькому режимі не здатна змусити ядро спекулятивно виконати потрібну зловмиснику дію через цей блок.
Проте дослідники зафіксували й інший ефект, який навряд чи планували архітектори чипа. Процесор все одно встигає завантажити цільову інструкцію в кеш-пам’ять до моменту спрацьовування захисних обмежень. Цей процес можна відстежити через побічні канали, а отже, користувацький код зберігає здатність впливати на те, які саме дані ядро затягує у свій кеш через бар’єр привілеїв. Аналогічну поведінку зафіксували й між окремими процесами, що мають різні ідентифікатори адресного простору.
Крім того, розробники надали перші докази наявності в Apple Silicon вразливості до спекуляцій типу Phantom. Раніше цей клас помилкових передбачень демонстрували лише на чипах від AMD та Intel. Суть аномалії полягає в тому, що звичайні команди, включно з порожніми операціями (no-op), помилково сприймаються процесором як команди розгалуження, що запускає незаплановані програмою спекулятивні процеси. Тести на M1 в операційній системі Fractal засвідчили, що викликані Phantom завантаження успішно відбуваються крізь рівні привілеїв та адресні простори, хоча сама фаза безпосереднього виконання залишається заблокованою.
Інший експеримент у Fractal спростував висновки попередніх досліджень щодо роботи блоку прогнозування умовних розгалужень у M1. Раніше стверджувалося, що тренування цього блоку між різними рівнями привілеїв працює на продуктивних ядрах Apple, але не діє на енергоефективних. Команда Fractal довела, що цей блок взагалі не має ізоляції привілеїв на жодному з типів ядер, а попередній помилковий висновок з’явився через те, що macOS непомітно перекидала потоки між ядрами під час системних викликів.
Джозеф Равічандран підкреслив, що для них рівень привілеїв став абсолютно незалежною змінною. За його словами, коли змінюється лише цей параметр і нічого більше, успіх чи провал атаки можна пояснити виключно рівнем доступу.

Нова операційна система є повноцінним інструментом, а не одноразовим експериментальним рішенням. Fractal сумісна з архітектурами x86_64, ARM64, RISC-V і налічує понад 31 тисяч рядків коду. Створюючи її як універсальну інфраструктуру, автори додали звичні системні виклики POSIX, бібліотеку C, а також адаптували стандартні інструменти, серед яких текстовий редактор vim, комcompiler GCC та командна оболонка dash, щоб сторонні дослідники могли переносити свій тестовий код без зайвих перешкод.
Результати вивчення M1 автори проєкту передали підрозділу безпеки Apple. У відповідь інженери американської компанії також провели аналіз Fractal, що є доволі рідкісним випадком у практиці взаємодії.
Подальші плани розробників виходять далеко за межі поодиноких відкриттів. Джозеф Равічандран прагне, щоб Fractal зайняла у сфері мікроархітектурних досліджень таке ж місце, яке мають інструменти QEMU чи FFmpeg у своїх галузях, ставши спільною базою для всієї наукової спільноти. Він сподівається, що результати роботи колег стануть набагато надійнішими та точнішими завдяки мінімізації цифрового шуму, прозорості вимірювань і гарантії виконання тестів саме на потрібній системі та конкретному ядрі.
Немає коментарів:
Дописати коментар