| Unused Variables Açıklığı (CWE-563) | |||||
| Bu makalede Unused Variables (CWE-563), yani Kullanılmamış Değişkenler 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: Kod kalitesinin düşmesi Açıklığın Açıklaması: Bir değişken (variable) / bir nesne değişkeni (instance variable) tanımlandığında veya bir değer atamasına tabi tutulduğunda, fakat sonra hiçbir kapsamda (scope’ta) kullanılmadığında “Kullanılmamış Değişkenler (CWE-563)” açıklığı olarak ele alınır. Bu açıklık uygulama güvenliğinde doğrudan bir risk yerine dolaylı bir risk oluşturur. Şöyle ki bu açıklık kodun okunurluğunu azaltıcı bir faktördür. Gelecekte uygulama ve kaynak kodları daha da büyüdüğünde okunurluk azalacağı gibi ekstradan okunurluğu azaltan bu gibi unsurlar arta bırakmak gelecekte uygulama güvenliğini sağlama noktasında negatiflik oluşturacaktır. Bu problemi göstermek adına örnek kod bloklarına yer verilmiştir: C - Güvensiz Kod Bloğu:
#include <stdio.h>
// ...
int deneme(){
// ...
r = getName();
r = getNewBuffer(buf);
// ...
}
// ...
Güvensiz C kod örneğinde r değişkeni bir değer atamasına tabi tutulmamaktadır. Fakat değer kullanılmadan üzerine yeni bir değer atamasında daha tabi tutulmaktadır. Burada bir problem söz konusudur. İlk değer boşuna atanmaktadır ya da dalgınlıkla ilk değerin kullanımına yer verilmemiştir. Bunlar gelecekte kodlamalar daha da kalabalıklaştığında kodların anlaşılırlığını düşürücü etkenlerdir. C++ - Güvensiz Kod Bloğu:
#include <stdio.h>
// ...
int deneme2(){
// ...
int i, j;
for (i=0; i < outer; i++) {
for (i=0; i < inner; i++) {
// ...
}
}
// ...
}
// ...
C++ güvensiz kod örneğinde i ve j indis değişkenleri tanımlanmıştır. Fakat yazım hatası nedeniyle içiçe for döngülerinden içerideki for döngüsünde j yerine yine i indisi kullanılmıştır. Bu da gelecekte kodlamalar daha da kalabalıklaştığında kodların anlaşılırlığını düşürücü etkenlerden biridir. Açıklığın Önlemi: Kodlamadaki hatalar giderilmeli ve geleceğe daha temiz bir proje bırakılmalıdır. Çünkü gelecekte güvenliği temin etme şimdikinden daha güç olacaktır. Yararlanılan Kaynaklar:
|
|||||
Bu yazı 27.10.2025 tarihinde, saat 01:51:40'de yazılmıştır.
22.01.2026 tarihi ve 10:30:43 saatinde ise güncellenmiştir. |
|||||
|
|||||
| Yorumlar |
|||||
| Henüz yorum girilmemiştir. | |||||
| Yorum Ekle | |||||
Bu yazı 27.10.2025 tarihinde, saat 01:51:40'de yazılmıştır.
22.01.2026 tarihi ve 10:30:43 saatinde ise güncellenmiştir.