- 1 Eki 2017
- 3,875
- 483
- 6
Bellek Tabanlı Taşma Teorisi ve Çeşitleri
Bellek tabanlı taşma teorisi belirli bir alana sahip olan dosyanın üzerine gelen daha fazla boyutta olan bir verinin aktarılması sırasında oluşan bellek taşmasına denilmektedir. Eğer saldırgan bellek taşması durumunda shellcode atmayı başarır ise taşan bellek sayesinde bütün sistem üzerinde erişim sağlayabilir, bilgileri okuyabilir.
Örneğin;
Char a[8];
Strcpy(a, Çok Çok uzun bir metin değeri atıldığını varsayalım.)
Bu kodları tanımlamak gerekirse A dosyasına 8 bytelık bir alan ayırdık. Daha sonra Strcpy fonskiyonu ile 36 bytlelık bir dosya aktardık.
A dosyasının boyutu 8 byte idi fakat biz A dosyasına 36 Bytelık bir dosya gönderdik. A dosyası burada 8 Bytelık veriyi aldı fakat geriye kalan veriyi farklı bir klasör ile dışarıya taşırdı. Eğer hedef saldırgan bu bytelara erişim sağlayabilirse kolay bir şekilde ele geçirebilir.
Bellek Taşma Çeşitleri Nelerdir?
STACK (Yığın Tipi)
Stack tipi veri ekleme yapısının temel algoritması gelen dosyayı yukarıdan (en üst) katmandan kopyalayarak başlamasıdır. Yani gelen her yeni veride eski veriler altta kalıyor ve yeni veri en üstte kalıyor. Veriyi dışarıya kopyalama işlemdi ise yine ters bir algoritma izliyor. En üstten verileri kopyalamaya başlıyor bu algoritma sayesinde en alttaki veri en üste çıkıyor yeni veri geldiğinde ise tekrar en alta iniyor. Bir nevi silah şarjörü gibi diyebiliriz.
QUEUES (Kuyruk Tipi)
Temel mantığı ve algoritması olarak berber sırası olarak düşünebiliriz. İlk gelen veri önce işlenir sonraki gelen veriler ise sıra sıra işlenerek sisteme eklenir. Fakat bu algoritmada çıkış işlemleri ise tam tersidir. İlk giren veri her zaman ilk çıkar. Kısacası ilk giren ilk çıkar diye örnekleyebiliriz.
Bellek tabanlı taşma teorisi belirli bir alana sahip olan dosyanın üzerine gelen daha fazla boyutta olan bir verinin aktarılması sırasında oluşan bellek taşmasına denilmektedir. Eğer saldırgan bellek taşması durumunda shellcode atmayı başarır ise taşan bellek sayesinde bütün sistem üzerinde erişim sağlayabilir, bilgileri okuyabilir.
Örneğin;
Char a[8];
Strcpy(a, Çok Çok uzun bir metin değeri atıldığını varsayalım.)
Bu kodları tanımlamak gerekirse A dosyasına 8 bytelık bir alan ayırdık. Daha sonra Strcpy fonskiyonu ile 36 bytlelık bir dosya aktardık.
A dosyasının boyutu 8 byte idi fakat biz A dosyasına 36 Bytelık bir dosya gönderdik. A dosyası burada 8 Bytelık veriyi aldı fakat geriye kalan veriyi farklı bir klasör ile dışarıya taşırdı. Eğer hedef saldırgan bu bytelara erişim sağlayabilirse kolay bir şekilde ele geçirebilir.
Bellek Taşma Çeşitleri Nelerdir?
STACK (Yığın Tipi)
Stack tipi veri ekleme yapısının temel algoritması gelen dosyayı yukarıdan (en üst) katmandan kopyalayarak başlamasıdır. Yani gelen her yeni veride eski veriler altta kalıyor ve yeni veri en üstte kalıyor. Veriyi dışarıya kopyalama işlemdi ise yine ters bir algoritma izliyor. En üstten verileri kopyalamaya başlıyor bu algoritma sayesinde en alttaki veri en üste çıkıyor yeni veri geldiğinde ise tekrar en alta iniyor. Bir nevi silah şarjörü gibi diyebiliriz.
QUEUES (Kuyruk Tipi)
Temel mantığı ve algoritması olarak berber sırası olarak düşünebiliriz. İlk gelen veri önce işlenir sonraki gelen veriler ise sıra sıra işlenerek sisteme eklenir. Fakat bu algoritmada çıkış işlemleri ise tam tersidir. İlk giren veri her zaman ilk çıkar. Kısacası ilk giren ilk çıkar diye örnekleyebiliriz.
Son düzenleme: