İçeriğe atla

ARP zehirlenmesi

Başarılı bir ARP zehirlenmesi (sahtekarlığı) saldırısında, saldırgan bir ağdaki yönlendirmeyi değiştirir ve ortadaki adam saldırısına olanak sağlar.

Bilgisayar ağlarında, ARP zehirlenmesi (ARP önbellek sahtekarlığı veya ARP zehri yönlendirme) saldırganın yerel alan ağı üzerinden sahte Adres Çözümleme Protokolü (ARP) mesajları göndermesi (aldatma saldırısı) şeklinde tanımlanabilir. Saldırının amacı genellikle, saldırganın MAC adresini, başka bir uç sistemin (örneğin varsayılan ağ geçidi) IP adresiyle bağdaştırarak bu adresinin ağ trafiğini, saldırganın kendi makinesi üzerine yönlendirmesidir.

ARP zehirlenmesi, saldırganın bir ağdaki veri çerçevelerine müdahale etmesine, trafiği değiştirmesine veya tüm trafiği durdurmasına olanak sağlar. Çoğu zaman saldırı, hizmet reddi , ortadaki adam veya oturum kaçırma saldırıları gibi diğer saldırılara kapı açar.[1]

Saldırı yalnızca ARP protokolü kullanan ağlarda mümkündür. Saldırının gerçekleştirilebilmesi için yerel ağ kesimine saldırganın doğrudan erişimi gereklidir.[1]

ARP zafiyetleri

Adres Çözümleme Protokolü (ARP), Internet katmanı adreslerini bağlantı katmanı adreslerine çözümlemek için yaygın olarak kullanılan bir iletişim protokolüdür .

İnternet Protokolü (IP) datagramları bir uç birimden diğerine gönderildiği zaman birimin hedef IP adresinden MAC adresi çözümlemesi veri bağ katmanı yardımıyla gerçekleştirilir.

IP ağlarında bir uç birimle haberleşebilmek için o uç birimini IP adresinin bilinmesi gereklidir. Fakat sadece IP adresinin bilinmesi haberleşmenin sağlanabilmesi için yeterli değildir. IP adresinin yanı sıra, hedef uç biriminin MAC adresi de gereklidir. IP adresi bilinen bir uç birimin MAC adresini öğrenmek amacıyla bağlı bulunan ağdaki tüm uçlara bir "ikinci katman" yayını yapılır. Bu yayının hedef MAC adresi FF-FF-FF-FF-FF-FF olarak ikinci katan çerçevesinin içine yerleştirilir. Anahtarın tüm portlarına gönderilen çerçeve (frame), ARP İsteği olarak tanımlanır. ARP isteğindeki IP adresine sahip olan uç birim, bu isteğe "ARP cevabı (ARP Reply)" çerçevesi ile cevap verir. ARP cevabında, uç birimin MAC adresi yer almaktadır. Bu şekilde, IP adresi biliniyor olan bir uç birimin MAC adresi de öğrenilmiş olur.[2]

ARP durum bilgisi taşımayan bir protokoldür. Ağdaki uç birimler otomatik olarak ARP cevaplarını kaydederler. Bu kayıt işlemi uç birimlerin istek yapılıp yapılmamasına bakılmadan yapılır. Zaman aşımına uğramayan ARP kayıtları yeni bir cevap geldiğinde önceki kaydedilen cevabın üzerine yazılır. ARP protokolünde gelen cevap paketinin kaynağına bakılarak bir kimlik doğrulaması yapılmamaktadır. Bu durum ARP zehirlenmesine karşı güvenlik açığı oluşturmaktadır.[1][1]

ARP zehirlenmesinin anatomisi

ARP zehirlenmesinin en temel yöntemi ARP protokolünde kimlik doğrulaması yoksunluğunu suistimal ederek sahte ARP mesajını yerel ağ üzerinden uç sistemlere göndermektir. Bu saldırı kurban ile aynı hedef ağda bulunan işgal edilmiş bir uç sistem üzerinden veya ağa doğrudan bağlı olan saldırganın makinesi ile yapılabilir.

Genellikle buradaki amaç kurbanın uç sistemi ile saldırganın MAC adresini bağdaştırmaktır. Bu sayede kurbanın bütün ağ trafiği saldırgana yönlendirilecektir. Saldırgan ifşa olmamak için kendisine yönlendirilen trafiği gerçek istikametine yönlendirir. Yine saldırgan bu trafiği analiz edebilir, yönlendirmeden önce veri paketlerini değiştirebilir (ortadaki adam saldırısı), bir hizmet reddi saldırısı başlatmak için kullanabilir veya paketlerin iletimini geciktirerek durdurabilir.

Savunma Yöntemleri

Statik ARP girişleri

Sertifikanın en basit şekli, bir ana bilgisayarın ARP önbelleğindeki kritik hizmetler için statik, salt okunur girdilerin kullanılmasıdır. Yerel ARP belleğindeki IP adresi MAC adresi eşlemeleri statik olarak girilebilir. Uç sistemler, statik girişler olduğunda ARP isteklerini iletmelerine gerek duyulmaz.[1] Statik ARP girişleri, aldatmaya karşı bir nebze güvenlik sağlarken diğer yandan ağdaki tüm sistemler için adres eşlemeleri ve diğer sistemlere dağıtımı gereğini doğururlar. Bu, büyük bir ağ üzerinde ölçeklendirilemez. Sebebi, haritalamanın, her iki makine çifti için ayarlanması gerekir; bu, n adet makine mevcut olduğunda yapılandırılması gereken n 2 - n ARP girişi ile olmalıdır; Her bir makine için, ağdaki diğer bütün makineler için ARP girişi olmalıdır. Yani n * (n - 1) adet ARP girdisi.

ARP zehirlenmesi algılama ve önleme yazılımı

ARP sahtekarlığını algılayan yazılımlar genellikle bir tür sertifikasyona veya ARP yanıtlarının çapraz kontrolüne dayanır. Onaylanmamış ARP yanıtları olduğunda engellenir. Bu teknikler hem dinamik hem de statik IP adreslerinin sertifikalandırılması için DHCP sunucusuna entegre edilebilir. Bu özellik, ayrı uç sistemlerde uygulanabilip Ethernet anahtarlarına veya diğer ağ ekipmanlarına entegre edilebilir. Tek bir MAC adresiyle ilişkili birden çok IP adreslerinin olması, (böyle bir yapılandırmanın meşru örnekleri olsa da) bir ARP sahtekarlığı saldırısını gösterebilir. Daha pasif bir yaklaşımda ise, bir cihaz ağdaki ARP yanıtlarını dinler ve bir ARP girişi değiştiğinde e-posta yoluyla bir bildirim gönderir.[3] AntiARP[4] aynı zamanda çekirdek düzeyinde Windows tabanlı aldatmaları önler. ArpStar, çekirdek 2.6 ve haritalamayı ihlal eden geçersiz paketleri bırakan ve tekrar zehirle (repoison) / iyileştir (heal) seçeneği sunan Linksys yönlendiricileri için bir Linux modülüdür.

İşletim sistemi güvenliği

İşletim sistemleri ARP zehirlenmesine farklı tepkiler verir. Linux, istenmeyen yanıtları görmezden gelir, ancak diğer yandan, önbelleğini güncellemek için diğer makinelerden gelen isteklere verilen yanıtları kullanır. Solaris, girişlerde yalnızca bir zaman aşımından sonra güncellemeleri kabul eder. Microsoft Windows'ta, ARP önbelleğinin davranışı, HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters, ArpCacheLife, ArpCacheMinReferenceLife, ArpUseEtherSNAP, ArpTRSingleRoutEn, ArpUseEtherSNAP, ArpTRSingleRoutEn, ArpUseEtherSNAP dizini altında çeşitli kayıt defteri girdileri aracılığıyla yapılandırılabilir[5]

Meşru kullanım

ARP sahtekarlığında kullanılan teknikler, ağ servislerinin istem dışı ya da gereksiz diye nitelendirilebilecek uygulamaları gerçekleştirmek için de kullanılabilir. Örneğin, bazı yazılımlar, bir yedek sunucunun, hatalı bir sunucuyu devralmak ve şeffaf bir şekilde yedeklilik sağlamak için bedava bir ARP isteği yayınlamasına izin verir.[6][7] Bugüne kadar bu strateji etrafında yoğunlaşmış ürünleri ticarileştirmeye çalışması ile bilinen iki şirket var: Disney Circle[8] ve CUJO. CUJO, yakın zamanda müşterilerin evlerinde uygulanan ARP zehirlenmesi stratejisinden dolayı ciddi sorunlar yaşadı. Bu stratejiden tamamen vazgeçip, DHCP tabanlı bir stratejiye odaklandılar.

ARP zehirlenmesi, çoğunlukla uygulama geliştiricileri tarafından bir anahtarı kullanılırken iki uç sistem arasında gerçekleşen IP trafiğindeki hataların ayıklanması için kullanılır: Eğer uç sistem A ve uç sistem B bir Ethernet anahtarı aracılığıyla haberleşiyor ise, aralarındaki trafik üçüncü bir uç sistem M tarafından görülemez olmalıdır. Geliştiriciler B için A'ya M'nin MAC adresini ve de tam tersi şekilde A içinse B'ye M'nin MAC adresini vererek yapılandırırlar. Sonucunda M, artık ortadaki adam saldırısında olduğu gibi trafiği izleyebilir hale gelir.

Araçlar

İsim İşletim Sistemi Arayüz Ücret Koruma Arayüz Active / Passive Notlar
Agnitum Outpost Firewall WindowsEvetHayırEvetHayır passive
AntiARP WindowsEvetHayırEvetHayır active+passive
Antidote[9]LinuxHayırEvetHayır?passive Linux daemon, monitors mappings, unusually large number of ARP packets.
Arp_Antidote[10]LinuxHayırEvetHayır?passive Linux Kernel Patch for 2.4.18 – 2.4.20, watches mappings, can define action to take when.
Arpalert LinuxHayırEvetHayırEvet passive Predefined list of allowed MAC addresses, alert if MAC that is not in list.
ArpON LinuxHayırEvetEvetEvet active+passive Portable handler daemon for securing ARP against spoofing, cache poisoning or poison routing attacks in static, dynamic and hybrid networks.
ArpGuard MacEvetHayırEvetEvet active+passive
ArpStar LinuxHayırEvetEvet?passive
Arpwatch LinuxHayırEvetHayırEvet passive Keep mappings of IP-MAC pairs, report changes via Syslog, Email.
ArpwatchNG LinuxHayırEvetHayırHayır passive Keep mappings of IP-MAC pairs, report changes via Syslog, Email.
Colasoft Capsa WindowsEvetHayırHayırEvet no detection, only analysis with manual inspection
cSploit Android (rooted only)EvetEvetHayırEvet passive
Prelude IDS ??????ArpSpoof plugin, basic checks on addresses.
Panda Security Windows??Evet?Active Performs basic checks on addresses
remarp LinuxHayırEvetHayırHayır passive
SnortWindows/LinuxHayırEvetHayırEvet passive Snort preprocessor Arpspoof, performs basic checks on addresses
Winarpwatch WindowsHayırEvetHayırHayır passive Keep mappings of IP-MAC pairs, report changes via Syslog, Email.
XArp[11]Windows, LinuxEvetEvet (+pro version)Evet (Linux, pro)Evet active + passive Advanced ARP spoofing detection, active probing and passive checks. Two user interfaces: normal view with predefined security levels, pro view with per-interface configuration of detection modules and active validation. Windows and Linux, GUI-based.
Seconfig XP Windows 2000/XP/2003 onlyEvetEvetEvetHayır only activates protection built-in some versions of Windows
zANTI Android (rooted only)EvetEvetHayır?passive
NetSec Framework LinuxHayırEvetHayırHayır active
anti-arpspoof[12]WindowsEvetEvet???
DefendARP:[13]??????A host-based ARP table monitoring and defense tool designed for use when connecting to public wifi. DefendARP detects ARP poisoning attacks, corrects the poisoned entry, and identifies the MAC and IP address of the attacker.
NetCutDefender:[14]Windows?????GUI for Windows that can protect from ARP attacks

Aldatma

ARP sahtekarlığı saldırılarını gerçekleştirmek için kullanılabilecek araçlardan bazıları:

  • Arpspoof (DSniff araç takımının bir parçasıdır)
  • Arpoison
  • Subterfuge[15]
  • Ettercap
  • Seringe[16]
  • ARP-FILLUP -V0.1[17]
  • arp-sk -v0.0.15[17]
  • ARPOc -v1.13[17]
  • arpalert -v0.3.2[17]
  • arping -v2.04[17]
  • arpmitm -v0.2[17]
  • arpoison -v0.5[17]
  • ArpSpyX -v1.1[17]
  • ArpToXin -v 1.0[17]
  • Cain And Abel -v 4.3
  • cSploit -v 1.6.2[18]
  • SwitchSniffer[17]
  • APE – ARP Poisoning Engine[19]
  • Simsang[20]
  • zANTI -v2
  • NetSec Framework -v1
  • Minary[21]
  • NetCut (Also has a defense feature)

Ayrıca bakınız

Kaynakça

  1. ^ a b c d e Boş kaynak (yardım) 
  2. ^ "ARP Nedir?". 19 Temmuz 2015. 16 Ocak 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Ocak 2023. 
  3. ^ Boş kaynak (yardım) 
  4. ^ "AntiARP". 21 Nisan 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2019. 
  5. ^ "Adres Çözümleme Protokolü". 23 Ocak 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2019. 
  6. ^ Boş kaynak (yardım) , retrieved 2018-02-04
  7. ^ Boş kaynak (yardım) , retrieved 2013-01-04
  8. ^ Boş kaynak (yardım) , retrieved 2016-10-12
  9. ^ "Antidote". 13 Mart 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2019. 
  10. ^ "Arp_Antidote". 14 Ocak 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2019. 
  11. ^ "XArp". 16 Haziran 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Ekim 2020. 
  12. ^ anti-arpspoof 31 Ağustos 2008 tarihinde Wayback Machine sitesinde arşivlendi. Webarşiv şablonunda hata: |url= value. Boş.
  13. ^ "Defense Scripts | ARP Poisoning". 22 Ocak 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2019. 
  14. ^ "Arşivlenmiş kopya". 8 Nisan 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2019. 
  15. ^ "Subterfuge Project". 27 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Kasım 2013. 
  16. ^ "Seringe – Statically Compiled ARP Poisoning Tool". 16 Eylül 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mayıs 2011. 
  17. ^ a b c d e f g h i j "ARP Vulnerabilities: The Complete Documentation". l0T3K. 5 Mart 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mayıs 2011. 
  18. ^ "cSploit". tux_mind. 12 Mart 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ekim 2015. 
  19. ^ "ARP cache poisoning tool for Windows". 9 Temmuz 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Temmuz 2012. 
  20. ^ "Simsang". 4 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Ağustos 2013. 
  21. ^ "Minary". 8 Nisan 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Ocak 2018. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">DNS</span>

DNS, internet uzayını bölümlemeye, bölümleri adlandırmaya ve bölümler arası iletişimi organize etmeye yarayan, bilgisayar, servis, internet veya özel bir ağa bağlı herhangi bir kaynak için hiyerarşik dağıtılmış bir adlandırma sistemidir.

Ağ katmanı veya 3. katman, veri paketinin farklı bir ağa gönderilmesi gerektiğinde, veri paketine yönlendiricilerin kullanacağı bilginin eklendiği katmandır. Örneğin IP iletişim kuralı bu katmanda görev yapar.

<span class="mw-page-title-main">IPv6</span> İnternet protokolünün 6. versiyonu

Internet Protocol Version 6 kısaca IPv6, aslında 32 bitlik bir adres yapısına sahip olan IPv4'ün adreslemede artık yetersiz kalması ve ciddi sıkıntılar meydana getirmesi üzerine IETF tarafından geliştirilmiştir.

<span class="mw-page-title-main">İnternet iletişim kuralları dizisi</span>

İnternet protokol takımı, bilgisayarlar ve ağ cihazları arasında iletişimi sağlamak amacıyla standart olarak kabul edilmiş kurallar dizisidir. Bu kurallar dizisi temel olarak verinin ağ üzerinden ne şekilde paketleneceğini ve iletilen veride hata olup olmadığının nasıl denetleneceğini belirlemektedir.

Network Address Translation (NAT), TCP/IP ağındaki bir bilgisayarın yönlendirme cihazı ile başka bir ağa çıkarken adres uzayındaki bir IP ile yeniden haritalandırma yaparak IP paket başlığındaki ağ adres bilgisini değiştirme sürecidir.

MAC adresi (İngilizce Media Access Control, yani ortam erişim yönetimi) bir bilgisayar ağında, bir cihazın ağ donanımını tanımaya yarar. Örneğin, sizin bilgisayarınızda modeminizin ve ağ kartınızın kendine özel birer MAC adresleri vardır. MAC, 48 bit'lik bir adres olduğundan dolayı 248 = 281,474,976,710,656 değişik ağ kartını tanımlamak için kullanılabilir.

Adres Çözümleme Protokolü ağ katmanı adreslerinin veri bağlantısı katmanı adreslerine çözümlenmesini sağlayan bir telekomünikasyon protokolüdür. 1982 yılında RFC 826 aracılığıyla tanımlanmıştır. STD 37 kodlu bir internet standardıdır.

RFC 903 dosyasında tanımlanmış olan RARP, bir TCP/IP ağında MAC adresleri ile IP adresleri arasındaki bağı yapmak için kullanılır.

<span class="mw-page-title-main">DHCP</span>

DHCP, ağda bulunan her bir bilgisayarın IP adresi, alt ağ maskesi, varsayılan ağ geçidi ve DNS sunucuları gibi ağ bağlantısı ayarlarının otomatik olarak atamasını sağlar. Bu sayede ağ yöneticileri, ağdaki her bir bilgisayarın IP adresi ve diğer ağ bağlantısı ayarlarını elle girerek zaman kaybetmek yerine, DHCP sunucusu üzerinden bu bilgileri otomatik olarak atayarak daha verimli ve güvenilir bir ağ yönetimi yapabilirler. Bu sayede sistem yönetim işlemi de kolaylaşmış olur. Ayrıca UDP, TCP'ye dayalı herhangi bir iletişim protokolünün ve DNS, NTP gibi ağ hizmetlerinin kullanımına olanak sağlar.

IP adresi, interneti ya da TCP/IP protokolünü kullanan diğer paket anahtarlamalı ağlara bağlı cihazların, ağ üzerinden birbirleri ile veri alışverişi yapmak için kullandıkları adres.

Basit Hizmet Algılama Protokolü (SSDP) Basit Hizmet Keşif Protokolü (SSDP), ağ hizmetlerinin ve durum bilgilerinin tanıtılması ve keşfedilmesi için İnternet protokol takımına dayalı bir ağ protokolüdür. Bunu, Dinamik Ana Bilgisayar Yapılandırma Protokolü (DHCP) veya Etki Alanı Adı Sistemi (DNS) gibi sunucu tabanlı yapılandırma mekanizmalarının yardımı olmadan ve bir ağ ana bilgisayarının özel statik yapılandırması olmadan gerçekleştirir. SSDP, Evrensel Tak ve Kullan (UPnP) keşif protokolünün temelidir ve konut veya küçük ofis ortamlarında kullanım için tasarlanmıştır. Resmi olarak Microsoft tarafından bir IETF İnternet Taslağı'nda tanımlanmıştır.ve Hewlett-Packard 1999'da. IETF önerisinin süresi o zamandan beri dolmuş olmasına rağmen SSDP, UPnP protokol yığınına dahil edildi ve nihai uygulamanın bir açıklaması, UPnP standartları belgelerine dahil edildi.

ICMPv6(Internet Control Message Protocol Version 6 )

Bilgisayar ağları konusunda geçen Önyükleme Protokolü veya BOOTP, bir yapılandırma sunucusundan bir IP adresi almak için bir ağ istemcisi tarafından kullanılan bir ağ protokolüdür. BOOTP protokolü ilk olarak RFC 951 içerisinde tanımlanmıştı.

Komşu Keşfi Protokolü IPv6 ile kullanılan internet iletişim kuralları dizisinde bir protokoldur. Bağlantı katmanında çalışır ve bağlantıdaki diğer düğümleri bulmak, diğer düğümlerin ağ katmanı adreslerine karar vermek, uygun routerlar bulmak ve diğer aktif komşu düğümlere yollar hakkında erişilebilirlik bilgisi sağlamakla yükümlüdür(RFC 4861, 2007).

Address Resolution Protocol (ARP) ağ katmanı adreslerini bağlantı katmanı adreslerine çevirmek için kullanılan bir iletişim protokolüdür, multicast ağlar için önemli bir fonksiyondur. ARP 1982 yılında RFC 826 tarafından tanımlanmıştır.

DNS spoofing diğer adıyla DNS önbellek zehirlenmesi, Alan Adı Sistemi verisini bozarak, DNS çözümleme önbelleğine bozuk verinin yerleştirildiği bir bilgisayar güvenliği saldırısıdır. Ad sunucusunun yanlış sonuç dönmesini sağlar, örneğin IP adresi. Böylece saldırgan, trafiği kendi bilgisayarına yönlendirebilir.

Yayın adresi, ağlar arası iletişimde, gönderilen bilgi paketinin çoklu erişime bağlı tüm cihazlar tarafından alınmasının istendiğini belirten özel bir adrestir. Bilgisayarların yayın adresine gönderilen mesaj spesifik olarak tek bir bilgisayar tarafından alınmaz, mesaj ağa bağlı tüm bilgisayarlar tarafından alınır.

<span class="mw-page-title-main">IP spoofing</span>

IP spoofing veya IP sahteciliği, sahte kaynak IP adresi ile Internet Protokolü (IP) paketlerinin oluşturulmasıdır. IP spoofing kavramı, ilk olarak 1980'li yıllarda akademik çevrelerde tartışılmıştır.

TCP/IP, yapı olarak iki katmanlı bir haberleşme protokolüdür. Üst Katman TCP verinin iletimden önce paketlere ayrılmasını ve karşı tarafta bu paketlerin yeniden düzgün bir şekilde birleştirilmesini sağlar. Alt Katman IP ise, iletilen paketlerin istenilen ağ adresine yönlendirilmesini kontrol eder.

NetBIOS over TCP/IP eski bilgisayarlardaki NetBIOS API tabanlı uygulamaların modern TCP/IP ağlarında kullanılmalarını sağlayan ağ protokolü.