Geri Dön

Kaynak kod güvenliğinde statik analiz ölçütleri ile performans değerlendirmesi

Performance evaluation with static analysis methods in source code security

  1. Tez No: 538112
  2. Yazar: TOLUN ARDAHANLI
  3. Danışmanlar: DR. ÖĞR. ÜYESİ FARUK BULUT
  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: 2019
  8. Dil: Türkçe
  9. Üniversite: Haliç Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
  13. Sayfa Sayısı: 73

Özet

Bilişim sektöründe aktif olarak çalışan yazılımcıların geliştirdiği yazılım ürünleri üzerinde hatalar bulunmasının yanı sıra güvenlik zafiyetleri de sıklıkla görülmektedir. Geliştirilen yazılımın ne seviyede güvenli olduğu herhangi bir standart çerçevesinde değerlendirilmemektedir. Yazılım kaynak kodlarında olası güvenlik açıklarını keşfetmek için Statik Kod Analiz araçları kullanılmaktadır. Fortify, Polyspace, SonarCloud (open), Checkmarx, AppScan ve AttackFlow gibi birçok ücretli ve ücretsiz test aracı mevcuttur ve bu araçlar yazılımların değerlendirmesini yapmaktadır. Araçlar kaynak kodları analiz ederken yanlış pozitif (False Positive), yanlış negatif (False Negative), doğru pozitif (True Positive) ve doğru negatif (True Negative) gibi değerlendirme sonuçları üretirler. Yanlış pozitif (False Positive), kaynak kodda gerçekte güvenlik sorunu olmayan ve statik analiz araçları tarafından yanlışlıkla var olduğu tespit edilen güvenlik açıklarını tanımlamaktadır. Yanlış negatif (False Negative) ise statik kod analiz araçları ile bulunamayan ve gerçekte mevcut olan güvenlik açığı şeklinde ifade edilmektedir. Güvenlik taraması sırasında, yanlış negatif (False Negative) ve yanlış pozitif (False Positive) lerden dolayı, taramayı yapan, taramayı yaptıran, ilgili değerlendirme aracını satın almak üzere olan ve aynı zamanda güvenlik taramasından geçirilmemiş programı canlı sistemlerinde barındırarak hizmet vermek zorunda olan aktörler mağduriyet yaşamaktadır. Bu çalışmanın temel amacı, farklı statik kod analiz araçlarının, güvenlik açıklarını tespit etme performanslarını analiz etmektir. Aynı zamanda doğruluğundan emin olunulmuş ve tekrarlanabilir bir yöntemi ortaya koyarak objektif değerlendirme sonuçları ile doğabilecek sorunların önüne geçmektir. Bu tez çalışması içerisinde yazılım sektöründe kullanılan Fortify, Polyspace, SonarCloud (open), Checkmarx, AppScan ve AttackFlow gibi test araçlarından sadece Polyspace ve Fortify incelenmiştir. Çalışma içerisinde kâr amacı barındıran ticari ürün Fortify ile akademik çalışmalarda kullanılan Polyspace ürünleri incelenerek performansları kıyaslanmıştır. Bu çalışmada ilk olarak seçilen JULIET test veri kümesi üzerinde yazılım test araçlarının başarımları incelenmiştir. Daha sonra ilgili test araçları farklı istatistiksel yöntemler kullanılarak analiz edilmiş ve kıyaslanmıştır. Aşamalara ait sürelerin kısaltılabilmesi için filtreleme ve otomatize etmek amacıyla çeşitli betikler oluşturulmuştur. Ayrıca başarımları hesaplayabilmek adına SCATPA adı verilen bir proje de geliştirilmiştir. Gerçekleştirilen çalışmada aynı zayıflık grubunu (Common Weakness Enumeration, CWE) test etmeyi amaçlayan yazılım araçları birbirleri ile karşılaştırılmış ve ilgili araçların farklılıkları (avantaj – dezavantajları) ortaya konmuştur. Bu tez çalışması alanında bir ilk olup, ilgili alanda çalışmak isteyen şahıs ve kuruluşlar için yol gösterici olması hedeflenmiştir.

Özet (Çeviri)

Software vulnerabilities developed by software developers working actively in the IT sector, as well as security vulnerabilities are frequently seen. The level of security of the developed software is not evaluated in any standard framework. Static Code Analysis tools are used to discover possible vulnerabilities in software source codes. There are many paid and free testing tools such as Fortify, Polyspace, SonarCloud (open), Checkmarx, AppScan and AttackFlow, and these tools evaluate the software. While analyzing source codes, these tools produce evaluation results such as false positive, false negative, true positive and true negative. A false positive identifies vulnerabilities in the source code that actually do not have security problems and are found to be inadvertently present by static analysis tools. A false negative is expressed as a security vulnerability that cannot be found with static code analysis tools. During the security scan, who is scanning, who is requesting to make this scan, companies that are going to buy a scanning tool and companies that have to serve by hosting a security-free program in their live systems can be a victim, because of false negative and false positives. The main objective of this study is to analyze the performance of different static code analysis tools and their detection vulnerabilities. At the same time to ensure that the accuracy of a reproducible method to reveal the results of the objective assessment can be avoided. Only Polyspace and Fortify were included in the test tools available on the market, such as Fortify, Polyspace, SonarCloud (open), Checkmarx, AppScan and AttackFlow. In the study, the product of the profit, Fortify, and Polyspace products which is used in academic studies were examined and their performances were compared. In this study, the performance of software testing tools on the JULIET test data set was investigated. Then, the related test tools were analyzed and compared using different statistical methods. In order to shorten the time of the stages, various scripts have been created for filtering and automating. In addition, a project called SCATPA was developed in order to calculate the performance. In the study, the software tools aimed at testing the same weakness group (Common Weakness Enumeration, CWE) were compared with each other and the differences of the related tools; advantages - disadvantages have been demonstrated. As the thesis study is a first in its field, it is aimed to be a guide to the individuals and organizations who want to work in this field.

Benzer Tezler

  1. Standalone static binary executable rewriting for software protection

    Yazılım koruma için bağımsız statik ikili çalıstırılabilir dosya tekrar yazımı

    ÖZGÜR SAYGIN BİCAN

    Yüksek Lisans

    İngilizce

    İngilizce

    2015

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

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ONUR TOLGA ŞEHİTOĞLU

  2. Kural tabanlı optimizasyon ile ağ saldırılarının tespiti

    Detection of network attacks with rule-based optimization

    OĞUZ ÖZGER

    Yüksek Lisans

    Türkçe

    Türkçe

    2023

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolSakarya Uygulamalı Bilimler Üniversitesi

    Elektrik-Elektronik Mühendisliği Ana Bilim Dalı

    DOÇ. DR. HALİT ÖZTEKİN

  3. Obfuscated JavaScript detection using syntactically and lexically enhanced machine learning

    Perdelenmiş JavaScript kodlarının sözdizimsel ve anlamsal yönden iyileştirilmiş makina öğrenmesi ile tespiti

    EREN KILIÇ

    Yüksek Lisans

    İngilizce

    İngilizce

    2023

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

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ MEHMET TAHİR SANDIKKAYA

  4. Instruction set extension of RISC-V core with plantard modular reduction for number theoretic transform used in post-quantum cryptography

    RISC-V çekirdeğinin talimat setinin post-kuantum kriptografide kullanılan sayısal teorik dönüşüm için plantard modüler indirgeme metodu ile genişletilmesi

    ALİ ÜSTÜN

    Yüksek Lisans

    İngilizce

    İngilizce

    2024

    Elektrik ve Elektronik Mühendisliğiİstanbul Teknik Üniversitesi

    Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı

    PROF. DR. SIDDIKA BERNA ÖRS YALÇIN

  5. Yazılım güvenliğinde derin öğrenme tabanlı kaynak kod analizi ve yorum önerimi

    Deep learning based source code analysis and review recommendations in software security

    YUSUF KARTAL

    Doktora

    Türkçe

    Türkçe

    2023

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolEskişehir Osmangazi Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. KEMAL ÖZKAN