Як виявити та пом'якшити ескалацію вразливості привілеїв Intel в системі Linux (CVE-2017-5689)?


26

Згідно з повідомленням центру безпеки Intel від 1 травня 2017 року, в процесорах Intel існує критична вразливість, яка може дозволити зловмиснику отримати привілей (ескалацію привілеїв) за допомогою AMT, ISM та SBT.

Оскільки AMT має прямий доступ до мережевого обладнання комп'ютера, ця вразливість обладнання дозволить зловмиснику отримати доступ до будь-якої системи.

Існує посилення вразливості привілеїв у Intel® Active Management Technology (AMT), Intel® Standard Manageability (ISM) та версіях мікропрограмного забезпечення версій Intel® Small Business Technology версій 6.x, 7.x, 8.x 9.x, 10 .x, 11.0, 11.5 та 11.6, які можуть дозволити непривілейованому зловмиснику отримати контроль над функціями керування, що надаються цими продуктами. Ця вразливість не існує на споживчих ПК на базі Intel.

Intel випустила інструмент виявлення, доступний для Windows 7 та 10. Я використовую інформацію з dmidecode -t 4веб-сайту Intel і здійснюючи пошук на веб-сайті Intel, я виявив, що використовує мій процесор Intel® Active Management Technology (Intel® AMT) 8.0.

Порушені продукти:

Проблема спостерігається у версіях вбудованого програмного забезпечення Intel, керованих версіями 6.x, 7.x, 8.x 9.x, 10.x, 11.0, 11.5 та 11.6 для Intel® Active Technology Technology Management, Intel® Small Business Technology та Intel ® Стандартна керованість. Версії до 6 або після 11.6 не впливають.

Опис:

Непривілейований локальний зловмисник може надавати функції керування, отримуючи привілейовані мережеві або локальні системні привілеї на керованих SKU-кодах Intel: Intel® Active Management Technology (AMT), Intel® Standard Manageability (ISM) та Intel® Small Business Technology (SBT)

Як я можу легко виявити та пом'якшити ескалацію вразливості привілеїв Intel в системі Linux?


1
Справа ще більше ускладнюється, коли багато хто з нас використовують VM; для справжніх машин було б достатньо сканувати наявність сервісу на UDP 16992? +1
Rui F Ribeiro

2
Профілактичні кроки: використовуйте SPARC (я знаю, я знаю, не можливе рішення). Майте +1
Фокс

3
@Fox досить забавно, що процесор ME в процесорах Intel є SPARC сьогодні ;-).
Стівен Кітт

2
@StephenKitt Дійсно? Можливо, доведеться переосмислити свою позицію щодо чіпів Intel! Майже всі мої машини - PPC або SPARC, тому я маю визнати, що моя упередженість справжня
Fox

Відповіді:


18

Найясніший пост, який я бачив у цьому питанні, - це Меттью Гарретт (включаючи коментарі).

Зараз Метью випустив інструмент для локальної перевірки вашої системи: побудуйте її, запустіть її

sudo ./mei-amt-check

і він повідомить про те, чи увімкнено та передбачено використання AMT, і якщо він є, версії прошивки (див. нижче) README має більше деталей.

Щоб сканувати вашу мережу на предмет потенційно вразливих систем, скануйте порти 623, 624 та 16992 по 16993 (як описано у власному документі щодо пом'якшення наслідків ); наприклад

nmap -p16992,16993,16994,16995,623,664 192.168.1.0/24

сканує мережу 192.168.1 / 24 та повідомляє про стан усіх хостів, які відповідають. Можливість підключення до порту 623 може бути помилковим позитивом (інші системи IPMI використовують цей порт), але будь-який відкритий порт з 16992 по 16995 рік є дуже хорошим показником активованого AMT (принаймні, якщо вони відповідають відповідним чином: з AMT, це означає відповідь HTTP 16992 та 16993, остання з TLS).

Якщо ви бачите відповіді на портах 16992 або 16993, підключення до них та запит /за допомогою HTTP поверне відповідь Serverрядком, що містить "Intel (R) Active Technology Technology" в системах з включеною AMT; цей самий рядок також міститиме використану версію вбудованого програмного забезпечення AMT, яку потім можна порівняти зі списком, наведеним у довідці Intel, щоб визначити, чи є вона вразливою.

Дивіться відповідь CerberusSec за посиланням на сценарій, що автоматизує вище.

Є два способи виправити проблему "належним чином":

  • оновіть прошивку, як тільки виробник вашої системи надасть оновлення (якщо таке є);
  • уникайте використання мережевого порту, що забезпечує AMT, або за допомогою мережного інтерфейсу, який не підтримує AMT, у вашій системі, або за допомогою USB-адаптера (у багатьох робочих станціях AMT, таких як системи C226 Xeon E3 з мережевими портами i210, є лише один AMT- працездатний мережевий інтерфейс - решта безпечні; зауважте, що AMT може працювати над Wi-Fi, принаймні в Windows, тому використання вбудованого Wi-Fi також може призвести до компромісу).

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

В основному, хоча вразливість привілеїв є досить неприємною, схоже, більшість систем Intel насправді не впливають. Для ваших власних систем з операційною системою Linux або іншої схожої на Unix операційної системи, ймовірно, потрібен фізичний доступ до системи, щоб в першу чергу ввімкнути AMT. (У Windows - інша історія.) У системах з декількома мережевими інтерфейсами, як вказував Rui F Ribeiro , ви повинні ставитися до AMT-інтерфейсів так само, як і до будь-якого адміністративного інтерфейсу (IPMI-сумісного або хост-інтерфейсу) для гіпервізора VM) та виділити його в адміністративній мережі (фізичній або VLAN). Ви не можете покластися на хост, щоб захистити себе: iptablesі т.д. тут неефективні, тому що AMT бачить пакети до операційної системи (і зберігає пакети AMT до себе).

Віртуальні машини можуть ускладнювати питання, але лише в тому сенсі, що вони можуть заплутати AMT і таким чином створювати заплутані результати сканування, якщо AMT увімкнено. amt-howto(7)наводить приклад систем Xen, де AMT використовує адресу, задану DomU через DHCP, якщо така є, це означає, що сканування показало б, що AMT є активним у DomU, а не Dom0 ...


Чи не існує локального способу виявлення AMT з Linux на машині? Використовуючи /proc/cpuinfoабо dmidecode?
долмен

Чи означає це, що якщо система не реагує на жоден із цих портів, то вона захищена від цієї вразливості або її все ще можна використовувати локально?
comfreak

Пом'якшення наслідків на ноутбуках може мати форму використання USB-сетей, а не вбудованих.
Майкл Мол

1
Ви пишете "зауважте, що AMT може працювати над Wi-Fi, принаймні в Windows". Я думав, що ця вразливість працює незалежно від ОС?
wurtel

1
@wurtel вразливість не залежить від ОС на дротових інтерфейсах, але на Wi-Fi AMT потрібна співпраця з запущеним драйвером ОС: він не перехоплює пакети, він покладається на передачу ОС йому відповідних пакетів (наскільки я це розумію - зауважте, що я не перевіряв цю сторону речей).
Стівен Кітт

8

Просто виявлення відкритих портів для цієї послуги є недостатнім, воно не вказує, чи впливає версія чи ні. Наша команда створила сценарій python, доступний у нашому github: CerberusSecurity / CVE-2017-5689, який визначає, чи є цільова система вразлива для віддаленої атаки.

Використання зразка:

python CVE_2017_5689_detector.py 10.100.33.252-255

Це повинно дозволяти вам перевірити, чи віддалено ви користуєтесь. Якщо ви зацікавлені, ми також написали коротку публікацію в блозі на веб-сайті http://cerberussec.org/, щоб взяти цю вразливість.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.