Ders Adı | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
Güvenli Yazılım Geliştirme | SG 508 | 0 | 3 + 0 | 3 | 6 |
Ön Koşul Dersleri | Nesne Yönelimli Programlama, Web Programlama |
Önerilen Seçmeli Dersler | |
Dersin Dili | Türkçe |
Dersin Seviyesi | YUKSEK_LISANS |
Dersin Türü | Seçmeli |
Dersin Koordinatörü | Dr.Öğr.Üyesi KAYHAN AYAR |
Dersi Verenler | Dr.Öğr.Üyesi KAYHAN AYAR, |
Dersin Yardımcıları | |
Dersin Kategorisi | Diğer |
Dersin Amacı | Son yıllarda yazılımlardan kaynaklı güvenlik açıklıklarının artması ve bunun sonucu olarak beklenmedik kayıpların ortaya çıkması, yazılım geliştirilme süreçlerinin her aşamasında güvenlik konusunun göz önünde bulundurulması zorunluluğunu beraberinde getirmiştir. Bu ders kapsamında, güvenli yazılım geliştirme yaşam döngüsü ve web tabanlı uygulamaların güvenliği konuları irdelenecektir. Web uygulamalarının maruz kaldıkları yaygın güvenlik tehditleri incelenerek, alınması gereken önlemler güvenli yazılım geliştirme yaşam döngüsü kapsamında ele alınacaktır. |
Dersin İçeriği | Yazılımların Güvenliği, Yazılım Geliştirme Yaşam Döngüsü, Web Tabanlı Uygulama Mimarisi (Senkron İletişim, Asenkron İletişim, Oturum Yönetimi, Veri Tabanı Bağlantıları, Erişim Denetimi...), Nesne Yönelimli Paradigma, SOLID İlkeleri, Web Servisleri, Güvenli Yazılım Geliştirme Yaşam Döngüsü ( Tehdit Modelleme ve Risk Analizi, Statik Kod Analizi, Dinamik Kod Analizi), Web Tabanlı Uygulamaların Güvenliği; Güvenlik Denetimleri, OWASP TOP 10 Listesi , Web Tabanlı Uygulamaların Güvenli Hale Getirilmesi, Proje Çalışması |
# | Ders Öğrenme Çıktıları | Öğretim Yöntemleri | Ölçme Yöntemleri |
---|---|---|---|
1 | Güvenli yazılım geliştirmenin temellerini anlar. | Anlatım, Soru-Cevap, Beyin Fırtınası, | |
2 | Web tabanlı yazılımlara karşı yapılan temel saldırıları bilir | Grupla Çalışma, Beyin Fırtınası, Soru-Cevap, Rol Oynama, Anlatım, | |
3 | Web uygulamalarına yapılan saldırılara karşı alınması gereken önlemleri uygulayabilir | Grupla Çalışma, Beyin Fırtınası, Soru-Cevap, Rol Oynama, Anlatım, | |
4 | Tehdit modellemesi yapabilir | Beyin Fırtınası, Soru-Cevap, Anlatım, | |
5 | Web uygulamalarının statik ve dinamik kod analizini yapabilir | Grupla Çalışma, Anlatım, |
Hafta | Ders Konuları | Ön Hazırlık |
---|---|---|
1 | Ders Tanıtımı, Yazılımların Güvenliği | |
2 | Güvenli Yazılım Geliştirme Yaşam Döngüsü, Programlama Paradigmaları | |
3 | Web Tabanlı Uygulama Mimarisi (Senkron İletişim, Asenkron İletişim, Oturum Yönetimi, Veri Tabanı Bağlantılarıi) | |
4 | Güvenli Yazılım Geliştirme Yaşam Döngüsü, Oturum Yönetimi, Rol Tabanlı Erişim Denetimi, Web Servisler | |
5 | Güvenli Yazılım Geliştirme Yaşam Döngüsü: Tehdit Modelleme ve Risk Analizi | |
6 | Web Tabanlı Uygulamaların Güvenliği; Güvenlik Denetimleri, OWASP TOP 10 Listesi | |
7 | Statik Kod Analizi, Dinamik Kod Analizi | |
8 | Web Tabanlı Uygulamaların Güvenliği; Güvenlik Denetimleri, OWASP TOP 10 Listesi | |
9 | Web Tabanlı Uygulamaların Güvenliği; Güvenlik Denetimleri, OWASP TOP 10 Listesi | |
10 | Web Tabanlı Uygulamaların Güvenliği; Güvenlik Denetimleri, OWASP TOP 10 Listesi, NodeGoat | |
11 | Web Tabanlı Uygulamaların Güvenliği; Güvenlik Denetimleri, OWASP TOP 10 Listesi, NodeGoat | |
12 | Web Tabanlı Uygulamaların Güvenliği; OWASP Güvenlik Doğrulama Standardı | |
13 | Proje Sınavları | |
14 | Proje Sınavları |
Kaynaklar | |
---|---|
Ders Notu | Ders Notları
https://github.com/celalceken/SecureSoftwareDevelopment |
Ders Kaynakları |
1. OWASP, https://www.owasp.org/index.php/Main_Page |
Sıra | Program Çıktıları | Katkı Düzeyi | |||||
---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | |||
1 | Yaşadığı toplumun bilgi toplumu olmasına katkıda bulunmak, toplumsal, bilimsel, kültürel ve etik sorunlara çözüm sunmak amaçlarıyla alanındaki bilimsel, teknolojik, sosyal veya kültürel ilerlemeleri ulusal ve uluslararası bilimsel ortamlarda (toplantılarda) tanıtır. | ||||||
2 | Alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, alanında güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgiye sahip olup ve elde ettiği bilgiyi değerlendirir, yorumlar ve uygular. | ||||||
3 | Alanı ile ilgili problemleri tanımlar ve formüle eder, yeni ve/veya özgün fikir ve yöntemler geliştirir; karmaşık sistem veya süreçleri tasarlar ve tasarımlarında yenilikçi/alternatif çözümler ile gelişmekte olan yenilikçi yöntemleri kullanır. | ||||||
4 | Kuramsal, deneysel ve modelleme esaslı araştırmaları tasarlar ve uygular, belirsiz, sınırlı ya da eksik verileri bilimsel yöntemlerle tamamlar; verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir. | ||||||
5 | Alanındaki uygulamaların sosyal, çevresel, sağlık, güvenlik, hukuki boyutlarını ve iş hayatı uygulamalarını bilir ve bunların getirdiği kısıtların farkındadır. Disiplin içi ve çok disiplinli takımlarda etkin bir biçimde birlikte ve ya bağımsız çalışabilir ve sorumluluk alır. |
# | Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı | PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 |
---|---|---|---|---|---|---|
1 | Güvenli yazılım geliştirmenin temellerini anlar. | |||||
2 | Web tabanlı yazılımlara karşı yapılan temel saldırıları bilir | |||||
3 | Web uygulamalarına yapılan saldırılara karşı alınması gereken önlemleri uygulayabilir | |||||
4 | Tehdit modellemesi yapabilir | |||||
5 | Web uygulamalarının statik ve dinamik kod analizini yapabilir |
Değerlendirme Sistemi | |
---|---|
Yarıyıl Çalışmaları | Katkı Oranı |
1. Proje / Tasarım | 100 |
Toplam | 100 |
1. Final | 50 |
1. Yıl İçinin Başarıya | 50 |
Toplam | 100 |
AKTS - İş Yükü Etkinlik | Sayı | Süre (Saat) | Toplam İş Yükü (Saat) |
---|---|---|---|
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) | 16 | 3 | 48 |
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) | 16 | 1 | 16 |
Ara Sınav | 1 | 10 | 10 |
Ödev | 1 | 10 | 10 |
Proje / Tasarım | 1 | 20 | 20 |
Final | 1 | 35 | 35 |
Toplam İş Yükü | 139 | ||
Toplam İş Yükü / 25 (Saat) | 5,56 | ||
Dersin AKTS Kredisi | 6 |