【问题标题】:How to retrieve a unique signature of the OS installed?如何检索已安装操作系统的唯一签名?
【发布时间】:2018-03-23 17:34:01
【问题描述】:

我想了解我的操作系统 + 安装的硬件的足迹。我有几个连接到 MQTT 代理的 RaspberryPi。每个系统的topic应该有一个唯一的header:

mypi/da39a3ee5e6b4b0d3255bfef95601890afd80709/kitchen/light

我如何获得 shasum 或我的硬件 + 操作系统的等价物。

这是一种天真的方法

$ ifconfig -a eth0 | egrep -o '([0-9a-f]{2}:){5}[0-9a-f]{2}' | shasum

但是使用 MAC 地址可能太天真了。

理想情况下,如果硬件物理上不同,我希望哈希值发生变化。在 Raspberry 的情况下,如果我更改了我的树莓派,哈希值就会改变。

虽然我不使用它,但值得将操作系统包含在 HASH 中。如果我更新我的内核,哈希应该是相同的。

【问题讨论】:

  • 如果你只想要一个机器 ID,那就是 /etc/machine-id。另外,请参阅/proc/cpuinfo中的 CPU 序列号
  • 这正是我想要的:)

标签: linux sha


【解决方案1】:

我如何获得 shasum 或我的硬件 + 操作系统的等价物。

你没有定义这意味着什么:

如果您在系统中添加一些 RAM、一些 SD 卡或一些 USB 设备,该哈希值是否应该改变?

如果您将硬件替换为相同的硬件(例如,一个 RaspberryPi 烧毁,而您将其替换为另一个具有 相同 SD 卡的硬件),该哈希是否会更改?还是通过类似的硬件伪装成原始硬件?

如果您(或某些对手)对您的操作系统内核进行小幅升级,或者如果您在系统中添加一些额外的软件包或程序,该哈希是否应该更改?

如果您进行一些小配置(例如,更改 /etc/ 下的一些配置文件,假设是一些类似 Linux 的系统),该哈希是否应该更改?

请注意,在许多系统上,您可以通过一些软件技巧来更改 MAC 地址(我不知道这是否适用于您的 RaspberryPi)。

所以我认为您的问题没有万无一失的解决方案

(换句话说,只要有足够的努力和技能,你总是可以伪造一些现有的系统;你可能希望这足够困难以至于不值得付出努力,但这会产生不同的问题;你的典型对手是否强大作为美国国家安全局,还是你只关心一个青少年黑客?)。

顺便说一句,/proc/cpuinfo(请参阅proc(5))可能会随着内核升级而改变,并且即使在硬件更改后也可以通过某些内核补丁非常简单地伪造(保持不变)。

了解trusted computing base

【讨论】:

  • 这不回答问题,但要求澄清 - 应该是评论。
  • 缺乏解决方案就是答案
  • @BasileStarynkevitch /etc/machine-id 怎么样
  • 再一次,这取决于谁是你所谓的对手。你可能无法(单独)对抗 NSA。
  • @nowox 这已经有点特定于发行版了。例如,我的机器上没有这样的东西。也就是说,现在手头没有 RPi,看看我得到了什么,但 dmidecode 对最初的问题有帮助吗?
猜你喜欢
  • 1970-01-01
  • 2011-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-21
  • 1970-01-01
  • 2016-12-21
  • 1970-01-01
相关资源
最近更新 更多