如何防止我的客户侵入我提供给他的演示计算机?

Raa*_*mEE 6 encryption hard-drive copy-protection

我需要为我工作的公司的客户提供一台带有演示软件的笔记本电脑,可以在上面运行。

该软件仅用于显示,不需要通过键盘或鼠标进行任何用户交互。

我需要计算机禁用所有设备输入和要加密的硬盘驱动器,因此只有这台计算机才能运行。我想阻止客户在计算机工作时访问它,并阻止移除硬盘驱动器并在另一台计算机上使用它的选项。

有谁知道可以做到这一点的任何硬件计算机\硬盘驱动器组合?

谢谢。

Cod*_*ray 8

这根本不可能。对硬件的物理访问实际上消除了所有安全承诺。

当然,您可以使某人更难以获得未经授权的访问。但除了最琐碎和廉价的措施之外,这样做完全是浪费时间和金钱。如果有人真的想进去,他们会想办法这样做,你将无法阻止他们。

更不用说他们可以在不损害您提供的演示计算机的情况下对您的软件进行逆向工程。我不确定这是否属于您对“黑客”的定义,但它可能应该。

这不是技术问题,而是法律问题。您需要通过许可和其他合同协议来保护您的软件和知识产权。如有必要,让客户签署保密协议。最好的办法是咨询律师,而不是技术专家。

如果您害怕律师,请聘请保安公司。使用硬件解决方案锁定计算机,例如锁定机柜和武装警卫。如果这听起来很荒谬,请参阅上面的段落。


sar*_*old 7

在启动时检查笔记本电脑的 BIOS,四处寻找诸如硬盘加密或“ATA 硬盘锁定”之类的选项(不是加密,但我认为大多数驱动器都没有任何机制可以让您绕过密码)。

您可以将环氧树脂注入火线端口,以防止它们连接 PCI 内存读取器调试工具。

更新

它是 Linux 的事实为您提供了更多的灵活性。:)你可以删除usbhid.kohid.ko并从系统类似的内核模块。查看lsmod(8)输出并删除任何看起来对触控板、键盘或乳头鼠标有用的东西。删除火线模块。甚至可能是串行和并行模块。(如果您不使用它们,摆脱它们也无妨。)

您还需要锁定grub,以便您的客户端不能只编辑内核引导行并添加init=bashinit=getty /dev/ttyS01或其他类似令人讨厌的东西。

您可能还想使用AppArmorSElinuxTOMOYOSMACK 等工具。这些强制访问控制工具中的任何一个都可以防止应用程序逃避一组明确定义的权限。由于我已经在 AppArmor 系统上工作了十年,它是我最了解的,也是我推荐的 :) 但是这些工具中的任何一个都可以帮助锁定您的客户端可以与计算机交互的每一种机制。

(讲一个小故事,我们将 AppArmor 限制系统带到 DEFCON Capture The Flag 比赛中好几年;需要一年时间允许用户以 root 用户身份使用特定密码远程登录。AppArmor 使限制telnetd守护进程变得容易,它启动的外壳,然后是“记分机器人”需要运行的程序。我们从未在 CTF 比赛中获胜,但我们也从未扎根。我们从不需要担心物理攻击,因为每个防守的人都是我们认识的.)

祝你好运。