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. haftaCourse 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. haftaIntroduction : 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. haftaData Link Layer Concepts (I) : error detection and correction, elementary protocols, sliding window protocols
- Hata tespiti ve düzeltme: parity, checksum, CRC, HammingLink katmanının bit hatalarını nasıl yakaladığı: tek ve iki boyutlu parity, Internet checksum, CRC polinom bölmesi ve Hamming koduyla tek bit düzeltme. Sınavda hepsi elle hesap sorusu olarak gelir.
- Elementary ve sliding window protokolleri: stop-and-wait, Go-Back-N, Selective RepeatHatalı bir kanalda güvenilir iletim: ACK, timeout, sıra numarası, stop-and-wait'in neden yavaş olduğu, Go-Back-N ve Selective Repeat'in pencere kuralları ve verimlilik formülü.
- 4. haftaData 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. haftaNetwork 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. haftaNetwork 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. haftaTransport Layer Concepts (I): Services, elements of a transport protocol, TCP, UDP
- Taşıma katmanı I: portlar, UDP, TCP segmenti ve el sıkışmaTaşıma katmanının işi, port ile çoklama, UDP checksum hesabı, TCP başlığı, seq/ack numaraları ve üçlü el sıkışma. Vizede seq/ack ve checksum soruları buradan çıkar.
- 8. haftaTransport Layer Concepts (II): Congestion Control, Flow Control
- Taşıma katmanı II: akış kontrolü, tıkanıklık kontrolü ve RTT tahminirwnd ile akış kontrolü, slow start ve AIMD ile cwnd izleri (Tahoe ve Reno), ortalama TCP hızı ve EWMA ile timeout hesabı. Vizede tur tur cwnd tablosu ve timeout sorusu kesin gelir.
- 9. haftaMidterm
- 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. haftaSecurity 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. haftaSecurity Fundamentals (II): Software Security, Information Assurance, Sources of Software Nontechnical security issues, Example Security Technologies
- Yazılım güvenliği, bilgi güvencesi ve güvenlik teknolojileriYazılım güvenliği ile bilgi güvencesinin farkı, sosyal mühendislik ve politika gibi teknik olmayan sorunlar, firewall kural tablosu okuma, IDS/IPS ve taban oranı hesabı, VPN. Kural tablosu ve yanlış alarm soruları sınavın favorisi.
- 12. haftaComputer 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
- Simetrik şifreleme: Caesar'dan AES'e, çalışma modlarıŞifrelemenin temel dili, Caesar ve Vigenère ile elle şifreleme, XOR ve tek kullanımlık şifre, DES/AES fikri, ECB/CBC/CTR modları ve anahtar dağıtımı sorunu. Elle şifreleme ve mod soruları burada.
- Açık anahtar, özet, MAC, imza, PKI ve TLSRSA ve Diffie-Hellman küçük sayılarla elle, SHA-256 ve doğum günü sınırı, MAC/HMAC, dijital imza, sertifika zinciri ve TLS el sıkışması. Sınavın RSA ve DH hesap soruları bu sayfada.
- 13. haftaSoftware Security (I): Developing Secure Software, Secure design principles and patterns, Building security into the software development life cycle, Security in requirements
- Güvenli yazılım geliştirme: SDLC, tasarım ilkeleri ve tehdit modellemeGüvenliği koda sonradan eklemek yerine yaşam döngüsünün her aşamasına koymayı, Saltzer-Schroeder tasarım ilkelerini, STRIDE ile tehdit modellemeyi ve güvenlik gereksinimlerini öğrenirsin. Sınavda senaryo verip 'hangi ilke ihlal edildi' diye sorulur.
- 14. haftaSoftware 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.