AirPods तेज़ कनेक्शन सुरक्षा कमजोरी
(blogs.gnome.org)- AirPods फ़र्मवेयर में CVE-2024-27867 के कारण Bluetooth MAC address जानने वाला कोई भी व्यक्ति डिवाइस से कनेक्ट होकर माइक्रोफ़ोन सुन सकता है या संगीत चला सकता है
- यह कमजोरी Apple के स्वामित्व वाले Fast Connect पाथ में authentication और encryption state को स्पष्ट रूप से verify न करने के कारण पैदा होती है
- हमले के लिए ज़रूरी Bluetooth MAC address पूरी तरह निजी नहीं है, और pairing mode या AirPods के active होने पर रेडियो सिग्नल से प्राप्त किया जा सकता है
- अगर AirPods बंद charging case में हों या AirPods Max Smart Case के अंदर हो, तो wireless functionality बंद रहती है और कनेक्शन संभव नहीं होता
- Apple ने AirPods और कुछ Beats के लिए फ़र्मवेयर अपडेट जारी किए हैं, लेकिन iOS·macOS के बिना इस्तेमाल करने वाले Android·Windows·Linux यूज़र्स के लिए अपडेट प्रक्रिया अधिक झंझटपूर्ण हो सकती है
AirPods फ़र्मवेयर कमजोरी और प्रभाव का दायरा
- Apple AirPods फ़र्मवेयर में CVE-2024-27867 सुरक्षा कमजोरी मौजूद है
- Bluetooth MAC address जानने वाला कोई भी व्यक्ति AirPods से कनेक्ट होकर ये काम कर सकता है
- माइक्रोफ़ोन सुनना
- संगीत चलाना
- किसी दूसरे कनेक्टेड डिवाइस पर चल रहे संगीत को देखना और pause करना
- AAP protocol के तहत संभव कुछ कार्रवाइयाँ करना
- गलत format वाले संदेश भेजकर AirPods को crash कर देना
- AirPods अगर पहले से फ़ोन से कनेक्ट हों तब भी हमलावर अतिरिक्त रूप से कनेक्ट हो सकता है
- हालांकि हमलावर माइक्रोफ़ोन चालू करता है तो संगीत चलना रुक जाता है
- अगर AirPods बंद charging case में हों या AirPods Max Smart Case के अंदर हो, तो wireless functionality बंद रहती है और कोई भी कनेक्शन संभव नहीं होता
कमजोरी कैसे सामने आई
- AirPods 3 में macOS और Apple डिवाइस के साथ कई फीचर स्वाभाविक रूप से काम करते थे, लेकिन वही laptop Linux में boot करने पर फ़ोन और laptop से एक साथ कनेक्ट नहीं हो रहा था
- इस अंतर से यह अनुमान लगाया गया कि सामान्य Bluetooth headphones में न मिलने वाला Apple-विशेष protocol इस्तेमाल हो रहा है, और Linux में कुछ फीचर दोबारा implement करने के लिए विश्लेषण शुरू किया गया
- विश्लेषण के दौरान Bluetooth peripheral को कनेक्ट करने वाली Apple की Fast Connect सुविधा में यह कमजोरी मिली
Fast Connect कैसे काम करता है
- Fast Connect, Apple का स्वामित्व वाला protocol है, और यह Bluetooth specification की ping functionality का रचनात्मक उपयोग करता है
- इसका उद्देश्य दो Apple डिवाइसों के बीच connection setup time को लगभग 1 सेकंड से घटाकर लगभग 0.5 सेकंड करना है
- target डिवाइस के साथ authenticate करने से पहले दोनों डिवाइस L2CAP ping message का आदान-प्रदान करते हैं
- Apple ping payload के अंदर protocol message डालता है
- इस तरीके से Bluetooth specification का उल्लंघन किए बिना यह जाँचा जाता है कि दोनों तरफ Fast Connect supported है या नहीं
- इसके बाद 3 अतिरिक्त round-trip message के ज़रिए कनेक्शन के लिए ज़रूरी negotiation होती है
- कुल 4 round-trip message में काम पूरा हो जाता है, इसलिए यह सामान्य Bluetooth connection में SDP descriptor exchange और channel setup प्रक्रिया से तेज़ है
authentication जाँच का अभाव
- समस्या यह है कि Fast Connect को implement करने वाले अलग code path में एक महत्वपूर्ण जाँच गायब है
- AirPods यह verify नहीं करते कि कनेक्ट होने वाला पक्ष वास्तव में authenticated है और encryption चालू है या नहीं
- सामान्य iOS और macOS, शुरुआती Fast Connect message के बाद authentication और encryption enable करने के चरण पूरे करते हैं
- हमलावर अगर इस चरण को छोड़ भी दे, तब भी AirPods Fast Connect प्रक्रिया जारी रखते हैं
- Fast Connect के बिना सामान्य Bluetooth तरीके से AirPods से कनेक्ट होने पर authentication चरण अप्रत्यक्ष रूप से शामिल होता है, इसलिए संभव है कि Fast Connect code path में स्पष्ट जाँच छूट गई हो
Bluetooth MAC address की शर्त
- हमलावर को AirPods का स्थिर Bluetooth MAC address पता होना चाहिए
- यह address पूरी तरह निजी जानकारी नहीं है
- Bluetooth डिवाइस pairing mode में हो तो यह रेडियो सिग्नल में advertise होता है
- AirPods active होने पर Ubertooth One जैसे hardware से इसे रेडियो ट्रैफ़िक से आसानी से हासिल किया जा सकता है
अपडेट और गैर-Apple यूज़र्स की समस्या
- Apple ने पिछले कुछ दिनों में इस कमजोरी को ठीक करने वाले कई फ़र्मवेयर अपडेट जारी किए हैं
- ये AirPods 2, AirPods 3, AirPods Pro, AirPods Pro 2, AirPods Max और कुछ Beats headphones पर लागू होते हैं
- यूज़र्स को यह सुनिश्चित करना चाहिए कि AirPods फ़र्मवेयर latest है
- सुरक्षा अपडेट जानकारी: Apple Security Page
- अपडेट तरीका: AirPods फ़र्मवेयर अपडेट guide
- AirPods फ़र्मवेयर अपने-आप अपडेट होता है, लेकिन केवल तब जब उनका इस्तेमाल iPhone या MacBook के साथ किया जाए
- Android, Windows, Linux यूज़र्स की तरह iOS या macOS डिवाइस के बिना AirPods इस्तेमाल करने वालों के लिए फ़र्मवेयर अपडेट करना आसान नहीं हो सकता
- ऐसे यूज़र्स को संभवतः Apple Store में फ़र्मवेयर अपडेट मिल सकता है
रिपोर्ट और टूल्स
- Bluetooth से जुड़े सवालों और disclosure प्रक्रिया में University of Potsdam की Jiska Classen ने मदद की
- BlueZ जैसे Linux community tools this problem को खोजने के लिए ज़रूरी थे
1 टिप्पणियां
Hacker News की राय
मैं जानना चाहता हूँ कि इस प्रक्रिया की समय-इकाई तय करने वाले कारक क्या हैं
अंत में, दोनों तरफ कौन-से features support होते हैं और किस physical layer protocol पर communicate करना है, यह तय करने वाला handshake ही समय खा जाता है
कुछ third-party apps हैं, लेकिन वे भरोसेमंद नहीं हैं। शुक्र है कि Mac पर ज़्यादातर चीजें संभव हैं, पर fit test के लिए केवल iPhone चाहिए। Firmware upgrade को user control नहीं कर सकता और status या progress की कोई जानकारी भी नहीं मिलती, इसलिए इसे जितना हो सके उतना confusing बना दिया गया है
Apple Store support staff ने एक बार कहा था, “AirPods को Mac से connected रखते हुए open case में रखें, case को power से connect करें और करीब 30 minutes छोड़ दें,” लेकिन असल में updates में काफी randomness महसूस होती है। Apple Store staff भी iPhone के अलावा Apple products के बीच integration को कभी-कभी बहुत अस्पष्ट तरीके से जानते लगते थे, और यह सुनकर कि मैं AirPods को iPhone के बिना सिर्फ Mac और Android के साथ इस्तेमाल करता हूँ, वे दो बार हैरान हुए
https://support.apple.com/en-us/106340
US version में latest firmware version number अलग दिखता है; उदाहरण के लिए AirPods Pro 2nd gen के लिए 6F8 है, जबकि India version में 6B34 है
Linux implementation पर follow-up लेख का इंतज़ार रहेगा
काश update control थोड़ा और होता
https://support.apple.com/en-us/106340
यह सही है कि 95% से ज़्यादा AirPods users को firmware updates के बारे में जानने की जरूरत नहीं, लेकिन जिन्हें फर्क पड़ता है उनके पास यह देखने का तरीका होना चाहिए कि क्या हो रहा है
आम तौर पर यह बड़ी समस्या नहीं है, पर मुझे AirPods firmware कुछ दिनों की देरी से मिला है, और आगे कभी ऐसा समय आ सकता है जब immediate update जरूरी हो
अगर यह existing connection तोड़ने वाला तरीका है, तो user को पता चले बिना call या audio stream सुनना मुश्किल लगता है। सबसे बुरा शायद इतना हो कि नज़दीक से MAC address scan करके auto-connect करे और कान में noise play कर दे, या इससे बड़ी समस्या है—पता नहीं
कोई high-profile celebrity या politician video call पर हो तो उसके AirPods hijack करना संभव हो सकता है, लेकिन तुरंत पता चल जाएगा लगता है; उससे भी बुरा क्या हो सकता है, यह जानना चाहूँगा
साथ ही Bluetooth connection पर कब्ज़ा करने का मतलब काफी बड़ा attack surface मिलना है, इसलिए अगर attacker को दूसरी vulnerabilities पता हों तो आगे exploit chain बनाने का रास्ता भी खुलता है
“Fast Connect” protocol कई devices से साथ-साथ “connect” होने की अनुमति देता दिखता है, इसलिए user को पता न चलने की संभावना अधिक है। एक और attack यह हो सकता है कि cleaner की तरह office में जगह-जगह coffee coaster जैसे दिखने वाले devices रख दिए जाएँ और आसपास के AirPods का audio पकड़ लिया जाए
मूल रूप से मुश्किल हिस्सा तो हल हो चुका होगा; बस छोटी battery, Bluetooth transmitter और storage वाला device बनाना होगा, जिससे लोगों के बोलने वाली जगहों के पास high-quality audio collect किया जा सके
हालांकि Bluetooth range के अंदर होना पड़ेगा, इसलिए शायद सामान्य तरीके से eavesdrop करना ही आसान हो
अगर patch न हुआ होता, तो कोई Flipper Zero के लिए AirPods disruption app बना देता और public places में सबके AirPods audio काटकर परेशान करता
6A326 में fix शामिल लगता है
https://support.apple.com/en-us/HT214111
शायद यह AirPods Pro 2nd gen वाला version लगता है