Osi Referans Modeli Ve Siber Saldırılar
OSI REFERANS MODELİ VE SİBER SALDIRILAR
Merhabalar, bu yazıda network'de kullanılan ve teorik bir yapı olan OSI Referans Modelinden bahsedilecektir. OSI nedir, ne işe yarar, kaç katmandan oluşur, bu katmanların işlevleri nelerdir ve bu katmanlardaki yaygın siber saldırı çeşitleri nelerdir bunları açıklamaya çalışılacaktır. Faydalı bir yazı olması dileğiyle, keyifli okumalar.
ISO(International Organization for Standardization) tarafından 1970’lerin sonu 1980’lerin başı gibi yapılan çalışmalar sonucunda farklı üreticilerin sistemlerinin birbirleriyle iletişim kurmasını sağlayan OSI (open systems interconnect) modeli ortaya çıkarılmıştır. Cihazlar arasındaki iletişimin nasıl olacağı şeklinde tanımlanabilir. OSI Modeli herhangi bir donanım ya da bilgisayar ağı tipine göre değişiklik göstermemektedir.
OSI’nin amacı ağ mimarilerinin ve protokollerinin bir ağ ürünü bileşeni gibi kullanılmasını sağlamaktır. OSI fiziksel değil, mantıksal bir modeldir.
OSİ Referans Modeli çeşitli katmanlardan oluşur, bunlar:
- Physical Layer (Fiziksel Katman)
- Data Link Layer (Veri Bağlantı Katmanı)
- Network Layer (Ağ Katmanı)
- Transport Layer (Taşıma Katmanı)
- Session Layer (Oturum Katmanı)
- Presentation Layer (Sunum Katmanı)
- Application Layer (Uygulama Katmanı)
Toplam 7 katmandan oluşan OSI, ağ iletişim sürecini adımlara bölmektedir. Her katmanın ayrı işlevi vardır ve her bir katmanın görevi kendinden sonraki bir üst katmana servis sağlamaktır.
Sırası ile OSI katmanlarına değinelim.
1.Fiziksel Katman:
- OSI Modelinin ilk katmanı olan fiziksel katman.
- OSI modelinin donanım katmanıdır.
- Bu katmana ortam katmanları da denilebilir.
- Burada verinin iletilmesi için donanım ve fiziksel bağlantılar aktif rol oynar.
- Veriyi çeşitli sinyaller ile bitler halinde fiziksel ortama taşırlar. Böylece dijital veriler fiziksel ortamda temsil edilir.
- Burada kablolar, hub, repeaterlar, konektörler, arayüzler, Ethernet, veri aktarım hızları, veri işaretleme yöntemleri ve diğer fiziksel özellikler bu katmanın içeriklerindendir.
- RS232, ATM, FDDI, gibi protokoller bu katmanda çalışır.
Port: Cihazlar arasındaki iletişimi sağlayan, bu iletişimde köprü görevi gören bir teknolojidir. Ağ iletişimi ve hizmet erişimi için temel bir yapı taş olan bu portlar verinin iletişimini sağlar.
HUB: Yerel ağ içerisinde olan cihazları birbirine bağlar, ağdaki cihazlar arasında veri aktarımı yapılmasını sağlar. İçerisinde portları birbirine bağlayan servisler bulunur. Birden fazla bağlantı noktasına sahiptir. Bu sayede veriler ortak bir ağ üzerinden gönderilebilir.
Repeater: Sinyal tekrarlayıcı da denilebilir. Yani sinyalin zayıf olduğu noktalarda daha hızlı ve kaliteli internet erişimi sağlayan cihazlardır.
Fiziksel Katman Saldırıları
Sistemlerin siber güvenliği kadar fiziksel güvenlikleri de önemlidir. Bu katman, donanımsal ve fiziksel bir katman olduğu için saldırganlar fiziksel olarak da saldırıda bulanabilmektedir. Örneğin, sunucu odasına erişebilen bir saldırgan, sunucuyu kapatma veya yapılandırmalarını değiştirme gibi eylemlerde bulunabilir. Örnek saldırılar aşağıdaki gibidir.
Sniffing Nedir?
Türkçe karşılık olarak koklamak anlamına gelebilir. Bir network ağı üzerindeki veri akışını dinleyip çözümler ve verinin yolunu keser diye tabir edilebilir. Amacı şifreler (email, web, SMB , ftp, telnet, SQL gibi) ,Email text’i, transfer edilen dosyalar (e-mail, ftp, SMB ) gibi hassas bilgileri yakalamaktır. İki çeşit Sniffing metodu vardır:
- Pasif Sniffing: HUB cihazı bulunun ağlarda yaygın olarak kullanılır çünkü gelen veriyi tüm portlara ilettiği için saldırganlar HUB cihazına bağlanarak tüm ağ trafiğini yakalayabilirler. Ağ ortamında bulunan veriler birden fazla bilgisayara aktarılırken, veri paketlerini izlemek daha kolay hale gelir.
- Aktif Sniffing: Switch cihazlarının kullanıldığı sistemlerde tercih edilir. Switch MAC adreslerine bakarak veriyi sadece alması gereken kişiye gönderir. Ancak, saldırganlar switch'i zehirlemeye çalışarak binlerce sahte MAC adresi gönderir ve switch'in işleyişini bozar, HUB gibi davranmasına neden olur. Bu durumda, veri tüm portlardan çıkar ve saldırganlar istedikleri veriye erişim sağlar.
Sniffing Araçları
Sniffing saldırılarını gerçekleştirmek için saldırganlar farklı araçlara başvurabilirler. Bu araçlar, ağ trafiğini izlemek, analiz etmek ve hedef bilgilerini ele geçirmek için kullanılır:
- Wireshark: Ağ trafiğini izlemek ve analiz etmek için yaygın olarak kullanılan bir açık kaynaklı araçtır. Birçok farklı ağ protokolünü destekler.
- Tcpdump: Komut satırında çalışan bir araç olan tcpdump, ağ trafiğini izlemek ve yakalamak için kullanılır. Özellikle Linux sistemlerinde sıkça tercih edilir.
- Ettercap: MITM (Ortadaki Adam) saldırıları için geliştirilmiş bir araçtır. Ağ trafiğini izlemek, manipüle etmek ve analiz etmek için kullanılabilir.
Sniffing’den Korunma Yöntemleri
- Ağınızda olası bir sniffing saldırısını tespit etmek için çeşitli araçlar bulunmaktadır:
- ARP Watch
- Promiscan
- Antisniff
- Prodetect
- Fiziksel erişimi engelleyerek network kartlarına karşı sniffing saldırılarını önleyebilirsiniz.
- Statik IP adresleri kullanarak ARP kayıtlarını elle ekleyerek sniffing riskini azaltabilirsiniz.
- Network switchlerinde port güvenliğini sağlamak için özellikleri etkinleştirmek önemlidir.
- Büyük işletmelerde, farklı VLAN'lar tanımlayarak ağ segmentasyonunu sağlamak da önemlidir.
- Bir diğeri ise veri trafiğini şifrelemektir. Bu amaçla, SSH veya IPsec gibi protokoller kullanılabilir. Şifreleme, veri iletimini güvenli hale getirir ve saldırganların veriyi anlamasını zorlaştırır böylelikle kırılması gereken süre uzar. HHTPS ve VPN kullanılarak veri güvenliği sağlanabilir.
- Güvenli ağ tasarımı, segmentasyon ve güvenlik duvarları kullanarak trafiği izole edebilir, böylece saldırganların erişimini sınırlar.
- Güvenlik duvarları ve antivirüs programları gibi yazılımlar da zararlı trafiği engelleyerek ağ güvenliğini artırır.
2.Veri Bağlantı Katmanı:
Fiziksel olarak bağlı iki cihazın arasında bağlantı kurmayı ve bu bağlantıyı sonlandırmayı sağlayan protokoldür. Veri bağının büyük bir bölümü ağ kartı ile gerçekleşecektir.
Veriler, ağ katmanından fiziksel katmana gönderilir. Bu sırada veriler belli parçalara bölünür bu parçalarda frame denmektedir. Frame(çerçeve) verilerin belli bir kontrol içinde göndermeyi sağlayan paketlerdir.
Frame Tipleri:
- 2 Ethernet I
- 3 Ethernet
- 4 Token Bus
- 5 Token Ring
802.4 Token Bus ve 802.5 Token Ring günümüzde kullanılan çok yaygın frame tiplerinden değildir. Daha çok Ethernet yaygın olarak kullanılır.
Ayrıca switch, bu katmanda çalışan bir cihazdır. Çünkü bu katmanda tanımlı MAC adreslerini algılayabilirler ve bir porttan gelen veri paketini sadece gerekli olan porta yollayabilirler.
Cihazlar arasında veri akış kontrolü için de protokol tanımlanır. Bu protokol IEEE 802.11 veri bağlantısı katmanını iki alt katmana ayırır.
Bunalar MAC (MEDİA ACCESS CONTROL) ve LLC (LOGİCAL LİNK CONTROL) katmanlarıdır.
- MAC alt katmanı veriyi hata kontrol kodu(CRC), alıcı ve gönderenin MAC adresleri ile beraber paketler ve fiziksel katmana aktarır. Alıcı tarafta da bu işlemleri tersine yapıp veriyi veri bağlantısı içindeki ikinci alt katman olan LLC’ye aktarmak görevi yine MAC alt katmanına aittir.
- LLC alt katmanı bir üst katman olan ağ katmanı için geçiş görevi görür. Protokole özel mantıksal portlar oluşturur(Service Access Points, SAPs). Böylece kaynak makinada ve hedef makinada aynı protokoller iletişime geçebilir(örneğin TCP/IP←>TCP/IP). LLC ayrıca veri paketlerinden bozuk gidenlerin(veya karşı taraf için alınanların) tekrar gönderilmesinden sorumludur. Flow Control yani alıcının işleyebileceğinden fazla veri paketi gönderilerek boğulmasının engellenmesi de LLC’nin görevidir.
Media Access Control (MAC) and Logical Link Control (LLC):
Veri Bağlantı Katmanı Saldırıları
Spoofing Nedir?
Bu katmanda Spoofing saldırılarına değinilebilir. Türkçe karşılığı olarak “aldatma” olarak bilinir. En bilinen saldırı çeşitlerinden biridir. Saldırganlar kötü amaçlı iletişimi, kaynağı güvenli göstererek yaptığı bir maskeleme işlemidir. TCP/IP paketindeki birçok protokol, ileti kaynağını veya hedefini doğrulamak için mekanizmalar sağlamaz. Bu durumda, gönderen veya alıcı ana bilgisayarın kimliğini doğrulamak için uygulamaların ek önlemler alması gerekir. Aksi halde bu saldırıya maruz kalabilirler.
Saldırgan, spoofing işlemiyle alıcıyı kaynağı güvenilir göstererek, kullanıcıların hassas bilgilerini çalmayı, kötü amaçlı yazılım indirmeyi veya hileli işlemleri gerçekleştirmeyi hedefler. Bu yöntem, oldukça tehlikeli olup, farklı türleri bulunmaktadır.
Bazı Spoofing türleri:
- IP Spoofing: IP spoofing, genellikle DoS (Hizmet Dışı Bırakma) saldırılarında sıkça kullanılır. Bu tür saldırılarda, hedef bilgisayarın sorgu trafiğini aşırı derecede artırmak amaçlanır ve saldırgan, saldırı paketlerine yanıt almaya önem vermez. Bu nedenle, sahte adres kullanarak paket göndermek uygundur. IP spoofing'in bu amaçla kullanılmasının ek avantajları vardır. Her sahte paket, farklı bir adresten geliyormuş gibi göründüğü için filtreleme işlemi daha zor olur ve saldırının gerçek kaynağı gizlenmiş olur. IP Spoofing saldırıları, tüm protokollerde gerçekleştirilebilir, ancak sadece TCP protokollerini kullanan uygulamalarda başarılı olamazlar. UDP protokolünü kullanan uygulamalarda saldırı girişiminde bulunmak daha kolaydır. Bunun nedeni, TCP protokolünde üçlü el sıkışmasının zorunlu olmasıdır.
- ARP Spoofing: Açılımı Adres Çözümleme Protokolü (Address Resolution Protocol) olan ARP, bir cihazın Yerel Alan Ağı veya Ethernet üzerinde başka bir cihazla iletişim kurmak istediği zaman kullanılan bir protokoldür. ARP, İnternet Protokolü (IP) adreslerini bir Medya Erişim Kontrolü (Media Access Control – MAC) adresine çevirir.
- E-Posta Spoofing: Siber saldırıların çoğu e-posta üzerinden gerçekleştiriliyor. Saldırganlar, hedefledikleri kişiye gönderilen e-postayı, gönderenin adresini değiştirerek güvenilir bir gönderen adresiymiş gibi göstermeye çalışırlar. E-posta adresinin dikkatli bir şekilde incelenmediği durumlarda, genellikle güvenilen bir kaynaktan geldiği düşünülür ve herhangi bir farklılık fark edilmez. Bu amaçla kullanılan yaygın teknikler, e-posta adresinde zor görülen veya diğer karakterlere çok benzeyen karakterlerin kullanılmasını içerir. Saldırganlar, genellikle hedef kişinin bir bağlantıya tıkladığında kötü amaçlı yazılımı çalıştıran bir e-posta iletisi gönderirler.
- URL Spoofing: URL Spoofing saldırıları, gerçekleştirilmesi için farklı bir URL adresinin gönderilmesini içerir. Bu yöntem, eski internet tarayıcılarında etkili olabilirken, yeni tarayıcılarda genellikle başarısız olur. Saldırganlar, hedefledikleri kişiye benzer bir URL linki göndererek bu tür bir saldırıyı gerçekleştirebilirler.
- DNS spoofing: DNS spoofing'de, bir bilgisayar korsanı, trafiği sahte bir web sitesine yönlendirmek için meşru bir web sitesinin DNS kayıtlarını değiştirir. Bu yöntem, oturum açma kimlik bilgilerini ele geçirmek veya kötü amaçlı yazılım yaymak için kullanılabilir.
- SMS spoofing: SMS spoofing, gönderenin ayrıntılarını, telefon numarası veya kaynak kullanıcı kimliği gibi, hile veya dolandırıcılık amacıyla değiştirmeyi sağlayan bir tekniktir. SMS'leri engelleyemez veya mesaja cevap veremezsiniz. Bilgisayar korsanları, gerçek kimliklerini gizlemek ve meşru bir kuruluş veya şirket gibi görünmek için bu tekniği tercih ederler. Bu sahte metinler genellikle kullanıcıları mevcut URL'lere yanıt vermeleri için kandırır ve kötü amaçlı dosyayı cep telefonlarına indirme olasılığı vardır. Sahte iş teklifleri, sahte bankacılıkla ilgili mesajlar, sahte piyango mesajları, para iadesi dolandırıcılıkları ve şifre sıfırlama mesajları, SMS spoofing'in bazı örnekleridir.
Spoofing’den Korunma Yöntemleri
- Güçlü Kimlik Doğrulama: İki faktörlü kimlik doğrulama gibi güçlü kimlik doğrulama yöntemlerini kullanarak, kullanıcıların kimliklerini daha güvenli bir şekilde doğrulayabilirsiniz.
- Güvenlik Yazılımları Kullanma: Güvenlik duvarları, antivirüs programları ve antispam filtreleri gibi güvenlik yazılımlarını kullanarak, kötü niyetli trafiği engelleyebilir ve saldırıları tespit edebilirsiniz.
- Güncel Yazılım ve Sistemler: Yazılım ve sistemlerinizi düzenli olarak güncellemek, bilinen güvenlik açıklarını kapatmanıza ve saldırılara karşı daha dirençli olmanıza yardımcı olabilir.
- HTTPS Kullanımı: HTTPS protokolünü kullanarak, iletişiminizi şifreleyebilir ve verilerinizi daha güvenli bir şekilde iletebilirsiniz. Bu, veri alışverişi sırasında bilgilerinizi korur ve ortadaki adam saldırılarına karşı savunma sağlar.
- DNSSEC Kullanımı: DNSSEC, DNS kayıtlarını doğrulamak ve kötü niyetli yönlendirmeleri önlemek için kullanılır. Bu, DNS spoofing saldırılarına karşı daha güvenli bir altyapı sağlar.
- Dikkatli URL Kontrolü: E-posta ve diğer mesajlarda gelen URL'leri dikkatlice kontrol ederek, sahte web sitelerine yönlendirme girişimlerini tespit edebilirsiniz.
- Eğitim ve Farkındalık: Kullanıcıları, spoofing saldırılarının nasıl gerçekleştiği ve bunlardan nasıl kaçınılacağı konusunda eğitmek önemlidir. Bilinçli kullanıcılar, sahte mesajları ve dolandırıcılık girişimlerini daha kolay tanıyabilir ve engelleyebilirler.
3.Ağ Katmanı:
Bu katmanda artık bir üst katmandan gelen veriler paket haline dönüşür. Bu katmandaki amaç veri paketlerinin farklı bir katmana iletilmesidir. Bunu yaparken de adresleme ve yönlendirme kullanılır.
Her bir veri paketinin doğru hedefe gönderilmesini sağlamak için her bir cihazın kendine özgü bir adresi olması gerekir. Bu adreslere IP adresleri denir. IP adresleri benzersizdir. IP adresleri bir üst katmandan gelen segmentin üzerine encapsulition işlemi ile layer 3 e yerleştirilir. Bu işlem sayesinde hedef cihaz gönderilen paketin kendisine geldiğini anlar ve veriyi göndereceği yolu da buna göre belirler. Bu işleme de adresleme denir.
Veri göndermek için yönlendirme işlemi yapılır. Bu işlem de router cihazlarıyla olur. Routerlar, verinin pakete ulaşması için en iyi yolu seçer ve yönlendirir. Bunu yaparken hedef MAC adreslerinden faydalanır. Switch ise bağlı cihazlar arasındaki haberleşmeyi sağlayan araçtır.
Bu katmanda kullanılan protokoller:
- IP (internet Protocol-(PV4, IPV6)
- IP (Internetwork Packet Exchange)
- ARP (Address Resolution Protocol)
- IMP (Internet Control Message Protocol)
Yönlendirme Protokolleri:
- RIP (Routing Information Protocol)
- EIGRP (Enhanced interior Gateway Routing Protocol)
- OSPF (Open Shortest Path First )
- BGP (Border Gateway Protocol
Ağ Katmanı Saldırıları
MiTM Nedir?
Ortadaki Adam saldırısı, isminden de anlaşılacağı gibi; iki taraf arasındaki iletişimi gizlice dinleyen, değiştiren veya engelleyen bir saldırı türüdür. Bu tür bir saldırı, ağdaki paketleri yakalayarak değiştirme işlemine dayanır.
Kablosuz ağlarda, paketler tamamen yayınlanır, bu nedenle herhangi bir ön işleme gerek kalmadan tüm paketler saldırgan tarafından yakalanabilir. Bu yüzden Ücretsiz Wi-Fi sunan yerler, MiTM saldırılarının gerçekleştirilmesi için ideal alanlardır. Şifrelenmemiş paketlerin içeriği kolayca okunabilir. Wifi ağlarındaki saldırganlar, ağ trafiğini kendi üzerlerinden yönlendirerek ağdaki kullanıcıların trafiğini kendi üzerlerinden geçirirler. Bu şekilde, saldırgan, bu trafiği ele geçirerek kişisel veriler, şifreler vb. gibi birçok hassas bilgi elde edebilir.
MiTM Saldırılarından Korunma Yöntemleri
- Güvenli Ağlar Kullanma: Genelde açık Wi-Fi ağları gibi güvensiz ağlarda dolaşmaktan kaçının. Eğer kullanmanız gerekiyorsa, VPN gibi güvenli bağlantılar kullanarak iletişiminizi şifreleyin.
- HTTPS Kullanma: Web sitelerine erişirken, adresin "https://" ile başladığından emin olun. HTTPS, iletişiminizi şifreleyen ve güvenliği sağlayan bir protokoldür.
- Güvenilir Ağlar Kullanma: Güvendiğiniz ve bilinen ağları tercih edin. Özellikle finansal işlemler veya hassas bilgiler içeren iletişimler için kendi evinizin veya mobil ağınızın güvenli olduğundan emin olun.
- Güvenlik Yazılımı Kullanma: Bilgisayarınıza veya cihazınıza güvenlik yazılımı yükleyin ve güncel tutun. Bu tür yazılımlar, potansiyel tehditleri tespit edip engelleyebilir.
- Doğrulama Kullanma: İki faktörlü kimlik doğrulama gibi ek güvenlik önlemleri kullanarak hesaplarınızı koruyun. Bu, hesabınıza yetkisiz erişimleri sınırlamaya yardımcı olabilir.
- Dikkatli Olunmalı: Bilinmeyen kaynaklardan gelen e-postaları veya bağlantıları tıklamaktan kaçının. Phishing saldırıları, MITM saldırılarını kolaylaştırabilir.
- Güncel Kalın: İşletim sistemlerinizi, tarayıcılarınızı ve diğer yazılımlarınızı düzenli olarak güncelleyin. Bu güncellemeler, bilinen güvenlik açıklarını kapatır ve cihazınızın daha güvenli olmasını sağlar.
DoS/DDoS Saldırıları Nedir?
- DoS (Denial Of Service- Servis Hizmet Reddi) saldırısı saldırganın hedefe yönelik gerçekleştirdiği sistemi geçici olarak devre dışı bırakmak için yapılan saldırıdır. Ağ trafiğini arttırarak sistemi yavaşlatan, kullanıcıların sisteme girmesini engelleyen, hizmetleri kullanılmaz hale getiren bir saldırı türüdür.
- DDoS (Distributed Denial of Service- Dağıtılmış Hizmet Reddi) ise birden fazla kaynaktan tek hedefe yapılan saldırı türüdür. Saldırı zombi cihazlardan faydalanılarak yapılır. Zombi cihazlar, internet korsanları tarafından ele geçirilmiş elektronik cihazlardır ve saldırganların amaçları doğrultusunda kullanılırlar. Zombi çeşitli zafiyetlerden yararlanarak sistemlerine sızılmış ve arka kapı yerleştirilmiş sistemler ile saldırı gerçekleştirilir.
DDoS saldırıları, istenilen hedefe ulaşmada DoS saldırılarına göre daha başarılıdır. Çünkü birden fazla kaynaktan hedefe doğru gerçekleştirildiği için ana kaynağı tespit etmek zorlaşır.
DoS ve DDoS Saldırıları Belirtileri
- Normalin dışında sistem ağ trafiği: Sisteminizde normalden çok daha fazla ağ trafiği olduğunu fark ederseniz, bu bir saldırının işareti olabilir.
- Sistem hızının anormal düşmesi veya çökmesi: Sisteminizin beklenmedik şekilde yavaşlaması veya tamamen çökmesi, bir DoS/DDoS saldırısı olabileceğini gösterebilir.
- Aşırı derecede UDP, SYN ve GET/POST istekleri: Normalin üzerinde UDP, SYN ve GET/POST gibi isteklerin bulunması, saldırı girişimini işaret edebilir.
DoS ve DDoS Türleri
DoS ve DDoS Saldırlarından Korunma Yöntemleri
- Ağ Filtreleme ve Firewalls Kullanın: Ağ filtreleme ve güvenlik duvarları, istenmeyen trafikleri engelleyerek sistemleri DoS saldırılarına karşı korur.
- Yüksek Bant Genişliği ve Yedeklilik: Yüksek bant genişliği ve yedekli ağ altyapısı, yoğun trafikleri absorbe ederek hizmet kesintilerini en aza indirir.
- DoS Korumalı Hosting Hizmetleri Kullanın: Bazı web hosting sağlayıcıları, DoS ve DDoS saldırılarına karşı korumalı hizmetler sunarlar. Bu hizmetler genellikle trafik analizi, filtreleme ve saldırı tespit sistemlerini içerir.
- IPS/IDS Sistemleri Kullanın: Intrusion Prevention Systems (IPS) ve Intrusion Detection Systems (IDS), ağ trafiğini izleyerek anormal aktiviteleri tespit eder ve saldırıları engeller.
- CDN (Content Delivery Network) Kullanın: CDN'ler, içeriği coğrafi olarak dağıtarak ve dağıtık sunucular kullanarak yük dengesini sağlayarak web sitelerini DDoS saldırılarına karşı korur.
- Geçici IP Engelleme: Belirli IP adreslerinden gelen aşırı trafik tespit edilirse, bu IP adreslerini geçici olarak engellemek DoS saldırılarını engelleyebilir.
- Güvenlik Yazılımı ve Güncellemeleri Kullanın: Güvenlik yazılımları ve sistem güncellemeleri, bilinen açıkları kapatır ve saldırı vektörlerini azaltır.
4.Taşıma Katmanı:
Taşıma katmanı veya iletim katmanı olarak ifade edilebilir. Üst katmandan aldığı verileri segmentlere bölerek bir alt katmana iletir. Alt katmandan aldıklarını da birleştirerek bir üst kata iletir.
- SPX, TCP/IP, UDP gibi protokoller bu katmanda çalışır.
- Bu protokoller hata kontrolü gibi görevleri de yerine getirir.
- Bu katmanda veriler segment (kesim) halinde taşımakta.
- Bu katmanın iki önemli protokolü var. Bunlardan birincisi TCP diğeri UDP’dir
TCP(Transmission Control Protocol):
- Güvenilir bir protokoldür.
- Bağlantı tabanlı (Connection-Oriented) bir protokoldür.
- Üçlü el sıkışma yöntemini kullanır (three way handshake).
UDP(User Datagram Protocol):
- TCP'ye göre daha hızlıdır.
- Güvenilir değildir.
- AlLs kontrolü sağlamaz.
- Bağlantısız (Connectionless) bir protokoldür.
Taşıma sırasında kullanılan bazı önemli portlar ise aşağıdaki gibidir.
Taşıma Katmanı Saldırıları
TCP SYN Flood Attack Nedir?
TCP/IP ağlarında bağlantı kurma süreci, temel olarak üç aşamalı bir el sıkışma mekanizmasına dayanır. Bu el sıkışma şu şekilde gerçekleşir:
- İstemci, sunucuya bağlantı talebini belirten bir SYN (senkronizasyon) mesajı gönderir.
- Sunucu, istemciye bir SYN-ACK mesajı göndererek bu talebi doğrular.
- İstemci, bir ACK (onay) mesajı ile yanıt verir ve bağlantı resmen kurulur.
Ancak, TCP SYN Flood saldırısında, kötü niyetli bir saldırgan, hedef sunucuya bir dizi SYN isteği gönderir, ancak kasıtlı olarak son ACK mesajını göndermekten kaçınır. Bu, sunucunun asla yanıt alamayacağı bağlantılar oluşturur ve her biri için kaynak tüketimine yol açar.
TCP SYN Flood'un ana hedefi, kaynakların tükenmesidir. Sunucu, bu yarı açık bağlantılar için kaynak ayırmaya devam ettikçe giderek daha fazla zorlanır ve sonunda meşru trafiğe yanıt veremez hale gelir. Bu durumun sonuçları şunlardır:
- Hizmet Kesintisi: Meşru kullanıcılar, etkilenen hizmete erişmekte zorlanır veya tamamen erişemez.
- Kaynak Gerginliği: Bellek ve işlem gücü dahil olmak üzere sunucunun kaynakları, sahte istek seli nedeniyle tükenir.
- Olası Sistem Arızaları: Aşırı durumlarda, çok sayıda yarı açık bağlantı nedeniyle sunucu çökebilir veya arızalanabilir.
UDP Flood Attack Nedir?
UDP Flood DDoS Saldırısı, bir ağı büyük miktarda UDP paketleri göndererek uzaktaki bir sunucudaki rastgele portlara saldırır. Bu saldırı türünde, sunucunun o portta dinleyen uygulamayı kontrol etmesine ve uygulama bulunamadığında ICMP 'Hedefe Ulaşılamaz' paketi göndermesine neden olur. Sonuç olarak, ağın bant genişliğini veya kaynaklarını tüketir.
5.Oturum Katmanı:
Oturum katmanı olarak bilinmektedir. Bir cihaz aynı anda birden fazla bilgisayarla etkileşim halinde bulunabilir. İşte bu katman da cihaz doğru bilgisayarla bağlantı kurmayı sağlar. Bağlantı kurulduktan sonra bağlantının yapılması, kullanılması ve bitilmesi işlemleri yapılır. Bu, sunum katmanına yollanacak veriler farklı oturumlarla birbirinden ayrılarak yapılır.
Örneğin A bilgisayarı B üzerindeki yazıcıya yazdırırken, C bilgisayarı B üzerindeki diske erişiyorsa, B hem A ile olan, hem de C ile olan iletişimini aynı anda sürdürmek zorundadır.
NetBIOS, RPC, Named Pipes ve Sockets gibi protokoller bu katmanda çalışır.
Oturum Katmanı Saldırıları
Session Hijacking Attack Nedir?
Session kavramı, web sitesinin sunucu tarafında tutulan bir takım bilgileri ifade eder. Bu bilgiler, oturum sonlandığında silinir. Bazı durumlarda, bu Session bilgilerini (önemli ise) elle unset ederiz. Bu şekilde, Session tarafında gerçekleştirilebilecek bir saldırıyı engeller ve verilerin güvenliğini sağlarız. Kullanıcı bir siteye girdiğinde, adına bir adet Session yani oturum oluşturulur. Bu oturumun bir ID'si (Session id) yani bir oturum anahtarı bulunur. Bu anahtar, kullanıcının isteklerini sunucuda gerçekleştirmek için kullanılır. Session hijacking saldırısı, bu oturum anahtarının ele geçirilmesi yoluyla gerçekleştirilir. Bu ID'yi görmek için bir tarayıcı (örneğin Chrome) üzerinden erişebilirsiniz.
Yaygın olarak kullanılan araçlar;
- Burp Suite
- OWASP ZAP
- Ettercap
- JHijack
- WebSploit Framework
- Bettercap
Session Hijacking Saldırılarından Korunma Yöntemleri
- HTTP ve SSL kullanarak uçtan uca şifreleme işlemi ile yetkisiz erişim önlenir. SSL(Güvenli yuva katmanı) verileri aktarılmadan önce şifreler. Yani saldırgan bilgileri çalmayı başarsa bile onları okuyamaz.
- Set-Cookie HTTP başlığını kullanarak HttpOnly özelliğini ayarlayarak, istemci tarafı komut dosyalarından çerezlere erişimi engelleyebilirsiniz. Bu, XSS ve tarayıcıya JavaScript enjekte edilmesine dayalı diğer saldırıları önler. Ek güvenlik sağlamak için Secure ve SameSite yönergelerinin belirtilmesi de önerilir. Bu sayede, çerezler sadece HTTP talepleri aracılığıyla sunucuya iletilecek ve JavaScript tarafından erişilemeyecektir. Ayrıca, Secure yönergesi sayesinde çerezler yalnızca güvenli HTTPS bağlantıları üzerinden iletilirken, SameSite yönergesi tarayıcıların üçüncü taraf kaynaklara çerez göndermesini kısıtlar, böylece Cross-Site Request Forgery (CSRF) saldırılarına karşı koruma sağlanır.
- Web sunucuları, uzun ve rastgele oturum çerezleri oluşturabilir, böylece düşmanın bir oturum çerezinin içeriğini tahmin etme veya tahmin etme şansını azaltır.
- Oturum kimliği izleyicileri, bu kimliklerin kullanılıp kullanılmadığını izlemek için kullanılabilir. Ayrıca, Blacksheep gibi yardımcı programlar, ağa sahte oturum kimlikleri göndererek ve bir davetsiz misafirin oturum kimliğini kullanıp kullanmadığını izlemek için kullanılabilir.
- Bir oturumun kullanımı sona erdiğinde, otomatik olarak oturum kapatılmalı ve istemcinin farklı bir oturum kimliği kullanarak yeniden kimlik doğrulaması istenmelidir. Ayrıca, bir sunucu, oturum çerezinin ağda açığa çıkma süresini en aza indirmek için istemcinin bilgisayarından oturum çerezini silmek üzere yönlendirilebilir.
6.Sunum Katmanı:
Bu katmanda, bilgisayarlar arası paylaşılan verilerin anlaşılır olması sağlanmaktadır. Bu sayede farklı programlar birbirinin verisini kullanabilmektedir. Bu katmanda verinin şifrelenmesi, açılması, sıkıştırılması işlemleri yapılmaktadır.
Bu katmanda kullanılan protokoller:
- GIF
- MPEG
- JPEG
- TIFF
- ASCII
Sunum Katmanı Saldırıları
Phishing Nedir?
İsminden de anlaşılacağı üzere bir oltalama saldırısıdır. Kullanıcıların bilgilerine erişmek için yapılan, genelde e-posta yoluyla gerçekleştirilen bir saldırı türüdür. İnsanların ahlaki ve vicdani duygularından faydalanıp, hediye, indirim, ödül vb gibi senaryolar kurgulayarak veya tanıdığı kişi ya da kurumdan gönderilmiş gibi gösterilerek kişinin bağlantıya tıklamasını sağlamak için yapılan saldırıdır. Bu bağlantıya tıkladıktan sonra saldırganın bağlantının açıldığı cihaz üzerindeki bilgilere ulaşabilir, cihazın kontrolünü ele geçirebilir veya çeşitli zararlı yazılımları sisteme yükleyebilir.
Phishing Saldırılarından Korunma Yöntemleri
- Bilgisayarınızı korumak için güvenlik yazılımı kullanın ve bu yazılımı, yeni güvenlik tehditleriyle başa çıkabilmesi için otomatik olarak güncellemeye ayarlayın. Otomatik güncellemeler, bilgisayarınızı güncel tehditlere karşı koruyarak önemli bir güvenlik katmanı sağlar.
- Cep telefonunuzu korumak için de güvenlik yazılımı kullanın ve bu yazılımı otomatik güncellemelere ayarlayın. Bu güncellemeler, telefonunuzu çeşitli güvenlik tehditlerine karşı koruyarak kişisel ve hassas bilgilerinizin güvenliğini sağlar.
- Hesaplarınızı korumak için çok faktörlü kimlik doğrulama kullanın. Bu, hesabınıza erişmek için sadece bir kullanıcı adı ve şifre kullanmanız gerektiğinde, dolandırıcıların erişimini zorlaştırır. Çok faktörlü kimlik doğrulama, hesabınıza giriş yapmak için birden fazla kimlik bilgisinin gerekli olduğu bir güvenlik önlemidir.
- Verilerinizi korumak için düzenli olarak yedekleme yapın. Bilgisayarınızdaki ve cep telefonunuzdaki verileri harici bir sabit sürücüye veya buluta yedekleyerek, veri kaybı durumunda önemli bilgilerinizi koruyabilirsiniz. Bu yedeklemeler, beklenmedik durumlar veya cihaz arızaları durumunda veri kaybını önlemenize yardımcı olur ve verilerinizi güvende tutar.
7.Uygulama Katmanı:
Bilgisayar uygulamaları ile network arasında ara birim sağlayan katmandır. Uygulamaların network üzerinde çalışmasını bu katman sağlar. Bu katman son katman olduğu için diğer katmanlara bir hizmet sunmamaktadır. Bu katmanda çeşitli yazılımlar kullanarak (chrome, firefow, skype vb.) uygulamaların verilerini oluşturulmaktadır.
Dosya aktarımları, uzaktan erişimi etkinleştirme, ağ yönetimi, istemci/sunucu işlemleri, mail ve diğer network yazılımı hizmetleri bu katmandan sorumludur. E-posta ve veri tabanı gibi uygulamalar bu katman aracılığıyla yapılmaktadır.
Bu katman da kullanılan protokoller:
- SSH
- FTP
- TFIP
- SMTP
- SNMP
- Telnet
- DNS
- TTP
Uygulama Katmanı Saldırıları
Bu katman geniş bir katman olduğu için gerçekleşen saldırı türleri de oldukça fazladır. En yaygın saldırı türlerinden bazıları:
Sql Injection nedir?
Uygulamadan alınan parametrelerin doğrudan veri tabanı sunucusuna gönderilmesi sonucu veri tabanı üzerinden izinsiz sorgu çalıştırıp verileri silme, değiştirme, ekleme işlemidir. Bu işlemde düzgün filtrelenmeyen girdilerden faydalanılarak veri tabanı manipüle etmeyi sağlayan kod enjeksiyonu yapılır. Sebebi girdilerin düzgün parse edilmemesidir. Backend veri deposunu hedef alır. Veritabanından veri alındığı (cookie, HTTP başlıkları da dahil olmak üzere) bütün girdi noktalarında bulunur. Manuel ya da otomatik tool ile de çalıştırılabilir.
Sql Injection Çeşitleri Nelerdir?
- In-Band: Bant içi en popüler olan saldırı türüdür. Sql enjeksiyonları aynı iletişim kanalını kullanır ve iki çeşidi vardır:
- Error-Based: Saldırgan veritabınında hata mesajı oluşturmasına neden olan belirli eylemleri gerçekleştirir. Hangi veritabanı kullandığını, işleyicilerin bulunduğu sunucunun süürmünü vb. belirler.
- Union-Based:Sorguları URL içinde oluşturup giriş alanlarında birden fazla ifadeyi birleştirip yanıt oluşturabilir.
- Out of Band: Saldırgan saldırıyı başlatmak ve sonuçları toplamak için aynı kanalı kullanamadığında meydana gelir. Veri tabanı sunucusu, DNS veya HTTP istekleri yapma yeteneği ile bir saldırgana veri gönderebilir.
- Infrential: Bu saldırı türünde, web uygulaması veritabanı verilerini doğrudan iletmeyebilir, bu yüzden saldırgan sonuçları göremez. Bunun yerine, saldırgan sorgular gönderir ve web uygulamasının yanıtlarını ve veritabanının davranışını gözlemleyerek veritabanının yapı ve mantığını anlamaya çalışır.
- Boolean-Based: Veritabanı sorgusunda doğru yanlış ifadesi döndürür.
- Time-Based: Yanıt süresidir ve saldırganın sorgunun doğru veya yanlış olduğuna karar vermeye yardımcı olur.
Sql Injection Saldırılarından Korunma Yöntemleri
- Parametreli Sorgular Kullanın: SQL sorgularını oluştururken parametreli sorguları tercih edin. Bu, kullanıcı girişi veya diğer dış etkenlerle doğrudan birleştirilen sorguların yerine parametreler aracılığıyla sorguların çalıştırılmasını sağlar.
- Doğrulama ve Yetkilendirme: Kullanıcı girişleri ve yetkilendirme kontrolleri gibi doğrulama adımlarını sağlamlaştırın. Kötü niyetli kullanıcıların veritabanı sorgularını yürütmelerini önlemek için yetkilendirme kontrolleri oluşturun.
- Giriş Denetimi ve Veri Temizleme: Kullanıcı girişlerini temizleyin ve doğrulayın. Kullanıcı girişlerini kabul ederken, özel karakterleri veya SQL kodunu etkisiz hale getiren işlevleri temizleyin veya kaçış karakterleri ekleyin.
- ORM Kullanımı: Object-Relational Mapping (ORM) gibi çerçeveler kullanarak veritabanı etkileşimlerini soyutlayın. Bu, veritabanı sorgularının doğru bir şekilde oluşturulmasını ve güvenli bir şekilde çalıştırılmasını sağlar.
- Least Privilege Prensibi: Uygulamanın veritabanı üzerinde yalnızca gereken minimum yetkilere sahip olmasını sağlayın. Veritabanı kullanıcılarının sadece gereken minimum erişim düzeyine sahip olmalarını sağlayarak saldırganların zararlı etkilerini sınırlayabilirsiniz.
- Güvenlik Duvarları ve WAF'lar: Web Application Firewall (WAF) gibi güvenlik duvarları kullanarak SQL Injection saldırılarını algılayın ve engelleyin. Bu tür araçlar, saldırı girişimlerini tespit edebilir ve engelleyebilir.
- Güncel Yazılım ve Yama Uygulamaları: Uygulamanızın ve kullanılan yazılımların güncel ve yamalı olduğundan emin olun. Güncellemeler, güvenlik açıklarını kapatır ve saldırılara karşı daha dirençli hale getirir.
- Güvenlik Testleri ve Denetimleri: Uygulamanızı SQL Injection ve diğer güvenlik açıklarına karşı düzenli olarak test edin. Bu, zayıf noktaları belirlemenize ve düzeltmenize yardımcı olur.
XSS(Cross- Site Scripting) Nedir?
Kurbanın tarayıcısında zararlı kod (html - javascript) çalıştırmaya yönelik olarak yapılan saldırıdır. Tarayıcı zararlı kodun web sitesine ait olduğunu düşünerek çalıştırır. Zararlı kod, web sitesi adına hareket ettiğinden, oturum belirteçleri ve çerezler dahil olmak üzere müşterinin tarayıcısında saklanan potansiyel olarak hassas bilgilere erişebilecektir. İstemci taraflı bir zafiyettir.
XSS Araçları
- BeEF
- OWAPS Xenotix Exploit Framework
- XSS Me (Mozilla Firefox eklentisi)
- Web uygulama zafiyet tarayıcıları
XSS Saldırı Türleri neleridir?
- Reflected XSS: Kalıcı olmayan yansıtılan XSS türüdür. Bilgisayar korsanları, kötü niyetli komut dosyalarını doğrudan bir HTTP isteğine enjekte ederek saldırı gerçekleştirirler. Bu komut dosyaları daha sonra web sunucusundan kullanıcının tarayıcısına yansıtılır ve burada çalıştırılır. Saldırganlar genellikle hedeflerine özelleştirilmiş bağlantılar göndererek onları savunmasız bir sayfaya yönlendirirler. Bu şekilde, kullanıcıların bilmeden kötü niyetli komut dosyalarını çalıştırması ve saldırganın istismar etmesi sağlanır.
- Stored XSS: Bu saldırıda, zararlı kod parçası doğrudan sunucuda bulunan veritabanına yazılır. Kurban, bu zararlı kodu içeren bir siteyi ziyaret ettiğinde, tarayıcısı otomatik olarak istenilen görevi yerine getirir. Bu durum, JavaScript ve HTML kodlarının manipülasyonuyla gerçekleşir. Zararlı kod, sunucu tarafında depolandığından, herhangi bir kullanıcı veri tabanından bilgi çekmeye çalıştığında etkilenebilir.
- Dom XSS: DOM tabanlı XSS saldırılarında, bir bilgisayar korsanı, kurbanın tarayıcısında belge nesne modelini (DOM) değiştirerek kötü niyetli yükü enjekte eder. Sayfa genellikle değişmez, ancak sayfadaki istemci tarafı kodu, kötü amaçlı kod değişiklikleriyle çalıştırılabilir hale gelir. Bunun nedeni, tarayıcının isteği güvenilir bir web sitesinden veya uygulamadan geliyormuş gibi yorumlamasıdır.
XSS(Cross- Site Scripting) Korunma Yöntemleri
- Giriş Doğrulama ve Filtreleme: Kullanıcı girişlerini doğrulamak ve filtrelemek, zararlı kodların sunucuya iletilmesini engeller. Bu, kullanıcı girdilerinin kontrol edilmesini ve temizlenmesini içerir.
- HTML Kodunu Kaçış Karakterleri ile İşleme: Kullanıcı girdilerindeki HTML kodunu işlemek yerine, HTML kodunu kaçış karakterleri (örneğin, < ve >) ile değiştirerek veya etkisizleştirerek işlemek, XSS saldırılarından korunmaya yardımcı olabilir.
- Güvenlik Duvarları (WAF): Web Uygulama Güvenlik Duvarları (WAF'ler), gelen ve giden trafiği izleyerek ve filtreleyerek XSS saldırılarını engelleyebilir.
- HTTPOnly ve Secure Flag Kullanımı: HTTPOnly ve Secure flag'lerini kullanarak, çerezlerin sadece sunucuyla iletişimde kullanılmasını ve HTTPS üzerinden iletilmesini sağlayabilirsiniz. Bu, XSS saldırılarında çerezlerin ele geçirilmesini zorlaştırır.
- Content Security Policy (CSP): CSP, tarayıcının hangi kaynakları yükleyebileceğini ve çalıştırabileceğini belirten bir güvenlik politikasıdır. XSS saldırılarını sınırlamak için kullanılabilir.
- Veri Doğrulama ve Kodlama: Kullanıcı girdilerini doğrulamak ve gerektiğinde verileri kodlamak, XSS saldırılarını önlemeye yardımcı olabilir.
- Güncel Yazılım Kullanımı: Sunucu tarafında ve kullanıcı tarafında (tarayıcılar ve eklentiler gibi) güncel yazılımların kullanılması, güvenlik açıklarının kapatılmasına ve XSS saldırılarına karşı korunmaya yardımcı olur.
File Inclusion Attack Nedir?
File Inclusion Attack, web uygulamalarında kullanıcı tarafından sağlanan girişleri doğrulamadan veya yeterince temizlemeden dış kaynakları veya dosyaları dahil ettiğinde ortaya çıkan bir güvenlik açığıdır. Bu tür bir saldırı, saldırganların web uygulamasının sunucusunda bulunan dosyalara izinsiz erişim sağlamasını ve hedef sistemi istismar etmesini amaçlar.
File Inclusion Attack genellikle 2 farklı şekilde gerçekleşir:
- LFI (Local File Inclusion): Genellikle sunucuda bulunan yerel dosyalara yetkisiz erişim sağlamamızı mümkün kılan bir güvenlik açığıdır. Saldırgan hassas dosyalara erişebilir veya bu bilgileri istismar edebilir.
- RFI (RemoteFile Inclusion): Bir web uygulamasının, kullanıcı tarafından sağlanan girişleri doğrulamadan veya temizlemeden dışarıdan gelen dosyaları veya kaynakları dahil ettiği bir güvenlik açığıdır. Bu tür bir saldırı, saldırganların web uygulamasının sunucusuna dış kaynaklı kodlar veya dosyalar ekleyerek, bu kodların sunucuda yürütülmesini sağlamasına olanak tanır. Bu şekilde, saldırganlar istismar edilebilir bir durum yaratıp sunucuyu kontrol altına alabilir veya yetkisiz erişim elde edebilirler.
File Inclusion Attack’dan Korunma Yöntemler
- Giriş Doğrulama ve Temizleme: Kullanıcı girişlerini doğrulayın ve temizleyin. Kullanıcı girişlerini güvenli hale getirmek için özel karakterleri ve potansiyel zararlı kod parçalarını filtreleyin.
- Whitelist Yaklaşımı: Yalnızca güvenli dosyaları veya kaynakları dahil etmek için bir beyaz liste (whitelist) oluşturun. Yani, yalnızca belirli dosya veya kaynaklara izin veren bir yaklaşım benimseyin.
- Dosya Erişim Kontrolü: Sunucu yapılandırmasında dosya erişim izinlerini sıkılaştırın. Sadece gerekli dosyalara ve dizinlere izin verin ve gereksiz erişimleri kısıtlayın.
- Güvenlik Duvarları (Firewall): Web uygulamanızın önüne bir güvenlik duvarı yerleştirin. Bu, potansiyel saldırıları önlemeye yardımcı olabilir.
- Sistem Güncellemeleri: Sunucu yazılımınızı ve web uygulamanızı düzenli olarak güncelleyin. Güncellemeler, bilinen güvenlik açıklarını düzeltmeye yardımcı olabilir.
- Zararlı Kod Taraması: Web uygulamanızı düzenli olarak zararlı kod taramalarına tabi tutun. Bu, olası zafiyetleri tespit etmek ve kapatmak için önleyici bir yaklaşım sağlar.
- Geliştirme İlkeleri: Güvenlik, yazılım geliştirme sürecinin erken aşamalarında düşünülmeli ve uygulanmalıdır. Güvenli kodlama ilkelerini benimseyin ve güvenlik açıklarını azaltmak için güvenlik açısından bilinçli bir yaklaşım benimseyin.
Buraya kadar vakit ayırıp okuduğunuz için teşekkür ederim, bir sonraki yazılarımda görüşmek üzere:)