LINUX.ORG.RU
решено ФорумTalks

Теоретически, как можно убедиться, что в твоей прошивке не поселился руткит?

 , , , ,


0

2

Никогда не думал, что создам подобный тред, но просто на правах shower thought. Навеяно LogoFAIL’ом.

Вот допустим, есть лаптоп на интеловской платформе умеренной древности (Kaby Lake). Как можно без программатора убедиться, что в прошивке не поселился {б,р}уткит, который очень аккуратно влияет на всё происходящее на проце так, чтобы ты его не задетектил изнутри системы?

Есть ли в интеловских платформах способ залить новую прошивку так, чтобы сама прошивка никак не могла повлиять на этот процесс и закрепиться и в новом образе тоже? Или только программатор?


Для всех, кто считает своим долгом с умным видом напомнить про Intel ME — в рамках этого мысленного эксперимента Intel ME меня не волнует. Считаем, что интелу и производителю лаптопа я доверяю.

★★★★★

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

А откуда ты знаешь, что в самих чипе биоса и программаторе нет аппаратных зондов?

coji
()

Вот допустим, есть лаптоп на интеловской платформе умеренной древности (Kaby Lake)

Значит закладки там уже есть out-of-the-box.

{б,р}уткит, который очень аккуратно влияет на всё происходящее на проце так, чтобы ты его не задетектил изнутри системы

Это называется Intel ME.

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

@Meyer

Они меня в рамках этого мысленного эксперимента не волнуют.

Допустим, интелу я доверяю, а вот китайскому отелю, в котором пару лет назад на несколько часов оставил свой ноут без присмотра — не очень.

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

{б,р}уткит, который очень аккуратно влияет на всё происходящее на проце так, чтобы ты его не задетектил изнутри системы

Это называется Intel ME.

Гачи-тян дело говорит!

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

Ещё раз: мне плевать на Intel ME, предположим, что я ему доверяю (точнее, в threat model данного эксперимента он не входит).

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

Перепрошей BIOS прошивкой с сайта производителя.

Чтобы проверить — могу лишь предложить отпаять чип, сдампить программатором и сравнить сумму с официальной прошивкой той же версии.

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

Перепрошей BIOS прошивкой с сайта производителя

Гипотетически, в скомпрометированной прошивке может быть код, перехватывающий вызовы записи в эту прошивку так, чтобы инфицировать и новый образ тоже.

Чтобы проверить — могу лишь предложить отпаять чип, сдампить программатором и сравнить сумму с официальной прошивкой той же версии.

Ну вот в том и вопрос, можно ли как-то это сделать без программатора. То есть, например, есть ли в современных интелах какой-то немодифицируемый, полностью железный root of trust.

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

Гипотетически, в скомпрометированной прошивке может быть код, перехватывающий вызовы записи в эту прошивку так, чтобы инфицировать и новый образ тоже.

С иного компа.

Ну вот в том и вопрос, можно ли как-то это сделать без программатора. То есть, например, есть ли в современных интелах какой-то немодифицируемый, полностью железный root of trust.

Такое железо должно в принципе не давать возможности из ОС что-либо делать с прошивкой.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от seiken

Это как «придумать способ, который будет формально валиден в рамках условий мысленного эксперимента». Да, это как доказать теорему.

intelfx ★★★★★
() автор топика

Как можно без программатора убедиться, что в прошивке не поселился {б,р}уткит, который очень аккуратно влияет на всё происходящее на проце так, чтобы ты его не задетектил изнутри системы?

Если устройство позволяет сними дамп firmware и сравни с тем что на сайте производителя.

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

Допустим, интелу я доверяю

А вот это зря.

а вот китайскому отелю, в котором пару лет назад на несколько часов оставил свой ноут без присмотра — не очень.

Ради обычного человека запариваться не станут, максимум трояна в ОС засунут.

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

Так-то дырок в Intel ME нашли порядочно.

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

Гипотетически, в скомпрометированной прошивке может быть код, перехватывающий вызовы записи в эту прошивку так, чтобы инфицировать и новый образ тоже.

Тогда никак. Только сжечь.

hateyoufeel ★★★★★
()

Есть технология Dell SafeBIOS. Она как раз предназначена для решения этой задачи. Но как оно работает, я не знаю.

vbr ★★★
()

Никак. Если для тебя это действительно важно, то рекомендую прекратить использование этого лаптопа, а если ты просто хочешь разговор поддержать – то лучше к специалисту.

buddhist ★★★★★
()

Для всех, кто считает своим долгом с умным видом напомнить про Intel ME — в рамках этого мысленного эксперимента Intel ME меня не волнует. Считаем, что интелу и производителю лаптопа я доверяю.

Как можно доверять тому, у когда постоянно происходят сливы в сеть? LOL

Ты видел сорцы микрокодов в сети? Есть там что-то про ME?

Думаешь, кул хацкеры уровнем повыше мамкиных (т.е. возможно бывшие или настоящие сотрудники спецухи) не воспользуются такой прелестью?

Я уже несколько раз писал возможное решение, но Dimez (который похоже сам на зарплате у этих товарищей) упорно трёт его с форума, как слишком дятельно-палевный. LOL

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от coji

А откуда ты знаешь, что в самих чипе биоса и программаторе нет аппаратных зондов?

Они слишком простые, если брать standalone BeagleBone Black старых релизов.

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

Надежда умирает последней.

Потом начинаются судорожные поиски решений, похожие на рабочие станции с OpenBSD на первопеньках и древних MIPS и ARM одноплатниках.

На современных интелях и вероятно другом современном оборудовании противопоказно использовать SSH консоль для управления ответственными серверами.

Причём вся эта шиза пришла ещё в 2010 году с китайскими серваками, на что народ пожаловался в ФСБ, а те аккуратно замяли скандальчик, чтобы не палить слежку. Лень искать линки, были статьи на Хабре, возможно в архиве.

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

Если устройство позволяет сними дамп firmware и сравни с тем что на сайте производителя.

Да они, вероятно, напихали несколько точек активации, при ближайшей перезагружке всё перешьётся обратно, как було (при трояне).

sanyo1234
()
Ответ на: комментарий от Vsevolod-linuxoid

Отпаивать необязательно, есть с прищепкой.

sanyo1234
()
Ответ на: комментарий от Meyer
Когда все было готово, руководство фирмы опять вышло на ФСБ с предложением посмотреть работу нашей собственной закладки и убедиться в том, что технологии виртуализации представляют реальную угрозу. Но посмотреть на нашу закладку в деле никто не захотел, с самого верха поступила команда (я так и не узнал, чье именно это было распоряжение) с нами больше не общаться. Главные борцы за информационную безопасность не захотели нас слушать.

https://cont.ws/@tavrinfopress/1601184

Поищи в этом тексте слово ФСБ, очень много любопытного прочитаешь.

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

Ну, типа, BlackLotus и LogoFail существуют. Предположить, что в качестве нагрузки может быть не только «положить файлик внутрь ФС на жёстком диске», но и что-нибудь, что будет на лету патчить апдейт-капсулы и запихивать в них себя — не такой уж и stretch.

Вопрос в том, есть ли во всём этом сэндвиче с говном что-нибудь, что хотя бы позволяет понять, что он уже с говном? Т. е. умеет ли, например, TPM измерять всё содержимое прошивки так, чтобы сама прошивка на это не могла повлиять (т. е. подсунуть правильные блоки вместо инфицированных)?

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

TPM - это всего лишь хранилка закрытого ключа? Как она тебе поможет? С таким же «успехом» можешь воткнуть внешний криптографический USB модуль?

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

TPM - это всего лишь хранилка закрытого ключа

Иди и почитай, что такое TPM, прежде чем совать нос в темы про platform security :-)

А то трындеть с умным видом про зАкЛаДкИ любой может, а по факту ты просто нубас :-)

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

На современных интелях и вероятно другом современном оборудовании противопоказно использовать SSH консоль для управления ответственными серверами.

Подразумевается опасно использовать SSH особенно в качестве клиента без аппаратной криптографии с неизвлекаемыми ключами типа Rutoken ECP2/3.

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

Иди и почитай, что такое TPM,

Ты про то, что UEFI и Secure Boot умеют только TPM, а не другие криптотокены? А так концептуально всё те же криптопримитивы, вынесенные за пределы хостового процессора?

Если UEFI уже заражена, то чем тебе поможет доверенная криптография с недоверенными точками доступа к ней?

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

предположим, что я ему доверяю

Ну расскажи, чем принципиально отличается один руткит от любого другого? ☺

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

Я про то, что TPM может взаимодействовать не только с хостовым процессором. А ещё это не просто хранилка закрытого ключа, а штука с чуть более широким набором примитивных операций.

Если бы я проектировал этот сэндвич с говном, то я бы заставил тот же ME закидывать всё содержимое прошивки в TPM ещё до старта основного процессора, а где-нибудь на сайте интеля и/или производителя ноутбука бы публиковал ожидаемые значения PCR 0 для каждой существующей версии прошивки. А дальше ты можешь на сторонней (доверенной) системе зашифровать условный «флаг» так, чтобы он мог быть расшифрован только с требуемым значением в PCR 0, закидываешь флаг на целевую систему и просишь TPM расшифровать. Если ты видишь на экране искомый флаг — значит, прошивка не скомпрометирована.

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

А ещё это не просто хранилка закрытого ключа, а штука с чуть более широким набором примитивных операций.

Ты видел набор операций, поддерживаемых Rutoken ECP3 или Nitrokey PRO 3? Не перепутал с хранилками извлекаемых ключей для КриптоПро (чуть сложнее обычных флэшек)?

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

Не видел. Стало быть, не перепутал.

Nitrokey PRO 3

Вижу у них на сайте, что оно умеет взаимодействовать с Measured Boot. Не вчитывался в детали, но кажется, это именно то, что мне нужно. Вопрос очень простой — умеют ли что-то похожее обычные интеловские платформы (с поправкой на то, что нужно доверять не открытым исходникам, а интелю, но повторюсь ещё раз, ни интель, ни американские спецслужбы меня здесь и сейчас не волнуют)?

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

Я хоть и не видел TPM, но представлял в общих чертах, что это такое.

sanyo1234
()

tpm?

тут как с бэкапами - если все полимеры уже просрали, то бэкапировать уже поздно.

если прошивка подписана TPM, то любая попытка ее модификации ловится на счет раз, если нет - опачки.

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

Нет, реально простая идея. Если можно снять дамп с биос то ничего не стоит написать скрипт который будет вытягивать дамп при каждом старте, строить от него хеш и сравнивать его с референсным хешем снятым ранее, в безопасном окружении.

Человек сказал что ему нужна защита от иньекции небезопасного когда:

Допустим, интелу я доверяю, а вот китайскому отелю, в котором пару лет назад на несколько часов оставил свой ноут без присмотра — не очень.

Другое дело я что-то сомневаюсь что ТС действительно настроил UEFI chain of trust с подписанными ядрами Linux. А это самый вероятный вектор атаки.

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

Нет, реально простая идея. Если можно снять дамп с биос то ничего не стоит написать скрипт который будет вытягивать дамп при каждом старте, строить от него хеш и сравнивать его с референсным хешем снятым ранее, в безопасном окружении.

Почему ты думаешь, что программно удастся прочитать настоящее содержимое флэш чипа, а не то, что подсунет троян?

Аналогично при попытке программной перезаписи.

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

Другое дело я что-то сомневаюсь что ТС действительно настроил UEFI chain of trust с подписанными ядрами Linux.

Бинго. UEFI Secure Boot нет смысла настраивать, если прошивка скомпрометирована — chain of trust разрывается. Собственно, в этом весь практический смысл треда.

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

Я уже несколько раз писал возможное решение, но Dimez (который похоже сам на зарплате у этих товарищей) упорно трёт его с форума, как слишком дятельно-палевный.

Сходи снова к психиатру, опять пора.

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

что программно удастся прочитать настоящее содержимое флэш чипа

Потому что ты обращаешься через SPI шину к областям памяти. Мне кажется тут сложно что-то подменить если не городить iommu. Не?

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

Если прошивка скомпрометирована, то она через SMM все твои обращения к SPI (а точнее, к LPC) подменит на фальшивые. Геймовер.

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

Ну так купи корпоративный ноут Dell, HP, etc которые этим всем очень заморачиваются ради своих заказчиков.

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

Допустим, купил. А дальше что? Как это в нём реализовано? Технически? Как мне результатами этих заморочек воспользоваться и проверить, что конкретно моя машина не скомпрометирована?

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

Есть ли в интеловских платформах способ залить новую прошивку так, чтобы сама прошивка никак не могла повлиять на этот процесс и закрепиться и в новом образе тоже? Или только программатор?

В относительно новых интеловских платформах и программатор не поможет для модификации биоса. Ты же следишь за обновлением прошивки и выключил rollback в биосе, ЕМНИП?

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

Если ты про «Secure Rollback Prevention» — то это тупо сравнение чиселок версий в момент распаковки капсулы.

Но это вообще не в ту степь. Даже если оно будет реализовано через счётчики в trusted NVRAM (которые на уровне запрещено декрементировать на уровне TPM), оно не должно мне помешать залить программатором ту же версию прошивки, только заведомо хорошую. Ну, по крайней мере, как я это понимаю.

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

У меня нет нужных компетенцний чтоб ответь на такие вопросы. По ключевым словам HP UEFI malicious что-то похожее уже можно посмотреть: https://www.bleepingcomputer.com/news/security/hp-patches-16-uefi-firmware-bugs-allowing-stealthy-malware-infections/

Мне кажется LOR не тот ресурс где можно получить ответы на твои вопросы.

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

Да тут вроде ошиваются люди, которые интересуются platform security (ну или по крайней мере говорят, что интересуются).

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

Если ты про «Secure Rollback Prevention» — то это тупо сравнение чиселок версий в момент распаковки капсулы.

Да, обычно так и делают.

seiken ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)