
Acer Wireless Keyboard SK-9662 में कमजोर एन्क्रिप्शन भौतिक निकटता में मौजूद हमलावर को वायरलेस कीस्ट्रोक्स को डिक्रिप्ट करने और मनमाने वायरलेस कीस्ट्रोक्स इंजेक्ट करने की अनुमति देता है।
मैंने Acer Wireless Keyboard SK-9662 (FCC ID: H4IKB9662) के वायरलेस प्रोटोकॉल में उपयोग होने वाले कमजोर एन्क्रिप्शन की खोज की है। यह कमजोर एन्क्रिप्शन एक हमलावर को कीस्ट्रोक्स की आसानी से निगरानी और लॉग करने के साथ-साथ मनमाने कीस्ट्रोक्स इंजेक्ट करने की अनुमति देता है।
यह कीबोर्ड Texas Instruments CC2545 चिप का उपयोग करता है, जो Nordic Semiconductors द्वारा विकसित Enhanced Shockburst प्रोटोकॉल का उपयोग करके डेटा संचारित करता है। पेलोड में 12 बाइट्स होते हैं, पहली बाइट एक स्थिर मान प्रतीत होती है (मेरे परीक्षण में 0x48)। दूसरी बाइट मॉडिफायर बाइट है (ctrl, shift आदि), तीसरी और चौथी बाइट कंज़्यूमर और पावर कंट्रोल कुंजियाँ हैं। पाँचवीं से दसवीं बाइट की कोड हैं। ग्यारहवीं बाइट चेकसम के रूप में कार्य करती है और बारहवीं बाइट एन्क्रिप्शन के लिए उपयोग की जाने वाली रैंडम संख्या है।
पेलोड एन्क्रिप्शन रेडियो शोर से एक रैंडम बाइट उत्पन्न करने के साथ शुरू होता है। फर्मवेयर में संग्रहीत एक अलग बाइट (keyvalue) AES के लिए कुंजी के रूप में उपयोग की जाती है। कुंजी और रैंडम बाइट दोनों को 128 बिट्स में शून्य-पैड किया जाता है और CC2545 पर AES कोप्रोसेसर को भेजा जाता है। AES कोप्रोसेसर null IV के साथ CBC मोड के लिए कॉन्फ़िगर किया गया है। AES कोप्रोसेसर के आउटपुट को xorkey के रूप में संदर्भित किया जाएगा। पेलोड के पहले ग्यारह बाइट्स को xorkey में संबंधित बाइट्स के साथ xor किया जाता है। रैंडम बाइट पेलोड की अंतिम बाइट होती है ताकि रिसीवर पेलोड को डिक्रिप्ट कर सके।
पेलोड का डिक्रिप्शन एन्क्रिप्शन के समान है। पेलोड की बारहवीं बाइट (रैंडम मान) keyvalue (रिसीवर को पहले से ज्ञात) के साथ मिलकर xorkey उत्पन्न करने के लिए उपयोग की जाती है और एन्क्रिप्टेड पेलोड के साथ xor की जाती है।
यह एन्क्रिप्शन योजना केवल एक बाइट AES कुंजी के उपयोग के कारण आसानी से विफल की जा सकती है। चूंकि कुंजी केवल 256 संभावित मानों तक सीमित है, कुंजी को सेकंडों में आसानी से ब्रूट-फोर्स किया जा सकता है। इस रिपॉजिटरी में मौजूद पायथन स्क्रिप्ट कैप्चर किए गए एन्क्रिप्टेड पैकेट के ब्रूट-फोर्स डिक्रिप्शन को दर्शाती है।
इस कमजोरी का शोषण करने के लिए, एक हमलावर के पास 2.4 GHz रेडियो ट्रैफ़िक को कैप्चर करने के साधन होने चाहिए। इसके लिए लक्षित कीबोर्ड के बहुत करीब भौतिक निकटता आवश्यक है। हालांकि, एक बार एक भी पैकेट कैप्चर हो जाने पर, AES कुंजी को सेकंडों में ब्रूट-फोर्स किया जा सकता है और वास्तविक समय में कीलॉगिंग और कीस्ट्रोक इंजेक्शन संभव है, जिससे पीड़ित के कंप्यूटर तक पहुंच प्राप्त की जा सकती है। एक लोकप्रिय वायरलेस हैकिंग टूल, jackit (https://github.com/insecurityofthings/jackit), को सस्ते 2.4 GHz USB डोंगल पर पास के SK-9662 कीबोर्ड में स्निफिंग और कीस्ट्रोक इंजेक्ट करने के लिए बढ़ाया जा सकता है।
SK-9662 कीबोर्ड एक अप्रचलित उत्पाद है। कीबोर्ड के लिए कोई अपडेट तंत्र मौजूद नहीं है और उपयोगकर्ताओं को इस कमजोर कीबोर्ड का उपयोग बंद कर देना चाहिए। Acer नए कीबोर्ड उत्पाद पर स्विच करने की अनुशंसा करता है।