Больно смотреть на эти розеткусы без защитного зануления.
После того, как закончите с ремонтом, пройдитесь по офису с вот таким прибором, с большой вероятностью узнаете много нового про электрический потенциал на корпусах ваших железок и на вас самих.
Про это однажды была статья в журнале Хакер, вот она. И речь в ней, как раз, об Intel'овских процессорах и китайских материнских платах для них с изменной прошивкой толи МЕ, толи BMC, толи EC — в общем, одного из набортных контролеров.
Я вполне допуская ненулевую вероятность такой атаки, но стоить она будет весьма недешево, особенно с учетом того, что надо у Intel ключи стащить. Скорее всего, автор статьи зацепил краем глаза какую-то операцию спецслужб США.
Если бояться подобного рода атак, то единственный вариант защиты — открытое железо. И то никто не гаратирует, что на фабрике в него не добавят еще какой-нибудь скрытый контролер, чтобы управлять всем, так что проще всего расслабиться и попытаться получить удовольствие.
Цель ИБ — не предотвратить любые виды атак, а сделать так, чтобы стоимость атаки была выше стоимости обрабатываемой информации. Короче, если вы обрабатываете сверхсекретные сведения — делайте себе для этого процессоры сами. А если вы обрабатываете фотографии котиков — просто не парьтесь и все.
Скрывать факт работы с IBV глупо — тайна продержится до первого дампа. :)
Насчет сертификации в ФСБ — там же BLOB'ов штук десять как минимум, CSM16, куча расширений к нему, OROM'ы, драйвер PXE, драйвер SATA, драйвер ФС FAT и т.п., неужели пришлось у AMI исходники покупать, или прямо бинарем и сертифицировали? Я не очень разбираюсь во всей этой кухне (и не очень хочу, если честно), но со стороны кажется, что в «сертификации в ФСБ» больше бумажной работы, чем инженерной.
Есть такая технология, называется verified boot, и работает она практически так, как вы описали, я о ней писал в первой статье этого цикла.
Если китайцы умудрились подставить свой код в ME — снимаю перед ними шляпу. Да, в таком случае они имеют возможность выполнить любой код еще до ResetVector'а, и никакими защитами прошивки, кроме переписывания региона МЕ на заведомо чистый, от такого не защититься. Я пока не слышал об успешных атаках на последние версии МЕ, но это не значит, что их не было. Исследованием прошивок внутренних контролеров сейчас занимается буквально 2,5 человека (Игорь Скочинский из HexRays сразу на ум приходит, ребята из LegbaCore и Invisible things Lab, и все считай), поэтому идут они медленно и накопать каких-то адски серьезных уязвимостей пока не получилось.
Раньше было просто потому, что тему не затрагивали. Где-то был джампер Read-only, но в основном был полный доступ на запись прямо из ОС.
Я не думаю, что у обычного пользователя уже засела куча троянов, т.к. технология относительно новая и в хакерской среде пока не очень популярная, но если ничего не делать, то трояны там обязательно засядут. Сначала они будут примитивные донельзя, как нашумевший недавно HT rkloader, но потом начнется гонка вооружений и атакующее прошивку ПО быстро вылезет из своей PoC-песочницы. Именно поэтому важно исправить обнаруженные уязвимости сейчас, а там, где нельзя исправить — сообщить об этом.
Очень многие, в том числе и признанные специалисты по ИБ, сомневаются в опасности атак на UEFI, считая их слишком дорогими и слишком целевыми, чтобы быть сколько-нибудь опасными для обычного пользователя. То же самое в свое время говорили про любые новые классы атак, пока их не вепонизировали и не добавили в Metasploit. А для UEFI, ноги 80% которого растут из открытого кода проекта TianoCore, сделать это будет весьма несложно. Вот тут ребята из LegbaCore рассказывают подробнее.
Ну как сказать… Записать свой код в прошивку, получив возможность переживать переустановку системы и смену всего оборудования, кроме материнской платы. Записать свой код в SMM и прятаться там от любых средств защиты уровня ОС, а самому творить с ними непотребное. Возможностей то масса, я их уже в предыдущих постах описывал.
В общем, с незакрытыми уязвимостями в прошивке от LPE до греха — один шаг.
Хорошее дополнение, спасибо.
Я просто в последнее время работаю с системами на AMD, и этот момент совершенно вылетел из головы. У AMD TSEG задается двумя MSR — TSegBase и TsegMask, и потому такой проблемы там не возникает.
Именно так, сами делаем модули и сами к ним БИОСы пишем (понятно, что не с нуля, но тем не менее), поэтому можем обойтись и без IOMMU, но никогда ведь не знаешь, какой 0day найдут послезавтра…
Про механизм этот я в тексте упомянул. Я не вникал в реализацию IOMMU на процессорах Intel, но на AMD можно выделить определенные области под DMA Remap еще в прошивке и залочить их намертво до перезагрузки.
Честно сказать — глубоко в этом направлении не копал, поэтому ничего утверждать не буду.
Это хорошо, что прошивку можно слить и исследовать, а то обычно залочат фьюзами и все. Если клиенты доверяют — это хорошо. Нам тоже доверяют пока, но у нас BMC никаких функций безопасности не выполняет, таким было требование большинства клиентов в самом начале, чтобы не допустить side channel атак через него.
Правильно понимаете, а я банально забыл про это упомянуть, каюсь. Реального использования IOMMU для защиты от DMA-атак я не видел пока, но думаю, что еще увижу, а если чипсеты AMD, которые мы сейчас используем, окажутся ей подвержены, то придется реализовавывать защиту самому.
Намного лучше, когда он с собственной флешкой, т.к. в таком случае через него невозможна атака на ее содержимое. Я знаю, что EC — та еще гадость в смысле безопасности, но крипточип с закрытой прошивкой, как в вашем примере выше, тоже не очень-то располагает к безграничному доверию. Мы используем в качестве BMC обычный ARM Cortex M4 производства Texas Instruments, подключенный через LPC, и прошивку для него мы написали сами, поэтому я уверен, что в ней нет ни бэкдоров, ни каких-то посторонних возможностей.
Я использую старую расшифровку аббревиатуры EC, т.к. сейчас слово embedded уже настолько везде, что практически потеряло значение. А так — сразу понятно, чем занимается EC — температуры меряет и вентиляторами управляет.
Потому что за 0 на графике взято минимальное значение.
Если строить от 0 — будет сплошная зеленая полоса от 0 до минимума, которая не добавляет никакой информации вообще.
Нет. Некоторые атаки обнаружены всего пару недель назад, и потому пока не могут быть опубликованы, т.к. для 99% пораженных систем еще не вышли обновления.
После того, как закончите с ремонтом, пройдитесь по офису с вот таким прибором, с большой вероятностью узнаете много нового про электрический потенциал на корпусах ваших железок и на вас самих.
Я вполне допуская ненулевую вероятность такой атаки, но стоить она будет весьма недешево, особенно с учетом того, что надо у Intel ключи стащить. Скорее всего, автор статьи зацепил краем глаза какую-то операцию спецслужб США.
Если бояться подобного рода атак, то единственный вариант защиты — открытое железо. И то никто не гаратирует, что на фабрике в него не добавят еще какой-нибудь скрытый контролер, чтобы управлять всем, так что проще всего расслабиться и попытаться получить удовольствие.
Цель ИБ — не предотвратить любые виды атак, а сделать так, чтобы стоимость атаки была выше стоимости обрабатываемой информации. Короче, если вы обрабатываете сверхсекретные сведения — делайте себе для этого процессоры сами. А если вы обрабатываете фотографии котиков — просто не парьтесь и все.
Насчет сертификации в ФСБ — там же BLOB'ов штук десять как минимум, CSM16, куча расширений к нему, OROM'ы, драйвер PXE, драйвер SATA, драйвер ФС FAT и т.п., неужели пришлось у AMI исходники покупать, или прямо бинарем и сертифицировали? Я не очень разбираюсь во всей этой кухне (и не очень хочу, если честно), но со стороны кажется, что в «сертификации в ФСБ» больше бумажной работы, чем инженерной.
Если китайцы умудрились подставить свой код в ME — снимаю перед ними шляпу. Да, в таком случае они имеют возможность выполнить любой код еще до ResetVector'а, и никакими защитами прошивки, кроме переписывания региона МЕ на заведомо чистый, от такого не защититься. Я пока не слышал об успешных атаках на последние версии МЕ, но это не значит, что их не было. Исследованием прошивок внутренних контролеров сейчас занимается буквально 2,5 человека (Игорь Скочинский из HexRays сразу на ум приходит, ребята из LegbaCore и Invisible things Lab, и все считай), поэтому идут они медленно и накопать каких-то адски серьезных уязвимостей пока не получилось.
Я не думаю, что у обычного пользователя уже засела куча троянов, т.к. технология относительно новая и в хакерской среде пока не очень популярная, но если ничего не делать, то трояны там обязательно засядут. Сначала они будут примитивные донельзя, как нашумевший недавно HT rkloader, но потом начнется гонка вооружений и атакующее прошивку ПО быстро вылезет из своей PoC-песочницы. Именно поэтому важно исправить обнаруженные уязвимости сейчас, а там, где нельзя исправить — сообщить об этом.
Очень многие, в том числе и признанные специалисты по ИБ, сомневаются в опасности атак на UEFI, считая их слишком дорогими и слишком целевыми, чтобы быть сколько-нибудь опасными для обычного пользователя. То же самое в свое время говорили про любые новые классы атак, пока их не вепонизировали и не добавили в Metasploit. А для UEFI, ноги 80% которого растут из открытого кода проекта TianoCore, сделать это будет весьма несложно. Вот тут ребята из LegbaCore рассказывают подробнее.
В общем, с незакрытыми уязвимостями в прошивке от LPE до греха — один шаг.
Я просто в последнее время работаю с системами на AMD, и этот момент совершенно вылетел из головы. У AMD TSEG задается двумя MSR — TSegBase и TsegMask, и потому такой проблемы там не возникает.
Честно сказать — глубоко в этом направлении не копал, поэтому ничего утверждать не буду.
Если строить от 0 — будет сплошная зеленая полоса от 0 до минимума, которая не добавляет никакой информации вообще.