JAVA DEFENSIVE TECHNIQUES EĞİTİMİ

Hatalı ve kötü niyetli girdiye karşı dayanıklı Java yazın

Girdi doğrulama, defensive copy, değişmez nesneler, null güvenliği, güvenli serileştirme, SQL ve komut enjeksiyonu, kaynak yönetimi ve SEI CERT Java kuralları.

Java Savunmacı Programlama Teknikleri eğitimi: Girdi doğrulama, defensive copy, değişmez nesneler, null güvenliği, güvenli serileştirme, SQL ve komut enjeksiyonu, kaynak yönetimi ve SEI CERT Java kuralları.

2 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Savunmacı Java kodlama

Eğitim, Java'da savunmacı programlamayı ele alır: ön koşul ve son koşul doğrulama, Objects.requireNonNull, defensive copy ve değişmez sınıf tasarımı, kapsülleme ve sızan referanslar, Optional kullanımı, istisna güvenliği ve try-with-resources, güvenli serileştirme ve ObjectInputFilter, SQL ve komut enjeksiyonu, yol gezinme, düzenli ifade DoS, entegre aşım (integer overflow), rastgele sayı ve gizli veri yönetimi, SEI CERT ve OWASP kuralları, SpotBugs ve SonarQube ile statik analiz.

Süre ve Format

2 Gün. Her gün dört modül; Girdi Doğrulama ve Durum Koruma; Güvenli Kodlama ve Doğrulama ekseninde ilerleyen uygulamalı program.

Seviye

İleri Seviye — Girdi doğrulama, güvenli kodlama, immutability, defensive copy, istisna güvenliği ve OWASP/SEI CERT ilkeleri

Öğrenme Metodu

Her ilke önce savunmasız bir kod örneğiyle sömürülür, sonra düzeltilir; statik analiz araçlarıyla bulgular doğrulanır.

Neden Bu Eğitim?

🛡️Güvenli kod

Saldırgana ve hataya karşı dayanıklı kod yazarsınız.

🧊Değişmezlik

Defensive copy ve immutability ile durum sızıntısını önlersiniz.

🔎Statik analiz

SpotBugs ve SonarQube ile açıkları otomatik bulursunuz.

Anahtar Konular

java savunmacı programlamajava güvenli kodlamadefensive copysei cert javajava input validationjava deserializationowasp javaspotbugsimmutable java
“Savunmacı kod, her şeyin ters gidebileceğini bilen ama paniklemeyen koddur.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java Bilgisi

Orta-ileri Java, koleksiyonlar ve OOP.

2
Güvenlik farkındalığı

Enjeksiyon ve OWASP Top 10 hakkında temel bilgi.

3
Araçlar

JDK 21, Maven ve IntelliJ IDEA.

4
Test

JUnit ile test yazma deneyimi.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı girdiyi doğrular, nesne durumunu korur ve değişmez sınıflar tasarlar.
Modül 1
Ön ve Son Koşullar
  • Ön koşul, son koşul ve değişmez (invariant)
  • Objects.requireNonNull ve IllegalArgumentException
  • assert'in yeri ve sınırı
  • Sözleşmeyle tasarım düşüncesi
  • Hızlı başarısızlık (fail-fast) ilkesi
  • Hata mesajında hassas veri sızdırmama
Modül 2
Girdi Doğrulama
  • Beyaz liste, sınır ve biçim denetimi
  • Normalizasyon ve doğrulama sırası
  • Unicode ve karakter kümesi tuzakları
  • Bean Validation (Jakarta Validation) örneği
  • Dosya yolu doğrulama ve path traversal
  • Düzenli ifade kullanımında ReDoS riski
Modül 3
Defensive Copy ve Immutability
  • Değişebilir alanın sızması: Date, dizi, koleksiyon
  • Constructor ve getter'da defensive copy
  • List.copyOf ve Collections.unmodifiableList farkı
  • final sınıf, final alan, setter yok
  • record ile değişmez veri
  • Değişmez nesnelerin thread-safety avantajı
Modül 4
Null ve Tip Güvenliği
  • NullPointerException kaynakları
  • Optional doğru kullanımı
  • @Nullable / @NonNull anotasyonları
  • Objects.equals, Objects.hash
  • Ham tip (raw type) ve unchecked uyarıları
  • sealed ve enum ile geçersiz durumları imkânsız kılma
Günün hedefiKatılımcı enjeksiyon, serileştirme ve kaynak yönetimi açıklarını kapatır, statik analizle doğrular.
Modül 1
Enjeksiyon Saldırıları
  • SQL enjeksiyonu ve PreparedStatement
  • OS komut enjeksiyonu ve ProcessBuilder argümanları
  • LDAP, XPath ve log enjeksiyonu
  • XXE: XML ayrıştırıcıyı güvenli yapılandırma
  • Format string ve çıktı kodlama (XSS)
  • Saldırı örneği ve düzeltme laboratuvarı
Modül 2
Serileştirme ve Güvenilmeyen Veri
  • Java serileştirme risk modeli
  • readObject doğrulaması ve ObjectInputFilter
  • Jackson polymorphic deserialization riski
  • transient alan ve gizli veri
  • Serileştirme yerine JSON/Protobuf tercihi
  • Gadget zinciri kavramı
Modül 3
Kaynak ve İstisna Güvenliği
  • try-with-resources ve sızıntı önleme
  • finally'de istisna maskeleme
  • İstisna güvenliği garantileri
  • Hassas bilgi içeren yığın izlerini kullanıcıya göstermeme
  • Zaman aşımı, boyut ve oran sınırları (DoS)
  • Entegre taşma: Math.addExact
Modül 4
Gizli Veri, Kripto ve Araçlar
  • Parolayı char[] ile tutma ve silme
  • SecureRandom, MessageDigest, PBKDF2/bcrypt
  • Gizli anahtarı koda gömmeme: ortam, vault
  • SEI CERT Java kuralları ve OWASP Cheat Sheet
  • SpotBugs + FindSecBugs ve SonarQube
  • Bağımlılık taraması: OWASP Dependency-Check

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Doğrulama

Girdi doğrulamasını beyaz liste ile yaparsınız.

✅
Fail-fast

Ön koşul kontrolleriyle hızlı başarısız olursunuz.

✅
Defensive copy

Durum sızıntısını defensive copy ile önlersiniz.

✅
Immutability

Değişmez sınıflar tasarlarsınız.

✅
Enjeksiyon

SQL ve komut enjeksiyonunu önlersiniz.

✅
Serileştirme

Güvensiz serileştirme risklerini azaltırsınız.

✅
Gizli veri

Parola ve anahtarları güvenli yönetirsiniz.

✅
Statik analiz

SpotBugs ve SonarQube ile açıkları bulursunuz.

Kimler İçin Uygundur?

  • Güvenilir ve güvenli Java kodu yazmak isteyen orta ve ileri düzey geliştiriciler
  • kod gözden geçirenler
  • güvenlik odaklı mühendisler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Güvenilir ve güvenli Java kodu yazmak isteyen orta ve ileri düzey geliştiriciler, kod gözden geçirenler ve güvenlik odaklı mühendisler için uygundur.
Siber güvenlik eğitimi mi?
Hayır; geliştirici bakış açısıyla güvenli Java kodlamaya odaklanır.
Spring Security işleniyor mu?
Hayır, çerçeveden bağımsız dil düzeyinde teknikler ele alınır.
Kendi projemde kullanabilir miyim?
Evet; statik analiz araçları kendi projenize uygulanabilir.
Eğitim sonunda sertifika verilir mi?
Evet. Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir; sertifika DVA'ya aittir ve üçüncü taraf bir sınavın yerine geçmez.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Java Defensive Techniques Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMAdvanced Data Structures & Algorithms in Java: Working with Graph Algorithms Eğitimi
Yazılım Geliştirme Eğitimleri

Advanced Data Structures & Algorithms in Java: Working with Graph Algorithms Eğitimi

2 günİleriOnline / Yüz Yüze / Hibrit

Java ile graf algoritmaları: BFS/DFS, Dijkstra, Bellman-Ford, A*, Prim, Kruskal, Union-Find ve topolojik sıralamayı gerçek problemlerle uygulayın.

Detayları Gör →
Java ve JVMAdvanced Data Structures & Algorithms in Java: Working with the Binary Heap Eğitimi
Yazılım Geliştirme Eğitimleri

Advanced Data Structures & Algorithms in Java: Working with the Binary Heap Eğitimi

2 günİleriOnline / Yüz Yüze / Hibrit

Java ile binary heap ve PriorityQueue: siftUp, siftDown, heapify, heap sort, top-K, k listeyi birleştirme ve kayan medyan problemlerini uygulamalı öğrenin.

Detayları Gör →
Java ve JVMAdvanced Features in Java: Getting Started with Java Collections Eğitimi
Yazılım Geliştirme Eğitimleri

Advanced Features in Java: Getting Started with Java Collections Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Java Collections Framework giriş eğitimi: List, Set, Queue, Map yapıları, Iterator, equals/hashCode, Comparator ve doğru koleksiyon seçimi uygulamalı işlenir.

Detayları Gör →
Java ve JVMAdvanced Features in Java: List Algorithms & Implementations Eğitimi
Yazılım Geliştirme Eğitimleri

Advanced Features in Java: List Algorithms & Implementations Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Java liste algoritmaları: ArrayList ve LinkedList'i sıfırdan yazın; ters çevirme, Floyd döngü tespiti, birleştirme ve merge sort ile liste işlemlerini öğrenin.

Detayları Gör →
Java ve JVMAdvanced Features in Java: Using Built-in Annotations Eğitimi
Yazılım Geliştirme Eğitimleri

Advanced Features in Java: Using Built-in Annotations Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Java yerleşik annotation eğitimi: @Override, @Deprecated, @SuppressWarnings, @FunctionalInterface, @SafeVarargs ve meta-annotation'lar uygulamalı olarak işlenir

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn