0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个让你感到毛骨悚然的黑科技Keytap

Q4MP_gh_c472c21 来源:嵌入式ARM 作者:嵌入式ARM 2020-12-30 10:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

想必你永远不会想到,有一天你也会被自己的键盘出卖。 对,就是你每日敲击的键盘。当指尖在键盘上跳跃,清脆的噼啪声此起彼落时,你输入的所有信息,包括那些情真意切的词句,那些不欲人知的心事,还有你的网络账户、银行密码…… 全都被它泄露了。 键盘,还能被黑??? 前不久,一个叫做Keytap的 “黑科技” 在国外火了。Keytap 通过监听你敲击键盘的声音,就能还原出你输入的内容。 而且,只需要通过你电脑里的麦克风,就能完成声波采集的任务。 在一段发布于网上的 Demo 里,Keytap 作者展示了在 iMac+Filco 机械键盘环境中,这个算法的优秀程度,请看:

四步偷窥大法

搭建这样一个 “偷窥” 打字的模型并不难,Keytap 算法也已经开源了。跟着做,只要如下四步:

一是,收集训练数据; 二是,搭建预测模型,学习一下数据; 三是,检测出有人在敲键盘; 四是,检测出 ta 在打什么字。

收集训练数据

Keytap 收集数据时,只保留每次敲击前后 75-100 毫秒的音频。 这就是说,并非连续取样,两次敲击之间有一部分是忽略的。 这种做法是会牺牲一些信息量的。 从敲下按键,到程序受到指令,这之间有随机延时,与硬件和软件都有关系。 比如,按下 g 键的完整波形长这样:

e61a089e-49b8-11eb-8b86-12bb97331649.png

看图像可以发现,敲击时出现了一个峰值,而再过大约 150 毫秒,又有一个按键被抬起的小峰值。 这样说来,100 毫秒之外的信息也可能有用,不过这里为了简便就忽略了。 最终,收集到的数据长这样:

e6a44f72-49b8-11eb-8b86-12bb97331649.png

除此之外,局限性还在于,如果两次按键之间相隔不久,后者落在前者的后 75 毫秒之内,那数据可能就有些混杂了。

搭个预测模型

这个部分是最能发挥创造力的部分。Keytap 用了一个非常简单的方法,分为三步:

1.把收集到的波形的峰值对齐。这样可以避免延时带来的影响。

2.基于相似度指标 (Similarity Metric) ,更精细地对齐波形。 需要更精确的对齐方法,是因为有时候峰值未必是最好的判断依据。 那么,可不可以跳过峰值对齐呢? 之所以第 2 步之前要先做第 1 步,是因为相似度指标的计算很占 CPU。而第 1 步可以有效缩小对齐窗口 (Alignment Window) ,减少计算量。

3.对齐后,做简单加权平均。权重也是用相似度指标来定义的。 完成第 3 步之后,每一个按键都会得出一个平均波形 (a Single Averaged Waveform) ,用来和实时捕捉的数据做比对。 Keytap 用的相似度指标是互相关(Cross Correlation, CC) ,长这样:

e6f0954e-49b8-11eb-8b86-12bb97331649.jpg

这里,Ai 和 Bi 都是某个按键的波形样本,比对就在它们之间进行。CC 值越高,表示两者越相似。 当然,也可以用其他相似度指标来做。 顺便一说,两次按键之间的间隔时长,其实也可以用来预测的,但开发者怕麻烦就省略了,勇敢的少年可以去源代码基础上自行实验。

检测出在敲键盘

平均波形和比对标准都有了,可是麦克风实时收录的声音连绵不绝,该和哪一段来比对呢? 这就需要从连续的音频里,找到敲击键盘的声音。 Keytap 用了一个非常简单的阈值方法,在原始音频里监测敲击动作: 按下去的时候,会有一个大大的峰值,这就是侦测目标。 不过,这个阈值不是固定的,是自适应 (Adaptive) 的:根据过去数百毫秒之内的平均样本强度来调整的。

检测打了什么字

当系统发现有人在敲键盘,就用相似度指标来测到底按了哪个键,CC 值最高的就是答案。方法就像上文说的那样。 现在,代码实现已经开源了,传送门见文底。 不过,作者在博客中说,这个方法目前只有机械键盘适用。

“薯片间谍”

听音识字的研究不止这一个,去年一篇 Don’t Skype & Type!Acoustic Eavesdropping in Voice-Over-IP 的论文,也提出了 Skype & Type(S&T)键盘声音识别算法。 和这个研究类似,根据网络电话 Skepe 中传出的打字按键声音,在了解了被测者的打字风格和设备类型后,系统能复原敲下了什么。

e77066a2-49b8-11eb-8b86-12bb97331649.jpg

整个算法搭建过程只有三步:收集信息、数据处理与数据分类。 研究人员事先收集语音电话中键盘敲击声,将这些声音分为两类,即按下声与松开回弹声,随后提取它们的特征。 当听到键盘声时,算法先识别设备类型,再去识别为键盘中的哪个键。和 Keytap 不同的是,S&T 也能适用于非机械键盘了。

研究人员表示,在预测的最可能的前 5 个字母中,包含正确字母的准确率达到了 91.7%。 这篇论文发表在 ACM 亚洲计算机和通讯安全大会(ASIACCS 2017)上,地址: https://www.math.unipd.it/~dlain/papers/2017-skype.pdf 推测人类讲了什么,AI 需要甚至只是一包薯片。

什么,觉得太离谱了?Naive。 MIT、微软和 Adobe 开发的这种看似天方夜谭的算法,只需高速相机透过隔音玻璃,拍摄出薯片袋的振动,算法就会判断说话人是男是女,甚至还原出说了什么。

研究人员表示,声音传播时触碰到周围的物体,会震动形成一股微妙的视觉信号,肉眼无法识别,但高速相机(每秒帧数 2000~6000 FPS)可以敏锐捕捉。

除了薯片袋子,研究人员还用铝箔、水杯甚至植物盆栽进行了试验,效果 “一如既往的好”。

这不是野生研究,相关论文 The Visual Microphone:Passive Recovery of Sound from Video 还登上了 2014 年的 Siggraph 计算机图形学大会。 论文地址(注意科学前往):http://t.cn/EyZEZYI传送门方法虽多,如果想自己动手搞一个,这些 Keytap 相关资源还是要收好: 博客地址: 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 嘘,掩好口鼻,轻声撤退。

责任编辑:xj

原文标题:一个让我感到毛骨悚然的GitHub项目!

文章出处:【微信公众号:嵌入式ARM】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4760

    浏览量

    97137
  • GitHub
    +关注

    关注

    3

    文章

    484

    浏览量

    18424

原文标题:一个让我感到毛骨悚然的GitHub项目!

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    文读懂:Ethernet/IP转CC-Link网关,耐达讯自动化的工业系统“双网”合

    在自动化的浪潮中,的工厂是否也面临着棘手的“跨网”难题?边是车间里布满的CC-Link网络,连接着的核心控制器和传感器;另
    的头像 发表于 12-03 14:20 247次阅读
    <b class='flag-5'>一</b>文读懂:Ethernet/IP转CC-Link网关,耐达讯自动化<b class='flag-5'>让</b><b class='flag-5'>你</b>的工业系统“双网”合<b class='flag-5'>一</b>?

    驱动芯片到底有多重要?这些科技电子设备飞起来!

    电子元件工作的"大脑"。它接收微弱的控制信号,然后输出足够强大的电流或电压,电机转起来、屏幕亮起来、喇叭响起来。 没有驱动芯片 ,的手机屏幕就是
    的头像 发表于 11-25 08:37 124次阅读
    驱动芯片到底有多重要?这些<b class='flag-5'>黑</b>科技<b class='flag-5'>让</b>电子设备飞起来!

    用数据驱动的 “不给糖就捣蛋”,的万圣节收获最大化

    每年最 “毛骨悚然” 的时节终于正式到来了。 当世界各地的大人们忙着布置万圣节装饰、准备美味零食、举办聚会时,孩子们则在精心谋划策略,心想在 “不给糖就捣蛋” 活动中收获最多糖果。毕竟,这样的机会
    的头像 发表于 10-27 15:14 205次阅读
    用数据驱动的 “不给糖就捣蛋”,<b class='flag-5'>让</b><b class='flag-5'>你</b>的万圣节收获最大化

    推荐5测试效率翻倍的MCP

    推荐5测试效率翻倍的MCP
    的头像 发表于 09-19 10:02 425次阅读
    推荐5<b class='flag-5'>个</b><b class='flag-5'>让</b>测试效率翻倍的MCP

    UPS需要配多少电池?续航时间怎么算?篇文章完全搞懂!

    为机房配置UPS时,最让人头疼的就是电池配置问题。配少了不够用,配多了浪费钱还占地方。优比施作为专业UPS电源厂家,用最通俗的方式教你电池计算原理,不再被销售人员牵着鼻子走。、基本原理:电池
    的头像 发表于 09-09 10:29 2379次阅读
    UPS需要配多少电池?续航时间怎么算?<b class='flag-5'>一</b>篇文章<b class='flag-5'>让</b><b class='flag-5'>你</b>完全搞懂!

    ‌Groq LPU 如何万亿参数模型「飞」起来?揭秘 Kimi K2 40 倍提速背后的科技

    Groq LPU 如何万亿参数模型「飞」起来?揭秘 Kimi K2 40 倍提速背后的科技‌ 最近,Moonshot AI 的千亿参数大模型 ‌Kimi K2‌ 在 ‌GroqCloud‌ 上
    的头像 发表于 08-07 10:01 645次阅读

    有屏幕就能玩《神话:悟空》:“无影”的科技

    。有没有方法,普通电脑都能玩上《神话:悟空》呢?阿里云“无影”电脑可能让的愿望成真了!“无影”加buff,有屏就能打游戏我们的业务总监就直接用上了阿里云“无
    的头像 发表于 06-24 10:16 392次阅读
    有屏幕就能玩《<b class='flag-5'>黑</b>神话:悟空》:“无影”的<b class='flag-5'>黑</b>科技

    树莓派复古游戏,会选哪一个

    复古游戏与树莓派单板计算机的组合十分常见。在树莓派项目列表中,几乎都会包含至少复古游戏项目。复古游戏发行版在树莓派上开启复古游戏之旅变得轻而易举,其中Batocera和RetroPie是两
    的头像 发表于 06-16 16:56 822次阅读
    树莓派复古游戏,<b class='flag-5'>你</b>会选哪<b class='flag-5'>一个</b>?

    【免费工具】华秋AI电路识别助手:电路设计与分析变得轻松高效!

    电子工程师注意!还在为熬夜解析电路图崩溃?AI科技电路设计与分析变得轻松高效!如果还在为电路分析感到头疼,那么定要试试这款超好用的工
    的头像 发表于 06-05 18:18 1470次阅读
    【免费工具】华秋AI电路识别助手:<b class='flag-5'>让</b>电路设计与分析变得轻松高效!

    LED 灯坏颗全灭?这招故障 “无感自愈”,90% 工程师都在抄!

    想象下:户外路灯突然熄灭段、汽车尾灯某颗灯珠罢工、商场LED屏出现暗区……这些场景的背后,往往是单个LED灯珠的开路故障。LED灯珠串联时最怕“颗崩,全串!”热震、静电、雷击随
    的头像 发表于 06-03 09:41 1707次阅读
    LED 灯坏<b class='flag-5'>一</b>颗全灭?这招<b class='flag-5'>让</b>故障 “无感自愈”,90% 工程师都在抄!

    阳台储能科技:配套电表发电、存电、用电目了然!

    阳台储能科技:配套电表发电、存电、用电目了然! 在绿色能源蓬勃发展的今天,家庭储能系统正成为实现能源自主的关键环。而作为阳台储能系统的“智慧大脑”, 配套电表 凭借其精准计量、
    的头像 发表于 02-20 10:22 1132次阅读
    阳台储能<b class='flag-5'>黑</b>科技:配套电表<b class='flag-5'>让</b>发电、存电、用电<b class='flag-5'>一</b>目了然!

    自媒体别乱推!用好DeepSeek,的内容“稳稳的”!

    DeepSeek,的内容不仅有料,还能稳稳地抓住读者的心! ,还在瞎猜?用DeepSeek找准方向 自媒体最怕的就是乱跟风,别人推啥咱也推啥,结果呢?内容没新意,读者也不买账。DeepSeek可不是这样,它就像个“智能小助
    的头像 发表于 02-19 16:19 861次阅读

    设置 KiCad 的视觉体验提升档次!

    “  不知道您有没有感觉到无论是原理图还是PCB,KiCad 没有商业软件看上去那么清晰?其实只需要手动改下这个设置,瞬间您的视觉体验提升档次!  ”     使用 KiCad
    的头像 发表于 02-17 11:17 1539次阅读
    <b class='flag-5'>一</b><b class='flag-5'>个</b>设置<b class='flag-5'>让</b> KiCad 的视觉体验提升<b class='flag-5'>一</b><b class='flag-5'>个</b>档次!

    山泽HDMI 2.1的隐藏科技:为什么根线能改变的4K/8K体验?

    4K/8K信号时,常常面临带宽不足、信号衰减、画面卡顿等问题。山泽HDMI 2.1线缆采用超导级纯铜芯线,配合多层屏蔽技术,实现48Gbps超高速率传输,完美支持8K@60Hz和4K@120Hz画面输出,帧画面都清晰流畅。 这项
    的头像 发表于 02-11 14:54 733次阅读

    如何DAC5571稳定的输出电压值?

    我需要输出简易的0到5V的可调的电压输出,不知道用FGPA和DAC5571能不能得到这个输出,就是DAC5571稳定的输出
    发表于 01-16 08:28