Enjeux de la sécurité applicative

Il n'est pas nécessaire de rappeler les problématiques de la sécurité applicative tellement c'est devenu un enjeu global pour les entreprises. La sécurité d'une application dépend le plus souvent du maillon le plus faible. Malheureusement la sécurité applicative, c'est-à-dire de l'application elle-même, est souvent négligée. Ce que nous voulons dire par là, c'est que lorsqu'on parle de sécurité, les entreprises se concentrent souvent sur l'infrastructure, le réseau, les serveurs, etc... Souvent la partie applicative, en d'autres termes le code de l'application, n'est pas ou que très peu audité, ni sécurisé.

Plusieurs raisons à cela :

  • Les audits automatisés se contentent souvent de chercher les failles dans les logiciels déjà connus
  • Les audits d'intrusion couvrent le réseau et l'infrastructure, car ces couches sont les mêmes pour la majorité des entreprises
  • L'audit des développements spécifiques doit être fait à la main, ce qui est souvent très long et fastidieux

Faire un audit de sa sécurité applicative

Chez AXOPEN, nous nous spécialisons dans l'audit du code de l'application pour détecter d'éventuelles failles. Ces failles peuvent venir de plusieurs sources :

  • Des librairies avec des failles critiques
  • Du code source non sécurisé
  • De bugs exploitables
  • Des injections SQL
  • Des protocoles mal implémentés
  • Des ouvertures de droit dans les API
  • API trop exposée
  • Contrôle des accès
  • etc.

De manière générale, analyser les failles d'un développement informatique est complexe et nécessite a minima de prendre en compte deux enjeux :

  • L'identification des failles et leurs correctifs
  • La formation et la sensibilisation des développeurs aux enjeux de la sécurité de leurs développements

Construire une application "secured by design" est la meilleure manière d'avoir une application la plus résistante possible. Sachant que rien ne peut jamais être sécurisé à 100%.

Néanmoins en appliquant de bonnes pratiques générales, on peut limiter les risques grandement et limiter la portée des attaques.

Penser la sécurité applicative globalement

Pour concevoir la sécurité applicative, il convient de penser l'application comme par définition vulnérable. Ce qui signifie qu'il faut penser que la sécurité de l'application sera violée et qu'il faut concevoir les mesures pour limiter les problèmes qui vont arriver. Mitiger les risques est souvent la meilleure défense.

L'expertise AXOPEN pour la sécurité applicative

De par notre expérience dans le développement, nous sommes experts de la qualité de code. Nous concevons nos applications avec les principes de sécurité directement incluse. Nous accompagnons nos clients, dans la conception et aussi dans l'audit de code, là où tout se joue.

Notre démarche pour la sécurité applicative

Au même titre que la démarche pour avoir de bonne performance, il faut prendre le sujet à bras le corps et sur le long terme.

  • Commencer par faire un état des lieux de son code source. Mon code est-il à l'état de l'art ?
  • Se définir un plan progrès orienté sécurité applicative
  • Inclure ce plan progrès dans la démarche globale de l'entreprise
  • Former et sensibiliser les développements aux bonnes pratiques et aux failles classiques. (Un petit coup d'oeil à l'OWASP est un bon début)
  • Faire confiance à l'humain pour relire le code ! Oui, les outils automatisés sont utiles pour balayés une partie des failles mais l'humain reste la manière la plus sûre pour trouver des failles dans le code source et sécuriser son application !