İçeriğe atla

Fuzzing

Fuzzing, sisteme beklenmedik, yarı geçerli, sıralı verilerin gönderimi gibi yöntemlerle sistemin iç yapısındaki hataları bulmayı hedefleyen Kapalı-Kutu yazılım test etme yöntemi. Fuzzing için çeşitli test yöntemleri isimlendirilmektedir:

  • Olumsuz test yöntemi;
  • Protokol mutasyon;
  • Güvenilirlik test yöntemi;
  • Sözdizimi test yöntemi;
  • Hata enjeksiyonu;
  • Yağmurlu-gün test yöntemi;
  • Kirli test yöntemi.

Fuzzing yöntemlerinin uygulanmasını sağlamak için geliştirilen programlara ise Fuzzer denilmektedir.

Tarihçe

Fuzzing bazı yazılım mühendisleri tarafından yazılım testlerinde benzer yöntemler kullanılsa da, 1989 yılında Prof. Barton Miller ve öğrencileri tarafından geliştirilmiştir.

Fuzzing Çalışma Yöntemi

Bir fuzzing aracının çalışma prensibi sistemin beklediği geçerli bir cevabın bütünlüğü bozmadan beklenmedik veriler ile değiştirilmesi sonucu sistemin çökmesini sağlamaktır. Bu duruma uygun bir senaryo olarak; mobil uygulamaya kullanıcı adı ve parola ile geçerli bir giriş yapıldıktan sonra sunucudan dönen cevabın içerisinde kullanıcının gerçek ismi bulunduğu düşünülsün. Geçerli bir giriş işlemi gerçekleştikten sonra kullanıcının gerçek adının yerine bir milyon karakterin mobil uygulamaya gönderilmesi, ortaya bu veriyi tutan değişkenin saklayabileceği veri boyutu sorusunu ortaya çıkartır. Bu nedenle mobil uygulamanın çökmesi gerçekleşebilir.

Kullanılan Yöntemler

Bellek Taşması Hataları

Sistemin programlama aşamasında geçerli veri kontrollerin yapılmasını kontrol etmeyi hedefleyen hafızayı bozma saldırısıdır. Fuzzer aracı hafızada kaplayacağı yer olarak büyük veriler gönderir:

   A
   A * 257
   A * 513
   A * 1024
   A * 2049
   A * 524289
   A * 1048577

Karakter Biçem Hataları

Sistemin kullandığı sözdizimini hedef alan ve gelen verinin kontrol edilmemesi ile oluşan hatalardır. Bir Fuzzer aracı aşağıdaki yapıları kullanarak sistemin çökmesine yol açabilir:

   %p%p%p%p
   %p%p%p%p%p%p%p%p%p%p
   %p * 257
   %p * 513
   %x%x%x%x
   %x%x%x%x%x%x%x%x%x%x
   %x * 257
   %x * 513
   %s%p%x%d
   %s%p%x%d%s%p%x%d%s%p%x%d

Sayısal İşlem Hataları

Hafızada kullandığı alan dışına çıkmasına sebep olan saldırı türlerinden kaynaklanan bir hata türüdür. Bellek Taşması Hatalarının işleyiş mantığı ile benzerdir.

   -1
   0
   0x100
   0x7fffffff
   0x80000000

SQL Sorguları Değişimi

Web uygulamalarının sahip oldukları veritabanlarından sorgu dilini kullanarak hata mesajlarını elde etmek için kullanılır. Saldırgan yetkisi olmamasına rağmen elde edilen hata mesajları sayesinde veritabınından bilgi toplar. Kullanıcı arayüzünden gelen verilerin kontrol edilmemesinden dolayı bilgilere erişim kolaylıkla sağlanabilir:

   durum:= "SELECT * FROM kullanıcılar WHERE isim= '" + kullanıcıAdı+ "';"
   kullanıcıAdı = a' or 'a'='a
   ' or 1=1--
) UNION SELECT%20*%20FROM%20INFORMATION_SCHEMA.TABLES;
   Password:*/=1--
   UNI/**/ON SEL/**/ECT
   '; EXECUTE IMMEDIATE 'SEL' || 'ECT US' || 'ER'

Kaynakça

İlgili Araştırma Makaleleri

Regresyon analizi, iki ya da daha çok nicel değişken arasındaki ilişkiyi ölçmek için kullanılan analiz metodudur. Eğer tek bir değişken kullanılarak analiz yapılıyorsa buna tek değişkenli regresyon, birden çok değişken kullanılıyorsa çok değişkenli regresyon analizi olarak isimlendirilir. Regresyon analizi ile değişkenler arasındaki ilişkinin varlığı, eğer ilişki var ise bunun gücü hakkında bilgi edinilebilir. Regresyon terimi için öz Türkçe olarak bağlanım sözcüğü kullanılması teklif edilmiş ise de Türk ekonometriciler arasında bu kullanım yaygın değildir.

<span class="mw-page-title-main">Windows Phone</span> Microsoft tarafından geliştirilmiş akıllı telefon işletim sistemi

Windows Phone, Microsoft tarafından geliştirilmiş ve Windows Mobile serilerinin devamı olan bir mobil işletim sistemidir. Windows Mobile işletim sistemine son verildikden bu sisteme geçiş yapıldı. 2010 Şubat ayında Mobil Dünya Kongresi'nde ilk kez duyurulan sistem; Windows Mobile'daki kurumsal kullanıcı kitlesine nazaran Windows Phone'da hedef kitlesi Microsoft tarafından sadece son kullanıcılar olarak belirlemiştir.

<span class="mw-page-title-main">Google ürünleri listesi</span> Vikimedya liste maddesi

Google ürünleri listesi Google tarafından satın alınan tüm ana masaüstü, mobil ve çevrimiçi ürünleri içerir. Bu ürünler son ürün ya da beta sürümler olabilir. Liste ayrıca kullanımdan kaldırılmış, birleştirilmiş ya da tekrar isimlendirilmiş ürünleri de içerir. Ürünlerin içinde olan özellikler ayrıca listelenmemiştir.

<span class="mw-page-title-main">HTC Dream</span> HTC üretimi android cep telefonu

HTC Dream HTC tarafından geliştirilen bir akıllı telefondur. İlk kez Eylül 2008'de piyasaya çıkan Dream, Linux tabanlı Android işletim sistemini piyasaya süren ve Google ve Open Handset Alliance tarafından daha da geliştirilen ve zamanın diğer önemli akıllı telefon platformlarına açık bir rakip yaratan ilk cihaz oldu. İşletim sistemi, özelleştirilebilir bir grafik kullanıcı arayüzü, Gmail gibi Google hizmetleri ile entegrasyon, uygulamalar tarafından gönderilen son iletilerin bir listesini gösteren bir bildirim sistemi ve ek uygulamalar indirmek için Android Market sunmaktadır.

<span class="mw-page-title-main">Gömülü sistem</span> Belli bir fonksiyonu yapmaya yönelik bilgisayar sistemi

Gömülü sistem, bilgisayarın kendisini kontrol eden cihaz tarafından içerildiği özel amaçlı bir sistemdir. Genel maksatlı, örneğin kişisel bilgisayar gibi bir bilgisayardan farklı olarak, gömülü bir sistem kendisi için önceden özel olarak tanımlanmış görevleri yerine getirir. Sistem belirli bir amaca yönelik olduğu için tasarım mühendisleri ürünün boyutunu ve maliyetini azaltarak sistemi uygunlaştırabilirler. Gömülü sistemler genellikle büyük miktarlarda üretildiği için maliyetin düşürülmesinden elde edilecek kazanç, milyonlarca ürünün katları olarak elde edilebilir.

<span class="mw-page-title-main">SQL enjeksiyonu</span>

SQL enjeksiyonu, veri tabanına dayalı uygulamalara saldırmak için kullanılan bir atak tekniğidir; burada saldırgan SQL dili özelliklerinden faydalanarak standart uygulama ekranındaki ilgili alana yeni SQL ifadelerini ekler.. SQL enjeksiyonu, uygulamaların yazılımları içindeki bir güvenlik açığından faydalanır, örneğin, uygulamanın kullanıcı giriş bilgileri beklediği kısma SQL ifadeleri gömülür, eğer gelen verinin içeriği uygulama içerisinde filtrelenmiyorsa veya hatalı şekilde filtreleniyorsa, uygulamanın, içine gömülmüş olan kodla beraber hiçbir hata vermeden çalıştığı görülür. SQL enjeksiyonu, çoğunlukla web siteleri için kullanılan bir saldırı türü olarak bilinse de SQL veri tabanına dayalı tüm uygulamalarda gerçeklenebilir.

Mobil güvenlik ya da mobil telefon güvenliği, mobil işlemenin öneminin ve kullanılan akıllı telefonların sayısının artması ile birlikte öne çıkmıştır. Genel olarak bakıldığında, mobil güvenlik, mobil cihazlarda saklanan bilgilerin ve servislerin koruma altına alınması olarak değerlendirilebilir.

<span class="mw-page-title-main">Yazılım testi</span>

Yazılım testi, test altında hizmetlerin veya ürünlerin kalitesi hakkında paydaşlara bilgi sağlamak için yürütülen bir araştırmadır. Yazılım testi aynı zamanda, yazılım uygulamalarının risklerini anlamak için yazılımı bağımsız ve nesnel olarak incelemektir. Test teknikleri yazılım böceklerini bulma niyetiyle uygulama veya bir programı çalıştırma süreçlerini kapsar.

<span class="mw-page-title-main">Regresyon testi</span>

Regresyon testi uygulama ortamındaki yapılan tüm değişiklikleri; uygulamaya yeni eklenen özellikler, daha önceki yaşanan hataların düzeltilmesinden sonra, mevcut problemlerin giderildiği ve yeni yapılan güncellemelerin, eklenen özelliklerin yeni bir hata üretip üretmediğini kontrol amaçlı olarak yapılan yazılım test türüdür.

Kara kutu testi yazılımı testinde bir uygulamanın işlevselliğini iç yapısını veya işleyişini kontrol etmeden inceleyen bir yöntemdir. Bu test yöntemi hemen hemen her seviye yazılım testinde uygulanabilir. Sadece üst seviye testlerde değil, birim Testlerinde de sıklıkla kullanılır.

<span class="mw-page-title-main">MacOS Server</span>

macOS Server, Apple tarafından üretilen ve ayrı piyasaya çıkarılan add-on bir işletim ve sunucu sistemidir, macOS işletim sistemi için ek sunucu programları, idaresi ve yönetimi araçları sağlar. Mac OS X Server İngilizce, Japonca, Fransızca, Almanca, Basitleştirilmiş Çince, Hollandaca, İtalyanca, Almanca, İspanyolca ve Geleneksel Çince mevcuttur.

<span class="mw-page-title-main">Mac OS X Public Beta</span>

Mac OS X Public Beta, Apple Computer Mac OS X Cheetah işletim sisteminin Aqua kullanıcı arayüzüne özelliğine ilk halka açık versiyonu oldu. 29,95$'a satılmıştır.13 Eylül 2000 tarihinde kamuoyuna serbest bırakıldı. Bu, yazılım geliştiriciler ve erken benimseyenlere yaklaşan işletim sisteminin bir önizlemesini test etmek ve nihai yayınlanmasından önce gelecek işletim sistemi için yazılım geliştirmeye izin verdi. ABD sürümünün 1H39 bir yapı numarası ve uluslararası sürümün 2E14 yapı numarası vardır.

MobileMe Apple tarafından sunulan çevrimiçi hizmetlerin ve yazılımların aboneliğe dayalı bir koleksiyonuydu. Tüm hizmetler kademeli olarak değiştirildi ve yerini iCloud aldı. iCloud'a yapılan transferler 31 Temmuz 2012'ye kadar geçerli olmak üzere 30 Haziran 2012'den itibaren hizmet kesildi.

Toshiba TG01 büyük bir dokunmatik ekranlı telefon / Mobil İnternet Aygıtıdır. Windows Mobile işletim sistemini temel alır ve 1 GHz'de derecelendirilmiş Qualcomm Snapdragon yonga mimarisini (QSD8250) kullanır. Bağlantı açısından HSDPA, indirme hızları 7.2 Mbit / s olan 2100 MHz UMTS desteği ve 2 Mbit / sn'ye kadar HSUPA yükleme hızı ile dört bantlı bir GSM telefonudur. Wi-Fi özellikli, A-GPS desteği ile GPS ve Bluetooth 2.0, microSD ile genişletilebilir hafıza ve mikro USB konektör ile birlikte geliyor.

<span class="mw-page-title-main">Samsung SPH-i700</span> Samsungun 2002de ürettiği akıllı telefon

Samsung SPH-i700 Samsung tarafından 2002 yılında üretilen bir Windows Mobile akıllı telefonudur. Kendi sınıfında diğerlerine kıyasla güçlü ve genişletilebilir bir ikinci nesil Pocket PC aygıtıdır. Bir yarı iletken ekran, bir VGA kamera, 300 MHz İşlemci içerir ve yetkili bir PDA yaparak SDIO'yu destekler. Bir kutu, bir stereo kulaklık-mikrofon, şarj ünitesi ve hem düzenli hem de genişletilmiş bir pil dahil olmak üzere eksiksiz bir aksesuar paketi içerir. Kablosuz radyonun güçlü sinyaller aldığı ve Verizon Express Ağında iyi ses kalitesi ve hızlı veri hızı sağladığı bildirildi.

Sızma testi, sistemin güvenliğini değerlendirmek üzere bir bilgisayar sistemi üzerinde gerçekleştirilen yetkilendirilmiş temsili bir siber saldırıdır. Test, yetkisiz kişilerin sistem özelliklerine ve verilerine erişme potansiyelini içeren her iki zayıf noktayı ve sistemin güçlü yönlerini belirlemek ve tam bir risk değerlendirmesi sağlamak için yapılır.

Güvenli kodlama, bilgisayarın yazılımsal olarak güvenlik zafiyetlerinden korumayı amaçlayan bir yöntemdir. Yazılım hata ve kusurları ile mantıksal hatalar yazılımı sömürme amaçlı kullanılan güvenlik zafiyetlerin başında gelir. Raporlanan zafiyetlerden elde edilen bilgiler ışığında güvenlik uzmanları çoğu zafiyetin ufak programlama hatalarından kaynaklandığını keşfetmiştir. Güvenli olmayan bu kodlar incelenerek eğitimci yazılım geliştiren kişiler ve kurumlar bu açıklıkları azaltmayı hedeflemektedir.

<span class="mw-page-title-main">Windows Marketplace for Mobile</span>

Windows Marketplace for Mobile , Microsoft tarafından sunulan, Windows Mobile sistemi için bir uygulama mağazasıdır. Kullanıcıların üçüncü taraf uygulamalara göz atmasına ve indirmesine izin verdi. Daha çok Windows Mobile 6.5 sürümü için geçerli oldu. Ama Windows Mobile 6.0 ve Windows Mobile 6.1 sürümleri de bunu kullanabildiler. Windows Marketplace'in mobil versiyonu idi. 2009 Mobil Dünya Kongresi'nde ilan edildi ve 6 Ekim 2009'da 246 uygulama ile faaliyete geçti.

Açık Web Uygulama Güvenliği Projesi (OWASP), web uygulama güvenliği alanında ücretsiz olarak kullanılabilen makaleler, metodolojiler, belgeler, araçlar ve teknolojiler üreten çevrimiçi bir topluluktur.

Kod enjeksiyonu, geçersiz verilerin işlenmesinden kaynaklanan bilgisayar hatasından yararlanmadır. Enjeksiyon, saldırgan tarafından savunmasız bir bilgisayar programına kod enjekte etmek ve yürütmenin seyrini değiştirmek için kullanılır. Başarılı kod eklemenin sonucu felaket olabilir. Örneğin, bilgisayar virüslerinin ya da solucanların yayılmasına izin verilebilir.