Il y a quelques années, on se posait la question suivante : faut-il faire tester la sécurité de son site web ? A présent, la question est devenue : à quelle fréquence faut-il effectuer des tests ? Cette réflexion vaut pour les sites internet ainsi que pour les applications mobiles et les logiciels développés à partir de technologies web. Bien que la partie systèmes et serveurs mérite elle aussi d’être sécurisée, nous nous focalisons ici sur la partie applicative qui rattrape progressivement son retard dans le domaine.
Qu’est ce qu’un test d’intrusion sur une application?
Egalement appelé pentest ou audit de sécurité, il s’agit en réalité de hacker votre site web ou votre application, avec votre autorisation. L’objectif est d’identifier toutes les failles présentes dans le code et de les exploiter au maximum, afin de préconiser les correctifs nécessaires.
Un test d’intrusion digne de ce nom va bien plus loin qu’un scan automatisé. Il s’agit de mobiliser des hackers expérimentés qui vont utiliser eux-mêmes plusieurs outils automatiques et conduire des attaques manuelles impossibles à effectuer par un robot. Le hacking nécessite de la créativité pour conduire des attaques sur mesure adaptées à l’architecture de l’application. Les techniques d’attaques évoluant beaucoup plus rapidement que les normes de sécurité, il est indispensable de faire appel à de véritables attaquants.
Par ailleurs, les tests d’intrusion sont complémentaires d’autres approches, comme celles qui permettent de détecter les incidents ou les fuites de données. L’approche préventive du test d’intrusion et l’approche réparatrice qui consiste à identifier les piratages effectués peuvent se combiner pour obtenir un niveau maximum de sécurité – ce qui peut se révéler intéressant pour les entreprises manipulant des données ou du contenu hautement sensibles. Ceux-ci sont bien conscients que l’on peut tendre vers le risque zéro, mais que celui-ci n’est jamais atteint à 100%.
A quelle fréquence faut-il conduire un pentest ?
Bien sûr, la réponse ne sera pas la même pour chaque entreprise. La mise en place de pentests doit être précédée par une évaluation des risques encourus. Il est évident que les applications financières, ou les sites e-commerce, ont tout intérêt à s’assurer un très haut niveau de sécurité parce-qu’ils suscitent le plus de convoitises.
Cependant, tous les sites et les applications web sont actuellement confrontés à des risques. Que ce soit parce que leurs données présentent une valeur marchande (données clients, données de santé, données internes à l’entreprise pouvant intéresser la concurrence…), ou parce que leur image est susceptible d’être attaquée (image de marque, contenu à caractère politique ou militant…), ou tout simplement parce-que prendre le contrôle d’un site peut se révéler très utile pour mener des attaques de plus grande envergure (ce qui est le cas de sites présentant peu de valeur marchande ou symbolique pour des hackers mais qui sont tout de même piratés).
Il est donc utile de faire conduire un test d’intrusion, dans tous les cas. Mais cet audit de sécurité ne sera pas conduit à la même fréquence. Pour une application hautement sensible, il est recommandé de conduire des tests réguliers, plusieurs fois par an. L’idéal est de conduire des tests plus fréquemment que ce qui est imposé par les normes régissant votre activité, afin d’anticiper les évolutions des attaques. Pour une application à priori peu exposée, il est conseiller de conduire des tests au moins à chaque nouvelle version ou ajout de fonctionnalités. L’idéal étant de ne pas attendre d’avoir des dommages, qui se révéleront bien plus coûteux qu’un test, avec des dégâts parfois difficiles à chiffrer en termes de dégradation d’image, de baisse de référencement, de report vers d’autres solutions concurrentes…
Pour le moment, il est classique de faire appel à une équipe de hackers éthiques après avoir constaté le piratage de son site ou de son logiciel. Dans quelques années, les comportements auront sans doute tellement évolués que conduire des pentests fréquents sera devenu une évidence. Quelle sera alors la prochaine question?