- 17 Ocak 2019
- 414
- 24
Fuzzing Nedir?
Fuzz Testing veya Fuzzing, kodlama hatalarını ve güvenlik boşluklarını keşfetmek için kullanılır. FUZZ adı verilen geçersiz veya rastgele verileri yazılım sistemine koymaya yönelik bir yazılım test tekniğidir. Fuzzing testinin amacı, otomatik veri eklemeye ve sistemin çökmesi durumunu veya sistemdeki kodun arıza çıkarması gibi çeşitli sorunlara karşı test etmektir.
Fuzz testi, 1989da Wisconsin Üniversitesinde Barton Miller adlı kişi tarafından geliştirilmiştir. Fuzzing, bir yazılım test tekniği olmakla beraber güvenlik test etmek için de kullanılır. Fuzz testi yazılımlardaki, işletim sistemlerinde veya ağlardaki kodlama ve güvenlik hatalarını bulmak için kullanılan bir test aracıdır. Fuzzing, sistemdeki verilerden, sistemin iç yapısındaki hataları bulmayı hedefler.
Fuzz Testi Neden Yapılır?
- Sistemdeki ciddi derece önemli olan güvenlik açıklarını tespit eder.
- Fuzz testi BlackBox testi ile beraber kullanıldığı zaman daha etkili sonuca ulaşılır.
- Fuzz testi, yazılımların ve sistemlerin açığını kontrol etmek için kullanılır.
Fuzz Testinin Avantajları
- Diğer araçlar ile görülemeyen güvenlik açıklarını veya çökmeleri bulur.
- Maaliyeti ucuzdur.
- Ciddi derecede olan açıkları veya sistem çökmelerini tespit eder.
- Kurulumu çok kolaydır.
Fuzz Testinin Dezavantajları
- Açıkları bulması ve çalışması çok uzun sürebilir.
- Bazen basit hataları bulabilir.
- Çökmeleri analiz etmek zor olabilir.
Fuzz Testi Nasıl Yapılır?
Test Senaryoları
İlk olarak test senaryoları oluşturulur. Sistem veya ağ tanımlanır. Ardından veri seti olarak uygulamaya veri olarak gönderilebilir. Veri setleri, sistemi anlamak ya da işlemesi amaçlanmayan tamamen hatalı biçimlendirilmiş bir veri yığını olarak oluşturulabilir.
Hedef İle Etkileşim Kurmak
Fuzz testi sırasında, fuzzer uygulamaları (Fuzz Testini yapan uygulamalar) , bir protokol veya bir dosya formatı ile arayüz oluşturabilir. Bunu yaparken, bir fuzzer, ağ üzerinden veya çalışan bir uygulamanın komut satırı aracılığıyla hedefe test senaryoları gönderir.
Sistemi İzleme
Bir fuzz testinin başarısı, fuzzerin hedefteki uygulama üzerindeki etkisini kontrol etme yeteneği ile ölçülür. Gönderilen test senaryo verilerinin sonuçları izlenir. Sistemdeki açıkları kayıt altına alınır.
Fuzz Testing veya Fuzzing, kodlama hatalarını ve güvenlik boşluklarını keşfetmek için kullanılır. FUZZ adı verilen geçersiz veya rastgele verileri yazılım sistemine koymaya yönelik bir yazılım test tekniğidir. Fuzzing testinin amacı, otomatik veri eklemeye ve sistemin çökmesi durumunu veya sistemdeki kodun arıza çıkarması gibi çeşitli sorunlara karşı test etmektir.
Fuzz testi, 1989da Wisconsin Üniversitesinde Barton Miller adlı kişi tarafından geliştirilmiştir. Fuzzing, bir yazılım test tekniği olmakla beraber güvenlik test etmek için de kullanılır. Fuzz testi yazılımlardaki, işletim sistemlerinde veya ağlardaki kodlama ve güvenlik hatalarını bulmak için kullanılan bir test aracıdır. Fuzzing, sistemdeki verilerden, sistemin iç yapısındaki hataları bulmayı hedefler.
Fuzz Testi Neden Yapılır?
- Sistemdeki ciddi derece önemli olan güvenlik açıklarını tespit eder.
- Fuzz testi BlackBox testi ile beraber kullanıldığı zaman daha etkili sonuca ulaşılır.
- Fuzz testi, yazılımların ve sistemlerin açığını kontrol etmek için kullanılır.
Fuzz Testinin Avantajları
- Diğer araçlar ile görülemeyen güvenlik açıklarını veya çökmeleri bulur.
- Maaliyeti ucuzdur.
- Ciddi derecede olan açıkları veya sistem çökmelerini tespit eder.
- Kurulumu çok kolaydır.
Fuzz Testinin Dezavantajları
- Açıkları bulması ve çalışması çok uzun sürebilir.
- Bazen basit hataları bulabilir.
- Çökmeleri analiz etmek zor olabilir.
Fuzz Testi Nasıl Yapılır?
Test Senaryoları
İlk olarak test senaryoları oluşturulur. Sistem veya ağ tanımlanır. Ardından veri seti olarak uygulamaya veri olarak gönderilebilir. Veri setleri, sistemi anlamak ya da işlemesi amaçlanmayan tamamen hatalı biçimlendirilmiş bir veri yığını olarak oluşturulabilir.
Hedef İle Etkileşim Kurmak
Fuzz testi sırasında, fuzzer uygulamaları (Fuzz Testini yapan uygulamalar) , bir protokol veya bir dosya formatı ile arayüz oluşturabilir. Bunu yaparken, bir fuzzer, ağ üzerinden veya çalışan bir uygulamanın komut satırı aracılığıyla hedefe test senaryoları gönderir.
Sistemi İzleme
Bir fuzz testinin başarısı, fuzzerin hedefteki uygulama üzerindeki etkisini kontrol etme yeteneği ile ölçülür. Gönderilen test senaryo verilerinin sonuçları izlenir. Sistemdeki açıkları kayıt altına alınır.
Son düzenleme: