Detection of Error Condition without Action Açıklığı (CWE-390) | |||||
Bu makalede Detection of Error Condition without Action (CWE-390), yani Hata Yönetiminde Eylem Uygulanmaması, diğer bir ifadeyle Boş İstisna Bloğu açıklığı anlatılacaktır.
Açıklık Önem Derecesi: Düşük Açıklığın Etkisi: Güvenliğin sürdürülebilirliğinin azalması Açıklığın Açıklaması: Bir istisna bloğu (örn; catch veya finally bloğu) kullanıldığında eğer blok boşsa bu durum uygulamanın güvenliğini etkiler. Catch ve Finally bloklarının boş bırakılması gelecekte kaynak kod okunurluğunu azaltır. Çünkü geleceğe yarım bırakılmış, bilinmez bir kod bloğu bırakılmış olacaktır. Uygulama gelecekte daha da büyüyebileceğinden kaynak kodun okunurluğu uygulamanın büyümesine ters orantılı olarak zaten azalacaktır. Boş istina blokları ise bu okunurluğu daha da düşürecektir. Uygulama kodlarının okunurluğunun azalması gelecekte güvenliği sağlama noktasında kontrolü zorlaştırır. Geleceği düşünerek kodun okunurluğunu azaltan her eylemden sakınılmalıdır. Örneğin Java dilinde bu açıklığa sahip ve açıklığın kapatıldığı kod bloğu örnekleri verilmiştir. JAVA: // KÖTÜ KOD BLOĞU public class Main { public static void main(String[] args) { int a = 1; int b = 0; int c = 0; try { c = a / b; } catch(ArithmeticException ae) { } } } JAVA: // İYİ KOD BLOĞU public class Main { public static void main(String[] args) { int a = 1; int b = 0; int c = 0; try { c = a / b; } catch(ArithmeticException ae) { log.error("Divided by zero detected, setting to -1."); c = -1; } } } Bu örneklerde kötü kod bloğunda catch bloğu hiçbir satır içermemektedir. Dolayısıyla doğrudan olmasa da dolaylı yoldan bir güvenlik açıklığı oluşturmaktadır. İyi kod bloğunda ise catch bloğu problemi çözen kod satırlarına sahiptir. Dolayısıyla dolaylı güvenlik açıklığı oluşturmamaktadır. Uygulamalarda catch veya finally blokları boş olduğundan “Boş İstisna Bloğu (CWE-1069)” açıklığı olarak işaretlenirler. Açıklığın Önlemi: Catch ve Finally blokları boş bırakılmamalıdır ve bu bloklara uygulamanın çalışırlığını ve güvenliğini koruyucu ve devam ettirici kod satırları girilmelidir.
|
|||||
![]() |
|||||
|
|||||
Yorumlar |
|||||
Henüz yorum girilmemiştir. | |||||
Yorum Ekle | |||||