- Creative Sound Blaster Katana V2X, yaklaşık 15 m Bluetooth menzili içindeki bir saldırganın eşleştirme veya fiziksel temas olmadan CTP komutları ve ürün yazılımı güncellemeleri çalıştırarak cihazı bir gözetleme aygıtına ya da uzaktan bir Rubber Ducky’ye dönüştürmesine izin verebiliyor
- USB üzerindeki CTP, statik anahtar tabanlı challenge-response kimlik doğrulaması gerektiriyor; ancak Bluetooth yolu, aynı CTP komutlarını GATT characteristic üzerinden kimlik doğrulama olmadan kabul ederek bilgi okuma ve ayar değiştirmeye izin veriyor
- Ürün yazılımı kapsayıcısı
FBOOT,FMAIN,CHK2bileşenlerinden oluşuyor ve imza doğrulaması olmadan, yalnızca SHA-256 sağlama toplamı olanCHK2tutuyorsa yamalanmış ürün yazılımını kabul ediyor - PoC, BLE üzerinden yaklaşık 10 dakika boyunca özel ürün yazılımı yükledikten sonra yeniden başlatılan hoparlörün USB HID klavye gibi
echo pwnedyazıp çalıştırmasını sağladı - Creative, SingCERT üzerinden iletişim kurulmasının ardından bunun “siber güvenlik riski oluşturmadığını” söyleyerek durumu bir zafiyet olarak değerlendirmedi; en güncel ürün yazılımı hâlâ savunmasız ve yalnızca CTP-over-Bluetooth’u engelleyen gayriresmî bir yama mevcut
Zafiyetin özü
- Katana V2X, USB ile PC’ye bağlanan bir soundbar ve Creative uygulaması, DSP, LED yapılandırması ve çıkış kaynağı gibi ayarları CTP ile değiştiriyor
- USB üzerinden CTP komutları yazabilmek için önce challenge-response kimlik doğrulamasından geçmek gerekiyor; anahtar ise Creative App içinde yer alan ikili dosyadan türetilebilen statik bir değer
- Ürün yazılımı güncellemesi de CTP üzerinde çalışıyor ve ilk ürün yazılımı imajı, Wireshark ile USB trafiği yakalanarak çıkarıldı
- Bluetooth Low Energy’de bazı durumlarda eşleştirme olmadan cihaza bağlanıp GATT characteristic’lerini okuyup yazmak mümkün olabiliyor; eşleştirme şifreleme sağlasa da bağlantının kendisi için her zaman gerekli değil
- Katana V2X ürün yazılımında dahili CTP işleyicisinin yalnızca USB’ye değil Bluetooth’a da bağlı olduğu görüldü; dizüstü bilgisayardan
5a 09 01 02değeri9e9daaec-3a10-4fe8-b69f-7397aff77886characteristic’ine yazıldığında,9e9daaeb-3a10-4fe8-b69f-7397aff77886characteristic’inden tam ürün yazılımı sürüm dizgesi okunabildi
Ürün yazılımı doğrulaması ve OTA saldırı zinciri
- Ürün yazılımı kapsayıcısında kurtarma moduyla ilişkili
FBOOT, normal açılışta çalışan ana ürün yazılımıFMAINve tüm kapsayıcı için SHA-256 sağlama toplamıCHK2bulunuyor FBOOTveFMAIN,/home/jieyi/mcuos2.5/kernel/freertos-8.2.3/dizgesinin işaret ettiği FreeRTOS tabanlı koddan oluşuyor;FMAIN,FBOOT’tan yaklaşık 6,5 kat daha büyük- Cihaz, yalnızca
CHK2doğruysa yamalanmış ürün yazılımını kabul etti veWELCOMEdizgesiPATCHEDolarak değiştirilen ürün yazılımı flashlandığında açılışta segment ekrandaPATCHEDgösterildi - Aynı ürün yazılımı güncelleme sürecini BLE ile yeniden uygulayan Python betiği, eşleştirme veya kimlik doğrulama olmadan özel ürün yazılımını yükledi; BLE hızı nedeniyle tamamlanması yaklaşık 10 dakika sürdü
- Hoparlörde mikrofon bulunduğundan, özel ürün yazılımının konuşmaları dinleyip Bluetooth üzerinden alıcıya ileten gizli bir izleme aygıtı olarak çalışabileceğine dair teorik bir olasılık da var
USB klavye enjeksiyon yöntemi
- Katana V2X, normal yapılandırmada PC’ye USB üzerinden bağlı güvenilir bir cihaz gibi çalışıyor
- Cihaz zaten tam teşekküllü bir klavye değil, ancak ses düzeyi ve oynat/duraklat gibi medya denetimleri için kendini bir HID Consumer Control aygıtı olarak tanımlıyor
- Ürün yazılımındaki USB report descriptor’a ikinci bir report descriptor girdisi eklenerek cihazın klavye olarak da görünmesi sağlanabildi
- Ürün yazılımında HID verisi gönderen rutin zaten vardı ve basılacak ile bırakılacak tuş verileri verilerek çağrılması, tuş vuruşu göndermeye yetti
- Karmaşık şekilde yürütme akışını dolanmak yerine, normal kullanımda belirgin bir iş yapmadığı görülen
diagnosticFreeRTOS görevinin üzerine yazılarak özel kodun açılışta çalışması sağlandı - Bu görev, USB alt sisteminin hazır olmasını yaklaşık 20 saniye bekledikten sonra yaklaşık 20 ms aralıklarla
echo pwnedyazıyor, Enter’a basıyor ve sonra sonlanıyor - Son yama; 83 baytlık USB report, tuş vuruşu enjektörü için 102 bayt ARM/Thumb assembly ve gönderilecek her tuş vuruşu için 2 bayttan oluşuyordu
- Gerçek bir saldırıda
powershell.exegibi bir program açılıp kötü amaçlı tek satırlık bir komut yapıştırılabilir; ayrıca saldırgan normal mod ve kurtarma modundaki ürün yazılımı güncelleme rutinlerini devre dışı bırakırsa kötü amaçlı ürün yazılımının kaldırılması ve gelecekteki yamaların uygulanması imkânsız hâle gelebilir - Hoparlörün Bluetooth’u güç tasarrufu modunda bile her zaman açık ve bunu kapatmanın bir yolu görünmüyor
Hafifletme ve açıklama süreci
- Creative’in herkese açık bir güvenlik iletişim adresi yoktu ve genel iletişim kanalları da web sitesindeki destek formu dışında zor bulunuyordu
- Destek formu üzerinden iki kez iletişim kurulmaya çalışıldıktan sonra SingCERT arabulucu olarak devreye girdi
- Creative, SingCERT’e neredeyse iki ay sonra yanıt verdi ve “siber güvenlik riski oluşturmadığı için bunu zafiyet olarak görmediğini” söyledi
- Creative tarafından sağlanan bir yama yok ve en güncel ürün yazılımı da savunmasız
- Gayriresmî hafifletme yöntemi, ürün yazılımında CTP-over-Bluetooth’u engelliyor; bu değişiklik Creative mobil uygulamasını büyük olasılıkla bozuyor
- v2x-patcher, Creative sunucularından resmî ürün yazılımını indiriyor, bellekte yamalıyor ve ardından USB ile bağlı Katana V2X’e yüklüyor
- Tüm testler ve tersine mühendislik,
1.3.230619.1820ürün yazılımı sürümünde yapıldı
Tersine mühendislik ayrıntıları
FMAIN.bin, tek bir imaj değil scatter-loaded yapısındaydı; farklı dosya ofsetleri farklı adreslere yükleniyordu- Ghidra’nın otomatik analizi için doğru temel adres ve bellek haritası gerekiyordu; çıkarım yapılıp cihaz bellek okumalarıyla doğrulanan yerleşim uygulandığında geçerli analiz sonuçları elde edildi
- Dizge işaretçileri doğrudan yüklenmiyor,
movwvemovtçiftleriyle yükleniyordu; aynı register’a yüklenen çiftleri bulup geçerli belleği işaret eden durumlarda DATA referansı oluşturan bir betik yaklaşık 13 bin referans üretti - Ürün yazılımını her testte yeniden flashlamamak için, CTP opcode
0x54’ün echo işleyicisinin üzerine yazılarak okuma, yazma ve çalıştırma komutlarını işlemesi sağlandı - Nihai özel işleyici 96 bayttı ve özgün işleyicinin yaklaşık 106 baytlık boyutuna sığıyordu
- Birden fazla tuş vuruşu
mem-execile USB işleme görevi bağlamında çalıştırıldığındavTaskDelaygecikmeleri birikti ve görev başına çalışan watchdog nedeniyle cihaz yeniden başladı - Tuş vuruşu kodu USB görevinden doğrudan çağrılmak yerine
diagnostichizmet görevine enjekte edilince watchdog sorunu ortadan kalktı
1 yorum
Hacker News yorumları
Yazıyı düzgün okumamış ya da hiç okumamış yorumları görmek komik. Bu aslında temelde bir Bluetooth cihaz kartı için herkese açık S3 bucket durumu
Yine de yapılan iş gerçekten çok etkileyici. USB ile bağlı bir cihazı saldırı vektörüne dönüştürmenin çok daha zor olacağını sanırdım; ama klavyeyi taklit edip yerel bir terminal açtırarak kötü amaçlı komutlar çalıştırabilmekle bunun mümkün olması epey komik. Yönetici yetkili bir terminal olmadığı için zarar bir ölçüde sınırlı olurdu, ama Windows'ta kullanıcılar UAC istemini çoğu zaman düşünmeden geçiyor, bu yüzden epey çok PC'de tam erişim elde etmek mümkün gibi görünüyor
SingCERT e-postasına göre üretici, “Bu bir siber güvenlik riski oluşturmadığı için bunu bir güvenlik açığı olarak görmüyoruz” demiş. Eşleştirme bile olmadan, başkasının bilgisayarına USB ile bağlı bir cihaza kablosuz olarak rastgele firmware yazabilmenin bir güvenlik açığı sayılmadığını söylemek inanılmaz
Başka çevre birimi şirketlerinden de görünürde güvenlik ekibi olmadan çalışanların ne kadar çok olduğunu merak ettiriyor. Böyle açıklar muhtemelen daha çoktur; sadece henüz bulunmamışlardır. Kardeşim bir keresinde gece 2'de, mahalledeki çocuklar Bluetooth hoparlöre bağlanıp osuruk sesini son seste döngüye alınca uyanmıştı; bu, Bluetooth'un kötü niyetli kullanımında buzdağının sadece görünen kısmı
Tanım gereği, etkisi düşük ya da olasılığı düşük olduğu için riski düşük olan güvenlik açıkları her zaman vardır. CVE'lerde puanlama vardır, ama gerçek risk ve azaltım öncesi/sonrası riskin kabul edilip edilmeyeceğini kullanım senaryosu belirler. “Risk yok => açık yok” tasarım olarak hatalı bir çıkarım; en fazla “açık yok => risk yok” görüşüne katılabilirim
Ama yeniden flashlama arayüzünün Bluetooth üzerinden açık olması tuhaf. Bildiğim kadarıyla bir hoparlörle eşleşmek için fiziksel erişim gerekir
Düzeltme: Yanılmışım. Bu, eşleştirme gerektirmeyen bir BTLE endpoint. O halde bu düpedüz saçma bir açık. Umarım kendi yazılımını çalıştırabilme yeteneğini elinden almadan yamalanır
Yazı iyi yazılmış ve anlaşılması kolay; göz gezdirmeye değer
Özetle, Creative Sound Blaster Katana V2X soundbar'ında Bluetooth üzerinden rastgele firmware yeniden yazımı yapmanın bir yolunu bulmuşlar ve bunun için kayda değer bir kimlik doğrulama ya da kullanıcı etkileşimi gerekmiyor
Bu soundbar, ana bilgisayara USB ile doğrudan bağlı olduğundan, firmware'e descriptor ekleyip klavye gibi tanıtmak mümkün olmuş. Sonrasında PC'ye tuş girdisi göndermek kolay kalmış. Soundbar'da mikrofon da bulunduğu için saldırgan bunu bir dinleme cihazına da dönüştürebilir
Creative ve SingCERT'e bildirilmiş, ama şirket ancak 2 ay sonra “siber güvenlik riski oluşturmadığı için bunu bir güvenlik açığı olarak görmüyoruz” diye yanıt vermiş
Yazar, hatalı aktarım protokolünü devre dışı bırakan bir firmware yaması yayımlamış. Resmî Bluetooth uygulamasının işlevlerini bile bozabilecek kadar kaba bir yöntem, ama üretici iş birliği olmadan yapılabilecek en iyi şey gibi görünüyor
Eski üreticilerde bile önce cihazı yapıp yazılımı sonradan eklenen bir şey gibi gören anlayış oldukça yaygın. Sadece güvenliğe değil, yamalara, güncellemelere ve değişen ekosistem gibi yazılım yaşam döngüsü unsurlarına da neredeyse hiç önem verilmiyor
Hatta cihaz markasının yazılımı küçük bir dış geliştirme firmasına yaptırdığı, sonra o şirket kapanınca, ortadan kaybolunca ya da işi bırakınca üreticinin kaynak koda bile sahip olmadığı durumlar gördüm. Böyle olunca cihazı çalıştıran yazılımı geliştirme ya da düzeltme kabiliyeti de kalmıyor; zamanla bunun üstüne middleware, UI ve geçici bağlantı katmanları katman katman ekleniyor
Gerçekte “küçük dış geliştirici” değil de tedarik zinciri korsanı gibi birinin firmware yazdığı cihazlar da az değildir diye düşünüyorum
Neden bu kadar dar düşünülüyor? Hoparlörün kendisini de saldırgan olarak kullanabilirsiniz
LLM kullanan herhangi bir script kiddie bile tedarik zinciri üzerinden yayılan bir worm yapabilir. Fabrika sahasında hoparlörleri doğrudan hackleyip Rickroll çalacak hale getirmek bile mümkün olabilir
O zaman da Creative'in “siber güvenlik riski oluşturmuyor” demeyi sürdürüp sürdürmeyeceğini merak ediyorum
Bonus olarak, güvenlik deliğini kapatırken normal firmware flashlama işlevini de kapatırsanız, üreticinin tamir için hoparlörü jailbreak etmesi gerekir; bu da ayrı bir artı
Üreticinin bunu güvenlik açığı saymaması yüzünden yazarın üçüncü taraf bir yama yayımlamak zorunda kalması iyi görünmüyor
Mağdur olmak için bu cihaza sahip olmanız, saldırganın bunu bilmesi ve yakın mesafede olması gerekiyor. Fight Club'daki repliği hatırlayın
A = sahadaki hoparlör sayısı
B = hacklenme ihtimali olan oran
C = ortalama mahkeme dışı uzlaşma tutarı
Karar: geri çağırmama ya da tamir etmeme maliyeti, geri çağırma maliyetinden büyükse geri çağırma başlar. En büyük maliyet insanların bundan sonra hoparlör satın almaması olurdu, ama pek olacak gibi görünmüyor
Mossad gibi bir örgütü yönetiyor olsaydım, bütçenin büyük bir kısmını piyasadaki tüm Bluetooth cihazlarını toplamaya, işi az olan İsrailli bilgisayar bilimi mezunlarını bunlardaki bu tür açıkları bulmaya yönlendirmeye ve sonra bunu kolayca dağıtılabilir bir araç setine dönüştürmeye harcardım
Örneğin İran hükümet ofislerine erişebilen bir unsurun cep telefonuyla binanın içinde dolaşıp mümkün olduğunca çok sayıda bilgisayarı ele geçirmesini isterdim. Düşününce, muhtemelen bunu gerçekten yaptıklarını varsaymak gerekir
Bu, fiilen tamamen toplumsallaştırılmış bir bilgisayar mühendisliği yüksek lisans programına daha yakın ve bir sinyal istihbaratı örgütü olduğu için bunları öğreniyorlar. 2-3 yıllık hizmet bittikten sonra öğrencilik kredileri olmuyor, devlet startup tohum sermayesine bolca destek veriyor ve TLV ekosistemi küçük bir Bay Area gibi işliyor
Aileyle yaşamak da toplumsal olarak daha kabul edilebilir olduğundan, 20'li yaşlardakilerin önemli bir kısmının borcu yok, aylık giderleri düşük, askerlikten gelen güçlü teknik yetkinlikleri var, startup merkezindeler ve sermayeye erişimleri iyi. Sonuç olarak özellikle siber güvenlik alanında çok sayıda unicorn çıkıyor(https://www.techaviv.com/unicorns)
ABD ile kıyaslayınca insanlar 4 yıllık lisansa odaklanıyor, büyük borçlar altına giriyor, kira ödüyor ve tohum yatırım bulmakta zorlanıyor. “Bozuk sistemin artıklarını biraz kullansak yeter” tarzı düşünmek, baştan başarılı bir sisteme sahip olma bakışını kaçırıyor
Eğer bu standart uygulama değilse epey şaşırırım. Yine de beklenenden daha düşük verimli olabilir ve uğraşmaya değmeyebilir. Ama bu örneğe bakınca gayet sonuç verebilir gibi duruyor; tabii bizim bilmediğimiz diğer istihbarat yöntemleriyle kıyaslamak gerekir
Kolay olan hangisi, pazarlama mı hata bulmak mı :-)
Firmware yazıyorum; özellikle de Bluetooth destekli cihaz firmware'i ile uğraşıyorum ve şirket bu web sitesini engellemiş
Teknolojiyi seven biri, evdeki tüm bilgisayarlara bağlanan ve Miles Davis çalınca taze kahve demleyen aşırı akıllı kahve makinesine kadar kontrol eden aşırı akıllı bir hoparlör satın alır
Teknolojiyi anlayan biri ise ekmek kızartma makinesinin yanında bir balta bulundurur
Üstünkörü hazırlanmış bir kanalın bunu ele alan videosunu yaklaşık 4 iş günü sonra YouTube ana sayfamda görmeyi şimdiden bekliyorum