Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
paranoid_crypto — La libreria di Paranoid contiene implementazioni di controlli per le debolezze note sugli artefatti crittografici. | Kitploit
Strumenti/GitHubGitHub/google/paranoid_crypto
Analisi StaticaScanner di VulnerabilitàAnalisi delle VulnerabilitàCrittografiaPaper e Ricerca
GitHubgoogle/paranoid_crypto

paranoid_crypto

La libreria di Paranoid contiene implementazioni di controlli per le debolezze note sugli artefatti crittografici.

Vedi Repository
803491 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Progetto Paranoid

Panoramica

Il progetto Paranoid verifica la presenza di vulnerabilità note negli artefatti crittografici come chiavi pubbliche, firme digitali e numeri pseudocasuali in generale. Questa libreria contiene implementazioni e ottimizzazioni di lavori esistenti trovati in letteratura. I lavori esistenti hanno dimostrato che la generazione di questi artefatti era difettosa in alcuni casi. Di seguito sono riportati alcuni esempi di pubblicazioni su cui la libreria si basa.

  • 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;

Obiettivo

L'obiettivo è aumentare la fiducia nei casi d'uso della crittografia all'interno e all'esterno di Google.

Quando si ha a che fare con la crittografia asimmetrica, gli artefatti crittografici sono solitamente:

  1. Generati da uno dei nostri strumenti (ad esempio, a Google usiamo boringssl o tink); oppure,
  2. Generati da strumenti di terze parti a cui abbiamo accesso (quindi questi strumenti possono essere, ad esempio, controllati per vulnerabilità usando wycheproof); oppure,
  3. Generati da strumenti di terze parti e/o scatole nere hardware o software a cui non abbiamo accesso.

Con Paranoid è possibile testare qualsiasi artefatto crittografico, ma la sua motivazione principale è rilevare l'uso di scatole nere hardware o software di terze parti deboli. Pertanto, Paranoid può essere utilizzato anche se non siamo in grado di ispezionare il codice sorgente (situazione 3. elencata sopra).

Il progetto mira a rilevare sia vulnerabilità note che sconosciute. Ad esempio, cerca di identificare vulnerabilità causate da errori di programmazione o dall'uso di generatori di numeri casuali proprietari deboli. Rilevare nuove vulnerabilità è ovviamente molto più difficile che rilevare quelle note. Tali rilevazioni possono richiedere grandi insiemi di artefatti o trovare quelli deboli solo con una bassa probabilità.

Pertanto, siamo molto interessati a ricevere feedback e a conoscere la libreria crittografica che ha generato artefatti crittografici deboli (vedi invito a contribuire ). Il progetto è in continua evoluzione. Dopo aver appreso di implementazioni deboli, il piano è analizzarle e aggiungere rilevamenti mirati.

Per Iniziare

La documentazione per i controlli attualmente implementati si trova in docs. La documentazione sarà arricchita con più contenuti nel tempo.

Per imparare come usare i controlli, puoi guardare la cartella examples o i test unitari (file *test.py). Gli esempi dimostrano il test di diversi artefatti crittografici.

Installazione

Clona il repository:

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

NOTA: I comandi seguenti sono stati testati sulla versione stabile di Debian (bookworm). Assicurati di utilizzare python3.11 o versioni successive.

Installa le dipendenze:

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

Crea e attiva un ambiente virtuale:

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

$ source ~/paranoid-venv/bin/activate

NOTA: Se sai cosa stai facendo, puoi invece saltare al passaggio successivo e usare l'opzione --break-system-packages di pip.

Installa il pacchetto Python paranoid_crypto:

$ python3 -m pip install .

Per verificare se l'installazione è riuscita, puoi eseguire i test unitari. Ad esempio:

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

OK

Docker

In alternativa, se vuoi eseguirlo in un container, puoi usare il nostro Dockerfile come mostrato di seguito.

NOTA: Assicurati di avere docker installato.

Dopo aver clonato il repository, crea l'immagine docker:

$ docker build -t paranoid-img .

Crea e avvia il container:

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

Per verificare se l'installazione è riuscita, puoi eseguire i test unitari. Ad esempio:

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

OK

Risultati preliminari

Similmente ad altri lavori pubblicati, abbiamo analizzato gli artefatti crittografici di Certificate Transparency (CT), che registra i certificati dei siti web emessi dal 2013 con l'obiettivo di renderli trasparenti e verificabili. Il suo database contiene più di 7 miliardi di certificati a settembre 2022. Per i controlli Paranoid di chiavi pubbliche EC e firme ECDSA, finora non abbiamo trovato artefatti deboli in CT. Per i controlli delle chiavi pubbliche RSA con gravità alta o critica, abbiamo i seguenti risultati:

Alcuni di questi certificati erano già scaduti o revocati. Per quelli che erano ancora attivi (la maggior parte dei CheckGCD), li abbiamo immediatamente segnalati alle Certificate Authorities per la revoca.

INFORMAZIONI

Questa libreria è sviluppata e mantenuta da membri del Google Security Team, ma non è un prodotto Google supportato ufficialmente. Se vuoi contribuire, leggi CONTRIBUTING e inviaci pull requests. Puoi anche segnalare bug o richiedere funzionalità.

Se usi Paranoid nella tua ricerca, puoi citarlo usando il seguente 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}
}
Scarica lo strumento
Nome del testCVE potenzialmente correlateGravitàNumero di artefatti deboli
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