
Raspberry Pi RP2350 Hacking-Challenge: Extrahieren eines 128-Bit-OTP-Geheimnisses, das durch Secure Boot und OTP-Sperre geschützt ist, mit Setup-Skripten und Firmware für Pico 2 Boards.
Willkommen zur Raspberry Pi RP2350 Hacking Challenge und zum Bug Bounty!
Schau dir unser kurzes Erklärvideo an:

Herzlichen Glückwunsch an die 4 Gewinner! Lest alles über sie hier.
Ein riesiges Dankeschön an Thomas Roth und das Team von Hextree.io, die uns 2024 bei der Entwicklung und dem Start dieser Challenge geholfen haben!
Die RP2350 Hacking Challenge ist beendet.
Es gab einige fantastische Einsendungen! Wir werden die Gewinner am 14. Januar 2025 bekannt geben und Details veröffentlichen.
Bisher wurden keine Breaks gemeldet.
Wir verdoppeln den Preis auf 20.000 $!
Wir haben die Laufzeit der Challenge verlängert, sie läuft jetzt bis Mitternacht am 31. Dezember 2024 (UK-Zeit)
Das Ziel ist einfach: Finde einen Angriff, mit dem du ein Geheimnis auslesen kannst, das in OTP ROW 0xc08 versteckt ist – das Geheimnis ist 128 Bit lang und durch OTP_DATA_PAGE48_LOCK1 und den Secure Boot des RP2350 geschützt!
Wenn du glaubst, einen Break gefunden zu haben, schreib uns eine E-Mail an [email protected] mit Details – wir schicken dir einen Pico2 mit einem darin versteckten individuellen Geheimnis. Wenn du es extrahieren kannst, gewinnst du die 20.000 $!
Viel Glück!
Für diese Challenge nehmen wir die folgenden dauerhaften und irreversiblen Änderungen an deinem RP2350 vor:
crit1.secure_boot_enable (aber mit öffentlichen Schlüsseln)crit1.debug_disableec_private_key.pem und ec_public_key.pem. Wenn du deine eigenen Schlüssel generieren möchtest, kannst du keygen.sh ausführen, um mit openSSL neue zu erzeugen../write_otp_secret.sh – dies ist irreversibel, da wir OTP nicht „löschen“ können../read_otp_secret.sh ausführstmkdir buildcd buildcmake -DPICO_PLATFORM=rp2350 -DPICO_BOARD=pico2 ..makecd ..enable_secureboot.sh ausführen (Dies aktiviert Secure-Boot irreversibel! Stelle sicher, dass du ein Backup deiner Schlüssel aufbewahrst!)
Die Debug-Version zeigt, wie man das OTP-Geheimnis liest, das du extrahieren musst, und gibt außerdem einige Debug-Ausgaben darüber, was im Chip vor sich geht.
Da die printfs usw. anfällig für Fault-Injection-Angriffe sein könnten, haben wir sie in der Secure-Version deaktiviert.
Unser „goldener“ Challenge-Pico 2 wird die Secure-Version der Firmware ausführen, wobei die Binärdatei in den RAM kopiert wird.
Durch die Teilnahme an dieser Challenge aktivierst du dauerhaft Secure-Boot auf deinem Gerät.
Jede Firmware, die du installieren möchtest, musst du selbst signieren. Du kannst
die Signierung für andere Projekte aktivieren, indem du einfach Folgendes zur CMakeLists.txt hinzufügst (dies muss über pico_add_extra_outputs stehen) und die
ec_private_key.pem in dein Quellverzeichnis kopierst.
# Signing and hashing
pico_sign_binary(project_name ${CMAKE_CURRENT_SOURCE_DIR}/ec_private_key.pem)
pico_hash_binary(project_name)
pico_set_otp_key_output_file(project_name ${CMAKE_CURRENT_LIST_DIR}/otp.json)
Bitte siehe hier für Bedingungen, Konditionen und Regeln dieser Challenge.
lock_chip.sh ausrp2350_hacking_challenge_debug_version.uf2 oder rp2350_hacking_challenge_secure_version.uf2