Quelles solution leurs restent-ils ?
Ce n’est plus un secret, les pirates accèdent aux sites Web sécurisés parce qu’ils connaissent les failles des OS serveurs, des serveurs d’application, des serveurs Web et des portails de gestion de contenu. Mais surtout, ils profitent de la négligence des développeurs. Développer un programme serveur est autrement plus compliqué qu’un programme client. C’est surtout plus fastidieux. Le développeur doit aujourd’hui connaître les méthodes des pirates pour construire son programme en conséquence.
Les techniques de piratage
Les agissements des pirates concernent le vol de données privées et peuvent aller jusqu'à la suppression de l'intégralité des bases de données. L'injection SQL est le nom qu'on donne à ce genre d'attaques. Elle peut aussi permettre d'exécuter des commandes système sur le serveur hébergeant la base, arrêter un firewall, un antivirus...
Quand ce ne sont pas les données du serveur qui sont visées, ce sont les utilisateurs innocents. Les fameux XSS pour Cross-Site Scripting, et CSRF pour Cross-Site Request Forgeries permettent d'injecter du code JavaScript (ou ASP ou PHP) dans une page Web qui sera exécuté à l'insu du prochain visiteur de la page Web infectée. Le pirate récupérera alors au moins le cookie de session et pourra prendre possession des données de l'utilisateur innocent.
Les méthodes de protection
Il existe bien évidemment des méthodes pour se protéger. En revanche, elles ne dépendent pas de programmes ou de serveurs à mettre en frontal ni même de la cryptographie. Les seules bonnes méthodes efficaces concernent la revue de code des applications Web !
Pour ma part, j'ai recensé plusieurs bonnes pratiques de programmation à respecter et à mettre en œuvre pour arrêter totalement les injections SQL et le XSS. Elles sont très efficaces et surtout suffisantes. Elles sont basées essentiellement sur la vérification des données reçues.