<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          聽(tīng)聲辨位,一個(gè)讓我感到毛骨悚然的 GitHub 項(xiàng)目!

          共 3423字,需瀏覽 7分鐘

           ·

          2021-02-16 00:34


          了解更多網(wǎng)絡(luò)安全技術(shù),

          加入網(wǎng)絡(luò)安全交流群!

          不定期分享網(wǎng)安技術(shù)

          掃碼添加黑客小助手免費(fèi)獲取入群資格。

          想必你永遠(yuǎn)會(huì)想到,有一天你也會(huì)被自己的鍵盤(pán)出賣(mài)。

          對(duì),就是你每日敲擊的鍵盤(pán)。當(dāng)指尖在鍵盤(pán)上跳躍,清脆的噼啪聲此起彼落時(shí),你輸入的所有信息,包括那些情真意切的詞句,那些不欲人知的心事,還有你的網(wǎng)絡(luò)賬戶(hù)、銀行密碼…… 全都被它泄露了。
          鍵盤(pán),還能被黑???
          前不久,一個(gè)叫做 Keytap 的 “黑科技” 在國(guó)外火了。Keytap 通過(guò)監(jiān)聽(tīng)你敲擊鍵盤(pán)的聲音,就能還原出你輸入的內(nèi)容。
          而且,只需要通過(guò)你電腦里的麥克風(fēng),就能完成聲波采集的任務(wù)。
          在一段發(fā)布于網(wǎng)上的 Demo 里,Keytap 作者展示了在 iMac+Filco 機(jī)械鍵盤(pán)環(huán)境中,這個(gè)算法的優(yōu)秀程度,請(qǐng)看:

          四步偷窺大法

          搭建這樣一個(gè) “偷窺” 打字的模型并不難,Keytap 算法也已經(jīng)開(kāi)源了。跟著做,只要如下四步:
          一是,收集訓(xùn)練數(shù)據(jù);
          二是,搭建預(yù)測(cè)模型,學(xué)習(xí)一下數(shù)據(jù);
          三是,檢測(cè)出有人在敲鍵盤(pán);
          四是,檢測(cè)出 ta 在打什么字。

          收集訓(xùn)練數(shù)據(jù)

          Keytap 收集數(shù)據(jù)時(shí),只保留每次敲擊前后 75-100 毫秒的音頻。
          這就是說(shuō),并非連續(xù)取樣,兩次敲擊之間有一部分是忽略的。
          這種做法是會(huì)犧牲一些信息量的。
          從敲下按鍵,到程序受到指令,這之間有隨機(jī)延時(shí),與硬件和軟件都有關(guān)系。
          比如,按下 g 鍵的完整波形長(zhǎng)這樣:
          看圖像可以發(fā)現(xiàn),敲擊時(shí)出現(xiàn)了一個(gè)峰值,而再過(guò)大約 150 毫秒,又有一個(gè)按鍵被抬起的小峰值。
          這樣說(shuō)來(lái),100 毫秒之外的信息也可能有用,不過(guò)這里為了簡(jiǎn)便就忽略了。
          最終,收集到的數(shù)據(jù)長(zhǎng)這樣:
          除此之外,局限性還在于,如果兩次按鍵之間相隔不久,后者落在前者的后 75 毫秒之內(nèi),那數(shù)據(jù)可能就有些混雜了。

          搭個(gè)預(yù)測(cè)模型

          這個(gè)部分是最能發(fā)揮創(chuàng)造力的部分。Keytap 用了一個(gè)非常簡(jiǎn)單的方法,分為三步:
          1. 把收集到的波形的峰值對(duì)齊。這樣可以避免延時(shí)帶來(lái)的影響。
          2. 基于相似度指標(biāo) (Similarity Metric) ,更精細(xì)地對(duì)齊波形。
          需要更精確的對(duì)齊方法,是因?yàn)橛袝r(shí)候峰值未必是最好的判斷依據(jù)。
          那么,可不可以跳過(guò)峰值對(duì)齊呢?
          之所以第 2 步之前要先做第 1 步,是因?yàn)橄嗨贫戎笜?biāo)的計(jì)算很占 CPU。而第 1 步可以有效縮小對(duì)齊窗口 (Alignment Window) ,減少計(jì)算量。
          3. 對(duì)齊后,做簡(jiǎn)單加權(quán)平均。權(quán)重也是用相似度指標(biāo)來(lái)定義的。
          完成第 3 步之后,每一個(gè)按鍵都會(huì)得出一個(gè)平均波形 (a Single Averaged Waveform) ,用來(lái)和實(shí)時(shí)捕捉的數(shù)據(jù)做比對(duì)。
          Keytap 用的相似度指標(biāo)互相關(guān) (Cross Correlation, CC) ,長(zhǎng)這樣:
          這里,Ai 和 Bi 都是某個(gè)按鍵的波形樣本,比對(duì)就在它們之間進(jìn)行。CC 值越高,表示兩者越相似。
          當(dāng)然,也可以用其他相似度指標(biāo)來(lái)做。
          順便一說(shuō),兩次按鍵之間的間隔時(shí)長(zhǎng),其實(shí)也可以用來(lái)預(yù)測(cè)的,但開(kāi)發(fā)者怕麻煩就省略了,勇敢的少年可以去源代碼基礎(chǔ)上自行實(shí)驗(yàn)。

          檢測(cè)出在敲鍵盤(pán)

          平均波形和比對(duì)標(biāo)準(zhǔn)都有了,可是麥克風(fēng)實(shí)時(shí)收錄的聲音連綿不絕,該和哪一段來(lái)比對(duì)呢?
          這就需要從連續(xù)的音頻里,找到敲擊鍵盤(pán)的聲音。
          Keytap 用了一個(gè)非常簡(jiǎn)單的閾值方法,在原始音頻里監(jiān)測(cè)敲擊動(dòng)作:
          按下去的時(shí)候,會(huì)有一個(gè)大大的峰值,這就是偵測(cè)目標(biāo)。
          不過(guò),這個(gè)閾值不是固定的,是自適應(yīng) (Adaptive) 的:根據(jù)過(guò)去數(shù)百毫秒之內(nèi)的平均樣本強(qiáng)度來(lái)調(diào)整的。

          檢測(cè)打了什么字

          當(dāng)系統(tǒng)發(fā)現(xiàn)有人在敲鍵盤(pán),就用相似度指標(biāo)來(lái)測(cè)到底按了哪個(gè)鍵,CC 值最高的就是答案。方法就像上文說(shuō)的那樣。
          現(xiàn)在,代碼實(shí)現(xiàn)已經(jīng)開(kāi)源了,傳送門(mén)見(jiàn)文底。
          不過(guò),作者在博客中說(shuō),這個(gè)方法目前只有機(jī)械鍵盤(pán)適用。

          “薯片間諜”

          聽(tīng)音識(shí)字的研究不止這一個(gè),去年一篇 Don’t Skype & Type!Acoustic Eavesdropping in Voice-Over-IP 的論文,也提出了 Skype & Type(S&T)鍵盤(pán)聲音識(shí)別算法。
          和這個(gè)研究類(lèi)似,根據(jù)網(wǎng)絡(luò)電話(huà) Skepe 中傳出的打字按鍵聲音,在了解了被測(cè)者的打字風(fēng)格和設(shè)備類(lèi)型后,系統(tǒng)能復(fù)原敲下了什么。
          整個(gè)算法搭建過(guò)程只有三步:收集信息、數(shù)據(jù)處理與數(shù)據(jù)分類(lèi)。
          研究人員事先收集語(yǔ)音電話(huà)中鍵盤(pán)敲擊聲,將這些聲音分為兩類(lèi),即按下聲與松開(kāi)回彈聲,隨后提取它們的特征。
          當(dāng)聽(tīng)到鍵盤(pán)聲時(shí),算法先識(shí)別設(shè)備類(lèi)型,再去識(shí)別為鍵盤(pán)中的哪個(gè)鍵。和 Keytap 不同的是,S&T 也能適用于非機(jī)械鍵盤(pán)了。
          研究人員表示,在預(yù)測(cè)的最可能的前 5 個(gè)字母中,包含正確字母的準(zhǔn)確率達(dá)到了 91.7%。
          這篇論文發(fā)表在 ACM 亞洲計(jì)算機(jī)和通訊安全大會(huì)(ASIACCS 2017)上,地址:
          https://www.math.unipd.it/~dlain/papers/2017-skype.pdf
          推測(cè)人類(lèi)講了什么,AI 需要甚至只是一包薯片。
          什么,覺(jué)得太離譜了?Naive。
          MIT、微軟和 Adobe 開(kāi)發(fā)的這種看似天方夜譚的算法,只需高速相機(jī)透過(guò)隔音玻璃,拍攝出薯片袋的振動(dòng),算法就會(huì)判斷說(shuō)話(huà)人是男是女,甚至還原出說(shuō)了什么。
          研究人員表示,聲音傳播時(shí)觸碰到周?chē)奈矬w,會(huì)震動(dòng)形成一股微妙的視覺(jué)信號(hào),肉眼無(wú)法識(shí)別,但高速相機(jī)(每秒幀數(shù) 2000~6000 FPS)可以敏銳捕捉。
          除了薯片袋子,研究人員還用鋁箔、水杯甚至植物盆栽進(jìn)行了試驗(yàn),效果 “一如既往的好”。
          這不是野生研究,相關(guān)論文 The Visual Microphone:Passive Recovery of Sound from Video 還登上了 2014 年的 Siggraph 計(jì)算機(jī)圖形學(xué)大會(huì)。
          論文地址(注意科學(xué)前往):http://t.cn/EyZEZYI
          傳送門(mén)
          方法雖多,如果想自己動(dòng)手搞一個(gè),這些 Keytap 相關(guān)資源還是要收好:
          博客地址:
          https://ggerganov.github.io/jekyll/update/2018/11/30/keytap-description-and-thoughts.html
          代碼地址:
          https://github.com/ggerganov/kbd-audio
          Demo:
          https://ggerganov.github.io/jekyll/update/2018/11/24/keytap.html

          噓,掩好口鼻,輕聲撤退。

          瀏覽 50
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲精品国产精品国自产在线 | 欧美日韩国产在线 | 欧美成人三级视频 | 嫩草影院成人 | 免费看的黄色 |