GERİ DÖN

Ders Öğretim Planı


Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS
SGM207 GÜVENLİ YAZILIM GELİŞTİRME Ders 2 3 5,00

Önlisans


İngilizce


Bu dersin amacı öğrencilerin yazılım geliştirme sürecinin her aşamasında güvenlik risklerini tanımlamasını, analiz etmesini ve önlemesini öğretmektir.


Öğr. Gör. Onat Tanrıöver


1 Güvenli yazılım geliştirmenin önemini kavrayabilme. <br /> PROGRAM ÇIKTILARINA KATKILARI <br /> 2. Siber güvenlik problemlerini tanımlama, formüle etme ve çözme becerisi edinme; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama. <br /> 4. Siber güvenlikte karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli yazılım ve donanımı kullanarak veri toplama, sonuçları analiz etme, yorumlama ve de önlem alma. <br /> DEĞERLENDİRME TİPİ <br /> • Sınav, Kısa Sınav ve Ödev
2 Yazılım güvenliğinin temel kavramlarını ve tekniklerini anlayabilme <br /> PROGRAM ÇIKTILARINA KATKILARI <br /> 2. Siber güvenlik problemlerini tanımlama, formüle etme ve çözme becerisi edinme; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama. <br /> 4. Siber güvenlikte karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli yazılım ve donanımı kullanarak veri toplama, sonuçları analiz etme, yorumlama ve de önlem alma. <br /> DEĞERLENDİRME TİPİ <br /> • Sınav, Kısa Sınav ve Ödev
3 Yazılım geliştirme sürecinde güvenlik risklerini tanımlayabilme ve analiz edebilme <br /> PROGRAM ÇIKTILARINA KATKILARI <br /> 2. Siber güvenlik problemlerini tanımlama, formüle etme ve çözme becerisi edinme; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama. <br /> 3. Siber güvenlik sürecini gerçekçi kısıtlar ve koşullar altında analiz etme ve yürütme. <br /> 4. Siber güvenlikte karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli yazılım ve donanımı kullanarak veri toplama, sonuçları analiz etme, yorumlama ve de önlem alma. <br /> DEĞERLENDİRME TİPİ <br /> • Sınav, Kısa Sınav ve Ödev
4 Yazılım güvenliğini artırmaya yönelik önlemler alabilme. <br /> PROGRAM ÇIKTILARINA KATKILARI <br /> 2. Siber güvenlik problemlerini tanımlama, formüle etme ve çözme becerisi edinme; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama. <br /> 4. Siber güvenlikte karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli yazılım ve donanımı kullanarak veri toplama, sonuçları analiz etme, yorumlama ve de önlem alma. <br /> DEĞERLENDİRME TİPİ <br /> • Sınav, Kısa Sınav ve Ödev

Birinci Öğretim


SGM 102 Temel Programlama II


[Yok]



Hafta Konular (Teorik) Uygulama Öğretim Yöntem ve Teknikleri Ön Hazırlık
1 Güvenli Girdi Denetimi, Yazılım Güvenliği
2 Girdi Denetimi Stratejileri
3 Güvenli Kriptografi
4 Güvenli Kimlik Doğrulama
5 Güvenli Password Reset Stratejileri
6 Güvenli Oturum Yönetimi
7 Session Fixation ve Önlemi
8 Session Korsanlığı
9 Arasınav, Güvenli Yetkilendirme
10 Yetkilendirme Yöntemleri
11 Güvenli Dizayn, Hata Yönetimi ve Kayıt Tutma
12 Statik Güvenli Kod Analizi
13 Güvenli Web 2.0
14 DevSecOps kavramı
15 Final sınavı öncesi boş hafta
16 Final Sınavı

Kitap: Michael Howard, David LeBlanc, Writing Secure Code: Practical Strategies and Proven Techniques for Building Secure Applications in a Networked World, 2nd ed. Edition, Microsoft Press (2003) Önerilen kaynaklar: Mark G. Graff, Kenneth R. Van Wyk, Secure Coding: Principles and Practices, O'Reilly Media (2003) Gerardus Blokdyk, Software Security Vulnerability A Complete Guide, 5STARCooks (2020)



Yarıyıl (Yıl) İçi Etkinlikleri Adet Değer
Ara Sınav 1 42
Quiz 3 25
Ev Ödevi 4 33
Toplam 100
Yarıyıl (Yıl) Sonu Etkinlikleri Adet Değer
Final Sınavı 1 100
Toplam 100
Yarıyıl (Yıl) İçi Etkinlikleri 60
Yarıyıl (Yıl) Sonu Etkinlikleri 40

Yok


Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ara Sınav 1 2 2
Final Sınavı 1 2 2
Quiz 3 1 3
Derse Katılım 14 5 70
Bireysel Çalışma 14 3 42
Ara Sınav İçin Bireysel Çalışma 1 5 5
Final Sınavı içiin Bireysel Çalışma 1 10 10
Ev Ödevi 4 4 16
Toplam İş Yükü (saat) 150

PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10
ÖÇ 1 5 5
ÖÇ 2 4 4
ÖÇ 3 5 5 5
ÖÇ 4 5 5
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek