नया acoustic attack, 95% सटीकता के साथ keystroke data की चोरी
(bleepingcomputer.com)- केवल keyboard input की आवाज़ से उपयोगकर्ता ने कौन-सी key दबाई, इसका अनुमान लगाने वाला acoustic side-channel attack deep learning के साथ मिलकर अधिकतम 95% सटीकता तक पहुंचा
- हमलावर पास के microphone, microphone permission वाले malware-संक्रमित smartphone, या Zoom call की keystroke आवाज़ का उपयोग करके password, बातचीत और message जैसी संवेदनशील जानकारी उजागर कर सकते हैं
- प्रयोग में नवीनतम MacBook Pro पर 36 keys को 25-25 बार दबाने की आवाज़ इकट्ठा की गई, waveform और spectrogram बनाए गए, और फिर CoAtNet image classifier को train किया गया
- उसी laptop और 17cm दूर रखे iPhone 13 mini वाले environment में smartphone recording ने 95%, Zoom recording ने 93%, और Skype ने 91.7% सटीकता दर्ज की
- typing style बदलना, random password, white noise, audio filter, biometric authentication और password manager को mitigation के तौर पर बताया गया है, लेकिन केवल शांत keyboard पर स्विच करना पर्याप्त रक्षा नहीं है
keystroke की आवाज़ का उपयोग कर data चोरी
- ब्रिटेन के विश्वविद्यालयों के शोधकर्ताओं ने microphone से रिकॉर्ड की गई keyboard input sound का उपयोग करके keystroke data का अनुमान लगाने वाला deep learning model train किया
- microphone recording आधारित हमले में model ने 95% सटीकता हासिल की
- Zoom के जरिए इकट्ठा की गई audio पर train करने पर सटीकता घटकर 93% रह गई, लेकिन उस माध्यम के हिसाब से यह अब भी बहुत ऊंचा और रिकॉर्ड-स्तरीय परिणाम है
- हमला सफल होने पर password, बातचीत, message और अन्य संवेदनशील जानकारी दुर्भावनापूर्ण third party तक लीक हो सकती है
acoustic side-channel के व्यावहारिक होने की वजह
- दूसरे side-channel attack अक्सर विशेष परिस्थितियों, data transfer rate, या distance limit से प्रभावित होते हैं
- microphone वाले devices के व्यापक प्रसार और high-quality audio capture की उपलब्धता ने acoustic attack को अंजाम देना आसान बना दिया है
- machine learning में प्रगति के साथ जुड़कर sound-based side-channel attack पहले की अपेक्षा अधिक व्यावहारिक और खतरनाक attack तरीका बन गए हैं
attack प्रक्रिया और data collection
- पहला चरण target keyboard की keystroke sound recording है
- पास के microphone से रिकॉर्ड किया जा सकता है
- microphone access permission वाले malware-संक्रमित phone से भी यह संभव है
- Zoom call में कोई दुर्भावनापूर्ण participant target द्वारा typed message और रिकॉर्ड की गई sound के बीच संबंध निकाल सकता है
- शोधकर्ताओं ने नवीनतम MacBook Pro पर 36 keys को 25 बार दबाकर हर input से पैदा हुई आवाज़ रिकॉर्ड की
- recordings से waveform और spectrogram बनाए गए ताकि हर key के लिए पहचाने जा सकने वाले अंतर को visualise किया जा सके
- signal को keystroke पहचान में उपयोगी बनाने के लिए specific data processing steps अपनाए गए
model training और test environment
- spectrogram images का उपयोग image classifier CoAtNet को train करने के लिए किया गया
- शोधकर्ताओं ने बेहतर prediction accuracy के लिए epoch, learning rate और data split parameters पर प्रयोग किए
- test environment इस प्रकार था
- पिछले 2 वर्षों में Apple laptops में इस्तेमाल हुए keyboard वाला वही laptop
- target से 17cm दूर रखा iPhone 13 mini
- Zoom
- classifier accuracy माध्यम के अनुसार अलग थी
- smartphone recording: 95%
- Zoom recording: 93%
- Skype recording: 91.7%
संभावित mitigation
- paper acoustic side-channel attack को लेकर बहुत चिंतित users के लिए typing style बदलने या random password इस्तेमाल करने का सुझाव देता है
- दूसरे बचाव उपायों में keystroke sound चलाने वाला software, white noise, और software-based keystroke audio filter शामिल हैं
- यह attack model बहुत शांत keyboard पर भी उच्च प्रभावशीलता दिखाता है, इसलिए mechanical keyboard में sound-dampening material जोड़ना या membrane-based keyboard पर जाना बहुत मददगार नहीं होगा
- जहां संभव हो, biometric authentication का उपयोग करना और संवेदनशील जानकारी manually type करने से बचने के लिए password manager इस्तेमाल करना भी mitigation है
Zoom की अतिरिक्त सिफारिशें
- Zoom ने कहा कि वह user privacy और security को गंभीरता से लेता है
- शोधकर्ताओं द्वारा सुझाए गए mitigation के अलावा Zoom users निम्न settings से अपनी जानकारी अधिक सुरक्षित रख सकते हैं
- background noise suppression को अधिक उच्च setting पर configure करें
- meeting में शामिल होते समय microphone को default रूप से mute रखें
- meeting के दौरान typing करते समय microphone mute रखें
1 टिप्पणियां
Hacker News राय
ट्रेनिंग डेटा और टेस्ट डेटा उसी लैपटॉप·माइक्रोफोन·environment में बनाए गए थे, और संभव है कि keys भी उसी व्यक्ति ने दबाई हों
Zoom model को भी Zoom से जुटाए गए डेटा पर नए सिरे से train किया गया था; इसे practical side-channel attack कहते हुए भी लगता है कि उन्होंने यह बिल्कुल नहीं जांचा कि यह approach generalize होती है या नहीं
यह मनमाने keyboard sounds सीखने की कोशिश नहीं, बल्कि किसी खास target की आवाज़ सीखने वाला attack है
उदाहरण के लिए, अगर कोई Twitch streamer live mic चालू रहते chat में जवाब type करता है और बाद में अपना Twitch password डालता है, तो पहली स्थिति की audio से सीखकर दूसरी स्थिति पर apply किया जा सकता है
Zoom attack का फायदा यह है कि अगर target को chat window में type करवाया जा सके, तो “ciphertext” सुनने के तुरंत बाद “plaintext” मिल जाता है
दूसरे contexts में सुनाई देने वाली typing भी आम तौर पर उन कुछ grammars में फिट होने की संभावना रखती है जिन्हें LLM पहले से पहचान सकता है—natural language, programming language, commands, calculation input वगैरह; और अगर ऐसा नहीं है, तो शायद वह password होने की संभावना ज्यादा है
हाल में noise cancellation इतना aggressive हो गया है कि “engine की आवाज़/ambulance/city noise के लिए sorry” कहने पर भी असल में दूसरों को समझ नहीं आता कि बात किस बारे में है
keyboard sound काफी अलग पहचाने जाते हैं, इसलिए यह इतना मुश्किल काम भी नहीं होना चाहिए
मैंने university graduation project के तौर पर ऐसा ही एक acoustic side-channel attack किया था; इस क्षेत्र में काफी results मौजूद हैं और बस कोई methodologies को combine करे, इसका इंतज़ार है
geometric model, इस तरह के trained/untrained statistical models, और कई language models को combine करने वाले approaches से काफी अच्छे results मिलते हैं
मैंने जिन papers को पढ़ा था, उनमें से कुछ ये हैं
https://doi.org/10.1007/s10207-019-00449-8 - SonarSnoop. phone speaker से ultrasound निकालकर user interactions, जैसे swipe-based password input, को profile करता है
https://people.eecs.berkeley.edu/~daw/papers/ssh-use01.pdf - “Timing Analysis of Keystrokes and Timing Attacks on SSH”. 2001 का paper, जो key press timing के statistical model का इस्तेमाल करके encrypted SSH traffic से password recover करता है
https://doi.org/10.1145/1609956.1609959 - “Keyboard acoustic emanations revisited”. hidden Markov models और English characteristics का इस्तेमाल करके cepstrum feature-based classification से text recover करता है
https://doi.org/10.1145/2660267.2660296 - “Context-free Attacks Using Keyboard Acoustic Emanations”. arrival time differences से physical location को probabilistically estimate करने वाला geometric approach इस्तेमाल करता है
मुझे ठीक से समझ नहीं आता कि लोग इसे मामूली बात की तरह क्यों downplay कर रहे हैं
security और espionage के नजरिए से यह काफी मायने रखता है, और इसका मतलब है कि audio training sensitive listening devices को practically keylogger में बदल देने के level तक पहुंच गई है
कई contexts में traditional network attack की तुलना में audio eavesdropping device लगाना कहीं आसान होता है, और modern shotgun mic के साथ शायद building के अंदर जाने की भी जरूरत न पड़े
यह password चोरी से कहीं ज्यादा व्यापक रूप से लागू हो सकता है
मैं काफी समय से इस attack vector में रुचि रखता था, और सच में सोचता था कि क्या यह इस मुकाम तक पहुंचेगा
वाकई दिलचस्प है
abstract sound नहीं, बल्कि उसी keyboard पर मेरी actual typing की recording लेकर, realistic लगने वाले phrases या sequences में mix करके play करना
अगर बीच-बीच में बहुत छोटे pauses हों ताकि असली keystrokes mix हो सकें, तो decrypt करना या password entry के timing जैसे अन्य events से correlation पकड़ना बहुत मुश्किल लग सकता है
बेहतर तरीका यह भी हो सकता है कि आसपास white noise चलाया जाए; सुना है कि सचमुच बहुत अहम meetings में कभी-कभी ऐसा किया भी जाता है
अगर आप इतने महत्वपूर्ण व्यक्ति नहीं हैं, तो जरूरी चीजें सिर्फ phone पर type कर दें. उम्मीद है touchscreen पर्याप्त आवाज़ नहीं करता होगा
मुझे यह कोई बड़ी बात नहीं लगती
दिलचस्प है. सच में जानना चाहूंगा कि यह कौन-सी acoustic characteristics पहचानता है
क्या यह हर key के physical fingerprint जैसा है, इसलिए keycap या spring बदलने पर model update करना पड़ेगा? क्या यह वैसा ही है जैसे पुराने typewriters को manufacturing inconsistencies के आधार पर forensic रूप से identify किया जाता था?
या keys खुद समान हैं, लेकिन आसपास की objects के shape के कारण keyboard या laptop के अंदर हर key अलग resonance pattern पैदा करती है? अगर keyboard को कमरे में दूसरी जगह रख दें, तो क्या model को फिर train करना पड़ेगा?
यह भी जानना चाहूंगा कि key को कितनी ताकत से दबाया जाता है, इससे कोई फर्क नहीं पड़ता या काफी फर्क पड़ता है
keyboards के हिसाब से, पतली MacBook keys और external full-height keyboard की तुलना करें तो किसमें हर key को identify करना आसान या मुश्किल होगा, यह भी जानना चाहूंगा
हर key तक कितनी जल्दी पहुंचते हैं, rhythm, किसी खास key को कितनी जोर से दबाने की tendency आदि असर डाल सकते हैं
यह keyboard से ज्यादा व्यक्ति को profile करने जैसा लगता है
संदर्भ के लिए, कुछ—शायद ज़्यादातर—video conferencing software ऑडियो से keyboard की आवाज़ हटा देते हैं
क्योंकि लैपटॉप में माइक्रोफोन keys के बिलकुल पास होता है, इसलिए यह खास तौर पर ध्यान भटकाने वाली समस्या बन जाती है
मुझे पूरा यकीन है कि Zoom noise cancellation के हिस्से के रूप में default रूप से यह करता है। keydown event का इस्तेमाल करके सिर्फ audio stream ही नहीं, पहचान में भी मदद मिल सकती है, इसलिए यह और आसान हो सकता है
सिर्फ basic noise cancellation चालू होने पर भी सामान्य video conferencing में ऐसे हमलों को रोका जा सकता है
इसलिए, जब तक attacker के पास पहले से सामान्य keylogger या hidden camera लगाने जितनी physical access न हो, मुझे समझ नहीं आता कि यह realistic threat कब बनता है
call के दौरान अगर कोई typing शुरू कर दे तो वह बहुत साफ़ सुनाई देता है
Georgi Gerganov ने कुछ साल पहले ही ऐसा एक बना दिया था
https://github.com/ggerganov/kbd-audio
example figure में हर 0.5 सेकंड में एक key दबाते हुए दिखाया गया है, जो करीब 24 wpm की hunt-and-peck typing का संकेत देता है
इस तरीके में model को बहुत साफ़ waveform मिलती है
मुझे उत्सुकता है कि यह approach average या fast typist के लिए भी अच्छी तरह काम करेगी या नहीं। sound profile को characters से जोड़ना कहीं ज़्यादा मुश्किल हो सकता है
training data पर्याप्त हो तो standard typist में repeatable patterns मिल सकते हैं
उदाहरण के लिए QWERTY layout में “A” टाइप करने के बाद “Q” टाइप करने में “J” की तुलना में 1.2~2.3 गुना समय लग सकता है—ऐसे pairwise tempo patterns हो सकते हैं
यह सभी candidate characters को brute force करने की तुलना में search space घटाने में मदद करता है
अगर target कोई passphrase इस्तेमाल करता है, तो “hXXXse battXXX stXXXXX cXXXXXX” की तरह कुछ reference characters को high probability से पहचान लेने पर उसे interpret किया जा सकता है
यह article देखकर, मैंने इस idea के एक variant पर starter project open source कर दिया: https://github.com/secretlessai/audio-mnist
मुझे पहले से ही CNN जैसी image classification techniques को audio data पर लागू करने में रुचि थी
कुछ साल पहले weekend project के तौर पर handwritten digits के audio recordings से एक simple “audio-mnist” dataset बनाया था, लेकिन कुछ दिन काम करने के बाद आगे नहीं बढ़ पाया
फिर भी मैं काफी समय से सोच रहा था कि इसे open source करना चाहिए, और इस article ने मुझे action लेने पर मजबूर किया
अगर और data इकट्ठा किया जाए और basic CNN examples वगैरह जोड़े जाएँ, तो यह कई research और tools के लिए अच्छा starting point बन सकता है
recordings बनाने और audio को split करने वाला अलग code अभी ढूँढकर समझने लायक तरीके से व्यवस्थित करना बाकी है
उम्मीद है कि इस process का कुछ हिस्सा जिन लोगों को interesting या useful लगे, उनके काम आएगा
अच्छा होगा अगर कोई wireless keyboard इससे काम करे
battery, charging या synchronization की ज़रूरत नहीं होगी
यह Zenith का बनाया Space Command remote था, और कहा जाता है कि TV remote को कभी-कभी “clicker” कहने की वजह यही है
https://www.theverge.com/23810061/zenith-space-command-remot...
failure probability × cost impact को देखते हुए, error rate में एक digit की improvement के बाद भी यह सहना मुश्किल लगेगा
अब समय आ गया है कि Zoom call में मैं “fuck you” टाइप कर रहा हूँ ऐसा background audio inject करूँ
लक्ष्य है कि eavesdropper अपनी life choices को पूरी तरह rethink करे, और शायद कहानी में ही डूब जाए
क्योंकि यह एक अच्छा reference point बन जाएगा