23 Temmuz 2012 Pazartesi

Denial of Service ve Session Hijacking

Denial of Service ve Session Hijacking
Denial of Service (DoS) saldırısı boyunca hacker bir sistemi, kaynaklara aşırı yüklenerek veya kullanıcıların sisteme erişimini engellemek suretiyle kullanılamaz hale getirir ve sistemi önemli derecede yavaşlatır. Bu saldırılar tekil sistemlere karşı veya tüm networke karşı yapılabilir ve saldırı denemeleri genelde de başarılı olur.
Session hijacking, saldırganın oturumun yönetimini ele aldığı zaman son kullanıcı için geçici bir DoS saldırısı yaratan bir hacking yöntemidir. Session hijacking, hackerlar tarafından kullanıcının otantikasyonu yapıldıktan sonra kullanıcının o anki oturumunu ele geçirmesidir. Session hijacking ayrıca hackerın server ile client arasında durduğu ve tüm trafiği kestiği man-in-the middle saldırısı içinde kullanılabilir.

DoS saldırılarını, Distributed Denial of Service (DDoS) saldırıları ve spoofing yöntemleri, TCP three-way handshake, sıra numarası belirleme gibi session hijacking öğeleri ve hackerın bu araçları session hijacking saldırısı için nasıl kullanacağını açıklanacaktır.


Denial of Service :
Bir DoS saldırısı, hackerın kullanıcı veya şirket sistemine karşı büyük miktarlarda yaptığı saldırı denemesidir. Bir CEH uzmanı olmak istiyorsanız DoS saldırı çeşitlerini ve DoS ve DDoS saldırılarının nasıl çalıştığını bilmek zorundasınız. Ayrıca robotları (BOTs) ve robot networkleri (BOTNETs) aynı zamanda smurf saldırılarını ve aşırı SYN saldırılarınında bilinmesi gerekir. 

DoS Saldırı Çeşitleri :
DoS saldırılarının iki temel kategorisi vardır. DoS saldırıları tek bir sistemden tek bir hedefe gönderilebileceği gibi (basit DoS) bir çok sistemden tek bir hedefede gönderilebilir (DDoS). DoS’un amacı sisteme veya dataya yetkisiz erişim elde etmek değildir, kullancının bir servisi kullanmasını engellemektir. Bir DoS saldırısının yaptıkları :
  • Nework’ü trafik ile doldurmak böylece normal network trafiğini engellemek
  • İki makine arasındaki iletişimi bozar, bu sayede bir servise erişimi engeller.
  • Özel birinin bir servise erişimini engeller.
  • Servisin belirli bir sistem veya kişi ile iletişimini bozar.
Bir kurbana aşırı trafik gönderilmesi için farklı araçlar vardır fakat sonuç hepsinde aynıdır : Bir sistem veya tüm sistem üzerindeki bir servisin kullanıcı için erişilmez olmasıdır çünkü servis aşırı miktardaki istekler yüzünden cevap veremez hale gelir.

Bir DoS saldırısı genelde en son başvurulan bir saldırıdır. Sofistike olmayan bir saldırı olarak nitelendirilir. Bunun nedeni hacker’ın herhangi bir bilgiye erişim elde etmemesidir fakat hedef için oldukça sinir bozucu bir saldırıdır ve kurbanın bir servise erişimini engeller. DoS saldırıları yıkıcı olabilir ve aynı anda bir çok sistemden saldırı yapılırsa (DDos) tatmin edici bir etki yaratır.

DoS saldırıları saldırganın son kurbana karşı saldırı yapmak için kullandığı riskli sistemlere BOT’lar ve BOTNET’ler tarafından gerçekleştirilebilir. Tehlikedeki sistem veya network, ikincil kurbandır. DoS veya DDoS saldırıları yapılan kurban ise birincil kurban veya hedeftir.

DDoS Saldırılarının Çalışması :
DDoS saldırısı DoS saldırısının gelişmiş halidir. DoS’daki gibi DDoS, sistemdeki çalışan servislere, hedef sistemin işleyemeyeceği miktarda paketler göndererek kullanılmaz hale getirir. DDoS saldırısının temeli DoS taki tek bir host üzerinden saldırının yapılması yerine çok sayıda host üzerinden saldırıları gerçekleştirebilmesidir.DDoS geniş çaplı, kurban sistem üzerine düzenli, koordineli saldırılar yapabilen bir saldırı türüdür.

Saldırı altındaki servisler primary-birincil kurbandır;saldırı başlatmak için kullanılan risk altındaki sistem ise secondary-ikincil kurbandır. Birincil kurbana DDoS gönderen risk altındaki sistemler bazen zombie ‘ler veya BOT’lar olarakda ifade edilir. Genelde başka bir saldırı ile risk altına girerler ve sonrada birincil kurbana belli bir zamanda veya şartlar altında saldırı başlatmak için kullanılır. Saldırının kaynağını takip etmek zordur çünkü bir çok Ip adres kaynak olarak görülür.

Normalde DDoS 3 kısımdan oluşur :
  • Master/Handler
  • Slave/secondary_victim/zombie/agent/BOTNET
  • Victim/Primary_victim

Master saldırı başatandır. Slave, master tarafından kontrol edilen ve riske atılan bir hosttur. Victim, hedef sistemdir. Master, victim (kurban) sisteme saldırıyı başlatmak için slave’i yönlendirir.

DDoS iki aşamada gerçekleşir. Intrusion aşamasında hacker dünyadaki farklı networklerde bulunan zayıf sistemleri etkiler ve DDoS araçlarını risk altındaki bu slave sistemlere yükler. DDoS saldırı aşamasında slave sistemler birincil kurbana saldırıya neden olmak için tetiklenirler.

BOT’ların ve BOTNET’ler Nasıl Çalışır :
BOT, kısa bir web robot ve zekice davranan otomatik yazılım programıdır.Spamcılar, habergruplarına veya maillere otomatik olarak spamları göndermek için sık bir şekilde BOT kullanırlar. BOT’lar ayrıca uzaktan saldırı araçları olarak da kullanılır. Çok sık olarak BOT’lar web sayfa arayüzlü web yazılım agentları olarak kullanılır. Örneğin, web crawler’lar (spider’lar) web sayfası hakkında bilgi toplayan web robotlarıdır.

En tehlikeli BOT’lar kötü amaç için kullanıcının bilgisayarına kendi kendilerine yüklemeyi yapanlardır.Bazı BOT’lar anlık mesajlaşma, IRC veya diğer web arayüzleri kullanılarak internet üzerinden diğer kullanıcılar ile iletişime geçebilir. Bu BOT’lar IRQ kullanıcılarına düz ingilizce ile soru sormalarına izin verir ve sonrada uygun cevaplar hazırlar. Bu gibi BOT’lar bir çok görevi idare edebilirler, bu görevler içinde hava durumu raporlama, zip kod bilgisini sağlama, spor sonuçlarını listeleme, ölçü birimlerini çevirme bulunur.

BOTNET, BOT sistemlerinin oluşturduğu gruptur. BOTNET’ler DDoS saldırıları,spam için SMTP mail göndermeler veya yaratma, Internet pazarlama sahteciliği,yazılımların serial numaralarını, login ID’leri veya kredi kartı numaralarını çalma gibi çeşitli amaçlara hizmet ederler. Genelde bir BOTNET koordineli DDoS saldırısı başlatmak amaçlı olarak bir BOT çalışan risk altındaki sistemler topluluğunu ifade eder.

Smurf Saldırısı :
Smurf saldırısı, kaynak adres olarak kurbanın adresi ile değiştirilmiş büyük miktarlarda ICMP echo (ping paketleri) paketlerini, broadcast olarak networke gönderir.Bu Ip networkte bulunan her bir secondary kurban ICMP echo request isteğine, ICMP echo reply mesajı ile cevap verir, host sayısı ile trafik daha fazla artarak cevap verilir.

Multiaccess broadcast networkte yüzlerce bilgisayar her bir pakete cevap verir. Bu ping reply mesajları ile büyümüş olan DoS saldırısı yaratır, birincil kurbana aşırı miktarda very gider. IRC serverları internet üzerinde smurf saldırılar için birincil (primary) kurbandır.

SYN Flooding :
Bir SYN flood saldırısı bilgisayarın işleyebileceğinden daha hızlı TCP bağlantı istekleri gönderir. Saldırgan her bir paket için rastgele kaynak adres üretir ve SYN flag server’a sahte kaynak adres ile yeni bir bağlantı isteği için ayarlanır. Kurban sahte Ip adrese cevap verir ve hiç bir zaman ulaşmıyacak olan TCP onayını bekler. 

Sonuç olarak kurbanın bağlantı tablosu beklenen reply mesajları ile dolar; tablo dolduktan sonra tüm yeni bağlantı istekleri reddedilir. Normal kullanıcılarınkide reddedilir ve server erişilemez. Bazı SYN Flood saldırılarını önlemenin yolları SYN cookie’ler, RST cookie’ler, Micro Block’lar ve Stack Tweaking’dir.

DoS ve DDoS Saldırılarına Karşı Önlemlerin Açıklanması :
DoS saldırılarını tespit etmek, durdurmak ve önlemek için çeşitli yollar vardır.
Aşağıdakiler mevcut yaygın güvenlik özelliklerini açıklar :

Network-ingress (giriş yetkisi) filtreleme : Tüm network erişim sağlayıcıları network-ingress filtrelemesini herhangi bir fake veya hileli adresden internete gönderilen paketlerden herhangi alt networklere uygulamak zorundadır. Bununla birlikte bu işlem bir saldırının oluşmasını durdurmaz, kaynak adresten gelen saldırının takibini daha kolay yapar ve saldırıyı hızlı bir şekilde sonlandırabilir.

Rate-limiting network trafik : Günümüzde piyasadaki bir çok router, harcanacak bazı türdeki trafiğin bandgenişliğini sınırlamanıza izin veren özelliğe sahiptir. Bu özellik traffic shaping olarakda bilinir.
Intrusion detection systems (Saldırı önleme sistemleri) : IDS, slave, master veya agent olan makineler ile iletişim kuran saldırganları tespit etmek için kullanılır. Bunu yapmak size networkünüzdeki bilgisayarlar kullanılarak bilinen saldırıların başlatıldığını bilmenizi sağlar fakat muhtemelen bu saldırıların yeni versiyonlarını veya saldırıyı yapan araçları tespit edemiyecektir. Bir çok IDS üreticileri Trinoo, TFN veya Stacheldraht network trafiğini tespit edecek imzaya sahiptir.

Host-auditing (Host denetleme) araçları : Dosya tarama araçları, networkünüzdeki bilgisayarlarınızda çalışan mevcut DDoS agent’larıtespit edecek araçlara sahiptir.
Otomatik network izleme araçları : Sahte adreslere sahip paketlerin akışlarını network boyunca takip etme zaman olarak önemli bir görevdir ve saldırı işlemdeyken tamamlanması gerekir.

Session Hijacking :
Session hijacking, kullanıcının server ile başarılı bir otantikasyonu sağlamasından sonra hacker’ın kullanıcı oturumunun kontrolünü almasıdır. Session hijacking, client/server iletişiminin geçerli olan oturumum ID’sinin belirlenmesi için saldırı yapılmasına bağlıdır.Session hijacking, sıra numarası tahmin edebilen araçlar ile yapılması mümkündür.

Spoofing’e Karşı Hijacking :
Spoofing saldırıları hijacking saldırılarından farklıdır. Spoofing saldırısında hacker sniffing işlemini gerçekleştirir ve gönderenden alıcıya doğru network boyunca giden trafiği dinler. Daha sonra hacker spoof ile elde ettiği bilgiyi kullanır veya normal bir sistemin adresini kullanır. Hijacking saldırıyı gerçekleştirmek için aktif olarak kullanıcıyı offline yapmasını gerektirir. Saldırgan kullanıcının bağlantıyı yapmasına ve otantikasyonu sağlamasına bel bağlar. Bu aşamadan sonra saldırgan oturumu ele geçirir ve o anki kullanıcının oturumu sonlanır.

Session hijacking saldırısının devam edebilmesi aşağıdaki 3 aşamaya bağlıdır :
Oturumu İzleme : Hacker açık bir oturumu belirler ve bir sonraki paketin sıra numarasını tahmin eder.
Bağlantıyı Desonkronize Etmek : Hacker geçerli kullanıcının sistemine TCP reset (RST) veya Finish (FIN) paketini oturumunu kapatmak için gönderir.
Saldırganın Paketini Yerleştirmek : Hacker servera tahmin ettiği sıra numaralı TCP paketini gönderir ve server gelen paketi doğru kullanıcının bir sonraki paketi olarak kabul eder.

Session Hijacking Çeşitleri :
Hacker’lar iki türlü session hijacking yöntemi kullanabilir : aktif ve pasif. Aktif ve pasif arasındaki birincil fark hacker’ın oturumdaki katılım seviyesidir. Aktif saldırıda, saldırgan bir aktif oturum bulur ve TCP oturumunda bir sonraki paketin sıra numarasını tahmin eden araçlar ile oturumu devralır.

Pasif saldırıda, saldırgan oturumu devralır ve sonrada diğer normal kullanıcılardan gönderilen tüm trafiği gözlemler ve kaydeder. Pasif session hijacking işleminin sniffing den farkı yoktur. Şifreler gibi bilgileri toplar ve daha sonra bu bilgiyi başka bir oturumda otantikasyonu sağlamak için kullanır.

TCP balantılı bir protokoldür, gelen paketleri orjinal sırasına göre tekrar oluşturmaktan sorumludur. Bu yüzden her paket sequence number (SN) denilen eşsiz bir numaraya sahiptir. Her paket atanmış eşsiz bir numaraya sahip olarak, alınan tarafta orjinal sırasına göre tekrar birleştirilebilir. Eğer paketler sıralarına göre gelmezlerse sequence number, paketleri sıraya koymak için kullanılır. Biraz evvel anlatıldığı gibi sistem TCP oturumunu SYN biti eklenmiş bir paket göndererek başlatır. Bu pakete synchronize packet denir ve client’ın Initial Sequence Number’ını (ISN) içerir. ISN dört milyar muhtemel kombinasyonla yaratılmış rastgele bir numaradır.

Acknowlegment (ACK) paketi gönderildiğinde, her bilgisayar paketteki SN’yi kullanarak onayı verir ve bir artırır. Bu işlem sadece belirli bir paketin alımını onaylamak değildir, gönderene bir sonraki paketin beklenen sıra numarasını söyler. Three-way handshake’de (3 yönlü antlaşma) artış miktarı birdir. Normal veri iletişimlerinde artış miktarı verinin byte olarak boyutuna eşittir (Örneğin, 45 byte’lık bir veri transfer ediyorsanız ACK, paketin sıra numarasına 45 ekleyerek cevap verir)

Session hijacking’de kullanılan araçlar sıra numarası tahmin etme işlemini yaparlar. Başarılı bir TCP sıra numarası tahmin saldırısı için hacker iki sistem arasındaki trafiği inceler. Sonrada hacker veya hacking aracı sıra numarasını tahmin eder veya bir sonraki sıra numarasını hesaplamak için ISN’i bulur. Bu işlem söylenenden daha zordur çünkü paketler çok hızlı gider.

Eğer hacker iletişimi sniff edemezse yani iletişim boyunca kullanılan paketleri yakalayıp inceleyemez ise bir sonraki sıra numarasını tahmin etmek çok daha zor olacaktır. Bu nedenle bir çok session hijacking aracı sıra numaralarını belirlemek için sniffing işlemine izin veren özelliklere sahiptir.

Hackerlar, hedef sistem ile oturum açmış olan sisteme ait, sahte IP adres kullanarak paketler yaratırlar. Hacking araçları hedef sistemin beklemekte olduğu sıra numarasına sahip paketler oluşturur. Fakat Hacker’ın paketi güvenilen sistemin paketinden önce varmalıdır. Bu işlemde güvenen sisteme yoğun bir şekilde paketler göndererek veya güvenen sisteme bir RST paketi göndererek ve böylecede hedef sisteme giden paketlerin ulaşmasını engellenmesiyle gerçekleşir.

Session Hijacking İşleminin Uygulama Adımları :
Özet olarak session hijacking saldırısını devam ettirmek için aşağıdaki 3 adım gerekir :
Oturumu Takip Etme : Hacker açık bir oturumu belirler ve bir sonraki paketin sıra numarasını tahmin eder.
Bağlantıyı Desonkronize Etmek : Hacker geçerli kullanıcının sistemine TCP reset (RST) veya Finish (FIN) paketini oturumunu kapatmak için gönderir. Sırası ile hacker kullanıcının server’dan iletişimini kesmek için DoS saldırı aracı kullanabilir.
Saldırganın Paketini Yerleştirmek : Hacker servera tahmin ettiği sıra numaralı TCP paketini gönderir ve server gelen paketi doğru kullanıcının bir sonraki paketi olarak kabul eder.
  
Session Hijacking’in Oluşturduğu Tehlike :
TCP session hijacking tehlikeli bir saldırıdır. Bir çok sistem bu saldırıya karşı savunmasızdır çünkü bu sistemler birincil iletişim protokolü olarak TCP/IP protocol kümesini kullanır. Yeni işletim sistemleri kendilerini session hijacking saldırısına karşı korumak için ISN hesaplaması için rastgele sayı üreticiler kullanır, bu sayede sıra numarasını tahmin etmek çok daha zorlaşır. Bununla birlikte saldırgan, bu saldırıyı gerçekleştirmek için gerekli bilgiyi sağlayacak olan paketleri inceleyecek olursa bu güvenlik önlemi çok da verimli olmıyacaktır. Aşağıdaki nedenler session hijacking saldırısından uzak durmanın neden önemli olduğunu belirtir :
  • Bir çok bilgisayar savunmasızdır.
  • Bu saldırı için çok az karşı önlem mevcuttur.
  • Session hijacking saldırısını başlatmak basittir.
  • Hijacking tehlikelidir çünkü saldırı sırasında önemli bilgiler elde edilir.

Session Hijacking Saldırısını Nasıl Durdurabilirsiniz :
Oturumu elegeçirme saldırısına karşı savunma için, networkte çeşitli güvenlik yöntemleri kullanılmalıdır. En iyi koruma yöntemi IPSec gibi encryption kullanmaktır. Bu ayrıca sniffing işlemine bağlı diğer saldırılara karşıda savunma sağlıyacaktır. Saldırganlar belki bağlantınızı pasif olarak takip edecekler fakat encryptlenmiş verinizi okuyamıyacaklardır. Diğer bir karşı önlem yöntemi ise SecureShell (SSH, enryptlenmiş Telnet’dir) ve Secure Socket Layer (SSL, HTTPS trafiği için kullanılır) gibi encryption uygulayan uygulama kullanılmasıdır.

Session Hijacking saldırısını önlemeye yardım etmek için network’ünüze erişimi elde etmenin potansiyel yöntemlerini azaltabilirsiniz. Örneğin, içerdeki sistemlere uzaktan erişimi kapatmak. Eğer networkünüzde uzaktan bağlantı yapıp işlerini yapmak isteyenler varsa, tünelleme protokolleri ve encryption (Layer3 Tünneling Protocol[L3TP]/Point-to-Point Tunneling Protocol [PPTP] ve IpSec) kullanan VPN kullanılabilir.
Bir çok güvenlik ağlarının kullanılması potansiyel tehditlere karşı daima en iyi önlemlerdir. Bir tane önlemi uygulamanız yeterli olmıyacaktır fakat hepsini birden kullanmanız profesyonel saldırganların başarı oranını en aza indirecektir. Session Hijacking saldırılarını önlemek için uygulanması gereken önlemelerin kontrol listesi :
  • Encryption kullan
  • Güvenli protokol kullan
  • Gelen bağlantıları sınırla
  • Uzaktan erişimleri en aza indir
  • Güçlü otantikasyon kullan
  • Çalışanları eğit
  • Farklı hesaplar için farklı kullanıcı adı ve şifreler kullan

Hiç yorum yok:

Yorum Gönder