User Tools

Site Tools


secure-low-level-programming:capitole:09-utilitare-de-analiza-cod

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
secure-low-level-programming:capitole:09-utilitare-de-analiza-cod [2018/12/20 10:24]
razvan [Fuzzing]
secure-low-level-programming:capitole:09-utilitare-de-analiza-cod [2018/12/21 14:14] (current)
razvan [Symbolic Execution]
Line 27: Line 27:
 unzip 09-utilitare-de-analiza-cod-skel.zip unzip 09-utilitare-de-analiza-cod-skel.zip
 cd 09-utilitare-de-analiza-cod-skel/​ cd 09-utilitare-de-analiza-cod-skel/​
 +</​code>​
 +
 +Pentru a instala aplicațiile necesare pentru investigarea programelor folosiți comanda
 +<​code>​
 +sudo apt install clang cppcheck splint valgrind
 </​code>​ </​code>​
  
Line 44: Line 49:
 </​code>​ </​code>​
  
 +<note tip>
 +Ignorați erori legate de fișiere incluse în rezultatul rulării comenzii ''​cppcheck''​.
 +</​note>​
 +
 +Foarte probabil veți vedea că utilitarele nu depistează multe erori. Multe erori nu pot fi depistate cu utilitare de analiză, ci mai degrabă de un observator uman.
  
 ==== Verificare cod anterior ==== ==== Verificare cod anterior ====
Line 76: Line 86:
 <note important>​ <note important>​
 Compilarea fuzzer-ului AFL va dura. Compilarea fuzzer-ului AFL va dura.
-</note+</note>
  
 ==== Symbolic Execution ==== ==== Symbolic Execution ====
  
 Urmăriți indicațiile de [[https://​github.com/​angr/​angr-doc/​blob/​master/​INSTALL.md#​installing-angr|aici]] pentru instalarea Angr. Urmăriți indicațiile de [[https://​github.com/​angr/​angr-doc/​blob/​master/​INSTALL.md#​installing-angr|aici]] pentru instalarea Angr.
 +
 +<note important>​
 +Pe versiunea de Ubuntu din sistemele din sala PR708 nu funcționează comanda ''​mkvirtualenv''​. Folosiți următoarele două comenzi pentru a crea un mediu virtual în care să instalați și rulați ''​angr'':​
 +<​code>​
 +virtualenv angr
 +cd angr
 +source ./​bin/​activate
 +</​code>​
 +
 +Acum puteți install ''​angr''​ folosind comanda ''​pip''​ așa cum e indicat în [[https://​github.com/​angr/​angr-doc/​blob/​master/​INSTALL.md#​installing-angr|documentație]].
 +
 +Dacă doriți să părăsiți mediul virtualenv folosiți comanda
 +<​code>​
 +deactivate
 +</​code>​
 +</​note>​
  
 Clonați repository-ul de exemple Angr de [[https://​github.com/​angr/​angr-doc|aici]] folosind coamnda Clonați repository-ul de exemple Angr de [[https://​github.com/​angr/​angr-doc|aici]] folosind coamnda
Line 86: Line 112:
 git clone https://​github.com/​angr/​angr-doc git clone https://​github.com/​angr/​angr-doc
 </​code>​ </​code>​
 +În urma comenzii de mai sus se creează directorul ''​angr-doc/''​.
 +
 +Testați exemplul din ''​angr-doc/​examples/​strcpy_find''​ din exemplu descris și [[https://​docs.angr.io/​examples#​beginner-vulnerability-discovery-example-strcpy_find|aici]] prin rularea comenzii:
 +<​code>​
 +python solve.py
 +</​code>​
 +Scriptul Python va "​exploata"​ executabilul ''​strcpy_find''​ folosind execuție simbolică și va obține parola cerută. Parcurgeți scriptul ''​solve.py''​ pentru o primă perspectivă asupra Angr. Nu e nevoie să înțelegeți,​ doar să știți că există.
  
-Testați exemplul din ''​examples/​strcpy_find''​ din repository-ul clonat. 
secure-low-level-programming/capitole/09-utilitare-de-analiza-cod.1545294248.txt.gz · Last modified: 2018/12/20 10:24 by razvan