没有合适的资源?快使用搜索试试~ 我知道了~
524捉迷藏游戏:暴露物联网设备嵌入式Web应用程序中的隐藏接口Wei Xie,Jiongyi Chen*,Zhenhua Wang,ChaoFeng,Enze Wang,Yifei Gao,BaoshengWang,Kai Lu{xiewei,chenjiongyi,wzh 15,chaofeng,wangenze 18,gaoyf,bswang,kailu}@nudt.edu.cn国防科技摘要近年来,针对物联网设备的嵌入式Web应用程序的攻击有所增加这种攻击的一个重要目标是嵌入式Web应用程序的隐藏接口,它不采用任何保护措施,但会将安全关键操作和敏感信息暴露给非法用户。鉴于这一问题的严重性和普遍性,识别易受攻击的隐藏接口、揭示最佳实践并提高公众意识至关重要在本文中,我们提出了IoTScope,这是一种自动暴露物联网设备的隐藏Web接口的新方法。具体而言,IoTScope通过固件分析构造探测请求来测试物理设备,并通过差异分析过滤掉不相关的请求和接口来缩小识别范围。它通过在探测请求中附加各种设备设置参数并匹配敏感信息的关键字来精确定位隐藏接口在17个物联网设备上进行了评估,IoTScope成功识别了44个漏洞,其中包括43个以前未知的漏洞。IoTScope还展示了惊人的效率:平均而言,它交付了151438个探测请求,每个目标设备只需要47分钟CCS概念• 安全和隐私→Web应用程序安全。关键词漏洞检测;身份验证; Web安全;物联网ACM参考格式:Wei Xie,Jiongyi Chen,Zhenhua Wang,Chao Feng,Enze Wang,Yifei Gao,Baosheng Wang,Kai Lu.2022年捉迷藏游戏:暴露物联网设备 嵌 入 式 Web 应 用 程 序 中 的 隐 藏 接 口 在 ACM Web Conference 2022(WWW '22)的会议记录中,2022年4月25日至29日,虚拟活动,法国里昂。ACM,NewYork,NY,USA,9页。https://doi.org/10.1145/3485447.3512213* 通讯作者允许免费制作本作品的全部或部分的数字或硬拷贝,以供个人或课堂使用,前提是制作或分发副本的目的不是为了盈利或商业利益,并且副本的第一页上有本声明和完整的引用。版权的组成部分,这项工作所拥有的其他人比ACM必须尊重。允许使用学分进行摘要 以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定许可和/或付费。请求权限请发邮件至permissions@acm.org。WWW©2022计算机协会ACM ISBN 978-1-4503-9096-5/22/04。. . 十五块https://doi.org/10.1145/3485447.35122131引言随着物联网技术的快速发展,近年来物联网设备和应用得到了广泛采用[22]。嵌入式Web应用程序(简称EWA)在管理和配置大量设备方面发挥着重要作用。它们提供了一种通用和方便的方式与最终用户进行交互然而,尽管EWA的部署越来越多,但EWA的保护却滞后[1,3,26]。嵌入式开发人员没有提高足够的安全意识,并且在开发过程中也没有遵循最佳实践。因此,许多EWA在没有保护的情况下可用,并且可以很容易地被未经身份验证的攻击者利用。物联网设备的隐藏接口攻击EWA最可行的方法可能是通过隐藏接口。一个隐藏的接口允许未经认证的用户远程访问它没有任何预任务。在现实中,开发人员有意或无意地留下隐藏的接口,这通常会暴露敏感信息,如泄露管理员密码或更改网络设置等安全关键操作。例如,CVE-2019-14984 [12]报告称,一些智能家居控制设备允许未经身份验证的攻击者通过访问未记录的Web接口“exec.cgi“来运行系统命令此外,隐藏接口本身不仅容易受到攻击,而且还充当了利用其他漏洞的前门。例如,在CVE-2018-11510 [11] 的 情 况 下 , 在 物 联 网 设 备 的 Web 界 面“/portal/apis/aggrecate_js.cgi“中存在命令注入。利用此漏洞需要存在隐藏接口以绕过身份验证。这些案件只是冰山一角根据OWASP [25]的统计,访问控制漏洞已经从第五位上升到最严重的Web应用程序安全风险类别。以前识别物联网设备中漏洞的研究传统上集中在内存损坏[6,14,40],污染式漏洞[8,39]和特定于域的漏洞类型[18,31]。 另一方面,中断访问控制的自动检测技术专注于特定目标,例如移动服务的云后端[2,43- 45 ]和通用Web应用程序的可见界面[ 15,27,33 ]。鉴于缺乏适用于暴露物联网设备中隐藏接口的工具,在物联网领域中,访问控制被破坏的令人担忧的情况显然被低估我们的方法。 本文介绍了IoTScope,这是一种自动暴露物联网设备中隐藏接口的新方法。具体地说,我们通过静态固件分析提取文件名和路径名来构造探测请求。每个探测请求都被发送WWWXie和Chen等人525·输出两次(相差很小),比较响应的相似度,判断是否对应无效请求。在此基础上,过滤掉无效请求,缩小识别范围,以保护不受保护的接口。最后,IoTScope确定了两种类型的隐藏接口:(1)对于允许操作设备设置的隐藏接口,我们从嵌入式Web服务的前端提取各种设备设置参数;(2)对于暴露敏感信息的隐藏接口,我们将接口上的内容与从NVRAM参数和配置文件中提取的关键字字典进行匹配。我们通过测试来自11家供应商的17台设备来评估IoTScope这些器械属于8种不同的器械类型。令人惊讶的是,IoTScope发现了44个漏洞,其中43个是以前未知的。 这些发现的漏洞可能导致严重后果,如远程代码执行,安全关键操作的暴露,敏感信息泄露等,我们向相应的供应商报告了所有漏洞。他们确认了漏洞并分配了8个CVE ID。 在实验中,IoTScope展示了令人印象深刻的性能:每个设备的测试时间从101秒到3.59小时不等,平均每个设备47分钟。通过全面实施和全面评估,IoTScope迈出了自动化和定量测量的第一步,以识别物联网设备中的隐藏接口。本文的主要贡献概括如下:新方法。我们设计并实现了IoTScope1,这是一个新的工具,可以自动暴露物联网设备嵌入式Web应用程序中通过静态固件分析来枚举所有可能的接口并逐步缩小识别范围IoTScope可以查明两种常见的易受攻击的隐藏接口,即隐藏的设备设置接口和隐藏的信息泄露接口。现实世界的影响。 我们用17个真实世界的物联网设备评估了IoTScope。 令我们惊讶的是,它成功地识别了44个漏洞,其中43个是以前未知的。 我们负责任地向“cve”报告了所有已识别的问题。斜接。 org“和相应的供应商,并收到8个CVEID。第二部分介绍了嵌入式Web应用程序和隐藏接口的背景,以及开发该工具所面临的技术挑战第3节详细介绍了IoTScope的设计第4节给出了IoTScope的评估第五节回顾了相关的工作,第六节给出了结论。2背景和动机2.1嵌入式Web应用嵌入式Web应用程序在IoT设备中被广泛采用。它们通常用作管理面板,便于配置嵌入式设备。EWA不同于传统的Web应用程序。Apache、IIS和Nginx等传统Web服务器相对较重,并且是为高性能而量身定制的1会议结束后,IoTScope将通过Github开源嵌入式Web应用设备设置接口保护接口信息。公开接口隐藏接口开放接口无防护接口图1:EWA中接口的关系快速反应。相反,像mini_httpd [23],boa [4]和lighttpd [21]这样托管EWA的嵌入式Web服务器是轻量级和开源的,易于开发和快速定制。因此,与托管Web文件(如.PHP、.ASP和.JSP)的传统Web应用程序不同,许多EWA托管基于二进制的CGI文件。如果没有源代码级别的语义,分析CGI文件比分析传统Web应用程序的脚本更具挑战性。 更糟糕的是,经常涉及跨架构分析[17,28,36],因为大量物联网设备基于精简指令集计算(RISC)架构,如ARM和MIPS。2.2嵌入式Web应用程序的隐藏接口EWA受到身份验证和授权的保护。不幸的是,由于缺乏安全意识,嵌入式开发人员并不总是遵循最佳实践,并有意或无意地留下隐藏的接口。某些EWA接口不需要登录认证,允许未经身份验证的用户访问安全关键操作或敏感信息。 我们称之为隐藏接口,因为它们不同于:(1)开放接口,如登录/欢迎页面和资源文件,直接暴露给未经身份验证的用户;(2)受保护的接口,只能在身份验证或授权后访问。这些接口的关系如图1所示。隐藏的接口包含由开发人员无意中造成的漏洞或故意留下的后门。鉴于EWA界面主要设计用于配置或显示设备的设置,主要有两种类型的漏洞:设备设置的操作:如果隐藏接口允许设备设置的配置,则其导致未经授权的操作,例如,未经验证的攻击者操纵DNS服务器的IP地址。信息泄露:如果设计隐藏界面向用户显示设备设置,则可能导致信息泄露漏洞,例如将用户的登录密码泄露给未经身份验证的在实践中,我们认为隐藏接口将是物联网设备最主要的攻击面,原因有三个。首先,访问隐藏的接口或触发其上的漏洞···捉迷藏游戏:暴露物联网设备嵌入式Web应用程序中的隐藏接口WWW526前端代码固件映像探测请求请求答复相互作用IoT设备设备设置界面信息泄漏接口无防护接口鉴定无防护接口无效接口&预期接口图2:IoTScope的工作流程不需要任何认证和授权。其次,攻击者的收益很高。 一旦被滥用,隐藏的接口就会暴露敏感信息或允许安全关键操作。第三,鉴于Web服务器经常监听HTTP/HTTPS端口,网络层防火墙不会阻止访问隐藏的Web接口[35]。2.3暴露隐藏接口的挑战鉴于物联网隐藏接口的隐蔽性和严重后果,必须自动发现它们并评估它们。他们在现实世界中的影响不幸的是,我们发现没有现有的解决方案可以达到这一目的。为此,我们的方法首先列举可能的接口,逐步缩小范围,并最终确定隐藏的接口,这带来了三个具体的挑战:挑战1:枚举可能的接口。 Web接口以不同的形式呈现,并驻留在不同的位置,这使得很难枚举所有可能的接口。一 方 面 , 它 们 有 不 同 的 文 件 名 扩 展 名 ,如.PHP,.ASP,.JSP和.CGI。 一些接口是脚本,而另一些是二进制文件. 另一方面,它们可以是独立的文件或服务器的函数例如,FIRMADYNE[5]未能识别漏洞CVE-2017-5521[10],因为该工具仅枚举“www“目录中的独立文件但易受攻击的接口是作为二进制可执行文件“httpd“中的函数呈现的。挑战2:识别未受保护的接口。 一旦探测请求被发送出去,我们就收集了一堆未经确认的请求-响应对。下一步是首先识别有效的接口,然后识别其中未受保护的接口. 通常,当HTTP请求指定一个不存在的URL时,Web服务器应该向客户端回复一个404状态代码。不幸的是,嵌入式开发人员并不总是遵循HTTP协议的标准。因此,如果请求访问有效接口和未受保护的接口,EWA将使用具有各种HTTP状态代码的响应来回答客户端例如,一些EWA回复400状态代码,以指示一般的bad request;有些EWA会回答任何状态码为200的请求,然后在响应正文中详细说明错误因此,我们需要处理混乱的非正式编程约定,并在不利用响应语义的情况下自动识别未受保护的接口。挑战3:识别隐藏接口。 与经常导致程序崩溃的内存损坏的触发不同,没有指示器来确认有效接口是否是隐藏接口。对于信息泄露,一些隐藏界面显示与用户隐私相关的安全问题或将登录密码泄露给未经身份验证的用户,导致身份验证绕过攻击。关于操纵设备设置的漏洞,隐藏接口可能允许未经身份验证的攻击者更改设备的DNS设置,或允许操纵路由器的Wi-Fi设置,从而对无线用户造成拒绝服务攻击。技术上的挑战在于如何系统地识别出不同形式和行为的隐藏接口。3设计IoTScope的架构如图2所示。 输入是IoT设备及其固件映像。IoTScope首先通过静态分析固件提取文件名和路径名,并将其组装以构建HTTP探测请求。 探测请求然后用于与物理IoT设备或托管固件的仿真器进行交互。然后,IoTScope收集请求和响应,以过滤掉无效接口和我们不感兴趣的受保护接口。最后,对剩余的未受保护的接口分别进行两类隐藏接口的识别系统的输出是固件中易受攻击的隐藏接口。3.1枚举接口如图3所示,IoTScope从固件映像中提取路径名和文件名的结构化字符串,并积极地连接路径名和文件名以构建语法上有效的URL作为探测请求。丢弃010101参数器械标识设置界面前端代码探测请求递送NVRAM参数&配置文件关键字鉴定信息泄漏接口接口枚举···WWWXie和Chen等人527()/(+)固件映像文件目录根目录Web相关文件二进制Web服务器不同的呼吸?(受保护多数?(无效接口)接口)丢弃图3:接口枚举首先,我们收集可搜索的信息并使用正则表达式来枚举文件名。为了使诸如可执行文件的文件名和可执行文件内的文本信息之类的字符串数据(例如, 函数名、调试符号和可打印字符串)的一致性和可搜索性,我们重新封装固件映像并将整个固件文件系统的根目录重新打包到单个文件中。 之后,我们从单个文件中提取所有字符串,并使用正则表达式提取所有可能的web接口文件名,即以.cgi,.php,.asp,.xml结尾的字符串,.htm和.html。接下来,我们将Web相关的脚本和Web服务器的可执行文件重新打包到一个文件中,并使用正则表达式搜索可能的路径名。 通过仅重新打包整个文件系统的子集,我们可以排除与Web服务无关的路径(例如, 最后,通过根据可定制的策略连接文件名和路径名,IoTScope生成探测请求列表。请注意,即使Web服务器在运行时构造探测请求,探测请求的子字符串也已经包含在可执行文件中。因此,我们的方法仍然可以重建只能动态构造的URL。 假设Web服务器在运行时通过连接三个路径“/cgi-bin/“、“/image/“和“/auth/“来构造特定URL,并且固件中没有单一路径“/cgi-bin/image/auth/“。在这种情况下,我们的可定制策略允许用户通过将三个路径连接为一个路径来增加探测请求的数量,或者将一个子字符串(即,“/cgi-bin/“、“/image/“或“/auth/“)作为文件名的前缀。3.2提供探测请求此组件负责向/从目标设备/仿真器发送和接收HTTP数据包。我们的方法不需要目标固件的仪器来收集执行反馈。相反,它只观察来自响应消息的反馈因此,目标可以是托管固件或物理设备的仿真器此外,IoTScope运行单个图4:未保护接口的标识线程,以避免并发问题,即在收到前一个响应之前不会发送下一个IoTScope将每个探测请求发送两次。第一个请求在经过身份验证的HTTP头中携带证书,而第二个请求不携带证书。 我们称之为双重请求。双请求及其相应的响应都被馈送到下一个组件。由于我们拥有测试设备,因此不需要从固件中提取默认证书。相反,我们可以自己设置它,并从像Burpsuit这样的Web代理中嗅探其编码版本。通常情况下,证书将在经过身份验证的HTTP请求的报头中发送,或者在COOKIE字段中,或者在认证字段中。我们只需要在测试每个设备时设置并捕获一次3.3识别不受保护的接口图4说明了这个组件的设计首先,它通过观察双请求响应的差异来识别并过滤出需要用户身份验证的受保护接口。针对同一受保护接口的一对双请求(有/没有证书)将导致两个不同的响应。带有证书的请求将获得成功访问的指示符。另一个没有携带证书的请求将收到未经身份验证或未经授权访问的警告。但是,当一对孪生请求都无效时,会回复相同的响应。例如,两个响应都表示目标URL不存在。为了进一步过滤无效的探测请求,我们根据响应体的内容将剩余的响应聚类到不同的组中无效请求的响应是主要的,并且可以被聚类成几个组,对应于Web服务器中的几个错误处理情况。异常值是未受保护的接口,即开放接口和隐藏接口。详细的聚类算法如算法1所示它是轻量级的,不需要预定义的组数。我们定义两个元素的相似性,即两个响应的内容为:在哪里?andare the lengths of the two elements.长度为和所共有的共同特征。根据定义,010101文件_列表set.cgi,test.asp,wifi.cgi,路径列表/help/,/image/,/cig-bin/,/noauth/,简体中文网址_列表/help/set.cgi,/help/test.cgi,/help/wifi.cgi,/help/login.cgi,/help/backdoor. php,/cgi-bin/test.asp,/noauth/set.cgi,/noauth/wifi.cgi,/js/backdoor. php…无防护接口少数族裔?(有效接口)响应Twin的比较-请求聚类捉迷藏游戏:暴露物联网设备嵌入式Web应用程序中的隐藏接口WWW528[客户端][正]该相似性函数返回0到1之间的值 类似的响应通常是高度结构化的,并且共享大部分公共字符串字符。所以相似的字符串倾向于聚集在样本空间中。使用该相似性度量可以有效区分常见无效请求的响应和稀缺有效请求的响应 由于无效请求的数量和有效请求的数量之间存在很大的差距,阈值的值对聚类结果相对不敏感。算法1:响应聚类算法1 因为 在 1, 菲律宾2.如果不属于任何一组,3创造一个新的世界;④将枸杞子放入枸杞子中;5为 在1, 菲律宾6.如果不属于任何一组,7计算=(,)8如果>������������,则9把鸡蛋放在鸡蛋里,在聚类之后,其大小明显大于其他响应组的响应组将被标记为“多数”,并被视为无效请求的响应。直觉上,大多数探测请求都是无效的,对隐藏接口和开放接口的请求量相对较小。例如,为了识别URL后缀为“/noauth/set-dns.cgi“的隐藏接口然而,只有一个候选者,即“/noauth/“,将导致EWA服务器的函数“set-dns_cgi“应答的响应。其他请求将由函数“load-URL_cgi“执行,该函数返回类似“/XXX/set-dns.cgi不存在”的那些包含错误信息的响应将被聚集为一个大组并被丢弃。3.4识别隐藏接口一旦受保护的接口和无效接口被丢弃,此步骤的目标是识别对用户构成威胁的隐藏接口。如第2节所述,有两种类型的隐藏接口:允许操纵设备设置的隐藏接口,以及公开关于IoT设备的敏感信息的另一种类型的隐藏接口。隐藏设备设置接口的识别 IoTScope通过添加从固件提取的参数来探测每个未受保护的接口。由于后端服务器通过前端代码向用户公开功能,因此几乎所有设备设置参数都在前端中硬编码。为了提取参数,我们扫描固件映像中的前端代码如果与后端服务器的通信是基于AJAX的,我们直接提取AJAX请求的“data“字段中的如果参数是使用HTML表单提交到后端的,我们使用正则表达式来提取action属性和输入标签的字段将提取的键值对存储在数据库中。表1:评价器械设备ID供应商模型设备类型固件版本1阿姆克雷斯特IP2M841相机V2.800.000000.1.R2华硕4G-AC55U4G路由器3.0.0.4.380_81023D-LinkDir-868LWi-Fi路由器2.03 B14D-Link苏-412Wi-Fi路由器A1-1.14WW5D-Link粤-816Wi-Fi路由器A1 1.066D-LinkDAP-1320中继器A2-V1.217H3c魔法Wi-Fi路由器V100R0068汞MIPC372-4相机1.0.19汞MNVR408录像机1.0.910网心G14G路由器V3.0.4.15611NetgearPLW 1000电力线适配器1.0.1.612NetgearW104中继器1.0.4.1313NetgearWNDR4000Wi-Fi路由器V1.0.2.2_9.1.846814奇虎360F5C防火墙路由器V3.1.1.6515015腾达G103GPON调制解调器V1.0.0.5版本16TP-LinkGP110GPON调制解调器3.2.2.1 build 141119 Rel.74551n17WavlinkAC1200/A42Wi-Fi路由器1.27.6(201806221623)为了自动检测带有某个参数的探测请求是否生效,我们发出两个请求:第一个请求附加了一个可能会改变设备设置的参数;后续请求不附加该参数。如果两个请求的响应不同,则表明带有该参数的请求在设备侧生效,通过更改设备设置或查询设备状态由于很难自动确定请求是关于设备设置还是状态查询,我们手动分析候选人的响应内容识别隐藏的信息披露接口。为了识别信息披露界面,我们构建了一个关键词字典,并将界面的内容与字典中的关键词进行匹配。关键字来自以下来源:NVRAM参数。NVRAM值是一种驻留在设备而不是固件中的它们通常是关于设备设置或用户特定的敏感信息,如“lan_hwaddr“、“wlan1_psk_cipher_type“、“wlan1_psk_pass_phrase“等。 我们从NVRAM库(如NVRAMfaker [ 16 ])中收集NVRAM相关的关键字,其中包含NVRAM参数以便于固件仿真。配 置 文 件 。 我 们 还 从 web 服 务 器 的 配 置 文 件 ( 如“host.conf“、“lighttpd.conf“和“resolv.conf“)中提取有关web服务器配置的提取一组与配置相关的关键在去重之后,我们建立了一个包含50多个关键词的字典. 对于响应内容的 文 本 , 当 字典中至 少 有两 个关键字匹配时,IoTScope将其报告为信息泄露接口。 该过程引入了假阳性,这将在第4节中讨论。4评价IoTScope在配备Intel i7处理器和16GB RAM的PC上进行评估所有测试目标都是我们购买的物理物联网设备目标设备具有代表性,包括来自11家知名供应商的17种型号,运行最新版本的固件。设备类型包括相机,··WWWXie和Chen等人529IOTScope Firmadyne表2:CVE-ID确认的漏洞通过描述识别的设备ID CVE零日漏洞3CVE-2019-7642黑客泄露内网用户的DNS查询日志和登录日志。CVE-2019-17506泄漏路由器的设备信息包括管理员帐户的用户名和密码。4CVE-2019-17511路由器访问路由器的日志文件,了解内部网络结构。13CVE-2017-5521CVE-2019-17372下载✓泄漏路由器的管理员帐户以绕过身份验证。✓禁用路由器14CVE-2019-3404查询和修改一系列防火墙配置。表3:需求统计生成和Res.聚类视频录像机、GPON调制解调器、电力线适配器、中继器、4G路由器、Wi-Fi路由器和防火墙路由器。 IoTScope对设备类型没有特殊要求,只要它们具有可用固件的Web接口即可。 表1列出了目标设备的详细信息。4.1总体结果已识别的漏洞。 在IoTScope的帮助下,我们总共确认了44个漏洞,其中包括43个之前未知的漏洞和1个已知漏洞(固件长期未更新)。在负责任地将新发现的漏洞报告给相应的供应商后,其中8个已被确认并分配了CVE ID。表2简要描述了每个具有CVE ID的漏洞在没有任何保护的情况下,这些漏洞会导致严重的后果,从获取设备日志到完全控制设备。统计和准确性。如表3所示,关于可能接口的枚举,IoTScope平均从每个设备的固件中提取117个路径和326个文件,产生平均62357个URL作为探测请求。 在过滤无效和受保护的接口之后,其余的探测请求被聚类到组中。平均而言,当相似性阈值分别设置为0.4、0.6和0.8时,我们为一台设备获得4、7和15个响应聚类,并且漏洞识别的结果保持不变。这是由于当阈值设置为不同值时,聚类算法可以容忍假阴性和假阳性例如,如果阈值被设置为大值,则存在更多属于“次要”的请求由于针对隐藏的设备设置接口验证了双请求(带/不带参数)的响应之间的差异,并且响应的内容与隐藏的信息泄露接口的关键字匹配,这直接排除了无效接口,因此可以在隐藏接口的识别期间消除误报。 当阈值根据经验设置为大于0.4的值时,最终结果不会受到影响。隐藏界面识别结果见表4。 IoTScope报告了20起未经身份验证的设备设置和48起敏感信息泄露事件。然而,经过人工分类,我们确认共有44个易受攻击的接口。误报的发生是由于以下原因:(1)对于设备设置界面,响应的差异设备ID#路径#文件#URL���0.4- 0.4#集群���0.6- 0.6���0.8- 0.81540240129600715492249723281113598102861474471437420143387033410135162664256261964316470526812773538392744598228618921229281002800355101044704888071621115114071406114212326402048056613505632815026161412147156991713201532922944223161593139511117441165104457平均117326623574715总19945537106006369126263表4:隐藏接口识别结果设备ID设备设置界面证实信息。披露界面证实脆弱性100422200000300151313432546500211600211700000800000900000103355811004111200111131125351433325150000016000001700211总2010483444并不总是指示成功的设备设置操作。可以是设备状态查询;(2)对于信息泄露界面,匹配关键字的界面并不一定会泄露敏感信息。它可以是一个开放的界面,允许用户使用用户帐户登录或重置密码。CVE-2019-17512下载✓清除路由器5CVE-2019-17507下载✓通过删除重定向代码访问路由器的管理页6CVE-2019-17505下载✓泄漏路由器的Wi-FiSSID和密码。捉迷藏游戏:暴露物联网设备嵌入式Web应用程序中的隐藏接口WWW530表5:IoTScope和Firmadyne的比较设备ID#路径#文件#URL#漏洞IOTScopeFirmadyne IOTScopeFirmadyne IOTScopeFirmadyne IOTScopeFirmadyne359811028175614744175138420114332878703328760643116473705273111350156333928150339501532192822944820016151933313953300平均15713961651235531654.21.5总93962373989741318989259表6:IoTScope的性能图5:CVE-2017-5521漏洞隐藏页面4.2性能表6显示了每种器械每次手术所花费的时间测试一个目标的时间最短的只有101秒,而最长的是12,930秒(3.59小时)。这表明IoTScope在测试物联网设备方面快速有效平均而言,请求生成、请求过滤和隐藏接口识别过程分别占总时间开销的0.12%、1.14%和0.08%然而,通信过程,包括发送请求和等待响应,花费了98.66%的测试时间。这是因为实验是使用物理设备进行的,在处理请求和响应方面,物理设备比基于模拟器的测试相对较慢。尽管如此,这带来的好处是我们不需要建立一个难以构建的仿真环境[24,29]。而且,在存在某些设备状态(例如,重启)和通信状态(即,存在令牌以维持某些状态)。尽管IoTScope可用于基于仿真器的测试,但固件仿真不在本研究的范围与Firmadyne比较 Firmadyne是最近的一项工作,可用于识别物联网设备中与网络相关的漏洞。表5详细介绍了IoTScope和Firmadyne [5]之间的比较,给出了相同的目标设备/固件集性能比较如表6所示。 我们还利用了FirmAE [20],这是一项修复Firmadyne部分仿真问题的最新工作。不幸的是,作为一种基于仿真器的解决方案,Firmadyne(由FirmAE改进)的可扩展性较差,只能仿真和测试17个设备中的6个(35%)。平均而言,IoTScope可以覆盖157条路径图6:CVE-2019-17512漏洞隐藏页面而Firmadyne只处理根网络路径。 IoTScope提取了396个文件名,是Firmadyne提取的文件名数量的2.4倍。主要原因是Firmadyne不涵盖可执行文件的函数中指定的接口最终,相比Firmadyne发现的9个漏洞,IoTScope报告了25个漏洞。4.3案例研究案例研究1:一系列网件设备。电 话 :+86-21 -5521[10]报告说,未经验证的攻击者可以通过访问隐藏接口“passwordrecovered.cgi“获得路由器的管理员密码,如图5所示 。 该 故 障 影 响 了 13 种 Netgear 设 备 型 号 。 隐 藏 接 口“passwordrecovered.cgi“不是一个web文件,而是二进制web服务器中的一个函数。IoTScope发现此漏洞,设备ID代间反应 填充(s)Ident学历共计IOTScopeFirmadyne14.2312883.0443.070.0212930.36-29.86144.5900.01154.46-39.395933.5254.520.385997.81861.5445.631751.181.431.661759.9626.1451.192746.60.03281.82-61.263252.050.322.23255.83362.2473.393943.7168.30.014015.41-81.71166.980.080.01168.78-92.22288.320.140.02290.7-102.224481.661.673.454489-117.94837.577.233.31856.05-122.681922.45.561.361932-132.99947.92352.7118.231321.85612.29142.1110030.2412.397.1210051.86-151.87364.620.030.26366.78756.94160.98100.330.020.57101.9374.33171.41491.370.310.01493.1-平均3.59281332.612.272848.76598.91总61.0847813.5554.3838.6548428.963593.48WWWXie和Chen等人531它提取二进制Web服务器内部的字符串以生成探测请求。匹配的关键字是 在实验中,我们发现该漏洞影响了WNDR 4000设备型号,而该型号未包含在CVE-2017-5521的报告中。案例研究2:D-Link路由器。我们报告了CVE-2019-17512[13],这是一个影响D-Link路由器的漏洞。IoTScope提取了页面“log_clear.php“ 的 参 数 : {“act” : “clear” , “logtype” : “this.logType” ,“SERVICES” : “RUNTIME.PHP”}。 参 数 驻 留 在 发 送 Ajax 请 求 的JavaScript代码中。在第一个请求中,响应中没有接收到任何内容,因为没有附加参数。 第二次,当IoTScope发送带有参数的请求时,路由器的日志文件将被清除,并在响应中返回图6所示的信息。4.4讨论检测范围IoTScope只能检测基于URL的隐藏接口。 虽然我们认为这涵盖了大多数情况,但也有一些情况只能通过提交特定的HTTP参数来触发。 这与其他授权漏洞有关,如不安全的直接对象引用。此外,某些设备状态(例如,重启)和通信状态(即, 用于维持某些状态的令牌的存在)可能对IoTScope的测试有一些影响。然而,最近的工作已经解决了这个问题[34,37,38],因此,不是本文的重点手动验证。隐藏接口是一种逻辑漏洞。由于能力的不同往往导致不同的行为或后果,因此缺乏一个统一的标准或指标因此,无法避免人工验证以分类识别结果。幸运的是,在关键字匹配或响应的差异分析之后,对于IoTScope的结果,手动分类简单而直接。分析人员只需要通过浏览网络界面上的文本信息来检查报告的案例,并确定它们是否易受攻击。此外,由于响应是聚类的,因此我们只需要为每个聚类验证一个响应。合法性道德性。这项研究不会引起任何法律或伦理问题。 我们拥 有我们购买的所有设备的所有 权,并 已负责任 地向“cve.mitre.org”和相应的供应商报告了所有漏洞。我们证实,供应商已经修补了本文中详细介绍的案例研究中的漏洞。5相关工作在本节中,我们首先回顾物联网设备测试的相关工作然后,我们讨论了先验工程如何自动检测身份验证和授权问题。5.1IoT设备测试IoTScope基于动态分析。最近有一系列研究利用动态技术来识别物联网设备中的漏洞[5,6,19,30,32,40]。例如,Chenet al. [5]提出了FIRMADYNE,这是一个自动化框架,通过模拟固件. 在此工具的帮助下,作者确认了14个影响69个固件映像的预修复未知漏洞Costin等人提出了类似的工作[9]它专注于模拟嵌入式Web 服务器,并识别与Web 相关的漏洞,如 XSS 和CSRF。然而,这两个工具并不是为识别隐藏接口而设计的,因此 并 不 直 接 适 合 我 们 的情 况 。 Srivastava 等 人 [32] 提 出 了Firmfuzz,一个自动化的设备独立仿真和动态分析框架,用于基于Linux的固件映像。它利用灰盒模糊方法,结合静态分析和系统自省。Zheng等人[40]提出了FirmAFL,一种用于物联网固件的高吞吐量灰盒模糊器它利用了一种称为增强进程仿真的新技术,该技术结合了系统模式仿真和用户模式仿真,以提高模糊的吞吐量。Chen等人 [6]提出了IOTFUZZER,这是一个旨在通过空中模糊来发现物联网设备中的内存损坏漏洞的框架。 它重用特定于程序的逻辑来修改测试用例以探测物联网设备。然而,上述工作只针对内存损坏,并不适合暴露隐藏的接口。5.2检测破损的访问控制有一些相关的工作,旨在检测云服务中的访问控制中断[2,7,41Zhou等人 [41] Chen et al. [7]评估了物联网应用程序、物联网设备和物联网云之间的交互他们系统地分解了物联网设备绑定的过程,并通过人工分析揭示了协议的认证和授权 AutoForge[44]是一种自动伪造移动应用程序的有效请求消息的工具,以测试应用程序的服务器端是否通过充分的检查确保了用户帐户的安全性。AuthScope [45]自动执行移动应用程序,并在相应的在线服务中找出易受攻击的访问控制实现,特别是易受攻击的授权。它使用差分流量分析来识别协议字段,并自动替换字段和观察服务器响应。虽然上述工作旨在识别损坏的访问控制,但它们仅适用于移动和物联网 云 后 端 等 特 定 目 标 在 技 术 方 面 , Zuo et al.[42] 提 出 了SmartGen,它利用符号执行来从移动应用程序构建URL,而IoTScope则通过字符串分析从固件构建URL 与分析一般Web应用程序的工具[15,27,33]相比,它们专注于可见和受保护接口的身份验证和授权问题,而不是隐藏接口。6结论在本文中,我们介绍了第一个自动化工具IoTScope,它暴露了物联网设备嵌入式Web应用程序中的隐藏接口我们设计了一个原则性的解决方案来实现我们的目标,通过构建探测请求,通过固件分析来测试物理设备,通过过滤掉不相关的请求来缩小识别范围,并精确定位两种类型的隐藏接口。通过在真实环境中进行实验,IoTScope成功识别了17个真实物联网设备中的44个漏洞。捉迷藏游戏:暴露物联网设备嵌入式Web应用程序中的隐藏接口WWW532----关于我们--关于我们关于我们引用[1] [n. d.]。智能但有缺陷:物联网设备漏洞解释。[On
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功