基于深度学习的结构化查询语言注入漏洞检测方法

{"title":"基于深度学习的结构化查询语言注入漏洞检测方法","authors":"","doi":"10.30534/ijatcse/2022/051152022","DOIUrl":null,"url":null,"abstract":"With the rapid development of Web 2.0 technology, network applications have gradually become an indispensable part of our lives. At the same time, Web applications are confronted with more challenges. As announced by the OWASP (open web application security project) organization, injection attack has been the first of the top 10 security vulnerabilities in 2013 and 2017, and SQL injection attack is one of the most important types among the injection attacks. Due to the rapid growth of SQL injection attacks on web application, this research developed a deep learning model in detecting SQL injection attack. The model was trained on a dataset that contains about 30,635 queries, which includes both injected and non-injected queries. The dataset was gotten from Kaggle database. The dataset was then processed by removing null and duplicate values. Further pre-processing was carried out in terms of tokenization and conversion of text to arrays. CountVectorizer () function was used for data normalization in converting the dataset to arrays in form of 0s and 1s. After the pre-processing stage, Feature selection was done on the dataset using the tfidvectoriser. The selected features were passed to the deep feed forward neural network for training. The model was trained on a step of 20 epochs, the model achieved an accuracy of 97.65%. Confusion matrix depicts the total number of correct prediction and the total number of false classifications. The confusion matrix shows that out of 590 classifications on attacks that are of normal, the model predicted correctly for 572 and predicted falsely for 16 times. Then for attacks that are of SQL injection, the model predicted correctly 251 times and predicted falsely for just 1. This shows the performance of the model is in good shape. The model was saved and deployed to web using python flask for easy testing and usage. The model was compared with other existing models and it outperformed the existing model in terms of accuracy. This research can further be extended by using combinations of deep learning algorithms. It can further be extended by deploying the model to android applications.","PeriodicalId":129636,"journal":{"name":"International Journal of Advanced Trends in Computer Science and Engineering","volume":"231 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A Deep Learning Approach for The Detection of Structured Query Language Injection Vulnerability\",\"authors\":\"\",\"doi\":\"10.30534/ijatcse/2022/051152022\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"With the rapid development of Web 2.0 technology, network applications have gradually become an indispensable part of our lives. At the same time, Web applications are confronted with more challenges. As announced by the OWASP (open web application security project) organization, injection attack has been the first of the top 10 security vulnerabilities in 2013 and 2017, and SQL injection attack is one of the most important types among the injection attacks. Due to the rapid growth of SQL injection attacks on web application, this research developed a deep learning model in detecting SQL injection attack. The model was trained on a dataset that contains about 30,635 queries, which includes both injected and non-injected queries. The dataset was gotten from Kaggle database. The dataset was then processed by removing null and duplicate values. Further pre-processing was carried out in terms of tokenization and conversion of text to arrays. CountVectorizer () function was used for data normalization in converting the dataset to arrays in form of 0s and 1s. After the pre-processing stage, Feature selection was done on the dataset using the tfidvectoriser. The selected features were passed to the deep feed forward neural network for training. The model was trained on a step of 20 epochs, the model achieved an accuracy of 97.65%. Confusion matrix depicts the total number of correct prediction and the total number of false classifications. The confusion matrix shows that out of 590 classifications on attacks that are of normal, the model predicted correctly for 572 and predicted falsely for 16 times. Then for attacks that are of SQL injection, the model predicted correctly 251 times and predicted falsely for just 1. This shows the performance of the model is in good shape. The model was saved and deployed to web using python flask for easy testing and usage. The model was compared with other existing models and it outperformed the existing model in terms of accuracy. This research can further be extended by using combinations of deep learning algorithms. It can further be extended by deploying the model to android applications.\",\"PeriodicalId\":129636,\"journal\":{\"name\":\"International Journal of Advanced Trends in Computer Science and Engineering\",\"volume\":\"231 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-10-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International Journal of Advanced Trends in Computer Science and Engineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.30534/ijatcse/2022/051152022\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Advanced Trends in Computer Science and Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.30534/ijatcse/2022/051152022","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

随着Web 2.0技术的飞速发展,网络应用已经逐渐成为我们生活中不可缺少的一部分。同时,Web应用也面临着更多的挑战。据OWASP(开放web应用程序安全项目)组织公布,注入攻击在2013年和2017年的十大安全漏洞中排名第一,而SQL注入攻击是其中最重要的类型之一。针对web应用中SQL注入攻击的快速增长,本研究开发了一种用于检测SQL注入攻击的深度学习模型。该模型在包含约30,635个查询的数据集上进行训练,其中包括注入查询和非注入查询。数据集来自Kaggle数据库。然后通过删除空值和重复值来处理数据集。在标记化和文本到数组的转换方面进行了进一步的预处理。CountVectorizer()函数用于数据规范化,将数据集转换为0和1形式的数组。预处理阶段结束后,使用tfidvectoriser对数据集进行特征选择。将选择的特征传递给深度前馈神经网络进行训练。该模型以20个epoch为阶跃进行训练,准确率达到97.65%。混淆矩阵描述了正确预测的总数和错误分类的总数。混淆矩阵显示,在590次正常攻击分类中,该模型预测正确的有572次,预测错误的有16次。然后,对于SQL注入攻击,该模型预测正确的次数为251次,预测错误的次数仅为1次。这说明模型的性能状况良好。使用python flask将模型保存并部署到web上,以便于测试和使用。将该模型与现有模型进行了比较,结果表明该模型在精度上优于现有模型。该研究可以通过使用深度学习算法的组合来进一步扩展。可以通过将模型部署到android应用程序中来进一步扩展它。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
A Deep Learning Approach for The Detection of Structured Query Language Injection Vulnerability
With the rapid development of Web 2.0 technology, network applications have gradually become an indispensable part of our lives. At the same time, Web applications are confronted with more challenges. As announced by the OWASP (open web application security project) organization, injection attack has been the first of the top 10 security vulnerabilities in 2013 and 2017, and SQL injection attack is one of the most important types among the injection attacks. Due to the rapid growth of SQL injection attacks on web application, this research developed a deep learning model in detecting SQL injection attack. The model was trained on a dataset that contains about 30,635 queries, which includes both injected and non-injected queries. The dataset was gotten from Kaggle database. The dataset was then processed by removing null and duplicate values. Further pre-processing was carried out in terms of tokenization and conversion of text to arrays. CountVectorizer () function was used for data normalization in converting the dataset to arrays in form of 0s and 1s. After the pre-processing stage, Feature selection was done on the dataset using the tfidvectoriser. The selected features were passed to the deep feed forward neural network for training. The model was trained on a step of 20 epochs, the model achieved an accuracy of 97.65%. Confusion matrix depicts the total number of correct prediction and the total number of false classifications. The confusion matrix shows that out of 590 classifications on attacks that are of normal, the model predicted correctly for 572 and predicted falsely for 16 times. Then for attacks that are of SQL injection, the model predicted correctly 251 times and predicted falsely for just 1. This shows the performance of the model is in good shape. The model was saved and deployed to web using python flask for easy testing and usage. The model was compared with other existing models and it outperformed the existing model in terms of accuracy. This research can further be extended by using combinations of deep learning algorithms. It can further be extended by deploying the model to android applications.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信