User Tools

Site Tools


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

This is an old revision of the document!


9. Utilitare de analiză de cod

TODO: Descriere scurtă

Subiecte abordate

  • TODO
  • TODO

Resurse

Alte resurse

Exerciții

Arhiva de suport pentru exerciții se găsește aici. Descărcați arhiva și apoi decomprimați-o folosind comenzile:

wget http://koala.cs.pub.ro/training/res/secure-low-level-programming/arc/09-utilitare-de-analiza-cod-skel.zip
unzip 09-utilitare-de-analiza-cod-skel.zip
cd 09-utilitare-de-analiza-cod-skel/

Auditare cod

Accesăm directorul hidden-bugs/ din arhiva de suport.

Fișierul cod sursă hidden-bugs.c conține 8 erori de programare. Identificați-le parcurgând manual codul (code audit). Lucrați în echipe de 2-3 persoane.

După aceasta folosiți utilitarele cppcheck, splint și scan-build pentru a verifica static prezența erorilor.

Moduri uzuale de rulare:

cppcheck --enable=all hidden-bugs.c
splint hidden-bugs.c
scan-build make

Verificare cod anterior

Folosiți utilitarele cppcheck, scan-build și splint pentru a verifica fișierele ce conțin buffer overflow-uri din sesiunea 06.

Verificare cod proiect

Accesăm directorul picpic/ din arhiva de suport.

Verificați codul sursă din cadrul directorului folosind utilitarele cppcheck, splint și scan-build.

Valgrind

Accesăm directorul valgrind/ din arhiva de suport.

Urmăriți codul din fișierul cod sursă vuln.c și rulați executabilul vuln. Executabilul primește ca argument un număr care se asociează cu o anumită funcție din program ce va fi executată. Rulați programul sub Valgrind în forma:

valgrind ./vuln 1

Vedeți rezultatul afișat de Valgrind și validați depistarea erorilor de folosire a memoriei.

secure-low-level-programming/capitole/09-utilitare-de-analiza-cod.1545254395.txt.gz · Last modified: 2018/12/19 23:19 by razvan