Page 60 - bilgem-teknoloji-dergisi-12
P. 60
Siber Güvenlik BILGEM
TEKNOLOJI
durumlar bulunmaktadır. Özellikle rasgele üretim, 1990’lı yıllarda ismi duyulan Fuzz
mutasyona dayalı veya sistem gramerine göre mo-
del bazlı girdi üretim yöntemleri ile sisteme girişte (Bulandırma) Testleri ile yazılımlar,
geçerli olacak, yani sisteme giriş kapısının daha çok fazla sayıda ve farklı stratejiler ile
ilkinden çeşitli doğrulama yöntemleri sonucunda üretilen girdi değerleriyle sınanmakta
elenmeyecek, fakat sisteme girdikten sonra sis- ve sistemin çalışamaz hale geldiği,
Yazılım temi çalışmaz hale getirebilecek hataları bulan bir güvenlik zafiyeti gösterdiği
girdi üretimi, tüy testi süreçlerinin ana amaçların-
dandır.
noktalar saptanmaktadır.
Güvenlik Ek olarak, bu tip bir zafiyet ve dayanıklılık tespit dan gri kutu testleri, sistemi hem endüstride hem
sisteminde daha spesifik olarak güvenlikle ilgili
de akademide kullananların çoğunluğu tarafından
sorunları ve hataları bulmak oldukça önemlidir. Di-
büyük ilgi görmeye başlamıştır.
ğer yandan, yapılan bu testler ile bilgi sızıntılarının,
Fuzz zamanlama veya enerji ile ilgili yan kanal güven- Bulandırma Testleri Sınıflandırması
lik açıklarının keşfi aktif bir araştırma konusudur.
Bulandırma testi teknikleri, farklı bakış açıları açı-
Ayrıca sistemlerde yetki artırmayı, uzaktan kötücül
sından sınıflandırılabilir: Bulandırma testi teknikle-
kod çalıştırmayı ve diğer güvenlik açıklarını otoma-
ri, hedef sistem hakkında bilgi sahibi olma açısın-
(Bulandırma) tik olarak algılayıp bunları tetikleyen yeni teknikler dan kara kutu, beyaz kutu, gri kutu olmak üzere üç
de olmalıdır.
farklı gruba ayrılabilir. Teknikler girdi verisi oluştur-
ma türüne göre de iki grupta sınıflandırılabilir; bu
Fuzzingin Tarihi
gruplar mutasyon temelli ve nesil tabanlı testlerdir.
İlk Fuzzing (Bulandırma Testi) aracı Miller ve arka-
Testleri daşları tarafından 1990 yılında geliştirilmiş ve UNIX Geri bildirim türüne göre ise, tüy testi teknikleri, geri
bildirimli ve geri bildirimsiz sistemler olarak tanım-
araçlarının güvenilirliğini test etmek için tasarlan-
lanmaktadır.
mıştı. İlk tüy testlerinin üzerinden yaklaşık 30 yıl
geçti ve geçen süre zarfında bu test yaklaşımında
her zamankinden daha sofistike hale gelen teknik- Kara Kutu Testleri
ler geliştirildi. İlk test yaklaşımı tipik olarak rasgele Kara Kutu Bulandırma Testleri, test edilen progra-
üretilen mutasyonlara dayalıydı. Bu yüzden, ge- mın dâhili iş mantığıyla ilgilenmemektedir. Bu tip
liştirilen bu sistemin erken dönemleri, ürettikleri sisteme girdiler verilir ve verilen girdilere karşılık
sonuçlar açısından biraz verimsizdi. Bu nedenle, gelen çıktılar toplanarak incelenir. Özellikle mu-
Şerafettin Şentürk – Başuzman Araştırmacı / BİLGEM BTE zamanla verimliliği artırmak adına yeni teknikler ve tasyonel kara kutu testlerinde, süreç bir veya daha
daha modern yaklaşımlar ortaya çıkmıştır. fazla tohum girdisi adı verilen veri kümeleri ile
başlatılır. Tohumlar daha sonra yeni girdiler oluş-
Fuzzingin genel bir tarihçesine bakıldığında, dö- turmak için değiştirilir, yani mutasyona uğratılır.
Yazılım sistemlerinde kritik hatalar güvenlik açıklarına yol açar. Bunlara nemlere göre gelişimi görülebilmektedir: Girişteki veri üzerinde seçilen rasgele konumlara
karşı yürütülen Fuzz (Bulandırma) Testleri, hem araştırma dünyasında hem √ 2005 yılından önce, sadece temel rasgele mutas- rasgele mutasyonlar uygulanabilir.
de endüstride popüler bir güvenlik açığı keşif yöntemidir. yona dayalı Fuzzing vardır. Bir süre sonra testlerin
etkinliğini artırmak için Gramer tabanlı Fuzzing uy- Örnek vermek gerekirse, giriş verisi bir dosya olan
gulanmaya başlanmıştır. sistemde, dosya girdisindeki mevcut olan rasgele
FC 2828’de (Shirey 2000) tanımlanan güvenlik mış, pek çok yöntem ve yaklaşım geliştirilmiştir. Diğer √ 2006 ve 2010 yılları arasında Beyaz Kutu Fuzzing bitler çevrilip yerleri değiştirilerek yeni girdi dosya-
açığı, bir sistemin tasarımında, uygulanmasın- yöntemlerle karşılaştırıldığında, Fuzz (Bulandırma) ve Dinamik Sembolik çalıştırma yaklaşımları ge- ları üretilir ve sisteme yeniden çalıştırması için ve-
Rda, işletiminde ve yönetiminde, sistemin güvenlik Testi, test edeceği sistemle ilgili fazla sayıda bilgi ge- liştirilmiştir. Buna paralel olarak, Bozulma Analizi rilir. Mutasyon tabanlı kara kutu testlerindekinden
politikasını ihlal etmek için yararlanılabilecek bir ku- rektirmez ve büyük uygulamalara kolayca ölçeklendiri- (Taint Analysis) teknikleriyle ilgili bazı çalışmalar farklı olarak bir diğer test çeşidi olan nesil tabanlı
sur veya zayıflıktır. Yazılım sistemlerinde kritik hatalar lebilir. Bu nedenle son zamanlarda özellikle endüstride da kullanılmaya başlanmıştır. kara kutu tüy testlerinde ise girdiler sıfırdan üretilir.
güvenlik açıklarına yol açar. Yazılım güvenlik açıkları, en popüler güvenlik açığı keşif yöntemi haline gelmiş- √ 2011-2015 yılları arasında yine verimliliği artır- Test edilecek sistemin kabul ettiği girdilerin biçim-
saldırganların veri yapılarını bozmasına, kötü amaçlı tir. Ayrıca, bu tip testler gerçek uygulamalar üzerinde mak adına Kapsam Yönlendirmeli (Coverage Gui- sel olarak yapısal özellikleri, yani bir deyişle gramer
kod çalıştırmasına ve hattâ yazılımın çalıştığı tüm sis- yapılabildiğindan yüksek doğruluk oranına sahiptir. bilgileri verilirse, girdi dilbilgisi biçimine uygun ola-
temi kontrol etmesine olanak tanır. Sıfır gün güvenlik ded) Fuzzing ve Çizelgeleme Algoritmaları kullanıl- cak bir biçimde yeni girdiler oluşturularak tüy test-
açıkları gibi güvenlik açıklarına yönelik saldırılar, ciddi Etkili bir güvenlik açığı tespiti ve sistem dayanıklılığı maya başlanmıştır. leri sürdürülür.
zararlara ve etkilere neden olabilir. (robustness) testi yöntemi olan Tüy Testi sırasında √ 2016-2017 yılları ve sonrasında birden fazla Fuz-
daha fazla hata türü bulmak önemlidir. Tüy testi iş- zing tekniğinin bir arada karma olarak kullanılması Beyaz Kutu Testleri
Güvenlik açıklarının neden olduğu ciddi zararlarla ilgi- leminde test edilen sistem ya da program çok fazla yaygın hale gelmiştir. Testlerde etkililiği ve doğru- Beyaz Kutu Bulandırma Testleri test edilen prog-
li olarak, bilgi ve yazılım sistemlerine yönelik güvenlik sayıda ve farklı stratejiler ile üretilen girdi değerleri luğu artırmak için fuzzing sürecinde makine öğre- ramın iç bileşenlerini bilir. Bu tip testlerde, test
açığı keşif teknikleri ile ilgili çok sayıda çalışma yapıl- ile sınanmaktadır ve sistemin çalışmaz hale geldiği nimi yaklaşımları da devreye girmiştir. Diğer yan- edilen sistemin kaynak kodu hakkında bilgi, ayrın-
58 59
60