Web application firewall

Un article de Wikipédia, l'encyclopédie libre.

Un Web Application Firewall (WAF) est un type de pare-feu qui protège le serveur d'applications Web dans le backend contre diverses attaques. Le WAF garantit que la sécurité du serveur Web n'est pas compromise en examinant les paquets de requête HTTP / HTTPS et les modèles de trafic Web.

Web Application Firewall Architecture

Définition[modifier | modifier le code]

Un Web Application Firewall (WAF) est un type de pare-feu qui vérifie les données des paquets afin de protéger la couche application du modèle OSI[1],[2],[3]. Dans l'architecture globale du système (serveur web), un WAF est placé avant l'application Web qui doit être protégée. Chaque demande envoyée est d'abord examinée par le WAF avant qu'elle n'atteigne l'application Web[2]. Si cette demande est conforme à l'ensemble de règles du pare-feu, ce dernier peut alors transmettre la demande à l'application[4]. D'une manière générale, un WAF peut être défini comme une politique de sécurité mise en place entre une application web et l'utilisateur final[5].

Les fonctionnalités qu'il apporte peuvent être implémentées en logiciel ou en matériel. En software, cela se résume souvent à une application installée sur un système d'exploitation tandis qu'en hardware, ces fonctionnalités sont intégrées dans une solution d'appliance[6]. La principale tâche d'un WAF est donc de protéger les programmes web sans les modifier[6].

Les caractéristiques du WAF[modifier | modifier le code]

Habituellement, le choix d'un WAF devrait être utilisé pour les caractéristiques attendues, les performances et les environnements[7].

Liste des caractéristiques du WAF :

  • Prendre en charge les normes connues des principales menaces et de gérer les menaces telles que OWASP Top 10 et PCI DSS
  • Vérifier l'entrée et la sortie des applications Web en fonction de la définition des règles de sécurité et la mise en œuvre des opérations appropriées telles que bloquer, autoriser, alerter et consigner les enregistrements, conformément à la pratique acceptée
  • Arrêter et révéler des informations importantes (prévention des fuites de données)
  • Possibilité de vérifier l'application web de sortie et de réponse à travers la définition des politiques et règles de sécurité et l'implémentation appropriée comme bloquer, autoriser, alerter, masquer
    • Mise en œuvre de politiques de sécurité à travers des modèles positifs ou négatifs. Dans le modèle positif (liste blanche) en définissant des opérations acceptables, un comportement autorisé, une plage valide d'entrée de données acceptable spécifiée et uniquement cette opération est autorisée et toute autre opération diagnostiquée comme illégale, elle empêchera les actions de se produire. Dans le modèle négatif (liste noire), une liste de tous les actes non autorisés est spécifiée et toutes les opérations avant de comparer l'implémentation avec cette liste et seulement si les opérations ne correspondent pas, il sera possible de l'implémenter
  • Vérifier le contenu des pages Web telles que HTML, HTML dynamique, CSS ainsi que des pages Web de protocoles de transfert tels que HTTP, HTTPS, TLS;
  • Vérifier tout protocole ou quelle construction de données utilise pour transférer des données vers une application Web ou recevoir des données de celle-ci
  • Prévenir les attaques et les accès non autorisés
  • Prendre en charge la terminaison SSL / TLS ou la prise en charge de la possibilité de localisation dans une route de trafic chiffré de manière à pouvoir déchiffrer le trafic avant de le recevoir dans le programme d'application Web. Le trafic chiffré n'est pris en compte par WAF que si l'opération de terminaison SSL est effectuée avant d'atteindre le trafic vers l'application Web
  • Empêcher ou détecter la falsification de jetons de session, par exemple en chiffrant des cookies de session, des champs de formulaire masqués ou en utilisant d'autres méthodes pouvant être utilisées par ceux qui suivent la session
  • Possibilité de recevoir de nouvelles mises à jour et de demander une signature dynamique et une manuelle
  • Avoir la possibilité d'échouer ouvert (par exemple, dans le cas de WAF désactivé en raison d'un problème matériel, vérifier que tout le trafic entrant et sortant autorisé à être transféré sans passer le WAF) ou les supports échouent fermer (en cas de panne WAF due à un problème matériel, tout trafic d'entrée et de sortie, n'est pas autorisé à être transféré à partir du WAF);
  • Prendre en charge du certificat client SSL et de l'authentification du client proxy via un certificat si l'application Web utilise le certificat SSL Client pour identifier les utilisateurs. En cas de non-prise en charge de cette fonctionnalité par WAF, l'application web située à l'arrière de WAF sera difficile. De nombreux WAF modernes ont la possibilité d'utiliser LDAP ou d'autres services similaires[7].

Les menaces liées aux applications web[modifier | modifier le code]

Les serveurs Web sont la source d'information et l'endroit où les informations sont stockées. Ces serveurs Web fournissent au client, sur demande, des données telles que des pages Web, des images, des vidéos et d'autres types de données. En raison du rôle important joué par un serveur, il fait l'objet d'attaques malveillantes perpétrées par des parties et/ou des entités hostiles. Les objectifs habituels de ces attaques vont de la perturbation de la fonction et de la disponibilité du serveur Web à l'accès non autorisé au contenu Web hébergé[8].

Injection SQL[modifier | modifier le code]

L'injection SQL est l'une des vulnérabilités les plus dévastatrices qui affecte les systèmes de gestion de bases de données car elle peut conduire à l'exposition de toutes les informations sensibles stockées dans la base de données d'une application[9]. Toutes les requêtes SQL peuvent être utilisées efficacement pour exploiter la logique d'application Web pour accéder à la base de données. L'injection SQL est la plupart du temps le résultat de validations d'entrées insuffisantes. Ce type d'attaque est généralement injectée via des zones de texte qui transmettent des données à l'application Web via des requêtes Web ou parfois en utilisant des URL[10].

Tautologie ou Injection d'évaluation vraie[modifier | modifier le code]

L'attaque de tautologie est souvent utilisée en raison de sa simplicité. Le but de l'attaque basée sur la tautologie est principalement de contourner la certification, d'extraire les données ou de découvrir une vulnérabilité peut être injecté[11].

Exemple :

SELECT * FROM member WHERE field='$1'

Si le code ne contrôle pas la valeur $1 saisie, un utilisateur mal intentionné peut passer comme valeur ' OR 1=1 ;-- qui cause l'exécution du code suivant :

SELECT * FROM member WHERE field='' OR 1=1 ;--

Dans la requête ci-dessus, 1 = 1 sera toujours vrai. Si l'application ne valide pas la saisie de l'utilisateur correctement, tous les enregistrements de la base de données seront récupérées par cette requête[12].

Requêtes illégales ou logiquement incorrectes[modifier | modifier le code]

Dans ce type d'attaque, l'attaquant injecte des déclarations dans le but de provoquer une erreur de syntaxe ou une erreur logique. Ces erreurs peuvent révéler des informations précieuses sur le type et la structure du backend de la base de données de l'application web. Et aidera l'attaquant à identifier les paramètres injectables. Les erreurs de syntaxe peuvent être utilisées pour déduire les types de données de certaines colonnes ou extraire des données. Les erreurs logiques disent souvent à l'attaquant le nom des tables et colonnes dans la base de données[11].

Exemple[12] :

SELECT name FROM accounts WHERE member_password='/1'

Requêtes Piggy-Backed[modifier | modifier le code]

Dans ce type d'attaques, l'attaquant ajoute une requête supplémentaire à la requête originale[12].

Exemple :

SELECT * FROM members WHERE member_username='admin' and member_password='admin'; DROP TABLE users --

Requête UNION[modifier | modifier le code]

Cette attaque utilise l'opérateur de l'union qui est effectué permet lier deux ou plusieurs requêtes[12].

Exemple :

SELECT * FROM members WHERE member_username='user123' UNION SELECT * FROM members WHERE member_username='admin' -- AND member_password=’’

Alternation de l'encodage[modifier | modifier le code]

Dans cette technique, les attaquants modifient la requête d'injection en utilisant codage alternatif[12]. Cette attaque modifie le texte injecté sans changer le but de la commande méchante. La méthode la plus utilisée de codage de la chaîne d'attaque sont hexadécimaux, ASCII et Unicode Encodage de caractère[11].

Exemple :

SELECT * FROM members WHERE member_user='user' AND
member_password='user';EXEC(CHAR(0x7368757466J77e))

Cross-site scripting (XSS)[modifier | modifier le code]

Dans les attaques XSS, l'attaquant tente d'injecter un script côté client sur le serveur distant. XSS attaque généralement le code HTML de la page Web en cours de chargement. ActiveX, JavaScript peut être affecté par cette attaque. XSS peut révéler des informations sur les cookies. Les scripts peuvent être hébergés quelque part par l'attaquant. L'attaquant fournit un lien vers les utilisateurs qui semble authentique, mais a un code de script malveillant. Une fois que l'utilisateur atteint le script de liaison exécuté sur la machine du client[13], l'attaquant peut obtenir des informations vitales[10],[14],[15].

XSS non persistant[modifier | modifier le code]

Dans ce type d'attaque, le script d'attaque est conservé ailleurs que sur le serveur de base de données de l'application Web. Ces scripts malveillants sont mis à la disposition des utilisateurs de telle sorte que l'utilisateur semble légitime. Une fois ce script touché, le pirate peut accéder aux informations de l'utilisateur[10],[16].

XSS persistant[modifier | modifier le code]

Comme son nom l'indique, une attaque XSS persistante stocke le script ambigu sur des périphériques secondaires d'application Web, tels qu'une base de données d'application Web à trois niveaux[3]. Ce type d'attaque est possible lorsque l'application web permet à l'utilisateur de stocker des informations telles que des commentaires, des sections de blog, etc. qui sont également visibles par les autres utilisateurs. Le détournement de session peut être effectué en utilisant XSS persistant[10].

La protection des WAFs face aux menaces liées aux applications web[modifier | modifier le code]

Les WAFs constituent un mécanisme indispensable conçu pour empêcher certains types d'attaques, tels que l'injection SQL ou le script XSS. Une fois déployé, un WAF examine chaque demande soumise à un système cible pour décider si elle est légitime ou malveillante[17]. Le WAF prend une décision en effectuant un contrôle d'accès en temps réel en se basant sur les informations telles que les URL, les paramètres envoyés ainsi que l'historique de session de l'utilisateur[2] et en vérifiant si la valeur correspond ou non à un modèle d'attaque, en utilisant typiquement un ensemble de règles (par exemple, des expressions régulières)[17],[18].

Le WAF peut utiliser soit une liste blanche (un modèle de sécurité positif) ou soit une liste noire (un modèle de sécurité négatif) pour prendre ces décisions. Dans le modèle de sécurité positif, le contrôle d'accès est basé sur des comportements positifs connus. Ces comportements peuvent être construits manuellement par l'administrateur ou bien produit automatiquement en observant un trafic réseau légitime. Le modèle de sécurité négatif permet quant à lui de rejeter les requêtes reflétant un trafic dangereux[2].

Le WAF est donc une méthode pour se protéger de ces genres d'attaques[18].

Protection contre les SQLi (Injections SQL)[modifier | modifier le code]

Les WAFs protègent la base de données de l'application en inspectant le trafic HTTP et en appliquant un ensemble de règles de sécurité. Le langage utilisé pour exprimer les règles de sécurité peut explicitement décrire une signature d'une attaque par injection SQL, ou implicitement décrire la façon de détecter ces attaques. Il peut également exprimer une valeur de score d'anomalie qui augmente chaque fois qu'un motif malveillant apparaît dans une requête HTTP. Si la valeur de l'anomalie atteint un seuil prédéfini, la demande sera rejetée[9].

Les limites[modifier | modifier le code]

Le WAF peut protéger contre les attaques assez générales, mais il ne peut pas prémunir contre les requêtes entrantes ciblant un bug spécifique dans l’implémentation de l'application web[19]. Il faut bien connaître les services fournis par l'application web que le WAF doit protéger afin de configurer le pare-feu au mieux[18]. Des technologies telles que AJAX (pour créer des pages dynamiques) requièrent d'adapter le WAF en conséquence car par défaut, ils peuvent être bloqués par le WAF[20].

Références[modifier | modifier le code]

  1. Razzaq 2013, p. 2
  2. a b c et d Desmet 2006, p. 68
  3. a et b Rama 2016, p. 2
  4. Appelt 2015, p. 2
  5. Définition simpliste d'un WAFGhanbari 2015, p. 809
  6. a et b Ghanbari 2015, p. 809
  7. a et b Ghanbari 2015, p. 809
  8. Endraca 2013, p. 2
  9. a et b Makiou 2014, p. 35
  10. a b c et d Sonewar 2015, p. 1
  11. a b et c Linghuan 2016, p. 650
  12. a b c d et e Naga 2012, p. 610
  13. Pandurang 2015, p. 414
  14. Nguyen-Tuong 2005, p. 299
  15. Rama 2016, p. 1
  16. Rama 2016, p. 2
  17. a et b Appelt 2015, p. 1
  18. a b et c Rama 2016, p. 3
  19. Desmet 2006, p. 67
  20. Ghanbari 2015, p. 811

Bibliographie[modifier | modifier le code]

Articles[modifier | modifier le code]

Document utilisé pour la rédaction de l’article : document utilisé comme source pour la rédaction de cet article.

  • (en) Alexander Endraca, Bryan King, George Nodalo, Maricone Sta. Maria et Issac H. Sabas, « Web Application Firewall (WAF) », International Journal of e-Education, e-Business, e-Management and e-Learning, vol. 3,‎ , p. 277 (DOI 10.7763/IJEEEE.2013.V3.277). Ouvrage utilisé pour la rédaction de l'article
  • (en) Abdelhamid Makiou, Youcef Begriche et Ahmed Serhrouchni, « Improving Web Application Firewalls to detect advanced SQL injection attacks », Information Assurance and Security (IAS), 2014 10th International Conference on,‎ , p. 35-40 (ISBN 978-1-4799-8100-7, DOI 10.1109/ISIAS.2014.7064617). Ouvrage utilisé pour la rédaction de l'article
  • (en) Abdul Razzaq, Ali Hur et Sidra Shahbaz, « Critical analysis on web application firewall solutions », Autonomous Decentralized Systems (ISADS), 2013 IEEE Eleventh International Symposium on,‎ , p. 1-6 (ISBN 978-1-4673-5069-3, DOI 10.1109/ISADS.2013.6513431). Ouvrage utilisé pour la rédaction de l'article
  • (en) Z. Ghanbari, Y. Rahmani et H. Ghaffarian, « Comparative approach to web application firewalls », Knowledge-Based Engineering and Innovation (KBEI), 2015 2nd International Conference on,‎ , p. 808 - 812 (ISBN 978-1-4673-6505-5, DOI 10.1109/KBEI.2015.7436148). Ouvrage utilisé pour la rédaction de l'article
  • (en) Dennis Appelt, Cu D. Nguyen et Lionel Briand, « Behind an Application Firewall, Are We Safe from SQL Injection Attacks? », Software Testing, Verification and Validation (ICST), 2015 IEEE 8th International Conference on,‎ , p. 1 - 10 (ISBN 978-1-4799-7125-1, DOI 10.1109/ICST.2015.7102581). Ouvrage utilisé pour la rédaction de l'article
  • (en) Adem Tekerek, Cemal Gemci et Omer Faruk Bay, « Development of a hybrid web application firewall to prevent web based attacks », Application of Information and Communication Technologies (AICT), 2014 IEEE 8th International Conference on,‎ , p. 1 - 4 (ISBN 978-1-4799-4118-6, DOI 10.1109/ICAICT.2014.7035910)
  • (en) Lieven Desmet, Frank Piessens, Wouter Joosen et Pierre Verbaeten, « Bridging the gap between web application firewalls and web applications », ACM,‎ , p. 67-77 (ISBN 1-59593-550-9, DOI 10.1145/1180337.1180344). Ouvrage utilisé pour la rédaction de l'article
  • (en) R. Kumar, « Analysis of key critical requirements for enhancing security of web applications », Computers, Communications, and Systems (ICCCS), International Conference on 2-3 Nov 2015,‎ , p. 241-245 (ISBN 978-1-4673-9757-5, DOI 10.1109/CCOMS.2015.7562908)
    Department of Computer Science, Jamia Millia Islamia (Central University) Jamia Nagar, New Delhi-110025
  • (en) Carmen Torrano-Gimenez, Hai Thanh Nguyen, Gonzalo Alvarez, Slobodan Petrovic et Katrin Franke, « Applying feature selection to payload-based Web Application Firewalls », Security and Communication Networks (IWSCN), 2011 Third International Workshop on, Gjovik, Norvège, 18-20 mai 2011,‎ , p. 1- 7 (ISBN 978-1-4577-1307-1, DOI 10.1109/IWSCN.2011.6827720)
  • (en) Ali Ahmad, Zahid Anwar, Ali Hur et Hafiz Farooq Ahmad, « Formal reasoning of web application Firewall rules through ontological modeling », Multitopic Conference (INMIC), 2012 15th International, Islamabad, Pakistan, 13-15 Dec 2012,‎ , p. 1-8 (ISBN 978-1-4673-2252-2, DOI 10.1109/INMIC.2012.6511505)
    School of Electrical Engineering and Computer Science National University of Sciences and Technology, Islamabad, Pakistan.
  • (en) Feng Fangmei, Changgeng Shao et Dan Liu, « Design and Implementation of Coldfusion-Based Web Application Firewall », Computer Science & Service System (CSSS), 2012 International Conference on, Nanjing, Chine, 11-13 Août 2012,‎ , p. 659-662 (ISBN 978-0-7695-4719-0, DOI 10.1109/CSSS.2012.170)
  • (en) Tammo Krueger, Christian Gehl, Konrad Rieck et Pavel Laskov, « TokDoc: a self-healing web application firewall », Proceedings of the 2010 ACM Symposium on Applied Computing,‎ , p. 1846-1853 (ISBN 978-1-60558-639-7, DOI 10.1145/1774088.1774480)
    ACM New York, NY, USA ©2010
  • (en) N. Jovanovic, C. Kruegel et E. Kirda, « Pixy: a static analysis tool for detecting Web application vulnerabilities », Security and Privacy, 2006 IEEE Symposium on,‎ , p. 1-6 (ISBN 0-7695-2574-1, ISSN 2375-1207, DOI 10.1109/SP.2006.29)
  • (en) Metin Sahin et Ibrahim Sogukpınar, « An efficient firewall for web applications (EFWA) », Computer Science and Engineering (UBMK), 2017 International Conference on, Antalya, Turquie, 5-8 octobre 2017,‎ , p. 1150-1155 (ISBN 978-1-5386-0931-6, DOI 10.1109/UBMK.2017.8093398)
  • (en) M. Ozhiganova, A. Kostyukov et M. Maslova, « Functional model of firewall application layer protection for WEB-Based information systems », Industrial Engineering, Applications and Manufacturing (ICIEAM), 2017 International Conference on, Saint Petersburg, Russie, 16-19 mai 2017,‎ , p. 1-5 (ISBN 978-1-5090-5649-1, DOI 10.1109/ICIEAM.2017.8076446)
  • (en) René Rietz, Hartmut König, Steffen Ullrich et Benjamin Stritter, « Firewalls for the Web 2.0 », Software Quality, Reliability and Security (QRS), 2016 IEEE International Conference on,‎ , p. 242-253 (ISBN 978-1-5090-4127-5, DOI 10.1109/QRS.2016.36)
  • (en) Dariusz Pałka et Marek Zachara, « Learning Web Application Firewall - Benefits and Caveats », IFIP WG 8.4/8.9 International Cross Domain Conference and Workshop on Availability, Reliability and Security, vol. 6908,‎ , p. 295-308 (ISBN 978-3-642-23299-2, DOI https://doi.org/10.1007/978-3-642-23300-5_23)
  • (en) Stefan Prandl, Mihai Lazarescu et Duc-Son Pham, « A Study of Web Application Firewall Solutions », International Conference on Information Systems Security, vol. 9478,‎ , p. 501-510 (ISBN 978-3-319-26960-3, DOI https://doi.org/10.1007/978-3-319-26961-0_29)
  • (en) G. Rama Koteswara Rao, R. Satya Prasad et M. Ramesh, « Neutralizing Cross-Site Scripting Attacks Using Open Source Technologies », Proceedings of the Second International Conference on Information and Communication Technology for Competitive Strategies,‎ , p. 1-6 (ISBN 978-1-4503-3962-9, DOI 10.1145/2905055.2905230). Ouvrage utilisé pour la rédaction de l'article
  • (en) Adam Barth, Collin Jackson et John C. Mitchell, « Robust defenses for cross-site request forgery », Proceedings of the 15th ACM conference on Computer and communications security,‎ , p. 75-87 (ISBN 978-1-59593-810-7, DOI 10.1145/1455770.1455782)
  • (en) James Walden, « Integrating web application security into the IT curriculum », Proceedings of the 9th ACM SIGITE conference on Information technology education,‎ , p. 187-192 (ISBN 978-1-60558-329-7, DOI 10.1145/1414558.1414607)
  • (en) Yakkala V. Naga Manikanta et Anjali Sardana, « Protecting web applications from SQL injection attacks by using framework and database firewall », Proceedings of the International Conference on Advances in Computing, Communications and Informatics,‎ , p. 609-613 (ISBN 978-1-4503-1196-0, DOI 10.1145/2345396.2345495). Ouvrage utilisé pour la rédaction de l'article
  • (en) Ossama B. Al-Khurafi et Mohammad A. Al-Ahmad, « Survey of Web Application Vulnerability Attacks », 2015 4th International Conference on Advanced Computer Science Applications and Technologies (ACSAT),‎ , p. 154-158 (ISBN 978-1-5090-0424-9, DOI 10.1109/ACSAT.2015.46)
  • (en) Gajanan P. Bherde et M. A. Pund, « Recent attack prevention techniques in web service applications », 2016 International Conference on Automatic Control and Dynamic Optimization Techniques (ICACDOT),‎ , p. 1174-1180 (ISBN 978-1-5090-2080-5, DOI 10.1109/ICACDOT.2016.7877771)
  • (en) P. Srivani, S. Ramachandram et R. Sridevi, « A survey on client side and server side approaches to secure web applications », 2017 International conference of Electronics, Communication and Aerospace Technology (ICECA),‎ , p. 22-27 (ISBN 978-1-5090-5686-6, DOI 10.1109/ICECA.2017.8203685)
  • (en) Dennis Appelt, Annibale Panichella et Lionel Briand, « Automatically Repairing Web Application Firewalls Based on Successful SQL Injection Attacks », 2017 IEEE 28th International Symposium on Software Reliability Engineering (ISSRE),‎ , p. 339-350 (ISBN 978-1-5386-0941-5, DOI 10.1109/ISSRE.2017.28)
  • (en) « Web-application attacks: A survey », (consulté le )
  • (en) Truong Son Pham, Tuan Hao Hoang et Van Canh Vu, « Machine learning techniques for web intrusion detection — A comparison », 2016 Eighth International Conference on Knowledge and Systems Engineering (KSE),‎ , p. 291-297 (ISBN 978-1-4673-8929-7, DOI 10.1109/KSE.2016.7758069)
  • (en) Dimitris Mitropoulos, Panagiotis Louridas, Michalis Polychronakis et Angelos D. Keromytis, « Defending Against Web Application Attacks: Approaches, Challenges and Implications », IEEE Transactions on Dependable and Secure Computing,‎ , p. 1-14 (DOI 10.1109/TDSC.2017.2665620)
  • (en) Hsiu-Chuan Huang, Zhi-Kai Zhang, Hao-Wen Cheng et Shiuhpyng Winston Shieh, « Web Application Security: Threats, Countermeasures, and Pitfalls », Computer (Volume: 50, Issue: 6),‎ , p. 81-85 (DOI 10.1109/MC.2017.183)
  • (en) D. Sophia Navis Mary et A. Thasleema Begum, « An Algorithm for Moderating DoS Attack in Web Based Application », 2017 International Conference on Technical Advancements in Computers and Communications (ICTACC),‎ , p. 26-31 (ISBN 978-1-5090-4797-0, DOI 10.1109/ICTACC.2017.17)
  • (en) Sadeeq Jan, Cu D. Nguyen, Andrea Arcuri et Lionel Briand, « A Search-Based Testing Approach for XML Injection Vulnerabilities in Web Applications », 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST),‎ , p. 356-366 (DOI 10.1109/ICST.2017.39)
  • (en) Arianit Maraj, Ermir Rogova, Genc Jakupi et Xheladin Grajqevci, « Testing techniques and analysis of SQL injection attacks », 2017 2nd International Conference on Knowledge Engineering and Applications (ICKEA),‎ , p. 55-59 (DOI 10.1109/ICKEA.2017.8169902)
  • (en) Piyush A. Sonewar et Sonali D. Thosar, « Detection of SQL injection and XSS attacks in three tier web applications », 2016 International Conference on Computing Communication Control and automation (ICCUBEA),‎ , p. 1-4 (ISBN 978-1-5090-3291-4, DOI 10.1109/ICCUBEA.2016.7860069). Ouvrage utilisé pour la rédaction de l'article
  • (en) M. Ridwan Zalbina, Tri Wanda Septian, Deris Stiawan, Moh. Yazid Idris, Ahmad Heryanto et Rahmat Budiarto, « Payload recognition and detection of Cross Site Scripting attack », 2017 2nd International Conference on Anti-Cyber Crimes (ICACC),‎ , p. 1-5 (ISBN 978-1-5090-5814-3, DOI 10.1109/Anti-Cybercrime.2017.7905285)
  • (en) K. Vijayalakshmi et A. Anny Leema, « Extenuating web vulnerability with a detection and protection mechanism for a secure web access », 2017 Fourth International Conference on Signal Processing, Communication and Networking (ICSCN),‎ , p. 1-4 (ISBN 978-1-5090-4740-6, DOI 10.1109/ICSCN.2017.8085652)
  • (en) Syed Mishal Murtaza et Asif Sohail Abid, « Automated white-list learning technique for detection of malicious attack on web application », 2016 13th International Bhurban Conference on Applied Sciences and Technology (IBCAST),‎ , p. 416-420 (ISBN 978-1-4673-9127-6, DOI 10.1109/IBCAST.2016.7429912)
  • (en) Linghuan Xiao, Shinichi Matsumoto, Tomohisa Ishikawa et Kouichi Sakurai, « SQL Injection Attack Detection Method Using Expectation Criterion », 2016 Fourth International Symposium on Computing and Networking (CANDAR),‎ , p. 649-654 (ISBN 978-1-4673-9127-6, DOI 10.1109/CANDAR.2016.0116). Ouvrage utilisé pour la rédaction de l'article
  • (en) Amith Pramod, Agneev Ghosh, Amal Mohan, Mohit Shrivastava et Rajashree Shettar, « SQLI detection system for a safer web application », 2015 IEEE International Advance Computing Conference (IACC),‎ , p. 237-240 (ISBN 978-1-4799-8047-5, DOI 10.1109/IADCC.2015.7154705)
  • (en) Ankit Shrivastava, Santosh Choudhary et Ashish Kumar, « XSS vulnerability assessment and prevention in web application », 2016 2nd International Conference on Next Generation Computing Technologies (NGCT),‎ , p. 850-853 (ISBN 978-1-5090-3257-0, DOI 10.1109/NGCT.2016.7877529)
  • (en) Raja Prasad Karuparthi et Bing Zhou, « Enhanced Approach to Detection of SQL Injection Attack », 2016 2nd International Conference on Next Generation Computing Technologies (NGCT),‎ , p. 466-469 (ISBN 978-1-5090-6167-9, DOI 10.1109/ICMLA.2016.0082)
  • (en) Piyush A. Sonewar et Nalini A. Mhetre, « A novel approach for detection of SQL injection and cross site scripting attacks », 2015 International Conference on Pervasive Computing (ICPC),‎ , p. 1-4 (ISBN 978-1-4799-6272-3, DOI 10.1109/PERVASIVE.2015.7087131)
  • (en) Rathod Mahesh Pandurang et Deepak C. Karia, « A mapping-based podel for preventing Cross site scripting and sql injection attacks on web application and its impact analysis », 2015 1st International Conference on Next Generation Computing Technologies (NGCT),‎ , p. 414-418 (ISBN 978-1-4673-6809-4, DOI 10.1109/NGCT.2015.7375152). Ouvrage utilisé pour la rédaction de l'article
  • (en) Stephen W. Boyd et Angelos D. Keromytis, « SQLrand: Preventing SQL Injection Attacks », Second International Conference, ACNS 2004,‎ , p. 292-302 (ISBN 978-3-540-22217-0, DOI 10.1007/978-3-540-68914-0)
  • (en) Tadeusz Pietraszek1 et Chris Vanden Berghe, « Defending Against Injection Attacks Through Context-Sensitive String Evaluation », 8th International Symposium, RAID 2005,‎ , p. 124-145 (ISBN 978-3-540-31778-4, DOI 10.1007/11663812)
  • (en) William G.J. Halfond et Alessandro Orso, « AMNESIA: analysis and monitoring for NEutralizing SQL-injection attacks », 20th IEEE/ACM international Conference on Automated software engineering,‎ , p. 174-183 (ISBN 1-58113-993-4, DOI 10.1145/1101908.1101935)
  • (en) Yao-Wen Huang, Fang Yu, Christian Hang, Chung-Hung Tsai, D. T. Lee et Sy-Yen Kuo, « Securing web application code by static analysis and runtime protection », WWW04 Proceedings of the 13th international conference on World Wide Web,‎ , p. 40-52 (DOI 10.1145/988672.988679)
  • (en) Anh Nguyen-Tuong, Salvatore Guarnieri, Doug Greene, Jeff Shirley et David Evans, « AUTOMATICALLY HARDENING WEB APPLICATIONS USING PRECISE TAINTING », IFIP TC11 20th International Information Security Conference,‎ , p. 295-307 (ISBN 978-0-387-25658-0, DOI 10.1007/b135818). Ouvrage utilisé pour la rédaction de l'article
  • (en) Moosa Asaad et Alsaffar Eanas Muhsen, « Proposing a hybrid-intelligent framework to secure e-government web applications », ICEGOV '08 Proceedings of the 2nd international conference on Theory and practice of electronic governance,‎ , p. 52-59 (ISBN 978-1-60558-386-0, DOI 10.1145/1509096.1509109)