web-dev-qa-db-ja.com

指定された時間まで自分からコードを隠す方法

基本的に、必要なのは、ランダムな文字列(たとえば、20文字の長さ)を一定期間生成して保存する方法です。そのため、その期間が終了するまで文字列を復元する方法はありません。標準のUbuntu12.10を実行しています。

これを困難にするもの:

  • ルートアクセス権があります。
  • 期間中、コンピュータがシャットダウンして起動する場合があります。
  • 期間が終了する前に文字列を回復する方法は必要ありません。
  • 期間中はインターネットにアクセスできません。

いくつかの可能な攻撃手段:

  • 文字列を生成してメモリに保存し、n秒間待機してから、文字列を出力するプログラムを実行します。コンピュータが再起動するとプロセスが強制終了されるため、これは機能しません。プログラムのメモリを調べて文字列を見つける可能性があります。
  • プログラムにrootパスワードをランダムに生成された文字列に変更させ、rootアクセスを削除します。 rootのみがr/wアクセスできるファイルに文字列を格納し、期間が終了したかどうかをチェックするプログラムをrootに繰り返し実行させ、終了した場合は文字列(したがってrootアクセス)を取得します。これはうまくいくように聞こえますが、rootアクセスを削除すると不便になり、問題が発生するたびにUbuntuを再インストールする必要があります。

私がこれをする必要がある理由は私がインターネットポルノに中毒を持っているからです。ほとんどの場合、私はそれを制御することができますが、私は夜遅くに渇望します。私は仕事にコンピューターを使用し、自宅で仕事をしているので、これはさらに困難です。そのため、最近/ sbin/dhclientの削除を開始しました。これにより、インターネット接続が無効になります(liveCDを取得してファイルをコピーして戻すことができるまでですが、時間がかかります)。代わりに私がしたいのは、dhclientのパスワードを生成し(dhclientを暗号化するか、そのパスワードでzipfileを作成することによって)、翌朝だけパスワードを返してもらうことです。基本的に私は コミットメントデバイス を見つけようとしています。これは、アルコールが彼の酒を流しに注ぐようなものです。

私が見逃しているこれを行うための本当に簡単な方法があるかもしれません-あなたが持っているアイデアを教えてください。

これに関するどんな助けも本当にありがたいです!

3
Stephen

物理的な対策は、実装が簡単で、回避するのに十分面倒な場合があります。

たとえば、次のような提案があります。ルーターとモデムを電源タップに接続し、電源タップを タイマーデバイス に接続してから、セットアップ全体をクローゼットまたは食器棚にロックします。電源ケーブルとネットワークケーブルのみが出てきます(「ネットワーク」とは、電話回線であれ同軸ケーブルであれ、モデムに接続するものを意味します)。何かを修正する必要がある場合に備えて、他の誰か(隣人、親戚)に鍵を保管してもらいます。タイマーは、インターネットにアクセスできるタイミングを制御します。繰り返しになりますが、これは回避することは可能ですが、面倒です。余分な機器がない限り、またはクローゼットや食器棚を叩いてアクセスするほどの怒りに陥らない限り、十分に覆われている必要があり、コンピューター自体をいじる必要はありません(動作するために必要なので、これは良い考えです)。

これを完全にコンピューターに実装するには、まず、すべてのインターネットアクセスを削除するために無効にする必要がある最も低レベルのコンポーネント(おそらくネットワークカードドライバー?ifconfigおよびipコマンド?)を見つけるためにいくつかの調査を行います。次に、ランダムに生成された対称鍵を使用してそのコンポーネントをgpg暗号化し、後でその鍵を使用して電子メールを送信するようにスケジュールして、再度有効にすることができます。電子メールをスケジュールすると、それを見たり変更したりする方法がない、ある種のサービスが必要です(したがって、カレンダーのリマインダーのようなものは問題外かもしれません)。おそらく、カードの送信をスケジュールできる電子カードサービスの1つです。

1
roadmr