Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ss:laboratoare:05 [2026/03/30 18:41]
ciprian.popescu0411
ss:laboratoare:05 [2026/03/30 19:39] (current)
ciprian.popescu0411 [Exerciții]
Line 1: Line 1:
-====== Laborator 5: Securizarea ​unei proiect embedded pe ESP32-CAM ======+====== Laborator 5: Securizarea ​unui proiect embedded pe ESP32-CAM ======
  
 În acest laborator ne vom concentra pe securizarea completă a sistemului, de la layer-ul de transport (TLS) până la codul sursă și hardware-ul propriu-zis. În acest laborator ne vom concentra pe securizarea completă a sistemului, de la layer-ul de transport (TLS) până la codul sursă și hardware-ul propriu-zis.
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"​.
ss/laboratoare/05.1774885308.txt.gz · Last modified: 2026/03/30 18:41 by ciprian.popescu0411
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0