сотрудники службы безопасности Google, освобождены через сообщение в блоге приняли решение выпустить исходный код библиотеки «Параноид», предназначен для обнаружения известных уязвимостей в большом количестве ненадежных криптографических артефактов, таких как открытые ключи и цифровые подписи, созданные в уязвимых аппаратно-программных системах (HSM).
В рамках проекта может быть полезен для косвенной оценки использования алгоритмов и библиотек которые имеют известные пробелы и уязвимости, влияющие на надежность генерируемых ключей и цифровых подписей, независимо от того, генерируются ли проверяемые артефакты аппаратным обеспечением, недоступным для проверки, или закрытыми компонентами, являющимися черным ящиком.
В дополнение к этому Google также упоминает, что черный ящик может генерировать артефакт, если в одном сценарии он не был создан одним из собственных инструментов Google, таких как Tink. Это также произошло бы, если бы он был сгенерирован библиотекой, которую Google может проверять и тестировать с помощью Wycheproof.
Цель открытия библиотеки — повысить прозрачность, позволить другим экосистемам использовать ее (таким как центры сертификации, центры сертификации, которым необходимо выполнять аналогичные проверки для соответствия требованиям) и получать вклад от сторонних исследователей. При этом мы призываем к участию в надежде, что после того, как исследователи обнаружат и сообщат о криптографических уязвимостях, проверки будут добавлены в библиотеку. Таким образом, Google и остальной мир могут быстро реагировать на новые угрозы.
Библиотека также может анализировать наборы псевдослучайных чисел определить надежность вашего генератора и, используя большую коллекцию артефактов, выявить неизвестные ранее проблемы, возникающие из-за ошибок программирования или использования ненадежных генераторов псевдослучайных чисел.
С другой стороны, также упоминается, что Paranoid предлагает реализации и оптимизации, которые они были взяты из существующей литературы, связанной с криптографией, что подразумевает, что генерация этих артефактов в некоторых случаях была ошибочной.
При проверке содержимого публичного реестра CT (Certificate Transparency), включающего информацию о более чем 7 миллиардах сертификатов, с помощью предложенной библиотеки не были обнаружены проблемные открытые ключи на основе эллиптических кривых (ЭК) и цифровые подписи на основе алгоритма. ECDSA, но по алгоритму RSA были найдены проблемные открытые ключи.
После раскрытия уязвимости ROCA мы задались вопросом, какие еще уязвимости могут существовать в криптографических артефактах, генерируемых черными ящиками, и что мы можем сделать для их обнаружения и устранения. Затем мы начали работать над этим проектом в 2019 году и создали библиотеку для проверки большого количества криптографических артефактов.
Библиотека содержит реализации и оптимизации существующих работ, найденных в литературе. Литература показывает, что в некоторых случаях генерация артефактов имеет недостатки; Ниже приведены примеры публикаций, на которых основана библиотека.
В частности, Выявлено 3586 недоверенных ключей сгенерированный кодом с неисправленной уязвимостью CVE-2008-0166 в пакете OpenSSL для Debian, 2533 ключа, связанные с уязвимостью CVE-2017-15361 в библиотеке Infineon, и 1860 ключей с уязвимостью, связанной с нахождением наибольшего общего делителя (DCM ).
Обратите внимание, что проект предназначен для облегчения использования вычислительных ресурсов. Проверки должны быть достаточно быстрыми, чтобы выполняться на большом количестве артефактов, и должны иметь смысл в реальном производственном контексте. Проекты с меньшим количеством ограничений, такие как RsaCtfTool, могут больше подходить для различных вариантов использования.
Наконец, упоминается, что информация о проблемных сертификатах, оставшихся в использовании, была направлена в удостоверяющие центры для их отзыва.
Для интересно узнать больше о проекте, они должны знать, что код написан на Python и выпущен под лицензией Apache 2.0. Вы можете ознакомиться с деталями, а также с исходным кодом По следующей ссылке.