Tek Mesajı Görüntüle
Old 09-01-2005, 08:32 AM   #2
jackal
Geçerken Uğradım
 
Üyelik Tarihi: Aug 2005
Mesajlar: 99
Teşekkür Etme: 1
Thanked 50 Times in 23 Posts
Üye No: 5
İtibar Gücü: 1497
Rep Puanı : 2460
Rep Derecesi : jackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond repute
Cinsiyet :
Varsayılan Ynt: Ağ saldırıları, İp-Tcp-Dns-Arp Spoofing ve Ddos Atakları


DNS Önbellek Zehirleme
DNS sunucuları, bir önceki sorguya verdikleri cevabı bir süreliğine saklamak için önbellek kullanırlar. Her defasında talep yapılan alandan yetki almakla vakit kaybetmemk içindir. İkinci tip DNS Spoofing bu önbelleğin zehirlenerek yanlış bilgi göndermesini sağlamaya yöneliktir. İşte bir örnek:

Önceki örneğin parametrelerini saklıyoruz. İşte saldırının farklı adımları:

cible.com DNS sunucusuna www.attaquant.com isminin çözümlenmesi için sorgu gönderilir;

Hedef DNS sunucusu www.attaquant.com ismini çözümlemek için saldırganın DNS sunucusuna sorgu gönderir;

Saldırganın DNS sunucusu IP adresi ve makine ismini birbirlerine atamaya yarayacak değişmiş kayıtlarla cevap gönderir. Örneğin, www.cible.com sitesinin DNS kayıtlarında gerçek IP'si yerine www.attaquant.com sitesinin IP adresini gönderecek şekilde değişmiş kayıdı olmalıdır.

Uygulama saldırıları
Bu tür saldırılar uygulamalar içerisindeki çeşitli zayıflıklardan yararlanırlar. Yinede bir kısmı tiplerine göre sınıflandırılabilir.

Ayarlama sorunları
Uygulamalardaki öncelikli güvenlik sorunlarının başında ayarlama hataları gelmektedir. İki tip hata vardır: önkabüllü (default) kurulum ve hatalı ayarlama.

WEB sunucuları gibi yazılımlar önkabullü kurulumda saldırganlar için gizli bilgilere erişim sağlar. Örneğin kaynak veriye ulaşmak için dinamik sayfalar üzerinde betikler çalıştırabilirler. Bundan başka bir kurulum önkabullü login/password ile yönetim arayüzü sağlayabilir (uygulama yönetim klavuzunda bulundu). Böyulece saldırgan sitede istediği herşeyi değiştirebilir.

Ana zayıflıklar yanlış tanımlarla ve parametrelerle oluşturulmuş erişim listeleridir. Böylece saldırgan özel sayfalara ve veritabanlarına erişebilir.

Hatalı tanımlamaya klasik örnek Lotus domino web sunucusunda sıklıkla rastlanır. Bu sunucuyu kurarken, Lotus tanım veritabanı hiçbir erişim listesine sahip değildir. Açıkça, eğer names.nsf Lotus veritabanı web tarayıcısı üzerinden kontrol edilmeden erişilebilirse, tüm Lotus kullanıcı isimleri gibi birçok bilginin alınması mümkündür.

Hatalar
Kötü bir program yazılımı her zaman hatalar içerir. Bunlar en önemli zayıflıklardır. Keşfedildikleri zaman dinamik sayfaların kaynak kodlarını ele geçirmek, servisleri kullanılmaz hale getirmek, makinenin kontrolünü almak gibi amaçlarla komutlar çalıştırmaya müsade eder. Bu hatalardan en bilineni ve en ilginç olanı buffer overflow'dur.

Buffer overflow
Bufer overflow kötü proglamlamanın sebep olduğu bir zayıflıktır. Argüman olarak bir değişkenin boyutuna bakılmadan bellek içerisinde bir fonksiyona kopyalanması sonucu ortaya çıkar. Eğer ki değişken, bellek için hafızada ayrılmış yerden büyükse buffer overflow gerçekleşmesi için yeterlidir. Değişkene parçalı bir program geçirerek patlayacaktır. Eğer ki saldırgan başarılı olursa saldırılan uygulamanın hakları ile hedef makinede uzaktan komut çalıştırabilecektir. Güvenli programcılık başlığı altında daha fazla bilgi için:


Avoiding security holes when developing an application - Part 1

Avoiding security holes when developing an application - Part 2: memory, stack and functions, shellcode

Avoiding security holes when developing an application - Part 3: buffer overflows

Avoiding security holes when developing an application - Part 4: format strings

Avoiding security holes when developing an application - Part 5: race conditions

Avoiding security holes when developing an application - Part 6: CGI scripts



Betikler
Kötü betik programlamasıda sıklıkla sistem güvenliğini etkilemektedir. Perl betiklerinin içerisinde web yolu dışındaki dosyaları okumaya izin verebilecek yada izinsiz komutlar çalıştırmaya müsade edebilecek birçok zayıflık bulunmaktadır. Programlama sorunları CGI güvenliği başlığı altında aşağıda sunulmuştur (bölüm 6).

Ortadaki Adam
Bu saldırının en temel amacı iki makine arasındaki trafiği değiştirmektir. İletişim esnasındaki veriyi durdurmak, değiştirmek yada yoketmek olabilir. Bu saldırı, gerçek bir saldırıdan kavram olarak daha geneldir. Bir web sunucusu ve istemcisi arasındaki trafiği değiştirmeye yönelik DNS Spoofing kullana DNS Ortadaki Adam gibi bu prensipe oturtulmuş çeşitli saldırılar vardır. En çok rastlananı SSH trafiğini değiştirmeye yönelik olanıdır.

Denial of service
Bu saldırı, bir servisin yada hedef makinanın erişilebilir olmamasına (belirli uygulama) önderlik edeceğinden iyi adlandırılmıştır. Biz iki tipini ele alacağız: bir tarafta bir uygulama açığını patlatanlar, diğer tarafta bir protokolün kötü uygulanması yada zayıflığı.

Uygulama denial of service
Eğer ki bir uygulama zayıflıkları makinenin kontrolünü ele geçirmeye izin veriyorsa (buffer overflow örneği), aynı zamana denial of service 'e de izin verebilirler. Atanan kaynakların yetersizliği yada bir çökme sebebi ile uygulama erişilemez duruma gelecektir.

Ağ denial of service
TCP yığını protokol özelliklerini kullanan değişik tiplerde denial of service vardır.

SYN Flooding
Bir TCP bağlantısının üç aşamadan oluştuğunu görmüştük (TCP Üç Yollu El Sıkışma). SYN Floofing bu mekanizmayı patlatır. Üç aşama; SYSN göndermek, SYN-ACK almak ve ACK göndermektir. Düşünce hedef makinada bir çok bekleyen TCP bağlantısı bırakmaktır. Bunu başarmak için saldırgan birçok istek gönderir (SYN bayrak=1), hedef makina cevap amacıyla karşılığında SYN-ACK gönderir. Saldırgan ACK ile cevap vermeyecek ve böylece her alınan SYSN için hedef makina askıda TCP bağlantılarına sahip olacaktır. Yarım açık bağlantılar hafıza kaynaklarını kullandıkları için bir yerden sonra makina diğer bağlantıları kabul edemez olacaktır. Bu tip saldırı sadece hedef makinayı etkilemektedir.

Saldırgan, hedef TCP kapısını işaret ederek makinesinin tanımlananamaması için rastgele kaynak IP adresleri (synk4 gibi SYN Flooder) kullanır.

UDP Flooding
Bu saldırı UDP kapısının bağlanmamış modunu patlatır. Tek yada iki makine arasında UDP Fırtınası (UDP paket demeti) yaratır; iki makina arasında ağda tıkanıklık yada her iki tarafta da kaynak doluluğu gibi. UDP trafiğinin TCP trafiğinde önceliği olduğundan bu tıkanıklık daha önemlidir. TCP protokolünün uzun sürede gelen paket onayları karşısında tıkanıklığı kontrol eden bir mekanizması vardır: bu mekanizma gönderme aralığını düzenleyerek tıkanıklık oranını azaltır. UDP protokolü bu mekanizmaya sahip değildir: bir süre sonra tüm bant genişliğini kullanarak TCP trafiğine çok az yer bırakır.

En çok bilinen örneği Chargen Denial of Service Attack'tır. Bu saldırının uygulaması basittir: Bir makinenin chargen servisi ile bir diğerinin echo servisi arasında iletişim sağlamak yeterlidir. Chargen servisi aldığı verilere cevap verene kadar karakterler üretir. Saldırgan kurban makinenin 19 kapısına (chargen) diğer makinenin kaynak kapısından UDP paketleri gönderir. Bu durumda kaynak kapısı UDP kapı 7'dir(echo). UDP Flooding her iki makina arasında bant genişliğinde doluluğa sebep olur. Tüm ağ UDP Flooding'in "kurbanı" olabilir.

Packet Fragment
Packet Fragment DOS, IP parçalanması içeren TCP/IP yığınlarının bazı zayıflıklarını kullanır (IP parçalarını yeniden toplama).

Bu yöntemi kullanan bildik bir saldırı Teardrop'tur. İkinci segmentin parçalanma offset'i ilkinden daha küçüktür ve offset ikincinin boyutuna eklenmiştir. Bunun anlamı ilk parça ikinciyide kapsamaktadır (overlapping). Parçalanma anında birkaç sistem bunu idare etmez ve denial of service meydana gelir. Bu saldırının türevleri vardır: bonk, boink ve newtear gibi. Ping of Death denial of service IP paketinin maksimum boyutundan büyük veri göndererek ICMP yönetiminde patlamaya sebep olur. Bu tip değişik saldırılar hedef makinanın yığılmasına neden olurlar.

Smurfing
Bu saldırı ICMP protokolünü kullanır. Bir Ping (ICMP ECHO mesajı) broadcast adresine gönderildiğinde (örnekte 10.255.255.255), ağdaki her makinaya gönderilir. Bu saldırının temeli ICMP ECHO paketlerini hedefe kaynak IP adresinden gelir gibi göndermektir. Saldırgan ağ broadcast adreslerine sürekli Ping akını gönderecek ve tüm makineler hedefe bir ICMP ECHO REPLY mesajı döneceklerdir. Bu akın ağdaki konukçu sayısı kadar katlanacaktır. Bu durumda, ta ki bu saldırı ile oluşan büyük saldırı tıkanıklığa sebep olana dek tüm ağ denial of service 'ten etkilecektir.

Distributed denial of service
Distributed denial of service saldırılan ağı doldurur. Amaç bu saldırı için çeşitli kaynaklar (daemons) kullanmak ve onları sahip ile kontrol etmektir. En çok bilinen DDoS (Distributed Denial of Service) araçları Tribal Flood Network (TFN),TFN2K, Trinoo ve Stacheldraht 'dir. Şekil 13 tipik bir DDoS ağını göstermektedir:

Pic.13: DDoS network


Saldırgan kaynakların kolayca kontrolü için sahipler kullanır. Saldırıyı ayarlamak ve hazırlamak için sahiplere bağlanmak (TCP) zorundadır. Sahipler kaynağa UDP yoluyla sadece komutlar gönderirler. Sahipler olmazsa saldırgan her bir kaynağa bağlanmak zorundadır. Saldırını kaynağı kolayca belirlenebilir ve uygulamaya konulması uzun olmaktadır.

Her daemon ve sahip kullanılan araçlara ilişkin aralarında özel mesajlar geçerler. Bu bağlantılar aynı zamanda şifrelenebilir yada yetkilendirilebilir. Saldırgan, bu deamon ve sahipleri kurmak için bilinen zayıflıkları kullanır (RPC, FTP gibi servislerdeki buffer overflow). Saldırı tek başına bir SYN Flooding yada Smurf Attack'tır. Her denial of service saldırısının amacı ağı erişilemez kılmaktır.

Sonuç
Günümüzde dışarıdan saldırılara karşı alınan güvenlik tedbirleri daha güçlü olmaktadır ancak aynı şey iç kaynaklı saldırılar için geçerli değildir. Saldırganlara karşı olan zayıf ilişkili korunmalar halen TCP Session Hijacking, ARP Spoofing ve DNS Spoofing gibi saldırılara güzel imkanlar bırakmaktadır. Bundan başka sıra numarasının önceden tahmin edilmesi (IP Spoofing'in kalbi) ve Fragment Attack türevleri ağ cihazlarının işletim sistemlerindeki hatalardan hayat bulmaktadır. Uygulama saldırılarının daha çok zamanı var. Bunun sebebi web ilişkili uygulamaların karmaşıklığındaki büyüme ve geliştiriciler ile sistem idarecilerinin sınırlı zamanlarıdır. Denial of Service saldırısı her bir kullanıcının kendisini koruması gerektiği gerçeğini kabul edene kadar korkutucu olmaya devam edecektir.

Links
RFC 1858 - Security Considerations for IP Fragment Filtering: sunsite.dk/RFC/rfc/rfc1858.html

IP Spoofing Demystified - Phrack 48: www.phrack.org/

Simple Active Attack Against TCP - Laurent Joncheray: www.insecure.org/stf/iphijack.txt

DNS ID Hacking - ADM Crew: packetstorm.securify.com/groups/ADM/ADM-DNS-SPOOF/ADMID.txt

The DoS Project's "trinoo" - David Dittrich: staff.washington.edu/dittrich/misc/trinoo.analysis

The Strange Tale of the DENIAL OF SERVICE Attacks against GRC.COM: grc.com

hping2: www.kyuzz.org/antirez/hping.html

nemesis: www.packetfactory.net/Projects/nemesis/

mendax: packetstorm.securify.com/Exploit_Code_Archive/mendax_linux.tgz

hunt: lin.fsid.cvut.cz/~kra/index.html

dsniff: www.monkey.org/~dugsong/dsniff/

fragrouter: packetstorm.securify.com/UNIX/IDS/fragrouter-1.6.tar.gz
jackal çevrimdışı   Alıntı ile Cevapla