User Tools

Site Tools


secure-low-level-programming:capitole:11-programare-sigura

This is an old revision of the document!


11. Programare sigură

Atunci când scriem programe, ținând cont de problemele care pot să apară, folosim tehnici de programare sigură (secure programming) sau programare defensivă (defensive programming). Aceasta înseamnă să evităm apariția de bug-uri și vulnerabilități prin folosirea corespunzătoare a tipurilor de date, a apelurilor de funcții și prin verificarea atentă a intrării într-un program. Dezvoltatorul va trata intrarea, codul refolosit, bibliotecile ca fiind nesigure și surse de bug-uri și atacuri și va scrie cod în mod corespunzător.

Subiecte abordate

  • programare sigură
  • programare defensivă
  • CWE (Common Weakness Enumeration)
  • SSDL (Secure Software Development Lifecycle)

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/11-programare-sigura-skel.zip
unzip 11-programare-sigura-skel.zip
cd 11-programare-sigura-skel/

Reguli Secure Coding

Parcurgem două reguli din SEI CERT C Coding Standard și două reguli din SEI CERT C++ Coding Standard. Identificați problemele pe care le rezolvă și indicațiile de rezolvare a acestora.

Exemple nesigure

Parcurgeți exemplele de cod nesigure din subdirectorul vulnerable/ din acest repository. Pentru a clona repository-ul folosiți comanda

git clone https://github.com/patricia-gallardo/insecure-coding-examples

Apoi accesați subdirectorul vulnerable/ din repository și parcurgeți fișierele cod sursă C sau C++ de acolo.

Alte exemple nesigure

Accesăm directorul lalala/ din arhiva de suport.

TODO

secure-low-level-programming/capitole/11-programare-sigura.1545329240.txt.gz · Last modified: 2018/12/20 20:07 by razvan