LINUX.ORG.RU

как работает computrace?

 , , ,


1

3

Всё присматриваюсь к старым thinkpadам (t440p в частности), возник вопрос про зонды.
Говорят, что перед покупкой надо проверять, чтобы в биосе был отключен computrace. Также есть информация, что перепрошивкой биоса его не отключить.
Но как тогда с coreboot? Если предположим есть ноут с активным computrace и зашить туда coreboot, будет ли зонд работать? А Intel ME к нему как-то относится, me_cleaner поможет? А если после coreboot прошить обратно официальную прошивку?

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

Если прошить coreboot, то ничего от него не останется 100%, можешь любой покупать и перешивать.

Если прошить биос обратно, то обратно его и получишь, что логично.

Intel ME к нему не относится, это разные вещи.

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

Computrace умеет себя внедрять из БИОСа в твою ОС - если она им поддерживается, разумеется. Ранние версии Computrace вроде как не поддерживали Linux, а более свежие - поддерживают.

Computrace is not stopped by a fresh install. It injects itself from the BIOS into the OS every time the machine starts up.

При этом Computrace может работать и без Intel ME, так как его можно найти в древних ноутах в которых ещё физически не было Intel ME.

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

Наивно полагаться на «чтобы в биосе был отключен computrace»: если UEFI проприетарный, он может и наврать, как ты проверишь? В каких-то БИОСах вообще нигде в менюшке не написано про Computrace, хотя он есть и работает. Замена проприетарщины опенсорсным БИОСом coreboot - единственный разумный способ изкоренить Computrace.

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

если UEFI проприетарный, он может и наврать, как ты проверишь?

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

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

Что тогда подразумевалось здесь? No, you can’t get rid of Computrace by flashing the BIOS

Не знаю, надо у автора спросить. Заявление довольно спорное, ведь он в BIOS находится. Скорее всего, имеется в виду замена одного стокового биоса другим (или доступными патчами), в котором он точно так же находится. Думаю, при достаточном желании, наличии скиллов и свободного времени можно пропатчить биос и выпилить его оттуда, но никто этим не занимался.

No, as it resides in a non-flashable portion of the BIOS.

При использовании внешнего программатора, который подключается к SPI-чипу, весь SPI-чип является полностью flashable. Думаю, имелся в виду софтварный механизм обновления.

На Intel-платформах non-flashable portion of the bios означает регионы, защищенные регистрами PR0-PR4 (SPI Protected Ranges) и битом FLOCKDN регистра HSFS. Когда заданы эти protected ranges вместе с FLOCKDN, их невозможно снять до хардварного резета платформы, ну и соответственно нельзя перезаписать защищенные области. Как правило, они проставляются сразу при включении.

(Впрочем, при определенных условиях снять защиту и перезаписать таки можно – писал об этом недавно статью: https://github.com/gch1p/thinkpad-bios-software-flashing-guide. Так можно весь регион bios перезаписать, в т.ч. и computrace, где бы он там не лежал.)

Обычно так защищают bootblock, код, который собственно и проставляет эту защиту, еще что-то, ну и может быть computrace туда же засунули.

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

Интересно, на хасвеллах такое не сделать?

Ну в данном случае важно то, что это косяки в реализации биоса у конкретного вендора, а не то, ivybridge это или haswell. Может и можно, не удивлюсь, это ведь тоже Lenovo, но у меня нету T440p, чтобы затестить и сказать наверняка.

На этой странице https://support.lenovo.com/eg/ru/product_security/s3_boot_protect написано что T440p тоже был Affected.

А Apple, допустим, вообще fd не протектит, и ME у них в продакшине в manufacturing mode работает, и как результат, при наличии рута можно перезаписать и fd, и me, и благодаря этому тоже прошить coreboot, даже несмотря на то, что bios защищен (надо просто fd переразметить немного, чтобы bios был в той области, куда можно писать).

Так что это от производителя зависит.

А туда его засунуть не могли?

fd это не код, а по сути структура данных с описанием разделов, прав доступа и всякого такого, первые 4 килобайта на чипе (0x00 - 0xfff).

me - тоже нет, там же подписанная интелом прошивка ME, туда никого не пускают. А computrace - сторонний зонд. Да и в любом случае, после me_cleaner от нее мало что остается.

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

Есть еще блог одного крутого парня: http://blog.cr4.sh/2016/06/exploring-and-exploiting-lenovo.html

Судя по всему да, это работает и на T440p, и даже на T450, там он перечисляет модели. Там он тоже снимает защиту через s3 boot scripts, но нужен еще видимо какой-то SMI-эксплоит для SMM_BWP/BIOSWE. В общем, тоже работает. Другое дело, что это давно было исправлено леновой в обновлениях, но если можно так же легко откатиться на уязвимую версию, то все будет работать.

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

а не то, ivybridge это или haswell

Да это ясно, я про леновы *40
Хотя конечно не так интересно без me_cleaner, но вообще это уже будет пушка, если есть более-менее простой способ накатить coreboot без программатора и без разборки ноутбука.

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

Насчет ME - там есть две альтернативы me_cleaner-у.

Первая это software temporary disable mode, этот режим раскопали ребята из PT, это такой режим, когда биос на старте отправляет ME специальную команду, чтобы оно само себя задизейблило, и оно со следующего старта платформы не идет дальше BUP Phase. Я недавно начал пилить поддержку этой штуки в coreboot: https://review.coreboot.org/c/coreboot/+/37115

Вторая, более перспективная, это HMRFPO, что означает Host ME Region Flash Protection Override – это тоже команда, которую биос отправляет ME, и после ребута с региона me должна сняться защита на запись. Такой как бы режим для обновления прошивки. Но мои тесты на X230 показали, что оно нифига не работает, и еще один разработчик с irc-канала coreboot подтвердил, что он тоже пробовал год назад, правда на t420 (вроде бы), и оно не завелось. Вроде где-то проскакивала инфа, что поддержку этой штуки вендор может отключить на этапе сборки. Не знаю в общем. Очень хотелось бы, чтобы оно заработало, тогда бы действительно можно было прошивать без отвертки и программатора.

ch1p ()