Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
paranoid_crypto — Paranoid의 라이브러리에는 암호화 아티팩트에 대한 알려진 취약점 검사 구현이 포함되어 있습니다. | Kitploit
도구/GitHubGitHub/google/paranoid_crypto
Static AnalysisVulnerability ScannersVulnerability AnalysisCryptographyPapers & Research
GitHubgoogle/paranoid_crypto

paranoid_crypto

Paranoid의 라이브러리에는 암호화 아티팩트에 대한 알려진 취약점 검사 구현이 포함되어 있습니다.

저장소 보기
803491년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Project 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

참고: 상황을 잘 알고 있다면 다음 단계로 건너뛰고 pip에 --break-system-packages 스위치를 사용해도 됩니다.

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)의 암호화 산출물을 분석해 왔습니다. CT는 2013년부터 발급된 웹사이트 인증서를 투명하고 검증 가능하게 만들기 위해 기록하며, 2022년 9월 기준 데이터베이스에는 70억 개 이상의 인증서가 있습니다. EC 공개 키 및 ECDSA 서명에 대한 Paranoid 검사에서는 지금까지 CT에서 취약한 산출물을 발견하지 못했습니다. 심각도가 높음(high) 또는 치명적(critical)인 RSA 공개 키 검사에 대해서는 다음과 같은 결과가 있습니다:

이러한 인증서 중 일부는 이미 만료되었거나 폐기되었습니다. 아직 활성 상태인 인증서(대부분 CheckGCD 인증서)의 경우 즉시 인증 기관에 보고하여 폐기하도록 했습니다.

ABOUT

이 라이브러리는 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}
}
도구 다운로드
TestNamePotentially Related CVEsSeverityNumber of Weak Artifacts
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