Birçok kişi “akıllı” kameralar kurarak evlerinin veya ofislerinin güvenliğini arttırmak istiyor. İnternete direkt bağlantı sayesinde, kamera takip sistemlerine istedikleri zaman sadece birkaç tıklama ile ulaşabiliyorlar. Bununla birlikte, kamera istenmeyen etmenlere kapıyı açan bir güvenlik açığından muzdaripse, bu kolaylık aniden bir soruna dönüşebilir. ESET akıllı ev araştırmasının gösterdiğine göre, D-Link DCS-2132L bulut kameranın bu durumu, saldırganların sadece kaydedilen videoya girip onu görüntülemesine değil, aynı zamanda cihazın yazılımını manipüle etmesine de olanak tanıyor.
D-Link DCS-2132L bulut kameranın en ciddi sorunu, video akışını şifrelemeden iletmesi. Ne kamera ve bulut arasındaki bağlantı ne de bulut ve istemci tarafındaki görüntüleme uygulaması arasındaki bağlantı şifrelendiği için Ortadaki Adam (MitM) saldırılarına ve kurbanların video yayınlarının davetsiz misafirler tarafından izlenmesine çok açıktır.
Görüntüleme uygulaması ve kamera, TCP tüneli tabanlı özel bir D-Link tünel protokolü kullanarak 2048 portundaki bir vekil sunucu üzerinden bağlantı kurar. Ne yazık ki, bu tünellerden akan trafiğin yalnızca bir kısmı şifrelenir ve kamera IP ve MAC adresleri, sürüm bilgileri, video ve ses akışları ile kapsamlı kamera bilgileri gibi en hassas içeriklerden bazıları şifreleme olmadan bırakılır.
Bundan ve daha sonra bu blog yazısında açıklanan bazı sorunlardan sorumlu güvenlik açığı, kameraya HTTP isteklerini işleyen request.cdosyasındaki (D-Link özelleştirilmiş açık kaynak boa web sunucusu kaynak kodunun bir parçası) bir duruma kadar izlenebilir. 127.0.0.1'den gelen tüm HTTP istekleri yönetici düzeyine yükseltilir ve potansiyel saldırganın cihaza tam erişim izni sağlanmış olur.
Video ve ses akışlarını engelleniyor
Görüntüleyici uygulaması ile bulut arasındaki veya bulut ve kamera arasındaki ağ trafiğini engelleyen bir MitM saldırganı, video ve ses paketlerinin HTTP isteklerini görmek için sunucu (bulut) bağlantı noktasındaki 2048 TCP bağlantısının veri akışını kullanabilir. Ardından, bu kameradan geçerli ses veya video akışını elde etmek için saldırgan tarafından herhangi bir zamanda yeniden yapılandırılabilir ve yeniden oynatılabilir. Deneylerimizde, video akışı içeriğini, özellikle M-JPEG ve H.264 olmak üzere iki ham formatta elde ettik.
Video akışını yeniden yapılandırmak için birkaç adım gerekir (basit bir program veya bir komut dosyası aracılığıyla kolayca otomatikleştirilebilir):
1. Video akışlarını temsil eden trafiği tanımlayın. Bu trafik, çoklu veri bloklarından oluşur ve her blok özel bir başlık ve tanımlanmış uzunluğa sahiptir.
2. Veri parçalarını başlıklardan ayırın.
3. Son olarak, videonun parçaları tek bir dosyaya birleştirilir.
Bu şekilde elde edilen video dosyaları taşıyıcı bir dosya biçimi yerine ham formatta olduğu için bu videoları oynatmak biraz zor olabilir. Ancak, bazı medya oynatıcıları uygun komut satırı anahtarlarıyla çalıştırılırsa bu ham biçimleri işleyebilir (örneğin, MPlayer M-JPEG dosyalarını işleyebilir ve VLC H.264 dosyalarını oynatabilir).
Kusurlu eklenti
Kamerada bulunan bir başka ciddi sorun, “mydlink services (D-Link hizmetlerim)” web tarayıcısı eklentisinde gizli. Bu, kullanıcının kullanabileceği izleyici uygulamasının biçimlerinden biridir, diğerleri ise araştırmamızın bir parçası olmayan mobil uygulamalardır.
Web tarayıcısı eklentisi, TCP tünelinin oluşturulmasını ve istemcinin tarayıcısında canlı video oynatmayı yönetir ancak aynı zamanda localhost üzerinde dinamik olarak oluşturulmuş bir bağlantı noktasını dinleyen bir tünel aracılığıyla video ve ses veri akışlarına yönelik isteklerin iletilmesinden de sorumludur.
Tünel tüm işletim sistemi için kullanıma açıktır. Böylece istemcinin bilgisayarındaki herhangi bir uygulama veya kullanıcı hxxp://127.0.0.1:RANDOM_PORT/ adresine basit bir istekle kameranın web ara yüzüne erişebilir (sadece canlı video akışı sırasında).
Kameranın web sunucusuna giden HTTP istekleri bir localhost IP'den erişirken otomatik olarak yönetici seviyesine yükseltildiğinden bir yetkilendirme gerekmez (görüntüleyici uygulamanın localhost'u kamera localhost'una tünellidir).
Bu güvenlik açığı, orijinal ürün yazılımı yerine saldırganların kendi hileli veya arka kapılı sürümlerini yüklemesine de de olanak tanır.
Yasadışı donanım yazılımı değişimi
Blog yazıldığı sırada, “mydlink hizmetleri” eklentisi ile ilgili sorunlar üretici tarafından başarıyla düzeltildi.
Bununla birlikte, kötü amaçlı ürün yazılımı değişimi, bu blog yazısında daha önce açıklanan özel D-Link tünel protokolündeki güvenlik açıkları aracılığıyla hâlâ mümkündür. Bunu başarmak için, saldırganın, video akışı GET isteğini, sahte bir ürün yazılımı “güncellemesi” yükleyen ve çalıştıran belirli bir POST isteğiyle değiştirerek tüneldeki trafiği değiştirmesi gerekir.
Bu noktada vurgulamalıyız ki, böyle bir saldırıyı gerçekleştirmenin basit olmadığını, tünel protokolünün tüm kurallarını uygulamak gerektiğini, ürün yazılımı dosyasını belirli başlıklara ve belirli bir maksimum uzunluğa sahip bloklara bölmek gerektiğini belirtelim.
Ancak, ürün yazılımı binary kodunun orijinalliği güncelleme işlemi sırasında doğrulanmaz. Böylece, kripto para madencileri, arka kapılar, casus yazılım, botnet'ler veya diğer truva atları gibi bazı ek “gizli” özelliklere sahip özelleştirilmiş bir ürün yazılımı cihaza yüklenebilir. Ayrıca, herhangi bir orijinallik kontrolünün olmaması, kötü niyetli bir etmenin cihazı kasıtlı olarak kullanılamaz hale getirebileceği anlamına gelir.
UPnP, HTTP bağlantı noktasını internete açar
D-Link DCS-2132L'nin de diğer birkaç küçük ama yine de endişe verici sorunları vardı. Evrensel Tak ve Kullan (UPnP) cihazları kullanarak, bir ev yönlendiricisinde kendisine bağlantı noktası yönlendirmesi yapabilir. Bu, 80 numaralı bağlantı noktasındaki HTTP ara yüzünü internete sunar ve “UPnP sunumunu etkinleştir” veya “UPnP bağlantı noktası yönlendirmeyi etkinleştir” alanlarını bile kullanıcının rızası olmadan deaktive edebilir.
Kameranın neden böyle tehlikeli bir ayarı kullandığı belli değil. Şu anda çoğunluğu Amerika Birleşik Devletleri, Rusya ve Avustralya'da bulunan 1.600'e yakın 80. portu açık D-Link DCS-2132L kamera, Shodan aracılığıyla bulunabilir.
Bu mevcut riski azaltmanın en basit yolu, kullanıcının yönlendiricisinde UPnP'yi devre dışı bırakmaktır.
Eklenti düzeltildi, diğer sorunlar devam ediyor.
Sorumlu açıklamanın bir parçası olarak ESET, savunmasız şifrelenmemiş bulut iletişimi, yetersiz bulut mesajı kimlik doğrulaması ve şifrelenmemiş LAN iletişimi de dahil tespit edilen bütün bu sorunları 22 Ağustos 2018'de D-Link'e bildirdi.
D-Link hemen yanıt vererek ESET'e güvenlik açığı raporlarının araştırma ve geliştirme ekiplerine iletildiğini bildirerek takip sözü verdi.
O günden sonra, testlerimizde bazı güvenlik açıklarının azaltıldığını gördük. "mydlink services” eklentisi artık kontrol altına alınmış olsa da diğer sorunlar devam ediyor. Bu yazıyı yazdığımız sıradaki en güncel sürüm olan ve Kasım 2016'da yayınlanmış olan ve buradan indirilebilen sürüm, güvenlik açıklarını belirtmiyor ve kamera yazılımın değiştirilmesine izin verdiği gibi ses ve video akışlarının kesilmesine de izin veriyor.
D-Link DCS-2132L kamera piyasada hâlâ satılmaktadır. Cihazın mevcut sahiplerinin, 80 numaralı portun genel internete açık olmadığını kontrol etmeleri ve kamera ev veya şirketlerinin son derece hassas alanlarını izliyorsa uzaktan erişim kullanımını yeniden gözden geçirmeleri önerilir.