
Meshtastic 다이렉트 메시지의 CVE-2025-52464에 대한 소프트웨어 전용 개념 증명
이 프로젝트는 Meshtastic 펌웨어 버전 2.5.0~2.6.10에 영향을 미치는 취약점인 CVE-2025-52464를 시연하는 소프트웨어 전용 개념 증명입니다.
이 구현은 취약한 펌웨어의 암호화 동작을 재현하며, 중복되거나 낮은 엔트로피의 암호화 키가 어떻게 공격자가 암호화된 직접 메시지(DM)를 복호화할 수 있게 하는지 보여줍니다. 또한 펌웨어 버전 2.6.11에서 도입된 패치 동작을 시연하는데, 여기서는 올바른 키 생성과 낮은 엔트로피 키 탐지를 통해 공격을 방지합니다.
crypto_engine.py 암호화 연산 (X25519, HKDF, AES-GCM)
node.py 시뮬레이션된 Meshtastic 노드
packet.py 암호화된 직접 메시지 패킷
attacker.py 수동 공격자 시뮬레이션
security_checker.py 낮은 엔트로피 공개 키 탐지
compromised_keys.py 손상된 공개 키 데이터베이스
simulation.py 전체 시뮬레이션 조정
demo.py 취약 및 패치된 데모 실행
test_node.py
test_packet.py
test_vulnerable_key.py
test_attacker_decrypt.py
test_fixed_case.py
가상 환경 생성(선택 사항):
python -m venv venv
가상 환경을 활성화합니다.
Windows:
venv\Scripts\activate
필요한 패키지를 설치합니다:
pip install -r requirements.txt
다음을 실행합니다:
python demo.py
데모는 두 가지 실험을 수행합니다:
취약한 펌웨어
패치된 펌웨어
다음 스크립트는 독립적으로 실행할 수 있습니다:
python test_node.py
python test_packet.py
python test_vulnerable_key.py
python test_attacker_decrypt.py
python test_fixed_case.py
이 프로젝트는 **다름슈타트 공과대학교(TU Darmstadt)**의 **Secure Mobile Networking Lab (SEEMOO)**에서 제공하는 네트워크 보안(Network Security) 강좌의 보너스 프로젝트로 개발되었습니다. 2026년 여름 학기 동안 진행되었습니다.
이 프로젝트는 오직 교육 및 연구 목적으로만 제작되었습니다. 이 구현은 취약점의 원인이 되는 암호화 워크플로우를 시뮬레이션하여 CVE-2025-52464에 대한 소프트웨어 전용 개념 증명을 제공합니다. 완전한 Meshtastic 펌웨어, LoRa 물리 계층 또는 전체 Meshtastic 통신 스택을 구현하지는 않습니다.
이 프로젝트는 안전한 키 생성과 암호화 취약점에 대한 연구 및 이해를 돕기 위한 것이며, 승인되지 않거나 악의적인 활동에 사용되어서는 안 됩니다.
Masoud Mehdipour
네트워크 보안 보너스 챌린지
Secure Mobile Networking Lab
TU Darmstadt