图片36
伴随着物联网技术的不断发展,基于物联网的设备在我们的生活中越来越普及,而设备漏洞却成为一个巨大的隐患。
本文举出了用户在物联网设备上遇到的设备软件故障,并提出了相应的对策。
对于这类攻击,黑客可以通过对设备软硬件的内在漏洞进行“破坏”。
《电动汽车充电系统》中的漏洞分析。
有一些研究者破解了如何通过在调试模式下将“Branchifequal”(BEQ)汇编指令改为“Branchif not equal”(BNE)指令,以避开“Charge Point”电动车充电器的密码验证。
即使输入了错误的密码,攻击者仍然可以登录到设备的系统后台。
通过使用其Android应用程序(app)和Bluetooth执行拒绝服务攻击(DoS),可以在“ChargePoint”设备中创建具有root访问权限的永久用户帐户,导致通信进程btclassic之间发生缓冲溢出。
另外,利用此漏洞,攻击者也可以在系统中修改/创建任何文件,或者对设备内核执行任何操作系统(OS)保留的命令。
有时候,为了吸引顾客,物联网设备制造商常常在他们的产品上增加一些新特性(这个例子是“电动汽车Charge Point”家用充电器),这可能会导致制造商测试不适当。
利用这些漏洞,攻击者能够完全控制设备。举例来说,在上面的案例研究中,通过电动车充电所采用的最大电流值,可以使用户的家庭电力系统无法正常运行,甚至可能会导致身体损害。会导致设备在制动过程中突然断电,带来更大的安全隐患。
缺陷应对措施:“Charge Point”固件中的btclassic进程将密码复制到堆栈缓冲区,而不通过验证密码长度。
在分析btclassic过程中的WiFi密码时,可以使用strncpy()()替代strcpy()()来执行字符串长度验证。
使用uploadsm进程传递"file name"参数,您可以在未验证的情况下打开文件。
为保证攻击者不能利用以上两种漏洞,应提高权限级别,进行参数验证检查。
任意一种整数/缓冲区溢出漏洞都会导致物联网设备受到攻击的风险。静态验证技术(例如检测strcpy()和scanf()函数的不安全使用),以及数组绑定检查和动态验证技术(例如,污染分析,内存损坏检测)等等,以防止这种攻击。