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 | Prof.Dr. CELAL ÇEKEN, |
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, Tartışma, | Sınav, Ödev, |
2 | Web tabanlı yazılımlara karşı yapılan temel saldırıları bilir | Anlatım, Soru-Cevap, Tartışma, Gösterip Yaptırma, Örnek Olay, | Sınav, Ödev, Proje / Tasarım, |
3 | Web uygulamalarına yapılan saldırılara karşı alınması gereken önlemleri uygulayabilir | Anlatım, Soru-Cevap, Tartışma, Gösterip Yaptırma, Örnek Olay, | Sınav, Ödev, Proje / Tasarım, |
4 | Tehdit modellemesi yapabilir | Anlatım, Soru-Cevap, Tartışma, | Sınav, Ödev, |
5 | Web uygulamalarının statik ve dinamik kod analizini yapabilir |
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 | Mühendislik alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşabilme, bilgiyi değerlendirme, yorumlama ve uygulama becerisi | X | |||||
2 | Sınırlı ya da eksik verileri kullanarak bilimsel yöntemlerle bilgiyi tamamlayabilme ve uygulama becerisi; değişik disiplinlere ait bilgileri bütünleştirebilme becerisi | X | |||||
3 | Mühendislik problemlerini kurgulayabilme, çözmek için yöntem geliştirme ve çözümlerde yenilikçi yöntemler uygulama becerisi | X | |||||
4 | Yeni ve orijinal fikir ve yöntemler geliştirme becerisi; sistem, parça veya süreç tasarımlarında yenilikçi çözümler geliştirebilme becerisi | X | |||||
5 | Mühendislikte uygulanan modern teknik ve yöntemler ile bunların sınırları hakkında kapsamlı bilgi | X | |||||
6 | Analitik, modelleme ve deneysel esaslı araştırmaları tasarlama ve uygulama becerisi; bu süreçte karşılaşılan karmaşık durumları analiz etme ve yorumlama becerisi | X | |||||
7 | Gereksinim duyulan bilgi ve verileri tanımlama, bunlara ulaşma ve değerlendirmede ileri düzeyde beceri | X | |||||
8 | Çok disiplinli takımlarda liderlik yapma, karmaşık durumlarda çözüm yaklaşımları geliştirebilme ve sorumluluk alma becerisi | ||||||
9 | Çalışmalarının süreç ve sonuçlarını, o alandaki veya dışındaki ulusal ve uluslar arası ortamlarda sistematik ve açık bir şekilde yazılı ya da sözlü olarak aktarabilme becerisi | X | |||||
10 | Verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetme yeterliliği | X | |||||
11 | Mesleğinin yeni ve gelişmekte olan uygulamaları hakkında farkındalık; gerektiğinde bunları inceleme ve öğrenebilme becerisi | X | |||||
12 | Mühendislik uygulamalarının sosyal ve çevresel boyutlarını anlama ve sosyal çevreye uyum becerisi | X |
# | Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı | PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | PÇ 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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. Yıl İçinin Başarıya | 75 |
1. Final | 25 |
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 | ||
dersAKTSKredisi | 6 |