Skype-Type:一款通过声音窃取键盘记录的Keylogger工具-阿里云开发者社区

开发者社区> 行者武松> 正文

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来完成这一步操作,然后向其发送训练数据:


  1. generate_model.pytraining_files_and_folders output_model [...] 

所有的训练数据(文件)都以参数的形式进行传递,训练模块将会保存在特定路径。需要注意的是,训练用的声音数据必须是.wav格式,然后与wav文件同名的.txt文件中必须包含相对应的Groud Truth(简言之就是机器学习中的真实值),每一个目标为一行。Groud Truth中空格不会被当作字符,请用其他的字符替换。

启动S&T之后,我们可以通过命令行接口参数来手动指定操作链:


  1. main.py --listener wavfile --dispatcheroffline ... 

或者也可以直接使用opmodes来进行自动加载:


  1. main.py --opmode from_file 

使用样例

利用file1.wav、file1.txt以及folder1和folder2中的所有文件(训练数据)来生成一个机器学习模块,然后将生成的模块保存在folder3/model目录下:


  1. generate_model.py file1.wav file1.txtfolder1 folder2 folder3/model 

运行S&T,记录下的目标键盘声音文件为targer.wav,使用folder3/model目录下的pipeline:


  1. main.py --opmode from_file --targettarget.wav --pipeline folder3/model 

运行S&T,记录下的目标键盘声音文件为targer.wav,使用folder3/model目录下的pipeline,手动指定监听器以及程序调度块:


  1. main.py --listener wavfile --dispatcheroffline --target target.wav --pipeline folder3/model 

工具要求

此后我们会为该软件提供一个完整的安装程序以及依赖组件管理功能。但目前来说,你需要手动安装该工具的依赖组件:


  1. sklearn 
  2.  
  3. numpy 
  4.  
  5. python_speech_features 

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

未完成的内容

  • 编写完整的操作文档;
  • 上传单元测试;
本文作者:Alpha_h4ck
来源:51CTO

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
faked 一个用于 mock 后端 API 的轻量工具
![logo](https://github.com/Houfeng/faked/raw/master/docs/faked.png) ## 一、简介 faked 是一个在前端开发中用于 mock 服务端接口的模块,轻量简单,无需要在本地启动 Server 也无需其它更多的资源,仅在浏览器中完成「请求拉截」,配合完整的「路由系统」轻而易举的 mock 后端 API。 GitHub R
2132 0
Android SDK工具(谷歌提供的16个工具)简介
    Android SDK包含了许多可以帮助你开发Android平台应用的工具。这些工具分为两类:一是SDK工具;而是平台工具。SDK工具独立于平台,任何开发Android应用的平台都需要配置。
950 0
Android Log工具类
import java.text.SimpleDateFormat; import java.util.Date; import android.util.Log; public class LogUtil { private static final boolean DEBU...
596 0
[学习日记]记录听棠兄的EAMIL发送方法,改成vb.net可用
imports system.web.mail 当然,在VS.net平台里用vb.net开发时,这个命名空间是不能直接用的,得先在引用中引用上system.web.dll主要发送代码如下 Dim mail As MailMessage = New MailMessage            mail.
796 0
+关注
行者武松
杀人者,打虎武松也。
17142
文章
2569
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载