Yapay zeka ve dinamik analiz tabanlı web uygulama zafiyet tarayıcısı
Artificial intelligence and dynamic analysis based web application vulnerability scanner
Yazar: MEHMET ALİ YALÇINKAYA
Danışman: PROF. DR. ECİR UĞUR KÜÇÜKSİLLE
Süleyman Demirel Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2020
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Bilgi güvenliği = Information security ; Makine öğrenmesi = Machine learning ; Siber güvenlik = Cyber security ; Yazılım güvenliği = Software security

Özet:
Günümüz bilişim dünyasında internet kullanımının gün geçtikçe yaygınlaşması, web uygulama kullanımının da aynı oranda artmasına neden olmuştur. Bu duruma paralel olarak insanlar alıveriş, yemek siparişi, vatandaşlık işlemleri, fatura ödeme, bankacılık gibi birçok işlemi web uygulamaları üzerinden gerçekleştirmektedirler. Web uygulama kullanımının bu kadar yaygınlaşması ve hassas veriler üzerinde çalışıyor olması, söz konusu uygulamaları siber saldırganların en önemli hedeflerinden biri haline getirmiştir. Web uygulamaları üzerinde her gün yeni bir zafiyet ortaya çıkmakta, söz konusu zafiyetlere yapılan saldırılar ciddi maddi ve manevi zararlara neden olmaktadır.
Web uygulamaları üzerinde yer alan zafiyetlerin saldırganlardan önce tespit edilerek kapatılması alınabilecek en önemli güvenlik önlemlerinin başında gelmektedir. Web uygulamaları üzerinde yer alan güvenlik zafiyetlerinin tespit edilmesinde otomatize web uygulama zafiyet tarayıcıları yaygın olarak kullanılmaktadır. Mevcut web uygulama zafiyet tarayıcıları, web uygulaması üzerinde tüm zafiyet testlerini herhangi bir sıralama ya da ayrım gözetmeden gerçekleştirmektedirler. 
Bu çalışmada dinamik analiz ve yapay zekâ tabanlı, web uygulamalarını GET ve POST metodları üzerinden test edebilen, 21 farklı zafiyet türü için test sınıfına sahip bir web zafiyet tarayıcısı geliştirilmiştir. Geliştirilen zafiyet tarayıcısı, yine bu çalışma kapsamında oluşturulan, 262 farklı web uygulamasını bünyesinde barındıran bir web uygulama test laboratuvarı üzerinde test edilmiştir. Yapılan testler sonrasında elde edilen sonuçlardan bir veri seti oluşturulmuştur. Oluşturulan veri seti içerdiği öznitelikler bakımından literatürde tek olma özelliği taşımaktadır. Söz konusu veri seti kullanılarak önce web sayfası sınıflandırma işlemi gerçekleştirilmiştir. Gerçekleştirilen sınıflandırma işleminde Rastgele Orman algoritması kullanılmış, başarı oranı %96 olarak elde edilmiştir. Sayfa sınıflandırma işleminin ardından, veri seti kullanılarak zafiyetler arasında birliktelik analizi gerçekleştirilmiştir. Gerçekleştirilen analiz sonrasında hangi tür zafiyetlerin, hangi zafiyetler ile aynı yerlerde görülebileceği incelenmiştir. Oluşturulan sayfa sınıflandırma- birliktelik analizi tabanlı modelin, standart tarama modellerine göre %21 oranında süre kazancı sağladığı görülmüştür. Bu tez çalışması gerçekleştirilen birliktelik analizi açısından da, literatürde tek olma özelliği taşımaktadır. Gerçekleştirilen çalışmada ayrıca, kapsam genişletme işleminde web sayfası gezilirken, kullanıcı giriş sayfalarının tespiti için sınıflandırma işlemi kullanılmıştır. Kullanıcı giriş sayfalarının otomatik olarak tespit edilerek giriş yapılması, mevcut kullanılmakta olan web afiyet tarayıcılarda olmayan bir özellik olup, bu alanda literatüre kazandırılmış yeni bir tekniktir.
Ulusal yazılım güvenliği alanında yapılan çalışmaların azlığı göz önüne alındığında, bu tez çalışması kapsamında geliştirilen yapay zekâ tabanlı web zafiyet tarayıcısının çalışma alanına ciddi katkıda bulunacağı düşünülmektedir.

Abstract:
In today's informatics world, the widespread using of internet has caused the use of web applications to increase at the same rate. Nowadays, people carry out many applications such as shopping, food ordering, citizenship transactions, bill payment and banking through web applications. The widespread using of web applications and the fact that they are working on sensitive data have made these applications one of the most important targets of cyber attackers. A new vulnerability is emerging every day on the web applications, attacks on these vulnerabilities cause serious material and moral damages. 
One of the most important security measures that can be taken is the detection and closure of vulnerabilities on web applications before the attackers. Automated web vulnerability scanners are widely used to detect security vulnerabilities on web applications. Existing web vulnerability browsers perform all vulnerability testing on the web application without any sorting or distinction.  In this study, a web vulnerability scanner has been developed based on dynamic analysis and artificial intelligence, which can test web applications through GET and POST methods and has test classes for 21 different vulnerability types.  Developed vulnerability scanner was tested on a web application testing laboratory that also includes 300 web applications created within the scope of this study.  A data set was created from the results obtained after the tests. The data set is unique in the literature in terms of its attributes. First, web page classification process was performed by using this data set. The success rate in the classification process was 96%. After the page classification process, relationship analysis between vulnerabilities was performed using the data set. After the transaction, which kind of vulnerability, which vulnerability can be seen in the same places was examined.  This thesis is unique in the literature in terms of performed relationship analysis. In this study, while the web page was visited for the scope extension, classification process was used for the identification of the user login pages. Automatically detecting user login pages and logging in is a feature that is not available in the web browser currently in use and is a new technique that has been introduced to the literature in this field.
Considering the scarcity of studies in the field of national software security, it is thought that the artificial intelligence-based web vulnerability browser developed within the scope of this thesis will contribute to the study area.