某米摄像头安全体验报告
1、简介:
安全小组对某米摄像头进行了简单的分析,本报告进行了简单总结。
2、问题详述(客户端/设备):
2.1、新购置的或刚重置的某米摄像头可被恶意添加,导致隐私泄露。
问题描述:
新购置或刚重置过的摄像头接电时是出于未配置wifi状态的(闪橙色led),使用某米的手机客户端可以通过类似smart config的技术对有效范围内的某米摄像头设置wifi,方便用户的同时也存在一定的风险。
测试步骤:
1、 将新购置的某米摄像头接上电,此时橙色的led灯处于闪烁状态。
2、 移动到离某米摄像头直线距离8米处。
3、 打开智能家庭APP,进入添加设备流程,设备可成功被添加到指定wifi。
4、 绑定改摄像头到自己的账户即可操作摄像头。
风险分析:
由以上测试步骤可知,某米的类smart config技术覆盖的范围差不多等于wifi热点的范围,由于采用无线技术,故墙等常见障碍物影响较小,因此,是可以对在同一栋建筑内的某米摄像头产生影响的,用户如果未对设备设置wifi,则有可能被攻击者恶意添加导致隐私泄露。
风险等级:
中或低。必须是摄像头在未设置wifi状态下才能发生攻击,而利用难度与用户所在的使用环境也有关系,在群体出租环境中概率更高,而个人家庭则相对较低。
问题扩展:
某米路由同样能够添加周边未设置过wifi的某米智能设备到路由上,并且连接到某米路由后,摄像头不需要和某米账户绑定也可以对设备进行操作。
解决方案:
1、 添加设备需要验证码。
2、 使用能有效控制辐射范围的类smart config技术。
2.2、某米和某米账户分离的账户体系存在的风险
问题描述:
某米摄像头支持3种APP—某米、智能家庭和某米路由,某米APP使用的是某米账户体系,智能家庭和某米路由使用的是某米账户体系,意味着一个摄像头可以绑定到两个不同的账户体系下,将带来隐私泄露等风险。
测试步骤:
1、 使用手机和邮箱注册某米和某米账户。
2、 分别使用这两个账户绑定一个某米摄像头。
3、 分别在智能家庭和某米APP中操作设备,可成功实施操作。
风险分析:
风险1:如果用户A绑定了摄像头的某米账户,假如用户B拿去使用时绑定的是自己的某米账户,那么账户A仍然可以操作该摄像头,可造成隐私泄露。
风险2:由于不同的账户体系可能使用不同的安全策略,且用户可能使用不同强度的密码,根据木桶原理,一定程度增加了账户体系的脆弱性。
风险等级:
中。需要一定的利用条件,但难度不大。
问题扩展:
某米账户登录有防暴力破解设计,而某米账户登录则没有,因此某米实为短板。
解决方案:
1、 统一账户体系和统一登录。
2、 或做账户体系关联。
2.3、部分操作信令使用http传输,存在泄露cookie等风险。
问题描述:
使用某米APP对某米摄像头进行相关操作,通过设置代理捕抓相关数据,发现APP和服务器之间部分信令使用明文的http传输,虽然进行了签名,但未存在防止重放的防御手段,降低了攻击的难度。
测试步骤:
1、 将测试手机、某米摄像头和抓包机器配置连接到同一个wifi上,为手机的网络连接设置代理,让手机的http请求转发到抓包机器上。
2、 打开某米APP,对设备进行设置操作。
3、 在抓包机器上可以捕抓到传输的http请求,如下图:
4、 查看请求体内容,可以看到cookie等敏感字段。
5、 但同时发现其在应用层进行了加密和签名,在一定程度加大了攻击难度。
风险分析:
风险1:如上所示,泄露了用户cookie,可用于伪造用户身份登录。
风险2:攻击者可通过网络嗅探到方式抓取到http信令包并进行重放攻击,比如,重放对设备进行操作的信令。
风险等级:
高或中。使用http使得攻击难度降低,敏感信令的重放会对用户造成较大影响。
问题扩展:
无。
解决方案:
1、 使用https代替http
2、 增加时间戳或随机数参数防止重放攻击。
2.4、某米APP二维码扫描添加设备泄露设备与用户名的绑定关系。
问题描述:
某米APP单独支持二维码扫描添加设备,如果该设备已经被某账户添加绑定,那么APP会进行提示,泄露使用该设备的用户名,关联到大数据可产生一定风险。
测试步骤:
1、 打开某米APP。
2、 将某米摄像头绑定到某个某米账户下。
3、 使用另外一个某米账户通过扫描二维码的方式再次添加该设备,APP会提示“该账户已被用户XXX关联”,如下图所示:
风险分析:
安全行业的大数据即是把各个互联网企业泄露出去的账户做关联,很多用户在不同的互联网应用使用相同账户名、口令、手机号或身份证号等进行注册,黑产业通过对这些信息的关联处理可以得到一个具体真实的人的信息,而用户名也是这些关联信息中的一个环节。攻击者可以通过该接口去遍历所有的设备名来获取所有已绑定设备的账户名,进行大数据攻击。
风险等级:
低。依账户数量决定,某米注册账户量小,影响低,若为支付宝之类的大账户体系暴露批量账户名为高风险。
问题扩展:
无。
解决方案:
不显示具体账户名,只提示“该设备已被绑定”。
3、问题详述(服务器):
3.1、某米官网存在Struts2漏洞,可拿服务器权限。
问题描述:
某米官网经检测,存在Structs2漏洞,
测试步骤:
1、 使用struts2测试工具测试,可执行系统命令,如下图所示:
风险分析:
Struts2漏洞为业界公认高危漏洞,利用该漏洞可执行任意系统命令,进而最终获取服务器的最高权限。
风险等级:
高。
问题扩展:
无。
解决方案:
打补丁。
4、总结:
某米科技在2014年遭受过多次黑客攻击,中间也泄露过带账户名和口令的数据库,也因此提高了某米对安全的重视度,在本次测试中,取流流程完全走加密传输,信令中使用加密和签名机制,也得到了很好的体现,另外,某米科技最近频繁参与众测项目,也较大程度提升了其产品安全性。但从某米收购的厂商某米科技看,其对安全的重视度并未进行同步,若整合不当反而降低了安全性。此外,若实现一键配置提升用户体验,以上2.1存在的问题将来可能也一样会存在萤石产品上,因此需要在安全和用户体验间进行平衡和选择。