Skype-Type:一款通過聲音竊取鍵盤記錄的Keylogger工具

Skype-Type(簡稱S&T)是一款功能強大的鍵盤聲音竊聽器,這款新穎的安全研究工具將允許他人執行鍵盤聲音竊聽攻擊。簡而言之,S&T可以通過竊聽目標用戶的鍵盤聲音來竊取數據。

監聽鍵盤聲音

首先,S&T可以用目標用戶鍵盤的每一個按鍵聲音來訓練一個機器學習模塊,然後使用這個模塊並根據用戶敲擊鍵盤的聲音來判斷他所輸入的數據。

該項目是意大利帕多瓦大學(SPRITZ Group)和美國加州大學歐文分校(SPROUT)的一個合作研究項目。如果你想了解更多相關信息,可以訪問該項目主頁。【傳送門】

如果你打算在自己的研究項目中使用S&T的話,請在你的報告中引用我們的論文:

Compagno, A., Conti, M., Lain, D., &Tsudik, G. (2017, April).

Don’t Skype & Type!: AcousticEavesdropping in Voice-Over-IP.

In Proceedings of the 2017 ACM on AsiaConference on Computer and Communications Security (pp. 703-715). ACM.
工具介紹

S&T是建立在操作鏈概念之上的,並通過基本模塊的組合來實現其功能。這種模塊化的設計將允許用戶能夠對每一個階段的操作進行自定義配置。

操作鏈主要由以下四大主模塊組成:監聽器模塊、調度器模塊、機器學習模塊和輸出模塊。每一個模塊都可以加載不同的功能函數,並且還可以與之前的或之後的模塊進行協同工作。每一個功能函數都有自己的子進程,並且使用了multiprocessing.Queue來進行通信。

監聽器功能負責加載聲音文件,然後將其傳遞給調度器。接下來,調度器會從音頻文件或音頻流中提取出鍵盤的擊鍵聲音,然後將其傳遞給機器學習模塊來進行分類。最後的結果會傳遞給輸出模塊,然後給用戶展示結果。

目標用戶視角:

目標用戶視角

攻擊者視角:

攻擊者視角

工具使用

首先,你需要生成一個sklearn.Pipeline,其中包含有一個分類器以及其他你需要轉換的數據。比較簡單的方法就是使用generate_model來完成這一步操作,然後向其發送訓練數據:

generate_model.pytraining_files_and_folders output_model [...]
所有的訓練數據(文件)都以參數的形式進行傳遞,訓練模塊將會保存在特定路徑。需要注意的是,訓練用的聲音數據必須是.wav格式,然後與wav文件同名的.txt文件中必須包含相對應的Groud Truth(簡言之就是機器學習中的真實值),每一個目標爲一行。Groud Truth中空格不會被當作字符,請用其他的字符替換。

啓動S&T之後,我們可以通過命令行接口參數來手動指定操作鏈:

main.py --listener wavfile --dispatcheroffline ...
或者也可以直接使用opmodes來進行自動加載:

main.py --opmode from_file
使用樣例

利用file1.wav、file1.txt以及folder1和folder2中的所有文件(訓練數據)來生成一個機器學習模塊,然後將生成的模塊保存在folder3/model目錄下:

generate_model.py file1.wav file1.txtfolder1 folder2 folder3/model
運行S&T,記錄下的目標鍵盤聲音文件爲targer.wav,使用folder3/model目錄下的pipeline:

main.py --opmode from_file --targettarget.wav --pipeline folder3/model
運行S&T,記錄下的目標鍵盤聲音文件爲targer.wav,使用folder3/model目錄下的pipeline,手動指定監聽器以及程序調度塊:

main.py --listener wavfile --dispatcheroffline --target target.wav --pipeline folder3/model
工具要求

此後我們會爲該軟件提供一個完整的安裝程序以及依賴組件管理功能。但目前來說,你需要手動安裝該工具的依賴組件:

sklearn

numpy

python_speech_features
除此之外,如果你想利用S&T來竊取目前所有已知語言的信息,你可以在/dictionaries目錄下存放你自己的字典文件。

未完成的內容

-編寫完整的操作文檔;

-上傳單元測試;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章