La nouvelle édition du Top 25 Most Dangerous Programing errors, un référentiel des 25 erreurs de développement à la source des plus graves faiblesses de sécurité logicielle, est en ligne.



L'initiative a été coordonnée pendant un peu plus de deux mois par les instituts SANS et MITRE et a impliqué plus d'une quarantaine d'experts de la sécurité logicielle, qui se sont mis d'accord sur une sélection des plus mauvaises pratiques de développement en matière de sécurité.

Cette nouvelle édition accueille l'ajout des profils d'intérêts, destinés à faciliter l'accès au contenu du référentiel selon des intérêts particuliers, tels que:
  • Un profil destiné aux formateurs, enseignant le développement sécurisé ;
  • Un profil destiné à l'évaluation d'outils d'analyse et d'audit de sécurité logicielle ;
  • Un profil calqué sur les priorités d'éditeurs logiciels sélectionnés (Microsoft, Apple, Red Hat, Oracle, Symantec, EMC)
  • Un profil trié par prépondérance dans certains langages de programmation (C++, Java, Perl, PHP)
  • Etc.

Le Top 25 Most Dangerous Programing Errors se positionne donc comme un référentiel utilisable dans de nombreuses phases de développement:
  • Formation des développeurs
  • Tests et vérification de l'application
  • Configuration et sélection des outils d'analyse automatisée

Attention à bien cerner le scope!


Il est toutefois très important de ne pas accorder au Top 25 plus d'importance qu'il n'en mérite: il s'agit d'un document exclusivement technique, s'adressant en priorité à la phase d'implémentation du cycle de développement logiciel.

De nombreuses autres considérations sont donc à prendre en compte ailleurs dans le cycle, telles que l'analyse de risques (identification des actions prioritaires), la conception sécurisée (respect des bonnes pratiques de sécurité) ou plus important encore, les profils de journalisation des activités.

La journalisation des activités est en effet l'une de ces propriétés particulièrement sous-estimées, tant par les éditeurs logiciels que par leurs acquéreurs, alors qu'elle est la seule fonctionnalité permettant à l'organisation d'effectuer une surveillance comportementale des utilisateurs et pouvoir ainsi détecter des comportements déviants ou hostiles. (si vous ne comprenez toujours pas pourquoi les banques ne détectent pas les vols de données par leurs collaborateurs, relisez attentivement la phrase précédente).


Finalement, n'oublions pas de préciser un détail, à mon avis le plus important: le Top 25 peut être inscrit comme référentiel de contrôle à inclure dans les clauses des appels d'offres émis à l'intention d'éditeurs de logiciels (voir billet précédent sur ce sujet).

Le Top 25 Most Dangerous Programing Errors peut être librement consulté sur le site officiel.