隐写术软件,特别是 OpenStego,是否可以从 USB 记忆棒轻松运行?
我已经设法从 USB 记忆棒运行 OpenStego,但我不确定有什么风险?
当我完成后,主机中是否有保存的数据或是否还留在主机上?
答案1
这样做的风险在于,程序可能会修改正在运行的系统上的注册表,或者可能会在系统上的某个地方留下文件。Putty 就是这种行为的一个示例,它通常会留下某种配置文件,其中包含与通过它建立的连接相关的设置。
从我(简要)查看一些源代码中可以看出,我看不出这会对外部系统造成任何影响。注意事项:
- 我不是 Java 程序员
- 简单查看与全面审核完全不同
如果不进行彻底的审计,很难说这段代码是否留下了什么。除此之外,你使用它的系统上发生的任何日志记录(键盘记录器就没那么好用了,不是吗?)也是另一个混乱的因素。
虽然有效的键盘记录器这种特殊情况很难被击败,但大多数其他泄漏可以通过使用遏制方法(例如 docker)来遏制。然而,docker 最大的问题是 docker 本身也需要安装在主机系统上。不幸的是,在 Windows 世界中,没有像 chroot 这样的通用工具可以强制应用程序仅使用文件系统上的特定区域(事实上,由于 Windows 的各个方面工作方式,即使是将 chroot 移植到 Windows 也有很多注意事项)。
你至少应该明智地检查一下打包便携式应用程序看看其他应用程序在 Windows 上是如何实现可移植的。虽然不是万无一失的,但它可以让您更好地了解如何以可移植的方式运行 OpenStego,这样注册表就不会受到影响,配置文件会保存在 USB 记忆棒上而不是主机系统上。通常,只拉一个应用程序(尤其是运行应用程序所需的整个文件夹)与实现可移植性不同,它可能会在很多地方留下文件(用于存储设置或日志等内容),也可能修改注册表。鉴于 OpenStego 是 Java,注册表似乎不太可能成为问题,但除了对源代码进行全面审核之外,没有真正好的办法可以 100% 肯定。当然,您可以尝试联系原始开发人员,但鉴于它是免费软件,他当然没有义务回应。
如果您真的担心是否有东西遗留在那里,那么最好将 Linux LiveUSB 棒(或者可能是安装了 BartPE 的 Windows 安装)与 OpenStego 放在一起,这样主机操作系统就不会进入方程式,而您唯一的潜在安全威胁就仅限于恶意硬件(例如硬件键盘记录器)。