智能语音应用mycroftai的远程代码执行漏洞分析

智能语音应用mycroftai的远程代码执行漏洞分析

ID:27899049

大小:79.50 KB

页数:4页

时间:2018-12-06

智能语音应用mycroftai的远程代码执行漏洞分析_第1页
智能语音应用mycroftai的远程代码执行漏洞分析_第2页
智能语音应用mycroftai的远程代码执行漏洞分析_第3页
智能语音应用mycroftai的远程代码执行漏洞分析_第4页
资源描述:

《智能语音应用mycroftai的远程代码执行漏洞分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、智能语音应用MycroftAI的远程代码执行漏洞分析智能语音应用MycroftAT的远程代码执行漏洞分析。在ArchLinux社区开源软件包的开发贡献过程中,发现了一个很有意思的项目-麦考夫MycroftAT,它是一款开源且基于人工智能(AT)的语音助理应用,在对它的研究过程中,我发现了一个不用点击交互即可实现的远程代码执行漏洞(RCE)o与业界有名的AmazonEcho和GoogleHome不同的是,Mycroft最早于2015年开始在海外网站发起众筹來批量生产其Mark-T和Mark-TT代产品,而3月份其Mark-

2、TT代产品上线4天后就被售罄脱销。MycroftAT智能语音助理基于LinuxDesktop/Server和RaspberryPT架构,现广泛用于智能自动化家居系统中,其新款应用将订制化应用于捷豹和路虎的某些车型中。代码分析在对MycroftAT的源代码分析中,我发现了其中有意思的一个地方:host=config,get("host")port=config,get("port")route=config,get("route")validate_param(host,"websocket,host")validate_

3、param(port,^websocket・port")validate_param(route,websocket,route")routes=[(route,WebsocketEventHandler)]application=web.Application(routes,**settings)application.1isten(port,host)ioloop-TOLoop.instance().start()在这里它定义了一个websocket服务端,用来接收类似于Andriod远程客户端的指令,在mycrof

4、t.conf中给出了websocket服务端设置的具体定义://Themycroft-coremessagebus"websocket"websocket":{“host〃:〃0.0.0.0〃,"port":8181,route:/core,"ssl":false},从以上代码可知,在0.0.0.0:8181/core上默认的websocket服务端竟然无需任何身份验证,好吧,让我们写个脚本来测试一下:#!/usr/bin/envpythonimportasyncioimportwebsocketsuri=/zws://

5、myserver:8181/core/zcommand="saypwned"asyncdefsendPayloadO:asyncwithwebsockets,connect(uri)aswebsocket:awaitwebsocket.send(〃{〃data〃:{'"utterances'〃:[〃〃+comniEmd+〃〃]},〃type〃:/zrecognizer_loop:utterancez/,'"context、":null}/z)asyncio.get_event_loop()•run_unt

6、iIncomplete(sendPayload())很好,我们能让MycroftAl自己说“pwned”,这样,我们也能让MycroftAl远程发声,但这也不算是什么大发现,最多也只能吓唬一下朋友而己。MycroftAI的技能系统深入挖掘Z后,可以发现Mycroft内置了一个技能系统,可以在其基础上安装其它你想要的语音技能,听起来很好,不是吗?那么,Mycroft的一种技能是由哪些元素组成的呢?从给出的说明文档可以看到,Mycroft的技能元素如下:dialog/en-us/command.dialog:包含了能触发技能

7、的语音命令vocab/en-us/answer.voc:包含了Mycroft发声的答案requirements,txt:包含了由pip方式安装的技能所需安装包_int_.py:包含了技能的主函数和触发执行时的需要加载的命令利用分析有了以上技能元素之后,我就可以创建一个恶意技能,当它被触发之后,就可以在远程Mycroft设备上来执行任意代码了。但遗憾的是,这样的方式并不能通过语音命令来实现,除非其技能链接URL未被一些在线网站白名单化。这虽然有可能,但多少有些麻烦。测试实现有了以上技能元素之后,我就可以创建一个恶意技能,当

8、它被触发之后,就可以在远程Mycroft设备上来执行任意代码了。但遗憾的是,这样的方式并不能通过语咅命令来实现,除非其技能链接URL是一些未被白名单化的在线网站。这虽然有可能,但执行起来多少有些麻烦。Mycroft内置了很多默认技能,如open这种能打开其它第三方应用的,还有一些经过白名单化但未被安装在Mycroft

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。