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
相关文章
|
1天前
|
云安全 人工智能 自然语言处理
|
8天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
647 56
Meta SAM3开源:让图像分割,听懂你的话
|
6天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
318 116
|
5天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
|
21天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
AgentEvolver:让智能体系统学会「自我进化」
AgentEvolver 是一个自进化智能体系统,通过自我任务生成、经验导航与反思归因三大机制,推动AI从“被动执行”迈向“主动学习”。它显著提升强化学习效率,在更少参数下实现更强性能,助力智能体持续自我迭代。开源地址:https://github.com/modelscope/AgentEvolver
436 32
|
4天前
|
弹性计算 人工智能 Cloud Native
阿里云无门槛和有门槛优惠券解析:学生券,满减券,补贴券等优惠券领取与使用介绍
为了回馈用户与助力更多用户节省上云成本,阿里云会经常推出各种优惠券相关的活动,包括无门槛优惠券和有门槛优惠券。本文将详细介绍阿里云无门槛优惠券的领取与使用方式,同时也会概述几种常见的有门槛优惠券,帮助用户更好地利用这些优惠,降低云服务的成本。
272 132

热门文章

最新文章