7 पॉइंट द्वारा GN⁺ 2023-08-06 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • केवल 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 टिप्पणियां

 
GN⁺ 2023-08-06
Hacker News राय
  • ट्रेनिंग डेटा और टेस्ट डेटा उसी लैपटॉप·माइक्रोफोन·environment में बनाए गए थे, और संभव है कि keys भी उसी व्यक्ति ने दबाई हों
    Zoom model को भी Zoom से जुटाए गए डेटा पर नए सिरे से train किया गया था; इसे practical side-channel attack कहते हुए भी लगता है कि उन्होंने यह बिल्कुल नहीं जांचा कि यह approach generalize होती है या नहीं

    • मुझे लगता है कि इस attack का generalizable रूप यही है
      यह मनमाने keyboard sounds सीखने की कोशिश नहीं, बल्कि किसी खास target की आवाज़ सीखने वाला attack है
      उदाहरण के लिए, अगर कोई Twitch streamer live mic चालू रहते chat में जवाब type करता है और बाद में अपना Twitch password डालता है, तो पहली स्थिति की audio से सीखकर दूसरी स्थिति पर apply किया जा सकता है
    • ऐसे सीमित attack surface में, एक model को कई लोगों या keyboards पर generalize किए बिना भी यह काम कर सकता है
      Zoom attack का फायदा यह है कि अगर target को chat window में type करवाया जा सके, तो “ciphertext” सुनने के तुरंत बाद “plaintext” मिल जाता है
      दूसरे contexts में सुनाई देने वाली typing भी आम तौर पर उन कुछ grammars में फिट होने की संभावना रखती है जिन्हें LLM पहले से पहचान सकता है—natural language, programming language, commands, calculation input वगैरह; और अगर ऐसा नहीं है, तो शायद वह password होने की संभावना ज्यादा है
    • मुझे उत्सुकता है कि आजकल भी Zoom में key press sounds वैसे ही transmit होते हैं या नहीं
      हाल में noise cancellation इतना aggressive हो गया है कि “engine की आवाज़/ambulance/city noise के लिए sorry” कहने पर भी असल में दूसरों को समझ नहीं आता कि बात किस बारे में है
    • targeted attack के लिए इसे generalize होने की जरूरत नहीं है
    • समझ नहीं आता कि सभी online communication apps में keyboard sound suppression standard option के तौर पर क्यों नहीं होता
      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 में रुचि रखता था, और सच में सोचता था कि क्या यह इस मुकाम तक पहुंचेगा

    • संभव लगता है कि हर तरह के physical side-channel, जैसे Tempest, अब machine learning approaches में अच्छी तरह फिट बैठ रहे हैं
      वाकई दिलचस्प है
    • सोच रहा हूं कि लगातार typing sounds चलाने से मदद मिलेगी या नहीं
      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 पर्याप्त आवाज़ नहीं करता होगा
    • microphone input को असल में दर्ज की गई keys से जोड़ना पड़ेगा, और model train करने लायक पर्याप्त मात्रा भी चाहिए
      मुझे यह कोई बड़ी बात नहीं लगती
  • दिलचस्प है. सच में जानना चाहूंगा कि यह कौन-सी 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 करना आसान या मुश्किल होगा, यह भी जानना चाहूंगा

    • विस्तार से देखें तो (1) key की अपनी characteristics, (2) दूसरी keys की तुलना में key characteristics, (3) key और microphone के बीच sound transmission path और environment, (4) key और finger का संबंध, (5) key और related dendrites का संबंध तक देखा जा सकता है
    • typing style भी महत्वपूर्ण लगता है
      हर 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 कब बनता है

    • Teams में यह निश्चित रूप से नहीं लगता। कम से कम default में नहीं, या हमारी कंपनी के default में नहीं
      call के दौरान अगर कोई typing शुरू कर दे तो वह बहुत साफ़ सुनाई देता है
    • अलग-अलग संगठनों की meetings, कई offices के मिले-जुले cafeteria, coffee shop जैसी जगहें हो सकती हैं
    • मुझे लगता है कि अगर कोई भी webpage microphone access permission हासिल कर ले, तो यह समस्या बन सकता है
  • 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 से जोड़ना कहीं ज़्यादा मुश्किल हो सकता है

    • ambiguity हो तब भी यह data न होने से बेहतर है
      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 किया जा सकता है
    • Soviet Union 1970s में भी typewriter sounds की eavesdropping में सफल रहा था
  • यह 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 की ज़रूरत नहीं होगी

    • पुराने TV remotes में से कुछ इसी तरह काम करते थे
      यह Zenith का बनाया Space Command remote था, और कहा जाता है कि TV remote को कभी-कभी “clicker” कहने की वजह यही है
      https://www.theverge.com/23810061/zenith-space-command-remot...
    • बस ऐसी user experience की कल्पना कीजिए जहाँ टाइप किए गए 20 characters में से 1 गलत infer हो जाए
      failure probability × cost impact को देखते हुए, error rate में एक digit की improvement के बाद भी यह सहना मुश्किल लगेगा
  • अब समय आ गया है कि Zoom call में मैं “fuck you” टाइप कर रहा हूँ ऐसा background audio inject करूँ

    • text को keystroke audio में बदला जाए, लेकिन text LLM prompt “HGTV के Love It or List It पर आधारित, जिसमें Ewok real estate agent और Klingon interior designer हों, iambic pentameter fanfic” से लिया जाए
      लक्ष्य है कि eavesdropper अपनी life choices को पूरी तरह rethink करे, और शायद कहानी में ही डूब जाए
    • उल्टा, यह decoding को और आसान भी बना सकता है
      क्योंकि यह एक अच्छा reference point बन जाएगा