Шпигун в кожному процесорі

Intel_chipset_img

Літопис обчислювальної техніки знає кілька історій особливого, парадоксального, властивості: розповідаються вони людьми, не вірити яким не можна, але і повірити в те, що розповідають, неможливо або дуже важко! Найбільш пам’ятний приклад останніх років – вірус badBIOS ,нібито здатний проникати на комп’ютер через уразливості в мікроконтролерах USB, що ховається в BIOS і змушує машину «говорити» ультразвуком. Чотири роки тому, коли ці деталі були розголошені, мало хто в них вірив , проте з тих пір багато чого підтвердилося – зокрема, ультразвуковий airgap і «дірки» в USB …


Connectify – Wi-Fi без роутера


Що ж, сьогодні в центрі уваги нова подібна історія.
Суть: вмонтований прямо в центральні процесори Intel «чорний хід», причому вмонтований ними (Intel) ж! Історія ця настільки складна і насичена деталями, що без деяких спрощень не обійтися.Тому сприймайте викладене нижче як спробу намалювати загальну картину – і знайте, що при бажанні ви легко зможете піти звідси набагато глибше: результати досліджень публічні, найчастіше містять open source-код, а широкому загалу невідомі головним чином тому, що їх не стільки важко зрозуміти , скільки важко в них повірити!

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

Intel_ tayemnyy_mikrokontroler

Intel ME захований в чіпі PCH, через який ведеться все спілкування центрального мікропроцесора з зовнішніми пристроями

Цей мікрокомп’ютер в процесорі називається The Intel Management Engine або просто Intel ME. Довгий час він будувався на RISC-ядрі ARC, але на цей момент має звичайну систему команд x86.У нього власна операційна система (зараз це модифікований варіант знаменитої MINIX – недосконалість якої колись підштовхнуло Лінуса Торвальдса до написання своєї ОС). У нього є своя постійна та оперативна пам’ять. Але головне – безпрецедентний доступ до всіх вузлів і даними «великого» комп’ютера, всередині якого він ховається: він бачить і може все, а ось CPU «великого» комп’ютера над ним влада не має! Більше того, робота Intel ME невидима для CPU – і, наприклад, отримувати і відправляти дані в інтернет Intel ME може непомітно для будь-яких програм, що працюють на комп’ютері. Нарешті, він активний навіть тоді, коли «великий» комп’ютер вимкнений (але материнська плата запитана черговим напругою).

Навіщо все це знадобилося? Офіційне призначення Intel ME: підготовка до запуску і запуск CPU, в тому числі по сигналу з інтернету, а також дистанційне керування комп’ютером згодом. У корпоративній мережі це може бути дуже корисним: адміністратор завжди має віддалений доступ до машин, але при цьому, завдяки розташуванню всередині CPU, захищеність Intel ME настільки висока, що зламати його нібито зовсім неможливо, що вигідно відрізняє його від звичайних додатків і пристроїв аналогічного призначення.

Ззовні Intel ME доступний, зокрема, через власний веб-сервер на портах з номерами 16992-16995. Можете спробувати заради інтересу «постукати» на свою машину (введіть в адресному рядку браузера 127.0.0.1:16992): активований веб-сервер Intel ME, правда, не скрізь (найчастіше на комп’ютерах, що продаються з позначкою vPro), але встановлюється в усі десктопні, ноутбучні і серверні системи і процесори ось уже більше десяти років.

І виходить, що на кожному комп’ютері з интеловским чіпсетом сьогодні працює таємний спостерігач, ні проконтролювати якого, ні вплинути на, ні навіть зрозуміти до кінця користувачі не в змозі! Гірше того, є побоювання, що його особливостями і слабкостями можуть користуватися іноземні спецслужби і зловмисники (останнє вже траплялося – двічі!). Звідси логічне запитання: а чи не можна його відключити?

Коротка відповідь: ні. Але, на щастя, є нюанси.

kremniyevi_netri_ Intel_CoreДесь тут, в кремнієвих нетрях, і причаїлася невидима загроза. Intel Core, 4-е покоління.

Теоретично, раз Intel ME сам по собі комп’ютер, то у нього є програмне забезпечення, яке можна видалити, модифікувати або принаймні зрозуміти. На жаль, практично це ускладнено до межі. Запускається Intel ME загрузчиком, прошитим всередині нього самого – тобто в постійній (незмінної) пам’яті, захованої десь в нетрях кристала центрального процесора. Завдання цього завантажувача – вважати, перевірити криптопідпис і розпакувати основне ПО для Intel ME, що зберігається вже в звичайному флеш-чіпі BIOS, але в тій його частині, яка для CPU не завжди доступна. Ось чому навіть для того, щоб прочитати прошивку Intel ME на конкретному комп’ютері, можливо, доведеться використовувати зовнішнє допоміжне обладнання. Чи не легше і розбиратися в ній, бо ніякої офіційної документації, природно, немає.

А вже підсунути Intel ME свою прошивку і зовсім неможливо: потрібно підписати її стійким криптоключа, який є тільки у Intel. В іншому випадку, «відчувши підступ», Intel ME через півгодини погасить CPU «великого» комп’ютера. Обійтися зовсім без Intel ME теж не можна: це все одно що стартер для CPU!

І тут важливо розуміти напрям думки тих ентузіастів, які ось уже років п’ять б’ються над дешифруванням і модифікацією Intel ME . Міркують вони в такий спосіб: “Раз вже така «закладка» в комп’ютері є, необхідно зрозуміти, що вона робить. І раз обійтися без неї неможливо, потрібно спробувати замінити її прошивку на вільну (тобто розвивається на принципах open source), або хоча б відключити максимум функцій”.

Перепрошивати процесор – не чисте, не найпростіше, а на додачу ще й вельми ризиковане заняття …

Замінити цілком, наскільки я розумію, на жаль, не вдалося. А ось з частковим відключенням справа рухається. Суть: виявилося, що можна (начебто без наслідків) видалити практично всі модулі прошивки Intel ME, залишивши лише необхідний для ініціалізації CPU мінімум. Для цього написані відповідні експериментальні open source-утиліти і керівництва. (Утиліта CloneApp – резервні копії встановлених програм з усіма їх налаштуваннями)

Тим часом зловмисники теж не дрімають. Як мінімум один комп’ютерний вірус вже навчився використовувати Intel ME для невидимого обміну даними через інтернет (ніякі антивіруси і мережеві фільтри, що працюють на головному CPU, ці пакети не бачать). І не далі як цієї весни виявлена ​​помилка в механізмі авторизації вбудованого веб-сервера Intel ME (приймається порожній пароль). Діру Intel залатати, але де гарантії, що конкретно на вашому комп’ютері ця оновлена ​​версія прошивки встановлена? Або що в Intel ME немає інших слабких місць?

Вдалось “намацати” біт, що виключає Intel ME відразу після ініціалізації CPU. Цікаво, що судячи з назви біта (High Assurance Platform), Intel ввела його на прохання АНБ: цій спецслужбі, природно, мати бекдор в власних комп’ютерах ні до чого. На жаль, не факт, що біт-вимикач залишиться і в наступних версіях Intel ME, або не буде якимось чином модифікований.

Так що ж робити? Міняти платформу Intel на AMD? На жаль, в процесорах останньої є в точності такий же «чорний хід» – як мінімум останні чотири роки (AMD Platform Security Processor). Його апаратне виконання відрізняється від интеловского, але функціонально це практично аналогічне рішення. Гірше того, відомо про нього поки навіть менше, ніж про Intel ME. Тому залишаються три варіанти.

Перший: користуватися комп’ютерами на чіпсетах Intel або AMD відповідно до 2006 і 2013-го років випуску. Другий: силами зовнішнього файрволу (обов’язково зовнішнього!) Перекрити входи і виходи на портах 16992-16995 включно, а також порт 5900. Третій: відмовитися від мейнстрімових архітектур зовсім, піти на альтернативні (ARM і MIPS насамперед). Правда, доведеться одночасно переучуватися на Linux, яка одна тільки підтримує все різноманіття сучасних мікропроцесорів.

Лізти в процесор знавці настійно не рекомендують: вивчення Intel ME і її аналога від AMD ведеться «наосліп», а деякі настройки в CPU можна виставити лише одного разу (сплавні перемички). Тому завжди є ризик отримати «цеглину» …

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *