This shows you the differences between two versions of the page.
|
ss:laboratoare:05 [2026/03/30 18:45] ciprian.popescu0411 [Laborator 5: Securizarea unei proiect embedded pe ESP32-CAM] |
ss:laboratoare:05 [2026/03/30 19:39] (current) ciprian.popescu0411 [Exerciții] |
||
|---|---|---|---|
| Line 201: | Line 201: | ||
| <note warning> | <note warning> | ||
| - | Activarea Secure Boot sau Flash Encryption este **ireversibilă** (one-time programmable fuses). **NU rulați comenzi de scriere (''burn_efuse'') pe plăcuțele de laborator fără permisiunea explicită a asistentului! Veți "brick-ui" plăcuța permanent!** | + | **PERICOL DE BRICK-UIRE PERMANENTĂ A PLĂCUȚEI DE LABORATOR!** |
| + | |||
| + | Comenzile ''espefuse.py burn_efuse'', ''espefuse.py burn_key'' și ''espefuse.py write_protect_efuse'' sunt **IREVERSIBILE**. eFuse-urile sunt memorii **one-time programmable** — odată scrise, nu mai pot fi modificate sau resetate. O comandă greșită va face plăcuța **complet inutilizabilă (bricked)**. | ||
| + | |||
| + | **Reguli stricte:** | ||
| + | - Folosiți **NUMAI** comanda ''summary'' (doar citire). | ||
| + | - **NU** rulați **NICIO** altă comandă `espefuse.py` fără aprobarea asistentului. | ||
| + | - Dacă vedeți un tutorial online care vă cere să scrieți eFuse-uri, **IGNORAȚI-L**! Acele operații sunt pentru producția de serie, nu pentru laborator. | ||
| + | - Studenții care distrug plăcuțe prin neglijență vor fi responsabili de înlocuirea lor. | ||
| </note> | </note> | ||
| Line 207: | Line 215: | ||
| - **Implementare TLS**: Urmăriți pașii din Partea 1 pentru a securiza comunicația. Verificați cu Wireshark că traficul pe portul 8883 este criptat (comparativ cu portul 1883 din laboratorul anterior). | - **Implementare TLS**: Urmăriți pașii din Partea 1 pentru a securiza comunicația. Verificați cu Wireshark că traficul pe portul 8883 este criptat (comparativ cu portul 1883 din laboratorul anterior). | ||
| - | |||
| - **Secret management**: Modificați ''main.cpp'' și ''receiver.py'' astfel încât credențialele să nu mai fie hardcodate: | - **Secret management**: Modificați ''main.cpp'' și ''receiver.py'' astfel încât credențialele să nu mai fie hardcodate: | ||
| * **Python**: Citiți din variabile de mediu (''os.getenv("MQTT_BROKER")''). | * **Python**: Citiți din variabile de mediu (''os.getenv("MQTT_BROKER")''). | ||
| * **ESP32**: Creați un fișier ''include/secrets.h'' cu credențialele și adăugați-l în ''.gitignore''. | * **ESP32**: Creați un fișier ''include/secrets.h'' cu credențialele și adăugați-l în ''.gitignore''. | ||
| - | |||
| - **Analiza vulnerabilității**: Rulați ''bandit'' și ''cppcheck'' pe codul vostru. Documentați toate problemele găsite și remediați cele de nivel "High" și "Medium". | - **Analiza vulnerabilității**: Rulați ''bandit'' și ''cppcheck'' pe codul vostru. Documentați toate problemele găsite și remediați cele de nivel "High" și "Medium". | ||