Développement logiciel : les 25 faiblesses que les pirates adorent

Cloud

Le classement 2011 CWE/SANS répertoriant les 25 erreurs les plus flagrantes en termes de développement logiciel est paru. Les pirates s’en servent pour contourner la sécurité IT.

Un laboratoire travaillant pour la sécurité intérieure américaine a publié une liste de 25 erreurs logicielles provoquant des vulnérabilités critiques (2011 CWE/SANS Top 25 Most Dangerous Software Errors).

La plupart d’entre elles pourraient pourtant être corrigées à faible coût…

MITRE a donc réactualisé sa liste annuelle des 25 erreurs logicielles les plus exploitées par les hackers pour compromettre les systèmes informatiques (à télécharger au format PDF).

Le MITRE est une “organisation à but non lucratif” regroupant 6 000 chercheurs et travaillant essentiellement pour le gouvernement américain.

Cette liste a été élaborée en collaboration avec le SANS Institute, un vaste centre orienté sécurité IT (études, formations, certifications…).

Le but est de guider les éditeurs de logiciels vers de meilleures pratiques, et les aider à corriger les failles qu’ils ont pu laisser par erreur dans leurs codes.

En tête du classement est “la mauvaise neutralisation des commandes SQL spéciales“, qui permet la fameuse attaque par “Injection SQL”.

La faille est très répandue, connue des hackers et facile à utiliser. Elle permet de récupérer – et parfois modifier – les informations d’une base de données.

C’est la faille qui est à la source, rien que cette année, des problèmes de Sony Picture, PBS (le site a été transformé pour afficher une fausse actualité), Oracle (pourtant éditeur de MySQL) et du cabinet de sécurité HBGary Federal.

Elle serait pourtant facile à corriger pour un coût faible…

Autre faille aisée à éviter et pourtant très répandue (et utilisée) : les “autorisations manquantes”, qui pointe à la sixième place du classement.

Les pirates exploitent le fait que certains sites autorisent un utilisateur basique à accéder à des niveaux de sécurité avancés.

C’est la faille utilisée contre Citigroup en mai, qui a permis aux pirates de subtiliser les informations bancaires de 360 000 clients et de voler 2,7 millions de dollars à 3 400 d’entre eux.

Enfin, le rapport pointe en huitième position une erreur souvent commise par les entreprises, qui négligent de prévoir un chiffrement de leurs données sensibles.

Si un pirate arrive à prendre le contrôle d’un seul des nodes du réseau où transitent ces données, ils peuvent les “sniffer” et les récupérer, et elles sont directement exploitables.

MITRE affirme que c’est une des failles qui a permis à LulzSec de récupérer et publier autant de données sensibles pendant sa courte existence.

Les 25 erreurs de développement logiciel à éluder

1Improper Neutralization of Special Elements used in an SQL Command (‘SQL Injection’)
2Improper Neutralization of Special Elements used in an OS Command (‘OS Command Injection’)
3Buffer Copy without Checking Size of Input (‘Classic Buffer Overflow’)
4Improper Neutralization of Input During Web Page Generation (‘Cross-site Scripting’)
5Missing Authentication for Critical Function
6Missing Authorization
7Use of Hard-coded Credentials
8Missing Encryption of Sensitive Data
9Unrestricted Upload of File with Dangerous Type
10Reliance on Untrusted Inputs in a Security Decision
11Execution with Unnecessary Privileges
12Cross-Site Request Forgery (CSRF)
13Improper Limitation of a Pathname to a Restricted Directory (‘Path Traversal’)
14Download of Code Without Integrity Check
15Incorrect Authorization
16Inclusion of Functionality from Untrusted Control Sphere
17Incorrect Permission Assignment for Critical Resource
18Use of Potentially Dangerous Function
19Use of a Broken or Risky Cryptographic Algorithm
20Incorrect Calculation of Buffer Size
21Improper Restriction of Excessive Authentication Attempts
22URL Redirection to Untrusted Site (‘Open Redirect’)
23Uncontrolled Format String
24Integer Overflow or Wraparound
25Use of a One-Way Hash without a Salt

Source : CWE/SANS, classement juin 2011


Lire la biographie de l´auteur  Masquer la biographie de l´auteur