![如何在指定时间之前隐藏自己的代码](https://linux22.com/image/838815/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%8C%87%E5%AE%9A%E6%97%B6%E9%97%B4%E4%B9%8B%E5%89%8D%E9%9A%90%E8%97%8F%E8%87%AA%E5%B7%B1%E7%9A%84%E4%BB%A3%E7%A0%81.png)
本质上,我需要某种方法来生成并存储一段随机字符串(比如说 20 个字符长),这样我就无法在该时间段结束之前恢复该字符串。我正在运行标准 Ubuntu 12.10。
导致这一过程困难的原因有:
- 我有root权限。
- 计算机可能会在此期间关闭并启动。
- 在期限结束之前我必须没有办法恢复该字符串。
- 在此期间我将无法访问互联网。
一些可能的攻击途径:
- 运行一个程序,生成字符串并将其存储在内存中,等待 n 秒,然后打印该字符串。这行不通,因为如果计算机重新启动,该进程将被终止,我可能会在程序的内存中查找字符串。
- 让程序将 root 密码更改为随机生成的字符串,从而取消我的 root 访问权限;让它将字符串存储在只有 root 具有读写权限的文件中,并让 root 反复运行一个程序来检查期限是否已结束,如果已结束,则将字符串给我(从而获得 root 访问权限)。这听起来可行,但取消 root 访问权限会很不方便,每次出现问题时我都必须重新安装 Ubuntu。
我需要这样做的原因是我对网络色情上瘾。大多数时候我都能控制它,但深夜我会有渴望。这更难,因为我用电脑工作,而且我在家工作。所以最近我开始删除 /sbin/dhclient,这会禁用互联网连接(直到我可以得到一个 liveCD 并复制文件回来,但这需要一段时间)。我想要做的是为 dhclient 生成一个密码(通过加密 dhclient,或者只是用该密码创建一个 zip 文件),然后第二天早上才把密码还给我。基本上,我试图找到一个承诺装置,有点像酒鬼把酒倒进水槽一样。
可能有一种我所忽略的非常简单的方法可以做到这一点 - 请告诉我您的任何想法。
任何帮助都将不胜感激!
答案1
物理措施可能更容易实施,但也足够麻烦,难以规避。
例如,建议如下:将路由器和调制解调器插入电源板,将所述电源板插入定时器装置,然后将整个装置锁在壁橱或橱柜中,这样只有电源线和网线可以出来(“网络”是指插入调制解调器的线,可以是电话线或同轴电缆)。让其他人(邻居、亲戚)保管钥匙,以防你需要修理东西。计时器将控制你何时可以访问互联网。同样,这是可以规避的,但很麻烦:除非你有多余的设备,或者你怒不可遏地砸碎壁橱或橱柜来获得访问权限,否则你应该被很好地保护起来,不需要弄乱电脑本身(这是一个好主意,因为你需要它来工作)。
要在计算机上完全实现这一点,首先我会做一些研究,找到需要禁用的最低级组件,以便删除所有互联网访问(可能是网卡驱动程序?ifconfig 和 ip 命令?)。然后,您可以使用随机生成的对称密钥对该组件进行 gpg 加密,并安排一封电子邮件,稍后使用密钥发送给您,这样您就可以重新启用它。您需要某种服务,一旦您安排了电子邮件,您就无法查看或更改它(因此日历提醒之类的东西可能是不可能的)。也许是那些您可以安排卡片发送的电子贺卡服务之一。