• insanlar üzerinde de etkili olabilen bir exploit'tır. örneklerle inceleyelim:

    $ ardarda "beyaz beyaz" desene

    beyaz
    beyaz
    beyaz
    beyaz
    beyaz
    beyaz

    $ inekler ne içer?

    ee..öööö
    *segmentation fault*

    /*burada görüldüğü gibi yeterli sayıda beyaz dedirtilmemiş, "beyaz" kelimesi içecek ve inek çağrışım kümelerine henüz taşmamıştır. ancak biraz daha sebatta bulunur, "beyaz beyaz" kısmını uzun tutarsak: */

    $ ardarda "beyaz beyaz" desene

    beyaz
    beyaz
    beyaz
    beyaz
    beyaz
    beyaz
    beyaz
    beyaz
    beyaz
    beyaz
    beyaz
    beyaz

    $ inekler ne içer?
    süt?!?

    #
    #whoami
    root (buraya "puşt" sıfatı da gelebilir.)
  • bir degiskeni saklayabilecegi yerden daha fazla bilgiyle doldurmaya calisirsaniz karsiniza windows'larda gpf, *nix'de segmentation fault olarak cikan olay. input olarak girilen bilginin esp stack pointer'ina tekabul eden yerine yine bu inputtaki uygun memory adresi getirilirse makine uzerinde istenilen kodu icra ettirilebilir ki bu hackerlarin en cok basvurduklari yontemdir. bu makine kodu sistemde genellikle bir backdoor acmak icin yazilir, cogu zaman shell code olarak bilinir.
  • enteresan, run-time'da degil de (valgrind vs.), direkt kaynak koddan buffer overflow analizi yapmaya calisan bir algoritma icin:

    http://www.nict.go.jp/…journal-vol52no1.2/02-04.pdf

    (vektor veya genel oznitelik tabanli bir machine learning (svm, ann..) algoritmasi bu konuda nasil olur, olur mu, uyar mi, uydurulur mu, fikri ve gazi olan beri gelsin, mesaj atsin, haberleselim. aklimda birtakim deneyler var, guzel olur.)

    edit: giris.
  • en çok kullanılan hack yöntemlerinden biridir. temeldeki mantık bir buffer kontrol edilmiyorsa programda onu bulup alabileceği maksimum sayıdan fazla uzunlukta bir değer yüklemektir. bunun sonucunda extra kalan kısım direk execute edilebilir, bu da uzak makinede istediğiniz bir kodu çalıştırabilmeniz anlamına gelir ki fecidir.

    özellikle microsoft ürünlerini kullananlar bundan çok çekmiştir ve çekmeye devam etmektedir.
  • backdoor için yazılan ve overflow'larda taşma yaratan fazlalık kısım işletim sistemi için text olarak işlenmesi gerken yerde komut gibi düşünülmesi sağlanarak execute ettirilen zararkod kısımı olarak iş görür.
  • ing. tampon bölge taşması
    buffer içinde tutulan bilgilerin buffer içinden boşaltılmadan yeni gelen bilgilerin buffer'ı taşırması durumu. fifo tipinde sıralar olarak gerçekleşen buffer'lar için kullanılan bir uyarı-hata mesajıdır. seri iletişimde (bkz: modem) rastlanabilir.
  • nasil olustugu ve ne sekilde exploit edilebilecegine yonelik giris seviyesi bir yazi suradan okunabilir.
  • "data execution prevention" gibi cpu tarafında koruma sistemlerinin (stack'lerin veya bellek bölgelerinin izin bitlerinin genişletilmesi de bu kapsamda ele alınabilir) geliştirilmesi ile artık yapılmasının çok daha zorlaştığı bir saldırı türü. nitekim yeni cpu 'lar "veri bölgeleri" olarak işaretlenmiş olan stack vs. bölgelerinden kod çalıştırmayı engelledikleri için, saldırı sadece "bellekteki başka bir program bölgesine" yönlendirme yaparak çalışabilir hale geliyor - ki bu da çalıştırılacak kodun daha önce belleğe yerleştirilmiş olması şartını getirir. hah, işte bu biraz(!) kasacağı için (ya da, belleğe programı yerleştirebilecek kadar içeri girmişsek, buffer overflow a ne kadar gerek var, o da bir soru şimdi) artık oldukça nadir rastlar olduk.

    komik olanı aslında şu: bu koruma yöntemlerinin ilkel hallerinin taa 486 zamanında işlemcilerde olması, fakat kimsenin tembellik edip kullanmaması nedeniyle pentium 'lardan çıkarılması.. şimdilerde ise, tabiri caizse, birçok sistemin götünü kurtarması... ya, ya..
  • dizi (array) ve isaretci (pointer) aritmetiginde yapilan hata sonucu olusan program hatasi. mesela n elemanli tanimlanan bir dizinin (tanimlamanin statik veya dinamik olmasi farketmez) n'den daha büyük degerli bir elemanina ulasmak istenirse, böyle bir eleman olmadigi icin uygulamanin yamulmasi.

    yeni nesil nesneye dayali dillerden c# ve java'da bu durumlarda exception üretilir, kötülüklerden korunulur.

    bu exceptionlar java icin index out of bounds exception (bkz: indexoutofboundsexception) , c# icin argument out of range exception(bkz: argumentoutofrangeexception)'dir.
hesabın var mı? giriş yap