Аппаратные закладки: лучше проверять или не покупать микросхем?

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

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

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

Адрес записки: https://dxdt.ru/2012/02/25/4603/

Похожие записки:



Далее - мнения и дискуссии

(Сообщения ниже добавляются читателями сайта, через форму, расположенную в конце страницы.)

Комментарии читателей блога: 30

  • 1 <t> // 26th February 2012, 00:57 // Читатель filin написал:

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

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

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

    Проверка скорее свего не чего не даст и сведётся к “радиолюбительским” измерениям заявленных параметров.

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

  • 2 <t> // 26th February 2012, 04:52 // Читатель ts написал:

    а были официальные случаи обнаружения таких закладок?

  • 3 <t> // 26th February 2012, 09:27 // Читатель Jeff Zanooda написал:

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

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

    В Советском Союзе была целая индустрия, которая занималась копированием зарубежной элементной базы. Но одно дело разобрать по слоям 7400, поменять шаг ножек с дюймового на метрический и название на К155ЛА3, и совсем другое дело – понять, что внутри у современного процессора.

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

  • 4 <t> // 26th February 2012, 18:24 // Читатель RedElf написал:

    а смысл копировать у себя? Если не разбираться в схеме все закладки будут также скопированы. Нужно выпускать собственную элементарную базу, как это было в СССР.

  • 5 <t> // 26th February 2012, 19:35 // Читатель зашел в гости написал:

    а каков вообще риск заполучить эту самую “закладку”?

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

  • 6 <t> // 26th February 2012, 19:41 // Читатель arcman написал:

    волков бояться – в лес не ходить.
    а вот бюджет на “закладках” попилить самое то.

  • 7 <t> // 27th February 2012, 00:31 // Читатель jno написал:

    COTS рулит, да.

    и верификация – тоже.

    при чём, верификация рулит круто – это не “радиолюбительство”, а математика (ближе к криптоанализу).

    более того – можно ведь и продавать такой анализ!
    вопрос – чисто репутации.

  • 8 <t> // 27th February 2012, 01:08 // Читатель Jeff Zanooda написал:

    > в каждый новый процессор, в каждую плату

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

    > верификация рулит круто

    Товарищ Гёдель намекал, что это недостижимо в принципе. Посмотрите на призёров underhanded C contest и расскажите, что из этого можно найти формальными методами верификации, особенно автоматизированными. В микрокоде проблемы те же, в схемотехнике всё ещё сложнее – там физику надо учитывать.

  • 9 <t> // 27th February 2012, 11:19 // Читатель jno написал:

    С Гёделем, конечно, спорить сложно…

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

    И чем нам это грозит?

  • 10 <t> // 27th February 2012, 11:35 // Читатель jno написал:

    > underhanded C contest

    классная фенечка!

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

    потребуется специализированный интерпретатор Си, но это – так, мелочи.

  • 11 <t> // 27th February 2012, 11:39 // Читатель jno написал:

    Вот, крайняя задача.

    можно предложенный regexp ^(\w+)\s+(\w+)\s+(\w+)\s+(…)\s+(…)\s*(\s.*)
    заменить на тождественный ^(\w+)\s+(\w+)\s+(\w+)\s+(…)\s+(…)\s*(\s.*)\$
    в котором “ошибиться” ^(\w+)\s+(\w+)\s+(\w+)\s+(…)\s+(…)\s*(\s.*)\.

    в луччих традициях советского кинематографа точка в конце комментария приведёт к срабатыванию “закладки” :)

    прикиньте процедуру поиска бага…

  • 12 <t> // 27th February 2012, 18:38 // Читатель Jeff Zanooda написал:

    Я имел в виду теорему о неполноте – что во всех формальных системах есть высказывания, которые верны, но недоказуемы.

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

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

  • 13 <t> // 27th February 2012, 18:45 // Читатель зашел в гости написал:

    Изначально речь идет не о багах, а о кознях мировой буржуазии, о закладках которые могуть быть “активированы” чем-либо (электромагнитное излучение? радиация? определенная последовательность машинных инструкций?). Т.е., по определению, все ваши тесты закладку НЕ найдут, ибо она НЕ активирована! Ну, разве что вы случайным образом не набредете на “актириврующий” сигнал. Если этот сигнал – некая последовательность комманд, то их могут быть сотни тысяч, и вероятность обнаружения стремится к нулю.
    опять же, без ответа остается вопрос: возможно ли такое на практике. т.е. будут ли разработчики заниматься такой фигней. Все это стоит денег и немалых. Есть риск, что о закладках узнают – вот вонищи-то будет! Нет гарантии что “закладка” сработает как задумано, и что она сделает то, что заказчику нужно. А самое главное, нет гарантии что ваша разработка вообще будет установлена на оборудовании “потенциального противника”. Стоит ли игра свеч? В 60-каких-то сумеречных годах, в паранойе холодной войны это было бы вполне реально. Сейчас – кому оно надо?

  • 14 <t> // 27th February 2012, 20:44 // Читатель jno написал:

    Jeff Zanooda, всё так.
    и что?
    тем интереснее задача и выше возможная прибыль! :)

  • 15 <t> // 28th February 2012, 05:40 // Читатель Jeff Zanooda написал:

    > Сейчас – кому оно надо?

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

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

    > выше возможная прибыль

    Возможная прибыль проверяльщиков, да. Возможная прибыль заказчиков – наоборот. Исходный вопрос был “проверять или не закупать”, и получается, что для заказчиков не закупать – дешевле. По крайней мере если отсутствие закладок указано в ТЗ. Проще сделать своё с нуля, чем досконально разобраться в чужом.

  • 16 <t> // 28th February 2012, 12:44 // Читатель jno написал:

    > Проще сделать своё с нуля, чем досконально разобраться в чужом.

    не без того.

    я же говорил о том, что научившись проверять чужое, можно ЭКСПОРТИРОВАТЬ эту компетенцию (и, например, предлагать [условно]бесплатно для внутреннего госзаказчика)

  • 17 <t> // 28th February 2012, 16:35 // Читатель x1y2z3 написал:

    Уважаемые участники. Сколько уже было всяких спекуляций по поводу закладок. Но почему-то упускается одна простая вещь. Риск кражи “протокола” работы с этими закладками обесценивает возможный и, заметьте, гипотетический выигрыш в час Х. При том, что новейшее железо и так в руках определенных разработчиков и может быть эксклюзивом. Нет?

  • 18 <t> // 28th February 2012, 16:47 // Читатель x1y2z3 написал:

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

  • 19 <t> // 28th February 2012, 17:25 // Читатель ddark008 написал:

    > а были официальные случаи обнаружения таких закладок?
    Буквально месяц назад на xakep.ru выложили статью о закладках в материнских платах от наших китайских друзей и о реакции наших силовых структур
    http://www.xakep.ru/58104/

  • 20 <t> // 28th February 2012, 18:39 // Читатель зашел в гости написал:

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

    озабочены – да. а есть ли на то обьективные основания, помимо большой нелюбви к “большому шайтану”?
    сами подумайте, как можно внедрить эти самые “закладки”? Их нужно разработать, сделать малой партией (вы же не хотите, чтобы ваши чипы попали в компьютеры какой-нибудь CitiGroup?) и каким-то образом убедиться что Иран купит именно эти компоненты.
    Слишком сложная цепочка, слишком мал шанс успеха и слишком велики риски.

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

  • 21 <t> // 29th February 2012, 06:33 // Читатель Jeff Zanooda написал:

    > уязвимым становится все вокруг.

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

    > есть ли на то обьективные основания, помимо большой нелюбви к “большому шайтану”?

    Шайтанский stuxnet спалил весьма объективные центрифуги.

    > вы же не хотите, чтобы ваши чипы попали в компьютеры какой-нибудь CitiGroup?

    Почему? Какие секреты могут быть у Citi, или любого другого банка, от американского государства? Каждый чих банков и так уже отслеживают OCC, SEC, Federal Reserve и прочие надзирающие органы.

    Клинтон в своё время даже продвигал ограничения на криптографию и обязательное введение задних дверей (Clipper chip). Идея не удалась, хакеры написали PGP. Написать микропроцессор не так просто.

  • 22 <t> // 29th February 2012, 14:42 // Читатель jno написал:

    > Написать микропроцессор не так просто.

    во-во! а TPM уже есть…

  • 23 <t> // 29th February 2012, 18:40 // Читатель зашел в гости написал:

    “Какие секреты могут быть у Citi, или любого другого банка, от американского государства?”

    с соответствующим court order – никаких, это верно. А так просто прийти, показать корочку “Homeland Security” и начать рыться в базах данных – это только в кино бывает. “Отслеживают” – это тоже относительно: о проверке/аудите сообщают заранее, на подготовку дается время, и документацию, составляемую опытными бухгалтерами и юристами предоставляет сам банк. Никто в масках с автоматами не приезжает и коробками документы не изымает. Вот так просто втихаря повтыкать чипов и слушать трафик – не пройдет.
    Clipper chip – вообще неудачный пример, т.к. потуги NSA не имели силы закона, и производители просто послали его[NSA] куда подальше. Хотеть прослушивать весь мир – это одно, протащить Оруэлловские законы через Конгресс – совсем другое.

    Stuxnet – тоже не совсем удачный пример, т.к. это не “аппаратная закладка”, а банальная кибератака, перед коими потенциально уязвимы все компьютеры подключенные к сети, в первую очередь аппаратура самого ЦРУ.

    речь идет о закладках. Вот, персы пользуются оборудованием Siemens. Как ЦРУ туда закладки вставит? Да никак, потому что компания немецкая, поди отследи что они кому продают. Вот и остаются бедным американцам интернет да компьютрные вирусы…

  • 24 <t> // 1st March 2012, 03:35 // Читатель Jeff Zanooda написал:

    Чисто аппаратные закладки встречаются редко – кроме пассивного радиомикрофона Льва Термена образца 1945 г. я даже примеров не помню.

    Чаще это программно-аппаратный комплекс, иногда – чисто программный, совсем редко – “пропущенные” слабости официально рекомендованных алгоритмов.

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

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

    > компания немецкая, поди отследи что они кому продают

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

    Про court order правильно, но когда дело доходит до национальной безопасности, закон и в Америке тоже как дышло. Если прокурор дело не заводит, то и нарушения закона не было. А ЦРУ так вообще законы неписаны, просто по определению.

  • 25 <t> // 1st March 2012, 18:07 // Читатель arcman написал:

    > Stuxnet – тоже не совсем удачный пример

    Не не – как раз таки показательный пример!
    Лоббисты стращают аппаратными закладками, а на практике был успешно применен качественный вирус.

  • 26 <t> // 2nd March 2012, 11:53 // Читатель dign написал:

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

    Как ни крути все сводится сводится к контролю ПО. А проблема наличия аппаратной закладки – надуманная. И без закладки с корявым или вредоносным ПО можно наделать проблем.

  • 27 <t> // 2nd March 2012, 13:41 // Александр Венедюхин:

    Простой контроль ПО, независящий от аппаратуры, не поможет избежать срабатывания “набора команд” – набор-то этот нужно знать наперёд.

    Вот, кстати, про активацию закладок: https://dxdt.ru/2010/01/26/2919/

  • 28 <t> // 2nd March 2012, 14:03 // Читатель jno написал:

    сейчас модно активировать потоком штатных входных данных – анализ не спасёт.

  • 29 <t> // 2nd March 2012, 18:38 // Читатель зашел в гости написал:

    “потоком штатных входных данных”

    например?

  • 30 <t> // 3rd March 2012, 21:33 // Читатель jno написал:

    > например?

    ой, ну вот вам боян: на антенну РЛС придёт в качестве штатного отражённого от цели сигнала специально подобранный (ок, “отражённый специальным отражателем”), обработка которого и вызовет срабатывание закладки