Как обнаружить и уменьшить повышение привилегий Intel уязвимость в системе Linux (CVE-2017-5689)?

prog=$@

pids=$(ps -ef | grep "\"$prog\"" | awk '{print $2}')


if [ -n "$pids" ]; then
    echo "$prog (pid $pids) is already running!"
    return 0
    fi
26
03.05.2017, 01:08
3 ответа

Самый четкий пост, который я видел по этому вопросу, это Мэттью Гарретт(включая комментарии).

Мэтью выпустил инструментдля локальной проверки вашей системы: соберите его, запустите с помощью

sudo ./mei-amt-check

, и он сообщит, включена ли и инициализирована ли AMT, и если да, версии встроенного ПО ( увидеть ниже). Более подробная информация содержится в README.

Чтобы просканировать сеть на наличие потенциально уязвимых систем, отсканируйте порты 623, 624 и 16992–16993 (как описано в собственном документе Intel по смягчению последствий); например,

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 Management 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 или интерфейсу хоста). для гипервизора ВМ) и изолировать его в административной сети (физической или VLAN). Вы не можетеполагаться на хост для самозащиты: iptablesи т. д. здесь неэффективны, потому что AMT видит пакеты раньше, чем операционная система (и хранит пакеты AMT при себе).

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

19
27.01.2020, 19:40

Просто определить открытые порты для этой службы недостаточно, это не указывает, затронута версия или нет. Наша команда создала скрипт Python, доступный на нашем github: CerberusSecurity/CVE-2017-5689, который определяет, уязвима ли целевая система для удаленной атаки.

Пример использования:

python CVE_2017_5689_detector.py 10.100.33.252-255

Это должно позволить вам проверить, не подвергаетесь ли вы удаленной атаке. Если вам интересно, мы также написали короткую запись в блоге по адресу http://cerberussec.org/ с нашим мнением об этой уязвимости.

8
27.01.2020, 19:40

У Intel есть инструменты для Linux по адресу:Linux Detection and Mitigation Tools

есть форк на GITHUB

3
27.01.2020, 19:40

Теги

Похожие вопросы