Реализация безопасности на уровне чипа
С недавним приобретением Intel известной компании по безопасности, я начинаю думать о том, какое программное обеспечение может быть более безопасным на уровне чипов. Вот примеры, которые я придумала:
- Генерация случайных чисел
- шифрование
- Защита памяти
Но является ли безопасность на аппаратном уровне более безопасной, чем защита на основе программного обеспечения? (Я бы взял мусор в мусор вне зависимости от того, на каком уровне вы работаете). Каковы соображения дизайна для встроенной безопасности? Каковы ограничения? Наконец, есть ли у вас хорошие ресурсы, чтобы узнать больше о теме?
4 ответа
На самом деле в Intel уже реализовано много аппаратных технологий безопасности (чип и чипсет).
Некоторые соответствующие технологии:
- intel vPro, в который входят:
- Технология Intel Anti-Theft
- intel RNG (генератор случайных чисел)
- Аппаратное шифрование
- XD (eXecute Disable)
В целом, аппаратная безопасность более безопасна, потому что практически невозможно "пойти под" ваш код (настроить его на более низком уровне).
Безопасность на аппаратном уровне может решить только некоторые проблемы безопасности. Например, зоны NX затрудняют использование переполнения буфера (но не невозможно, возврат в libc). Используемая вами архитектура процессора не повлияет на более распространенные уязвимости, такие как SQL-инъекция, и я не думаю, что это возможно. Также могут быть уязвимости в оборудовании, например, эта уязвимость в процессорах Intel.
Intel хочет сделать свои текущие продукты более безопасными. Кроме того, у Intel много сбережений, и они могут рассматривать эту недавнюю покупку как инвестицию в растущую отрасль.
Этот поток немного староват, но вы также можете прочитать о технологии Intel Secure Key (Генерация случайных чисел), которая встроена в процессоры Intel (начиная с процессоров поколения 2012). В руководстве по внедрению подробно рассказывается о том, что делает его более безопасным, чем программная реализация.
Хотя эта ветка довольно старая, я наткнулся на статью о Intel Secure Key, в которой описываются аспекты генерации случайных чисел, безопасности и производительности. Полный текст статьи находится здесь ( http://iopscience.iop.org/article/10.3847/1538-4357/aa7ede/meta;jsessionid=A9DA9DDB925E6522D058F3CEEC7D0B21.ip-10-40-2-120), но неоплачиваемая версия здесь ( https://arxiv.org/abs/1707.02212).
Короче говоря, лучшая технология, которую мы имеем для генерации случайных чисел, - это Intel Secure Key, который использует наборы команд RdRand и RdSeed. Это криптографически безопасный генератор псевдослучайных чисел, который использует источник энтропии на кристалле для случайного заполнения генератора чисел. Он полностью соответствует современным требованиям безопасности, таким как NIST SP800-90Ar1/B/C, FIPS-140-2 и ANSI X9.82.