web-dev-qa-db-ja.com

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

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

これを困難にするもの:

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

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

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

  • 文字列を生成してメモリに保存し、n秒間待機してから、文字列を出力するプログラムを実行します。コンピュータが再起動するとプロセスが強制終了されるため、これは機能しません。プログラムのメモリを調べて文字列を見つける可能性があります。
  • プログラムにrootパスワードをランダムに生成された文字列に変更させ、rootアクセスを削除します。 rootだけがr/wアクセスできるファイルに文字列を格納し、rootに期間が終了したかどうかをチェックするプログラムを繰り返し実行させ、終了した場合は文字列(したがってrootアクセス)を取得します。これはうまくいくように聞こえますが、BIOSで時間を変更することで回避できます。
  • 私がちょうど持っていたアイデア:rootアクセスを削除し、rootが読み取る必要のあるファイルにパスワードを保存するプログラムを1つ作成します。次に、rootがcronを使用して、「delayed_root_request」というファイルの存在をチェックするプログラムを毎分実行します。実行するたびに、delayed_root_requestが存在する場合、rootのみが読み取り/書き込みできる「root_timer」ファイルに格納されている数をインクリメントします。 (それが存在しない場合は、作成して「0」を含めます。)root_timerの数値が60 * 8 = 480のようになると、rootパスワードを格納するファイルへの読み取りアクセス権が与えられます。アクセス。したがって、ルートアクセスを削除し、ランダムに生成されたパスワードをルートアクセス専用ファイルに保存し、dhclientを中断するスクリプトを実行できます。インターネットアクセスを再開したい場合は、ファイル「delayed_root_request」を作成し、パスワードを8時間待つ必要があります。その8時間の間に、rootアクセスで先延ばしになると判断した場合は、ファイルを削除するだけで、カウントを最初からやり直す必要があります。コンピュータが再起動すると、カウントは一時停止します。 GRUBパスワードを指定する必要があります(例 http://sourceforge.net/projects/grubpass/ )。まだ光メディアを使用できますが、またはハードドライブを取り出すだけですが、持っているUbuntu isoファイルのコピーをすべて削除することで不便になり、すべてのliveCDを配布できます(インターネットアクセスがないとこれ以上作成できません)。

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

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

5
Stephen

技術的な面では、 http://www.timecave.com/timecave/about.jsp のようなサービスが機能するでしょうか?

3
Kent

探していたハイテクソリューションは次のとおりです:-)

  1. ランダムな文字列を生成します。
  2. ルートパスワードをランダムな文字列に設定します。
  3. 文字列のハッシュを計算します。 (OSの「パスワード暗号化」を使用すれば十分かもしれませんが、スタンドアロンのハッシュツールを使用すると、次の手順が簡単になる場合があります。例:md5sum)。ハッシュをディスクに保存します。
  4. 文字列(つまり、ルートパスワード)を「忘れる」。
  5. 考えられるすべての文字列を調べて(手順1を参照)、パスワードをハッシュし、保存されているハッシュと一致するかどうかを確認して、パスワードを解読します。再起動可能にするために、定期的にリストのどこまで進んでいるかを確認してください。

当然、これを調整して、手順1のランダムな手順で、スキャンに指定した時間(8時間など)かかるパスワードスペースから選択するようにする必要があります。

これまでに発生した最大の弱点は、ステップ1でスペースの先頭近くの文字列(「aaaaaq」など)をランダムに選択した場合、ステップ5が非常に早く完了する可能性があることです。これに対する1つの修正は、手順5で結果をrootのみが読み取り可能なファイルに保持し、パスワードを解読した後でもパスワードスペース全体をスキャンすることです。より複雑なアプローチは次のとおりです。

  1. nランダムな文字列を生成しますstr1str2、…、strn
  2. ルートパスワードを連結に設定します:str1str2…strn
  3. each文字列のハッシュを計算します。ハッシュをディスクに保存します。
  4. 文字列を「忘れる」。
  5. 各文字列を順番にハッシュ検索して、パスワードを解読します。

これを調整すると、各文字列に8時間/かかります。n 休憩するには、まだ最大8時間の時間があります。また、はるかに短い時間でパスワードを解読する可能性もありますが、確率分布が正規分布になっているため、短時間でパスワードが解読される可能性は低くなります。 (残念ながら、長時間かかることもあります。2時間から6時間かかる可能性があります。ロックアウトされるまでの最大時間を計算し、それを方程式に代入する必要があります。)


明らかに、別のパーティション、外付けドライブ、または光ディスクなどの別のディスクからコンピューターを起動することで、これを無効にすることができます。ルーターはありますか?上記を適応させて、ルーターにアクセスをブロックするように指示してから、ルーターのパスワードを変更できますか?

2
Scott

さて、パーティーに少し遅れました!しかし、私はこの自己ポルノフィルタリングを達成するためのシステムをセットアップしました。モバイルとデスクトップの両方でブロックするために「qustodio」を使用します(最大5台のPC /デバイス!)。これは、特にモバイルでの影響を最小限に抑えて、使いやすく、セットアップし、実行しやすい包括的なフィルタリングソフトウェアです。しかし、あなたは好きなソフトウェアを使うことができます。 Funamoはモバイル用のIMOの方が優れていますが、デスクトップフィルタリングを提供していないため、デスクトップ用のQustodioとモバイル用のfunamoの両方のソフトウェアを同時に使用する傾向があります。

リカバリメールを必要としないため、GMX([email protected])からのメールでこれらを設定したので、体が弱い場合は完全にハッキングできません。覚えていないランダムなパスワードを使用します(GMXにはこの制限があるため、16文字以下である必要があります)。このパスワードは、GMXメールアカウントと私のフィルタリングソフトウェアに使用されます。

私が抱えていた問題は、他の人を巻き込むことなく、このパスワードを自分自身から隠すことでした(私はそれをUSBに保存していました)。したがって、「ケント」によって提案された方法を使用している場合、 http://www.timecave.com/timecave/about.jsp を使用すると、パスワードと電子メールアドレスを週に1回送信できます。スケジュール。そうすれば、私が管理している特定の時間に必要に応じてソフトウェアを変更またはリセットでき、残りの週は私の管理外になり、ポルノは無料になります!

サブスクリプションで$ 60 AUD(約$ 40 USD)に戻る可能性がありますが、それだけの価値はあります。

それは完璧ではありませんが(しかしほとんど絶対確実です)、私のポルノ中毒を抑制し、私が私の人生を取り戻したと感じるのに十分なインセンティブです。クリスチャンとして、私はこれを自分の自制心を助けるための別のツールとして使用しますが、私の主な動機は、私の中毒がイエスや周りの人々との関係に与える影響です。私は説明責任のパートナーを持つことがより有益であることに同意しますが。私のように社会的スキルや人間関係がほとんどない人は(笑)、他の人に頼ることなく自分の時間で中毒を治めることができるので(彼らは迷惑です)、それは非常に貴重ですが、彼らはより効果的な方法です私は推測。

2
Lewis Penrice

これは興味深い概念上の問題ですが、特定の問題については、必要なものの上流で解決しようとしていると思います(テクノロジーの観点からは、実際の問題に関しては、さらに上流で対処する必要があります。 ..)。 特定のサイトへのアクセスをブロックするために使用できるアプリケーション FirefoxのLeechBlock、Chrome、WindowsのCold Turkey)のStayFocusdなどがあります。確かに、それらは100%安全ではありませんが、あなただけに依存する他の方法もありません。これらのプログラムには、生産的な作業にインターネットを使用できるという利点があります(ホワイトリストを作成できます)。

0
Paulo Almeida

あなたが書いたことから、あなたがすぐに影響を与えることができるどんなメカニズムも問題になる可能性が高いようです。あなたのためにポルノをブロックするプロバイダーに変更するのはどうですか?おそらくこれは、シフトアウェイ/ブロック解除するために彼らに電話する必要があることを意味します(彼らが良い仕事をし、回避策をブロックできる場合)、それはかなりの時間遅延を作成し、うまくいけばあなたの衝動を打ち負かします。

0
davidgo