Empty Try Blocks Açıklığı (CWE-390)
Bu makalede "Empty Try Blocks (CWE-390)", yani Boş Try Blokları güvenlik kusuru anlatılacaktır.

Güvenlik Açıklığı vs. Güvenlik Kusuru

Bu makale için seçilen başlıkta "açıklık" kelimesi yer almaktadır. Fakat bu ifade belki "dolaylı açıklık" şeklinde güncellenebilir. İstismar edilebilir güvenlik problemlerine güvenlik açıklığı denirken istismar edilemez güvenlik problemlerine güvenlik kusuru adı verilir. Bu makalede ele alınan esasında bir güvenlik kusurudur. Her güvenlik kusurunda güvenlik açıklığına yükselebilecek ihtimaller vardır. Diğer bir ifadeyle; her bir güvenlik kusurunda ilgili şartların sağlandığı durum senaryosu gelecekte meydana geldiğinde başarılı sızma girişimine gidebilecek yollar vardır. Bu sebeple güvenlik kusurları MITRE'nin CWE uluslararası güvenlik açıklıkları veritabanında güvenlik açıklıkları ile birarada beraber yer almaktadır. Statik kod analizi testlerinde uygulamaların geleceğini güvence altına almak için bugünden güvenlik kusurlarının titizlikle çözülmesi tavsiye edilir.


Açıklık Önem Derecesi:

Düşük

Açıklığın Etkisi:

Dayanıklılık eksikliği

Açıklığın Açıklaması:

Bir try-catch-finally bloğu kullanıldığında eğer try bloğu boşsa bu durum uygulamanın güvenilir şekilde çalışmasını engeller. Örneğin Java dilinde bu açıklığa sahip ve açıklığın kapatıldığı kod bloğu örnekleri verilmiştir.

JAVA - Güvensiz Hal (1):

try {
        
}
catch(SQLException e) {
        log(e);
}

JAVA - Güvensiz Hal (2):

try {
        //rs = stmt.executeQuery(query);
}
catch(SQLException e) {
        log(e);
}

JAVA - Güvenli Hal:

try {
        rs = stmt.executeQuery(query);
}
catch(SQLException e) {
        log(e);
}

Bu örneklerde kötü kod bloğunda try bloğu hiçbir işlevsel satır içermemektedir veya sadece yorum satırı içermektedir. Bu durum doğrudan olmasa da dolaylı yoldan bir güvenlik açıklığı oluşturmaktadır. İyi kod bloğunda ise try bloğu işlem uygulayan kod satırlarına sahiptir. Bu durum dolaylı güvenlik açıklığı oluşturmamaktadır.

Try bloğunun boş olması ölü kod olarak değerlendirilir. Ölü kod ise kodun daha zor okunmasına, daha zor anlaşılmasına ve daha zor sürdürülebilmesine / bakımının yapılabilmesine neden olur. Yani bu kod kalitesini olumsuz yönde etkiler. Try blokları boş olduğunda “Boş Try Bloğu (CWE-390)” açıklığı olarak işaretlenirler.

Açıklığın Önlemi:

Try blokları boş bırakılmamalıdır ve bu bloklara uygulamanın çalışırlığını sürdürücü ve güvenliğini koruyucu kod satırları girilmelidir.

Yararlanılan Kaynaklar:

  • https://cwe.mitre.org/data/definitions/390.html
  • https://vulncat.fortify.com/en/detail?id=desc.structural.java.dead_code_empty_try_block
Bu yazı 23.10.2025 tarihinde, saat 03:12:00'de yazılmıştır. 22.01.2026 tarihi ve 10:15:59 saatinde ise güncellenmiştir.
Yazar : Hasan Fatih ŞİMŞEK Görüntülenme Sayısı : 235
Yorumlar
Henüz yorum girilmemiştir.
Yorum Ekle
*
* (E-posta adresiniz yayınlanmayacaktır.)
*
*

#Arşiv


#Giriş

ID :
Şifre :