AirPods hızlı bağlantı güvenlik açığı
(blogs.gnome.org)- AirPods firmware'indeki CVE-2024-27867 nedeniyle Bluetooth MAC adresini bilen biri cihaza bağlanarak mikrofonu dinleyebilir veya müzik çalabilir
- Güvenlik açığı, Apple'ın tescilli protokolü Fast Connect yolunda kimlik doğrulama ve şifreleme durumunun açıkça kontrol edilmemesinden kaynaklanıyor
- Saldırı için gereken Bluetooth MAC adresi tamamen gizli değildir; eşleştirme modunda veya AirPods aktif durumdayken radyo sinyalleri üzerinden elde edilebilir
- AirPods kapalı şarj kutusundayken veya AirPods Max Smart Case içindeyken kablosuz işlevler kapandığı için bağlantı kurmak mümkün değildir
- Apple, AirPods ve bazı Beats modelleri için firmware güncellemeleri yayımladı; ancak iOS·macOS olmadan kullanan Android·Windows·Linux kullanıcıları için güncelleme süreci daha zahmetli olabilir
AirPods firmware güvenlik açığı ve etki kapsamı
- Apple AirPods firmware'inde CVE-2024-27867 güvenlik açığı bulunuyor
- Bluetooth MAC adresini bilen biri AirPods'a bağlanarak şu işlemleri yapabilir
- Mikrofonu dinleme
- Müzik çalma
- Başka bağlı cihazlarda çalmakta olan müziği görme ve duraklatma
- AAP protokolünün izin verdiği bazı işlemleri gerçekleştirme
- Hatalı biçimlendirilmiş mesajlar göndererek AirPods'u çökertme
- AirPods zaten telefona bağlı olsa bile saldırgan ek olarak bağlanabilir
- Ancak saldırgan mikrofonu açarsa müzik çalma durur
- AirPods kapalı şarj kutusunun içindeyse veya AirPods Max Smart Case içindeyse kablosuz işlevler kapandığından hiçbir bağlantı mümkün değildir
Güvenlik açığının keşfedilme yolu
- AirPods 3, macOS ve Apple cihazları kombinasyonunda birçok işlevi doğal biçimde çalıştırıyordu; ancak aynı dizüstü bilgisayar Linux ile başlatıldığında telefona ve dizüstüne aynı anda bağlanmıyordu
- Bu fark nedeniyle sıradan Bluetooth kulaklıklarda olmayan Apple'a özel bir protokol kullanıldığı düşünüldü ve bazı işlevleri Linux'ta yeniden uygulamak için analiz başlatıldı
- Analiz sırasında Apple'ın Bluetooth çevre birimlerini bağlayan Fast Connect özelliğinde güvenlik açığı bulundu
Fast Connect'in çalışma biçimi
- Fast Connect, Apple'ın tescilli protokolüdür ve Bluetooth standardındaki ping işlevini yaratıcı biçimde kullanır
- Amacı, iki Apple cihazı arasındaki bağlantı kurulum süresini yaklaşık 1 saniyeden yaklaşık 0,5 saniyeye düşürmektir
- Hedef cihazla kimlik doğrulaması yapılmadan önce iki cihaz L2CAP ping mesajları alışverişi yapar
- Apple, protokol mesajlarını ping payload'unun içine koyar
- Bu yöntemle Bluetooth standardını ihlal etmeden iki tarafın Fast Connect'i destekleyip desteklemediği kontrol edilir
- Ardından bağlantı için gereken pazarlık 3 ek gidiş-dönüş mesajıyla yürütülür
- Toplam gidiş-dönüş mesajı sayısı 4 ile sınırlı kaldığı için, SDP descriptor'larının alınıp verildiği ve kanalların yapılandırıldığı normal Bluetooth bağlantı prosedüründen daha hızlıdır
Kimlik doğrulama kontrolünün eksikliği
- Sorun, Fast Connect'i uygulayan ayrı kod yolunda kritik bir kontrolün eksik olmasıdır
- AirPods, bağlantı karşı tarafının gerçekten kimlik doğrulaması yapıp yapmadığını ve şifrelemeyi açıp açmadığını kontrol etmez
- Normal iOS ve macOS, ilk Fast Connect mesajından sonra kimlik doğrulama ve şifrelemeyi etkinleştirme adımını yürütür
- Saldırgan bu adımı atlasa bile AirPods Fast Connect prosedürünü sürdürür
- Fast Connect olmadan normal Bluetooth yöntemiyle AirPods'a bağlanırken kimlik doğrulama adımı örtük olarak dahil edilir; bu yüzden Fast Connect kod yolunda açık kontrolün eksik kalmış olması muhtemeldir
Bluetooth MAC adresi koşulu
- Saldırganın AirPods'un sabit Bluetooth MAC adresini bilmesi gerekir
- Bu adres tamamen gizli bir bilgi değildir
- Bluetooth cihazı eşleştirme modundayken radyo sinyaliyle duyurulur
- AirPods aktif durumdayken Ubertooth One gibi donanımlarla radyo sinyallerinden kolayca elde edilebilir
Güncellemeler ve Apple kullanmayanların sorunu
- Apple son birkaç gün içinde bu güvenlik açığını düzelten birden fazla firmware güncellemesi yayımladı
- Kapsamda AirPods 2, AirPods 3, AirPods Pro, AirPods Pro 2, AirPods Max ve bazı Beats kulaklıklar yer alıyor
- Kullanıcılar AirPods firmware'inin güncel olup olmadığını kontrol etmeli
- Güvenlik güncellemesi bilgileri: Apple güvenlik sayfası
- Güncelleme yöntemi: AirPods firmware güncelleme rehberi
- AirPods firmware'i otomatik güncellenir, ancak yalnızca iPhone veya MacBook ile birlikte kullanıldığında otomatik güncellenir
- Android, Windows, Linux kullanıcıları gibi iOS veya macOS cihazı olmadan AirPods kullananların firmware'i kolayca güncellemesi zordur
- Bu kullanıcılar Apple Store'da firmware güncellemesi alabiliyor gibi görünüyor
Raporlama ve araçlar
- Bluetooth ile ilgili sorular ve açıklama sürecinde University of Potsdam'dan Jiska Classen yardımcı oldu
- BlueZ gibi Linux topluluğu araçları bu sorunu bulmak için gerekliydi
1 yorum
Hacker News yorumları
Bu süreçte zaman ölçeğini hangi etkenlerin belirlediğini bilmek isterdim
Sonuçta iki tarafın hangi özellikleri desteklediğini doğrulayan ve hangi fiziksel katman protokolü ile iletişim kuracağını belirleyen handshake yapısı zaman alıyor
Bazı üçüncü taraf uygulamalar var ama güvenilirlikleri düşük; neyse ki bunların çoğu Mac'te yapılabiliyor, fakat kulakta uyum testi için yine iPhone gerekiyor. Firmware yükseltmesi kullanıcı tarafından kontrol edilemiyor ve durum ya da ilerleme bilgisi de hiç verilmiyor; olabilecek en kafa karıştırıcı biçimde tasarlanmış
Bir Apple Store destek çalışanı bana bir keresinde “AirPods'u Mac'e bağlı halde açık kutusunun içine koyun, kutuyu da güce bağlayıp yaklaşık 30 dakika bekletin” demişti; ama gerçekte güncelleme sürecinde epey rastgelelik varmış gibi geliyor. Apple Store çalışanları da iPhone dışındaki Apple ürünleri arasındaki entegrasyonu bazen oldukça belirsiz biliyor gibiydi; AirPods'u iPhone olmadan sadece Mac ve Android ile kullandığımı söyleyince iki kez şaşırmışlardı
https://support.apple.com/en-us/106340
ABD sürümünde en güncel firmware sürüm numaraları farklı görünüyor; örneğin AirPods Pro 2. nesil için 6F8 yazarken Hindistan sürümünde 6B34 yazıyor
Linux implementasyonu hakkında bir devam yazısı bekliyorum
Güncelleme üzerinde daha fazla kontrol olmasını isterdim
https://support.apple.com/en-us/106340
AirPods kullanıcılarının %95'inden fazlasının firmware güncellemelerinden haberdar olmasına gerek olmaması normal; ama önemseyen kişiler için ne olduğunu kontrol etmenin bir yolu olmalı
Normalde bu büyük bir sorun değil, fakat AirPods firmware'ini birkaç gün gecikmeli aldığım oldu; ileride anında güncellemenin önemli hale geldiği zamanlar olabilir
Eğer mevcut bağlantıyı koparma yöntemiyle çalışıyorsa, kullanıcının haberi olmadan aramaları ya da ses akışını dinlemek zor görünüyor. En kötü senaryo yakın mesafeden MAC adreslerini tarayıp otomatik bağlanarak kulağa gürültü çalmak mı, yoksa bundan daha büyük bir sorun mu var bilmiyorum
Üst düzey bir ünlü ya da siyasetçi görüntülü görüşmedeyken AirPods'unu kapmak teoride mümkün olabilir, ama hemen fark edilir gibi geliyor; daha kötüsü olup olmadığını merak ediyorum
Ayrıca Bluetooth bağlantısını ele geçirmek oldukça geniş bir saldırı yüzeyi sağladığından, saldırgan başka açıklar da biliyorsa bu durum ek exploit zincirlerine kapı açabilir
“Fast Connect” protokolü aynı anda birden fazla cihaza “bağlı” olmayı mümkün kılıyor gibi göründüğünden, kullanıcı bunu fark etmeyebilir. Bir diğer saldırı da, temizlik görevlisi gibi davranıp ofisin çeşitli yerlerine kahve bardağı altlığı biçiminde cihazlar bırakıp yakındaki AirPods'lardan ses toplamak olabilir
Esas zor kısım fiilen çözülmüş sayılır; küçük bir pil, Bluetooth vericisi ve depolama eklenmiş bir cihazla insanların konuştuğu yerlerin yakınında yüksek kaliteli ses toplanabilir
Yine de Bluetooth menzili içinde olmak gerektiği için, düz şekilde kulak misafiri olmak muhtemelen daha kolaydır
Yama gelmemiş olsaydı biri muhtemelen Flipper Zero için bir AirPods bozma uygulaması yapar ve kamusal alanlarda herkesin AirPods sesini keserek ortalığı rahatsız ederdi
6A326'nın düzeltmeyi içeren sürüm olduğu anlaşılıyor
https://support.apple.com/en-us/HT214111
Muhtemelen AirPods Pro 2. nesil için olan sürüm bu