SQLi ve XSS Saldırı Tespitinde Kullanılan Yeni Bir Özellik Çıkarma Yöntemi

Web sayfalarına erişmek için kullanılan adres satırı veya web sayfalarında ve uygulamalarında bulunan formlar gibi kullanıcıdan girdi alabildiğimiz, dolayısıyla kullanıcının niyetini anlamak için ona sınırsız bir imkân tanıdığımız alanlar, güvenlik riski bakımından her dönemde ilk sıralarda kendine yer bulmaktadır. Bu alanlara yapılan saldırıların tespiti için literatürde statik, dinamik ve hibrit olmak üzere çeşitli yaklaşımlar kullanılmaktadır. Ancak bu yöntemlerin Yanlış Alarm durumları için ne yapılacağını belirlemediği ve bu durumlarda tamamen işlevsiz kaldığı görülmektedir. Bu çalışmada, literatürde tespit edilen bu belirsizliğin azaltılması için Yanlış-Alarm seviyelerini düşürmek ve doğru tespit oranını artırmak hedeflenmiştir. Çalışma kapsamında, 5 Mayıs 2021 tarihi itibariyle güncel 13157 adet SQLi ve XSS tipi zararlı, 10000 adet normal HTTP İsteği kullanılmıştır. HTTP isteklerinin tamamı aynı web sunucudan alınmış, normal isteklerle zararlı isteklerin birbirine yakın olduğu gözlenmiştir. Bu çalışmada, veri ön işleme aşamalarında veriyi kelimelerle ifade etme ve sayısallaştırma işlemleri birlikte kullanılarak yeni bir yaklaşım sunulmuştur. Sınıflandırma için LSTM, MLP, CNN, GNB, SVM, KNN, DT, RF algoritmaları kullanılmış ve sonuçlar doğruluk, hassasiyet, özgüllük ve F1-skoru metrikleri ile değerlendirilmiştir. Bu çalışma ile ulaşılan bulgular şu şekilde sıralanabilir: 1) Bazı saldırı vektörlerinin, görünürde farklı bile olsa ön işlem sonrasında aslında aynı karakteristikte olabildiği, 2) Kelimelerin sembolize edilmesinin saldırı vektörünün özelliğinin daha net görülmesini sağladığı, 3) Kelimelerin öklitsel uzaklıklarının hesaplanarak özniteliklerin çıkarılması başarıyı arttırdığı görülmüştür.

___

  • [1] “Owasp, 2021”, Erişim: 5-12-2021, Mevcut: https://owasp.org/www-project-top-ten/
  • [2] Acunetix, “Acunetix web application vulnerability report 2016,” Tech. Rep., 2016. [Online]. Mevcut: https://www.acunetix.com/ acunetix-web-application-vulnerability-report- 2016/
  • [3] Jemal, I., Cheikhrouhou, O., Hamam, H., & Mahfoudhi, A. (2020). Sql injection attack detection and prevention techniques using machine learning. International Journal of Applied Engineering Research, 15(6), 569-580.
  • [4] Alwan, Z. S., & Younis, M. F. (2017). Detection and prevention of sql injection attack: A survey. International Journal of Computer Science and Mobile Computing, 6(8), 5-17.
  • [5] Gogoi, B., Ahmed, T., & Saikia, H. K. (2021). Detection of XSS Attacks in Web Applications: A Machine Learning Approach. International Journal of Innovative Research in Computer Science & Technology (IJIRCST) ISSN, 2347- 5552.
  • [6] Abaimov, S., & Bianchi, G. (2019). Coddle: Code-injection detection with deep learning. IEEE Access, 7, 128617-128627.J. Clerk Maxwell, A Treatise on Electricity and Magnetism, 3rd ed., vol. 2. Oxford: Clarendon, 1892, pp.68–73.
  • [7] Singh, J. P. (2016). Analysis of SQL injection detection techniques. arXiv preprint arXiv:1605.02796.
  • [8] Gupta, S., & Gupta, B. B. (2017). Cross-Site Scripting (XSS) attacks and defense mechanisms: classification and state-of-the-art. International Journal of System Assurance Engineering and Management, 8(1), 512-530.
  • [9] Moosa, A. (2010). Artificial neural network based web application firewall for SQL injection. International Journal of Computer and Information Engineering, 4(4), 610-619.
  • [10] Makiou, A., Begriche, Y., & Serhrouchni, A. (2014, November). Improving Web Application Firewalls to detect advanced SQL injection attacks. In 2014 10th International Conference on Information Assurance and Security (pp. 35-40). IEEE.
  • [11] Sheykhkanloo, N. M. (2015, September). SQL- IDS: evaluation of SQLi attack detection and classification based on machine learning techniques. In Proceedings of the 8th International Conference on Security of Information and Networks (pp. 258-266).
  • [12] Sheykhkanloo, N. M. (2017). A learning-based neural network model for the detection and classification of SQL injection attacks. International Journal of Cyber Warfare and Terrorism (IJCWT), 7(2), 16-41.
  • [13] Verbruggen, R., & Heskes, T. (2014). Creating firewall rules with machine learning techniques. Nijmegen Netherlands: Kerckhoffs institute Nijmegen, 9-27.
  • [14] Kar, D., Panigrahi, S., & Sundararajan, S. (2016). SQLiGoT: Detecting SQL injection attacks using graph of tokens and SVM. Computers & Security, 60, 206-225.
  • [15] Ingre, B., Yadav, A., & Soni, A. K. (2017, March). Decision tree based intrusion detection system for NSL-KDD dataset. In International conference on information and communication technology for intelligent systems (pp. 207-218). Springer, Cham.
  • [16] “Dataset nsl-kdd”, Mevcut: https://www.unb.ca/cic/datasets/nsl.html.
  • [17] Rathore, S., Sharma, P. K., & Park, J. H. (2017). XSSClassifier: An Efficient XSS Attack Detection Approach Based on Machine Learning Classifier on SNSs. Journal of Information Processing Systems, 13(4).
  • [18] Uwagbole, S. O., Buchanan, W. J., & Fan, L. (2017, May). Applied machine learning predictive analytics to SQL injection attack detection and prevention. In 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM) (pp. 1087-1090). IEEE
  • [19] Mereani, F. A., & Howe, J. M. (2018, February). Detecting cross-site scripting attacks using machine learning. In International Conference on Advanced Machine Learning Technologies and Applications (pp. 200-210). Springer, Cham..
  • [20] Betarte, G., Giménez, E., Martínez, R., & Pardo, Á. (2018). Machine learning-assisted virtual patching of web applications. arXiv preprint arXiv:1803.05529. [21] “Dataset csic-2010”, http://www.isi.csic.es/dataset/.
  • [22] “Dataset drupal”, https://www.drupal.org/project/dataset.
  • [23] “Dataset pkdd2007”, http://www.lirmm.fr/pkdd2007-challenge/.
  • [24] George, T. K., Jacob, K. P., & James, R. K. (2018). Token based detection and neural network based reconstruction framework against code injection vulnerabilities. Journal of Information Security and Applications, 41, 75- 91.
  • [25] “Sql payload dataset, github”, Mevcut: https://github.com/SuperCowPowers/data hacking/tree/master/sql_injection/data.
  • [26] “Xss payload dataset, İsmail Taşdelen, github”, Mevcut: https://github.com/ismailtasdelen/xss- payload-list.
  • [27] Alma, T., & Das, M. L. (2020). Web Application Attack Detection using Deep Learning. arXiv preprint arXiv:2011.03181.
  • [28] “Dataset Vulnbank”, Mevcut: https://github.com/vulnbank/vulnbank.
  • [29] Fidalgo, A., Medeiros, I., Antunes, P., & Neves, N. (2020, October). Towards a deep learning model for vulnerability detection on web application variants. In 2020 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW) (pp. 465- 476). IEEE
  • [30] Zuech, R., Hancock, J., & Khoshgoftaar, T. M. (2021, July). Detecting SQL Injection Web Attacks Using Ensemble Learners and Data Sampling. In 2021 IEEE International Conference on Cyber Security and Resilience (CSR) (pp. 27-34). IEEE
  • [31] “CSIC Veri Setleri”, Mevcut: https://www.unb.ca/cic/datasets.
  • [32] Gniewkowski, M., Maciejewski, H., Surmacz, T. R., & Walentynowicz, W. (2021). HTTP2vec: Embedding of HTTP Requests for Detection of Anomalous Traffic
  • [33] “SQL Injection Payload List, İsmail Taşdelen, github”, Mevcut: https://github.com/payloadbox/sql-injection- payload-list
  • [34] “Microsoft SQL, Reserved Keywords Transact- SQL,” Mevcut: https://docs.microsoft.com/en- us/sql/t-sql/language-elements/reserved- keywords-transact- sql?redirectedfrom=MSDN&view=sql-server- ver15
  • [35] “Javascript | Reserved Words”, Mevcut: https://www.geeksforgeeks.org/javascript- reserved-words/
  • [36] “Mysql, Keywords and Reserved Words”, Mevcut: https://dev.mysql.com/doc/refman/8.0/en/keywo rds.html