Tekrarlama saldırısı

Tekrarlama saldırısı (yeniden oynatma saldırısı olarak da bilinir), geçerli bir veri iletiminin kötü niyetlilik veya sahtekarlıkla tekrarlandığı veya geciktirildiği bir ağ saldırısıdır. Bu saldırı, orijinal veri iletimcisi tarafından ya da veri iletimini IP paketi değişimi içeren bir aldatma saldırısı kullanarak kesen ve yeniden ileten bir saldırgan tarafından gerçekleştirilir. Bu, " Ortadaki adam saldırısının " alt kademe versiyonlarından biridir.
Böyle bir saldırıyı tarif etmenin bir başka yolu: "Amaçlanan (orijinal ve beklenen) kaynak yerine farklı bir kaynaktan mesaj tekrarı yaparak güvenli protokole saldırı gerçekleştirmek ve böylece dürüst katılımcıları protokolü başarılı bir şekilde gerçekleştirdiklerine inandırmaktır. "

Tekrarlama saldırısı nasıl olur?

Diyelim ki Alice kimliğini Bob'a kanıtlamak istiyor.  Bob, Alice'ten kimliğinin kanıtı olarak şifresini ister, Alice zorunlu olarak şifresini Bob'a verir ( büyük ihtimalle özetleme fonksiyonu gibi bir çevirim işleminden geçirerek) ; bu sırada, Eve ise bu konuşmaya kulak kabartır ve şifreyi ele geçirir ( ya da özetlenmiş halini). Değişim sona erdiğinde Eve ( Alice gibi davranıyor) Bob ile bir oturum açar ; Bob tarafından kimliğinin kanıtı sorulduğunda Eve, Bob'un son oturumda kabul ettiği kanıt olan Alice'in şifresini ( ya da özetlenmiş halini) gönderir ve böylece erişim hakkı elde eder.

Tüm tekrarlama saldırıları için tedbirler

Tekrarlama saldırıları her bir şifrelenmiş bileşeni bir oturum kimliğiyle ve bileşen numarasıyla etiketleyerek önlenebilir. Bu iki işaretleme kombinasyonu birbirine bağımlı hiçbir şey kullanmaz. Bağımlılık olmadığı için daha az güvenlik açığı olur. Oluşturulan oturum kimliği her oturum için rastgele ve eşsiz olduğu için önceki oturumları tekrar etmek daha zor olur, bu yüzden etiketleme yöntemi önleme konusunda başarılıdır. Bu durumda saldırgan tekrarlama yapamaz çünkü yeni oturum sonucunda oturum kimliği değişmiş olur.

Tek seferlik parolalar

Bir defalık şifreler , kullanıldıktan sonra veya çok kısa bir süre sonra sürelerinin dolması nedeniyle oturum tanımlayıcılarına benzer. Oturum doğrulanmasına ek olarak bireysel işlemlerin doğrulanmasında da kullanılabilirler. Bu şifreler aynı zamanda birbiriyle iletişim halinde olan iki tarafın doğrulanma işleminde kullanılarak taraflar arası güven oluştururlar.

Tek kullanımlık sayılar ve MDK

Bob, Alice'e tek kullanımlık sayı da gönderebilir ancak bu sayıya mesaj doğrulama kodunu da dahil etmelidir. Böylece Alice kontrol edebilir.

Zaman damgaları

Zaman damgası , tekrarlama saldırısını önlemenin başka bir yoludur.  Senkronizasyon güvenli bir protokol kullanarak gerçekleştirilmelidir.  Örneğin, Bob periyodik olarak saatindeki zamanı bir MDK ile birlikte yayınlar.  Alice, Bob'a bir mesaj göndermek istediğinde, Bob'un saatindeki zaman hakkındaki en iyi tahminini doğrulanmış mesajına dahil eder. Bob yalnızca mesajın zaman damgasının kabul edilebilir bir aralıkta olması durumunda mesajı kabul eder. Bu tasarımın avantajları, Bob sözde rastgele sayılar üretmek zorunda kalmaz ve Alice Bob'dan rastgele bir sayı istemez. Tek-yönlü ya da neredeyse tek-yönlü ağlarda bu bir avantaj olabilir. Buradaki avantaj-risk takası ise eğer tekrarlama saldırıları yeterince hızlı yapılırsa, örneğin 'kabul edilebilir' zamanda, o halde başarıya ulaşabilirler.

Kerberos protokolü ile önleme

Kerberos kimlik doğrulama protokolü bazı tedbirler içerir.  Klasik bir tekrarlama saldırısı durumunda, saldırgan tarafından bir mesaj yakalanır ve bir etki yaratmak için daha sonraki bir tarihte tekrar oynatılır.  Örneğin, eğer bir bankacılık programı bu saldırıya karşı savunmasız olacaksa, para transferi ile sonuçlanan bir mesaj, amaçlanandan daha fazla para transferi yapmak  için sürekli tekrar edilebilir. Ancak, LDAP'ın çoğu sürümünde ve Microsoft Windows Active Directory'de kullanılan Kerberos protokolünde tekrarlama saldırılarının etkililiğini ciddi bir şekilde sınırlamak için zaman damgalama tasarımı kullanılır. Yaşam süresi'ni  (TTL) geçen mesajlar eski kabul edilir ve dikkate alınmaz.
Üç şifreleme tasarımı kullanımı gibi geliştirmeler önerildi. Bu üç şifre, doğrulama sunucusu, bilet sunan sunucu (ticket granting server) ve TGS ile kullanıldı. Sunucular bu şifreleri farklı sunucular arasındaki mesajları gizli anahtarlar ile şifrelemek için kullandı. Bu üç gizli anahtar tarafından sağlanan şifreleme tekrarlama saldırılarını önlemede yardımcı oldu.

Ad Hoc ağlarında güvenli yönlendirme

Kablosuz özel ağlar da tekrar saldırılarına karşı zayıftır. Bu durumda, AODV protokolünü genişleterek doğrulama sistemi daha güçlü hale getirilebilir ve geliştirilebilir. Ad hoc ağlarının güvenliğini arttırma yöntemi ağın güvenliğini küçük miktarda ilave hesaplama (overhead) ile arttırabilir. Eğer yoğun miktarda ilave hesaplama eklenirse ağ daha yavaş çalışabilir ve performansı düşebilir. Bu yüzden, ilave hesaplamayı göreceli olarak düşük tutarak hem ağın güvenliği arttırılabilir hem de performans düşüklüğü yaşanmaz.

Challenge-Handshake Kimlik Doğrulama Protokolü

Kullanıcılar tarafından Noktadan-noktaya protokolü (PPP) kullanarak doğrulama ve oturum açma işlemleri eğer Parola Doğrulama Protokolü (PAP) kullanılırsa tekrarlama saldırılarına karşı zayıftır, çünkü doğrulama işlemi yapan kullanıcı kullanıcı adı ve şifresini "düz metin" halinde yollar. Daha sonra doğrulama sunucusu ACK mesajını şuna bir cevap olarak gönderir; araya giren bir kullanıcı iletilen veriyi okumakta ve kullanıcıyı ve sunucuyu taklit etmekte, aynı zamanda kullanıcıyı daha sonra tekrar taklit edebilmek için kullanıcının bilgilerini saklamakta özgürdür. Challenge-Handshake Authentication Protocol (CHAP) bu tür tekrarlama saldırısını doğrulama aşamasında "bilmece" mekanizması kullanarak güvenli hale getirir. Kullanıcı bu mekanizmada bilmeceye paylaşılan sır (shared secret) (örneğin; kullanıcının şifresi'ni kullanarak cevap verir. Doğrulayan taraf daha sonra bilmeceye kendi verdiği cevap ile kullanıcının verdiği cevabı karşılaştırır ve kullanıcıyı doğrular. Hiç iletilmeyen paylaşılan sırra, doğrulayıcı kontrolünde bilmece tekrarına ve değişen tanımlayıcı ve bilmeceler sayesinde, CHAP tekrarlama saldırılarına karşı sınırlı bir koruma sağlar.

Tekrarlama saldırılarına karşı zayıflığın gerçek dünyadan örnekleri

Tekrarlama saldırılarının nasıl kullanıldığına ve daha fazla saldırıyı önlemek için sorunların nasıl tespit edilip düzeltildiğine dair birkaç gerçek dünya örneği vardır.

Araçlar için uzaktan anahtarsız-giriş sistemi

Piyasadaki birçok araç, kullanıcının kolay kullanımı için uzaktan anahtarsız bir sistem veya anahtarlık kullanır.  Modern sistemler basit tekrarlama saldırılarına karşı güçlendirilmiştir, ancak hafızalı tekrarlamalı saldırılara (buffered replay attacks) karşı savunmasızdır.  Bu saldırı, radyo dalgalarını alabilen ve iletebilen bir cihazı hedef aracın menzili içine yerleştirilerek gerçekleştirilir. Verici herhangi bir RF aracına kilidini açmak için gönderilen sinyali kesecek ve aynı zamanda bu sinyali daha sonra kullanmak için hafızasına( buffer) kaydedecektir. Daha sonraki aracın kilidin açma denemelerinde, verici yeni sinyali kesecek ve öncekini gönderecek ve böylece hafızasını kullanarak aracın bir adım önünde olacaktır. Daha sonra saldırgan aracın kilidini açmak için bu hafızaya alınmış sinyali kullanabilir.

Konuşulan metin ile hoparlörden kimlik doğrulama

Çeşitli türlerde cihazlar konuşanın kimliğini doğrulamak için speaker recognition kullanır. Metne bağlı sistemlerde sistem tarafından doğrulanmış olan metni kaydedip sistem tarafından doğrulanmak için bu metni tekrar kullanabilir. Doğrulanmış kullanıcıların hafızaya alınmış konuşmaları ile sanal bit-haritaları (spectral bitmaps) oluşturulmuş ve bu haritalar ile bir tedbir sistemi tasarlanmıştır. Saldırganın yeniden oynattığı konuşma bu durumda farklı bir kalıpta olur ve sistem tarafından reddedilir.