不太安全的IoT设备的逆向工程

物联网即将来临! 它最初是作为过度使用的营销宣传而没有实际用例的(谁需要互联网连接的冰箱?谁想要互联网连接的厕纸?)。

新的“事物”开始出现,无论是否有用:从智能灯泡(Philips Hue),恒温器(巢),智能电视(三星等)到语音助手(Alexa,Cortana,Google)。 您甚至可能已经安装了其中之一,对吗? 那么温度和湿度传感器呢? 可能没有什么不对吗?

但是,如果有一天早上您发现在办公桌下安装了一个奇怪的未知设备并连接到云和Internet,您会怎么想呢?

桌子下被入侵的物联网设备
桌子下被入侵的物联网设备

前言

本文以IoT监视/传感器设备为例。 该设备已部署在共享室(例如会议室)中,并已放置在单个员工的办公桌下。 本文介绍了对该设备的调查和分析,以及可能出现的问题和建议的改进。

本文的目的是从这种情况中学习,而不是怪罪于安装该设备的雇主或开发和生产该设备的公司(一家初创公司)。 这就是为什么不公开两个名称,并且本文中所有引用,徽标,登录数据或密码均被模糊/删除的原因。

文章中标记了类似的建议,想法或经验教训,如果您打算部署IoT设备,可以将其用作检查清单。

在准备本文时,已与生产该设备的公司联系,我们与他们讨论了我们的发现,因此他们有机会提供反馈或采取行动。 我要感谢他们的开放和聆听。

请注意,本文描述并显示了逆向工程实践,同时考虑了研究和教育目标。 除法律或许可协议禁止的范围外,进行其他任何逆向工程。

奇怪的监控设备?

那么,如果有一天早上您在办公桌下发现了一个未知的设备,您会怎么想呢?

桌子下一个陌生的传感器
桌子下一个陌生的传感器

您可能应该担心,尤其是在感到意外的情况下。

规划在工作区域中部署此类设备的过程,不仅要依赖于Intranet通信,因为这将无法覆盖所有人。 为避免疑虑,请直接与员工和团体进行沟通(会议,面对面的交流,电子邮件)。 将传单/海报放在要安装监控设备的区域。 请事先咨询法律和员工代表。 考虑一下这种感觉(“互联网设备正在监视我!”),而不是这种设备的实际情况(“简单的温度传感器”)。

该设备通过磁铁固定在桌子上,因此很容易卸下并仔细观察:

桌下的奇怪设备
桌下的奇怪设备

设备的安装方式使其易于移动,拆卸或放置在其他地方。 在这种情况下,如果设备应监视特定位置,则应以无法移动/拆卸的方式进行安装。

拆开设备

直径为64毫米的设备有两个磁铁,用于将其固定在桌子的底部。 卸下金属零件非常容易(不使用螺钉):

设备拆解
设备拆解

中间的孔可能可以用螺钉或类似的螺钉固定。

金属外观
金属外观

没有物理保护来保护打开设备。 对设备的物理访问使攻击者更容易。 设备应具有篡改检测功能,万一发生篡改,则应采取适当的措施,例如: 发送篡改通知和/或擦除秘密密钥。 这会使攻击设备更加困难。

设备正在使用锂电池(仅安装了一个):

设备锂电池
设备锂电池

取决于光线条件,电池的“ +”和“-”符号很难读取。 碰巧我以错误的方式插入了电池。

电池盒内的标签上有一个ID号和QR码; 外部的贴纸上贴有相同的代码。 外部还有7个小孔(可让空气流通的呼吸孔或可用于麦克风?)。

设备上的ID号
设备上的ID号

贴纸的编号是用于注册/登录设备的ID(稍后会发现)。 外面有这样的标签,可能的攻击者甚至无需打开设备即可获取该ID。

设备的中心部分是PIR传感器:

设备内部正面
设备内部正面

PIR传感器用于检测运动,该运动用于打开照明灯或类似设备。 上面还有一个带有更多电子设备的Microchip无线通信模块。 PIR传感器具有可拆卸的(3D打印的?)斗篷,用于限制传感器的范围:

可拆卸PIR盖
可拆卸PIR盖

电路板组件的分析显示在以下组件中:

带天线的Microchip RN2483 LoRa模块
STM32L031F6P6 ARM Cortex-M0 +微控制器
AMSYS HTU20 I2C湿度/温度传感器
RGB LED指示连接状态
未知设备8743(I2C),可能是磁力计/加速度计

为了使潜在攻击者更难或尝试进行逆向工程,请删除所用设备上的ID。

主板概览
主板概览

板上的AMSYS HTU20温湿度传感器不是带滤膜的版本。 由于设备的外壳未完全关闭,因此灰尘可能会覆盖传感器。 在这种设备中,应使用带有滤膜的传感器:

Filter Membrane
Filter Membrane

进一步的分析表明,由于没有I2C通信,因此当前固件似乎未使用8743设备。

8743 IC (用途未知)
8743 IC (用途未知)

传感器下方的PCB具有保留区域的事实是否可以支持磁力计假设?

如果这将是一个磁力计,则在设备背面连接强磁铁不是一个好主意。

8743 背面
8743 背面

该公司确认这是加速度计/磁力计传感器,目前尚未使用。根据读者的说法,该传感器是意法半导体的LIS3DH。

谁干的?

logo
logo

Google名称/图片搜索显示了该设备背后的公司。 网站上的示例显示这些设备用于办公室空间监控:

办公空间监控
办公空间监控

该网站上的营销材料似乎表明可以使用设备监控单个座位。

如果使用电子设备监视工作场所,则许多国家/地区的法律非常严格。 设备可以做什么和不能做什么的信息(或缺乏信息)很可能会引起很多员工的关注。

他们展示了用例以及自助餐厅或图书馆中的免费监控席位。

数据隐私和法律问题

物联网设备的数据隐私和安全性应该是一个大问题,甚至对于共享的工作场所或房间也是如此。 虽然自助餐厅或会议室似乎没有问题,但法律(至少在瑞士)对此非常明确(德语,法语和意大利语的条款):

条款
条款

简而言之:不允许对工作场所进行任何电子监视。 有一本特别的小册子(德语),提供了更多详细信息。 无论如何,它都必须尊重隐私,并且必须与目标成正比。 例如,用摄像机监视银行客户区域以防止抢劫是适当的做法,但是监视银行柜台的员工是不合适的。 如果有特殊需要(安全,高价值资产),则必须以不违反法律的方式进行实施。

有关允许和禁止的内容,请咨询您所在国家/地区的法律。 提前公开通知并咨询所有受影响的员工。 告知收集哪些数据,是否以及与个人或团体的关系,如何处理数据,将数据存储在何处以及将存储数据多长时间。

有趣的是,该公司的视频使我们相信,他们的解决方案除了能够显示状态(PIR)和温度/湿度(板上有一个传感器)之外,还能够监视音频(噪声?)和环境光水平。 那么,该设备是否可以录制音频并传输到Internet? 我们必须找出……

市场宣传片截图
市场宣传片截图

营销材料可能无法反映现实。 实际的实现可能与最初计划的不同(以及营销抵押中可能包含的内容)。 经常检查您的营销担保和信息,如果它们可能引起隐私问题。 清除/更换不正确的材料。

至少对于我自己,我非常担心该设备是否可以录制图像或语音并已连接到Internet。 在未经该人同意的情况下,一旦可以使用数据来追踪该人,就我所知,这在许多国家都是非法的。

示范网站

示范网站
示范网站

检查“演示” URL; 你认识到一些特别的东西吗?

其中有一个“客户”的“客户”。 在公司网站上,列出了客户名称。 通过一些社会工程学,可以简单地更改URL来获取系统的登录令牌:我必须知道电子邮件地址(谁最有可能在该公司使用该系统?),然后能够进行拦截 该电子邮件(可能并不容易,但对于真正的黑客来说当然可以)。

登录

据该公司称,该门户应该为客户的每个员工所使用。 这实际上是一件好事:收集哪些数据透明。 但这不是实际情况,因此可能配置错误。

测试表明,可以在知道电子邮件地址的情况下请求这样的登录令牌(例如,设施团队成员,并非每个电子邮件地址都有效)。

根据数据,提供这样的登录站点可能不是一个好主意。 根据后端的实现,可能会发生几种类型的攻击(拒绝服务或窃取数据本身)。

设备连接到LoRaWAN

在明确设备正在使用LoRaWAN网络之后,下一步就是检查网关是否可以接收流量。 确实是这样:

设备通过app eui和dev eui连接到LoRaWAN
设备通过app eui和dev eui连接到LoRaWAN

使用的dev eui(设备EUI)与ID匹配,该ID在电池盒内外的不干胶标签上可见。 在连接阶段,可以看到应用程序eui(应用程序EUI)。 应用程序密码(应用程序密钥)缺少什么? 我们稍后会发现。

Everone可以设置LoRaWAN网关并拦截流量(请参阅“为物联网提供IoT LoRaWAN Raspberry Pi RAK831网关”)。了解设备eui可以在设备注册到网络时侦听时捕获网络流量。 ,攻击者无法解密有效负载,但可以看到设备的活动,最好不要使攻击者可以访问设备EUI。

串口

微控制器和LoRa收发器之间的UART Tx和Rx线很容易访问:

Rx和Tx线
Rx和Tx线

连接设置为57600波特,1个停止位且无奇偶校验。 设置Saleae逻辑:

Analyzer settings
Analyzer settings

这是SysReset:

sysreset
sysreset

有趣的部分是deveui,appeui,最后是appkey的传输位置:全部以明文形式:

deveui appeui and appkey
deveui appeui and appkey

完整的初始化序列如下所示:

sys reset
mac pause
mac set ch dcycle 0 900
mac set ch drrange 0 4 4
mac set ch status 0 on
mac set ch dcycle 1 900
mac set ch drrange 1 4 4
mac set ch status 1 on
mac set ch dcycle 2 900
mac set ch drrange 2 4 4
mac set ch status 2 on
mac set ch freq 3 867100000
mac set ch dcycle 3 900
mac set ch drrange 3 4 4
mac set ch status 3 on
mac set ch freq 4 867300000
mac set ch dcycle 4 900
mac set ch drrange 4 4 4
mac set ch status 4 on
mac set ch freq 5 867500000
mac set ch dcycle 5 900
mac set ch drrange 5 4 4
mac set ch status 5 on
mac set ch freq 6 867700000
mac set ch dcycle 6 900
mac set ch drrange 6 4 4
mac set ch status 6 on
mac set ch freq 7 867900000
mac set ch dcycle 7 900
mac set ch drrange 7 4 4
mac set ch status 7 on
radio set sf sf8
radio set cr 4/7
mac set retx 5
mac set deveui 0000XXXXXXXX566C
mac set appeui 70B3XXXXXXXX063C
mac set appkey 71803107XXXXXXXXXXXXXXXX7ed71a9f
mac save
mac resume
sys reset
mac pause
mac set ch dcycle 0 900
mac set ch drrange 0 4 4
mac set ch status 0 on
mac set ch dcycle 1 900
mac set ch drrange 1 4 4
mac set ch status 1 on
mac set ch dcycle 2 900
mac set ch drrange 2 4 4
mac set ch status 2 on
mac set ch freq 3 867100000
mac set ch dcycle 3 900
mac set ch drrange 3 4 4
mac set ch status 3 on
mac set ch freq 4 867300000
mac set ch dcycle 4 900
mac set ch drrange 4 4 4
mac set ch status 4 on
mac set ch freq 5 867500000
mac set ch dcycle 5 900
mac set ch drrange 5 4 4
mac set ch status 5 on
mac set ch freq 6 867700000
mac set ch dcycle 6 900
mac set ch drrange 6 4 4
mac set ch status 6 on
mac set ch freq 7 867900000
mac set ch dcycle 7 900
mac set ch drrange 7 4 4
mac set ch status 7 on
radio set sf sf8
radio set cr 4/7
mac set retx 5
mac resume
mac join otaa

令人担忧的是,允许的LoRaWAN和TheThingsNetwork允许的占空比被过度使用。 数据表明(与其他LoRaWAN设备不同),这是干净的,并且是使用共享网络带宽的一个很好的例子。

下面是到收发器的数据传输的快照,它将构建一个LoRaWAN数据包:

数据传输
数据传输

使用Microchip这样的外部收发器是有问题的,因为所有访问信息(应用程序eui,设备eui和应用程序密码)都以明文形式传输。 物理访问设备和UART线提供了简单的攻击手段。 最好使用其他具有加密功能的收发器,或者机械地保护UART线路。

I2C通讯

与温度/湿度传感器的I2C通信很容易通过逻辑分析仪捕获。

使用Saleae Logic进行探测
使用Saleae Logic进行探测

逻辑分析仪数据显示它可以初始化HTU20传感器,但不能初始化加速度计/磁力计。 读取该传感器数据后,它将有效载荷发送到LoRaWAN。

拦截和解密消息

了解了设备EUI,应用程序EUI和(不是那么秘密的)应用程序密钥后,就很容易设置可获取所有流量的ThingNetwork设备:

欺骗性的物联网设备
欺骗性的物联网设备

激活框数据下方:

设备激活框架
设备激活框架

下一步是在TheThingsNetwork中创建一个新的伪造应用程序:

增加应用
增加应用

在新应用程序中,使用我们从设备中检索到的App EUI。 为此,我们删除自动生成的一个,然后从设备中添加一个:

更改应用程序EUI
更改应用程序EUI

然后,使用检索到的设备EUI和应用程序密钥注册新设备:

注册新设备
注册新设备

我可以针对多个设备执行此操作。 瞧,我得到了有效载荷数据,现在已经在应用程序端对其进行了加密:

设备数据
设备数据

如上所示,设备在连接到网络后立即发送14字节有效负载,然后发送21字节有效负载。 其他有效负载数据包的长度(大部分)为5个字节。 为了节省电池时间,传感器在检测到PIR移动时会发送数据。

LoRaWAN网关

当查看解码的LoRaWAN有效负载时,它表明它是由多个网关拾取的。 知道雇主有自己的LoRaWAN网关,想知道为什么这么多网关都选择了它吗?

事实证明,由于安装了传感器节点,因此安装了多个额外的网关,即使不是必需的,因为该站点已经具有可用的多通道网关。 额外的网关安装在不同建筑物的不同楼层上:

安装了额外的LoRaWan网关
安装了额外的LoRaWan网关

如果要安装和部署IoT设备,请仔细检查/测量已安装的基础架构,以避免访问点重复。 设施管理可能不知道所有可用的基础设施。 对于TheThingsNetwork,请查阅公共网络访问点地图。

Debug

在底部,有一个DFU(设备固件更新)连接器,用于更新Microchip RN2483A模块的固件:

DFU连接器
DFU连接器

更有趣的是温度/湿度传感器附近的另一个连接器,它连接到STM32:

底部带有MCU调试连接器
底部带有MCU调试连接器

这些针脚没有连接到tinyK22上的“标准” Tag-Connect连接器上,因此我们必须修补这些针脚:

JTAG排针
JTAG排针

有了这些知识,就可以建立调试连接!

请勿使调试针脚明显,也不要使用标准连接器。 完全禁用最终固件中的调试访问。 仍然可以通过秘密且安全的固件上传进行固件升级。

读取固件

下一步:使用SEGGER J-Link读取完整的设备并将其存储在文件中。 为此,使用了SEGGER J-Link Flasher,但是任何其他J-Link也会这样做。

J-Link读取固件
J-Link读取固件

显然,该设备不受保护,因此很容易获得所有固件,因此似乎未启用闪存保护。

如果此类设备未启用“读取保护”(请参阅“防止逆向工程:启用闪存安全性”),则攻击者可以读取固件。 不仅如此:它还可以克隆/复制固件并克隆设备,例如将其作为盗版产品出售。 所使用的STM32器件提供三种不同的读取保护(RDP(读取保护),PcROP(专有代码读取保护)和针对不必要的写入/擦除操作的保护)。 检查您的设备是否具有类似的保护功能:每个严肃的产品都应使用它。

读取STM32L031F6的闪存
读取STM32L031F6的闪存

上电后必须立即进行连接和读出,因为应用程序似乎在连接到网络后重新复用了JTAG / SWD引脚。

Connecting ...
 - Connecting via USB to J-Link device 0
 - J-Link firmware: J-Link ARM / Flasher ARM V4 compiled Apr 18 2019 16:17:53
 - Device "STM32L031F6" selected.
 - Target interface speed: 4000 kHz (Fixed)
 - VTarget = 2.927V
 - Found SW-DP with ID 0x0BC11477
 - STM32 (connect): Can not attach to CPU. Trying connect under reset.
 - Found SW-DP with ID 0x0BC11477
 - Found SW-DP with ID 0x0BC11477
 - Scanning AP map to find all available APs
 - AP[1]: Stopped AP scan as end of AP map has been reached
 - AP[0]: AHB-AP (IDR: 0x04770031)
 - Iterating through AP map to find AHB-AP to use
 - AP[0]: Core found
 - AP[0]: AHB-AP ROM base: 0xF0000000
 - CPUID register: 0x410CC601. Implementer code: 0x41 (ARM)
 - Found Cortex-M0 r0p1, Little endian.
 - FPUnit: 4 code (BP) slots and 0 literal slots
 - CoreSight components:
 - ROMTbl[0] @ F0000000
 - ROMTbl[0][0]: E00FF000, CID: B105100D, PID: 000BB4C0 ROM Table
 - ROMTbl[1] @ E00FF000
 - ROMTbl[1][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
 - ROMTbl[1][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
 - ROMTbl[1][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
 - Executing init sequence ...
    - Initialized successfully
 - Target interface speed: 4000 kHz (Fixed)
 - J-Link found 1 JTAG device. Core ID: 0x0BC11477 (None)
 - Connected successfully
Reading entire flash chip ...
 - 258 sectors, 2 ranges, 0x8000000 - 0x8007FFF, 0x8080000 - 0x80803FF
 - Start of preparing flash programming
 - End of preparing flash programming
 - Blank checking 0x08000000 - 0x08007FFF
 - Blank checking 0x08080000 - 0x080803FF
 - Start of restoring
 - End of restoring
 - Target memory read successfully. (33792 bytes, 2 ranges) - Completed after 0.308 sec

检查图像后:设备EUI,应用程序EUI和应用程序密钥以纯文本形式存储在图像末尾:

EUI和二进制密钥
EUI和二进制密钥

该二进制文件可以存储为S19(S记录文件)或简单的bin文件。 S19文件已用于分析内存映射(地址映射中的数据/代码)。

SRecord实用程序已用于转换文件和映射地址范围,或将S19转换为二进制文件:

srec_cat readout.s19 -o s19tobin.bin -binary

向量表

二进制文件可以反汇编:

它提供了有关应用程序入口点和向量表的非常有用的信息:

向量表
向量表

使用GDB进行调试

调试可通过运行JlinkGDBServer.exe并连接到STM32L031F6目标CPU来进行:

J-Link GDB服务器设置
J-Link GDB服务器设置

这样,我可以连接到微控制器:

GDB服务器正在等待连接
GDB服务器正在等待连接

要对其进行调试,我可以使用连接到微控制器的ARM gdb。 我已成功使用以下版本:

C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3\bin\arm-none-eabi-gdb.exe

从gdb,连接到目标:

(gdb) target remote localhost:2331

通过该连接,我可以停止处理器,检查内存并注册:

(gdb) monitor regs
Haltet目标显示寄存器
Haltet目标显示寄存器

使用Eclipse进行调试

它与Eclipse的工作原理非常相似,甚至更加容易。 这些是我在Eclipse中的设置:

Eclipse Debug配置
Eclipse Debug配置
Eclipse启动配置
Eclipse启动配置

这使得检查向量表和调试启动代码非常方便:

调试启动代码
调试启动代码

对固件进行逆向工程

下一步是了解固件的工作方式。 使用GNU objcopy,可以将二进制文件转换为标准的ELF / Dwarf文件(请参阅将原始二进制文件转换为ELF / Dwarf文件以进行加载和调试),然后可以由其他工具对其进行处理以反汇编或 调试:

"arm-none-eabi-objcopy" -v --input-target=binary --output-target=elf32-littlearm s19tobin.bin output.elf

STMCube工具用于跟踪STM32引脚复用:

完成针
完成针

在调试期间,Eclipse外围设备查看器非常有用:

针脚混合
针脚混合

在main()中逐步进行引脚初始化显示了上图所示的引脚分配,例如 对于GPIOA和GPIOB引脚:

  • PA1:MODER = 1作为输出复用:红色RGB LED
  • PA5:MODER = 1多路复用为输出
  • PA6:MODER = 1作为输出复用:LED RGB绿
  • PA7:输出
  • PTB1:此引脚连接到BLUE RGB LED,但未复用(监控/是否在固件中使用?)

组装文件

具有.bin文件,以下命令行用于生成程序集文件:

arm-none-eabi-objdump.exe -D -bbinary -marm node.bin -Mforce-thumb > disassembly.s

与ST的标准示例进行比较,很容易理解启动代码和初始化代码:

拆卸代码与STM示例代码进行比较
拆卸代码与STM示例代码进行比较

向量表

向量表相同:STM32的默认向量表完成了图片:

向量表
向量表

了解向量和ISR地址后,我可以设置断点,例如 用于每个UART传输或PIR传感器正在产生中断时。

生成C代码

拥有反汇编代码很棒。 另一个有趣的攻击媒介是将汇编代码转换回C代码。

Avast发布了RetDec(https: //retdec .com/),它是基于LLVM的可重定位机器代码反编译器。

反编译器
反编译器
RetDec在线界面
RetDec在线界面

一种更强大的方法是在本地安装工具,并将其与以下命令结合使用以生成C源代码:

./decompile.sh FILE --mode raw --arch x86 --endian little --raw-entry-point ADDR --raw-section-vma ADDR
python c:\temp\retdec-v3.3-windows-64b\retdec\bin\retdec-decompiler.py node.bin --mode raw --arch thumb --endian little --raw-entry-point 0x8005ed0 --raw-section-vma 0x8000000

在控制台中运行RetDec下方:

RetDec输出
RetDec输出

源代码非常原始,充满了goto,但是使代码流的理解变得更加容易:

从Assembly创建源代码
从Assembly创建源代码

使用该源代码,可以轻松搜索可变地址。 例如,知道PORTB位于0x50000’0400,我可以轻松地找到代码在哪里使用它:

使用PORTB
使用PORTB

使用该C代码,可以了解固件的最重要方面,在发送/接收例程中设置断点,并逐步执行C /汇编代码。

总结

在员工的办公桌下放置一个传感器设备是一个有趣的话题:从员工的看法,法律考虑以及技术角度来看。

对这样的物联网设备进行破解和反向工程非常容易和简单。可能将复制/伪造设备输入TheThingsNetwork的事实有点令人震惊。

与初创公司交谈时,他们的意图很明显,他们很愿意提出建议,并希望与客户合作以使事情变得更好。同时,人们认为黑客会使用其他/更简便的方法来实现其目标,因此无论如何设备中都无需内置太多安全性。

尽管人们可能会认为这样的设备(“它只是一个PIR,一个温度和湿度传感器”)对黑客不感兴趣:请三思而后行!根据目标,也取决于兴趣,即使是简单的状态,湿度和温度数据也可能是有趣的:您想知道公司的首席执行官还是其他人在办公室?数据可以用来危害某人。

我经常听到“ Facebook,您的智能手机或Google收集更多数据”或“我的数据对任何人都不感兴趣。”我认为这不是重点:如果我们不保护数据,则迟早有人会滥用它。 。作为一家公司,如果您要创建这样的设备,请考虑一下报纸上的标题,如果这种“非有价值的数据”泄漏或遭到黑客入侵?

显然,这家初创公司有一个好主意(监视房间的使用情况),这对于设施管理员来说是个好工具。而且考虑到安全性和数据隐私性,如果这样做并正确部署,我认为这是个好主意(例如,知道食堂目前是否有空位,或者我应该将午餐推迟15分钟吗?)但是,如果此类设备监视办公桌,则可能会出现问题。我已经放心,公司/雇主只知道房间中有哪些传感器编号,但不知道哪个传感器编号分配给该房间中的哪个人。

这样仍然可以追踪到一个人的数据:如果在这样一个房间中有4个传感器用于4个人,并且没有传感器显示活动,则您知道这4个人中没有一个在房间内,因此您已将数据分配给了一个人。一个人(“他不在办公室”)。如果所有四个都在房间中,则情况相同。这可能是一个灰色区域,但是可以肯定的是,这可能是一些数据,可能会被滥用。

需要考虑的一点是:该雇主的想法是“知道使用了多少房间。”考虑到该传感器(只能检测运动但不能检测到状态的PIR),听起来我们在为此目的使用了错误的传感器?因此,在获得不适合的传感器的答案时使用错误的传感器肯定会为设施管理生成错误的数据。知道反正还是错误的收集数据的感觉是什么?

另一点是法律(每个国家/地区可能有所不同)。特别是在欧洲,立法者正在追赶过去的所有丑闻,这些丑闻大多来自我们都知道的大公司。但是,在所有物联网设备中,我们所有人周围都有更多(各种各样)的黑客攻击目标,而且谁知道将来会发生什么。

而且,尽管设施管理部门希望获得以下一些信息,但是可能也有黑客对此信息感兴趣吗?

工作区监视
工作区监视

提醒一下,这不是此类IoT设备要考虑的要点的完整列表:

  • 如果计划在工作场所中部署监视设备,请检查法律义务,并尽一切可能提前与员工协商,告知和讨论有关需求以及为什么这样做的必要性。
  • 尽管我们都产生数据,但必须尽一切努力保护个人信息。如果可以将数据链接到个人,则很可能会出现问题:首先确保已在设备级别而不是服务器级别对数据进行匿名处理。
  • 检查有关漏洞的任何基于云/ Web的基础架构。一定要使从客户名称到登录数据信息的猜测成为可能。社会工程需要付出努力,但是如果目标是值得的,那将是可以实现的。
  • 请勿在设备本身上放置设备登录数据信息(例如,没有带有全部或部分登录信息的标签)。
  • 空中的LoRaWAN协议是安全的和加密的。但是有了设备ID,App EUI和应用程序密码,就可以劫持设备。可能存在无法控制的漏洞。
  • 请勿使用以明文形式传输登录信息的通信协议。通过串行线路发送密码是一件坏事,因为通过对线路的物理访问,您可以读取它。
  • 为了使逆向工程更加困难,请确保设备名称/用途不可见。防止FLASH读出(我在“防止逆向工程:启用Flash安全性”中写道)
  • 您将永远无法防止逆向工程,尤其是当某人对硬件有物理访问权时。

所以你怎么看? 我们是否需要更多地保护“无用”数据? 您是否在工作区中看到过类似的设备? 你怎么看待这件事?

SO资源郑重声明:
1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3187589@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!

SO资源 » 不太安全的IoT设备的逆向工程