SEN2008 · Software Security

Yazılım Güvenliği

Ağ katmanları, TCP/IP, güvenlik temelleri, kriptografi ve güvenli yazılım geliştirme.

Kaynak kitap: Computer Networking: A Top Down Approach Featuring the Internet”, 2005, 3th edition, Jim Kurose, Keith Ross, Addison-Wesley. ""Network Security"", Second Edition, Kaufman, Perlman, and Speciner

  1. 1. hafta
    Course Outline
    • Ağlar ve güvenlik: büyük resimİnternet nedir, paket anahtarlama ile devre anahtarlama farkı ve dört gecikme türü (transmission, propagation, queuing, processing). Dersin geri kalanındaki her hesap bu formüllere dayanır.
  2. 2. hafta
    Introduction : Overview of computer networks, Networking Basics, Protocol Layering, Physical Layer
    • Protokol katmanları ve fiziksel katmanOSI ve TCP/IP katman modelleri, kapsülleme (encapsulation) ve ek yük hesabı, fiziksel katmanda bandwidth, bit rate, baud ile Nyquist ve Shannon limitleri.
  3. 3. hafta
    Data Link Layer Concepts (I) : error detection and correction, elementary protocols, sliding window protocols
  4. 4. hafta
    Data Link Layer Concepts (II) : Channel allocation problem, multiple Access, Ethernet
    • Kanal tahsisi ve çoklu erişim: ALOHA, CSMA, CSMA/CDBirçok düğüm tek bir yayın kanalını paylaşınca kim ne zaman konuşur? Statik tahsisin kusuru, pure ve slotted ALOHA verimliliği, CSMA/CD, minimum çerçeve boyu ve binary exponential backoff.
    • Ethernet, MAC adresleri, switch ve ARPEthernet çerçevesinin alanları, minimum ve maksimum boy, 48 bitlik MAC adresinin yapısı, switch'in öğrenme tablosu, ARP ile IP'den MAC'e geçiş ve bunlara karşı ARP spoofing, MAC flooding gibi saldırılar.
  5. 5. hafta
    Network Layer Concepts (I): , internetworking, Internet Protocol (IP, IPv6)
    • IPv4 adresleme, alt ağlar ve CIDRBir IP adresinden ağ adresini, broadcast'i, host aralığını ve host sayısını bit bit bulmak; alt ağa bölmek, VLSM ve en uzun önek eşleşmesi. Vizenin garanti hesap sorusu.
    • IPv4 başlığı, parçalama, NAT ve IPv6IPv4 datagram başlığının alanları, MTU yüzünden parçalama ve offset hesabı, NAT tablosunun nasıl çalıştığı ve IPv6'nın IPv4'ten farkları. Parçalama hesabı vizede klasik zor soru.
  6. 6. hafta
    Network Layer Concepts (II): Routing Protocols OSPF, BGP, multicasting
    • Yönlendirme algoritmaları: Dijkstra ve Bellman-FordLink-state (Dijkstra) tablosunu adım adım doldurmak, distance-vector (Bellman-Ford) vektörlerini tur tur güncellemek, count-to-infinity ve poisoned reverse. Vizede tablo doldurma sorusu buradan gelir.
    • OSPF, BGP ve multicastAS içinde OSPF (maliyet hesabı, alanlar), AS'ler arasında BGP (eBGP/iBGP, AS-PATH, NEXT-HOP, rota seçimi, hot potato) ve multicast (IGMP, ağaçlar, multicast MAC eşlemesi). Kavram sorularının ve küçük hesapların sayfası.
  7. 7. hafta
    Transport Layer Concepts (I): Services, elements of a transport protocol, TCP, UDP
  8. 8. hafta
    Transport Layer Concepts (II): Congestion Control, Flow Control
  9. 9. hafta
    Midterm
    • Vize tekrar: ağ temellerinden TCP'ye2-8. haftaların bütün formülleri tek tabloda, sınavda hangi sorunun hangi kalıba oturduğu ve karışık 12 soruluk deneme: Shannon, CRC, kayan pencere, alt ağ, parçalama, Dijkstra, Bellman-Ford, el sıkışma, cwnd, RTT tahmini.
  10. 10. hafta
    Security Fundamentals (I): Security Concepts, Vulnerabilities, Threats and Attacks
    • Güvenlik temelleri: CIA, tehditler ve saldırılarVarlık, zafiyet, tehdit, saldırı ve risk kavramları; CIA üçlüsü; DoS/DDoS, MITM, spoofing, phishing ve zararlı yazılım türleri. Final sınavının tanım ve risk hesabı soruları buradan gelir.
  11. 11. hafta
    Security Fundamentals (II): Software Security, Information Assurance, Sources of Software Nontechnical security issues, Example Security Technologies
  12. 12. hafta
    Computer and Network Security: Security Techniques (Encryption, digital signatures, message authentication, and hash functions, Use of cryptography for network security, Protection and defense mechanisms and tools
  13. 13. hafta
    Software Security (I): Developing Secure Software, Secure design principles and patterns, Building security into the software development life cycle, Security in requirements
  14. 14. hafta
    Software Security (II): Secure software construction techniques, Security-related verification and validation
    • Güvenli kodlama: girdi doğrulama, SQL injection, XSS, buffer overflow, CSRFEn sık görülen beş kodlama açığını açık kod ve düzeltilmiş kod yan yana görerek öğrenirsin. Sınavda 'bu kodda ne yanlış, nasıl düzeltilir' ve 'bu girdiyle sorgu neye dönüşür' soruları buradan gelir.
    • Güvenlik testi ve OWASP Top 10Statik analiz, dinamik tarama, fuzzing, penetrasyon testi ve kod incelemenin neyi ne zaman bulduğunu, ayrıca OWASP Top 10 (2021) listesini öğrenirsin. Sınavda 'bu senaryo hangi kategori' ve araç metrikleri (precision, recall) sorulur.