Geri Dön

Açık kaynak yazılım projelerinin siber tehditlere karşı çok yönlü güvenlik analizlerinin yapılması

Conducting comprehensive security analyses of open source software projects against cyber threats

  1. Tez No: 985011
  2. Yazar: MEHMET NARMAN
  3. Danışmanlar: DR. ÖĞR. ÜYESİ ABDULKADİR ŞEKER
  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: Açık kaynaklı yazılım, Siber güvenlik, Yazılım güvenliği, Zararlı yazılım analizi, Open source software, Cyber security, Software security, Malware analysis
  7. Yıl: 2025
  8. Dil: Türkçe
  9. Üniversite: Sivas Cumhuriyet Ü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ı: Belirtilmemiş.

Özet

Yazılım güvenliği, günümüz yazılım geliştirme süreçlerinde temel bir öncelik haline gelmiştir. Güvenlik açıklarının erken aşamalarda tespit edilmesi, hem bireysel hem de kurumsal düzeyde siber tehditlerin önlenmesine yardımcı olur. Bu bağlamda, açık kaynaklı yazılımların güvenlik düzeyini nesnel olarak ölçmek için araç ve yöntemlere ihtiyaç duyulmaktadır. Bu çalışmanın amacı, açık kaynaklı yazılım projelerinin güvenlik düzeylerini çok boyutlu bir analiz yaklaşımıyla değerlendiren bir raporlama çerçevesi geliştirmektir. Önerilen çerçeve üç ana analiz yöntemi kullanmaktadır: bağımlılık analizi, statik kod analizi ve zararlı yazılım analizi. Bağımlılık analizinde, bilinen güvenlik açıkları projenin yapılandırma dosyaları ve bileşenleri aracılığıyla belirlenmiştir. Zararlı yazılım analizinde, VirusTotal API kullanılarak projenin ikili dosyalarında gerçekleştirilmiştir. Statik kod analizi için, güvenlik açıklarını, kod kalitesini ve kritik hata oranlarını incelemek amacıyla SonarQube aracı kullanılmıştır. Bu analizlerin sonuçları tek bir birleşik raporda birleştirilmiştir. GitHub platformunda en popüler olanlardan seçilen 10 açık kaynaklı proje üzerinde yapılan analizlerde, bazılarında yüksek oranda kritik hata, güncelliğini yitirmiş bağımlılıklar ve güvenlik açıkları tespit edildi. Bağımlılık analizi sonucunda log4j, jackson ve guava gibi bağımlılıklar projeler arasında yaygın olarak belirlendi. Bu durum, paylaşılan bu bağımlılıklardan herhangi birindeki bir güvenlik açığının aynı anda birden fazla projeyi etkileyebileceğini göstermektedir. Ancak, bu ortak bağımlılıkların düzenli olarak güncellenmesi, ilgili tüm projelerin genel güvenliğini doğrudan artıracaktır. Harici yazılım ve kütüphanelerin analizine dayanarak, en fazla bağımlılığa sahip proje alluxio/alluxio, en az bağımlılığa sahip proje ise ballerina-platform/ballerina-lang olarak belirlendi. Statik kod analizinde kritik hataların dağılımı hesaplandı. azure/azure-sdk-for-java projesinde kritik hata oranı %82 iken, apache/flink-master ve apache/doris projelerinde bu oranlar %20'nin altında kalarak daha yüksek bir güvenlik seviyesine işaret etti. Ayrıca, statik kod analizi sırasında en sık tekrarlanan beş kural belirlenmiş ve ilgili güvenlik riskleri, örnek dosyalar ve önerilen çözümler belgelenmiştir. Kötü amaçlı kod analizi kapsamında, bahsi geçen 10 açık kaynaklı projenin ikili kodları 90'dan fazla antivirüs motoru kullanılarak taranmıştır. Taramalar, kötü amaçlı yazılım bulunmadığını ortaya koymuştur. Bu çok boyutlu analiz yaklaşımı, geliştiricilerin siber tehditlere karşı daha sağlam güvenlik önlemleri uygulamalarının önünü açmaktadır. Geliştirilen çerçeve, açık kaynaklı yazılımların güvenlik durumunun çok boyutlu ve nesnel bir şekilde değerlendirilmesini sağlamaktadır. Bu sayede, geliştiricilerin olası tehditleri erken bir aşamada tespit edip gerekli önlemleri almalarına yardımcı olmaktadır.

Özet (Çeviri)

Software security has become a fundamental priority in today's software development processes. Detecting security vulnerabilities at early stages helps prevent cyber threats at both individual and corporate levels. In this context, tools and methods are needed to objectively measure the security level of open source software. The aim of this study is to develop a reporting framework that evaluates the security levels of open source software projects through a multidimensional analysis approach. The proposed framework employs three main analysis methods: dependency analysis, malware scanning, and static code analysis. In the dependency analysis, known security vulnerabilities were identified through the project's configuration files and components. The malware scanning was conducted on the project's binary files using the VirusTotal API. For static code analysis, the SonarQube tool was used to examine security vulnerabilities, code quality, and critical error rates. The results of these analyses were consolidated into a single unified report. In the analyses conducted on 10 selected open-source projects from among the most popular ones on the GitHub platform, some were found to have high rates of critical errors, outdated dependencies, and security vulnerabilities. As a result of the dependency analysis, dependencies such as log4j, jackson, and guava were identified as common among the projects. This indicates that a security vulnerability in any of these shared dependencies could simultaneously affect multiple projects. However, regularly updating these common dependencies would directly enhance the overall security of all related projects. Based on the analysis of external software and libraries, the project with the highest number of dependencies was identified as alluxio/alluxio, while the one with the fewest dependencies was ballerina-platform/ballerina-lang. In the static code analysis, the distribution of critical errors was calculated. The azure/azure-sdk-for-java project had a critical error rate of 82%, while apache/flink-master and apache/doris had rates below 20%, indicating a higher level of security. Additionally, during the static code analysis, the five most frequently recurring rules were identified, and the associated security risks, example files, and proposed solutions were documented. As part of the malicious code analysis, the binary code of all 10 mentioned open-source projects was scanned using over 90+ antivirus engines. The scans revealed no presence of malicious software. This multidimensional analysis approach paves the way for developers to implement more robust security measures against cyber threats. The developed framework enables a multidimensional and objective evaluation of the security posture of open-source software. In this way, it supports developers in identifying potential threats at an early stage and taking the necessary precautions.

Benzer Tezler

  1. Yazılım güvenliği test ve değerlendirme aracı geliştirilmesi

    Development of software security testing and evaluation

    GÜNCEL SARIMAN

    Doktora

    Türkçe

    Türkçe

    2015

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolSüleyman Demirel Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. ECİR UĞUR KÜÇÜKSİLLE

  2. Açık kaynak kodlu yazılım projelerinin kullanılabilirliğe yönelimlerinin ölçümü için bir metrik model geliştirilmesi

    A measurement based framework for assessment of usability readiness of open source software projects

    GÖRKEM ÇETİN

    Doktora

    İngilizce

    İngilizce

    2012

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolGebze Yüksek Teknoloji Enstitüsü

    Bilgisayar Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. MEHMET GÖKTÜRK

  3. Açık kaynak yazılım projelerinde belge kalitesi analizi

    Analysis of documentation quality in open source software projects

    MIRSAMID EYVAZLI

    Yüksek Lisans

    Türkçe

    Türkçe

    2026

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

    Yazılım Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ RAMİN ABBASZADİ

  4. Açık kaynak kodlu yazılım ıle fırlatma araçları üzerındekı fırlatma ırtıfası rüzgar etkılerının analızı

    Analysis of ground wind loads on launch vehicles using opensource software

    ECE SAYKAN

    Yüksek Lisans

    İngilizce

    İngilizce

    2025

    Havacılık ve Uzay Mühendisliğiİstanbul Teknik Üniversitesi

    Uçak ve Uzay Mühendisliği Ana Bilim Dalı

    PROF. DR. FIRAT OĞUZ EDİS

  5. An investigation of issue labeling in open source software projects using large language models

    Açık kaynak kodlu yazılım projelerinde sorun etiketlemenin büyük dil modelleri kullanılarak incelenmesi

    İREM SELİN DENİZ

    Yüksek Lisans

    İngilizce

    İngilizce

    2024

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOrta Doğu Teknik Üniversitesi

    Bilişim Sistemleri Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ ÖZDEN ÖZCAN TOP

    PROF. DR. ALTAN KOÇYİĞİT