Forum Aski - Türkiye'nin En Eğlenceli Forumu
 

Go Back   Forum Aski - Türkiye'nin En Eğlenceli Forumu > Teknoloji Dünyası > Bilgisayar - Donanım > Teknik Destek ve Yardım
Kayıt ol Yardım Kimler Online Bugünki Mesajlar Arama

canlı casino siteleri canlı casino siteleri sagedatasecurity.com casino siteleri takipçi satın al
porno diyarbakır escort bayan antalya escort malatya escort

Buffer Overflow Nedir? BoF Anlatımı.

Teknik Destek ve Yardım kategorisinde açılmış olan Buffer Overflow Nedir? BoF Anlatımı. konusu , ...


Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Arama Stil
Alt 19.08.2014, 22:09   #1 (permalink)
-X-
Frav frivlbehz.

Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Standart 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 @[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]'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.

__________________
life over comp. sci.
-X- isimli Üye şimdilik offline konumundadır Alıntı ile Cevapla
Cevapla

Yukarı'daki Konuyu Aşağıdaki Sosyal Ağlarda Paylaşabilirsiniz.


Yetkileriniz
Konu Açma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Forum hakkında Kullanılan sistem hakkında
Forumaski paylaşım sitesidir.Bu nedenle yazılı, görsel ve diğer materyaller sitemize kayıtlı üyelerimiz tarafından kontrol edilmeksizin eklenmektedir.Bu nedenden ötürü doğabilecek yasal sorumluluklar yazan kullanıcılara aittir.Sitemiz hak sahiplerinin şikayetleri doğrultusunda yazılı, görsel ve diğer materyalleri 48 saat içerisinde sitemizden kaldırmaktadır. Bildirimlerinizi bu linkten bize yapabilirsiniz.

Telif Hakları vBulletin® Copyright ©2000 - 2016, ve Jelsoft Enterprises Ltd.'e Aittir.
SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.
yetişkin sohbet chatkamerali.net

Saat: 05:06