Application Security Resources

Sub Text of Application Security Resources

La sécurité des applications avec Agile – La voie express vers la méthodologie SDLC – Partie 1

August 8, 2013

Tiny Url for this post: http://tinyurl.com/njt8crb

Avec un développement Agile générant des versions du logiciel à un rythme effréné, comment être sûr de l’état de sécurité de chaque version produite ? Voyez comment l’un des plus grands détaillants européens en ligne déploie ses applications Web fréquemment et rapidement, tout en intégrant la sécurité. C’est un discours extrêmement important pour tous les professionnels de la sécurité qui doivent protéger leur entreprise du mieux possible contre les attaques liées à une application.

  • Découvrez une méthode efficace, effective, réelle et éprouvée pour développer / déployer un logiciel sécurisé
  • Comprenez comment aborder vraiment la question de la sécurité de l’application dans un processus Agile, automatiquement
  • Observez comment un développement Agile crée un logiciel sécurisé
  • Filmé à Information Security Europe (InfoSec), 2013, dans le Business Strategy Theatre

Avec un développement Agile générant des versions du logiciel à un rythme rapide, comment être certain que chaque version produite est sûre ?

Ici nous allons constater comment l’un des plus grands détaillants européens en ligne déploie des applications Web fréquemment et rapidement, tout en intégrant la sécurité. Il s’agit d’un discours extrêmement important pour tous les professionnels de la sécurité qui doivent protéger leur entreprise du mieux possible contre les risques liés à une application. Nous allons parler d’un moyen efficace, effectif et réel de développer et déployer des logiciels sécurisés. Je souhaite que vous compreniez comment aborder vraiment la question de la sécurité de l’application dans un processus de travail. Automatiquement, avec précision, et donc efficacement et simplement. Je vais commencer par illustrer le cadre avec des récits actuels, présenter brièvement Agile, puis nous entrerons dans le vif du sujet, la sécurité dans une approche Agile.

La sécurité des applications, que cela fait-il dans la stratégie-métier de l’entreprise ?

La sécurité des applications est une question technique, mais elle a également un impact important sur l’activité de l’entreprise. Regardons certains exploits liés à des failles de sécurité d’applications qui ont été signalés dans la presse ces dernières années :

  • Sony a par exemple perdu entre 1,5 milliard et 117 millions en raison d’attaques par faille de sécurité d’application.
  • Citi Bank divulguait les détails de carte de crédit de quelqu’un d’autre, y compris le numéro CCV, en changeant simplement le numéro de compte dans l’URL. Un problème de falsification de paramètres. Il s’agissait de 360 000 cartes de crédit, allant peut-être, ou pas, jusqu’à 2,7 millions, c’est ce qui a été rapporté. Je soupçonne que cela a peut-être été beaucoup plus.
  • L’image de David Cameron remplacée par celle de M. Bean au parti conservateur.

L’injection SQL est présente depuis de nombreuses années et elle est également connue depuis très longtemps, au moins 15 ans. Comment ont-ils fait cette erreur ? Eh bien, en fait, si des barrières de sécurité sont en place mais que chaque version n’a pas été vérifiée, alors c’est là que nous pourrons trouver des bogues de sécurité cachés. Cela équivaut à une régression dans votre logiciel.

Pourquoi les applications demeurent-elles vulnérables ?

Tout le monde s’accorde sur l’importance de la sécurité en informatique. Selon l’Institut national des normes et de la technologie, les entreprises dépensent 90 % de leur investissement en sécurité dans la couche d’infrastructure. Mais 90 % des vulnérabilités se situent dans les applications, pas dans les réseaux. Avec un réseau et des serveurs sécurisés, le périmètre est sécurisé. Mais l’ouverture des ports 80 et 443 pour donner accès aux applications est un trou à travers le réseau sécurisé. Une autre statistique : selon Gartner, 75 % des attaques, s’effectuent au niveau de la couche application. 85 % des vulnérabilités des applications se situent dans le code source.
Infrastructure vs défauts d'application

Cela signifie que nous avons un grand nombre d’applications vulnérables malgré ce milliard dépensé annuellement et une croissance de 40 % sur le marché. Il y a un sérieux problème !

Pourquoi des applications ?

Les applications sont utiles pour leurs utilisateurs. Il peut s’agir de votre personnel, vos patients, vos clients, vos soldats, qui que ce soit. Elles doivent délivrer une excellente performance, être très fonctionnelles et très utiles. La réalité, c’est que si la sécurité n’est pas prise en compte dans l’application, alors des utilisateurs mal intentionnés peuvent utiliser l’application, et ils peuvent ensuite, en exécutant des injections et extractions de données ou en attaquant via un site, attaquer d’autres utilisateurs par l’intermédiaire de votre application.

Agile et la sécurité

Si vous disposez d’un développement rapide, alors vous utilisez probablement un développement Agile ou une forme de celui-ci. Il n’y a pas de forme définie pour une méthodologie Agile, il y en a différentes saveurs. Agile est une méthode de développement de logiciel qui favorise la communication face à face plutôt que le suivi d’une documentation officielle. L’approche en cascade est une méthode de création de logiciel beaucoup plus formelle et vous pouvez vous la représenter comme une cascade, passant étape par étape par les stades de développement jusqu’à parvenir à la sortie de la version.

Selon des recherches du MIT, les entreprises Agiles croissent 30 % plus rapidement et génèrent 30 % de profit en plus, l’agilité organisationnelle est donc bénéfique pour vous.

Qu’est-ce qu’Agile implique quant à la sécurité ?

À chaque itération effectuée, nous allons observer l’application. Nous revenons à cette intégration continue et à la planification avec notre liste de choses à faire, puis créons l’itération qui doit nous maintenir dans la bonne direction.

  • Une approche agile serrée atténue les risques
  • Des progrès visibles dans la bonne direction
  • Des développeurs plus proactifs
  • Des applications sécurisées nécessitent l’intégration de la sécurité dans leur conception

Contrairement à la méthodologie en cascade avec laquelle il est plus probable que vous découvriez ces vulnérabilités à la veille de la livraison, ce qui n’est plus vraiment une option intéressante. Si les problèmes sont détectés rapidement, nous pouvons alors tester, tester et retester jusqu’à la résolution de ces failles de sécurité de l’application.

Logiciel sécurisé = applications sécurisées

  • La découverte de failles à la veille de la livraison n’est plus une option
  • Trouver les problèmes et tester jusqu’à maturité

Pourquoi tout le monde ne développe-t-il pas des applications sécurisées ?

Les outils d’analyse et d’examen du code ne tiennent pas leurs promesses

  • Bruit, faux positifs et faux négatifs, pour chaque rapport que vous allez obtenir avec cette technologie, vous allez devoir le traiter et effectuer un processus de vérification puis corréler les résultats.
  • Exige de grandes compétences. Peu de personnes ont la capacité de savoir ce que fait l’application et celle de comprendre la faille pour déterminer où se situe le problème dans le code.
  • Problèmes liés à une tierce partie : plus de complexité, vous ne disposez pas nécessairement du code au départ
  • Les résultats sont très centrés sur le code, pas sur l’application elle-même. Si l’on vous informe d’une faille par injection SQL au sein d’une fonction particulière dans le code, qui saura où elle se manifeste dans l’interface ? Ce code peut également être redondant.

Solution Apsec

 

Les tests de pénétration peuvent être très approfondis, une analyse appropriée de la sécurité de l’application est la voie à suivre. C’est le moyen de trouver le plus grand nombre de vulnérabilités.

Comment des tests de pénétration peuvent-ils éventuellement s’intégrer avec Agile ?

Encore une fois cela prend du temps. C’est coûteux. Ce n’est pas vraiment modulable. Vous ne pourriez pas le faire pour chaque itération de votre développement.

En réponse au rapport de la sécurité de l’application, ils doivent être incroyablement précis et concentrés sur les failles réelles, et seulement sur ces failles. Nous devons nous débarrasser des faux positifs. Cela doit être très clair. Non seulement présenter un problème, mais la solution. L’analyse des causes profondes. Où est cette faille ? Comment ça se manifeste ? D’où cela provient-il dans le code ?

Nous devons être en mesure de présenter le problème mais aussi d’indiquer où il se situe dans l’application et dans le code. Cela doit être simple, car il n’y a pas suffisamment d’expertise en sécurité des applications dans le monde pour faire face à tous les projets de logiciels. Cela doit signifier un effort conjoint entre l’assurance qualité, la sécurité et le développement dans le but de créer un logiciel véritablement sécurisé. Par conséquent, une solution simple est nécessaire.

Le développement Agile

développement agile

Intéressons-nous au développement Agile. J’ai eu du mal à trouver un schéma pour Agile, j’en ai donc dessiné un moi-même. Si nous regardons ce qui se passe ici, l’autre client sur la gauche, ils ont un projet. Ils ont quelques exigences. Qui se transforment en une liste de tâches prioritaires à effectuer. À chaque itération de développement, nous travaillons sur les éléments qui nous donnent le plus de valeur.

Nous continuons le processus, nous traversons l’itération, puis nous revenons, cela peut être une course de vitesse ou une sortie de version. Nous donnons une présentation à toutes les parties prenantes. Nous analysons tout cela. Nous effectuons un examen du projet. Nous planifions ensuite la prochaine itération, puis nous obtenons notre prochaine liste de tâches prioritaires.

Nous continuons encore le processus. Toutes les tâches à effectuer sont effectuées. Terminé. Il n’y a pas d’erreur. C’est le point essentiel d’Agile. Vous dites ce que vous allez faire, vous vous levez, vous dites ce que vous allez faire, et vous le faites. Si vous regardez ce qui se passe effectivement dans Agile, c’est en fait de petits morceaux, des fragments de cascade. Des petits blocs, maniables, de développement de logiciel.

La sécurité des applications avec Agile – La voie express vers la méthodologie SDLC – Partie 2

Learn more about Seeker

More Présentations et webinars