Pull to refresh

Comments 446

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

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

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

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

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

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

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

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

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

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

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

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

это нетрудно опровергнуть см. 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"

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

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

ps

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ну эмулятор со своим шифрованием M-code есть (L-code). Конечно, в реальном M-code могут быть вкрапления чего-то... https://github.com/mit-ll/CEP/blob/70ba24a82a780559c6d5fceddb0979e302e26d77/generators/mitll-blocks/src/main/resources/vsrc/gps/README.md#L12

Еще такое есть. http://acc.igs.org/orbits/thrust-power.txt

Читаем описание эмулятора

 The combination of the P-code generator and the L-code is meant to serve as a SUUROGATE for the M-code generator found in modern secure GPS systems. 


То есть это суррогат, а не настоящий М-code. Зато в ссылках нашлась статья 2000 года о раннем дизайне М-кода. Отладить коррелятор на этом можно, а вот принять реальный сигнал - нельзя.

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

Короче я в таких делах - верю только ИКД. Причем опыт с ИКД ГЛОНАСС показывает, что даже ИКД нужно верить с осторожностью (знаки в русском и английском варианте были обратными).

>То есть это суррогат, а не настоящий М-code.

Я так и написал.

>знаки в русском и английском варианте были обратными

Английский документ имеет errata. https://github.com/tomojitakasu/RTKLIB/files/3657985/ICD_GLONASS_5.1_eng_201402.pdf

А про какой знак вы говорили?

Про этот? https://github.com/tomojitakasu/RTKLIB/issues/492

Нет, речь о RINEX 2.01. Я слышал красочное описание этого бага от разработчиков НАВИС. Им в поезде, в ночь перед испытаниями пришла в голову мысль сменить знак - и только тогда все заработало. А потом проверили русский ИКД - и там все было правильно, баг был только в английской версии.

Описание в RINEX (им пришлось аж номер версии сменить)

The RINEX documentation distributed in spring 1997 contained definitions for the GLONASS satellite clock offset and drift with the intention to have them defined identically to the GPS values.

Unfortunately the GLONASS Interface Document consulted had a sign error in one of the formulae. The values should be stored into the RINEX file as -TauN, +GammaN, -TauC. The original definition asked for -TauN, -GammaN, +TauC. See paragraph 8.2.

To avoid problems with files created with the original definitions a real valued version number (2.01) has been introduced for GLONASS nav mess files.

P.S. А за errata спасибо, внесу в код.

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

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

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

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

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

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

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

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

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

>процессор понимал, что те числа, которые он обрабатывает вот сейчас - это сигнатура пакета.

Intel VIS framework может и не такое.

>встроенный Ethernet контроллер

Он там и есть... Как вы иначе будете boot по сети делать? В EFI BIOS можно отключть, впрочем.

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

Операционная система PCH как бы прекрасно это знает.

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

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

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

Проверять сервера нужно по открытым портам, а не по ICMP. Это просто смешно.

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

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

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

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

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

Как раз наоборот, в десктопных AMT делит с ОС один сетевой контроллер и IP-адрес.

В серверных для BMC бывает выделенный порт или внутренний коммутатор, но контроллер также может делить один порт с ОС, в том числе на внешних сетевых картах с поддержкой MCTP over SMBus/PCIe.

Почему мимо? Linux есть в каждом процессоре Intel (Minix). Вернее в PCH, а не в Bigcore (то что мы называем CPU, у Intel это просто расширение внутреннего процессора PCH).

Этого недостаточно. У него ещё должен быть сетевой интерфейс, какая-то его конфигурация (авто? не авто?) и какой-то способ подружить свой стэк tcp/ip со стэком хостовой ОС.

Насколько мне известно, два разных и независимых друг от друга tcp/ip стэка на одном и том же интерфейсе, торчащем в одну и ту же сеть, одновременно работать не могут.

Это не говоря уже о том, что Linux и Minix это таки принципиально разные вещи. Совсем.

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

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

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

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

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

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

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

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

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

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

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

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

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

И каковы же?

Red unlock один ключ, разный для всех, потом еще ключ для микрокода, впрочем в CPU он уже отправляется не зашифрованным (по CRBUS)...

Ну и все. Там еще есть bootguard...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вот и думай.

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

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

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

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

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

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

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

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

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

И все эти миллиарды могут быть легко страссированы по USB4 Gen3x2 по JTAG, используя Intel VIS, с пикосекундной точностью. Причем, PCIe, Ethernet, WIFI и RAM тоже легко.

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

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

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

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

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

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

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

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

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

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

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


btw, подобную задачу обсуждали тут:
https://habr.com/ru/post/661497/
почитайте комментарии

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

как вы представляете автоматическую «доработку» произвольной микросхемы на лету?

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

Если это можно было сделать с исходником компилятора cc

именно, что для общего случая нельзя.


Я могу пофантазировать

вот-вот

Ну, это как заявить, что штамповочная машина, которая изготавливает CD-диски может вносить при записи закладки в программы. Да, у нее есть возможность такая. Но реально она оперирует штампом, и знать не знает ничего о коде программ. Для того, чтобы он мог внести закладку, надо:
1)Перевести картинку штампа в данные
2)Понять что это за данные
3)Понять, как эти данные будут интерпретироваться компьютером
4)Найти код или кусок куда
5)Провести обратный инжиниринг этого кода и разработку закладки
6)Пройти шаги обратно
Вероятность того, что кто-то может разработать логику, которая бы делала такое автоматически — стремится к нулю, гораздо проще модицифировать программу еще до изготовления штампа.

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

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

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

Теоретически, можно изготовить 2 штампа: исходный дать на тест другой фирме (что заказала), а в печать пустить свой.

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

Т.е. примерно как в gcc, компилируется System Verilog? Ах, да, в gcc же были закладки, которые вставляют во все программы, в том числе в сам gcc, малварь.

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

пруф можно?

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

ЭТО СЧИТАЕТСЯ, потому что единственный способ быть уверенным в том, что весь gcc в мире не имеет закладки это скомпилировать gcc не используя gcc. Это не было возможно до последнего времени (2020). Сейчас это уже возможно через 14 ступенек, начиная с ассемблерного сишного препроцессора и заканчивая TCC (Tiny C Compiler).

До этого тестировали через icc компилятор Intel, но это ничего не значит.

https://bootstrappable.org/

https://github.com/fosslinux/live-bootstrap/blob/master/parts.rst

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

Причем здесь тесты? Никто не вставляет закладки в код, вставляют в секции бинаря. Это исходный код gcc модфицируется, чтобы он так делал. А потом ты фиг поймешь, что там есть закладка, не проведя 100 лет в Ida Pro, проверяя gcc, либо не сделав live-bootsrap, как стало возможно в 2020. Я вам все показал по самой первой ссылке.

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

Вставлять имеет смысл только в большие бинарники, так что все самотесты самого gcc идут лесом.

https://bits-chips.nl/artikel/trojan-horses-can-be-slipped-into-chip-designs/

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

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

Ваш пример не имеет никакого отношения к закладкам на уровне степпера ASML.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кстати, напомнило (в 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  * * *

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

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

Да что вы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Погуглите Игорь Данченко. После этого вся ваша логика рассыпается в прах. Ну поймите, не только вы такой умный.

Какая-то тухлая конспирология. Тот сказал это, этот сказал то, ничего конкретного ни о чём. И закончилось, естественно, ничем -- ни громких отставок, ни судов с приговорами.

Что, по вашему, должен был иллюстрировать этот пример?

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

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

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

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

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

Закладка.

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

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

Вы что-то однозначно утверждаете?

Скажите, пожалуйста, у Вас правда проблемы с восприятием письменного текста? ГДЕ я такое сказал? Или мне что, реально на каждое моё высказывание расписывать на две страницы "...при таких-то и таких-то условиях, вероятность такого-то вывода значительно превышает противоположную вероятность"?

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

  • не вижу причин, по которым, если бы ошибка была сделана членом команды, то она оказалась бы только в одном репозитории из двух параллельных;

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

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

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

Или мне что, реально на каждое моё высказывание расписывать на две страницы

Я не знаю.

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

Пока Вы не изволите опровергнуть все три эти посылки

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

я не имею намерения в Вами далее общаться по этому вопросу

Я буду очень сильно от этого страдать.

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

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

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

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

во время ведения военных действий

вы с кем-то воюете?

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

И о чём это нам говорит? Закладку можно спрятать в говнокоде? Бесспорно. Закладку можно спрятать в opensource? Почему нет. Программная закладка проще в реализации и надёжнее чем аппаратная? Да. Пропихнуть в opensource репозиторий несколько коммитов проще и дешевле, чем добавить пару слоёв в чип не привлекая внимание санитаров.

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

Так в том то и дело, что для тех, кто финансирует эти аудиты, эти сертификаты значение имеют и кто выполняет аудит -- им известно, равно как и мера их ответственности за лажу. А ваше мнение их не интересует.

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

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

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

винда (и прочие продукты с закрытым кодом) такие проверки успешно проходят

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


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

Да и windows xp код открыт доя всех. SP1 только, правда.

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

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

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

Зачем усложнять, если в распоряжении заинтересованных лиц, судя по всему, и так постоянно есть что-то свежее из 0-day.

https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Screenshot_2021-07-13_10.12.14_AM.max-1000x1000.png например. Ошибки должны исправляться, и их должно становиться меньше. На графике совершенно другая картинка.

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

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

ошибки в софте быстро выявлятся и нет никакой надежды на их долгосрочное применение

Но они не заканчиваются, вот в чём соль ;) Судя по графику, какое-то количество ещё не опубликованных 0-day присутствует постоянно. Это как аппаратная уязвимость, только лучше. Раскрытие аппаратной закладки ставит под угрозу и своих, и чужих, и непричастных, и вредит имиджу производителя. Раскрытие 0-day не грозит никому. Программисты быстренько выпускают патч безопасности, все счастливы.

Intel увидит. Вы о чем? Minix имеет доступ ко всем сетевым пакетам.

DoT/DoH вам в руки. И никто ничего не увидит.

У меня и так что в windows 11, что на android 9. И на компе что в chrome, что в firefox.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Такого даже в фантастических фильмах про Джеймса Бонда не было ;) Внук забыл бабушке счёт пополнить и операция на грани срыва.

Это не фантастика, а реальность. Тот же Stuxnet затянули на оборудование сотрудники собственного предприятия. Не удивлюсь, если в процессе поучаствовала какая нибудь уборщица.

Не помню, что бы в bind-е была фича по фильтрации содержимого ответа.

И не нужно. *.local и никаких фейсбуков.

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

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

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

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

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

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

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

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

8.8.8.8 находится в Москве. Вы вообще что ли? Вообще не разбираетесь, что до США будует лететь дальше, чем до провайдера? Тогда какой смысл? Правильно, никакого, и у 8.8.8.8 и 1.1.1.1 есть реплики как на MSK-IX, так и в Москве.

Вы читать не разучились ? В каком месте я писал о том, что серверы географиески находится в США ? IP адреса 1.1.1.1, 8.8.8.8 и т.д., как и DNS сервис предоставляющийся с этих хостов принадлежит североамериканским компания и полностью подконтролен им. Только не надо опять про теорию заговора и про добрый и пушистый Гугл.

А ipv6 как же? Там для всех белые адреса.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Обычного микроскопа достаточно и небольшой программы для Pentium II. Собственно, Питер Бош в 2020 так и взломал ключи, которые были до RC4 микрокода. RC4 микрокод взломали 7 дней назад для Atom. AES микрокод еще не взломан, но еще можно прочитать расшифрованным на CRBUS.

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

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

Проще говоря если сейчас все твердят "у нас процессор изготовлен по технологии 5нм или даже 2нм", то реально там нету 5нм

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

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

Исследователи из Мичигана такое воплотили: This 'Demonically Clever' Backdoor Hides In a Tiny Slice of a Computer Chip.

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

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

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

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

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

Наоборот, Retpoline вызвал ускорение в clang и gcc (MSVC тоже, но там сложнее оценить). А вот уязвимость в retpoline, пропатченная 2 дня назад (Retbleed) и правда замедлит все как не в себя.

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

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

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

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

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

В современных чипах ICMP/UDP/TCP контрольная сумма уже может и не считаться, и до wirehsark долетать случайный набор бит. А проверяется все в чипе ethernet.

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

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

7 дней назад они опубликовали xuCode и uCode декриптор для зашифрованного RC4 микрокода.

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

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


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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Чтоб упал софт от определённой фразы можно найти багу в софте или даже баг в железе, не обязательно закладку.
Это была не аппаратная закладка в процессоре, это была комбинация гипервизора, который шел в левой прошивке и всякого ME/AMT. И демка(которую сделал автор на базе этого тандема) падала по попаданию в поток данных фразы «ГАЗПРОМ СТОП».
Т.Е.Вами описана комбинация процессор+материнская плата и закладка в прошивке.
Да где ж про это можно почитать? В идеале ещё и с дампом прошивки, а то я тоже могу сказать, что если на определенной кастомной ОС (которую я вам не покажу) в новом редакторе Хабра набрать определенный текст, то вылезет розовый единорог.
Увы, источник та самая статья на хакере. А про реальность таковой атаки сейчас — особо проблем нет, особенно если ME/PSP задействовать выйдет, но опять же, это будет не аппаратная, а программная закладка. И, в упрощенном варианте, это вполне можно реализовать даже без ME/PSP/Гипервизоров всяких — достаточно старого доброго SMM. Наводку дам простую — поддержка USB клавиатуры и мышки в legacy режиме, когда те прикидываются PS/2 (и оно даже прекрасно работает) реализована через обработчик SMM, который перехватывает обращения к портам ввода-вывода мыши и клавиатуры. Достаточно умения реверса и знания структуры прошивки биоса, а далее в этот обработчик уже можно добавить стирание флешки биоса (защита от записи кстати тоже там свои когти в SMM хранила раньше) по последовательному появлению сканкодов нужных клавиш. А ведь можно подвесить SMM на обращение к портам SATA контроллера (правда тормоза знатные будут). В случае, если вам вдруг как-то попали все ключи интела и вся документация по AMT/ME — вы спокойно сможете уже написать анализатор памяти, который будет следить за выбранной областью и производить соответствующие действия по появлению там какой-то информации.
История с падающей ос и вордом, насколько я помню имеет корни в модуле проверки орфографии… а что следом падала ос это ещё к тому что начало нулевых — время жизни win9x которая от фаз Луны падала

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UFO just landed and posted this here

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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


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

Да ничего они не залатали. Заплатка, т.е. retpoline, оказался таким же дырявым. Retbleed.

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

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

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

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

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

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

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

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

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

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

>Во всех современных ОС уязвимость закрыта на уровне ядер

Как бы нет, retpoline оказплся дырявым.

>современные ЦП разве могут нормально работать без технологий типа ME?

Нет, конечно, правда без Minix, а не без ME. Она, например, микрокод обновляет по CRBUS.

Но его же (retpoline) в итоге починили? падме_анакин.jpg

Эта версия linux еще даже не вышла, она в rc только от последнего Воскресенья.

Retbleed ошибка в retpoline это тоже ошибка, да?

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

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

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


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

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

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

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


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


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


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

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

Простите, а откуда на военной технике гражданские микросхемы? Особенно в ракетах?

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

Простите, а откуда на военной технике гражданские микросхемы?

Надёжность современных гражданских микросхем получше, чем чипов военной приёмки лет 30 назад. Поэтому почему бы и нет, если никто не видит? Вот, например, украинские коллеги разбирают вполне себе военный беспилотник Орлан-10, ещё до войны, там элементная база в основном гражданская:
informnapalm.org/42114-orlan-10-pod-mikroskopom
Подсказка — зачастую «военные» микросхемы от гражданских отличаются только расширенным температурным диапазоном и корпусом. Вот под космос и прочую радиацию да, там уже идут всякие специальные плюшки. Но хорошо, пускай в процессе полёта в эпицентр сгорит 5962-8506403MQA, если вам надо вот прям ну точно военную микросхему.

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

1) Ладно, ладно, так и быть Xeon Gold, EPYC и продукции Nvidia в ракете нету, но как насчёт TigerSHARC?
2) Продолжая дальше, спасибо за комментарий конечно, но что же у вас в ракете стоит, что обеспечивает её попадание в эпицентр? Никакой электроники? Только пара чипов Altera(Штеуд)/Xilinx(ФЬВ)? Или вернёмся в реальность и признаем, что там что-то как минимум уровня 8051 есть, а то и DSP, ну или софтовые процессоры в ПЛИС (с зашифрованными исходниками, можете пнуть на эту тему тут некоего Юрия)?
3) Я вам обрисовал простую(по сравнению с тем, что обычный человек, которому чип и чипсы это одно и тоже может выдумать) и тупую закладку, которая куда более как реальна, чем ваша выдумка. Ну реально, намного проще просто склеить ласты, чем ввести какие-то тормоза. При этом откинутые копыта я, как крупная фирма производитель микропроцессора, ещё смогу списать на «у вас монтажники криволапые макаки, припаяли микроконтроллер феном на 400 градусов, вот он и сдох, вы power-up sequence не выдержали, у вас статическое елехтричество долбануло», при этом довольно легко (ну серьёзно, вы ведь не будете мне ракету сгоревшую пытаться предъявить), а вот с тормозами во первых намного сложнее реализация, а во вторых — больше шанса, что Дон Джоу из Небраски в своей университетской поделке чисто случайно вмажется в такую закладку, и вот от этой вони мне уже будет намного труднее отделаться.
Автор сделал соломенное чучело и сам его побил.
У меня был случай когда вендор сменил первичный загрузчик процессора в ревизии «Б». NAND-флеш, которую мы выбрали перестала определяться, пришлось срочно менять на расово верный Micron.
Прошивки в однократной памяти можно поставлять в разные регионы мира разные.
Не секрет что большинство сложных микросхем не являются аппаратной логикой, а представляют собой микроконтроллер с однократной памятью.

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

А у Intel вообще CPU это расширение основного процессора на метеринке.

ME не внутри CPU. Он внутри чиспета. CPU это довольное тупое расширение для чипсета (ну как тупое: ELF там тоже есть, да и микрокод расшифровали, там ого-го).

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

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

Это не часть процессора. ME в чипсете на материнке. CPU это просто расширение для процессора ME, Bigcore называется.

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


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

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

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

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

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

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


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


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

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

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


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

Улучшили производительность вообще-то. Retpoline. Вот только 2 дня назад retpoline тоже оказался дырявым.

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

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

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

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

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

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

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

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

Red unlock ключи то есть? Но они скорее всего хранятся на HAM, их нельзя в открытом виде вытащить, прям как пальчики с телефона.

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

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

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

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

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

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

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

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

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

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

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

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

Hidden text

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

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

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.

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

Прошивка может быть аппаратной частью в определенном смысле. FPGA как пример, или микрокод с Minix для Intel.

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

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

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

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

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

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

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

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

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

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

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

Нет, имеется в виду eSIM, USIM, ISIM.

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

C@T. Гуглите. Все она имеет.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я тут как разработчик софта скажу. Чем выше параллельность схемы взаимодействия тем проще такие ошибки допустить и не заметить при тестировании.

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

Так что я больше верю что это просто ошибка в сложной системе.

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

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

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

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

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

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



Чудесная статья про "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.

А это, простите, для какого процесса? Оно хотя-бы для 12нм ещё работает? (Я просто пока не успел статью прочитать)

Из статьи про FIB на Википедии:

Because of the sputtering capability, the FIB is used as a micro- and
nano-machining tool, to modify or machine materials at the micro- and
nanoscale. FIB micro machining has become a broad field of its own, but
nano machining with FIB is a field that is still developing. Commonly
the smallest beam size for imaging is 2.5–6 nm. The smallest milled
features are somewhat larger (10–15 nm) as this is dependent on the
total beam size and interactions with the sample being milled.

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

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

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

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

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

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

Да, например анонсировано на 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 можно установить практически любую комбинацию регистров общего назначения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Програмная часть это то, что в OS. Всякие там VBIOS, которые может обновить и Nvidia драйвер, это что-то посредине. А вот микрокод и операционная система Minix это все же аппаратная часть.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вы говорите про 0F 0F и 0F 0E, которые пишут и читают микрокод после Red unlock.

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Т.е. на проксе войне России и США на территории Украины США ничего не угражает? Спорное утверждение.

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

Весь софт известен вплоть до отладчика в Ida Pro. Да и Bigcore тоже потрогали уже.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

...

В геологии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

на западе просто не принято не платить

Да, у эльфов все такие ;) Даже прошивки от трактора хакнуть не пытаются, хоть оно и противозаконно вроде как.

закладку имплементировали в "последний момент" по указке "откуда надо"

И этот "кто надо" оплатил срочную работу инженегров. Тестирование провел. И о потраченных средствах отчитался. Выглядит реалистично, как в фильме про Бэтмена.

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

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

  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: Повторюсь, я всего лишь интересущийся данной темой человек. Ни из Кремля, ни из Минпромторга, ни из ФСБ мне не заносят.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оба Ваших тезиса легко опровергаются:

  1. Информация в сети Интернет (и прочих открытых источниках) давно перешла в состояние "квантовой неопределенности". На каждый правдивый факт Вы найдете десяток опровергающих тезисов, и наоборот, на каждый ложный тезис - десяток обелящих его фактов. В этом свете появление информации об обнаруженной закладке в широко распространенном чипе вызовет только противоречивые публикации о даном событии, так как всегда есть несколько сторон с противоположными интересами и они приложат максимум усилий что бы запомоить информацию. Но с еще большей вероятностью, любые потуги вести такие исследоваия наткнутся на искусственные проблемы - людям просто дадут понять, что либо не стоит заниматься этим делом, либо все результаты должны быть строго засекречены и переданы "куда следует". И тут надо понимать, что исследование современных СБИС на наличие закладок это недешевое занятие под силу узкому кругу специалистов и со специальным оснащением, которых в мире по пальцам пересчитать. Поиск закладок в микропроцессорах x86 это НЕ тоже самое что поиск багов в ядре Linux!!! С последним миллион обезьян прекрасно справлялся до сего дня. В общем, не ждите никаких публикаций от IEEE о том, что в какой-то микросхеме обнаружена закладка и вот она, пожалуйста!

  2. За последний десяток лет аппаратные закладки приобретают всё больший интерес по нескольким причинам:

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

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

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

Это Вам так кажется. Мне попадалась выдержка одного иссделования (к сожалению не гуглится больше), где был проведен такой эксперимент: в микросхему между слоями добавлено несколько лишних слоёв с сохранением интерконнекта между оригинальными слоями (я надеюсь Вы представляете как выглядят соединения между слоями металлизации внутри кристалла). Так вот, импеданс почти не изменился, и оригиналный функционал микросхемы заработал без проблем, и вновь внесенный. Я вот только не помню были ли транзисторы на вновь внесенных слоях или же только дополнительные проводники, но сути это не меняет. Так, что добавить лишний слой, если есть место, вполне возможно. Другое дело, что это трудно и финансово затратно, требуется тестирование и т.д., но при наличии КД на изделие - более чем возможно! А полную КД можно и выкрасть - но это другая сторона вопроса.

Но и это еще не всё. Пользователь Indemsys выше дал ссылку на статью "Hunting for the Kill Switch". В двух словах статья о том, что в 2007 году DARPA озадачилось вот этой самой проблемой закладок. Их смущало то, что микросхемы для нужд обороны США производятся на фабриках Тайваня, а злобные агенты Китая и России, гипотетически, могли бы проникнуть на завод и внести соответствующие изменения в процесс их прозводства (вдумайтесь насколько всё витиевато). Так вот, DARPA организивало исследовательскую программу "Trust IC" в рамках которой было: 1) разработано и изготовлено несколько сложных типовых микросхем на Тайване, 2) в каждую были внесены изменения как в процессе произвдства, так и путем FIB редактирования, 3) трём коллективам предоставили по четыре варианта микросхем с целью выявить эти искусственные дефекты даже не раскрывая есть они там или нет. Таким образом, программа "Trust IC" продемонстрировала абсолюно всё: от возможностей и способов внедрения закладок, до способов их локализации. К сожалению, я не могу нагуглить конкретные результаты этой программы где должны быть описаны способы и вероятности обнаружения закладок разными коллективами (наверное засекретили). Всё это происходило 15 лет назад. Что происходит сейчас в том же DARPA и какими интересными программами они занимаются - можно только догадываться.

> не могу нагуглить конкретные результаты этой программы

"Trust IC" давно закрыта как неудачная, ее смысл был в частности в сертифика́ции независимых фабрик и контроле за их работой, следующая программа (IRIS) использовала другой подход, типа вертикальную интеграцию фабрик малосерийных специальных IC в организации отвечающие за систему или изделие, это было примерно 10 лет назад,

ps

> Пользователь Indemsys выше дал ссылку на статью ...

она размещена на сайте "indian strategic knowledge online (iskl)", и как было замечено слегка устарела

Вопрос не в том была ли программа "Trust IC" успешной или нет, а в том, что она показала: 1) относительную несложность внесения закладок на кристалл несколькими способами, 2) катастрофическую сложность поиска таких закладок. Видимо поэтому и была принята следующая программа, как Вы сказали, о вертикально интегрированном производстве, которая была направлена на решение проблемы.

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

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

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

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

Нет, вы просто не можете привести ни одного примера, но зачем-то продолжаете спорить

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

Еще раз, почитайте про разбор полетов с Сирийскими радарами. Это факт, но его всячески пытались и до сих пор пытаются запомоить.

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

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

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

А что случилось с сирийскими радарами? Мой гугл показывает, что их уничтожали в 2001 году, в 2022 году, в 2019 году.. Может, место такое?

Из той же самой статьи The Hunt for The Kill Switch:

Last September [2007], Israeli jets bombed a suspected nuclear installation in northeastern Syria. Among the many mysteries still surrounding that strike was the failure of a Syrian radar--supposedly state-of-the-art--to warn the Syrian military of the incoming assault. It wasn't long before military and technology bloggers concluded that this was an incident of electronic warfare--and not just any kind. 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. By sending a preprogrammed code to those chips, an unknown antagonist had disrupted the chips' function and temporarily blocked the radar.

В радаре использовался ширпотребный (off-the-shelf) микропроцессор Pentium по чисто случайному совпадению разработанный и произведенный подразделением Intel в Израеле.

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

Вот это:

military and technology bloggers concluded ... Post after post speculated that ...

называется «домыслы».

А утверждаете вы положение, построенное по схеме «могут — значит сделали». Что, кстати, и само по себе неприлично.

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

Во-первых, вы бы лучше попробовали объяснить, по какому совпадению Сирия, имеющая долгую историю военных конфликтов с Израилем, решила вдруг закупить ПВО на комплектующих, произведённых там?

Во-вторых, каков, по-вашему был механизм активации закладки? Опишите, пожалуйста, физический процесс, который позволил бы самолётам ВВС Израиля во время полёта произвести «sending a preprogrammed code to those chips»?

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

Во-вторых, каков, по-вашему был механизм активации закладки? Опишите, пожалуйста, физический процесс, который позволил бы самолётам ВВС Израиля во время полёта произвести «sending a preprogrammed code to those chips»?

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

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

Вот Вам алгоритм:

  1. Наземный радар имеет непрерывно включенный GNSS приёмник, который, в том числе, принимает сигнал GPS (а как иначе).

  2. В GPS кратковременно подмешивается ключевая последовательность чисел. О том, что Моссад на короткой ноге с Пентагоном, я надеюсь, у Вас возражений не вызывает ?

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

  4. Проффит!

Это, простите, ещё большая чушь, чем даже то, что предположил я.

  1. На кой хрен наземному радару непрерывно включенный GNSS приёмник? Он же стоит на месте и никуда не двигается. А его позиция заведена в систему при развёртывании.

  2. С чего вы взяли, что этот приёмник работает именно в системе Navstar? Есть же куча альтернатив -- Beidou, Galileo, NAVIC, да Глонасс в конце концов.

  3. Нет, не попадает. Навигационное решение не обсчитывается на CPU, для этого есть отдельный чипсет.

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

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

    Википедия почему-то утверждает, что на вооружении ПВО САР стоят исключительно советские и российские образцы. Очень врядли в них будет «непрерывно включенный GPS приёмник». Да и off-the-shelf Пентиум там тоже ни при чём.

Поясняю:

  1. GNSS требуется для получения отметки времени и непрерывного уточнения координат. Если Вы не в курсе, то GNSS стоят почти на всех сотовых базах и крупных узлах связи, но зачем ? Они же не перемещаются! Ответ - для поддержки синхронизации. Отметка точного времени нужна всем.

  2. GNSS приемники в подавляющем большинстве комбинированные, поддерживают сразу несколько стандартов. Разумеется на Российских cистемах сигнал GPS использоваться не будет, но он все равно будет принят. Так же необходимо учитывать то, что в начале 2000-х альтернативе GPS особо никакой и не было.

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

  4. Закладка может находится в шине, в кэше или в регистровом файле микропроцессора - она в любом случае сработает.

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

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

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

Зачем РЛС отметка времени с точностью, которую даёт GNSS терминал, который легко зашумить или даже заспуфить с помощью устройства размером с чемодан? Чем плохи пара внутренних и ни от чего не зависящих кварцев?

Я знаю, где стоят такие терминалы и зачем. Но для РЛС, развёрнутой на позиции, они не нужны.

Ответ - для поддержки синхронизации. Отметка точного времени нужна всем.

С чем синхронизирует своё время РЛС?

Так же необходимо учитывать то, что в начале 2000-х альтернативе GPS особо никакой и не было.

Именно.

А теперь представьте себе, что вы главный конструктор КБ и пытаетесь провести новый ЗРК через военную приёмку; и вдруг обнаруживается что в конструкции задействован терминал спутниковой системы под полным контролем вероятного противника. Знаете, куда вас пошлют? Хорошо если не под трибунал.

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

Формат NMEA строго документирован и посторонние данные туда никак не всунешь. Они будут отброшены валидатором ещё на этапе формирования строки.

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

В Сирии стояли системы ПВО ТОР. Не могу утверждать, но предположу, что управляющий ПК там был выполнен на самом обычном Пне

Попытался представить себе произведённый в Израиле процессор, который попадает в РФ и используется в производстве именно тех экспортных модификаций ЗРК «Тор», которые потом поставят в Сирию.

Сова не выдержала натяжения на глобус и лопнула.

то детекторный приемник имплементированный в микропроцессор

С незаметно тянущейся из кристалла десятиметровой антенной, ага.

А почему детекторный, кстати? У процессора же есть питание. Вхреначивайте туда уже полноценный ВЧ тракт с каскадами усиления. Гулять так гулять.

"Это сейчас всё серьезно - на Эльбрусах и Комдивах"

Еще на Xilinx, Texas Insruments и Analog Devices.

(Радиостанция Р-168-5УТ(2)-25 Акведук)

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

Моя позиция базируется на фактах.

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

А что с радарами то?

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

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

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

В ЗРК российского производства израильтяне вкрутили kill switch. Выглядит логично ;)

ЗЫ: там у них с радарами чуть ли не каждый год что-то происходит. Может, просто у оппонентов РЭБ лучше?

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

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

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

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

Что касаемо инцидента с Сирийскими радарами 2007-го года, то он считается общественно признанным

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

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

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

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

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

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

Прочитал тут лениво ваши перепирания с @checkpoint. Из логики (включая матлогику):
Доказательство отсутствия не существует. Существует доказательство только наличия. Это относится к понятийной области реального мира с потенциально бесконечным количеством вариантов, безосновательно расширять эту посылку на все случаи нельзя. (Пример ошибочного расширения - при конечном количестве альтернатив, пересечение линий, отсутствие пересечения прямых в геом. теореме вполне строго доказывается).

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

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

Еще замечу (это я уже не вам, а вообще всем участникам переписки) что назначение как они названы "закладок" понимается вообще неправильно. Они не предназначены для вывода техники из строя, как их широко понимает профанная публика. Назначением бэкдоров являтся surveillance по запросу. Аппаратный бэкдор не обязательно связан с "процессором" часто это ослабления ждущие вмешательства, не произведя которого можно сколько угодно заявлять о (c) "доказанном отсутствии" :) В целом существует инерция понимания как "наличие" ч-л. Лучший бэкдор это напротив, отсутствие, а еще лучше - статистически. Ну и конечно же, аппаратные бэкдоры существуют, но разумеется не в таком топорном виде, как их представляет автор статьи чтобы это можно было отрицать. Хотя... насчет топорного... Но все равно отрицают, достаточно банального repurpose.
Бэкдоры конечно же всегда выдаются за "ошибки" :), но тут чтобы понимать принципы поведения надо обладать превосходящий логикой. Для не обладающих логикой соответствующего уровня доступно лишь примитивное объяснение уровня conspiracy.

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

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

Это относится к понятийной области реального мира с потенциально бесконечным количеством вариантов

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

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

Скажем так, проводники можно попробовать нарисовать и поверх конденсатора, в зависимости от технологий. "Рисовать" транзистор поверх транзистора (или хотя бы поверх ещё какого нибудь элемента) - задача немного иная. А свободное место, можно считать, что по умолчанию тебе не оставят ибо это полезная площадь => её можно потратить на другие микросхемы на пластине

Под "свободным местом" имеется в виду возможность впихнуть еще один слой. Не все микросхемы имеют все 40 слоёв (или сколько их тами сейчас можно произвести).

в одной из обзорных статей про ht (hardware trojan) попалась интересная картинка (см ниже), на академическом уровне к этой тематике интерес большой, в том числе в китае и индии

Вот обзорная статья описывающая методы поиска HTH: http://aceslab.org/sites/default/files/A Survey of Hardware_0.pdf

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

Из интересного: большинство методов основываются на статистической оценке потребляемого тока и измерении задержек распространения сигнала при подачи огромного набора случайных воздействий на микросхему (side-channel analysis).

порядка пяти программ darpa имеют к этому отношение, типа защита на разных уровнях, интересная идея это анализ электромагнитной сигнатуры (EMSA) + обучение, см. startup aether argus

Как вариант, можно окирпичить сам процессор обновив ему микрокод. К примеру, добавить некоторые инструкции выполняющие определенный функционал. Или превратив, определенный момент, ВСЕ инструкции процессора в Halt & Catch Fire. Или случайным образом, через неравные периоды времени, вызывать случайные исключения во время работы, создавая «призрака в машине».

Для этого нужен Red Unlock, чтобы получить доступ к инструкции 0F 0F, которая пишет в микрокод напрямую, без проверок.

И по ссылке написано, что нет возможности RC4 зашифровать, только расшифровать.

  1. Can I make a custom microcode update?

No, you can't. Only decryption is supported, because microcode has an RSA signature for integrity protection.

После начала СВО на Украине, уровень противостояния России с США и ЕС достиг критического уровня.

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

РФ, в то же время, продолжает продавать газ и нефть "потенциальному противнику" и участвует в "зерновой сделке"...

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

Другой вопрос, надо ли США вообще так делать?
Если такой фокус провернуть с РФ, то это casus belli и вероятность ядерного апокалипсиса для всего мира ("мы попадём в рай...").
Если это провернуть со страной не из Ядерного клуба, то это подорвёт доверие к американской промышленности. Да и история 20-21 веков показала, что США может справиться практически с любой страной на шарике и классическим способом - была бы политическая воля.

А про саму возможность - вот сценарий обхода блокировок трафика с минимальной интеллектуальностью:
1. Закладки ставим во всё, что имеет доступ к сети и до чего можем дотянуться. (интел делает в том числе сетевые чипы).
2. Запросы на активацию посылаем с не регулярным интервалом, при наличии трафика от ОС и не часто (допустим, раз в сутки). Запрашивает именно хост, а не наоборот.
3. Запросы отправляем не только напрямую к серверу автора, но и широковещательные, к другому оборудованию в своей сети. Даже если у серверов не указан шлюз\блокируется весь трафик, то всегда есть "комп админа" с доступом в другие сети (в том числе в инет).
4. Активация происходит в час "Ч", а не просто по получению сигнала на активацию.

Articles