LINUX.ORG.RU

Как бороться с хардварным трояном от Intel (Intel Me)

 , ,


8

8

Некоторые мысли и ссылки на этот счет. Может где-то и на уровне капитана очевидность, но все-таки. Интересно мнение на этот счет.

Введение

Почему надо бороться? Ответ: потому что эта полностью закрытая аппаратная подсистема на материнской плате во всех чипсетах Intel уже примерно года с 2006. Имеет абсолютно прозрачный доступ ко всей памяти компьютера, к сетевой плате, может работать при выключенном питании (но включенном в элекросеть компе). Прошивка закрыта, от изменений защищена sha256 и т.д. Важно, что подсистема в том или ином виде присутствует даже там, где официально ее нет.

Формально, это как бы полезная подсистема, которая позволяет пользователю (если все правильно настроить) удаленно управлять своим компьютером, используя аппаратные возможности: то есть, независимо от ОС. Однако кто еще кроме пользователя может? :-)

То есть, это некое НЕЧТО, которое в принципе может делать что угодно в вашем компьютере.

Ссылки (так получилось, что на хабр):

Рассказ о Intel ME

Как отключить Intel Me

И еще статья про отключение Intel Me

К сожалению, методы отключения не являются гарантированными. Требуют модификации прошивки, что в системах с новыми процессорами затруднено.

Собственно мысли по нейтрализации

Если допустить, что отключить троянца от Intel или AMD (там тоже есть аналогичное - AMD PSP - Platform Security Processor) не удается, то что можно сделать для затрудения его работы без модификаций прошивок? Конечно, лучше всего не использовать троянское железо, но что поделать, если это слишком сложно.

0) Использовать OpenSource операционные системы. Они если и не защищают от этих технологий, то по крайней мере, и не помогают специально, чего вполне можно ожидать от винды или мака.

1) Шифрование диска или хотя бы отдельных файлов/каталогов.

Эта мера помешает автоматически дистанционно читать или модифицировать содержимое винчестера. Так как хардтроян работает вне операционной системы, он столкнется с невозможностью напрямую прочитать информацию с диска. Хотя в принципе, от него можно ожидать и извлечения из памяти ключей, но это уже более сложный уровень и например, небольшая модификация алгоритмов может обломать. Хотя с просто чтением из памяти ничего нельзя поделать. Во всяком случае мне неизвестно, чтобы Linux или BSD могли работать с постоянно зашифрованной RAM. Однако, если бы это было реализовано, оно сильно бы подгадило хардтроянцам.

2) Перекрыть на внешнем файрволе tcp порты 5900, 16992, 16993, 16994, 16995.

Эти порты штатно используются для работы с Intel Me. Не то чтобы следовало всерьез рассчитывать на нейтрализацию таким простым способом, но все же. По крайней мере, это может помочь, если система как бы штатно работает, но об этом владелей забыл или не знал, например, что-то по дефолту включил и т.п.

3) Использовать не-интеловскую сетевую карту.

Тоже не Бог весть чего дает, но как и в случае с OpenSource операционками хотя бы можно ожидать, что дополнительных возможностей не будет. В любом случае, чем более нестандартная кофигурация, тем сложнее работать хардтрояну. Так что, не лишнее и чего-нибудь навроде сетевого соединения через Firewire устроить.

4) Сетевые соединения в интернет или куда-то еще делать исключительно через VPN (или другой защищенный коннект) на сервер-файрвол с неинтеловской архитектурой или старый до 2006-го года комп.

Смысл в том, что хардтроян может мониторить трафик (например, для своей активации) или передавать что-то независимо от ОС, но ему затруднительно незаметно влезть прямо в защищенный поток данных. В то же время, если на файрволе связь с защищаемым компьютером исключительно через VPN это помешает несанкционированной связи с внешним миром. Более того, попытки такой связи можно будет детектировать. Даже если с какого-то внешнего ресурса что-то придет внутри пользовательских данных для работы с Intel Me (например, внутри якобы обычной картинки), туннель невозможно будет установить прозрачно для ОС. Во всяком случае без наличия уязвимостей в ней.

★★★★★

Народ, объясните мне, почему столько шуму вокруг этой технологии? Судя по описанию, это продвинутая версия IPMI, которая уже несколько десятилетий активно используется для удаленного мониторинга и управления серверами. Лично я просто не представляю себе сервера без удаленного управления.

По поводу безопасности - выше по треду прозвучали вполне здравые мысли - никто не мешает ввести привязку сетевых портов на свитче к MAC-адресу. Насколько я понимаю, это полностью устранит угрозу несанкционированного доступа, т. к. все пакеты IntelMe будут просто отбрасываться.

Решение очень простое, эффективное и, главное, не нужно ничего перепрошивать и ломать, жертвуя управлением вентиляторами и т. п. вещами...

anonymous
()
Ответ на: комментарий от praseodim

ну так для этого Эльбрусы и делают, ВНЕЗАПНО!!!

targitaj ★★★★★
()
Ответ на: комментарий от Payload

а что такого? Так цивилизованный западный мир ведёт бизнес, ничего личного. Что-то не нравится штоль? А санкций не желаете?

targitaj ★★★★★
()

а как вообще узнать есть эта технология на пк/ноутб. или нет? Для ее работы нужно уст. драйвера или нет?

ving2
()
Ответ на: комментарий от praseodim

Ну если ты уловимый Джо, то пользуйся чистым оборудованием. Своего производства, например. В чем проблема-то?

targitaj ★★★★★
()
Ответ на: комментарий от anonymous

По поводу безопасности - выше по треду прозвучали вполне здравые мысли - никто не мешает ввести привязку сетевых портов на свитче к MAC-адресу.

Я вот слушаю вот этот бред про привязку к MAC адресу и понять не могу - чего вы там употребляете. К какому еще МАК адресу? От которого у вас ваш хост работает? С какого хрена вы решили, что работа прошивки, при использовании ЭТОГО ЖЕ СЕТЕВОГО ИНТЕРФЕЙСА, будет светиться ДРУГИМ мак адресом??? *фейспалм* Это по какой такой логике так получается?

Если ваш хост имеет свободный доступ к Сети - то и эта прошивка ТОЖЕ ИМЕЕТ. Как вы собрались фильтровать ИСХОДЯЩИЙ трафик? По каким признакам?

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 1)
Ответ на: комментарий от targitaj

Я вот слушаю вот этот бред про привязку к MAC адресу и понять не могу - чего вы там употребляете. К какому еще МАК адресу? От которого у вас ваш хост работает? С какого хрена вы решили, что работа прошивки, при использовании ЭТОГО ЖЕ СЕТЕВОГО ИНТЕРФЕЙСА, будет светиться ДРУГИМ мак адресом??? *фейспалм* Это по какой такой логике так получается?

Сразу скажу, я не знаток архитектуры IntelME. Но вот цитата из первой ссылки стартового поста в треде:

Отдельный MAC – контроллер канального уровня, предоставляющий ME-контроллеру out-of-band доступ к общему физическому сетевому интерфейсу для удалённого администрирования компьютерной системой

Возможно, я не так понял этот абзац, и действительно данная технология использует MAC-адрес сетевого интерфейса. Но кто мешает в таком случае воткнуть отдельную сетевую карту? Цена вопроса - копейки, а защита на 100% эффективна. Плюс сохраняем все бонусы, которые дает данная технология...

anonymous
()
Ответ на: комментарий от targitaj

Если ваш хост имеет свободный доступ к Сети - то и эта прошивка ТОЖЕ ИМЕЕТ. Как вы собрались фильтровать ИСХОДЯЩИЙ трафик? По каким признакам?

По MAC-адресу. Не выпускать пакеты, пришедшие с данного адреса, за пределы локальной сети. См. выше.

anonymous
()
Ответ на: комментарий от anonymous

что мешает всемогущей прошивке использовать тот же сетевой интерфейс, который уже в работе? Тем более, если эта сетевуха - интел.

targitaj ★★★★★
()
Ответ на: комментарий от targitaj

Тем, что она должна быть физически завязана на интерфейс, распаянный на плате. Повторюсь, в этом нет ничего нового, всякие IPMI/iLO и прочие работают так уже не одно десятилетие...

anonymous
()
Ответ на: комментарий от anonymous

именно, всякие IPMI/iLo давно не требуют выделенного интерфейса и прекрасно работают через любую соску

да, конечно, выделенну. делают. Для удобства изолированного подключения.

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 1)
Ответ на: комментарий от targitaj

именно, всякие IPMI/iLo давно не требуют выделенного интерфейса и прекрасно работают через любую соску

Да ладно, попробуйте заставить работать IPMI/iLO через внешний адаптер. Там жесткая привязка к конкретному интерфейсу. Даже если плата содержит две или более сетевых адаптера, IPMI может работать только через один из них. Что уж тут про внешнюю сетевую карту говорить...

Кроме того, насколько я помню, в отсутствие отдельного сетевого интерфейса у IPMI доступны только функции мониторинга и управления питанием - ни подключение дисков, ни удаленное управление не работают.

anonymous
()
Ответ на: комментарий от anonymous

вылазь из криокамеры, какие еще внешние карты, на серверах по 4 соски искаропки (+1 одна под ipmi only) и ipmi может на любой из них работать

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 1)

ИМХО возми FPGA и сделай материнку с pci-e и СОМ портом .
Ну а дальше в pci-e втыкай usb и райд контролёры что даст нормальный компьютер.

torvn77 ★★★★★
()
Ответ на: комментарий от intelfx

Компьютеры с ТОПСИКРЕТ ЯУМАМЫАГЕНТЦРУ следует изолировать от сети физически.

Не забудь держать их в клетке фарадея и питать от отдельного генератора.

peregrine ★★★★★
()
Ответ на: комментарий от Payload

Допустим, я — АНБ.

Это плохо, но даже рядом не стояло с:

Допустим, я человек, который имея связи в АНБ как-то прознал про то, как работает уязвимость и мои личные цели куда хуже, чем у АНБ.

peregrine ★★★★★
()

Доступных способов нет.

Выдыхай.

Deleted
()
Ответ на: комментарий от intelfx

Но главная проблема в виде человеков остаётся. Надо ещё и операторов этого чуда на цепи в подвале держать и не давать общаться с внешним миром.

peregrine ★★★★★
()
23 марта 2017 г.

3) Использовать не-интеловскую сетевую карту.

Купить FPGA и сделать такую карту самому.

torvn77 ★★★★★
()
Ответ на: комментарий от torvn77

Как вариант купить два переходника на RS порт и связываться через них через патченый pppd поставив в между ними контролёр для верификации пакетов( для чего pppd и патчить, чтобы пакеты были не стандартные).

torvn77 ★★★★★
()
11 июля 2017 г.
Ответ на: комментарий от intelfx

Здесь прозвучал ровно один сколь-нибудь убедительный аргумент против ME: его могут похачить. Всё остальное неубедительно, потому что «кто принесёт тебе больше вреда, если в его руки случайно попадёт пин-код от твоей кредитки: условный гугл или сосед дядя Вася?». Но гораздо вероятнее, что тебя похачат через дыру в линуксе, чем в ME.

Недавняя уязвимость в ME https://habrahabr.ru/company/kaspersky/blog/328100/

Это повлияло на твоё мнение?

Chaser_Andrey ★★★★★
()

Имхо подключать компьютер через переходник на fpga с выходом в виде RSxxx порта, причём внутренний дизайн этой fpga по возможности должен быть не стандартным.
Ну и к pc-e компа она должна подключаться желательно выходами gpio, а то вдруг и в самой fpga есть код для взаимодействия с трояном?

Как эконом версия просто купить два переходника USB>RSxxx и понадеяться что троян работать с ними не умеет.

Ну и понятно что поверх этого будет работать pppd или ещё какой vpn.

torvn77 ★★★★★
()
3 ноября 2017 г.
Ответ на: комментарий от torvn77

можно подробнее про эти переходники?

Насколько я понимаю, троянумеет поднимать канал «в стороне» от ос и независимо от нее. Потому фильтр на самом компе бесполезен. А вот уже на роутере надо влепить фильтрацию пакетов по портам это раз, и по серверу назначения это два. Сделать это независимо от мак адреса. Плюс запретить работу левым мак адресам. Перестраховка.

Надо только что бы роутер был доверенный.

Viktor_Uzlov
()
Ответ на: комментарий от Viktor_Uzlov

Ты ищешь готовое устройство или тебя интересует замысел?

torvn77 ★★★★★
()

А где гарантия того что у других производителей сетевого оборудования нет подобных штучек?

Minona ★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.