Periyodik olarak küçük miktarda veri transferini sağlayan düşük enerji düzeyli Bluetooth, sensörler, harekete geçirici uç noktalardaki aygıtlar ve nesnelerin internetindeki cihazlar için çok düşük miktarda güç tüketimi olduğundan dolayı, tam uyumlu olduğu söylenebilir. Bunun yanında, çok miktarda cihazla az gecikmelerle haberleşmeyi sağlaması, çabuk tepki verme, kısa sürede bağlanma ve telefon ve tabletlerle uyumu özellikleri açısından oldukça elverişli bir protokoldür.
Bluetooth-LE, istemci sunucu modelini kullanır. İstemci, data istemek için bir ya da daha fazla sunucuya bağlanabilir. İstemci merkez rolünü üstlenirken, sunucu çevresel rolü üstlenir. Sensörler sunucular vazifesi görürken, bilgisayarlar, telefonlar ya da tabletler istemci gibi davranır. Ağ geçidi açısından baktığımızda, ağ geçidi istemci (merkez) görevindedir. İstemci bağlantı kurmak için sunucu tarar. Bağlantı kurulduktan sonra, belli ve düzenli aralıklarla veri aktarımı gerçekleştirilir.
Mesela, akıllı telefonlar Bluetooth-LE’nin kullanıldığı bir uygulama ile ağ geçidine dönüşebilir. Bu protokolün kullanıldığı giyilebilir bir sensörün telefon uygulamasına veri gönderip, bu verinin hastane servisine akışı bulut sistemiyle sağlanabilir. Daha çok giyilebilir teknolojiler için kullanılan Bluetooth-LE teknolojisi, üreticilerin dikkat etmemesinden ötürü birtakım zafiyetlere sahiptir.
1) Adres zayıflığı
Bluetooth LE kullanan cihazlar dört adet adrese sahiptir: Üreticiler tarafından belirlenen ve cihazın ömrü boyunca sabit olan genel adresi, her şarj döngüsünde değişebilen random statik adresi, sadece ana cihazın sahip olduğu bir anahtarla üretilen, rastgele olup belli bir zamandan sonra değişen özel çözümlenebilir adresler ve ana cihazın çözemediği yani bir anahtarın kullanılmadığı fakat belli bir zaman aralığında değişen özel çözümlenemeyen adresler.
Adres yanıltma yöntemi ile saldırgan, sunuculara ya da merkez cihaza bağlanarak, diğer cihazların birbiriyle iletişimini engelleyebilir. Ayrıca, genel adresler her zaman sabit olduğu için, en çok zayıflık onlarda görülür.
Bildirme (uygun zaman) aralığında görülen zayıflıklar da vardır. Bildirme zaman aralığını kullanarak yanıltılan cihaz, bağlanması gereken asıl cihazdan daha önce ana cihaza bağlanabilir. Burada zaman aralığının uzunluğu çok önemlidir.
Şifrelenmemiş mesajların bağlantı oluşmadan sunucudan merkez cihaza gönderilmesi de büyük bir tehdit oluşturur. Ağa sızan saldırganlar tarafından veri analiz edilebilir. Bu yüzden, bağlantı sağlandıktan sonra verinin gönderilmesi ve verinin şifrelenmesi güvenlik açısından büyük öneme sahiptir.
2) MITM saldırısı
Bluetooth kullanan cihazlar, özellikle bu saldırı tipine daha açıktır. Eğer saldırgan bir şekilde, iletişim halinde olan iki tarafın bağlantılarının kesildiğine inandırırsa, saldırgan bu iki bluetooth modülünü ana ve yardımcı cihaz olarak, paket enjeksiyonu ve doğrulama saldırılarında kullanabilir.
3) Sinyal Yayılma Zaman Aralığı Saldırısı
Nesnelerin internetinde yer alıp, batarya ile çalışan ve düşük pil tüketimini hedefleyen cihazlar, sinyal yayma sıklıklarını optimize etmek isterler. Saldırgan, çok sıklıkta sinyal oluşturup, yayma zaman aralığını minimum düzeye indirebilir. Böylece bağlanmak isteyen cihaz, ilk sinyal aldığı cihaza bağlanabilir. Bunun önüne geçmek için, çoğu cihaz asıl cihazla bağlantıyı koparmayıp, aktif bağlantı sırasında sinyal yaymaz.
4) UDP Flood Saldırısı
Protokol katmanlarının içinde iletim katmanında bulunan, datagram adı verilen kısa mesajları göndermek için oluşturulmuş, gömülü sistemlerde daha çok tercih edilen, gerçek zamanlı performans sağlayan bir protokoldür. TCP protokolünde mesajın alıcıya ulaşıp ulaşmadığı ve eksik bir paket olduğunda tekrar gönderilmesi kontrol edilirken, UDP’de mesaj bütünlüğü kontrol edilmez. Yani UDP, hata kontrolünün ve mesajı doğrulamanın gerekli olmadığını varsayar. Bağlantı kurma yükünün çok fazla olduğu ve ulaşımın önemli olduğu uygulamalarda (video ve ses aktarımı gibi) UDP tercih edilir. Tek taraflı veri akışı için kullanılması daha uygun olan UDP, bağlantı odaklı çalışmaz. UDP, TCP’de olduğu gibi IP protokolü ile birlikte çalışır. Nesnelerin İnternetinde kullanılan mesajlaşma protokollerinden CoAP, UDP tabanlı olarak çalışır. UDP’de IP adresinin geçerli olup olmadığını kontrol etmez. UDP mesaj paketleri bağlantı odaklı çalışmadıklarından dolayı, bazı zayıflıklara sahip olup, saldırıya açık haldedirler.
DoS saldırı tiplerinden biri olan UDP Flood, saldırganın belirlenen sunucunun ya da cihazın rastgele portlarına cihazın kaldırabileceğinden çok daha fazla sayıda UDP paketi göndermesiyle başlatılan bir saldırıdır. Cihaz, o portu dinleyen bir uygulama olup olmadığını kontrol eder. Eğer herhangi bir uygulama bulamazsa, ICMP mesajı gönderir. Bir süre sonra, saldırı altındaki makine cevap göndermekte zorlanır ve istemciler tarafından erişilemez hale gelir. Saldırgan da sahte IP adresleri kullanarak, kendisini anonim hale getirir. UDP saldırında DDoS saldırısı olan Smurf saldırısı da vardır. Fakat bu saldırı, genel hatlarıyla UDP Flood saldırısına benzerdir.
5) XMPPloit Saldırısı
XML temel alınarak kurulan, anlık mesajlaşmayı sağlayan gerçek zamana yakın iletişimi sağlayan kamuya açık bir protokoldür. XMPP, uygulama katmanındaki diğer protokollere benzerlikler barındırır. Bu protokol kullanılırken, her istemcinin kendine özel bir ismi vardır ve başka istemciyle yönlendirme yetkisine sahip ilgili sunucu üzerinden haberleşir.
Ayrıca sunucular, alanlar ya da ülkeler arası iletişimi de sağlayabilir. XMPP, XML üzerinden, farklı uçtan uca iletişimi tanımlayan TCP soketlerinin üzerinde oluşturulur. XMPP de sunucular, iki ana göreve sahiptir: istemciler arasındaki iletişimi sağlama ve adresleri belli XML stanzalarını XML mesaj dizisi üzerinden istemcilere yönlendirme. XMPP’de ağ geçidi, XMPP protokolünde olan bir mesajı, XMPP olmayan başka bir protokole çift yönlü çeviriyi sağlayan bir fonksiyondur. Eğer XMPP, TLS ile güçlendirilmezse, MITM saldırılarına açık olma ihtimali çok daha fazladır.
XMPPloit, saldırganın istemci ile sunucu arasında bir ağ geçidi yerine geçmesiyle, XMPP bağlantılarını hedef alan açık kaynaklı komut satırı aracıdır. Bu araçla birlikte, istemcinin mesajının şifrelenmesi engellenir. Böylece mesaj veya kullanıcı adı ve şifresi saldırgan tarafından okunabilir ya da müdahale edilebilir. Kısacası, saldırgan ağ geçidi olduktan sonra, mesaj trafiğini izleyebilir ya da manipüle edebilir.
6) BEAST Saldırısı
Protokollerin taşıma katmanında bulunan, şifreleme kullanıp, mesaj bütünlüğüne ve gizli kalmasına dikkat ederek iki uygulama arasında iletişim kurmaya yarayan bir protokoldür. TLS, geniş çapta kullanımı yaygınlaşmış olup, anlık mesajlaşma, ağ tarama, dosya transferleri ve IP üzerinden sesli iletişim gibi alanlarda yaygın olarak kullanılmaktadır. TLS, birden fazla şifreleme tekniğini kullanarak mesaj güvenliğini sağlamaktadır. Ciphersuite adı verilen birden çok şifrelemeyi barındıran bir paket kullanır.
RSA, iki tane çok büyük asal sayının çarpımının hangi sayılar olduğunu çözümlemenin zorluğuna dayanır. Bugünün süper bilgisayarları bile, çözülmesi gereken zamanda çözememişlerdir. İki asal sayı seçilir. 1 ile bu iki sayının bir eksiklerinin çarpımı arasında bir sayı açık anahtar olarak seçilir. Gizli anahtar bulunurken ise şu yol izlenir. Belirlenen iki asal sayıyı bir azaltıp, elde edilen sayıyı herhangi bir tamsayı ile çarpılır. Sonuca bir eklenir ve açık anahtara bölünür. Böylece gizli anahtar da elde edilmiş olur. Göndereceğimiz mesajın açık anahtarla kuvveti alınarak, seçilen iki asal sayının çarpımına göre modu alınır. Bu işlem karşı tarafta mesaj çözümlenirken de uygulanır. TLS, güvenli bir şekilde iletişimi sağlasa da, kullanılan algoritmalardaki bazı açıklardan dolayı birtakım saldırılarla karşı karşıya kalınabilir.
SSL/TLS protokollerine karşı tarayıcıyı ele geçirmeye yönelik olan bu saldırı, CBC algoritmasının implementasyonundaki bir açıktan dolayı mesajın saldırgana açık hale gelmesi durumudur. Bu saldırı istemci-kullanıcı tarafında MITM tekniği kullanılarak yapılır. Saldırgan, MITM tekniğiyle TLS paketlerine farklı paketler enjekte eder. Saldırgan, enjekte ettiği mesajı XOR işlemine sokarak, başlama vektörünü tahmin eder. Çözümlemek istediği bloğun sonuçlarını karşılaştırır ve bloğu elde eder. Saldırgan, istemcinin tarayıcısını ele geçirir. Bu saldırı genellikle TLS 1.0 versiyonu üzerinde uygulanır.
7) CRIME Saldırısı
Bu saldırı, TLS veri sıkıştırmasında ortaya çıkan bir açıktan kaynaklanır. Sıkıştırmanın amaçlarından birisi, bant genişliğinin kullanımını azaltmaktır. DEFLATE, sıkıştırma için kullanılan önemli algoritmalardan birisidir. Sıkıştırma algoritmalarında, tekrar eden karakterleri bir işaretleyici yardımıyla ilk görüldüğü yere işaret ederek yer değiştirilmesi ve sıkıştırılmasıdır. Saldırgan yaptığı iş, değişik karakterleri enjekte edip, cevabın uzunluğunu kontrol etmektir. Eğer cevabın uzunluğu ilk gönderilenden kısaysa, demek ki eklenen karakter tanım değerinin bir karakteridir ve sıkıştırılmıştır. Eğer cevabın uzunluğu uzunsa, demek ki karakter tanım değerinin bir değeri değildir. Böylece brute force işlemi yapılarak, hedeflenen kişinin tanım değeri bulunur.
8) STARTTLS Komut Enjeksiyon Saldırısı
TLS : Transport Layer Security’nin (Aktarım Katmanı Güvenliği) kısaltmasıdır. STARTTLS olarak ta bilinir. SMTP hizmetini kullanırken TLS modu kullanılırsa ilk bağlantıyla birlikte güvenli olmayan bir sunucu bağlantısı gerçekleşir ve STARTTLS komutuyla devam eder. Ardından veri aktarımı sırasında ise güvenli bağlantıya geçilir. TLS, genellikle 25 ve 587 nolu portu kullanır ancak bu her zaman geçerli değildir. TLS protokolü iki durumda oluşabilir: yazılımın hatasız olması ve istemcinin sunucunun TLS sertifikasını onaylaması. Eğer yazılımda bir hata olursa, bu hata ile saldırgan, istediği komutları enjekte edebilir. Böylece SMTP-TLS protokolü boyunca sunucu tarafından bu komut çalıştırılır. Enjekte edilen komutlar sayesinde kullanıcının mailini ve şifresini ele geçirebilirsiniz.
Bluetooth-LE, istemci sunucu modelini kullanır. İstemci, data istemek için bir ya da daha fazla sunucuya bağlanabilir. İstemci merkez rolünü üstlenirken, sunucu çevresel rolü üstlenir. Sensörler sunucular vazifesi görürken, bilgisayarlar, telefonlar ya da tabletler istemci gibi davranır. Ağ geçidi açısından baktığımızda, ağ geçidi istemci (merkez) görevindedir. İstemci bağlantı kurmak için sunucu tarar. Bağlantı kurulduktan sonra, belli ve düzenli aralıklarla veri aktarımı gerçekleştirilir.
Mesela, akıllı telefonlar Bluetooth-LE’nin kullanıldığı bir uygulama ile ağ geçidine dönüşebilir. Bu protokolün kullanıldığı giyilebilir bir sensörün telefon uygulamasına veri gönderip, bu verinin hastane servisine akışı bulut sistemiyle sağlanabilir. Daha çok giyilebilir teknolojiler için kullanılan Bluetooth-LE teknolojisi, üreticilerin dikkat etmemesinden ötürü birtakım zafiyetlere sahiptir.
1) Adres zayıflığı
Bluetooth LE kullanan cihazlar dört adet adrese sahiptir: Üreticiler tarafından belirlenen ve cihazın ömrü boyunca sabit olan genel adresi, her şarj döngüsünde değişebilen random statik adresi, sadece ana cihazın sahip olduğu bir anahtarla üretilen, rastgele olup belli bir zamandan sonra değişen özel çözümlenebilir adresler ve ana cihazın çözemediği yani bir anahtarın kullanılmadığı fakat belli bir zaman aralığında değişen özel çözümlenemeyen adresler.
Adres yanıltma yöntemi ile saldırgan, sunuculara ya da merkez cihaza bağlanarak, diğer cihazların birbiriyle iletişimini engelleyebilir. Ayrıca, genel adresler her zaman sabit olduğu için, en çok zayıflık onlarda görülür.
Bildirme (uygun zaman) aralığında görülen zayıflıklar da vardır. Bildirme zaman aralığını kullanarak yanıltılan cihaz, bağlanması gereken asıl cihazdan daha önce ana cihaza bağlanabilir. Burada zaman aralığının uzunluğu çok önemlidir.
Şifrelenmemiş mesajların bağlantı oluşmadan sunucudan merkez cihaza gönderilmesi de büyük bir tehdit oluşturur. Ağa sızan saldırganlar tarafından veri analiz edilebilir. Bu yüzden, bağlantı sağlandıktan sonra verinin gönderilmesi ve verinin şifrelenmesi güvenlik açısından büyük öneme sahiptir.
2) MITM saldırısı
Bluetooth kullanan cihazlar, özellikle bu saldırı tipine daha açıktır. Eğer saldırgan bir şekilde, iletişim halinde olan iki tarafın bağlantılarının kesildiğine inandırırsa, saldırgan bu iki bluetooth modülünü ana ve yardımcı cihaz olarak, paket enjeksiyonu ve doğrulama saldırılarında kullanabilir.
3) Sinyal Yayılma Zaman Aralığı Saldırısı
Nesnelerin internetinde yer alıp, batarya ile çalışan ve düşük pil tüketimini hedefleyen cihazlar, sinyal yayma sıklıklarını optimize etmek isterler. Saldırgan, çok sıklıkta sinyal oluşturup, yayma zaman aralığını minimum düzeye indirebilir. Böylece bağlanmak isteyen cihaz, ilk sinyal aldığı cihaza bağlanabilir. Bunun önüne geçmek için, çoğu cihaz asıl cihazla bağlantıyı koparmayıp, aktif bağlantı sırasında sinyal yaymaz.
4) UDP Flood Saldırısı
Protokol katmanlarının içinde iletim katmanında bulunan, datagram adı verilen kısa mesajları göndermek için oluşturulmuş, gömülü sistemlerde daha çok tercih edilen, gerçek zamanlı performans sağlayan bir protokoldür. TCP protokolünde mesajın alıcıya ulaşıp ulaşmadığı ve eksik bir paket olduğunda tekrar gönderilmesi kontrol edilirken, UDP’de mesaj bütünlüğü kontrol edilmez. Yani UDP, hata kontrolünün ve mesajı doğrulamanın gerekli olmadığını varsayar. Bağlantı kurma yükünün çok fazla olduğu ve ulaşımın önemli olduğu uygulamalarda (video ve ses aktarımı gibi) UDP tercih edilir. Tek taraflı veri akışı için kullanılması daha uygun olan UDP, bağlantı odaklı çalışmaz. UDP, TCP’de olduğu gibi IP protokolü ile birlikte çalışır. Nesnelerin İnternetinde kullanılan mesajlaşma protokollerinden CoAP, UDP tabanlı olarak çalışır. UDP’de IP adresinin geçerli olup olmadığını kontrol etmez. UDP mesaj paketleri bağlantı odaklı çalışmadıklarından dolayı, bazı zayıflıklara sahip olup, saldırıya açık haldedirler.
DoS saldırı tiplerinden biri olan UDP Flood, saldırganın belirlenen sunucunun ya da cihazın rastgele portlarına cihazın kaldırabileceğinden çok daha fazla sayıda UDP paketi göndermesiyle başlatılan bir saldırıdır. Cihaz, o portu dinleyen bir uygulama olup olmadığını kontrol eder. Eğer herhangi bir uygulama bulamazsa, ICMP mesajı gönderir. Bir süre sonra, saldırı altındaki makine cevap göndermekte zorlanır ve istemciler tarafından erişilemez hale gelir. Saldırgan da sahte IP adresleri kullanarak, kendisini anonim hale getirir. UDP saldırında DDoS saldırısı olan Smurf saldırısı da vardır. Fakat bu saldırı, genel hatlarıyla UDP Flood saldırısına benzerdir.
5) XMPPloit Saldırısı
XML temel alınarak kurulan, anlık mesajlaşmayı sağlayan gerçek zamana yakın iletişimi sağlayan kamuya açık bir protokoldür. XMPP, uygulama katmanındaki diğer protokollere benzerlikler barındırır. Bu protokol kullanılırken, her istemcinin kendine özel bir ismi vardır ve başka istemciyle yönlendirme yetkisine sahip ilgili sunucu üzerinden haberleşir.
Ayrıca sunucular, alanlar ya da ülkeler arası iletişimi de sağlayabilir. XMPP, XML üzerinden, farklı uçtan uca iletişimi tanımlayan TCP soketlerinin üzerinde oluşturulur. XMPP de sunucular, iki ana göreve sahiptir: istemciler arasındaki iletişimi sağlama ve adresleri belli XML stanzalarını XML mesaj dizisi üzerinden istemcilere yönlendirme. XMPP’de ağ geçidi, XMPP protokolünde olan bir mesajı, XMPP olmayan başka bir protokole çift yönlü çeviriyi sağlayan bir fonksiyondur. Eğer XMPP, TLS ile güçlendirilmezse, MITM saldırılarına açık olma ihtimali çok daha fazladır.
XMPPloit, saldırganın istemci ile sunucu arasında bir ağ geçidi yerine geçmesiyle, XMPP bağlantılarını hedef alan açık kaynaklı komut satırı aracıdır. Bu araçla birlikte, istemcinin mesajının şifrelenmesi engellenir. Böylece mesaj veya kullanıcı adı ve şifresi saldırgan tarafından okunabilir ya da müdahale edilebilir. Kısacası, saldırgan ağ geçidi olduktan sonra, mesaj trafiğini izleyebilir ya da manipüle edebilir.
6) BEAST Saldırısı
Protokollerin taşıma katmanında bulunan, şifreleme kullanıp, mesaj bütünlüğüne ve gizli kalmasına dikkat ederek iki uygulama arasında iletişim kurmaya yarayan bir protokoldür. TLS, geniş çapta kullanımı yaygınlaşmış olup, anlık mesajlaşma, ağ tarama, dosya transferleri ve IP üzerinden sesli iletişim gibi alanlarda yaygın olarak kullanılmaktadır. TLS, birden fazla şifreleme tekniğini kullanarak mesaj güvenliğini sağlamaktadır. Ciphersuite adı verilen birden çok şifrelemeyi barındıran bir paket kullanır.
RSA, iki tane çok büyük asal sayının çarpımının hangi sayılar olduğunu çözümlemenin zorluğuna dayanır. Bugünün süper bilgisayarları bile, çözülmesi gereken zamanda çözememişlerdir. İki asal sayı seçilir. 1 ile bu iki sayının bir eksiklerinin çarpımı arasında bir sayı açık anahtar olarak seçilir. Gizli anahtar bulunurken ise şu yol izlenir. Belirlenen iki asal sayıyı bir azaltıp, elde edilen sayıyı herhangi bir tamsayı ile çarpılır. Sonuca bir eklenir ve açık anahtara bölünür. Böylece gizli anahtar da elde edilmiş olur. Göndereceğimiz mesajın açık anahtarla kuvveti alınarak, seçilen iki asal sayının çarpımına göre modu alınır. Bu işlem karşı tarafta mesaj çözümlenirken de uygulanır. TLS, güvenli bir şekilde iletişimi sağlasa da, kullanılan algoritmalardaki bazı açıklardan dolayı birtakım saldırılarla karşı karşıya kalınabilir.
SSL/TLS protokollerine karşı tarayıcıyı ele geçirmeye yönelik olan bu saldırı, CBC algoritmasının implementasyonundaki bir açıktan dolayı mesajın saldırgana açık hale gelmesi durumudur. Bu saldırı istemci-kullanıcı tarafında MITM tekniği kullanılarak yapılır. Saldırgan, MITM tekniğiyle TLS paketlerine farklı paketler enjekte eder. Saldırgan, enjekte ettiği mesajı XOR işlemine sokarak, başlama vektörünü tahmin eder. Çözümlemek istediği bloğun sonuçlarını karşılaştırır ve bloğu elde eder. Saldırgan, istemcinin tarayıcısını ele geçirir. Bu saldırı genellikle TLS 1.0 versiyonu üzerinde uygulanır.
7) CRIME Saldırısı
Bu saldırı, TLS veri sıkıştırmasında ortaya çıkan bir açıktan kaynaklanır. Sıkıştırmanın amaçlarından birisi, bant genişliğinin kullanımını azaltmaktır. DEFLATE, sıkıştırma için kullanılan önemli algoritmalardan birisidir. Sıkıştırma algoritmalarında, tekrar eden karakterleri bir işaretleyici yardımıyla ilk görüldüğü yere işaret ederek yer değiştirilmesi ve sıkıştırılmasıdır. Saldırgan yaptığı iş, değişik karakterleri enjekte edip, cevabın uzunluğunu kontrol etmektir. Eğer cevabın uzunluğu ilk gönderilenden kısaysa, demek ki eklenen karakter tanım değerinin bir karakteridir ve sıkıştırılmıştır. Eğer cevabın uzunluğu uzunsa, demek ki karakter tanım değerinin bir değeri değildir. Böylece brute force işlemi yapılarak, hedeflenen kişinin tanım değeri bulunur.
8) STARTTLS Komut Enjeksiyon Saldırısı
TLS : Transport Layer Security’nin (Aktarım Katmanı Güvenliği) kısaltmasıdır. STARTTLS olarak ta bilinir. SMTP hizmetini kullanırken TLS modu kullanılırsa ilk bağlantıyla birlikte güvenli olmayan bir sunucu bağlantısı gerçekleşir ve STARTTLS komutuyla devam eder. Ardından veri aktarımı sırasında ise güvenli bağlantıya geçilir. TLS, genellikle 25 ve 587 nolu portu kullanır ancak bu her zaman geçerli değildir. TLS protokolü iki durumda oluşabilir: yazılımın hatasız olması ve istemcinin sunucunun TLS sertifikasını onaylaması. Eğer yazılımda bir hata olursa, bu hata ile saldırgan, istediği komutları enjekte edebilir. Böylece SMTP-TLS protokolü boyunca sunucu tarafından bu komut çalıştırılır. Enjekte edilen komutlar sayesinde kullanıcının mailini ve şifresini ele geçirebilirsiniz.