reverse-engineering - ESP8266 的安全性如何?
问题描述
我有一个 ESP-01。它是我发现的最基本的 ESP8266 板。我的打开,向服务器发送帖子,关闭。我用服务器的证书对其进行了 TLS 处理。但有些事情让我很烦。
窃取芯片、反编译闪存、获取 wifi 密码、克隆新的 ESP 做坏事有多容易?我该如何防止这种情况?
我遇到了这个网站http://developers-club.com/posts/255153/,它讨论了反编译闪存并将程序集转换回 C 代码。它超出了我的想象,它链接到其他一些俄罗斯网站以获取更多详细信息。但是吓到我在这里发布问题。
解决方案
ESP8266 没有板载闪存 - 所有用户代码都存储在 SPI 闪存中(这是 ESP8266 旁边的大 SO-8 芯片)。要检索用户代码,只需将闪存拆焊,放入插座,任何现成的闪存编程器(如 FlashCAT)都可以用来转储内容。
如果您只关心能够获取 SSID 和密码,那就容易多了。wifi_station_set_config
将 SSID 和密码保存到闪存。请参阅内存布局。
如果您真的对安全性感到偏执,请使用安全元素。它们非常便宜,而且难以渗透几个数量级。
ATECC508A是一个非常容易获取且相当容易使用的安全元件(密钥存储通常是 OTP)。如果您想要更多的存储空间和灵活性,您可以选择Trusted Objects TO-136。AFAIK,您只能通过 Avnet 采购它们。
推荐阅读
- java - 从选择的数据中创建一个唯一的字符串(可反向工程)
- c - 通过使用 while 循环,C 程序未在整数计数 150 处退出的问题
- apache-spark - 如何在 pyspark groupby 上将 UDF 与 pandas 一起使用?
- python-3.x - BigQuery: RefreshError: ('invalid_grant: Invalid JWT Signature.', {'error': 'invalid_grant', 'error_description': 'Invalid JWT Signature.'})
- deep-learning - 是否可以在 ML Kit 的帮助下将我的自定义深度学习模型部署到 android/ios?如果是怎么办?
- firebase - Firebase 函数在我可以在 Express 中处理之前解析请求正文
- laravel - Laravel Homestead - 页面停止工作 ERR_ADDRESS_UNREACHABLE
- postgresql - 使用“include”和“where”过滤关系
- oracle - PLSQL 中的动态游标 - Oracle
- python - Ctypes 扩展 Python 并返回数组 (2D)