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
- Tez No: 985011
- Danışmanlar: DR. ÖĞR. ÜYESİ ABDULKADİR ŞEKER
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- 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
- Yıl: 2025
- Dil: Türkçe
- Üniversite: Sivas Cumhuriyet Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- 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
- 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
2015
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolSüleyman Demirel ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. ECİR UĞUR KÜÇÜKSİLLE
- 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
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
- 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
2026
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOstim Teknik ÜniversitesiYazılım Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ RAMİN ABBASZADİ
- 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
2025
Havacılık ve Uzay Mühendisliğiİstanbul Teknik ÜniversitesiUçak ve Uzay Mühendisliği Ana Bilim Dalı
PROF. DR. FIRAT OĞUZ EDİS
- 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
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOrta Doğu Teknik ÜniversitesiBilişim Sistemleri Ana Bilim Dalı
DR. ÖĞR. ÜYESİ ÖZDEN ÖZCAN TOP
PROF. DR. ALTAN KOÇYİĞİT