Geri Dön

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

Development of software security testing and evaluation

  1. Tez No: 442791
  2. Yazar: GÜNCEL SARIMAN
  3. Danışmanlar: DOÇ. DR. ECİR UĞUR KÜÇÜKSİLLE
  4. Tez Türü: Doktora
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2015
  8. Dil: Türkçe
  9. Üniversite: Süleyman Demirel Ü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ı: 157

Özet

İnternetin günlük hayatın birçok alanında kullanılmasıyla birlikte, web ve mobil uygulamaların sayısı gün geçtikçe artmaktadır. Kişisel bilgilerin paylaşıldığı uygulamalardaki güvenlik ve kullanılabilirlik ise, kullanıcılar için dikkat edilmesi gereken bir faktör olmaya başlamıştır. İnternet ortamındaki güvenlik zafiyetlerinin birçoğunun geliştirilen yazılımlarda tespit edilmesi, güvenli yazılım geliştirmenin önemini giderek arttırmaktadır. Uygulamalardaki güvenlik açıklarının henüz ürün geliştirme aşamasında tespit edilmesi ise, yazılım firmaları ve kullanıcılar için ortaya çıkabilecek zararı büyük ölçüde azaltmaktadır. Web uygulamalarındaki güvenlik açıklarının tespit edilmesi aşamasında statik ve dinamik testler kullanılmaktadır. Dinamik testler daha çok uygulamaya sızarak gerçekleştirilmektedir. Statik testler ise yazılımın byte veya derlenmemiş kodları üzerinde yapılmaktadır. Bu çalışmada, web uygulamalarındaki güvenlik zafiyetleri tespit edilerek programcılara, güvenlik açığı barındıran kod satırları hakkında bilgi verilmesi amaçlanmıştır. Çalışma kapsamında asp.net, php ve java dillerinde geliştirilen web uygulamalarındaki zafiyetleri tespit edebilmesi amacıyla, test ve değerlendirme yazılımı geliştirilmiştir. Yazılım, derlenmemiş kodları statik kod analiz yöntemiyle girdi denetimi, metrik analizi ve stil denetimlerine göre değerlendirmektedir. Geliştirilen yazılımın geçerliliğini test etmek için asp.net, php ve java da açık kaynak olarak sunulan ve aktif olarak kullanılan 5'er adet web projesi değerlendirilmiştir. Girdi denetimiyle uygulamalardaki satırlar zafiyetlerin türüne göre taranarak kullanıcılara detaylı rapor verilmiştir. Sql, Header, XPath Enjeksiyonu, XSS, CSRF, File Inclusion, Config tiplerinde tarama yapan yazılım elde ettiği sonuçları kullanıcıya grafiksel rapor ve detay olarak vermektedir. Yazılım, metrik analizi ile projelerin kaynak kod kalitesi hakkında bilgi vererek, bakım kolaylığı ve çevrimsel karmaşıklığı hakkında istatiksel veriler sunmuştur. Geliştirilen yazılımın son bölümünde, stil denetimi yapan modül, kodlama standartlarına göre projeleri değerlendirerek standartlara uygun olmayan kullanımları raporlamıştır. Çalışmanın ikinci bölümünde yazılım güvenliği bilincini yaymak, güvenlik prensibini programcılara kazandırmak ve geliştiricilerin kodlar üzerinde güvenlik sınıflandırması yapmaları adına online güvenlik analiz yazılımı geliştirilmiştir. Geliştirilen yazılım derlenmemiş kodlar üzerinde metrik analiz yaparak çevrimsel karmaşıklık, bakım endexi ve ağırlıklı metot sayısı metriklerinin eşik değerlerine göre güvenlik derecelendirilmesini Bayes sınıflayıcı ile yapmıştır. Asp.net ile geliştirilen 5 test projesi metrikler kullanılarak sınıflandırılmıştır. Çalışma kapsamında asp.net, php ve java da geliştirilen projeler üzerinde yapılan analiz sonucunda Xss ve Sql enjeksiyonunun en çok karşılaşılan zafiyetler olduğu tespit edilmiştir. Online güvenlik analiz yazılımında test edilen projelerin sınıflandırma başarım oranının ise %85 ile %100 arasında değişmekte olduğu görülmüştür. Yazılım güvenliği alanında aynı anda asp.net, java ve php dillerinde geliştirilen projeleri test edebilen analiz aracı ve metriklere göre güvenlik sınıflandırması yapan web uygulaması, yazılım güvenliği alanında ticari yazılımlara göre alana detaylı ve farklı bir yaklaşım sunmuştur. Ulusal yazılım güvenliği alanında statik kod analiz yazılımlarının bulunmaması ve ulusal siber güvenlik alanında yapılan çalışmaların yetersizliği göz önüne alındığında çalışmanın alana katkıda bulunacağı düşünülmektedir.

Özet (Çeviri)

With the increasing amount of internet use in our daily life, web and mobile applications have increased in numbers, too. Security and usability of these applications where users share their personal information have become to be a factor about which users should be careful. Identifying most of security vulnerabilities on the internet in developed software has increased importance of developing a secure software more and more. Detecting security vulnerabilities in applications during development can considerably decrease any impairment which may occur for software firms and users. Static and dynamic tests are used for finding out security vulnerabilities in web applications. Dynamic tests are applied to applications mostly as leakage tests. Static tests are applied by using byte or debugged code. In this research, it is aimed to give information to programmers on code lines which include security leakage by detecting security vulnerabilities in web applications. Under the scope of this work, a testing and evaluation software was developed in order to find out the leakage in the web applications which were developed in Asp.net and Php and Java languages. The software evaluated debugged codes according to input validation, metric analysis and style checking with static code analysis method. In order to test validity of the developed software, five web projects for each ,which were presented as open source and used actively, were evaluated. With input validation, a detailed report was submitted by scanning the lines in the applications according to vulnerability types. The software scanned SQLI, XSS, CSRF, File Inclusion, Config vulnerabilities which are provided the results obtained with graphical reports and details. By giving information about resource code quality of the projects with metric analysis, the software presented statistical data about maintainability index and cyclomatic complexity. In the last section, the software, which checked style, reported uses which were not suitable by evaluating the projects according to coding standards. In the second section of this work, online security analysis software was developed in order to give information programmers about software security and help developers categorize security on codes. Bayes classifier was used for ranking security according to the thresholds of cyclomatic complexity, maintainability index and weighted method per class by applying metric analysis on debugged codes. Five benchmark projects which were developed in Asp.net were classified by using metrics. In this research, XSS and Sql injection were identified as mostly encountered vulnerabilities according to the results of the analysis on the projects which were developed in Asp.net, Php and Java. The success rate of classification of the projects which were tested in this online security analysis software was between %85 and %100. The analysis tool, which could test software security level in 3 languages, and the web application, which classified security according to metrics, presented a more detailed and different approach compared to commercial software. Taking into consideration the lack of static code analysis software in the field of software security in our country and very few number of researches on the field of national cyber security, it is believed that this study will contribute to the field.

Benzer Tezler

  1. Şerit izleme ve araç-araç haberleşmeden faydalanarak trafik kaza önleme sistemlerinin geliştirilmesi

    Developing crash prevention systems using lane tracking and vehicle to vehicle communication

    ÖMER MEŞEDİLCİ

    Yüksek Lisans

    Türkçe

    Türkçe

    2019

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Gelişim Üniversitesi

    Mekatronik Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ ÜMİT ALKAN

  2. Hava aracı otopilot destek sistemi olarak bir pilot sağlık takip sistemi tasarımı, prototiplenmesi ve entegrasyonu

    Design, prototyping and integration of a pilot health monitoring system as a support system for aircraft autopilot

    EFKAN YILMAZ

    Yüksek Lisans

    Türkçe

    Türkçe

    2020

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

    Mekatronik Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ RAMAZAN YENİÇERİ

  3. Teknoloji temelli programla hemşirelik bakımı vermenin anne öz yeterliliği ve bebek sağlığına etkileri

    The effects of giving nursing care with technology based program on mother self-efficacy and infant health

    ÇİĞDEM SARI

    Doktora

    Türkçe

    Türkçe

    2018

    HemşirelikGazi Üniversitesi

    Hemşirelik Ana Bilim Dalı

    DOÇ. DR. NAİME ALTAY

  4. Prediction of COVID 19 disease using chest X-ray images based on deep learning

    Derin öğrenmeye dayalı göğüs röntgen görüntüleri kullanarak COVID 19 hastalığının tahmini

    ISMAEL ABDULLAH MOHAMMED AL-RAWE

    Yüksek Lisans

    İngilizce

    İngilizce

    2024

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

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. ADEM TEKEREK

  5. Simulator-based evaluation of human response in emergencies

    Acil durumlarda ınsan faktörünün simülatör ortamında değerlendirilmesi

    ESMA UFLAZ

    Doktora

    İngilizce

    İngilizce

    2023

    Denizcilikİstanbul Teknik Üniversitesi

    Deniz Ulaştırma Mühendisliği Ana Bilim Dalı

    Prof. Dr. ÖZCAN ARSLAN