Geri Dön

Yazılım güvenlik açıklarının makine öğrenmesi yöntemleri ile tespiti

Detection of software security vulnerables by deep neural networks methods

  1. Tez No: 791242
  2. Yazar: GÖZDE MİHRAN KAYA
  3. Danışmanlar: DR. ÖĞR. ÜYESİ İRFAN KÖSESOY
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2023
  8. Dil: Türkçe
  9. Üniversite: Kocaeli Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 69

Özet

Yazılım ve bilişim sistemleri gün geçtikçe yaygınlaşmakta ve kullanımı her geçen gün artmaktadır. Bu sistemlerde yaşanan değişimler beraberinde güvenlik açıklarını da getirmektedir. Yazılım güvenlik açığı, bir tehdit kaynağı tarafından istismar edilebilecek bilgi sistemindeki, sistem güvenlik prosedürlerindeki, iç kontrollerdeki veya uygulamadaki zayıflık olarak tanımlanmaktadır. Mevcut sistemlerde var olan güvenlik açıkları konunun uzmanları tarafından belirlenmiştir. Belirlenen açıklara sürekli olarak yenileri de eklenmektedir. Güvenlik açıklarını, yazılım geliştirme sürecinin başlarında tespit edip önlemek, ilerleyen süreçlere kıyasla zaman ve maliyet açısından daha tasarrufludur. Yazılım geliştirme aşamasında oluşan güvenlik açıkları sonraki süreçlere aktarıldığında çözümü zorlaşmakta ve çözüm maliyeti artmaktadır. Bu nedenle kodlardaki güvenlik açığının kodlama aşamasında tespit edilmesi önemlidir. Son yıllarda özellikle görüntü işleme, doğal dil işleme gibi alanlardaki problemlere başarıyla uygulanan makine öğrenmesi algoritmaları kodlardaki güvenlik açıklarının tespit edilmesinde de kullanılmıştır. Bu alanda yapılan çalışmalar,“bilinen türdeki güvenlik açıklarını tespit etmek”veya“yeni güvenlik açıklarını keşfetmek”olmak üzere iki kısma ayrılmaktadır. Tez çalışması kapsamında bilinen türdeki güvenlik açıklarından yola çıkarak kodlarda zafiyet olup olmadığı tespit edilmeye çalışılmıştır. Bu amaçla denetimli öğrenmede yaygın olarak kullanılan Bayes ağları, Naif Bayes, rastgele orman, k en yakın komşu ve destek vektör makinesi tahmin yöntemleri ile kaynak kodu sınıflandırması yapılmıştır. Tahmin modelleri, bu alanda yapılan çalışmalarda sıklıkla kullanılan veri setleri ile eğitilmiş ve test edilmiştir. Modellerin tahmin doğruluğunu arttırmak amacıyla çıkarılan öznitelik vektörlerine öznitelik seçim yöntemleri uygulanmıştır.

Özet (Çeviri)

Software and information systems are becoming more widespread and their use is increasing day by day. The changes in these systems also bring security vulnerabilities. Software security vulnerability is defined as a weakness in information systems, system security procedures, internal controls, or applications that can be exploited by a threat source. Security vulnerabilities in existing systems have been identified by experts in the field, and new ones are constantly being added. Detecting and preventing security vulnerabilities at the beginning of the software development process is more cost-effective in terms of time and money compared to later stages. When security vulnerabilities in code are transferred to later stages, the solution becomes more difficult and the cost of solution increases. Therefore, it is important to detect security vulnerabilities in code during the coding stage. In recent years, machine learning algorithms, successfully applied in areas such as image processing and natural language processing, have also been used to detect security vulnerabilities in code. Studies in this field are divided into two parts:“detecting known types of security vulnerabilities”or“discovering new security vulnerabilities”. In this thesis, it is attempted to determine whether there are vulnerabilities in the code based on known types of security vulnerabilities. For this purpose, source code classification was performed using Bayesian networks, Naive Bayes, Random Forest, K-Nearest Neighbor, and Support Vector Machine prediction methods, commonly used in supervised learning. The prediction models were trained and tested with data sets frequently used in this field. Feature selection methods were applied to feature vectors to increase the accuracy of prediction models.

Benzer Tezler

  1. Makine öğrenmesi yöntemleri ile zararlı yazılım tespiti

    Malware detection with machine learning methods

    ŞEYMA GÜLEŞ

    Yüksek Lisans

    Türkçe

    Türkçe

    2020

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolKonya Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. BARIŞ KOÇER

  2. Yazılım kaynak kodunda güvenlik açıklarının derin öğrenme ve makine öğrenmesi ile otomatik tespiti

    Automatic detection of software vulnerabilities in source code using deep learning and machine learning

    DİLEK MANDAL

    Yüksek Lisans

    Türkçe

    Türkçe

    2024

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolKocaeli Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ İRFAN KÖSESOY

  3. Predicting software vulnerabilities using topic modeling with issues

    Konu modelleme yöntemi ile yazılım güvenlik açıklarını tahmin etme

    FATMA GÜL BULUT

    Yüksek Lisans

    İngilizce

    İngilizce

    2019

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    İletişim Sistemleri Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ AYŞE TOSUN

  4. Profiling developers to predict vulnerable code changes

    Güvenlik açığı kod değişikliklerini öngörmek için geliştiricilerin profilini oluşturma

    TUĞÇE COŞKUN

    Yüksek Lisans

    İngilizce

    İngilizce

    2023

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. AYŞE TOSUN KÜHN

  5. Yazılım güvenlik açıklarının skorlanması ve kategorisinin belirlenmesinde yeni bir yöntem

    A new method to determine scoring and category of software vulnerabilities

    HAKAN KEKÜL

    Doktora

    Türkçe

    Türkçe

    2022

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolFırat Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. BURHAN ERGEN