Аппаратные трояны: теперь с допингом

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

Becker, Regazzoni, Paar и Burleson исследовали возможность и последствия умышленного нарушения процесса легирования (doping), а именно изменения полярности допанта. По сути, меняется только маска легирования, даже количество расходуемых примесей может остаться таким же. Учёные считают, что подобное вмешательство незаметно даже при сканировании электронным микроскопом и сравнении с эталоном (не говоря о том, что эталон тоже может быть «атакован»).



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

Генератор случайных чисел в Ivy Bridge хранит две 128-битных константы: ключ K и состояние C. В нормальном режиме работы эти константы обновляются довольно часто, но, привнеся небольшие изменения, можно добиться фиксированного значения ключа K и почти фиксированного значения C (это «почти» необходимо для прохождения внутренних и внешних тестов). Сложность «угадывания» значения C таким образом уменьшается до нужного числа бит; учёные считают, что 32-х достаточно для того, чтобы пройти внешний тест NIST. Поскольку случайное число генерируется с помощью AES шифрования состояния C ключом K, энтропия не страдает; цикличность также не наблюдается: состояние сидируется достаточно часто. Встроенный тест (Built-In Self-Test) проверяет контрольную сумму случайных чисел для заданных исходных параметров (изменения не затрагивают эту область) и энтропию, так что он тоже не замечает подлога и в то же время остаётся способным рапортовать ошибки.

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

Оригинал исследования
Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 19

    –2
    А как создатель такого трояна получит доступ к такому роду транзисторов и скажет сломайся?
      +7
      Говорить ничего не надо, он уже «сломан», и в случае с фиксированным напряжением мы имеем значительно испорченный ГСЧ, т.е. можно будет в «интернетах» перехватить данные и расшифровать, поскольку будут значительно упращены многие атаки на криптоалгоритмы.

      А если про ток утечки, думаю, «троянить» можно оборудование, к которому потом будет получен доступ, например смарт-карты.
      –17
      Скрытая пропаганда Эльбрусов и сопутствующего аппаратного обеспечения?
        +5
        Значит, не надо доверять одному источнику рандомности.
        Например, OpenSSL для Windows при инициализации ГПСЧ дополнительно использует хеш скриншота, в дополнение к rdtsc.
        Замешать сюда ещё рандом от интеловского датчика, пусть и подпорченный, и «счастливого угадывания, с%ки».
          0
          Какому источнику доверять — выбор лишь разработчика, иногда навязанный требованиями к производительности. А иногда и не выбор: что делать Java-программисту, если платформа в очередном обновлении принудительно задействовала аппаратное шифрование?
            +3
            Дополнительно шифровать данные своим способом.
              +1
              Думаю, в аппапатном шифровании нет ничего плохого.
              Есть данные, есть ключ, есть алгоритм.
              Выход детерминирован. Если он отличается от другой реализации, то на принимающей стороне просто не расшифруется.
                +1
                DSA требует использования случайных чисел при подписи. А что, если они будут не совсем случайные, а скажем, с битами закрытого ключа? Хотя это и требует куда более очевидных «протрояниваний», чем простое создание дефектных транзисторов, но не всей аппаратной криптографии можно доверять в надежде, что «не расшифруется»/«не проверится подпись».
                  0
                  Понятно. Криптомодулю можно доверять, пока кол-во бит на входе и выходе совпадает — некуда встроить канал утечки.
                  Для симметричных шифров это всегда так, а для ассиметричных видимо доверять можно только тем схемам, где вычислительные модули и ГСЧ разделены. В идеале — от разных производителей и заменяемы на аналоги.
              –1
              Кстати это натолкнуло на идею, что можно написать ПО, которое бы тестировало потенциально «зараженное» железо на «правильную рандомность», таким образом выявляя трояна.
                +3
                Математически неразрешимо.

                Мой испорченный ГСЧ может гнать цифры числа пи (ну ладно, exp(sqrt(2)-7), чтобы было не так очевидно) и нет простого способа свернуть последовательность обратно в формулу. Знающему же формулу профит — имея кусок из середины, можно предсказать продолжение.
              +9
              не удивлюсь если такая штука уже реализована на существующих процессорах по наветам АНБ
                +1
                Вроде речь про аппаратный генератор случайных чисел, а он вроде есть только в ivy bridge.
                  +2
                  как назло у меня именно такой
                  0
                  Угу, а в своих целях АНБ использует какие-то совсем другие процессоры?
                    0
                    не знаю-в АНБ не был, но вот вам информация к размышлению:
                    2008: Корпорация IBM получила от Агентства национальной безопасности США
                  0
                  > меняется только маска легирования

                  Меняется одна из критических (самых дорогих) масок.
                    0
                    Не меньшую опасность представляет собой принудительная привязка софта к железу, которую усиленно продвигает Microsoft в своем новом стандарте интерфейса с BIOS. Вот это уже не троян, а супертроян. Вы больше не владелец своего железа и своих данных, привыкайте — ими будут по своему усмотрению управлять Microsoft и спецслужбы США.
                      0
                      В таком случае поможет coreboot.

                    Only users with full accounts can post comments. Log in, please.