Skype-Type:一款通过声音窃取键盘记录的Keylogger工具

Skype-Type(简称S&T)是一款功能强大的键盘声音窃听器,这款新颖的安全研究工具将允许他人执行键盘声音窃听攻击。简而言之,S&T可以通过窃听目标用户的键盘声音来窃取数据。

[[199453]]

首先,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目录下存放你自己的字典文件。

未完成的内容

  • 编写完整的操作文档;
  • 上传单元测试;

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/127520.html<

(0)
管理的头像管理
上一篇2025-02-24 17:27
下一篇 2025-02-24 17:28

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注