Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
paranoid_crypto — Библиотека Paranoid содержит реализации проверок на известные уязвимости криптографических артефактов. | Kitploit
Инструменты/GitHubGitHub/google/paranoid_crypto
Статический анализСканеры уязвимостейАнализ уязвимостейКриптографияСтатьи и Исследования
GitHubgoogle/paranoid_crypto

paranoid_crypto

Библиотека Paranoid содержит реализации проверок на известные уязвимости криптографических артефактов.

Репозиторий
803491 год назадПроверено Kitploit

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Проект Paranoid

Обзор

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

  • Arjen K. Lenstra, James P. Hughes, Maxime Augier, Joppe W. Bos, Thorsten Kleinjung, and Christophe Wachter. (2012). Ron was wrong, Whit is right;

  • Nadia Heninger, Zakir Durumeric, Eric Wustrow, and J. Alex Halderman. (2012). Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices;

  • Daniel J. Bernstein, Yun-An Chang, Chen-Mou Cheng, Li-Ping Chou, Nadia Heninger, Tanja Lange, and Nicko van Someren. (2013). Factoring RSA keys from certified smart cards: Coppersmith in the wild;

  • Joachim Breitner and Nadia Heninger. (2019). Biased Nonce Sense: Lattice Attacks against Weak ECDSA Signatures in Cryptocurrencies;

Цель

Цель — повысить уверенность в использовании криптографии внутри и вне Google.

При работе с асимметричным шифрованием криптографические артефакты обычно:

  1. Генерируются нашими собственными инструментами (например, в Google мы используем boringssl или tink); или
  2. Генерируются сторонними инструментами, к которым у нас есть доступ (поэтому такие инструменты можно, например, проверить на уязвимости с помощью wycheproof); или
  3. Генерируются сторонними инструментами и/или аппаратными или программными «чёрными ящиками», к которым у нас нет доступа.

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

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

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

Начало работы

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

Чтобы узнать, как использовать проверки, вы можете посмотреть папку examples или модульные тесты (файлы *test.py). Примеры демонстрируют тестирование различных криптографических артефактов.

Установка

Клонируйте репозиторий:

$ git clone https://github.com/google/paranoid_crypto.git && cd paranoid_crypto

ПРИМЕЧАНИЕ: Приведённые ниже команды были протестированы на стабильной версии Debian (bookworm). Убедитесь, что вы используете python3.11 или новее.

Установите зависимости:

$ sudo apt update && sudo apt install python3 python3-full python3-pip python3-pybind11 python3-fpylll python3-gmpy2 protobuf-compiler

Создайте и активируйте виртуальное окружение:

$ python3 -m venv --system-site-packages ~/paranoid-venv

$ source ~/paranoid-venv/bin/activate

ПРИМЕЧАНИЕ: Если вы понимаете, что делаете, вы можете вместо этого пропустить следующий шаг и использовать параметр --break-system-packages для pip.

Установите python-пакет paranoid_crypto:

$ python3 -m pip install .

Чтобы проверить, успешно ли выполнена установка, вы можете запустить модульные тесты. Например:

root@kitploit:~
$ cd paranoid_crypto && python3 -m unittest discover -b -p "*test.py"
.................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 305 tests in 314.660s

OK

Docker

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

ПРИМЕЧАНИЕ: Убедитесь, что у вас установлен docker.

После клонирования репозитория создайте docker-образ:

$ docker build -t paranoid-img .

Создайте и запустите контейнер:

root@kitploit:~
$ docker run --name paranoid-container -it paranoid-img
paranoid-user@6191368b26b8:~$

Чтобы проверить, успешно ли выполнена установка, вы можете запустить модульные тесты. Например:

root@kitploit:~
paranoid-user@6191368b26b8:~$ cd paranoid_crypto && python3 -m unittest discover -b -p "*test.py"
.................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 305 tests in 307.555s

OK

Предварительные результаты

Как и в других опубликованных работах, мы анализировали криптографические артефакты из Certificate Transparency (CT), который регистрирует выданные сертификаты веб-сайтов с 2013 года с целью сделать их прозрачными и проверяемыми. Его база данных содержит более 7 миллиардов сертификатов по состоянию на сентябрь 2022 года. Для проверок Paranoid открытых ключей EC и подписей ECDSA мы пока не нашли слабых артефактов в CT. Для проверок открытых ключей RSA с уровнями серьёзности high (высокий) или critical (критический) мы получили следующие результаты:

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

О проекте

Эта библиотека разрабатывается и поддерживается участниками команды Google Security Team, но это не официально поддерживаемый продукт Google. Если вы хотите внести вклад, пожалуйста, прочитайте CONTRIBUTING и отправляйте нам pull request'ы. Вы также можете сообщать об ошибках или оставлять запросы на новые функции.

Если вы используете Paranoid в своих исследованиях, вы можете процитировать его с помощью следующей BibTeX:

root@kitploit:~
@software{Barbosa_Bleichenbacher_Paranoid_Crypto_2022,
  author = {Barbosa, Pedro and Bleichenbacher, Daniel},
  license = {Apache-2.0},
  month = {8},
  title = {{Paranoid Crypto}},
  url = {https://github.com/google/paranoid_crypto},
  year = {2022}
}
Скачать инструмент
TestNameПотенциально связанные CVEСерьёзностьКоличество слабых артефактов
CheckOpensslDenylistCVE-2008-0166SEVERITY_CRITICAL3989
CheckROCACVE-2017-15361SEVERITY_HIGH2875
CheckGCD-SEVERITY_CRITICAL1860
CheckFermatCVE-2022-26320SEVERITY_CRITICAL36
CheckContinuedFractions-SEVERITY_CRITICAL16
CheckBitPatterns-SEVERITY_CRITICAL6
CheckPermutedBitPatterns-SEVERITY_CRITICAL6
CheckKeypairDenylistCVE-2021-41117SEVERITY_CRITICAL4
CheckPollardpm1-SEVERITY_CRITICAL1