Вокруг вопроса наличия аппаратных закладок в процессорах циркулирует большое количество слухов и спекуляций. Угроза их присутствия в современных процессорах очень часто является едва ли не основным лейтмотивом в обосновании необходимости использования только отечественной компонентной базы в России. Более того, зачастую, некоторые горе-эксперты, подвизавшиеся зарабатывать славу на ниве темы отечественной микроэлектроники, постулируют наличие недокументируемых возможностей в зарубежных CPU как вопрос самоочевидный. В данной статье хотелось бы обрисовать общую картину того, какова ситуация с потенциальным наличием аппаратных закладок в реальности и насколько эта угроза представляет проблему.

Для начала немного определимся с дефинициями. Аппаратной закладкой в процессоре мы будем называть некоторый намеренно скрытый от пользователя на этапе создания (проектирования, производства) и зашитый в кремнии аппаратный блок в процессоре, который может в определённых случаях (по команде, в назначененное время) позволить неавторизованное пользователем действие (дать управление процессором, дать доступ к данным, вывести из строя процессор или изменить его характеристики). Здесь особенно стоит оговориться, что мы не говорим о злонамеренном системном ПО или прошивках, которые могут быть изменены после производства процессора (производителем уже конечных устройств или просто любым пользователем). Также я буду говорить об аппаратных закладках именно в CPU, а не в конечных продуктах, построенных на их базе, как то компьютерах, планшетах, различных промышленных устройствах, составных комплектующих (например, материнских платах) и т.д. И ещё один важный момент – мы будем говорить об индустриальных процессорах от известных компаний типа Intel, AMD, Qualcomm и т.д., доступных на массовом рынке. Ибо очевидно, что в ноунейм процессоре от АНБ/ФСБ может быть потенциально всё, что угодно.

Начнём с главного посыла всей статьи. В последние годы тема исследования методов внедрения и обнаружения аппаратных закладок становится всё более популярной. Проводятся конференции, исследовательские группы публикуют статьи различной степени полезности о методах внедрения закладок в процессоры. Но во всей этой академической дискуссии есть один факт, который необходимо понимать при чтении опубликованных материалов – за десятилетия развития кремниевой микроэлектронники не обнаружено НИ ОДНОЙ достоверно доказанной аппаратной закладки в массовых промышленных процессорах. Таким образом можно констатировать, что данная угроза является на данный момент чисто теоретической, но не нашедшей (по-крайней мере пока) своё применение на практике. Попробуем разобраться, почему так происходит.

Современный микропроцессор является крайне сложным инженерным продуктом, который может содержать несколько десятков миллиардов транзисторов (и не только транзисторов). В общем-то на первый взгляд выглядит так, что при таком количестве элементов не составляет труда добавить некоторые цепи, которые потенциально могут выполнять скрытые от пользователя действия. Но внедрение закладки имеет, если грубо, два аспекта: технический и бизнесовый. Разберём их отдельно.

Технические аспекты внедрения закладок

Примерно так выглядит академический взгляд на проблему аппаратных троянов:

Не углубляясь в таксономию аппаратных закладок, рассмотрим три наиболее важных для понимания класса проблем с вышеприведённой схемы:

  • Способы появления закладки в процессоре.

  • Виды закладок по механизмам активации.

  • Результат несанкционированного воздействия.

Остальные детали не влияют принципиально на общее понимание вопроса.

  • Результат несанкционированного воздействия

Начнём с последнего пункта – ведь именно для его реализации существуют все остальные. Чтобы упростить вопрос, давайте за возможные варианты срабатывания аппаратной закладки примем два – выход процессора из строя и утечка информации. По-большому счёту, другие приведённые  варианты (ухудшение характеристик и изменение поведения процессора) являются в пределе выходом процессора из строя и для более лёгкого восприятия материала вполне допустимо, я считаю, свести их к одному пункту.

  • Способы появления закладок в процессоре

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

Здесь для начала стоит напомнить, что современное производство микропроцессоров крайне глобализировано и имеет большое разделение труда. Есть компании-разработчики процессоров, например, из зарубежных: Intel, AMD, Nvidia, Qualcomm, MediaTek и т.д., из отечественных: Байкал Электроникс, МЦСТ, НИИСИ, Элвис и т.д. Но отвечая непосредственно за разработку, эти компании для создания конечного продукта в цепочку производства привлекают  множество сторонних предприятий. Например, все вышеуказанные компании осуществляют непосредственное производство большинства своих процессоров на фабриках TSMC в Тайване (кроме Intel, который также имеет собственное производство и заказывает на TSMC пока лишь небольшую часть своих процессоров). Также все компании используют стороннее ПО для проектирования процессоров, в первую очередь от компаний Synopsis и Cadence. Массово используются лицензированные IP-блоки, где-то больше, где-то меньше, но они есть везде. Поэтому тут стоит разделить вопрос потенциального появления аппаратных закладок в процессоре на две части – когда она появляется по умыслу непосредственно разработчика, или когда она появляется скрытно от компании-разработчика из-за использования в производстве сторонних компаний или результатов их интеллектуального труда

Внедрение закладки непосредственно разработчиком процессора

Тут нет никаких технических сложностей добавить в процессор ту логику, которую создатель пожелает, это очевидно. Но возникает проблема -  каким образом потом такой закладкой воспользоваться? А также разнообразные организационные сложности и последствия. Об этом мы поговорим чуть ниже.

Внедрение закладки третьими лицами при производстве процессора.

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

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

  • Виды закладок по механизмам активации

Закладки можно грубо разделить на 2 категории – требующих активации (по команде извне через различные каналы, или включающихся по достижению определённого события, например, по внутреннему некому счётчику) и работающих постоянно

Закладки через активацию.

В теории, активировать закладку можно различными способами:

  • По событию внутреннего счётчика (достижения определённого времени, количества срабатываний цепи включения питания и т.д.). Проблема данных закладок очевидна – они не контролируемы. Каким образом можно предугадать, сколько раз будет включаться компьютер, один или тысячи? Или когда вам потребуется отключить процессор – через год, два, или пять лет?

  • По команде извне. В данном случае опять-таки возникает вопрос – каким образом передать команду на нужный процессор? Если компьютер с уязвимым процессором стоит в удалённом датацентре в железном корпусе и над ним стоит ещё пяток таких же стоек, то никакими радио или оптическими сигналами закладку не активируешь. Остаётся только вариант каким-то образом  через сеть передать на исполнение на процессор сложную последовательность команд, которая будет триггером для включения. Но для того, чтобы  такое сделать, необходимо иметь  возможность непосредственно запустить код на процессоре. Здесь возможны следующие случаи:

  1. Компьютер не подключен к глобальной сети напрямую. В таком случае, активировать закладку с помощью запуска нужной последовательности команд будет невозможно – вы просто не достучитесь до процессора физически.

  2. Сервер с уязвимым процессором используется для предоставления удалённого доступа для клиентов (например, это сервис по аренде виртуалок). В таком случае запустить нужный код проще простого – вы арендуете виртуалку и в ней запускаете нужную последовательность инструкций.

  3. Машина с уязвимым процессором имеет доступ к глобальной сети и предоставляет наружу определённые сервисы(но не позволяет напрямую запустить пользовательский код). В теории можно пофантазировать, что определённым воздействием на сервис (например, каким-то особым запросом), мы можем активировать в софте крайне редко работающую ветку кода, в которой будет находиться нужная для активации последовательность. Но тут проблема вполне очевидна – а как гарантировать, что на интересующей нас машине работает именно тот софтварный стэк, который нам требуется, вплоть до его бинарной идентичности? За время создания процессора, которое может занять несколько лет, может поменяться как сам софтварный стэк, так и версии его компонентов, библиотек, компиляторов и т.д. И малейшее изменение во всём этом ПО приведёт к бессмысленности вашей аппаратной закладки. И это я не говорю о всех прелестях преодоления сетевого оборудования/стэка, которое тоже может внести непреодолимые препятствия.

  4. Возможна ещё одна вариация для п.3 – машина с сервисом взламывается через программную уязвимость, а потом на ней запускается нужный код. Но в таком случае смысл аппаратной закладки практически теряется – если можно взломать компьютер чисто программно, зачем заморачиваться с аппаратными бэкдорами? Разве что активировать закладку, которая физически уничтожит процессор.

Закладки, работающие постоянно

Но допустим, мы решили обойти все сложности с активацией аппаратной закладки и сделали её работающей сразу «с завода». Таким образом ваш процессор сразу же при включении начнёт пытаться передавать некую информацию куда-то. Проблема заключается как раз в этих «некую» и «куда-то». Процессор должен как-то определить, какая из всего обрабатываемого им массива информация ценная и  куда её посылать. Даже если допустить, что ни один сетевой админ в мире не заметит постоянно фонящий непонятный траффик по своей сети, проблема в том, что на уровне имплементации логики процессора сложно определить, куда и как правильно отправить любые данные во внешний мир. Если в процессоре есть встроенный Ethernet-controller, то его аппаратную имплементацию (в которую, очевидно, и имеет смысл ставить закладку) надо ещё подружить со стэком драйверов машины и используемого в сети оборудования. Это может оказаться, мягко говоря, непростой задачей. А что если пользователь использует внешнюю сетевую карту? Для этого придётся каким-то образом внедряться в работу PCI интерфейса и при этом не разломать работу неизвестной сетевой карты и произвольных драйверов к ней. Звучит практически нереально. Но самое главное, даже если преодолеть все указанные трудности, непонятно как преодолеть вполне стандартные настройки безопасности на сетевом оборудовании. Сеть может быть организована разным образом, нужно знать адреса шлюзов, причём многие настройки находятся на уровнях OSI выше канального, на котором оперирует Ethernet-адаптер. Просто посылка пакета с зашитым в кремний IP-адресом получателя в любой минимально сложной сети приведёт к его отбраковке на первом же сетевом устройстве. В итоге, минимальные усилия по правильной организации внутренней сети делают сетевую закладку бессмысленным набором транзисторов. Реализовать в кремнии такой функционал, который сможет интеллектуально обходить сетевые настройки безопасности, выглядит из разряда фантастики

Все вышеописанные сложности также актуальны для закладок с активацией, в том случае, если мы как-то смогли активировать зловредный функционал и его цель – именно передача информации с процессора во внешний мир

Так какие аппаратные закладки реалистичны?

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

Все остальные варианты выглядят как технически разумно нереализуемые.

Бизнес-аспекты внедрения закладок

Помимо технических, у умышленного внедрения закладок в чипы есть другие аспекты для компании-разработчика, которые мы можем грубо обобщить под термином «бизнесовые»:

  1. Репутационные потери

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

  2. Риск утечки информации о механизмах эксплуатации аппаратной закладки третьим лицам

    Реализация аппаратной закладки в процессоре требует вовлечения сотрудников компании, причём скорее всего в количестве более одного человека. Каждый из них может потом слить данную информацию, например, криминальным структурам или разведкам других стран. В итоге возникает опасность несанкционированного использования бэкдора

  3. Юридические

    Если эксплуатирование закладки приведёт к утечкам данных, или, тем более, к техногенным катастрофам, то разработчик такого чипа будет просто уничтожен в судах. Причём хочу отдельно отметить, что никакими методами организации поставок уязвимых чипов только в «нужные» страны этот вопрос не решить. Потому что физически невозможно проконтролировать движение всех чипов при миллионных тиражах. И гарантии, что процессора с закладкой не окажется на АЭС в Индии от РосАтома не даст никто

  4. Экономические

    Создание закладок требует дополнительных финансовых расходов. В пределе для этого потребуется создание отдельной линейки процессоров, с соответствующими затратами на создание отдельных фотошаблонов и производственного цикла в целом. Это крайне недешёвое удовольствие. Также внедрение сколь-либо сложной логики в процессор может привести к ухудшению его характеристик, как, например, снижение частоты или повышение энергопотребления. Что также имеет экономические последствия.

Что получается в итоге?

Резюмируя вышесказанное, можно сказать, что реализация аппаратных закладок в процессоре, с одной стороны, имеет множество рисков и негативных последствий для разработчика, которые могут просто уничтожить любую компанию. С другой стороны, с технической точки зрения внедрение закладки непосредственно в процессор не даёт желаемого результата – сценарии использования крайне ограничены и часто легко парируются простыми организационными мерами. Намного проще и эффективнее внедрять закладки на уровне создания прошивок, системного софта или конечных продуктов (оборудования, материнских плат и т.д.). Именно поэтому на текущий момент и сложилась такая ситуация, что будучи теоретически возможными для реализации, на практике аппаратные закладки в процессорах никогда не обнаруживались.

Известные заблуждения, принятые считать «аппаратными закладками в процессорах»

Для полноты картины, хотел бы пройтись по наиболее муссируемым в сети примерами «аппаратных закладок в процессорах», которые такими при ближайшем рассмотрении, конечно же, не являются:

  1. Иранские центрифуги.

    История с выведением из строя иранского ядерного объекта имеет тривиальную причину в виде внедрения (намеренного или нет) программного вируса Stuxnet

  2. Intel ME, Intel AMT

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

  3. Список Сноудена

    Разоблачение от бывшего сотрудника ЦРУ/АНБ даёт большой материал для анализа методов, используемых американской разведкой для получения необходимой информации без согласия пользователей. Но аппаратных закладок в индустриальных процессорах в нём нет.

  4. BMC на китайской плате

    Здесь имеем подозрение на небезопасную прошивку флеш-памяти модуля BMC.

  5. VIA God Mode

    Это достаточно интересный и наиболее близкий к аппаратной закладке случай. Авторы статьи, опубликованной в 2018-ом году, даже громко назвали его «первым когда-либо обнаруженным бэкдором в x86-процессорах». Всё бы ничего, но если бы авторы внимательно читали документацию на процессоры VIA, то обнаружили, что описание данной «закладки» там присутствует аж с 2004-го года. Поэтому назвать её недокументированной точно нельзя. Да и её активация требует включения в БИОСе, что тоже не позволяет её признать скрытой аппаратной закладкой.

Ещё одним косвенным (но очень весомым) доказательством отсутствия аппаратных закладок в процессорах являются события, развернувшиеся после 24 февраля 2022 года. После начала СВО на Украине, уровень противостояния России с США и ЕС достиг критического уровня. Фактически, стороны используют практически все возможные методы нанесения ущерба, кроме прямого военного столкновения армий государств. В том числе осуществляются регулярные хакерские атаки на информационную инфраструктуру России, что приводило к обрушению некоторых государственных сервисов. Но всё это происходило только с использованием программных уязвимостей. Я думаю, ни у кого не возникает сомнения, что при наличии аппаратных закладок в процессорах Intel/AMD (на которых построена вся инфраструктура страны), они были бы использованы. Но этого мы не наблюдаем. Более того, секретом Полишинеля является тот факт, что несмотря на массу бравурных заявлений для прессы про успехи импортозамещения в критических отраслях, даже в военной технике применялось и до сих пор широко применяется иностранная компонентная база. По данному поводу Минторг США даже инициировал отдельное расследование. Британский think tank RUSI опубликовал интересный отчёт с анализом компонентной базы в обломках ракет от Искандер-М и Торнадо, а в конце привёл детальный список зарубежных изделий в захваченной на Украине станции РЭБ Борисоглебск-2. И тем не менее, каких- либо массовых проблем с выходом военной техники из строя из-за активации закладок мы также не наблюдаем.

Так зачем нам отечественные процессоры, если не для борьбы с закладками?

Проблема активного муссирования пугалок про аппаратные закладки в том, что будучи не более, чем маркетинговым инструментом в недобросовестных руках, он порождает ложные пути развития отечественной микроэлектронной индустрии. Если наша цель именно обеспечение безопасности с точки зрения аппаратных закладок, то организация сборки конечных продуктов в России на базе любых комплектующих (включая иностранные) плюс контроль над безопасностью стэка системного ПО даёт желаемый результат – аппаратных закладок в отечественных вычислительных системах и оборудовании не будет. Как это не парадоксально звучит, но для решения проблемы аппаратных закладок разработка собственных процессоров, по большому счёту, не нужна.

Так зачем тогда нам отечественные процесссоры? Как минимум, для 2-х вполне очевидных целей:

  1. Информационная безопасность. Только не в виде избавления от мифических аппаратных закладок, а в виде физического доступа к минимально современным процессорам. Актуальность данной проблемы в нынешних условиях, я думаю, всем более чем очевидна. В деревянных счетах точно нет закладок, но вряд ли это тот результат, который мы хотели бы достичь.

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

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

Комментарии (308)


  1. derpymarine
    21.07.2022 04:39
    +17

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

    Могут, но не факт. Juniper всё ещё живой, хотя у них и была закладка(софтварная правда).

    Так же закладки могут быть замаскированы под уязвимости. При обнаружении подобных вещей репутация пострадает, но, скорее всего, не критически.


    1. Armmaster Автор
      21.07.2022 11:07
      +9

      Когда производится конечный сложный продукт, можно уже поиграться в юридические моменты и аккуратно в договоре отписать всякие не совсем приятные для покупателя возможности. Крайне сложные устройства (например, степперы от ASML, турбины и т.д), где у покупателя мало выбора, могут вообще напрямую оборудоваться всякими вендор-локами. Для менее сложного есть серая зона, где это можно делать, но с последствиями для бизнеса. А вот для комплектующих, коими являются процессоры, это достаточно малоосмысленно по тем причинам, которые я попытался описать в статье.


    1. victor_1212
      21.07.2022 17:54
      +1

      > При обнаружении подобных вещей репутация пострадает, но, скорее всего, не критически.

      немного сложней все, в принципе все interconnect устройства разработанные в us (и не только), по закону обязаны иметь типа зеркальные порты куда может копироваться любой поток данных проходящий через устройство, это все известно min лет 30, разумеется Cisco и Juniper среди прочих это знают и поддерживают без всяких закладок, это известно и на репутацию вероятно не влияет


      1. derpymarine
        21.07.2022 20:57

        это знают и поддерживают без всяких закладок, это известно и на репутацию вероятно не влияет

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


        1. victor_1212
          21.07.2022 22:00

          > эксплуатант не имеет возможности заблаговременно обеспечить безопасность

          эксплуатант знает то чему его обучили на курсах + что написано в документации, иногда даже маленьких букв контракта не читал, или не совсем понял, но это таки дела не меняет, на репутацию продукта не влияет, потому как выбора все равно нет, если понадобится использовать эти дела, то ему скажут, возможно даже покажут решение суда если на территории us , но не обязательно, в случае если нужны какие-то особые фильтры, типа ip фильтровать, могут заменить boot rom, и вообще управлять на расстоянии вашим router, это типа всех производителей касается


      1. Sap_ru
        21.07.2022 22:50
        +1

        Ну, бред же. Нет такого закона.


        1. victor_1212
          22.07.2022 02:02
          +5

          > Нет такого закона.

          это нетрудно опровергнуть см. CALEA Pub. L. No. 103-414, 108 Stat. 4279, codified at 47 USC 1001-1010, это закон конечно, включая extension March 10, 2004:

          "... to extend the provisions of CALEA to include the ability to perform surveillance of all communications that travel over the Internet – such as Internet traffic and VoIP. "

          как именно например cisco выполняет эти требования см. RFC 3924 "Cisco Architecture for Lawful Intercept in IP Networks", или для voip на asr1000 управление этим делом реализовано через snmp, см.

          https://www.cisco.com/c/en/us/td/docs/routers/asr1000/configuration/guide/sbcu/2_xe/sbcu_2_xe_book/sbc_voip.html

          также

          Cisco ASR 1000 Series Aggregation Services Routers

          также см.

          https://www.law.cornell.edu/wex/electronic_surveillance

          "The Communications Assistance for Law Enforcement Act of 1994 (CALEA) ... requires that telecommunications companies cooperate with the government's targeted electronic surveillance efforts. Cooperation may include modifications to the design of equipment, facilities, and services"


          1. Sap_ru
            23.07.2022 16:58
            +1

            Там не про всё interconnect оборудование, а только про применяющиеся в конкретных местах вполне определённой инфраструктуры. Соответственно опция документирована и является включаемой/отключаемой в зависимости от того, где и как используется оборудование. И там не про порты, а про возможность зеркалирования трафика в случае необходимости. Можно даже программно сделать - никто не запрещает.


            1. victor_1212
              23.07.2022 22:40

              припоминаю, когда 2004 extension вышло конкретно проводил company meeting с коллегами, к нам самое прямое отношение имело посколько именно interconnect делали, если хотите деталей - пишите в личку


              1. victor_1212
                24.07.2022 00:14

                ps

                заметим, по комментариям видно, что Вы не совсем в теме, это относится к Вашей интерпретации требований CALEA, о которых возможно первый раз слышите назвав "бредом", на этом предлагаю закончить


  1. Jef239
    21.07.2022 06:00
    +20

    Для мобильника/планшета все сильно проще. Результат воздействия - отключение сильного шифрования в GSM/4G без индикации отключения. Активация - передачей координат, в которых надо активировать, и нужной страны в интерфейсе - через ЭФИ GPS.

    В суперкадре GPS 10-20 свободных битов есть. Длина суперкадра - 12.5 минут. Таким образом, за сутки можно передать 1-2 килобита, что для активации достаточно.

    Да, на нынешнем уровне это не аппаратная закладка, но лет 10-15 назад для такой закладки требовались аппаратные части.


    1. Armmaster Автор
      21.07.2022 11:14
      +1

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


      1. Jef239
        22.07.2022 16:37
        +1

        Ну отключение Trusted Platform Module - вполне себе цель воздействия. Точнее перевод его в режим имитации шифрования. Программный взлом это может сильно облегчить.

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

        Для "простых пользователей" такие закладки и нет смысла делать, никому их тайны не нужны. А вот чтобы порушить систему запуска ядерных ракет противника - можно и потрудиться. То есть, если закладки есть - они на уровне АНБ/ФСБ, поэтому часть ваших аргументов отпадает. Грубо говоря - скандал будет замят требование подписки о неразглашении со всех, кто полез в анализ.


    1. lorc
      21.07.2022 19:56

      Это нужно чтобы у вас GPS ресивер и GSM модем находились в одном чипе. Допустим, сейчас это скорее правило чем исключение, но раньше было не так.
      Дальше, нужно чтобы инженер условного Квалкома внес такую фичу в прошивку и не проболтался об этом. А потом еще нужно как-то гарантировать что исследователи которые обязательно расковыряют прошивку не найдут этот бэкдор. Какие шансы?

      И вопрос - в сетях 3G/4G/5G вообще можно отключить шифрование?


      1. Aelliari
        21.07.2022 20:26

        исследователи которые обязательно расковыряют прошивку

        Вай, что то бинарные блобы от QC совсем не потрошатся энтузиастами-исследователями...


        1. lorc
          21.07.2022 20:32
          +1

          Беглый гуглеж родил вот это, например: https://bkerler.github.io/2019/11/15/bring-light-to-the-darkness/


      1. Jef239
        22.07.2022 16:26
        +1

        Поскольку эта фича завязана на передачу секретной информации со спутников GPS - это прерогатива АНБ. Соответственно инженер - под подпиской АНБ, исследователи - под подпиской АНБ или ФСБ или просто не хотят с ними ссорится. Вот вы бы хотели опубликовать гостайну с угрозой сесть на 20 лет? Причем сесть и в РФ и на западе. Ибо и там и там - гостайна.

        Могу привести полтора аналогичных примера. Из утекшей инструкции к одной из американских ракет известно, что по GPS передаются секретные недельные ключи. Так вот, в каких битах они передаются - информации нет. Возможность прокопать самостоятельно - есть, а вот желания - нету. Нафига мне обладать гостайной США, я как-то хочу жить спокойно.

        Вторая половина этого примера - есть АНБшная микросхема, которая на основе ключа генерирует Y-code для дешифровки P(Y) code сигнала. Сама микросхема в лапы ФСБ попадала, а вот о её реверс-инжиниринге неизвестно ничего. Или вскрыли и молчат или - не вскрыли.

        Ну третья часть - новый М-code GPS, про который неизвестно ровно ничего.

        Ну и аналогичные возможности могут быть в китайских чипах с BEIDOU.

        А всплывают такие вещи неожиданно. Лет 20 назад, когда в GPS ввели Y-code, США опубликовали полиномы для военного P-code. А заодно - полиномы для российского военного ВТ-code. :-)


      1. Jef239
        22.07.2022 16:45

        Если не ошибаюсь, то на 3G шифрование отключали со стороны базовой станции.


  1. SagePtr
    21.07.2022 06:13
    +6

    Если в процессоре есть встроенный Ethernet-controller, то его аппаратную имплементацию (в которую, очевидно, и имеет смысл ставить закладку) надо ещё подружить со стэком драйверов машины и используемого в сети оборудования

    Легко, если это сервер - то в 99% случаев ICMP-пакеты будут дотуда долетать. Далее, если по сигнатурам пакета определяем входящий ping с определённым пейлоадом - то на обратный адрес отправляем содержимое определённого блока оперативной памяти по определённому адресу, обозначенному в этом пейлоаде. И вуаля, небольшими порциями злоумышленник сможет вытащить критические данные.


    1. K0styan
      21.07.2022 07:59
      +6

      Ну для этого нужно, чтобы процессор понимал, что те числа, которые он обрабатывает вот сейчас - это сигнатура пакета. CPU этого знать просто так не может. Либо в нём должен быть встроенный Ethernet контроллер, либо нужно много чего шаманить на уровне драйверов.

      Второй момент: как определять тот самый нужный адрес в ОЗУ, данные которого надо сливать? Снаружи вообще нереально. Изнутри... Опять же, CPU не может в общем случае понимать, какой софт в каком блоке памяти свои данные держит. Можно научить его по сигнатурам это фиксировать, наверно: детектить алгоритмы шифрования и помечать те блоки ОЗУ, где лежат ключи, как потенциально интересные для слива, но это тоже так себе ценность.


      1. apro
        21.07.2022 08:48
        +3

        CPU этого знать просто так не может

        В теории встроить детектирование выполнения кода пары основных TCP/IP стеков (Linux, Windows) все-таки не является невыполнимой задачей. Наверняка там есть какие-нибудь уникальные последовательности инструкций, которые обновления ПО редко затрагивают, а если даже и затронут, то обновлением микрокода это можно парировать.

        Второй момент: как определять тот самый нужный адрес в ОЗУ,

        Ну после того как CPU "активирован" пакетом из сети, нужно всего лишь сигнализировать соседу по плате, что доступ с такого-то IP к "Intel ME, Intel AMT" должен работать без проблем. А дальше уже дело техники.


    1. maledog
      21.07.2022 11:02
      +2

      Но ведь большинство массовых сетевых адаптеров(realtek например) дают драйверу доступ к оборудованию через загружаемый firmware. Для wifi это объясняется законами, которые требуют сделать невозможным выбрать диапазон частот для другой страны. Чем руководствуются производители LAN-адаптеров не очень понятно.
      Так что саботировать работу сети при помощи сетевого адаптера вполне возможно. Притом так что ОС узнает только факте саботажа, но не о причине.


    1. Armmaster Автор
      21.07.2022 11:16
      +9

      Если сервер стоит за правильно настроенным сетевым оборудованием, то никакой icmp до него не будет долетать


      1. hogstaberg
        21.07.2022 21:37
        +2

        Неправильно настроенным.
        Не нужно бездумно блокировать Internet Control Message Protocol. Это не только пинги, знаете ли. Да и даже банальные пинги я лично по тупо icmp type+code отрезать не спешил бы.


    1. DreamingKitten
      21.07.2022 15:00
      +1

      то на обратный адрес отправляем

      а как вы изнутри контроллера отправите icmp пакет мимо tcp/ip стека операционной системы?


      1. HardWrMan
        21.07.2022 15:47

        А как это делает AMT/IME? Он же имеет доступ к буферу сетевой карты и позволяет организовать коммуникацию вообще без ОС.


        1. zenhower
          21.07.2022 20:23

          У материнок с AMT минимум две сетевых карты. Официально - одна рабочая, другая для managment console. Так это меньше похоже на уязвимость?


          1. HardWrMan
            22.07.2022 06:35

            Если только криворукий сетевик не воткнёт их в один VLAN. А что на счёт IME?


  1. Nilomar
    21.07.2022 06:16
    +23

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

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

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

    Например в статье не рассматривается вариант, что закладки создаёт ASML степпер во благо демократии и мира в мире, а вероятность, что ASML сотрудничает с специальным службами нельзя назвать нулевой

    По поводу раскрытия - США не угрожают риски, зачем им раскрывать свои инструмент сейчас?

    Для примера можно посмотреть число лет в течение которых швейцарская компания продавала устройства шифрования, как она была связана со специальными службами и как быстро или не очень это вскрылось - https://habr.com/ru/news/t/528020/


    1. leok
      21.07.2022 08:45
      +3

      А как же наши бравые специалисты не раскрыли ни одной закладки, или США и сюда добрались?


      1. Javian
        21.07.2022 09:37
        +4

        Наши бравые раскрыли и тоже пользовались - не вариант?


        1. leok
          21.07.2022 13:59
          +7

          Получается, что куча независимых друг от друга людей знают секрет и молчат.


          1. sundmoon
            21.07.2022 14:54
            +1

            Лет двадцать уже удивляюсь ссылкам на необходимость соблюдения NDA - в том числе в псевдонимных беседах на интернет-форумах.
            А Сноуденов за это время нашлось "полторы штуки"..


      1. Sergeant101
        21.07.2022 10:51
        +6

        Сколько миллиардов ключей в современном процессоре?

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


        1. tsypanov
          22.07.2022 12:05
          -1

          Каковы у наших бравых специалистов знания в современной микропроцессорной технике?

          И каковы же?


    1. vaalberith
      21.07.2022 09:43
      +9

      Например в статье не рассматривается вариант, что закладки создаёт ASML
      степпер во благо демократии и мира в мире, а вероятность, что ASML
      сотрудничает с специальным службами нельзя назвать нулевой

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


      1. Sergeant101
        21.07.2022 10:56
        +2

        Структура цифровых цепей это миллионы и миллиарды транзисторов, интерфейсы - десятки регистров процессоров самых разных назначений.

        Изменение структуры цифровых цепей?

        Ну выпустила компания новый чип с новым функционалом, поди раскрути зачем они поменяли миллион ключей?

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

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


        1. iig
          21.07.2022 11:05
          +10

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

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

          Нужно решить ещё несколько задач:

          • доставить и запустить эту программу или данные там где нужно

          • ни в коем случае не доставлять и не запускать ее где не нужно

          Если вы можете себе позволить запускать нужные вам программы где вам нужно - зачем вам какие-то закладки, у вас и так god mode on.


          1. Sergeant101
            21.07.2022 11:17
            +1

            Ну при должном желании доставить программу можно и по сети 220 В. Гугли связь PLC по электрическим сетям, их там несколько видов.

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


            1. Sergeant101
              21.07.2022 11:23
              +6

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

              Вирус им принесли сами же разработчики ПО для центрифуг сами не ведая о том.

              Вирус для центрифуг был тайно внедрён в их компьютеры-программаторы.

              Вот и думай.


              1. Serge78rus
                21.07.2022 15:59
                +2

                Не факт, что вирус попал в ПЛК через компьютер, выполняющий роль программатора. Это мог быть и любой АРМ на WinCC.
                Русский перевод анализа кода Stuxnet


            1. Serge78rus
              21.07.2022 15:34
              +3

              То есть оборудованию не обязательно нужно быть подключенным к какой либо сети передачи данных, достаточно розетки.
              Нет, розетки не достаточно. В оборудовании еще должен быть PLC модем, а если он не предусмотрен «легально» в данном виде оборудования, то внедрить его скрытно гораздо сложнее, чем мифическую закладку в процессор. Да и куда внедрять? В источник питания до входных фильтров?


              1. Sergeant101
                21.07.2022 20:38
                +1

                Ну фильтр и фильтр, hart же как то функционирует поверх токового интерфейса 4-20 mA при подключении Point-to-Point., а там полюбому хотя бы кондёр стоять какой должен для сглаживания шума.

                Да и модем необязательно должен быть размером с коробку ADSL.


                1. iig
                  21.07.2022 22:54

                  Ну фильтр и фильтр

                  Бывают бесперебойники двойного преобразования.


                1. Serge78rus
                  22.07.2022 01:29

                  там полюбому хотя бы кондёр стоять какой должен для сглаживания шума.
                  Никто же не заставляет фильтровать аналоговый сигнал примо на линии. А после шунта вполне можно поставить ФНЧ (хотя бы простейшую RC цепочку) так, чтобы он не подавлял цифровой ВЧ сигнал в линии. Кстати, hart, насколько помню, даже налагает некоторые ограничения на погонную емкость кабеля.
                  Да и модем необязательно должен быть размером с коробку ADSL.
                  Да, PLC модем — это всего одна микросхема, но ее обвязка в той части, где подключение к сети 220 В, получается довольно габаритной (если, конечно, соблюдать требования электробезопасности)


                  1. checkpoint
                    23.07.2022 04:28
                    +1

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

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


                    1. checkpoint
                      23.07.2022 04:39
                      +1

                      Б$я! Начал размышлять на эту тему и вспомнил, что в каждом правильном импульсном БП присутствует такой транзистор для активной коррекции коэффициента мощности, управляется он с контроллера. В общем, все средства уже давно присутствутю в наших ПК начиная с блока питания! :)


    1. tzlom
      21.07.2022 09:51
      +4

      что именно надо строго отрицать 

      Это не означает что у них есть подобные технологии, это способ введения в заблуждение.

      Например в статье не рассматривается вариант, что закладки создаёт ASML степпер 

      Потому что это физически не возможно

      Для примера можно посмотреть

      Вроде как в статье объяснили реалистичность этого сценария с процессорами, но эксперту по заговорам оно конечно видней.


    1. Armmaster Автор
      21.07.2022 11:21
      +5

      Безусловно, на любой технический аргумент можно привести возражение из теорий заговора. Но если хотя бы немного понимать, что из себя представляет степпер ASML, сразу становится понятно, что заложить туда функционал для создания "закладок" физически невозможно. Это как заложить функионал для создания закладок в топор, или, например, в инертный газ.


      1. checkpoint
        23.07.2022 04:23
        +1

        Тут Вы полность неправы. Чем сложнее система, тем больше места для монёвра. Топор и иннертный газ слишком просты (на данном этапе нашего понимания мироутсройства). А вот в бензопилу вполне можно заложить закладку или допустить баг, который оставит пользователя этого простого инструмента без обеих рук. Что касаемо оборудования для производства микросхем, то в их производстве, помимо степпера, участвует еще сотня установок и все они катастрофически сложны. Не стоит сомневаться в том, что рано или поздно найдется пытливый разум который придумает как такое поле для деятельности использовать во благо своего отечества.


        1. Armmaster Автор
          23.07.2022 20:22
          +2

          Нет, тут я полностью прав. Степпер ASML - это "топор" для производства чипов. Условно, в него вставляется пластина, вставляется фотошаблон, и инженеры используют степпер, чтобы на пластине появилось то, что нарисовано на фотошаблоне. Каким образом вы представляете себе здесь возможность для несанкционированного появления закладки?


  1. Lutra90
    21.07.2022 06:27
    +6

    Закладку можно активировать при обновлении например, нет?


    1. Armmaster Автор
      21.07.2022 11:22
      +1

      Это фактически случай с возможностью запустить код на машине. Возможно, конечно.


    1. event1
      21.07.2022 16:07
      +3

      Можно, но если я могу легально инсталлировать софт на какую-то машину, зачем мне аппаратная закладка? SolarWinds, например, без всяких закладок распространил лишнего два года назад


  1. Wesha
    21.07.2022 06:29
    +6

    По команде извне. В данном случае опять-таки возникает вопрос – каким образом передать команду на нужный процессор?

    Вот, например, сейчас из головы придумал:

    • в процессор прошиты секретные значения S и D.

    • изначально счётчик n = 0

    • если процессор в течение N секунд встретил на шине 64-битное слов (S + D * n), то n = n + 1, иначе n = 0

    • если n достигло некоего значения — скажем, 256, — то активируется код закладки.

    Для активизации закладки посылаем на компьютер-жертву 256 ICMP-пакетов, у которых в payload записаны наши ключевые значения (по одному в пакете). Процессор будет вынужден так или иначе прочитать payload пакетов в память — например, чтобы посчитать их контрольную сумму, — тем самым закладка триггернётся. А то вероятность появления целых 256 "правильных" слов в обычном потоке данных крайне низка.


    1. tzlom
      21.07.2022 09:58
      +5

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

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


      1. Wesha
        21.07.2022 10:07
        +6

        При современной пропускной способности вероятность случайного срабатывания этой закладки стремится к единице.

        Вы не теоритизируйте, а возьмите в руки калькулятор, ежели в уме не могёте. Я не зря сказал, что числа 64-битные. Даже если процессор выполняет 100 млрд обращений к шине в секунду, окно N — 5 минут, и все числа на шине разные, то за это время он успеет обозреть всего-навсего 2^44-с-копейками чисел. Нет, 64-битные числа, удовлетворяющих условию, за заданное время не могут появиться случайно, тем более в правильном порядке и в нужном количестве.


        1. Sergeant101
          21.07.2022 11:02
          +2

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


    1. iig
      21.07.2022 10:45
      +1

      Для активизации закладки посылаем на компьютер-жертву 256 ICMP-пакетов

      У моего компьютера IP 192.168.2.120. Можете попинговать ;) С вероятностью около 33% интересующий вас компьютер не подключен с интернетам, 33% - за 2 NAT-ами. И я уверен, что аномалии в ICMP траффике те, кому это интересно - детектируют.


      1. edo1h
        21.07.2022 13:03

        ну так можно и в пейлоаде послать.


      1. Wesha
        21.07.2022 19:16
        +1

        Вы уж определитесь, как

        в том анекдоте

        — Рядовой Джонс, даю вводную: слева из-за кустов появляется вьетконговец, ваши действия?
        — Пристреливаю его из своей верной М-16, сэр!
        — Хорошо, Джонс, новая вводная: слева — пять вьетконговцев, справа восемь вьетконговцев, ваши действия?
        — Пристреливаю правых М-16, в левых кидаю две гранаты, сэр!
        — Джонс, новая вводная: слева — 20 вьетконговцев, справа 30 вьетконговцев, прямо перед вами танк, ваши действия?
        — Кидаю в правых все четыре гранаты, опустошаю в левых оба магазина, достаю из-за плеча базуку и хреначу танк, сэр!
        — Хорошо, новая вводная: слева — 80 вьетконговцев, справа 120 вьетконговцев, прямо перед вами 3 танка, в воздухе 2 вражеских вертолёта, ваши действия?
        — Сэр, простите, сэр, но я не понял: вы за меня или за вьетконговцев?

        Я привёл общую идею. Конкретику для каждой хитровыдуманной ситуации на ее основе можете развить, история Stuxnet в помощь.


      1. checkpoint
        23.07.2022 04:13

        Ваши представления о функционировании сети Интернет слишком поверхностны. Возможно для Вас будет откровением тот факт, что Ваш компьютер, даже сидя за NAT-ом регулярно посылает DNS запросы к хоcтам полностью подконтрольных правительству неждужественных стран. Достаточно одной невзрачной записи в DNS ответе от 8.8.8.8, что бы ваш комп накрылся медным тазом.


        1. Wesha
          23.07.2022 09:23
          +2

          Кстати, напомнило (в 2013 году ещё работало)

          $ traceroute 216.81.59.173
          traceroute to 216.81.59.173 (216.81.59.173), 64 hops max, 52 byte packets
           1  192.168.1.1 (192.168.1.1)  1.599 ms  0.899 ms  0.693 ms
           2  * * *
           3  201.17.0.24 (201.17.0.24)  13.554 ms  15.223 ms *
           4  201.17.0.11 (201.17.0.11)  14.616 ms  14.337 ms  12.423 ms
           5  embratel-t0-5-0-0-tacc01.rjo.embratel.net.br (200.209.203.37)  11.323 ms  10.444 ms  9.883 ms
           6  ebt-t0-12-2-0-tcore01.rjoen.embratel.net.br (200.244.40.162)  121.094 ms  129.549 ms  124.419 ms
           7  ebt-bundle-pos1223-intl03.mianap.embratel.net.br (200.230.220.58)  123.225 ms  123.339 ms  135.035 ms
           8  ae7.mia10.ip4.tinet.net (199.168.63.185)  138.100 ms  137.263 ms  140.316 ms
           9  xe-9-3-0.atl11.ip4.tinet.net (89.149.186.54)  156.184 ms
              xe-2-1-0.atl11.ip4.tinet.net (89.149.184.21)  138.867 ms  140.443 ms
          10  epik-networks-gw.ip4.tinet.net (77.67.69.158)  139.277 ms  142.052 ms  138.384 ms
          11  po0-3.dsr2.atl.epikip.net (216.81.59.2)  265.091 ms  187.443 ms  148.042 ms
          12  * * *
          13  episode.iv (206.214.251.1)  195.419 ms  203.293 ms  204.416 ms
          14  * * a.new.hope (206.214.251.6)  190.368 ms
          15  it.is.a.period.of.civil.war (206.214.251.9)  186.485 ms *  201.178 ms
          16  rebel.spaceships (206.214.251.14)  198.124 ms  196.950 ms  199.873 ms
          17  striking.from.a.hidden.base (206.214.251.17)  190.799 ms  187.185 ms  186.014 ms
          18  have.won.their.first.victory (206.214.251.22)  189.309 ms *  186.856 ms
          19  against.the.evil.galactic.empire (206.214.251.25)  186.338 ms  187.599 ms  187.299 ms
          20  during.the.battle (206.214.251.30)  196.446 ms  186.946 ms  194.876 ms
          21  rebel.spies.managed (206.214.251.33)  187.233 ms  189.262 ms  199.052 ms
          22  to.steal.secret.plans (206.214.251.38)  197.307 ms  190.922 ms  193.837 ms
          23  to.the.empires.ultimate.weapon (206.214.251.41)  184.529 ms  186.058 ms  187.633 ms
          24  the.death.star (206.214.251.46)  186.455 ms  189.034 ms  185.790 ms
          25  an.armored.space.station (206.214.251.49)  193.579 ms  187.846 ms  195.018 ms
          26  with.enough.power.to (206.214.251.54)  185.083 ms  189.343 ms  189.328 ms
          27  destroy.an.entire.planet (206.214.251.57)  186.215 ms  189.290 ms  186.109 ms
          28  pursued.by.the.empires (206.214.251.62)  195.273 ms  191.793 ms  190.517 ms
          29  sinister.agents (206.214.251.65)  187.039 ms  188.804 ms  187.624 ms
          30  princess.leia.races.home (206.214.251.70)  186.240 ms  186.882 ms  186.541 ms
          31  aboard.her.starship (206.214.251.73)  187.450 ms  187.514 ms  183.118 ms
          32  custodian.of.the.stolen.plans (206.214.251.78)  192.317 ms  199.285 ms  190.805 ms
          33  * that.can.save.her (206.214.251.81)  191.760 ms  189.075 ms
          34  people.and.restore (206.214.251.86)  191.862 ms  187.393 ms  207.627 ms
          35  freedom.to.the.galaxy (206.214.251.89)  238.458 ms  182.943 ms *
          36  0-------------------0 (206.214.251.94)  207.047 ms  191.910 ms  188.673 ms
          37  0------------------0 (206.214.251.97)  186.644 ms  195.268 ms  191.572 ms
          38  0-----------------0 (206.214.251.102)  188.439 ms  189.972 ms  193.201 ms
          39  0----------------0 (206.214.251.105)  190.922 ms  193.357 ms  188.912 ms
          40  0---------------0 (206.214.251.110)  186.507 ms  184.564 ms  191.742 ms
          41  0--------------0 (206.214.251.113)  192.090 ms  196.204 ms  198.646 ms
          42  0-------------0 (206.214.251.118)  192.050 ms  194.693 ms  193.584 ms
          43  0------------0 (206.214.251.121)  210.551 ms  203.319 ms  206.128 ms
          44  0-----------0 (206.214.251.126)  196.063 ms  187.018 ms  191.168 ms
          45  0----------0 (206.214.251.129)  195.823 ms  186.796 ms  186.539 ms
          46  0---------0 (206.214.251.134)  188.513 ms  196.209 ms  193.685 ms
          47  0--------0 (206.214.251.137)  189.089 ms  193.633 ms  193.627 ms
          48  0-------0 (206.214.251.142)  187.584 ms  189.968 ms  190.705 ms
          49  0------0 (206.214.251.145)  187.504 ms  248.454 ms  192.051 ms
          50  0-----0 (206.214.251.150)  187.074 ms  193.943 ms  194.519 ms
          51  0----0 (206.214.251.153)  189.772 ms  197.175 ms  186.302 ms
          52  0---0 (206.214.251.158)  190.615 ms  194.354 ms  194.294 ms
          53  0--0 (206.214.251.161)  191.223 ms  191.043 ms  190.195 ms
          54  0-0 (206.214.251.166)  190.226 ms  192.666 ms  197.095 ms
          55  00 (206.214.251.169)  187.891 ms  187.339 ms  192.929 ms
          56  i (206.214.251.174)  191.085 ms  190.565 ms  193.807 ms
          57  by.ryan.werber (206.214.251.177)  186.479 ms  185.109 ms  189.946 ms
          58  when.ccies.get.bored (206.214.251.182)  203.553 ms  209.289 ms  204.333 ms
          59  ccie.38168 (206.214.251.185)  199.093 ms  191.404 ms  188.264 ms
          60  * * *
          61  * * *
          62  * * *
          63  * * *
          64  * * *


          1. checkpoint
            23.07.2022 15:47

            Сисадмины развлекались, они ведь тоже люди :)


        1. DreamingKitten
          23.07.2022 11:15

          Достаточно одной невзрачной записи в DNS ответе от 8.8.8.8, что бы ваш комп накрылся медным тазом.

          Да что вы.

          И какого же типа должна быть эта запись?


          1. checkpoint
            23.07.2022 15:51

            Она может быть совершенно любого типа. Я описал направление атаки, если Вы не поняли. Подавляющее большинство дешманских китайских домашных маршрутизаторов настроены на использование гуглового DNS, с которого могут подсунуть все что угодно, при необходимости.


            1. DreamingKitten
              23.07.2022 15:53

              То, что в DNS ответ могут подсунуть всё что угодно -- я согласен.

              А вот то, что от DNS ответа «компьютер накроется медным тазом», извините -- бред.


              1. checkpoint
                23.07.2022 16:08

                Моет быть и бред, но на сколько Вы уверены в том, что в ОС Windows установленной на Вашем ПК нет соответствующих закладок ? А в том, что их нет в BIOS-е, в сетевой карте и в микропроцессоре ?


                1. iig
                  23.07.2022 16:14

                  Опять возвращаемся к тому, что закладки в процессор прятать дороже чем в ОС.


                1. DreamingKitten
                  23.07.2022 16:17

                  Для вас большим открытием будет то, что винда регулярно проходит различные аудиты и сертификации на соответствие требованиям безопасности? В том числе по исходному коду. И что существует множество групп исследователей, независимых от MS и властей, которые шерстят её бинарный код вдоль и поперек в поисках таких закладок? И находят даже. И публикуют. Но пока что всё найденное проходит по статье «рукожопые программисты» а не «супершпионская закладка». И я не вижу причин, почему эта тенденция должна резко измениться.


                  1. geher
                    23.07.2022 17:26

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


                    1. DreamingKitten
                      23.07.2022 17:28

                      Вы привлекаете лишние сущности. Оккам недоволен.


                      1. geher
                        23.07.2022 17:51

                        Оккам хороший. Он придумал гениальную отговорку, позволяющую прикрыть любое безобразие по крайней мере на некоторое достаточно длительное время.

                        Введите в свою работу много лишних сущностей, и все будут делать максимально простые выводы, но не подумают так, как оно было на самом деле.

                        В данном примере они будут видеть творение рукожопа. В Хемингуэ́е они видели простого психа (считая, что агенты ФБР - это лишняя сущность, в то время как за ним таки реально следили). Ну и так далее в том же духе.


                      1. DreamingKitten
                        23.07.2022 17:57

                        Он не придумал, а открыл. Одно из положений системного анализа.

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

                        См. лунный заговор, который, если бы его реализовать всерьёз, вышел бы значительно дороже и сложнее, чем на самом деле слетать на Луну.


                      1. Wesha
                        23.07.2022 22:28

                        > чтобы его закладка при обнаружении выглядела поделием рукожопа?

                        Вы привлекаете лишние сущности. Оккам недоволен.

                        А вот история, бессердечная щука, говорит, что Оккам может заткнуться.

                        if ((options == (__WCLONE|__WALL)) && (current->uid = 0))
                                retval = -EINVAL;

                        Выглядит как изделие рукожопа. Закладка.


                      1. DreamingKitten
                        23.07.2022 22:54

                        Закладка.

                        Да ладно? Вы что-то однозначно утверждаете? Не может быть!!!

                        Так-то malicious intent не доказан. Согласно вашей же логике доказательности, которую вы мне демонстрировали в прошлых наших дискуссиях.


                      1. checkpoint
                        24.07.2022 00:16

                        Любая закладка или backdoor обязаны выглядеть как рукожопа. И с чего Вы взяли, что во время ведения военных действий кто-то кому-то должен что-то доказывать словами, а не делом ?

                        PS: Извиняюсь, это был комментарий для пользователя DreamingKitten.


                  1. checkpoint
                    24.07.2022 00:21

                    Всеми этими сертификатами можно смело подтереться. Система у которой закрытый исходный код не может быть безопасной не смотря ни на какие сертификаты и аудиты неизвестно кем выполненные и кем финансируемые.


                1. DreamingKitten
                  23.07.2022 16:19

                  Про CPU смешно. Как вы собрались исполнять на процессоре код закладки, который вам вернул DNS сервер? А без исполнения он её не «увидит». То же и про биос. А сетевая карта комп медным тазом накроет разве что если на неё заряд взрывчатки прикрутить.


                  1. iig
                    23.07.2022 16:33

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


                    1. checkpoint
                      24.07.2022 00:14

                      Описанная Вами "закладка" слишком проста. Но если слегка поразмышлять, то не сложно придумать как сделать её дествие селективным. Я думаю у Вас уже в голове созрела пара вариантов.


        1. randomsimplenumber
          23.07.2022 14:16

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


          1. geher
            23.07.2022 15:06
            +1

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

            Кроме того, хитрый запрос вообще не обязателен. Хитрый ответ может быть нагрузкой ко вполне честному запросу от вашего чистого и проверенного браузера на предмет поиметь IP адрес какого-нибудь сайта "про котиков"..


            1. randomsimplenumber
              23.07.2022 15:56

              Такую сложную и дорогую операцию ставит под угрозу обычный локальный DNS сервер. Доступа к интернету с котиками из того компа, который имеет смысл так сложно выключать - быть не должно.


              1. checkpoint
                23.07.2022 16:04

                К сожалению, локальный DNS от данной атаки не спасет. Разве что какой-то очень специализированный с интеллектуальным анализом и фильтром. Но в этом случае Вы будете сталкиваться с периодической невозможность наблюдать котиков (ложные срабатывани), в какой-то момент Вас это свойство локального DNS достанет и Вы от него откажетесь, либо будете эпизодически его отключать. А значит, в случае необходимости, подвергнитесь атаке.


                1. iig
                  23.07.2022 16:21

                  локальный DNS от данной атаки не спасет. Разве что какой-то очень специализированный с интеллектуальным анализом и фильтром

                  Обычный BIND. Настраивается на работу с white listed доменами.

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

                  Зачем наблюдать котиков с компа, управляющего ГЭС или атомным реактором?

                  Зачем так сложно ломать комп, с помощью которого баба Галя общается по скайпу с внуками? Достаточно прислать документ Перерасчёт_пенсии.пдф.ехе


                  1. checkpoint
                    24.07.2022 00:31

                    Обычный BIND. Настраивается на работу с white listed доменами.

                    Не помню, что бы в bind-е была фича по фильтрации содержимого ответа. Но я давно туда не заглядывал, может быть и есть. Вот только много Вы знаете умельцев способных оградить себя таким вот локальным DNS ?

                    Зачем так сложно ломать комп, с помощью которого баба Галя общается по скайпу с внуками

                    Затем, что баба Галя "два через два" моет полы в диспетчерской на АЭС и иногда, во время дежурства, любит посмотреть фотографии внуков на своём мобильном.


              1. geher
                23.07.2022 17:39

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


                1. iig
                  23.07.2022 18:49

                  Для DDOS уже есть готовых ботнетов, чисто программных, и значительно проще устроенных. Зачем усложнять безмерно* ** то, что уже делается просто? Оккам недоумевает.

                  *это я про комбинацию аппаратной и программной закладки.

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


    1. Armmaster Автор
      21.07.2022 11:26
      +1

      Вы просто описывает случай, если у компа есть фактически прямой доступ к глобальной сети. В таком случае, в теории, есть варианты как можно пытаться активировать закладку, но они все крайне сложны и парируются правильной настройкой сетевой защиты. Я пытался это описать, но возможно получилось сумбурно


      1. Ogra
        21.07.2022 12:57
        -3

        Вот есть какой-то сервер авторизации, в какой-то компании. На этот сервер приходят с логинами и паролями разные-разные юзеры. Сервер доступен из глобальной сети. Отсылаем на этот сервер в качестве пароля некое ключевое значение, за которым процессор следит, вместе с некоторой "полезной нагрузкой" и все - сервер наш, более того, зловредный скрипт можно посадить куда-нибудь в L3 cache, а не на жесткий диск, и все его никак не найти.

        С этого сервера уйдут логины-пароли самых разных юзеров, в том числе и тех, которые нам интересны.


        1. edo1h
          21.07.2022 13:05
          +1

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


        1. ads83
          21.07.2022 13:20

          Да просто прочитать из памяти этого сервера логины-пароли — уже круто. Или connection string к базе: мы узнали о внутренней инфраструктуре закрытого периметра. А если еще и пароль к базе нашли… Это не 100% компрометация, но очень большой шаг в проникновении.


        1. tzlom
          21.07.2022 14:47
          +8

          зловредный скрипт можно посадить куда-нибудь в L3 cache

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


          1. YuriPanchul
            22.07.2022 19:01
            +2

            Человек выше написал сумбур, но насчет запрятывания в топологию процессора: добавить на этапе проектирования контроллера L3 кэша некий блочок с конечным автоматом, который сканирует то что пишется в строки кэша и при нахождении некоего паттернта вырубает процессор - абсолютно реально. Это я говорю как человек, которому за дизан блоков процессоров платят зарплату.


            1. tzlom
              22.07.2022 19:06

              Не понятно зачем, все таки выключение это не самое страшное что с ПК происходит.

              Ну и как человек разбирающийся, если вам IP блок с такой закладкой дать каковы ваши возможности и шансы узнать что она есть?


              1. iig
                22.07.2022 19:14
                +1

                Не понятно зачем, все таки выключение это не самое страшное что с ПК происходит.

                Ну, если выключить бортовой компьютер истребителя, тот скорее всего упадёт. Правда, истребитель другой стороны тоже может упасть. А когда если про этот секрет узнает другая сторона? А если третья?


              1. YuriPanchul
                22.07.2022 19:45
                +2

                Если дать такой блок в исходниках на языке описания аппаратуры Verilog, то шанс на нахождение такой закладки есть. В симуляторе SimVision или Verdi я посмотрю сигналы, с которых пишутся всякие критические биты и если найду странные пути (скажем прямо из контроллера L3 кэша к биту а-ля halt в системном регистре, или из кэша данных в fetch unit (который читает из кэша инструкций), то я, двигаясь назад по сигналам (правая мышка find drivers) и иногда вперед по сигналам (правая мышка find loads) определю, в каких случаях это происходит и возможно найду pattern.

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

                Если IP-блок obfuscated (код запутан специальной программой), это сделать на порядок труднее, так как надо установить какие имена в коде соотвествуют каким регистрам состояния например.

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

                То есть на этапе проектирования такое вставить можно. А вот на этапе производства (типа на TSMC) закладки вставить нельзя, так как микросхему можно просто вскрыть и проверить соотвествие GDSII файла, который проектировщик посылал на фабрику - готовой микросхеме.


                1. edo1h
                  23.07.2022 02:09

                  А вот на этапе производства (типа на TSMC) закладки вставить нельзя, так как микросхему можно просто вскрыть и проверить соотвествие GDSII файла, который проектировщик посылал на фабрику — готовой микросхеме.

                  хотите сказать, что без электронного микроскопа можно будет что-то разглядеть при техпроцессе, например, 7 нм?


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


                  1. YuriPanchul
                    23.07.2022 02:52

                    Именно с электронным микроскопом. Сфотографировать послойно, снимая слои кислотой, затем автоматически верифицировать снимки против GDSII файла


                    1. checkpoint
                      23.07.2022 03:59

                      Юрий, на сколько мне известно, "стравливать послойно кислотой" не выйдет - слишком тонкие слои. Только ионное травление, что по сложности сопоставимо с самим производством кристалла.


                      1. YuriPanchul
                        23.07.2022 04:20

                        Хорошо, спасибо за информацию


                      1. Aelliari
                        23.07.2022 08:07
                        +1

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


        1. iig
          21.07.2022 16:35

          Отсылаем на этот сервер в качестве пароля некое ключевое значение, за которым процессор следит

          И у танка отваливается башня. В вашей инфраструктуре точно такие же процессоры; само упоминание шепотом волшебного пароля что то сломает.

          С этого сервера уйдут логины-пароли самых разных юзеров

          Куда и по какому каналу? В волшебную закладку на этапе проектирования процессора надо впихнуть половину операционной системы, с сетью, сетевыми протоколами, криптографией..


        1. Iwanowsky
          23.07.2022 18:23

          В таком случае, зловредную программу удобнее писать не в Л3-кэш, а в микрокод микропроцессора. Вспомните проблему с уязвимостями Спектр и Мелтдаун, кот. решались в т.ч. обновлением БИОС материнской платы с микрокодом процессора; а нейтрализация этих уязвимостей вызывала в свою очередь замедление работы микропроцессора.
          Кроме того, зловредные программы удобней прописывать в БИОС (вспомните, например, скандалы с ноутбуками Леново, на кот. в УЕФИ БИОС фактически были внедрены бэкдоры, позволяющие в т.ч. модифицировать Виндовс, загружать дополнительные модули, и т.д.), или же в прошивки различных гаджетов, планшетов, смартфонов и даже кнопочных телефонов (про это все были статьи и тут на Хабре, в т.ч. про китайских бройлеров).


      1. bogolt
        21.07.2022 18:23

        > парируются правильной настройкой сетевой защиты
        а сетевая защита запущена на счетах?

        Если уж уходить в теории заговоров то по полной!


    1. YuriPanchul
      22.07.2022 18:56
      +1

      Я сел за компьютер с желанием написать эквивалент вашего комментария, но прочитал имеющиеся и обнаружил что все уже написано до нас. Спасибо за экономию моих 15 минут!


  1. HardWrMan
    21.07.2022 06:37
    +15

    Мне вот интересно: а что, кто-то сидит и реверсит современные промышленные процессоры целенаправлено на предмет закладок? Я так говорю, потому что наша группа активно реверсит процессоры 30ти летней давности: 6502 из NES/FC/Dendy и другие чипсеты, в том числе и процессор PlayStation 1, который уже полностью был описан на xHDL а его кремний собирал САПР (в отличии от того же 6502). Все утечки и уязвимости были найдены случайно, вот главный фактор.


    1. vient
      21.07.2022 20:41

      На софтварном уровне, думаю, видели продолжающийся многолетний ресёрч процов Intel от Positive Technologies, где они уже до микрокода дошли. Хардварный реверс вряд ли возможен без гигантских затрат.


  1. saipr
    21.07.2022 06:52
    +2

    за десятилетия развития кремниевой микроэлектронники не обнаружено НИ ОДНОЙ достоверно доказанной аппартной закладки в массовых промышленных процессорах.

    Да, это так. Сам принимал активное участие в организации и проведении спецпроверок как компьютеров. так и сетевого оборудования при создании сети передачи данных МПС России и аппаратных закладок (как и программных) мы не нашли:
    image
    Но вот с выводом:


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

    позволю себе поспорить. Может именно по тому, что такие проверки (проверки на аппаратные закладки) проводятся, к нам и не попадает оборудование с закладками. Это как служба ОТК на предприятии, которая не пропускает брак на прилавок.
    Может благодаря именно спецпроверках и отсутствуют у нас аппаратные закладки и, естественно, нашим противникам нечем воспользоваться несмотря на события 24 февраля 2022 года. И, если это так, то это не эфимерный бонус:


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


    1. Armmaster Автор
      21.07.2022 11:29
      +5

      В масштабах индустрии проверки ФСБ/ФСТЭК - это капля в море. Намного больше в данном направлении работает сама индустрия в целом, т.к. каждый день миллионы и миллионы инженеров создают свои продукты и проводят кросс-верификацию. Если где-то появятся информация о потенциальных угрозах, это сразу станет известно


      1. saipr
        21.07.2022 11:32
        +1

        Хорошо сказано про индустрию:


        В масштабах индустрии проверки ФСБ/ФСТЭК

        И сколько за этим всего стоит...


  1. juramehanik
    21.07.2022 07:05
    +15

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


    1. kahi4
      21.07.2022 14:31
      +3

      Да там систем защиты то не нужно. Там очень точные тайминги и добавление даже самого мелкого элемента прекрасно их собъет.


  1. j_aleks
    21.07.2022 07:15
    +1

    В стародавние времена проскочила статья на эту тему с обнаружением ПРАКТИЧЕКОЙ ЗАКЛАДКИ В ПРОЦЕ, автор даже прогу махонькую выложил на предмет сканирования машины, сейчас точно не помню, но там в потоке через проц отлавливалось необходимое "слово" , практически это выглядело так, на пользовательском уровне, усер открывал просто доковксий документ, в котором присутствовала ключевая фраза, и машина "падала", как демонстрационный пример для высокой комиссии...

    Автор был любитель покопаться в микрокоде, и обнаружил сие усовершенствование...

    А по поводу куда и когда внедрять, предположим крупная гос.компания закупает большой парк компов, пусть даже через подставных лиц, если грамотно сработает вражья разведка, то НАВЕРНЯКА есть запас ЗАРЯЖЕННЫХ процов и прочих компонент, дальше дело техники...

    и никакими спецмероприятиями и спецпроверками вы ЭТО не найдете...


    1. vis_inet
      21.07.2022 07:37
      +1

      А какой это был проц?


      1. j_aleks
        21.07.2022 13:28

        интеловский, я сейчас не помню, 2003-2010 годы, что тогда популярно было


        1. id_potassium_chloride
          22.07.2022 01:36

          Очень похоже на эту историю: https://xakep.ru/2011/12/26/58104/ и её автор поста уже упомянул. Это всё-таки ПО


    1. hollycon
      21.07.2022 08:07

      и никакими спецмероприятиями и спецпроверками вы ЭТО не найдете...

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


      1. screwer
        21.07.2022 08:30
        +6

        Не работает. Как blackbox можно проверить только совсем тривиальные вещи. Выше уже приводили наглядные примеры, например появление 128 битной "печеньки" среди данных. Вы с blackbox будете варианты перебирать до морковного заговенья.


      1. MrB4el
        21.07.2022 08:34
        +1

        вы знаете много госкомпаний, способных на такое сравнение и при этом без своего производства? Упомянув Европу и Тайвань это или вымышленная страна ФР, либо Корея. В первом случае проще подкупить человека, а в условиях торгов, где главный критерий это дешевизна, купить санкционочки проверяющим. Во втором же случае критический сектор вполне может жить на своих или партнёрских процах.

        Есть еще вариант с Ираном, но напомнить, что там с информационными системами АЭС случилось?


      1. ads83
        21.07.2022 09:00
        +7

        Как я понимаю, есть сложности с


        1. послойным сканированием такой сложной штуки, как процессор. Просто чтобы получить изображение с точностью 3-5-10 нм на площади 10^7х2*10^7 нм, просто электронного микроскопа не хватит, а там еще десятки слоев, которые нужно надежно различить.
        2. анализом, триллионов транзисторов. Системы, позволяющие из картинки построить логическую схему, по сложности не уступают системам, позволяющим из схемы построить изображение. Могу ошибаться, но они закрыты и сложны.
        3. Расхождения могут быть вызваны как микроапдейтами, так и микро-браком. Вот эта сотня транзисторов на границе кэша — это закладка или 20 байт битой памяти? А может, погрешность съемки?


      1. j_aleks
        21.07.2022 13:30

        вы фотошаблон проца видели?


    1. Armmaster Автор
      21.07.2022 11:31
      +1

      Перечитайте внимательно статью, она как раз для вас написана


    1. MasterDan
      21.07.2022 14:52

      Это как раз пример из статьи:

      1. BMC на китайской плате


    1. Mogwaika
      21.07.2022 15:42
      +1

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


    1. JerleShannara
      21.07.2022 18:06

      Это была не аппаратная закладка в процессоре, это была комбинация гипервизора, который шел в левой прошивке и всякого ME/AMT. И демка(которую сделал автор на базе этого тандема) падала по попаданию в поток данных фразы «ГАЗПРОМ СТОП».
      Т.Е.Вами описана комбинация процессор+материнская плата и закладка в прошивке.


      1. dartraiden
        21.07.2022 19:36
        +1

        Да где ж про это можно почитать? В идеале ещё и с дампом прошивки, а то я тоже могу сказать, что если на определенной кастомной ОС (которую я вам не покажу) в новом редакторе Хабра набрать определенный текст, то вылезет розовый единорог.


        1. JerleShannara
          21.07.2022 20:16

          Увы, источник та самая статья на хакере. А про реальность таковой атаки сейчас — особо проблем нет, особенно если ME/PSP задействовать выйдет, но опять же, это будет не аппаратная, а программная закладка. И, в упрощенном варианте, это вполне можно реализовать даже без ME/PSP/Гипервизоров всяких — достаточно старого доброго SMM. Наводку дам простую — поддержка USB клавиатуры и мышки в legacy режиме, когда те прикидываются PS/2 (и оно даже прекрасно работает) реализована через обработчик SMM, который перехватывает обращения к портам ввода-вывода мыши и клавиатуры. Достаточно умения реверса и знания структуры прошивки биоса, а далее в этот обработчик уже можно добавить стирание флешки биоса (защита от записи кстати тоже там свои когти в SMM хранила раньше) по последовательному появлению сканкодов нужных клавиш. А ведь можно подвесить SMM на обращение к портам SATA контроллера (правда тормоза знатные будут). В случае, если вам вдруг как-то попали все ключи интела и вся документация по AMT/ME — вы спокойно сможете уже написать анализатор памяти, который будет следить за выбранной областью и производить соответствующие действия по появлению там какой-то информации.


    1. DMGarikk
      22.07.2022 00:58

      История с падающей ос и вордом, насколько я помню имеет корни в модуле проверки орфографии… а что следом падала ос это ещё к тому что начало нулевых — время жизни win9x которая от фаз Луны падала

      Но вообще, учитывая замудренные пути текста в текстовых процессорах… оч интересно было бы посмотреть как работает аппаратная закладка на текс вордовского документа если он в какойенить кои8 или utf64… или вообще 866


  1. Radisto
    21.07.2022 07:29
    +10

    Похоже, аппаратную закладку лучше делать не в процессоре общего назначения, а в узкоспециализированных контроллерах, обрабатывающих внешние сигналы: сетевые, радио, навигация


    1. Javian
      21.07.2022 09:43
      +3

      Шпионские гаджеты от АНБ https://habr.com/ru/post/209746/

      FIREWALK аппаратная сетевая закладка, способная пассивно собирать трафик сети Gigabit Ethernet, а также осуществлять активные инъекции в Ethernet пакеты целевой сети. Позволяет создавать VPN туннель между целевой сетью и центром. Возможно установление беспроводной коммуникации с другими HOWLERMONKEY-совместимыми устройствами. Исполнение данной закладки аналогично COTTONMOUTH-III, такой же блок разъемов(RJ45 и два USB) на шасси


    1. Armmaster Автор
      21.07.2022 11:32

      А ещё проще просто поставить спец оборудование в нужные точки


      1. anka007
        21.07.2022 13:48
        +2

        Зависит от объекта. Определение места и доступа туда может быть не самым простым.

        Криптота: зафигачить что-то 5нм мелкое в бюджетный чип на 500нм. Да, цена вместо 1 доллара будет 100 долларов, но если знать, что этот заказ потом воякам пойдет, то может оказаться и выгодно.


      1. victor_1212
        23.07.2022 14:41

        > просто поставить спец оборудование в нужные точки

        возможно не везде, но во многих точках стоит, типа facebook, twitter и пр. позволяет перехватить запрос на нужную страницу, и добавить нечто, чего там не было, полная функциональность неизвестна, но вероятно может исполняться на host и например просканировать файлы,

        конечно по открытым источникам, типа секрет полишинеля, кстати в индии этим тоже интересуются, в отношении китая особенно


  1. srg27y
    21.07.2022 07:35
    -1

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


  1. FuzzyWorm
    21.07.2022 08:20
    +5

    Компьютер не подключен к глобальной сети напрямую. В таком случае, активировать закладку с помощью запуска нужной последовательности команд будет невозможно

    Где-то за кадром захихикали авторы вируса Stuxnet.


    1. Moraiatw
      21.07.2022 09:07

      +++


    1. Armmaster Автор
      21.07.2022 11:35
      +6

      Про Stuxnet в статье написано.

      А так, если вы получили физический доступ к компу, так можно его и молотком стукнуть. Смысл статьи как раз в том, чтобы описать логику, почему непосредственно в кремнии пилить закладки просто малоразумно


  1. Yuribtr
    21.07.2022 08:22
    +14

    Так зачем тогда нам отечественные процесссоры? Как минимум, для 2-х вполне очевидных целей:

    1. Информационная безопасность. Только не в виде избавления от мифических аппаратных закладок, а в виде физического доступа к минимально современным процессорам. Актуальность данной проблемы в нынешних условиях, я думаю, всем более чем очевидна. В деревянных счетах точно нет закладок, но вряд ли это тот результат, который мы хотели бы достичь.

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

    Думаю в этой стране смело можно добавить и третью цель под номером 1 - распил денег.

    А если серьезно, то как мне представляется - что утверждения про закладки в процессорах, которми наводнили эфир высказывания политиков, это типичная теория заговора, призванная сыграть прежде всего на чувствах малообразованных людей. Тем не менее еще в 2016 году ученый описал вероятность раскрытия теорий заговора, в зависимости от количества людей, знающих про заговор. Согласно его выкладок, за десятки лет существования современных CPU заговор должен был бы уже раскрыться с учетом количества людей, вовлеченных в их внедрение.


    1. leok
      21.07.2022 08:52
      +6

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


    1. Armmaster Автор
      21.07.2022 11:37
      +3

      Я думаю, как раз муссирование пугалок про закладки наиболее способствует распилу денег


  1. screwer
    21.07.2022 08:24
    +10

    Здесь особенно стоит оговориться, что мы не говорим о злонамеренном системном ПО или прошивках, которые могут быть изменены после производства процессора.

    А почему ? Учитывая безумную сложность современных устройств, где даже тривиальная периферия, типа COM порта, требует подгрузки бинарного блоба в хардварь (привет Qualcomm!).

    У интела-АМД есть микрокод. Только-только разобрались с шифрованием начали его изучение. Для интела.

    В broadcomm WiFi/BT чипах есть realtime процессор D11. Насколько я знаю - его реверс остановился на создании дизассемблера. Что там накожено в сборщике пакетов из PHY - да кто ж его знает, и смысла разбирать дальше уже особого нет, из-за морального устаревания самих чипов.

    (производителем уже конечных устройств или просто любым пользователем)

    Пользователю давно закручивают гайки. Должно быть подписано производителем (причём часто - производителем железа). А то и пошифровано. Покажите мне расшифрованные прошивки SPU модулей. Я очень желаю на них посмотреть.

    Все эти Spectre, Meltdown, Drammer - это закладки или нет ?

    Вот ещё пара ссылок:

    https://sporaw.livejournal.com/84729.html

    https://sporaw.livejournal.com/215128.html


    1. noanswer
      21.07.2022 10:58
      +4

      все ждал когда кто-нибудь упомянет Spectre, Meltdown, Drammer ... собственно почему закладка не моджет иметь форму "дыры", ошибки проектирования архитектуры?


      1. iig
        21.07.2022 11:09
        +3

        почему закладка не моджет иметь форму "дыры

        Допустим, Министерство обороны Океании попросило сделать Spectre чтобы кошмарить Остазию. Но в Океании точно такие же компьютеры, с теми же уязвимостями?


        1. noanswer
          21.07.2022 11:29
          +1

          у двух ковбоев одинаковые пушки...


          1. iig
            21.07.2022 12:36
            +3

            у двух ковбоев одинаковые пушки...

            Пушка одна на двоих. Выстрелить можно только 1 раз. Преимущество будет у того кто первый выстрелит, а не у того кто создал.


        1. ads83
          21.07.2022 11:54
          +4

          1. Если в Остазии всего два человека, которые теоретически способны найти Spectre, причем один работает над архитектурой для армии Остазии, а второй по контракту пилит совместный с Океанией проект — то Океания может не бояться что Остазия найдет уязвимость.
          2. Если Океания знает про уязвимость, то она также знает и о том, как ее прикрыть, и как определить атаку на эту уязвимость. (Тот же Spectre можно нивелировать на уровне ОС, как пример). Правительство сидит на защищенной ОС, а если кто-то захочет ломануть самую богатую фирму Океании — его засекут и познакомятся.


        1. geher
          21.07.2022 19:00

          Зачем "попросило сделать"? Уязвимость могла получится совершенно случайно. Или осознанно забили на известный побочный эффект полезной функции (возможность использования особенностей системы предсказания аетвлений или недокументированная суперкоманда для отладки процессора). Но после обнаружения "кем надо" и настоятельной просьбы "пока не исправлять" она благополучно превращается в закладку, пребывая в сем статусе до обнаружения кем-то еще с обнародованием факта. Та же логика может работать и с софтом.


    1. Armmaster Автор
      21.07.2022 11:41
      +2

      Spectre, Meltdown и т.д. это, во-первых, не закладки, а ошибки. Всё же при определённом уровне понимания процессорной тематики, это достаточно очевидно. Но всё написанное в статье абсолютно применимо к Spectre/Meltdown. Примите, что это аппаратные закладки, заложенные Интелом в процы. Как их использовать, если нет возможности прямого запуска кода не машине? У нас практически вся инфраструктура в России (да что в России - в мире) построена на процах,где есть Spectre/Meltdown. Но что-то никаких массовых проблем не наблюдается.


      1. yatakoy
        21.07.2022 12:01
        +2

        Но что-то никаких массовых проблем не наблюдается.

        Или просто время не пришло)


      1. ads83
        21.07.2022 12:27
        +3

        Но что-то никаких массовых проблем не наблюдается.

        Так это же уязвимости для тихого воровства данных. Если эта закладка сделана АНБ в 2006-2010, обнаружена проблема в 2018, то откуда вы знаете сколько паролей АНБ утащила в 2015? Это даже в ретроспективе не узнать, если только не хранить весь трафик за 5 лет. Со всех серверов.
        Опять же, условному АНБ интересны пара паролей к админкам 3-5 сайтов и паролю отдельно взятого сенатора. Никакой массовости!


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

        Я могу придумать (например) атаку на дата-центр, где хостится сервер условной "кремлевской поликлиники". Сначала угнали секрет веб-сервера, с его помощью вошли в админ-панель, оттуда добрались до консоли БД и выкачали кто из депутатов чем болеет. У нас есть компромат и частичное расписание охраняемых людей!
        Самая мякотка в том, что вектор первоначальной атаки раскрыт не будет. И можно доработать схему до скрытого вытаскивания данных наружу.
        Все-таки не зря с этими уязвимостями так носились и срочно латали.


        1. Armmaster Автор
          21.07.2022 12:49

          Для того, чтобы можно было добраться до БД кремлевской поликлиники, вам нужно чтобы эта БД, или веб сервер с админкой физически хостился на том же сервере, где вы можете арендовать виртуалку с возможностью запустить свой код и осуществить атаку. Так обычно не делают, и соответственно, если хочется исключить такого рода проблемы, то просто правильная организация инфраструктуры даёт нужный результат. Я уж не говорю про то, что в реальности использовать Spectre/Meltdown на реальном серваке, где работает куча сервисов да ещё и под стэком виртуализации, та ещё задачка. Не уверен, что это вообще реалистично. Просто надо понимать, что безопасники, в силу специфики своей работы, всегда гиперболизируют угрозы. Если же более адекватно смотреть на все это, то Spectre/Meltdown выглядят далеко не так страшно, как это пытаются выставить. Каждый день что-то ломают с помощью банальнейших уязвимостей в софте. А реальные утечки из-за Spectre/Meltdown я сходу не припомню. В любом случае, они пренебрежимо малы, по сравнению с софтварными взломами. Просто в реальности их крайне сложно эксплуатировать


          1. ads83
            21.07.2022 13:53

            Соглашусь: их сложно эксплуатировать. Признаюсь, я не пентестер. Но по тому, что читал (да на Хабре немало разборов) — каждая, малейшая зацепка помогает раскрутиться и продвинуться дальше.
            Возможность на каком-то этапе прочитать пароль, RSA секрет или даже логин админа — довольно ценна.


            Опять же, утечки именно из-за этих уязвимостей доказать нереально. Изменений в атакованной системе не остается. Мы просто читаем данные.


            Довод "раз за 15 лет не было утечек из АНБ об эксплуатации — значит не было" мне кажется откровенно слабым. Вспомните историю про швейцарские шифромашинки: прошло 40 лет до момента раскрытия.


      1. allter
        21.07.2022 12:43

        Spectre, Meltdown и т.д. это, во-первых, не закладки, а ошибки.

        Классные такие "ошибки". Мне кажется, что когда обезьяна вынимает чеку из гранаты, которую ей вручили - она не ошибается (точнее, нельзя сказать, что "она ошибается"). Она просто "не думает". Именно это, если верить официальной информации, произошло при разработке фич, благодаря которым стали возможны подобные уязвимости.

        Вопрос "ошибка это или уязвимость" требует анализа действий тех, кто поручал/контролировал такую разработку (аналогично тому, как расследование гипотетического инцидента с обезьяной подразумевает нахождение того, кто вручил ей эту гранату и выяснение его мотивов).

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

        Для Spectre/Meltdown прямого запуска кода и не требовалось. Они эксплуатировались даже через javascript в браузере.

        У нас практически вся инфраструктура в России (да что в России - в мире) построена на процах,где есть Spectre/Meltdown. Но что-то никаких массовых проблем не наблюдается.

        Во всех современных ОС уязвимость закрыта на уровне ядер. Если где-то в критичных отраслях используются старые ядра или при загрузке передаётся флаг, отключающий фикс - то они ССЗБ.

        Кстати, заодно отвечу на

        Intel ME, Intel AMT - Не вдаваясь в рассуждения о том, насколько данные технологии безопасны, можно просто констатировать, что они реализованы на базе отдельного процессора на материнской плате и не являются частью CPU.

        А современные ЦП разве могут нормально работать без технологий типа ME? Я вот тут разбирался с багом сетевой карты - фикс был как раз по направлению ME.


  1. MadridianFox
    21.07.2022 08:31
    +8

    Автор даёт свою классификацию закладок и способов их появления, и далее оценивает реализуемость и применимость своих же идей.


    1. Brak0del
      21.07.2022 09:02
      +1

      Но ведь не свою, там же Техранипур и К в подписи к таксономии, известные ребята, занимаются этим уже десятки лет, профессура.


      1. ads83
        21.07.2022 10:13
        +1

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


        Чтобы упростить вопрос, давайте за возможные варианты срабатывания аппартной закладки примем два

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


        1. Armmaster Автор
          21.07.2022 11:44

          И что изменится в статье, если мы начнём рассматривать вариант, что процессор в случае активации закладки сбросит частоту с 2ГГц до 1ГГц? Ну считайте что он у вас просто сгорит, это куда более сильное последствие.


          1. ads83
            21.07.2022 12:59
            +1

            Если процессор сгорит — его заменят, это материальный урон. Ценой в одну железку, которая еще и на гарантии.


            А если система начинает тормозить время от времени, то это повод разбираться. Достанется программистам бэкенда (после вашего обновления программа тормозит), через пару итераций сисадмины раскопают что дело в железной машине, будут проверять все подряд (память, диск, процессор). Искать плавающий баг в своей зоне ответственности, когда проблема где-то рядом — отнимает кучу нервов и времени. Вместо полезной работы сотни человеко-часов будут слиты на поиск черной кошки в черной комнате. Если пересчитать в деньгах, эффект от замедления может быть гораздо сильнее. Эффект от перекладывания не своей вины на непричастную шею оценить вовсе затруднительно.


            Да даже в магазине: если касса сломалась, оператор перейдет к другой. А если тормозит — кассир ждет и очередь копится. А если очередь — в диспетчерской аэропорта или команд для центрифуг обогащения урана?
            И так как объективных причин жертва не знает, инциденты спишутся на случайность и эффективных мер противодействия (взять процессор из другой партии, например) не будет.


            А еще редкая, раз в сутки, единичная несанкционированная запись в память может ломать длительные (2-3 дня) расчеты. И хорошо если это будет ясно на этапе расчетов, а не когда новая лопатка турбины сделает новое окно.
            И так как "неисправность" редка и (псевдо)случайна, причину установят ой как нескоро.


            1. JerleShannara
              21.07.2022 18:12

              Если у вас процессор(ну ладно, микроконтроллер) сгорит в ракете, которая летит, чтобы попасть в эпицентр наиболее вероятному противнику, как по гарантии менять будете?


  1. le2
    21.07.2022 08:33
    +12

    Автор сделал соломенное чучело и сам его побил.
    У меня был случай когда вендор сменил первичный загрузчик процессора в ревизии «Б». NAND-флеш, которую мы выбрали перестала определяться, пришлось срочно менять на расово верный Micron.
    Прошивки в однократной памяти можно поставлять в разные регионы мира разные.
    Не секрет что большинство сложных микросхем не являются аппаратной логикой, а представляют собой микроконтроллер с однократной памятью.


  1. coderaider
    21.07.2022 08:56
    +9

    известная цитата действующего инженера:
    "— Отрицать техническую возможность создания таких «закладок» может только человек, который никогда не видел исходный код процессора на языке описания аппаратуры и не имеет представления о маршруте проектирования микросхем. Например, можно спроектировать небольшой блок внутри процессора — конечный автомат, который будет отслеживать данные в регистрах общего назначения или буферах при записи в кэш. При попадании туда байтов ключевой фразы — например, из текста полученного электронного письма — блок может останавливать процессор.

    Такой аппаратный блок принципиально нельзя увидеть программными средствами, его не сможет найти никакой антивирус. Шифрование не поможет, потому что на регистры или строки кэша всё придёт в уже расшифрованном виде. Можно ли сфотографировать слои чипа электронным микроскопом и вручную искать несколько тысяч вредоносных транзисторов среди миллиарда других? Это поиск иглы в стоге сена без магнита.

    Конечно, можно надеяться, что производители процессоров не будут таким заниматься. Но службы безопасности принимают в расчёт только технические возможности, а не субъективное доверие к тем или иным компаниям. И не только службы безопасности. Вполне возможно, что интерес «Росатома» к МЦСТ частично объясняется тем, что RTL «Эльбруса» написан в России."


    1. Sau
      21.07.2022 10:51
      +3

      При попадании туда байтов ключевой фразы — например, из текста
      полученного электронного письма — блок может останавливать процессор

      Во-первых чтобы в регистры пришло какое-то значение нужно знать какая программа их туда записывает. Думаю OpenOffice и Word разных версий при отображении одного и того же документа исполняют разный код и записывают разные данные в регистры.

      Шифрование не поможет, потому что на регистры или строки кэша всё придёт в уже расшифрованном виде

      Шифрование поможет, потому что можно производить операции над зашифрованными ячейками памяти: допустим надо посчитать на уязвимом процессоре значение выражения 8 * (3 + 7) - (13 - 3) * 7, и закладка сработает на число 10 в любом регистре. Просто добавляем 100 к каждому значению переменной ещё при получении задания уязвимым процессором. От результата берём остаток от деления на 100 уже вне уязвимого процессора. Готово, вычислили значение на уязвимом процессоре не затронув уязвимость. Конечно, это не поможет если каждый процессор уязвим.

      вручную искать несколько тысяч вредоносных транзисторов

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


      1. ads83
        21.07.2022 11:25
        +3

        допустим надо посчитать на уязвимом процессоре значение выражения 8 (3 + 7) — (13 — 3) 7, и закладка сработает на число 10 в любом регистре. Просто добавляем 100 к каждому значению переменной ещё при получении задания уязвимым процессором.

        … и на этапе вычисления (113-103) мы получим ту самую десятку. В более сложных примерах убедиться, что "шифрование" действительно работает, еще сложнее. Кроме того, оно ведь должно защищать от неизвестных закладок, так что заранее неизвестно, чего надо избегать. А вдруг закладка как раз на 113 сработает?


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

        На более верхнем уровне это не поможет. Пример: в куске программы есть типичные операции сложения-умножения, проблем на первый взгляд нет. Но с их помощью можно через переполнение сломать логику программы. Чтобы этого избежать, нужен более глобальный анализ. Для этого нужно иметь компетенции. Возвращаясь к процессорам — для анализа надо иметь компетенции, сравнимые с проектированием процессора.
        Хотя, пожалуй, даже более сильные компетенции. Насколько знаю, на любом уровне обратная разработка сложнее и затратнее прямой.


        1. Sau
          21.07.2022 11:51

          и на этапе вычисления (113-103) мы получим ту самую десятку

          Не самый удачный пример получился. Но суть остаётся прежней, можно вычислить что-то на уязвимом процессоре не затронув уязвимость (если знать о ней). При этом как со шпионами, как только о уязвимости стало известно, можно её обойти или использовать в собственных интересах.

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

          На хабре есть статья про Тьюринг-полноту, там упоминается подобное:

          MMU тасует RAM, чтобы упростить программирование. Если программа правильно особым образом присвоит адреса в памяти, то сможет выполнять произвольные вычисления на MMU с помощью исключений page-faults (комментарии; научная работа), вообще не запуская сам код. Механизм исключений MMU превращается в компьютер с одной инструкцией.

          Возвращаясь к процессорам — для анализа надо иметь компетенции, сравнимые с проектированием процессора.

          Сделать хорошую закладку ресурсозатратно. Этот ресурс можно было бы потратить на улучшение процессора без закладки. Я не знаю что было бы выгоднее.


          1. ads83
            21.07.2022 13:06
            +3

            Но суть остаётся прежней, можно вычислить что-то на уязвимом процессоре не затронув уязвимость (если знать о ней). При этом как со шпионами, как только о уязвимости стало известно, можно её обойти или использовать в собственных интересах.

            Абсолютно согласен! Есть окно, когда уязвимость неизвестна и приносит пользу создавшему, и есть окно когда уязвимость обнаружена жертвой, но еще не обнародована — и может принести пользу жертве. Если компетенции жертвы гораздо слабее, то первое окно может быть в разы больше второго.


            Сделать хорошую закладку ресурсозатратно. Этот ресурс можно было бы потратить на улучшение процессора без закладки. Я не знаю что было бы выгоднее.

            С точки зрения дохода компании — выгоднее, возможно, улучшать. С точки зрения работника, получающего кратно большую зарплату в условном Моссаде — закладка выгоднее. С точки зрения начальника работника — закрыть глаза выгоднее, чем огрести проблемы от Моссада.


    1. K0styan
      21.07.2022 11:07
      +6

      А вот вам мнение бывшего инженера, который хоть и отстал немного, но всё ж таки неплохо понимает, как современная цифра делается. Есть 2 противовесных фактора:

      1. Триггер не может быть слишком простым. Это не может быть просто "число в регистре", ложное срабатывание будет в первую же секунду после старта. Должна быть именно сложная последовательность событий. Это, кстати, дополнительно увеличивает сложность детектора.

      2. Поверх кремния наворочен высоченный стек софта. Микрокод, ОС, драйверы, прикладное ПО. Нет никакой гарантии, что отправленная триггерная цепочка доедет до регистров в неизменённом виде. Те же сетевые пакеты могут приехать в совершенно произвольном порядке. Планировщик ОС может невовремя переключить процессы и т.д.

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


      1. evtomax
        21.07.2022 16:01
        +1

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


      1. event1
        21.07.2022 16:31

        Да, если у злоумышленника есть полный контроль как над изготовлением процессора, минимум с RTL уровня, так и над софтом, то он может соорудить закладку и поддержать её по всему стеку.

        Скажем, если злоумышленника интересует работа по площадям, то можно сделать с одной стороны волшебную последовательность для харакири процессора, а с другой стороны — вирус, который будет эту последовательность активировать. Тогда не нужно держать весь стек, достаточно "попросить" разработчика процессора добавить нужную функциональность и написать вирус с соответствующей полезной нагрузкой. Учитывая, что у программистов в форме, судя по всему, на руках всегда есть парочка 0-day, задача вполне посильная.

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


    1. Armmaster Автор
      21.07.2022 11:46

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


  1. Moraiatw
    21.07.2022 09:00
    +1

    Что насчет Intel ME?

    Эта технология работает в сетях Ethernet и может предоставлять доступ даже к выключенному компьютеру. Может работать в контексте VLAN, так что сетевой траффик не увидеть с хостовой ОС.


    1. BiosUefi
      21.07.2022 11:10

      У автора они странным образом не внутри цпу)))


      1. booyakacrew
        21.07.2022 14:13

        у intel me свой сопроцессор.


        1. JerleShannara
          21.07.2022 18:15

          Который имеет доступ почти ко всему. А у AMD, к примеру, их ex-PSP вообще настраивает память основного процессора.


          1. Gryphon88
            22.07.2022 12:24

            Троянский слон, идущий в качестве обязательно нагрузки, но всех всё устраивает. С такими подходами к оформлению, документации и контролю можно пару грамм взрывчатки и радиомодуль на платы ставить, описывать как Experimental remote shutdown security tool и все равно будут продажи и не будет ответственности.


    1. Armmaster Автор
      21.07.2022 11:47

      В статье Intel ME упоминается


  1. ads83
    21.07.2022 09:16
    +3

    Предположите на минуточку, что какой-нибудь Meltdown или Spectre — это как раз бэкдор, замаскированный под уязвимость. Все Большинство ваших рассуждений таким примером опровергаются.


    1. Массово внедрено
    2. Компания-разработчик не разорилась и не потеряла существенную долю рынка
    3. Процессор "передает данные по запросу" в вашей классификации.
    4. Это не единственные уязвимости, обнаруженные за последние 15 лет в процессорах.

    Вы правы в том, что нет доказанного умысла. Однако отсутствие этого умысла в ближайшие лет 20 доказать вряд ли получится.


    1. Armmaster Автор
      21.07.2022 11:48

      Я уже выше вам ответил - ну предположите и перечитайте статью в таком предположении. В ней ничего не изменится.


      1. ads83
        21.07.2022 13:13
        +3

        Этот пример опровергает все ваши тезисы из раздела "Бизнес-аспекты". Ни репутационные, ни юридические, ни аспекты безопасности не ударили Интел сколько-нибудь сильно. Пожали плечами "ну да, бывает", ухудшили производительность, исправили в следующих версях. Были ли другие последствия?


        1. Armmaster Автор
          21.07.2022 13:29
          +1

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


          1. ads83
            21.07.2022 14:31
            +1

            Буду рад услышать ваше определение "рисков" :-)


            Я вижу, что по одной уязвимости заведен целый ряд ошибок, некоторые с оценкой Medium. С одной стороны — да, это не ужас-пожар, а с другой — да, он неприятен и для его исправления потребовались ресурсы.
            Были ли эти расходы на доработку кучи ОС и другого ПО стребованы с Интела? Насколько я знаю, нет.
            Много ли Интел оправдывался, что допустил такое?


            Почему же вы тогда говорите, что если аппаратные проблемы будут найдены, это принесет бизнес-риски? Пока компании (не только Интел, похожее есть и у Apple и AMD) могут говорить "это не фича, это баг" — рисков они не несут. Независимо от серьезности бага. Вы согласны с этим?


        1. event1
          21.07.2022 16:35

          не ударили именно потому, что никто не доказал, что это закладка. Представьте, что кто-то докажет наличие закладки в процессорах интел и какая-нибудь крупная страна (например, Китай) полностью откажется от продукции Интел в госсекторе. И в стратегических областях. Или вообще везде. Китайски рынок для Интела — 20 ярдов. Будет обидно потерять.


          1. Gryphon88
            21.07.2022 16:44

            Ну как бы в процессе...


        1. LinearLeopard
          22.07.2022 10:35
          +1

          Ни репутационные, ни юридические, ни аспекты безопасности не ударили Интел сколько-нибудь сильно. Пожали плечами «ну да, бывает», ухудшили производительность, исправили в следующих версях. Были ли другие последствия?


          Доля интела упала, apple отказался от их процессоров почти совсем, всякие государства и компании проявляют интерес к RISC-V. Возможно, определённую роль в этих событиях сыграли в том числе и Meltdown со Spectre.


  1. welga
    21.07.2022 09:29
    +1

    Добавлю к экономическим причинам. Не мог найти сколько процессоров выпускается в год, но думаю 1 млрд. вполне реальная цифра. При таком количестве выпускаемых процессоров трудно настроить нужную логистику с отслеживанием определенной партии процессоров.  Так же надо учитывать, что ежегодно выбрасывается такое же количество процессоров, сколько и выпущено. Жизнь процессора не долговечна. Вот и решайте насколько эффективна аппаратная закладка.

    Мое мнение аппаратная закладка лишена смысла, программные закладки более выгодны.


    1. ads83
      21.07.2022 09:59
      +1

      Это если делать специальную партию. Но можно сделать закладку, которая будет работать на всех процессорах. Это даже выгодно с точки зрения секретности: никакие контрразведчики не вычислят, что конкретная партия отличается от обычных процессоров. Не надо прикладывать усилий, чтобы подсунуть цели нужную партию.
      А когда если проблему обнаружат, дать награду "за выявленную уязвимость". И пусть кто-нибудь докажет что это сделано специально.


      1. iig
        21.07.2022 10:50

        Но можно сделать закладку, которая будет работать на всех процессорах.

        Прямо сюжет для нового Джеймса Бонда - в руки плохого парня попал ключ от универсальной закладки для всех процессоров. Кто, будучи в здравом уме, будет планировать что-то подобное?


        1. ads83
          21.07.2022 11:38
          +1

          Уже упоминаемые мной Meltdown и Spectre есть не просто на всех процессорах одной модели. Эти уязвимости присутствуют в нескольких линейках процессоров. Прошло чуть ли не 10 лет с появления до обнаружения.
          А теперь предположите, что кто-то придумал такую уязвимость. Если вам кажется это невероятным, почитайте про соревнование на Си "замаскировать уязвимость под баг". А потом про то, как европейская фирма поставляла шифровальные машинки с уязвимостью, так как это заказали спецслужбы США. Это сложно, но не невозможно.


        1. gxcreator
          21.07.2022 14:35
          +1

          0day и так часто попадают в плохие руки. Отличие 0day от закладки в некотором классе устройств - это присутствие у закладки теоретических целей и желания спрятать факт компрометации.

          Факты наличия закладок общего назначения есть, самый простой и глупый - скрытые учетки в китайских камерах наблюдения(которые естественно не только камеры, а линукс-хосты с доступом в сеть хехе).


    1. Armmaster Автор
      21.07.2022 11:49
      +2

      Да, совершенно верно. Собственно, смысл статьи в одном предложении как раз : " аппаратная закладка лишена смысла, программные закладки более выгодны."


  1. Brak0del
    21.07.2022 09:30
    +4

    Известные заблуждения, принятые считать «аппартными закладками в процессорах»

    А что насчёт сирийских радаров, которые отключились перед атакой израильских самолётов, и в которых предположительно сработал kill-switch? Это ведь, пожалуй, самая первая страшилка, с которой начинают тему про аппаратные трояны. Кстати, по ссылке упоминается и наличие kill-switch-а у европейских чип-вендоров, работающих на военку.

    за десятилетия развития кремниевой микроэлектронники не обнаружено НИ ОДНОЙ достоверно доказанной аппартной закладки в массовых промышленных процессорах. Таким образом можно констатировать, что данная угроза является на данный момент чисто теоретической, но не нашедшей (по-крайней мере пока) своё применение на практике.  Попробуем разобраться, почему так происходит.

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


    1. AlexeyK77
      21.07.2022 10:11
      +3

      вспомнилась некая мутная история с иракскими истребителями "мираж", французского производства, которые в момент начала войны 91года превратились в тыкву. Подробностей за давностью лет уже не помню, но вот такой факт в памяти остался.


    1. MUTbKA98
      21.07.2022 10:38

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

      Далее, вот история с крейсером "Москва" показывает, что всякое бывает. Или там тоже была закладка? Но если была, то это ясно показывает, что отечественное процессоростроение ничем не поможет, ибо там радар уж точно был 100% советский.


      1. tsypanov
        21.07.2022 11:16
        +1

        история с крейсером "Москва" показывает

        История настолько мутная, что сперва нужно узнать все обстоятельства, и только потом она что-то покажет.


        1. K0styan
          21.07.2022 11:49
          +1

          "Шеффилд" в 1982-м погиб по тому же сценарию, который складывается из не слишком противоречивых сообщений о "Москве". Так что с технической точки зрения, на мой взгляд, ничего радикального за кадром не осталось.


          1. tsypanov
            21.07.2022 15:31

            На последнем видео "Москва" вполне себе на плаву, хоть и с небольшим креном, пробоин в борте не видно. Сравните с "Шеффилдом"

            Hidden text


      1. Brak0del
        21.07.2022 13:44
        +2

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

        Простите, где Вы увидели, что речь о прошивке?

        Post after post speculated that the commercial off-the-shelf microprocessors in the Syrian radar might have been purposely fabricated with a hidden ”backdoor” inside.

        И закладка эта якобы активировалась при посылке некоторой кодовой последовательности на выполнение.


    1. K0styan
      21.07.2022 11:33

      Радиолокационный комплекс - это система, большой чёрный ящик. Специализированная, у которой есть предсказуемый входной канал. Который просто напрямую будет ловить то, что система РЭБ "захочет" в него положить. Среди тысяч компонентов радара легко можно спрятать что-то, что среагирует при получении определённого паттерна на антеннах.

      Статья же - про закладки в отдельном компоненте, который может использоваться вообще где угодно. Где нет никакой возможности предугадать, что у него на входы приедет.


    1. Armmaster Автор
      21.07.2022 11:54

      Выше уже ответили - это вендор лок в конечном устройстве


      1. Brak0del
        21.07.2022 13:46

        Не совсем понял, если ответ о радарах, то утверждается, что в них отказали микросхемы общего назначения, а не сработал вендор-лок.


        1. K0styan
          21.07.2022 15:05

          Вендор-лок - не совсем тот термин, да.

          Но в общем случае противоречия нет. Чип мог быть совершенно стандартным, а закладка реализована на уровне firmware и схемотехники платы (где-то сэкономили на обвязке, код поставил что-то не то на IO - порт закоротился).


  1. MUTbKA98
    21.07.2022 10:35

    1. SIM-карты. Как же про них забыли?


    1. Armmaster Автор
      21.07.2022 11:57

      Честно говоря, не совсем понял вопрос.


      1. MUTbKA98
        21.07.2022 12:15

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


        1. Armmaster Автор
          21.07.2022 12:34

          У меня с аббревиатурой SIM ассоциируется только Security Information Management, и вроде там программные решения, мне казалось. Если кто-то сделал на эту тему аппаратный модуль и клиент поставил себе в комп - ну сам себе злобный Буратино. Уж сразу можно тогда ОС с полным контролем действий пользователя ставить


          1. K0styan
            21.07.2022 14:39
            +3

            Тут речь про Subscriber Identificator Module - SIM карты сотовых операторов. Там довольно мощный процессор + возможность закладывать произвольный код (в памяти всплывает полузабытое слово "симлет")...

            Но это именно что легальная закладка. Как антивирус - да, по сути он все ваши файлы сканирует, а иные создателю на анализ отсылает, но люди договорились его к spyware не относить.


        1. event1
          21.07.2022 16:40

          Сама сим-карта не имеет доступа наружу. Она является перефирийным устройством и работает по запросу от модема/процессора. Там небыстрый протокол, типа SPI


  1. tsypanov
    21.07.2022 10:49
    +4

    за десятилетия развития кремниевой микроэлектронники не обнаружено НИ ОДНОЙ достоверно доказанной аппартной закладки в массовых промышленных процессорах

    А программные, но зашитые на этапе производства, вполне себе существуют в аппаратуре виртуализации: https://xakep.ru/2011/12/26/58104/


    1. Armmaster Автор
      21.07.2022 11:53
      +1

      В статье этот случай описан. Это BMC на материнке. И собственно эта проблема также парируется на сетевом устройстве. Ну чудес же не бывает, надо знать куда левый трафик гнать, и на сетевом устройстве этот трафик будет прекрасно виден


      1. tsypanov
        21.07.2022 15:48

        В статье описан также другой сценарий: загрузка данных с компакт-диска на отключенный от сети компьютер надёжно валит его.


        1. Armmaster Автор
          21.07.2022 17:51
          +1

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


          1. tsypanov
            21.07.2022 18:32

            https://xakep.ru/2011/12/26/58104/

            Я вспомнил утверждение одного из специалистов ФСБ о том, что им не страшны закладки, поскольку их системы отключены от глобальной Сети. Но информация из внешнего мира как-то должна попадать в эти защищенные локальные сети, хотя бы через одноразовые оптические диски. Таким образом, я пришел к очевидному выводу и решил анализировать входящий информационный поток в закладке средствами гипердрайвера, чтобы реализовать, так сказать, оружие судного дня, то есть использовать закладку для уничтожения вычислительной системы по внешней команде, передавая ее через входной информационный поток, стеганографически.

            Просканировать информационный поток скрытно, без потери быстродействия, по зубам только аппаратуре виртуализации. В какой точке сканировать, тоже понятно: на буферах ввода/вывода дисковых систем и сетевого адаптера. Сканирование буферов ввода/вывода — плевая задача для аппаратуры виртуализации. Сказано — сделано! Такой гипердрайвер размером около 20 Кб был прописан в биос материнской платы и оснащен функцией защиты от обнаружения. Он блокировал попытки его перезаписи при обновлении биоса и выполнял единственную функцию: обнулял флеш-микросхему биоса при поступлении команды на уничтожение. Сама команда для простоты реализации была зашита в текстовый файл DOC-формата в тегах настройки.
            ...
            Мы связались с "Газпромом", чтобы проинформировать специалистов компании о современных угрозах для распределенных систем управления технологическими процессами. Удалось организовать встречу с руководством службы корпоративной защиты и управления комплексными системами безопасности этой корпорации. Специально для них была подготовлена более наглядная версия закладки с упрощенным командным интерфейсом. Закладка активировалась после загрузки на компьютер текстового файла, содержимое которого включало два слова — "Газпром" и "стоп", — расположенных в произвольном порядке. После этого компьютер умирал, но не сразу, а с задержкой в пять минут. Естественно, можно было сделать задержку и на сутки, но тогда мы бы не уложились во время, отведенное для демонстрации.


            1. Armmaster Автор
              21.07.2022 18:44
              +3

              Во-первых, там не описано никакого сценария про оптические диски.

              Во-вторых, если вы можете в защищённую сеть принести и воткнуть какой-то носитель, который будет содержать что-то вредоносное, то с таким же успехом можно туда программный вирус посадить, к чему тогда уж аппартные закладки.

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


              1. tsypanov
                21.07.2022 22:16

                Но информация из внешнего мира как-то должна попадать в эти защищенные локальные сети, хотя бы через одноразовые оптические диски.
                ...
                Специально для них была подготовлена более наглядная версия закладки с упрощенным командным интерфейсом. Закладка активировалась после загрузки на компьютер текстового файла, содержимое которого включало два слова — "Газпром" и "стоп", — расположенных в произвольном порядке. После этого компьютер умирал, но не сразу, а с задержкой в пять минут.

                По-моему, из контекста очевидно, как именно была реализована закладка.

                ИМХО, тут закладка на стыке софта и железа. Чисто железная закладка имеет мало смысла из-за негибкости.


                1. Armmaster Автор
                  21.07.2022 22:59
                  +1

                  Нет, это совершенно не очевидно. Там чувак, по сути (если принять все его слова на веру), написал гипервизор, который прошил в биос, и который запускался при старте системы и контролировал всю систему, собственно говоря. Это программная закладка, с помощью которой можно с любых I/O каналов считывать инфу, хоть с дисков, хоть с сетевых, хоть с чего угодно. Правда тут тоже не всё так гладко, как автор хочет представить. Например, обычно такие устройства работают через DMA, и в таком случае устройство само напрямую пишет в память. Если начать это эмулировать, то скорость существенно упадёт, и это нельзя будет скрыть (да и ещё надо уметь эмулировать правильно различное железо). А если не эмулировать, то вы не сможете фильтровать трафик в реальном времени, т.к. другая ОС будет это делать напрямую. Вы, конечно, можете время от времени в ту память залазить и что-то там пытаться найти, но тут уже нет гарантий, что нужное кодовое слово не проскочит, это раз, а во вторых, это опять-таки может сильно замедлить работу с устройством.


                  1. tsypanov
                    21.07.2022 23:12

                    Как вы представляете чисто "железную" закладку? Замаскированный блок на кристалле с кодовым словом вшитым на уровне триггеров? Не слишком ли негибкое решение получается?


                    1. Armmaster Автор
                      22.07.2022 00:14
                      +1

                      Именно - проблема аппаратных закладок в их негибкости. Поэтому их использование нецелесообразно. С точки зрения эффективности намного выгоднее переносить реализацию закладки выше по стэку - в прошивки и софт в целом. Да и с точки зрения производства это куда проще. Разработчик делает обычные процы миллиоными тиражами и не парится. А уж если кто-то захотел сделать закладку, то покупает проц, делает своё устройство в нужных количествах, снабжает его нужными прошивками/софтом и все довольны.


                      1. tsypanov
                        22.07.2022 11:41

                        Хорошо, а уязвимости вроде "Спектра" можно считать "железными" закладками?


  1. iu3564
    21.07.2022 11:06

    А что если подобные закладки в военке просто предусмотрены производителем на случай "не в те руки попало" , просто опция от производителя, а что касаемо гражданской электроники, там достаточно особо не париться про безопасность, так и дешевле производить и спецслужбам удобно пользоваться. Итого как такового злого умысла не существует, но поле для всякого рода теорий/спекуляций очень огромное, чем и пользуются разные люди для привлечения внимания


  1. HabrMabr
    21.07.2022 11:56

    Как говорится, вроде все правильно написал, ну душок заказухи доносится.


    1. Armmaster Автор
      21.07.2022 11:57
      +1

      Так помойтесь, возможно душок уйдёт


  1. Indemsys
    21.07.2022 12:00

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

    Сам лично имел счастье работать с SD картами которые теряли файлы через 10 минут. Это закладка или нет?
    С другой стороны видел SD карты в которых был встроен диктофон с радиоканалом, а не просто какая-то закладка.

    По моему тут упомянутая технология kill switch , самая реальная.
    Теперь даже в дешёвых микроконтроллерах есть акселераторы шифрования. Полную доку на них не дают.
    В них прямиком идёт информация в чистом виде как она передаётся по тем же каналам WiFi, Bluetooth, Ethernet. Достаточно в такие акселераторы вставить с десяток лишних транзисторов и из них будет сделан незаметный и безотказный kill switch.




    1. checkpoint
      23.07.2022 06:14

      Чудесная статья про "kill switch", спасибо! Порадовало про модификацию кристаллов после производства и корпусирования с помощью FIB технологии - по сути безграничные возможности для имплантации закладок:

      Chip alteration can even be done after the device has been manufactured
      and packaged, provided the design data are available, notes Chad Rue, an
      engineer with FEI, based in Hillsboro, Ore., which makes specialized
      equipment for chip editing (albeit for legitimate reasons). FEI's circuit-
      editing tools have been around for 20 years, Rue says, and yet ”chip
      designers are still surprised when they hear what they can do.”
      Skilled circuit editing requires electrical engineering know-how, the
      blueprints of the chip, and a $2 million refrigerator-size piece of equipment
      called a focused-ion-beam etching machine, or FIB. A FIB shoots a stream
      of ions at precise areas on the chip, mechanically milling away tiny
      amounts of material. FIB lab workers refer to the process as microsurgery,

      with the beam acting like a tiny scalpel. ”You can remove material, cut a
      metal line, and make new connections,” says Rue. The process can take
      from hours to several days. But the results can be astonishing: a
      knowledgeable technician can edit the chip's design just as easily as if he
      were taking ”an eraser and a pencil to it,” says Adler.


  1. z3apa3a
    21.07.2022 12:41

    Закладка может активироваться, например, через определенное значение регистров общего назначения - такая закладка легко будет активироваться практически любым сетевым запросом


    1. Sau
      21.07.2022 12:47

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


      1. z3apa3a
        21.07.2022 12:50

        любые обрабатываемые данные (например содержимое HTTP заголовка или HTTP запроса) будет проходить через регистры общего назначения. Даже содержимое ICMP ping пакета будет проходить через регистры общего назначения, потому что оно копируется в ответный пакет.


        1. Indemsys
          21.07.2022 13:09

          Регистры общего назначения слишком короткие для этого. Легко просканировать весь их диапазон даже в гараже.
          А вот initialization vector register для шифрования типа AES в 128 бит уже так просто не просканировать. А он точно будет содержать посланные вами данные при любом запросе с SSL шифрацией и не важно даже на каком ядре сделан сам процессор.


          1. z3apa3a
            21.07.2022 13:37

            Можно на последовательность значений, чтобы срабатывало при memcpy(), например, но не суть, я думаю можно много векторов придумать которые не требуют выполнения кода.


        1. Sau
          21.07.2022 13:33

          Копирование блоков памяти выглядит очень востребованной операцией, и напрашивается оптимизация - прямое копирование, без загрузки в регистры. Скорее всего оно даже существует. Впрочем гарантировать непрохождение байтов через регистры не могу.


          1. z3apa3a
            21.07.2022 14:44

            Да, например анонсировано на arm https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2021 - и это замечательное место для закладки, потому что будет вызываться на любом memcpy. А пока на arm https://github.com/ARM-software/optimized-routines/blob/master/string/aarch64/memcpy.S - если ваши данные попадают в memcpy можно установить практически любую комбинацию регистров общего назначения.


    1. Armmaster Автор
      21.07.2022 13:02
      -1

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


  1. Gryphon88
    21.07.2022 12:46
    +2

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


    1. Armmaster Автор
      21.07.2022 13:03
      +3

      Да, так и есть - куда более вероятны и разумны закладки в готовом изделии, чем непосредственно в кремнии проца


  1. Cast_iron
    21.07.2022 12:51
    +2

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


  1. karambaso
    21.07.2022 13:06
    +2

    Закладки - реальность. Выше уже указывали, что при наличии возможности и, одновременно, целесообоазности, ни одна страна не откажется от такого оружия. 100% гарантии.

    Ключевое возражение - как передать сигнал. Но здесь, как говорится, я вас умоляю, не задавайте глупых вопросов. Потому что если у страны есть возможность предоставить вам правильное железо, то уж предоставить вам правильный софт для передачи сигнала эта страна всегда сумеет.

    Самый простой и очевидный пример:

    Ставим закладку, повышающую уровень процесса до системного (да можно даже в обычную SMM Mode переводить, и закладок сложных не надо). Даём папуасам их любимую виндовс. Даже с исходными кодами по требованию папуасского фсб. Папуасы радостно ставят "надёжную" винду и надеются, что никакая пакость им более не страшна. Затем папуасы ставят стандартный набор софта, который папуасские админы всячески прессуют на предмет ограничения прав. Админы уверены - вражеский софт в песочнице, за которой следит проверенная папуасским фсб винда (или папуасская астра-линукс, например). Но тут вражеский софт вежливо просит знакомый процессор по старой дружбе перейти в SMM Mode. Обычному софту после этого сделают кирдык, но это же дружественный софт! Он знает все явки и пароли. И по дружбе получает полный доступ на уровне системы. Ну и всё, далее система сама, используя проверенные папуасским фсб сетевые драйверы, отправит всё что нужно куда попросят.

    Если вдруг ещё возникнут вопрося типа "ну какой такой софт дозволит пропустить папуасское фсб?", я вам отвечу - любой, котрого в папуассии нет. Например - браузер. Или вы документацию в html без браузера читать собрались? Далее остаётся ответить на вопрос - цру какой развитой демократии имеет все возможности для внедрения в любой браузер (или в почти любой другой софт)?

    Вывод - закладки есть. Но цру велело их отрицать, потому что не хочет пугать папуасов. И непуганные папуасы с радостью качают цру-шный софт.


    1. Indemsys
      21.07.2022 13:22

      Программисты микроконтроллеров уже давно не сомневаются в реальности закладок.
      К примеру такие хитрые и практически не обнаруживаемые приёмы как ROP и IOP https://tcipg.org/sites/default/files/papers/2014_q3_tfs1.pdf


    1. Armmaster Автор
      21.07.2022 13:36
      +5

      Во-первых, если это реальность, приведите хотя бы один пример.

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


      1. karambaso
        21.07.2022 14:22
        -4

        Во-первых, если это реальность, приведите хотя бы один пример.

        Я вас умоляю...

        Во-вторых, ... вы при это описываете программные закладки - ОС, браузер и "любой другой софт"

        Я вас умоляю много много раз...

        Вы либо не прочитали комментарий, либо не знаете, что такое SMM и вообще повышение уровня доступа. Второе лечится так - вбиваете в гугл "x86 smm mode".


      1. gxcreator
        21.07.2022 14:44

        А прошивка сетевого контроллера(имеет доступ к пакетам и к памяти по DMA) или SSD(контроллер - четырехядерный ARM процессор с 1Гб+ DRAM и терабайтом накопителя с доступом по DMA к памяти CPU хоста) - это программная часть или аппаратная?


    1. K0styan
      21.07.2022 14:48
      +1

      Так о том и речь в статье. Как раз рассмотрены возможность и целесообразность, причём именно для уровня кремния.

      Возможность? Очень дорого и требует координации огромного числа участников. Которые должны эту историю ещё и в секрете держать.

      Целесообразность - очень низкая, потому что сам процессор без периферии вредить не может.

      Есть масса других способов, более доступных и эффективных. И про них как раз вопросов нет: используют, и не только государства, но и частные компании, и преступные сообщества.


      1. Sergeant101
        21.07.2022 20:30

        Насколько огромного?

        Разработке проца одна группа вполне может не знать что делает другая.


        1. K0styan
          22.07.2022 10:58

          Ну как минимум по всей цепочке - логический дизайн, топология, шаблоны, кремний + тестирование на каждом этапе - нужна своя группа, которая будет посвящена в секрет.

          Плюс такие же группы уже в компаниях, занимающихся чипсетами, драйверами, ОС. На круг очень порядочно людей выходит. Причём в нескольких организациях, т.е. в каждой будет своя цепочка управления.


  1. acordell
    21.07.2022 13:21
    -1

    Я когда-то тысячу лет назад писал код прямо в машинных кодах. Так вот, например, какая-нибудь простейшая команда, типа MOV, имеет код 0x89 в вариации регистр-регистр, 0x8A регистр-память, 0x8B память-регистр. И никто, вообще-то, не может сильно тебе помешать выдать команду с кодом 0x8E, которой нет. По крайне мере в описании. Такое, в общем, и случалось несколько раз в результате моих кривеньких ручек. Так вот к моему удивлению далеко не на все несуществующие команды процессор остро реагировал. Некоторые просто съедал без какого-то видимого результата. Но... съедал.

    В общем, легко могу себе представить наличие незасвеченных кодов команд, которые могут делать что-то весьма интересное. Да, дать доступ по порту, они, ясный пень, не могут, но отрубить проц или перемешать данные дальше по памяти или в стеке, вызвав тем самым отложенную ошибку, могут запросто. И как такое вообще можно найти? А активировать такое тоже, в общем-то, не сложно. Прилетит обновление в систему, где какой-нибудь модулек будет такую команду содержать. Причем даже не обязательно в виде исполняемого кода. Так... кусок данных в памяти, на который в нужный момент случайно перескочит управление...


    1. event1
      21.07.2022 17:46
      +1

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


      1. YuriPanchul
        22.07.2022 19:15
        +2

        Эта фича станет достоянием, когда такая инструкция одна. Но это была бы слишкая тупая закладка. Представим себе, что одна такая инструкция просто устанавливает некий бит состояния в процессоре, невидимый программисту. Потом приходит другая такая инструкция, видит предыдущий бит состояния и устанавливает другой бит состояния. Итд - закладка срабатывает после появления (не обязательно подряд, между ними может быть час выполнения) определенной последовательности инструкций. При достаточно длительной последовательности найти такое случайно можно только за время больше чем время жизни Вселенной.


        1. event1
          22.07.2022 19:32
          +1

          Ваша правда. Такая улучшенная закладка будет полезна до первого "боевого" применения. После этого компанию-производителя можно смело закрывать


          1. Wesha
            23.07.2022 02:07
            +2

            После этого компанию-производителя можно смело закрывать

            ...ведь все прекрасно помнят, как была смело закрыта Intel после фиаско с FDIV (сарказм)


            1. iig
              23.07.2022 10:46

              А что с боевым применением этой закладки?

              История стоила Intel более половины прибыли за последний квартал 1994 г. — $475 млн

              Компания потеряла кучу денег. Отличный план, точный как швейцарский сыр ;)


          1. checkpoint
            23.07.2022 03:48
            +1

            Либо выписать премии конструкторам, а руководство повысить. Все зависит о того, с какой стороны баррикад Вы находитесь.


    1. JerleShannara
      21.07.2022 18:25
      +1

      Если мы говорим о x86, то после прилёта «несуществующей» инструкции процессор генерирует прерывание Invalid OpCode, обработчик которого уже и решает, что делать с той самой несуществующей инструкцией. Если хочется на такое посмотреть — найдите в сети исходники любого AWARD BIOS слегка старше, чем 286/386 камни и посмотрите, как была сделана поддержка недокументированной инструкции LOADALL.


      1. dragonnur
        22.07.2022 10:57
        +1

        Я так понял, что в данном случае прерывание не генерируется, потому что инструкция на самом деле есть - и она тоже недокументирована.


    1. Arioch
      23.07.2022 01:12

       Так вот к моему удивлению далеко не на все несуществующие команды процессор остро реагировал

      Не вы первый. Но - при чём тут закладки ?

      MOS 6502 undocumented instructions - https://www.pagetable.com/?p=39 - вполне популярно описано, как такие "инструкции" возникают.

      Среди этих "команд" были и приводившие к зависанию. Из более свежих примеров - Pentium и F0 0F C7 C8


  1. welga
    21.07.2022 14:14

    Так вот к моему удивлению далеко не на все несуществующие команды процессор остро реагировал. Некоторые просто съедал без какого-то видимого результата. Но... съедал.

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


  1. victor_1212
    21.07.2022 15:03

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

    вобщем согласен с выводами автора, imho в части hw скорее стоит опасаться управляемых нарушений технологии изготовления, типа новая IC работает нормально, но через 12 месяцев происходит деградация, типа чувствительность к внешним условиям повышается, плюс вброс такого гуано в серые каналы поставки


    1. Serge78rus
      21.07.2022 17:27
      +1

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


      1. victor_1212
        21.07.2022 18:27
        +1

        точка бифуркации ни Вам, ни мне не известна, но например может быть использована как часть sting operation


  1. byman
    21.07.2022 16:30

    На мой взгляд, аппаратной закладкой в процессоре может быть абсолютно

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

    Также, если есть возможность близко находится к прибору, можно попробовать снимать некоторое ЭМИ. Помню, как-то в прошлом веке человек рассказывал, что все ,

    что печаталось на его ЕС-принтере, через стену печаталось на компе в припаркованном авто.

    Наверное много чего можно узнать о работе устройства если знаешь его досконально.


  1. Hlad
    21.07.2022 16:32
    +1

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


  1. TheGodfather
    21.07.2022 17:45
    +1

    осле начала СВО на Украине, уровень противостояния России с США и ЕС достиг критического уровня. Фактически, стороны используют практически все возможные методы нанесения ущерба, кроме прямого военного столкновения армий государств. В том числе осуществляются регулярные хакерские атаки на информационную инфраструктуру России, что приводило к обрушению некоторых государственных сервисов. Но всё это происходило только с использованием программных уязвимостей. Я думаю, ни у кого не возникает сомнения, что при наличии аппаратных закладок в процессорах Intel/AMD (на которых построена вся инфраструктура страны), они были бы использованы.


    Как называется этот прием, когда совершенно неочевидные вещи подаются под соусом «не возникнет сомнений»? Конкретно сейчас госбезопасности США не угрожает *абсолютно* ничего. С чего бы им использовать такой мощный козырь в рукаве (есть он или нет, вопрос другой)? Да, несомненно, обстановка в мире несколько напряженная, но даже для Украины она еще даже не «на грани», я так думаю.

    Перегнули вы тут палку, имхо.


    1. Armmaster Автор
      21.07.2022 18:05
      +1

      Я там прямо написал, что это косвенное доказательство. Возможно, оборот "не возникнет сомнений" звучит слишком безапелляционно, но это скорее к дискуссиям из области филологии. Но лично для меня это и правда не вызывает сомнений. Нам полностью обрубили все легальные возможности по производству процов, там санкции на максимуме. И это при том, что , как вы утверждаете "госбезопасности США не угрожает абсолютно ничего". Производство Эльбрусов/Байкало ей также ничем не угрожает, но тем не менее. Была бы возможность навернуть нашу инфраструктуру военную и даже гражданскую - наверняка бы уже такие возможности были бы использованы. Но это всё несколько досужие рассуждения, я согласен. Вы можете считать иначе.


  1. event1
    21.07.2022 18:00
    +1

    Я тоже про Intel ME сомневаюсь тезисам автора. Да, технически он работает на отдельном процессоре — PCH. Но он, на сколько я понимаю, является обязательной частью системы с процессором Intel. И внутри у него неизвестный софт. Технически, это не "аппаратная закладка", но по факту она привязана к процессору и имеет неизвестную функциональность.


  1. no_future
    21.07.2022 18:15

    Закладку сделать вообще не проблема - если процессор читает последовательно известную сигнатуру, то передать на неё управление. Тогда для взлома системы достаточно отправить на неё сетевой пакет с шеллкодом.

    Массовость не довод, можно изготовить специальную партию процессоров и постараться, чтобы она попала кому надо

    В 21 веке, когда обновление прошивок процессоров распространяется онлайн, еще и с автоматической установкой, закладку можно добавить в новую версию прошивки. Насколько я знаю, она зашифрована и никто не разбирался, что она делает.


    1. Armmaster Автор
      21.07.2022 18:22
      +1

      "сетевой пакет с шеллкодом"

      Мда. Может с гранатой сразу? Вы вообще представляете себе, как устроен сетевой стэк?


  1. titbit
    21.07.2022 21:53

    Ох, как человек с кучей NDA как раз от почти всех крупных производителей хотелось многое написать, но не могу. В целом в поднятой теме много вопросов, первый самый важный — а что считать «закладкой», тут вот даже про уязвимости такая дискуссия развернулась, но четкого понимания это не добавило. Получается, кто-то считает их закладками, кто-то нет, и всё — общего понимания уже нет. А знаете сколько еще всяких загадочных блоков в современных процессорах, о тонкостях работы которых знают только спецы? Поэтому получается, что явных закладок может и нет, но нестандартно использовать имеющиеся возможности в сочетании с багами для нанесения ущерба — вполне можно. И поэтому поиск явных закладок будет скорее всего не успешен, а вот попытки незаметно сделать что-то нестандартными путями и далее будут с большой вероятностью успешны. Слишком уж поле для деятельности стало большим — когда у вас сотня блоков и все взаимодействуют, то ни одна документация не опишет все миллиарды взаимодействий.

    p.s. не зря errata на современные процессоры закрытая информация, там как раз описаны найденные случаи нестандартного поведения, а сколько еще багов не найдено…
    p.p.s. найти баг в современном процессоре типа x86/arm вполне реально, я лично находил несколько багов по работе, значит и любой другой человек найдет при должном усердии.


    1. victor_1212
      21.07.2022 22:08
      +1

      вполне согласен с написанным, про NDA в частности :)


  1. mgearr
    22.07.2022 00:19

    Почему никто не вспоминает про старую добрую закладку штуковину под названием "Wake On LAN"? Выключенный (!!!) комп вообще без палева сканирует сеть и переходит в другой режим работы при обнаружении некоей сигнатуры

    То есть, официально "выключенный" комп фактически является включенным и что-то там шебуршит втихаря

    Что ещё интересного, кроме WOL, он умеет делать в "выключенном" состоянии? А во включенном?


    1. DreamingKitten
      22.07.2022 00:25
      +1

      Никто там ничего не сканирует. И комп не то чтобы прям выключенный — он находится в ACPI power state S3 (емнип) при котором контроллер Ethernet частично работает и проверяет приходящие пакеты на заранее известную сигнатуру.


      1. mgearr
        22.07.2022 04:18
        +1

        Никто там ничего не сканирует

        контроллер Ethernet частично работает и проверяет приходящие пакеты

        Двоемыслие – душа ангсоца


        1. DreamingKitten
          22.07.2022 04:56
          +3

          Вам, вместо придумывания едких (но глупых) замечаний, следовало бы подтянуть владение отраслевой терминологией.

          Сканирование сети в случае проводных сетей подразумевает активную рассылку зондирующего траффика. Таким, например, занимается утилита nmap.

          Тогда как сетевой контроллер в режиме WOL занимается пассивной прослушкой входящего траффика.

          Это не просто разные процессы, это противоположные процессы и никогда в профильной литературе одно не называлось термином другого.


          1. mgearr
            22.07.2022 22:54
            -1

            Такие вещи уместны в суде, где побеждает дословное цитирование. В науке и технике дела обстоят немножко иначе. Там важнее не буква, а суть. Но по сути-то вам возразить нечего, а победы с споре хочеццо. Казалось бы, можно докопаться до букв. Только здеся у вас тоже не срослося: упоминание "отраслевой терминологии" и "профильной литературы" без точного указания документов является ничем иным, как демагогией. Ну а переход на личности в техническом споре, надеюсь, вы и сами знаете, что обозначает, а если не знаете, то пояснять не возьмусь ни за какие коврижки

            В качестве бесплатного презента - первые попавшиеся цитаты из "отраслевой терминологии", где от сканеров не требуется быть излучателями:

            В геологии термин С. часто употребляется в связи со съемками некоторых участков местности с помощью приемников (датчиков) электромагнитного излучения с малыми углами поля зрения, устанавливаемых на самолетах или космических носителях

            сканирование: в информационных системах — поиск каких-либо устройств либо объектов путём последовательной проверки наличия определённых признаков у каждого элемента множества всех имеющихся объектов


            1. DreamingKitten
              23.07.2022 01:02

              цитаты из "отраслевой терминологии"

              ...

              В геологии

              Хм. Зачем вы приплели в обсуждение IT-шной статьи геологию?

              сканирование: в информационных системах — п поиск каких-либо устройств либо объектов путём последовательной проверки наличия определённых признаков у каждого элемента множества всех имеющихся объектов

              ОК, я согласен с таким определением.

              Но сетевой адаптер в режиме WOL не занимается «поиском каких-либо устройств», следовательно — не сканирует.

              В науке и технике дела обстоят немножко иначе. Там важнее не буква, а суть

              Разумеется. Вероятно, именно поэтому и существуют технические стандарты и спецификации, да?


  1. Isiirk
    22.07.2022 03:53
    +1

    Странная статья, по мне притянуто за уши.

    Репутационные потери - при 10 нм процессе и миллиардах транзисторов это не найти, как вы себе представляете реверс при таких технологиях?

    Риск утечки информации о механизмах эксплуатации аппаратной закладки третьим лицам - вы помните великую отечественную?, до сих пор много нового узнаем...

    Юридические - не хотите не покупайте, ни кто не заставляет же, есть альтернативы, Уверен что отказ от ответственности прописан на 10 листах.

    Экономические - странное заявление, в общем объеме проектирования не имеет ни какого смысла.


  1. axe_chita
    22.07.2022 05:45

    VIA God Mode в документации описан, а вот команды этого режима ни как не описаны, Terra incognita так сказать. Плюс режим может работать с любого уровня защиты, функционал доступа к регистрам х86 не известен. Да и упование на защиту BIOS от перехода в этот режим весьма слабы, достаточно одной ошибки или лентяя чтоб эта линия защиты рухнула.


  1. AlexKMK
    22.07.2022 09:31
    +2

    Мы анализировали по поводу закладок в роутерах.

    Закладка может активироваться появлением специальных записей в BGP таблицах. Условный АНБ публикует специальную AS с определенными характеристиками. Роутеры ее подхватывают ( без BGP от роутеров нет смысла) и что-то начинают делать. Примером же последующего транспорта может служить, например, tcp over dns. Который лет эдак 10 назад некоторыми использовался для получения неконтролируемого доступа к интернету на разных хотспотах.

    Если же мы говорим об обычных процессорах, то тут можно вспомнить Spectre и прочие вещи. А именно : все данные, которыми оперирует процессор, проходят через процессорный кеш. Таким образом, загрузив в кеш специально сформированные данные, можно активировать закладку. И тут уже огромное поле для маневра : от комментария в HTML коде, до текстового сообщения в почте. В общем все то, что так или иначе, в популярной кодировке (ASCII или UTF-8) без изменений пройдет через кеш данных процессора.

    Ещё можно добавить огромные AVX/SIMD регистры и триггерится можно по значению этих регистров. В AVX-512 вполне можно поместить 64 байта информации, что по идее должно быть достаточно для уникального триггера. А если нет, ну так можно тригнуться на последовательности значений AVX регистра. В этом случае счёт идёт уже на килобайты.

    Но, пока что в этом нет смысла потому, что и компьютеры и интернет все ещё используются нашими западными партнёрами для доставки правды на территорию РФ. Но с каждым витком упорства РКН, риск что интернет русским медведям станет в глазах партнеров не нужен растёт - тк он будет полностью зачищён от правды.


    1. edo1h
      23.07.2022 02:16

      А именно: все данные, которыми оперирует процессор, проходят через процессорный кеш. Таким образом, загрузив в кеш специально сформированные данные, можно активировать закладку. И тут уже огромное поле для маневра: от комментария в HTML коде, до текстового сообщения в почте.

      уже обсуждалось выше.
      большая проблема: как обезопасить свои компьютеры?


    1. checkpoint
      23.07.2022 03:35
      +1

      Как человек проработавший в связи почти половину своей сознательной жизни, начиная с 90х, могу сказать, что никаких закладок не требуется. В софте современных маршрутизаторов Cisco братьями индумами наводнено такое количество багов, что одна неосторожная запись в BGP приводит либо к постоянному крэшу маршрутизатора, либо к рулежке трафика совсем не в том направлении. Ну, а в SS7 (ОКС7) балом правит абслютный бардак и "слово джентельмена".


  1. Rebelqwe
    22.07.2022 10:59

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


    1. zenhower
      22.07.2022 12:59
      -1

      Вроде автор довольно монотонно и подробно рассказывал о реальных аппаратных устройствах. И даже проводил черту между закладкой и уязвимостью. А фантазировать на тему "возможно тут внутри антенну засунуть и транслировать поток со скоростью 480 мбит\с" оно то можно. Создайте макетку или придумайте логику извлечения секретных данных на основе такой закладки, напишите статью, мы оценим.


      1. Rebelqwe
        22.07.2022 13:32
        -1

        На викиликс всё описано, в утечке Сноудена. Есть и технология производства и архитектура и как такой сигнал перехватывается.


        1. zenhower
          22.07.2022 14:00

          На викиликс описано как (цитирую) "никаких проблем создать технологию, которая на 5 км радиосигналом с определенными данными передаёт"? Нет? Тогда зачем на Сноудена ссылаться?


          1. Rebelqwe
            22.07.2022 14:39
            -1

            Да, такая технология описана. Причем есть передатчики-на-чипе на 5 км и на 15. Почему я не должен ссылаться на документы, чья подлинность подтверждена.


            1. victor_1212
              22.07.2022 15:01
              +1

              > Почему я не должен ссылаться на документы, чья подлинность подтверждена.

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


              1. Rebelqwe
                22.07.2022 15:10
                -1

                Ну во первых это не фантазии, а техническая документация на подобные устройства. Питания провода USB им вполне хватает, а питание процессора примерно сравнимое. Во вторых я начал с того, что автор полностью проигнорировал один из реально созданных и производящийся в промышленных масштабах на чипе, тип закладок (а не уязвимостей прошу заметить), который передает данные радиоканалом.


  1. DreamingKitten
    22.07.2022 12:56
    +3

    по-моему на Хабре было уже, но сходу не нашёл

    В конце 90х общался с людьми, которые исследовали управляющую плату станка. Проблема была такого характера: станок б/у без поддержки и гарантии куплен в штатах за 500 тысяч долларов и привезён в Украину. Раз в 2-3 месяца умирает какая-то большая плата, которая стоит 10 тысяч долларов новая. По словам производителя она ремонту не подлежит. Для справки — тогда хорошая зарплата была 50-100 долларов. В общем пригласили пару спецалистов и пообещали им 10 тысяч за реверс (обратную разработку) этой платы с целью ремонта или производства в кустарных условиях. Народ пыхтел пол года т.к. железячные анализаторы такого уровня были недоступны и проблема не воспроизводилась в лаборатории. Плюс ко всему на плате была уйма экзотических компонентов без маркировки от чипов (по всей видимости вентильные матрицы) до каких-то модулей в экранах и даже танталовых конденсаторов. Функциональность платы — управление блоком манипуляторов (90% станка), были ещё платы, которые управляли конвеером и погрузчиками. В общем, проблему удалось отловить только проживя месяц на производстве в обнимку с десятками осциллографов и самописцев. Оказалось — это такая себе авто-поддержка. Плата, работая на реальном производстве, а не на стенде, по высокочастотному аналоговому радиоканалу (!) получала сигналы с погрузчика и где-то у себя в энергонезависимой памяти накручивала счётчик погрузок. Когда значение счётчика выростало выше какого-то порога, запускалась машина судного дня (30% платы), которая определённым подбором частот кварцев и их делителей, а также цепями операционных усилителей начинала создавать дикий высокочастотный шум в сотни мегагерц с возбуждением на дорожках, так что выгорало несколько ключевых микросхем неизвестного происхождения и доходило до того что выгорали даже дорожки и взрывались конденсаторы. После понимания сути проблемы ещё месяц ушёл на «разминирование» т.к. на всех стадиях так или иначе были задействованы реально работающие блоки. Пришлось несколько простых блоков скопировать на другой элементной базе, расположить это всё на отдельной плате, придумать защиту от возбуждения и врезать эту плату в основную. После этой доработки станок продолжает работать без ремонта оной.


    1. zenhower
      22.07.2022 13:15

      А не проще было экранировать или даже найти источник "высокочастотного аналогового радиоканала"? Да и месяц смотреть на осциллографы ради ожидания обнаружения секундного всплеска, который нельзя повторить? Да даже если запись экранов на видео, все равно фантастика. Про самописцы - это что-то из медицины. А после "... определённым подбором частот кварцев и их делителей, а также цепями операционных усилителей начинала создавать дикий высокочастотный шум в сотни мегагерц с возбуждением на дорожках ..." захотелось купить все фантастические книги автора.


      1. Rebelqwe
        22.07.2022 13:39

        Врятли возможно экранировать 30 процентов платы и сохранить весь функционал при этом.


        1. zenhower
          22.07.2022 13:57
          +2

          Радиопередатчик нельзя было найти? Та вырезка изобилует ляпами и "гуманитарными" излишествами, но не отвечает на закономерные и логичные вопросы.


          1. AlexKMK
            22.07.2022 14:35
            +1

            Но история классная.

            Напоминает про модуль в Роллс-Ройс, который через 40 тыс км. пробега высыпал в гбц жменю песка


          1. Rebelqwe
            22.07.2022 14:41

            Радиопередатчиком становились были 30 процентов печатной платы, написано же. Выделенного радиопередатчика не было.


            1. zenhower
              22.07.2022 15:16

              "Плата, работая на реальном производстве, а не на стенде, по высокочастотному аналоговому радиоканалу (!) получала сигналы с погрузчика и где-то у себя в энергонезависимой памяти накручивала счётчик погрузок." тут про передатчик.

              В целом рассказ очень вымученный (особенно танталовые конденсаторы доставили). Простого выгорания пары микросхем без маркировки было бы достаточно как для остановки производства, так и для обращения к производителю. А напридумывали бог знает что.


              1. Rebelqwe
                22.07.2022 15:28

                Думаю, что ловился этот сигнал всё той-же антенной, которая была интегрирована в 30% платы, и генерировала высокочастотный импульс при активации, в этом суть.


                1. iig
                  22.07.2022 19:09
                  +2

                  Как то слишком сложно. В 90-е годы уже ведь были микроконтроллеры с защитой от чтения. Счетчик погрузок (рабочих часов, включений-выключений, оборотов двигателя) досчитал до нужного значения - стёр ключ в независимой памяти - плата не работает. Без хитрых резонансов.


              1. checkpoint
                23.07.2022 05:25
                +1

                В целом рассказ очень вымученный (особенно танталовые конденсаторы доставили). Простого выгорания пары микросхем без маркировки было бы достаточно как для остановки производства, так и для обращения к производителю. А напридумывали бог знает что.

                Вы когда нибудь видели как выглядит сгоревший импульсный блок питания выполненный по резонансной (LLC) схеме если в процессе его экспуатации он вдруг вышел из резонанса ? Там живого на плате не остается ничего!


                1. zenhower
                  23.07.2022 09:50

                  Видел выгоревшие БП, чинил выгоревшие БП. Не совсем понял, к чему это вы? Если бы я захотел остановить производство - я бы просто останавливал работу нескольких микросхем без обозначения и пусть думают. Для изучения проблемы нужно много раз запечатлеть остановку оборудования, а это большие деньги. И после изучения, что, искать замену неизвестным микросхемам? Да, выглядит уныло и не красочно, но и менее нелепо.


                  1. checkpoint
                    23.07.2022 15:41

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

                    Современные ЧПУ станки действительно привязаны к производителю и без его ведоме их включать строго запрещено. Их даже перемещать с места на места запрещено, а в случае несанкционной попытки переместить они блокируются до приезда авторизированного персонала.


                    1. zenhower
                      23.07.2022 16:01

                      Если из истории вытащить один эффект и вспомнить, что он может проявляться в БП - то я согласен с вами. Ровно до момента, когда вспомню, что в истории в разнос идут "кварцы и их делители".


                      1. checkpoint
                        23.07.2022 16:25

                        В сложных высоконадежных система разумеется предусматриваются различные системы защиты, контроля основных параметров и аварийного останова в случае убегания одного из параметров за пределы допустимых значений. Но все это сильно удорожает изделие, поэтому схемы подобные LLC используются только там где это требуется и обосновано, например в мощных серверных блоках питания. Но если всю эту систему контроля отключить, то будет "биг барабум". Это кстати, еще одно направление атаки - бахнуть блоки питания в серверах.


    1. checkpoint
      23.07.2022 05:20

      В этой выдержке из статьи неправдоподобно только одно - время которое ушло на поиск и устранение "неисправности". Либо людям сильно повезло и они случайно наскочили на нужный тренд, либо "Штирлица ничто не выдавало" - закладка была состряпана "на скорую руку" предполагая, что она никогда не понадобится.


      1. iig
        23.07.2022 10:53

        Интересно, как этот станок должен был работать у себя на родине? Тоже с выгоранием платы раз в месяц? (не верю). Или специально для покупателя из СНГ соорудили этот управляющий центр с выгоранием? (тоже не верю).


        1. checkpoint
          23.07.2022 15:57

          На родине принято платить за поддержку согласно регламенту.


          1. iig
            23.07.2022 16:26

            А если не платить то станок взрывается. Верю. Все так делают, 10000 примеров тому вокруг.


            1. checkpoint
              24.07.2022 00:38

              Я же писал, что "взрыв" является следствием отказа какой-то части аппаратуры. Вероятно, что создатель закладки и не догадывался о таком фиерическом эффекте, так как на западе просто не принято не платить за поддержку дорогостоящего оборудования. Так же возможно, что закладку имплементировали в "последний момент" по указке "откуда надо".


  1. checkpoint
    23.07.2022 03:03
    +3

    Рискну высказать свое мнение непрофессионала, так как непосредственно разработкой микросхем не занимаюсь, но темой активно интересуюсь, в том числе и со стороны вопроса безопасности. Итак,

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

    2. Очевидно, что микроэлектроника это атомное оружие 21-го века и если закладка даже гипотетически является возможной, то она будет реализвана, в этом ни у кого не должно быть ни малейшего сомнения! В реализацию атомной бомбы не верил даже сам Альберт Энштейн, хотя его же теория и сделала бомбу возможной, до тех пор пока не увидел своими глазами. То же самое говорят про Андрея Дмитриевича Сахарова, который "умом тронулся" от результатов своего умственного труда.

    3. Утверждение "за десятилетия развития кремниевой микроэлектронники не обнаружено НИ ОДНОЙ достоверно доказанной аппаратной закладки в массовых промышленных процессорах" абсолютно ложное, я не знаю с какого перепуга автор ввернул эту фразу. Аппаратных закладок вскрыто предостаточно, но так как это атомное оружие, то до масс знание о таких фактах либо не доводится вообще, либо доводится в размытом и силько зашумленном виде - правду и факты в интернете сейчас очень легко запомоить. Знание о наличии закладки и способе её активации является обоюдо острым оружием!

    4. Закладки в микропроцессорах являются не с столь интересными, сколь закладки в микросхемах отвечающих за связь: сетевые адаптеры, коммутация, трансиверы и т.д. В этих микросхема так же по миллиарду транзисторов и они гораздо ближе к внешней среде. Более того, таких микросхем производится на несколько порядков больше, чем микропроцессоров - проникронение существенно выше.

    5. Если говорить о закладках на этапе производства, то самой простой является "антенна" - ни к чему не обязывающий проводник ведущий на незадействованный пин микрохемы (либо транзистор+антенна). Через такую антенну спокойно утекают пароли от WiFi и прочие ключи для шифрования трафика. И нет, добавление одного (и даже десятка) транзистора не выведет микросхему из строя, если их добавлять с умом. Об этом ниже, в ссылках.

    6. Количество слоев в современных микросхемах превышется 40 шт. Заводу производителю не составит большого труда впихнуть пару лишних слоёв где нибуть между 3-м и 4-м слоем с вредоносной логикой, при этом сохранив интерконнект между слоями оригинального дизайна. Это не дешево, так как потребует во-первых изготовления дополнительных масок, во-вторых некоторого тестирования. Но заказчик за все заплатит сам не ведая того. Производители масок и сами фабы повязаны одной цепью. На данный момент выявить такое вторжение невозможно даже вскрыв корпус микросхемы - техника не позволяет.

    7. Если говоить о закладках этапа проектирования, то тут поле для деяельности ограничивается только фантазией, а ей, как известно нет предела. Для того, что бы ативировать закладку достаточно отслеживать паттерны передаваемой в памать информации через кроссконнект AXI4 (или что там сейчас используется). Очевидно, что почти любой пакет принятый по сети сетевым адаптером перед его обработкой будет помещен в оперативную память по DMA каналу, т.е. обязательно пройдет через кроссконект, где спящая закладка может увеличивать счетчик получив данные определенного паттерна (не конкретные значения, а некоторые законормерности в данных). Как только счетчик достиг определенного значения - закладка активируется. Аналогичным образом счетчик может сбрасываться и усыплять закладку на опеределенный срок - мина замедленного действия. Короче, вариантов предостаточно.

    8. Самая простая закладка выводящая из строя микропроцессор или любую другую часть вычислительной системы является самой желанной! Нет более желанной цели чем оставить противника без связи.

    9. Тезис о том, что "закладок несуществует потому, что после введение СВО на территории Украины США и страны коллективного запада не прибегли их активациям" - ложный по нескольким причинам:

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

      2. Интернет используется в том числе и для разведки. Атаковав или вывев из строя систему связи в РФ, страны запада выстрелят своей же разведке в ногу. Элемент промывки мозгов населению с помощью интернета тоже не стоит списывать со счетов.

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

      4. США отменили санкции на экспорт коммуникационного оборудования в Россию - встает вопрос, с какого перепуга ? Ответ очевиден, что бы завести на территорию РФ побольше оборудования и софта с закладками и бэкдорами.

    10. В 1991-м году перед началом СВО "Буря в пустыне" против режима Саддама Хусейна в Ираке, США и страны запада активировали закладку полностью выводящую систему цифровой телефонии (ISDN) Ирака из строя - сделано это было посылкой одного единственного пакета по SS7. Этот факт не скрывался и активно обсуждался в начале 90-х всеми дворовыми сабаками. С тех пор, собствено активно и заговорили об аппаратных закладках.

    Что бы не быть голословным, вот пара ссылок для размышления:

    1. Анализ обнаруженного бэкдора в FPGA: https://www.cl.cam.ac.uk/~sps32/ches2012-backdoor.pdf

    2. Диссертация на заданную тему с практической реализацией: https://udspace.udel.edu/bitstream/handle/19716/5479/Raymond_DelVecchio_thesis.pdf

    3. Еще одна диссертация о методах внесения закладок (и их поиска) в радиопередающие микросхемы: https://personal.utdallas.edu/~gxm112130/papers/ets17.pdf

      Если этого недостаточно, то я могу накидать еще.

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

      PS: Повторюсь, я всего лишь интересущийся данной темой человек. Ни из Кремля, ни из Минпромторга, ни из ФСБ мне не заносят.


    1. Aelliari
      23.07.2022 07:59

      И нет, добавление одного (и даже десятка) транзистора не выведет микросхему из строя, если их добавлять с умом. Об этом ниже, в ссылках.

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

      Заводу производителю не составит большого труда впихнуть пару лишних слоёв где нибуть между 3-м и 4-м слоем с вредоносной логикой

      Как правило, разработчик топологии старается оставить меньше свободного места. Оно может быть только если закладывается место под корректировку, и то, оно может быть занято фиктивными элементами или элементами не используемыми в схеме, чтобы попытаться корректировку сделать одним металлом. Соответственно и добавить слои? Это иметь возможность делать с высоким качеством многослойные транзисторы (всякие 3D V-nand и похожие), иначе - необходимые слои уже скорее всего задействованы разработчиком и нужно найти место, разве что ещё один слой металла для связи элементов. А вот вскрыть и найти лишний слой металла - не так чтобы и проблема, без учёта активных элементов и анализа всей топологии, ну т.е. без сохранения его целиком, хватит обрывков. В общем я бы удивился бы наличию незапланированной металлизации или изменению размеров кристалла/скраберных дорожек. А если у меня в модуле сидить 2-3 микросхемы с различиями в логике? А то и с различным назначением?

      Если говоить о закладках этапа проектирования, то тут поле для деяельности ограничивается только фантазией

      Это единственный вариант, который выглядит реалистично. Простые микросхемы можно и "просто" вскрыть и посмотреть, сложные - вскрыть сложно, но и встроиться в них тоже не просто.

      P.S. по ссылкам, первая - яркий пример внесения бэкдора на этапе проектирования. Вторая - говорит о добавлении микросхемы на плату, для контроля поведения основной микросхемы, если я правильно понял выхватив обрывки фраз читая по диагонали.

      P.P.S. ситуация, когда чужую микросхему отреверсили и повторили внеся "злой" функционал, а потом продают злую подделку под видом оригинала - это все ещё внесение на этапе разработки. При чём именно отреверсили, потому что повторяя по спецификации - можно нарваться на различное поведение с оригиналом, для недокументированных случаев.


    1. Armmaster Автор
      23.07.2022 20:18

      Спасибо за столь развёрнутый ответ, но не могу с ним никак согласиться, а уж тем более принять упрёк в умышленном введении в заблуждение кого-либо.

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

      Вы прямо говорите, что моё утверждение об отсутствии факта достоверно определённых закладок - ложно. Но это не так, т.к. за данным утверждением стоит 20+ лет опыта работы в индустрии + достаточно широкое предметное изучение материалов по теме при подготовке статьи. Я не нашёл и не знаю ни одного реального случая аппартной закладки в процессоре. И аналогичный вывод я встречал в других статьях, которые мне попадались на данную тему.

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

      Что касается п.1, то это исследование, по сути, о недостатках безопасности чипа ProASIC3 (FPGA, а не CPU, заметьте). Там с помощью всяких продвинутых техник сканирования чипа (DPA, PEA) они взламывают криптографические ключи. Но для этого нужен физический(!) доступ к чипу. Ну какая польза от "бэкдора", если для него нужен физический доступ?

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