Yazılım geliştirme modellerinin güvenlik açısından analizi ve bir güvenli yazılım geliştirme modeli önerisi
Analysis of software development models in terms of security and a model proposal for secure software development
Yazar: GÜLER KOÇ
Danışman: YRD. DOÇ. DR. MURAT AYDOS
Hacettepe Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2017
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Yazılım geliştirme süreçleri, yazılımların planlanan zamanda ve planlanan maliyetle bitirilmesi için aşamaların hangi düzende uygulanacağına odaklanmaktadır. Ancak piyasaya sürülen yazılımlardaki zafiyetlerin yaygınlığı ve çokluğu, zaman ve maliyet kriterlerini sağlamakla beraber büyük ölçüde güvenliğe odaklanan daha sıkı bir yazılım geliştirme sürecine gereksinim olduğunu göstermektedir. Bununla beraber, güvenlik odaklı uygulamaların eklendiği geleneksel yazılım geliştirme süreçlerinin güvenliği sağlamada oldukça etkili olduğunu ve çevik geliştirme süreçlerinin geleneksel yazılım geliştirme süreçlerine göre zaman ve maliyet kriterlerini sağlama konusunda daha başarılı olduğunu gösteren bazı çalışmalar mevcuttur. Yapılan bu tespitten ve yukarıda bahsedilen ihtiyaçtan yola çıkarak bu çalışmada, çevik yöntemlerle güvenli yazılım geliştirmek için güvenlik uygulamalarının Scrum çerçevesi içinde uygulanmasını amaçlayan bir güvenli yazılım geliştirme modeli (Trustworthy Scrum) önerisi yapılmıştır.
Yazılım güvenliği ile ilgili literatür çalışmalarının ve güvenli yazılım geliştirme modellerinin incelenmesi sonucu, güvenliği hedefleyen uygulamalar belirlenmiştir. Güvenlik uygulamaları Scrum çerçevesine eklenirken, geleneksel metotlardaki güvenlik yaklaşımı ile çevik yazılım geliştirme ilkelerinin çakıştığı kısımlar belirlenmeye çalışılmıştır. Hem güvenlik ilkeleri hem de çevik yöntem ilkeleri göz önünde bulundurularak, bu güvenlik uygulamalarının Scrum çerçevesi içinde uygulanmasını amaçlayan bir güvenli yazılım geliştirme modeli önerisi yapılmıştır. Önerilen modelin uygulanabilirliğinin test edilmesi amacıyla sahada çalışan yazılım geliştiricilerin görüşlerine başvurulmuş ve uygulanabilirliği konusunda olumlu sonuçlar ortaya çıkmıştır. Bu şekilde günümüz yazılımlarında oldukça ihtiyaç duyulan güvenlik gereksiniminin Scrum ile nasıl sağlanacağına dair bir çalışma olarak literatüre katkı sağlanmıştır.

Abstract:
Software development process models focus on ordering and combination of phases to develop the intended software product within time and cost estimates. However, commonness of software vulnerabilities in the fielded systems shows that there is a need for more stringent software development process that focuses on improved security demands. Meanwhile, there are some reports that demonstrate the efficiency of existing security enhanced conventional processes and success of agile projects over conventional waterfall projects. Based on this finding and the demand for secure software, we propose a security enhanced Scrum model (Trustworthy Scrum) by taking advantages of both security activities and Scrum framework which has fast adaptation and iterative cycle. While enhancing Scrum with security activities, we try to retain agile and security disciplines by considering that conventional security approach conflicts with agile methodologies. It is shown through statistical test that the proposed model increases the applicability of security activities with agile methods.