Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/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 ファイル)を参照してください。examples はさまざまな暗号アーティファクトのテスト方法を示しています。

インストール

リポジトリをクローンします:

$ 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

注記: 内容を理解している場合は、代わりに次のステップに進んで、pip に --break-system-packages スイッチを使用してもかまいません。

paranoid_crypto Python パッケージをインストールします:

$ 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) から暗号アーティファクトを分析してきました。CT は、発行されたウェブサイト証明書を透明かつ検証可能にすることを目的として 2013 年から記録しています。そのデータベースには、2022年9月時点で70億以上の証明書が含まれています。Paranoid による EC 公開鍵と ECDSA 署名のチェックでは、これまでのところ CT に脆弱なアーティファクトは見つかっていません。重大度が high または critical の RSA 公開鍵チェックについては、以下の結果が得られています:

これらの証明書の一部は、すでに期限切れまたは失効していました。まだ有効だったもの(CheckGCD のものが大半)については、失効させるために直ちに認証局に報告しました。

このプロジェクトについて

このライブラリは Google セキュリティチームのメンバーによって開発・保守されていますが、公式にサポートされている Google 製品ではありません。貢献したい場合は、CONTRIBUTING をお読みの上、プルリクエストを送ってください。バグの報告や機能リクエストも受け付けています。

研究で 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}
}
ツールをダウンロード
テスト名関連する可能性のある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