ForumSevgisi.Com

  ForumSevgisi.Com > ForumSevgisi Sosyal Medya - Teknoloji - Oyun Bölümü > Bilgisayar Ve Donanım > Güvenlik


Buffer Overflow Nedir? BoF Anlatımı


Buffer Overflow Nedir? BoF Anlatımı

Bilgisayar Ve Donanım Kategorisinde ve Güvenlik Forumunda Bulunan Buffer Overflow Nedir? BoF Anlatımı Konusunu Görüntülemektesiniz,Konu İçerigi Kısaca ->> Buffer Overflow Nedir? BoF Anlatımı Buffer Overflow Nedir? BoF Anlatımı. Merhabalar, bu anlatımım Buffer Overflow üzerine olacaktır. Keyifle okumanız dileğimle ...

Kullanıcı Etiket Listesi

Yeni Konu aç  Cevapla
LinkBack Seçenekler Stil

Okunmamış 10 Ocak 2015, 15:27   #1
Durumu:
Çevrimdışı
-X- - ait Kullanıcı Resmi (Avatar)
Ruhsuz
Üyelik tarihi: 25 Ekim 2014
Şehir: null
Mesajlar: 1.667
Konular: 293
Beğenilen: 757
Beğendiği: 824
www.forumsevgisi.com
Standart Buffer Overflow Nedir? BoF Anlatımı

Buffer Overflow Nedir? BoF Anlatımı

Buffer Overflow Nedir? BoF Anlatımı.




Merhabalar, bu anlatımım Buffer Overflow üzerine olacaktır. Keyifle okumanız dileğimle


Buffer Overflow Nedir?

Buffer overflow'u tanımlayabilmek için önce buffer nedir, onu tanımlamamız gerekiyor. Buffer, hafızada ard arda dizili türdeş veri tipi (int, char gibi) depolayan hafıza bloğudur. C'de bunlar array olarak geçer.

Buffer Overflow’larin ilk ortaya çıkma tarihi 1970’lere dayanıyor. En basit şekilde anlatmak gerekirse bir program veya işlemin, tampon belleğin (buffer) tutabileceğinden daha fazla yer işgal etmesi ile oluşur.

BoF açığı sonucu akılda kalan en önemli iki olay şunlardır;

1 - Sasser Solucanı

Bu solucan Windows işletim sisteminde sürekli çalışan LSASS.EXE adlı dosyada bulunan bir Buffer Overflow hatası sayesinde milyonlarca makinaya bulaşabildi. LSASS.exe nin asıl görevi (Local Security Authentication Server) Windows un kulanıcı işlemlerinin güvenliğini sağlamak ve kullanıcı izinlerini düzenlemekti.Fakat Windows 2000 ve XP yüklü makinelerde bu dosyanın kullandığı bir DLL dosyasında Buffer Overflow tesbit edildi.( (LSASRV.DLL).Bu sayede virüs 445 inci porta bağlanıp, programa istediği işlemleri yaptırıyordu.Daha sonra da LSASS.EXE kapatılıyordu ve 1 dakika içinde de server a reset atılıyordu.

2 - Los Angeles Hava Limanı

Hava uçuş kontrol programında 5 değeri girişmesi gerekirken 9 değerinin girilmesi sonucu yüzlerce uçuş ertelendi.

Mantığı kavramak için Grafikler ;

C dilince yazılmış örnek zaafiyet testi programı;





Şimdi yazdığım koda bakalım ve programımızı tekrar çalıştıralım



Görüldüğü üzere bellek taşma yaptı ve programımız hazin bir şekilde sonlandı


Yığın (Stack) tabanlı Buffer Overflow

Bunu bir örnek üzerinde inceleyelim:

Kod:
        void foo(char *s){
char name[5];
strcpy(name,s);
printf(“İsim %s\\\\\\\\n”, name);
}
int main(void) {
char buf[10];
read(0,buf,10);
foo(buf);
}


Yukarıdaki kodda, değişken ismine 5 karakterlik alan ayrılmasına rağmen, asıl program kodu içerisinde 10 karakterlik veri girişi talep ediliyor. “buf”değişkeni maksimum 5 karakterlik bilgiyi kaydedebilir. Geriye kalan 5 karakterlik bilgi nereye gider?

Eğer “buf” değişkeni global bir değişken ise, artan 5 karakterlik bilgi bellekte herhangi bir data segmentini kaydedilecektir.Bu karakterlerin önemsiz yerlere yazılma olasılığı vardır. Ama bu sadece bir olasılıktır. Çoğu durumda, “buf” değişkeni yerl bir değişken olmakta ve dolayısı ile yığınlarda (stacks) tutulmaktadır. Böyle bir durumda program, verisegmenti yerine yığınlardaki verilerin üzerine yazmaya çalışacaktır.


Peki bu açık nasıl tesbit edilir?

Yöntem - 1 : Programın kaynak kodları incelenir ve BoF tesbit edilir.

Yöntem - 2 : Programa yüksek baytlarda veri gönderilir ve test edilir.

Korunma Yöntemleri Nelerdir.?

-C ve C++ dışındaki programlama dillerini kullanın

-Çok uzun girdileri önlemek için kullanıcı girdilerinin geçerliliklerini denetleyin ve önceden anlaşılmış şartlara (mesela A-Z, a-z, 0-9, v.b.) uyduklarına emin olmak için değerleri kontrol edin.

-Eğer C ve C++ dillerinde yazılmış işletim sistemi ve yardımcı programlar kullanılıyorsa, en düşük erişim hakkı prensibini (the principle of least privilege) kullandıklarından emin olun, yıgıt ve yıgın (heap) tasmalarına karsı koruyucu derleyiciler kullanın ve sistemi yamaları ile güncel tutun.


Derleme, düzenleme, anlatım @-X-'e aittir.

En basit şekilde anlatmaya çalıştım. ESP, EIP, badchar tesbiti gibi konuları sonra videolu anlatırım. Sonra görüşmek üzere

Hoşça Kalın. Ahmet A.
________________

Sizin İmza Resimleri Görmeniz İçin Yetkiniz Yok. Lütfen Üye Olun.


Noyan..
imza
Alıntı ile Cevapla
Yeni Konu aç  Cevapla

Etiketler
anlatimi, badchar, based, bof, buffer, c++, cpp, csharp, eip, esp, exploit, nedir, overflow, stack, taban, taşma, yığın

Seçenekler
Stil


Saat: 11:16

Forum Yasal Uyarı
vBulletin® ile Oluşturuldu
Copyright © 2016 vBulletin Solutions, Inc. All rights reserved.

ForumSevgisi.Com Her Hakkı Saklıdır
Tema Tasarım:
Kronik Depresif


Sitemiz bir 'paylaşım' sitesidir. Bu yüzden sitemize kayıt olan herkes kontrol edilmeksizin mesaj/konu/resim paylaşabiliyorlar. Bu sebepten ötürü, sitemizdeki mesaj ya da konulardan doğabilecek yasal sorumluluklar o yazıyı paylaşan kullanıcıya aittir ve iletişim adresine mail atıldığı taktirde mesaj ya da konu en fazla 48 saat içerisinde silinecektir.

ankara escort, izmir escort ankara escort, ankara escort bayan, eryaman escort, bursa escort pendik escort, antalya escort,