Kapalı kaynak yazılımlar için derin öğrenme temelli açıklık tespit sistemi ile siber tehdit istihbaratı
Cyber threat intelligence with deep learning based vulnerability detection system for closed source software
Yazar: SÜLEYMAN MUHAMMED ARIKAN
Danışman: PROF. DR. MUSTAFA ALKAN
Gazi Üniversitesi / Bilişim Enstitüsü / Adli Bilişim Ana Bilim Dalı
Derece: Doktora, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Mühendislik Bilimleri = Engineering Sciences
Dizin: Siber güvenlik = Cyber security ; Siber tehdit istihbaratı = Cyber threat intelligence ; Yapay zeka = Artificial intelligence ; Yazılım güvenliği = Software security

Özet:
Kaynak ve tecrübe eksikliği gibi sebeplerden dolayı kapalı kaynak yazılımlar üzerinde analizler gerçekleştiremeyen kullanıcılar, bu yazılımlara ait siber tehdit istihbaratına ihtiyaç duyabilmektedir.  Ancak siber tehdit istihbaratı süreci zahmet, tecrübe ve birçok manuel adım gerektirmektedir. Bu sebeple çalışmada amaç, kapalı kaynak kodlu yazılımların açıklıklarına yönelik siber tehdit istihbaratı oluşturma sürecini otomatize etmek olarak belirlenmiştir. Kapalı kaynak yazılımlarda bulunan güvenlik açıklıklarının tespitindeki zorlukların üstesinden gelmek için ise derin öğrenme yönteminin kullanılması planlanmıştır. Çalışma kapsamında ilk olarak siber tehdit istihbaratı taksonomileri incelenmiş ve elde edilmesi hedeflenen grup belirlenmiştir. Mevcut yaşam döngüleri incelenerek ayrıştırılmış siber tehdit istihbaratı döngüsü sunulmuş ve katkı sağlanacak süreç adımları tanımlanmıştır. Ardından, kapalı kaynaklı bir yazılımın bulunabileceği kod türleri aktarılarak analizlerin gerçekleştirileceği tür belirlenmiştir. Bunu takiben, sistematik literatür taraması yapılmış, bir yazılım açıklık tespit sisteminde bulunması gereken bileşenler ile kullanılabilir yöntemler tanımlanmıştır. Elde edilen bilgiler ışığında, CTI-FOR-CSS olarak adlandırılmış kapalı kaynak yazılımlarda bulunan açıklıklar için siber tehdit istihbaratı üretebilecek derin öğrenme temelli yazılım açıklık tespit sistemi tasarlanarak geliştirilmiştir. Çalışmamızda "function-as-sentence" yaklaşımı sunulmuş olup MLP, OneDNN, LSTM ve Bi-LSTM algoritmaları ile kullanılmıştır. Veri kümesi olarak CWE-119 ve CWE-399 açıklıklarını barındıran NDSS18 ikili kod ve SOSP veri kümeleri kullanılmıştır. Sistem bünyesinde kullanılan algoritmaların en az literatürdeki çalışmalar kadar başarılı olduğu ispatlanmıştır. Sistem NDSS18 ikili kod veri kümesi üzerinde en iyi başarımına Bi-LSTM algoritması ile ulaşmış, F1-score ve AUC değerleri için sırasıyla %82,4 ve literatürdeki en iyi sonuç olarak %93 başarımı elde edilmiştir. CTI-FOR-CSS, gerçek dünya uygulamaları üzerinde de kullanılarak yazılım açılığı tespiti ve siber tehdit istihbaratı üretme için örnek çalışma gerçekleştirilmiştir. Paylaşılabilir istihbaratı, tespit süreci hariç, 0,1 saniye içinde oluşturabildiği, yaklaşımımızı kullanan her bir kaydı ise ortalama 0,32 saniye içinde sınıflandırabildiği görülmüştür.

Abstract:
Users who cannot perform analyzes on closed source software due to reasons such as lack of resources or experience may need cyber threat intelligence. However, the cyber threat intelligence process requires effort, experience and many manual steps. For this reason, the aim of the study is to automate the process of producing cyber threat intelligence for closed source software vulnerabilities. In order to overcome the difficulties in detecting vulnerabilities in closed source software, it is planned to use deep learning methods. Within the scope of the study, first of all, taxonomies of cyber threat intelligence were examined and the target group was determined. By analyzing the existing lifecycles, the atomic cyber threat intelligence lifecycle is presented and the process steps to contribute are defined. Then, the types of code in which closed source software can be found were presented and the code type to be analyzed was determined. Following this, a systematic literature review was made, the components that should be employed in a software vulnerability detection system and the methods that could be used were investigated. In the light of the information obtained, CTI-FOR-CSS, which is a deep learning-based software vulnerability detection system that can generate cyber threat intelligence for vulnerabilities in closed source software, has been designed and developed. In our study, the function-as-sentence approach is presented and used with MLP, OneDNN, LSTM and Bi-LSTM algorithms. The NDSS18 binary and SOSP datasets containing CWE-119 and CWE-399 vulnerabilities were used. It has been proven that the algorithms used in the system are at least as successful as the studies in the literature. On the NDSS18 binary dataset, the system achieved the best performance using Bi-LSTM, with F1 score of 82.4% and AUC score of 93%. Our AUC score is the best in the literature. CTI-FOR-CSS has also been used for real-world applications to perform a case study for software vulnerability detection and cyber threat intelligence generation. It has been observed that it can generate shareable intelligence within 0.1 seconds, excluding the detection process, and classify each record using our approach within an average of 0.32 seconds.