SANS: ecco l’elenco dei 25 errori di programmazione più pericolosi

di Fabrizio Sinopoli

Pubblicato 16 Gennaio 2009
Aggiornato 12 Febbraio 2018 20:48

Il SANS Institute (SysAdmin, Audit, Networking, and Security) ha recentemente pubblicato un rapporto in cui vengono elencati e descritti i 25 errori di programmazione più comuni, disponibile anche in formato PDF.

L’istituto si è avvalso della collaborazione di 30 esperti per stilare questo elenco in cui gli errori più pericolosi sono raggruppati in 3 categorie:

  • Insecure Interaction Between Components (9 errori);
  • Risky Resource Management (9 errori);
  • Porous Defenses (7 errori).

Qui di seguito presentiamo i 25 errori, suddivisi nelle 3 categorie: per ciascuno, diamo anche un link per l’approfondimento.

Categoria: Insecure Interaction Between Components

  • CWE-20: Improper Input Validationlink ;
  • CWE-116: Improper Encoding or Escaping of Output – link;
  • CWE-89: Failure to Preserve SQL Query Structure (
    aka ‘SQL Injection’) – link;
  • CWE-79: Failure to Preserve Web Page Structure (aka ‘Cross-site Scripting’) – link;
  • CWE-78: Failure to Preserve OS Command Structure (aka ‘OS Command Injection’) – link;
  • CWE-319: Cleartext Transmission of Sensitive Information – link;
  • CWE-352: Cross-Site Request Forgery (CSRF) – link;
  • CWE-362: Race Conditionlink;
  • CWE-209: Error Message Information Leaklink.

Categoria: Risky Resource Management

  • CWE-119: Failure to Constrain Operations within the Bounds of a Memory Buffer – link;
  • CWE-642: External Control of Critical State Data – link;
  • CWE-73: External Control of File Name or Path – link;
  • CWE-426: Untrusted Search Pathlink;
  • CWE-94: Failure to Control Generation of Code (aka ‘Code Injection’) – link;
  • CWE-494: Download of Code Without Integrity Check – link;
  • CWE-404: Improper Resource Shutdown or Release – link;
  • CWE-665: Improper Initializationlink;
  • CWE-682: Incorrect Calculationlink.

Categoria: Porous Defenses

  • CWE-285: Improper Access Control (Authorization) – link;
  • CWE-327: Use of a Broken or Risky Cryptographic Algorithm – link;
  • CWE-259: Hard-Coded Passwordlink;
  • CWE-732: Insecure Permission Assignment for Critical Resource – link;
  • CWE-330: Use of Insufficiently Random Values – link;
  • CWE-250: Execution with Unnecessary Privileges – link;
  • CWE-602: Client-Side Enforcement of Server-Side Security – link.

La “top 25” degli errori verrà regolarmente aggiornata sul sito SANS e su quello del MITRE.