Aradaki adam saldırısı

**Man-in-the-middle saldırısı** (Türkçe: **aradaki adam saldırısı** veya **ortadaki adam saldırısı**, İngilizce kısaltması **MITM saldırısı**), saldırganın birbiri ile doğrudan iletişim kuran iki taraf arasındaki iletişimi gizlice ilettiği veya değiştirdiği saldırı türüdür. İletişim ağı üzerinde veri paketleri serbestçe dolaşır. Özellikle broadcast olarak salınan paketler, aynı ağa bağlı tüm cihazlar tarafından görülebilir. İlkesel olarak hedefinde kendi IP'si olmayan bir paketi alan makinelerin, bu paketlerle ilgili herhangi bir işlem yapmamaları gerekir. Ancak istenirse bu paketlere müdahale edebilir ya da içeriğini öğrenebilirler. Aradaki adam saldırısı ağ üzerindeki paketleri yakalayarak manipüle etmek olarak özetlenebilir.

MITM saldırısına bir örnek aktif gizli dinlemedir, saldırgan kurbanlarla bağımsız bağlantılar kurar ve aralarındaki mesajları, aslında tüm konuşma kurbanlar arasında doğrudan gizli bir bağlantı üzerinden gerçekleşiyormuş gibi iletir. Saldırgan, iki kurban arasında geçen tüm ilgili mesajları engelleyebilmeli ve yenilerini enjekte edebilmelidir. Bunu yapmak çoğu durumda basittir; örneğin, şifrelenmemiş bir kablosuz erişim noktasının (Wi-Fi) erişim menzilindeki bir saldırgan, kendisini ortadaki bir adam olarak ekleyebilir.

Karşılıklı kimlik doğrulamayı atlamayı veya eksikliğinden faydalanmayı amaçlayan bir saldırı olan MITM saldırısı ancak araya giren saldırgan her bir uç noktanın diğer uçtan beklentisini karşılayabilirse başarılı olabilir. Çoğu şifreleme protokolü, MITM saldırılarını önlemek için özel olarak bir tür uç nokta kimlik doğrulaması içerir. Örneğin, TLS, karşılıklı güvenilen bir sertifika otoritesi kullanarak taraflardan birini veya her ikisini de doğrulayabilir.

## Saldırı yöntemleri
Klasik yöntemlerden biri şudur: ARP zehirlenmesi yaparak yönlendiricinin ARP tablosu taşırılır. Yönlendirici gelen ARP isteklerini yanıtlayamaz hale gelir. Sonrasında ağda broadcast olarak ARP isteği yanıtı paketleri yollanır. Bu durumda ağda yönlendirici arayan bir bilgisayar olursa gerçek yönlendirici yerine saldırganın bilgisayarını yönlendirici olarak tanıyacaktır. Ağ üzerinde verilerini saldırganın bilgisayarı üzerinden gönderecektir. Şifrelenmemiş her veri paketi kolaylıkla açılabilir ve değiştirilebilir.

Kablosuz ağlarda ise paketler tamamen broadcast olarak yayıldığı için herhangi bir ön işleme gerek olmaksızın tüm paketler saldırgan tarafından yakalanabilir. Şifrelenmemiş paketlerin içerikleri kolaylıkla okunabilir. Ancak değiştirilen paketlerin yeniden kurban bilgisayara gönderilmesi için pasif olarak dinleme pozisyonunda olmak yeterli değildir.

## Örnek
Diyelim ki Alice, Bob ile iletişim kurmak istiyor. Bu arada Mallory, konuşmayı gizlice dinlemek için kesmek ve (isteğe bağlı) Bob'a sahte bir mesaj iletmek istiyor.

İlk önce, Alice, Bob'dan açık anahtarını ister. Bob açık anahtarını Alice'e gönderirken Mallory bunu engelleyebilirse, MITM saldırısı başlayabilir. Mallory, Alice'e Bob'dan geliyormuş gibi görünen ama Mallory'nin açık anahtarını içeren sahte bir mesaj gönderir.

Bu açık anahtarın Bob'dan geldiğine inanan Alice, mesajını Mallory'nin anahtarıyla şifreler ve şifreli mesajı Bob'a geri gönderir. Mallory tekrar araya girer, kendi özel anahtarını kullanarak mesajın şifresini çözer, isterse değiştirir ve araya girerek ele geçirdiği Bob'un orijinalde Alice'e göndermek istediği açık anahtarı kullanarak tekrar şifreler. Bob tekrar şifrelenmiş mesajı aldığında, onun Alice'den geldiğine inanır.

# Alice Bob'a, Mallory'e yakalanacak bir mesaj gönderir.
#: Alice *"Merhaba Bob, ben Alice. Bana anahtarını ver."* → &nbsp; &nbsp; Mallory &nbsp; &nbsp; Bob
# Mallory bu mesajı Bob'a iletir; Bob gerçekten Alice'ten olmadığını anlayamaz:
#: Alice &nbsp; &nbsp; Mallory *"Merhaba Bob, ben Alice. Bana anahtarını ver."* → &nbsp; &nbsp; Bob
# Bob şifreleme anahtarıyla cevap verir:
#: Alice &nbsp; &nbsp; Mallory &nbsp; &nbsp; ← *[Bob'un anahtarı]* Bob
# Mallory, Bob'un anahtarını kendisininkiyle değiştirir ve bunu Bob'un anahtarı olduğunu iddia ederek Alice'e iletir:
#: Alice &nbsp; &nbsp; ← *[Mallory'nin anahtarı]* Mallory &nbsp; &nbsp; Bob
# Alice, sadece Bob'un okuyabileceğini düşünerek mesajını Bob'un anahtarı olduğunu düşündüğü anahtarla şifreler.
#: Alice *"Otobüs durağında buluşalım!" [Mallory'nin anahtarı ile şifrelenmiş]* → &nbsp; &nbsp; Mallory &nbsp; &nbsp; Bob
#  Fakat, Mallory'nin anahtarıyla şifreli olduğu için, Mallory şifresini çözebilir, okuyabilir, (isterse) değiştirebilir, Bob'un anahtarıyla yeniden şifreleyebilir ve Bob'a iletebilir:
#: Alice &nbsp; &nbsp; Mallory *"Benimle nehrin aşağısındaki minibüste buluşun!" [Bob’un anahtarı ile şifrelenmiş]* → &nbsp; &nbsp; Bob
# Bob, bu mesajın Alice'den güvenli bir şekilde geldiğini düşünür.

Bu örnek, Alice ve Bob'un, bir saldırganın değil birbirlerinin açık anahtarlarını kullandıklarından emin olmaları için bir yönteme ihtiyaç olduğunu gösterir. Aksi takdirde, açık anahtar teknolojisi kullanılarak gönderilen mesajlara karşı böyle ataklar prensipte mümkündür. MITM saldırılarına karşı savunmaya çeşitli teknikler yardımcı olabilir.

## Algılama ve Korunma yolları
MITM saldırıları iki yolla önlenebilir veya tespit edilebilir: kimlik doğrulama ve müdahale algılama. Kimlik doğrulama, verilen bir mesajın meşru bir kaynaktan geldiğine dair bir kesinlik derecesi sağlar. Müdahale algılama, yalnızca bir mesajın değiştirilmiş olabileceğine dair bilgi verir.

### Kimlik doğrulama
MITM saldırılarına karşı güvenli olan tüm şifreleme sistemleri, mesajlar için bir kimlik doğrulama yöntemi sağlar. Birçoğu, güvenli bir kanal üzerinden iletiye ek olarak bilgi alışverişini (açık anahtarlar gibi) gerektirir. Çoğu zaman anahtar anlaşma protokolleri kullanan bu protokoller, güvenli kanal için farklı güvenlik gereksinimleriyle geliştirilmiştir, ancak bazıları herhangi bir güvenli kanal gereksinimini ortadan kaldırmaya çalışmıştır.

TLS gibi bir açık anahtar altyapısı, TCP'yi MITM saldırılarına karşı sağlamlaştırabilir Bu tür yapılarda, istemciler ve sunucular, sertifika otoritesi (SO) olarak adlandırılan güvenilir bir üçüncü tarafça verilen ve doğrulanan sertifikaları takas ederler. Eğer MITM saldırısıyla SO'nun kimliğini doğrulamak için kullanılan orijinal anahtar hedef alınmamışsa, SO tarafından verilen sertifikalar o sertifikanın sahibi tarafından gönderilen iletilerin kimliğini doğrulamak için kullanılabilir. Hem sunucunun hem de istemcinin kimliklerinin doğrulandığı karşılıklı kimlik doğrulama, her iki ucu da MITM saldırısından korur, ancak çoğu bağlantının varsayılan davranışı yalnızca sunucunun kimliğini doğrulamaktır.

Görsel medya taklidi basit veri paketi iletişiminden çok daha zor ve zaman alıcı olduğundan, ZRTP’de olduğu gibi paylaşılan bir değerin sözlü iletiminin şahitliği ya da bir açık anahtar özetinin ses/görüntü kayıtları gibi kaydedilmiş şahitlikler, MITM saldırılarını engellemek için kullanılır. Bununla birlikte, bu yöntemler işlemi başarıyla başlatmak için döngüde bir insan gerektirir.

Kurumsal bir ortamda, tarayıcının yeşil asma kilit ile belirtilen başarılı kimlik doğrulamasının, her zaman uzak sunucu ile güvenli bağlantı anlamına gelmediğini belirtmekte fayda vardır. Kurumsal güvenlik politikaları, şifreli trafiği denetleyebilmek için çalışma ortamındaki web tarayıcılarına özel sertifikaların eklenmesini gerektirebilir. Sonuç olarak, yeşil bir asma kilit, istemcinin uzak sunucu ile değil yalnızca SSL/TLS incelemesi için kullanılan kurumsal sunucu/proxy ile başarılı bir şekilde kimliğini doğruladığını gösteriyor olabilir.

Bazen "sertifika sabitlemesi" olarak adlandırılan HTTP Genel Anahtar Sabitlemesi (HPKP), sunucunun ilk işlem sırasında "sabitlenmiş" genel anahtar özetlerinin bir listesini sunmasıyla, SO'nun tehlikeye düştüğü MITM saldırılarının önüne geçer. Daha sonra yapılan işlemlerin doğrulanması için, sunucunun listedeki anahtarlardan bir veya daha fazlasını kullanması gerekir.

DNSSEC, DNS protokolünü, DNS kayıtlarını doğrulamak için imza kullanacak şekilde genişletir ve basit MITM saldırılarının bir istemciyi kötü niyetli bir IP adresine yönlendirmesini engeller.

### Müdahale Algılama
Gecikme incelemesi, hash fonksiyonları gibi hesaplaması onlarca saniye süren durumlarda, saldırıyı algılayabilir. Potansiyel saldırıları tespit etmek için, taraflar yanıt sürelerindeki tutarsızlıkları kontrol eder. Örneğin: İki tarafın belirli bir işlemi gerçekleştirmek için normalde belirli bir süre harcadığını varsayalım. Bununla birlikte, bir işlemin diğer tarafa ulaşması anormal bir zaman alırsa, bu işlem üçüncü bir tarafın işlemde ilave gecikme ekleyen girişimin bir göstergesi olabilir.

Kuantum Kriptografi, teoride, klonlamama teoremi ile işlemler için müdahale kanıtı sağlar. Kuantum kriptografisine dayanan protokoller, koşulsuz olarak güvenli bir kimlik doğrulama şemasıyla, klasik iletişiminin bir kısmını veya tamamını doğrular. ör. Wegman-Carter kimlik doğrulaması.

### Adli analiz
Bir saldırı olduğundan şüphelenilen ağ trafiği, bir saldırı olup olmadığını belirlemek ve varsa saldırının kaynağını belirlemek için analiz edilebilir. Bir saldırı şüphesinde ağ adli analizi gerçekleştirirken incelenecek  önemli kanıtlar şunlardır:

* Sunucunun IP adresi
* Sunucunun DNS adı
* Sunucunun X.509 sertifikası
** Sertifika kendi imzalanmış bir sertifika mı?
** Sertifika güvenilir bir SO tarafından imzalanmış mı?
** Sertifika iptal edilmiş mi?
** Sertifika yakın zamanda değiştirilmiş mi?
** İnternette herhangi bir yerdeki diğer istemciler de aynı sertifikaya sahip mi?

## Önemli örnekler
Kayda değer, kriptografi içermeyen bir MITM saldırısı, 2003 yılında Belkin kablosuz ağ yönlendiricisi tarafından gerçekleştirildi. Periyodik olarak, üzerinden yönlendirilen bir HTTP bağlantısını yüklenirken: trafiği hedefe iletmekte başarısız olup, bunun yerine kendisi sunucuymuş gibi yanıt dönmüştü. Gönderdiği cevap, kullanıcının istediği web sayfası yerine, bir başka Belkin ürününün reklamıydı. Teknik olarak bilgili olan kullanıcıların itirazlarından sonra, bu 'özellik' yönlendiricinin üretici yazılımının sonraki sürümlerinden kaldırıldı.

2011'de Hollandalı sertifika otoritesi DigiNotar'ın güvenlik ihlali, sertifikaların sahte olarak verilmesiyle sonuçlandı. Daha sonra, sahte sertifikalar MITM saldırıları gerçekleştirmek için kullanıldı.

2013 yılında, Nokia'nın tarayıcısı Xpress'in, Nokia'nın proxy sunucularındaki HTTPS trafiğinin şifresini çözdüğü ve şirkete müşterilerinin şifreli tarayıcı trafiğine açık metin erişimi sağladığı ortaya çıktı. Nokia, içeriğin kalıcı olarak saklanmadığını ve şirketin özel bilgilere erişimi engellemek için kurumsal ve teknik önlemler aldığını söyleyerek yanıt verdi.

2017 yılında Equifax, MITM açıkları konusundaki endişelerini takiben mobil uygulamalarını geri çekti.

Diğer önemli gerçek hayat uygulamaları aşağıdakileri içerir:

* DSniff - SSL ve SSH'ye karşı MITM saldırılarının ilk açık uygulaması
* Fiddler2 HTTP(S) tanı aracı
* NSA'nın Google'ın kimliğine bürünmesi
* Superfish kötü amaçlı yazılımı
* Forcepoint Content Gateway - Proxy'deki SSL trafiğini denetlemek için kullanılır
* Comcast, sayfaların üst kısımlarında kendi reklamlarını ve mesajlarını gösteren JavaScript kodunu 3. parti web sayfalarına enjekte etmek için MITM saldırıları kullanır.

## Kaynakça