如何识别物联网节点中的易受攻击代码?

How to identify vulnerable code in an IoT node?

作为我正在进行的项目的一部分,我的任务是识别代码中容易被篡改的指令。

代码在 IoT 设备上为 运行。指令的标识可以来自源代码,也可以仅来自可执行文件(没有源代码)。

有人知道一些工具或技术吗?

简而言之,如何自动定位安全敏感代码?

编辑:我相信现在我已经更好地理解了我的任务。我不必使用工具来保护,而是设计自己的技术来保护易受攻击的代码语句(用 C 语言编写)。特别是反调试语句。 是否有任何启发式方法可以找出代码中易受攻击的语句。比如身份验证点和反调试检查?

软件在设备上运行的事实与软件 运行 在 Web 服务器或 local/cloud 计算机上运行没有什么不同。

您可能想要做的是查看您的设置中可能暴露漏洞的所有单独组件。

下图是我经常用来从最高级别描述连接产品的表示。

它包含:

  1. 设备(通常是 运行 C 或 C++ 代码)
  2. 与云的连接(例如 https 或消息服务)
  3. API去云(常一RESTfulAPI)
  4. 云端本身的软件

您可以逐一检查这些问题,找出可能存在的问题。根据经验,您始终可以尝试找到进行外部连接的位置。

遵循这四个步骤

  1. 在进行外部连接之前检查代码是否可以修改。如果您的代码已编译并建立了外部连接,请尝试找到您可以验证的替代方案。
  2. 检查证书、消息传递协议等。确保所有连接都遵循安全标准。
  3. 确保您的 API 遵循 proper RESTful 安全措施。
  4. 验证云中的软件,检查证书并使用 OATH

最后,检查https://www.checkmarx.com/

等服务