以YS的一个实际案例说明一个几乎属于智能硬件设备专属的攻击类型
设备串口登录不需要认证【低】
问题描述:
在进行底层的嵌入式开发时,开发人员为了方便调试,往往会在设备上预留一个调试接口(比如:串口),而这种设备接口一般是不需要认证即可登录进行调试的,而且往往获取到的是最高权限,服务器以及智能手机终端都可能预留这样的调试接口,但它们受到的威胁和在物联网中很多放在无人看管的区域的智能硬件设备是不一样的,由于服务器有机房的重重把手和看护,手机一般始终在用户身上,所以威胁要小不少,但对于那些散落在互联网中的硬件设备显然攻击者更加容易接近,如果接入这些未经认证的接口,即可进行植入恶意代码等攻击。
此外,有些设备看上去似乎不存在这样的接口,但实际上只是在硬件层面移除了,而在软件层面仍然是支持的,只要我们把被移除的硬件零件(比如:芯片、电阻以及connector)重新mount上去,仍然可以进行使用。
测试步骤:
1、 上电启动设备。
2、 快速按ctrl+u组合键登录设备。
3、 在进入的shell内可进行任意Linux底层的操作,为root权限。
问题扩展:
虽然非授权人员通过串口登录设备是一种近程的攻击行为,但是近程攻击在企业中并不少见,比如外部人员冒充公司人员进入内网网络或者机房在设备上植入后门或木马等,而民用设备本身置放地点更加随意,攻击成本要小得多。
解决建议:
1、 设置初始的口令,并最终使用用户可修改的加密口令作为认证口令。
2、 如果无保留这些调试功能需求,考虑在软硬件层面同时彻底删除和关闭该功能。
3、 对底层Linux shell进行封装,对可执行的操作命令进行白名单限制。