特定のパスワードが入力された状態でシステムの自己破壊をトリガーする方法


46

特定のパスワードが入力されたときにすべての個人データを破棄するようにシステムを構成するにはどうすればよいですか?これがNSAのものであることの背後にある動機。

3つの主な使用例があると思います。

  1. ログイン時に、所定のパスワードを入力すると、ユーザーデータが破壊されます。
  2. システムが起動したとき。所定のパスワードを入力すると、個人データが破壊されます。
  3. 事前に設定されたパスワードを使用して特権コマンドを入力すると、個人データが破壊されます。

私は何かのようなことを知っています

dd if=/dev/urandom of=/dev/$HOME

データ破壊に十分なはずです。ただし、特定のパスワードによってトリガーされる方法はわかりません。

データの削除中にロ​​グインを許可すると、ボーナスポイントになります。


9
この作業を本当に行いたい場合は、ハードドライブを暗号化する必要があります。これは、暗号化なしではハードドライブ全体を上書きする必要があるが、暗号化ではLUKSヘッダー(またはその他)を上書きするだけでよいためです。
虐待14年

1
pam_pythonモジュールがあります。これにより、おそらく必要なものの実装が容易になります。ace
再生

7
もしそれがあなたが心配しているNSAであるなら、それdd if=/dev/urandom of=/dev/$HOMEはあまり良いことをするつもりはありません。ディスクを削除して直接読み取るのではなく、オペレーティングシステムを使用するのに十分なバカだと仮定しても、上書きされて物理的に書き込まれたディスクからデータを取得できるフォレンジックリカバリ企業があります。
停止ハーミングモニカ14年

2
#1。NSAが本当にあなたの後だったら、彼らは数週間前にあなたのデータをすでに静かに盗み出しました。#2。データを暗号化することにより、NSAはデータを永久に保持する法的権利またはデータの暗号化を解除するのにかかる時間のいずれか早い方を取得します。#3。証拠の破壊の証拠は、裁判所が何かを得るのに十分であることがよくあります。ドライブをゼロまたはランダムに意味不明なもので埋める「安全な消去」プログラムは、あなたが何かを破壊した証拠であり、法廷で提起されます。
ライアンリース14年

3
:それはあなたの3例すべてをカバーするが、ここで見ていませんkali.org/how-to/emergency-self-destruction-luks-kali
偽物

回答:


26

アイデア#1-非表示のOS

別の方法として、TrueCryptの「隠されたオペレーティングシステム」を利用できます。これにより、プライマリOSではなく特定のパスワードが使用されている場合に、偽の代替OSにアクセスできます。

抜粋

システムパーティションまたはシステムドライブがTrueCryptを使用して暗号化されている場合、コンピューターの電源を入れたり再起動した後、TrueCryptブートローダー画面にプリブート認証パスワードを入力する必要があります。誰かにオペレーティングシステムの復号化や、起動前認証パスワードの公開を強制される場合があります。あなたがそうすることを拒否できない多くの状況があります(例えば、恐exのため)。TrueCryptを使用すると、存在を証明することが不可能な隠しオペレーティングシステムを作成できます(特定のガイドラインに従っている場合-以下を参照)。したがって、非表示のオペレーティングシステムのパスワードを復号化または公開する必要はありません。

Bruce Schneierがこれら(Deniable File Systems)を使用することの有効性について説明しているため、飛び込む前にさらに調査することをお勧めします。

Deniable Encryptionの全体的な考え方は、ワームの一種であるため、特定の状況で使用する際の注意は、事前に十分に検討する必要があります。

アイデア#2-/ etc / passwdにスクリプトを追加する

/etc/passwdファイル内のユーザーのエントリに代替スクリプトを挿入できます。

# /etc/passwd
tla:TcHypr3FOlhAg:237:20:Ted L. Abel:/u/tla:/usr/local/etc/sdshell

ユーザーのアカウントをセットアップして、/usr/local/etc/sdshell提供されたパスワードを確認するスクリプトなどを実行することができます。ワイプをトリガーするのが魔法のパスワードである場合、このプロセスを開始し(バックグラウンドでも)、シェルにドロップするか、別の操作を行うことができます。

指定されたパスワードがこの魔法のパスワードではない場合、通常のシェルの実行を続けます(/bin/bash例:)。

出典:19.6.1ワンタイムパスワードとUnixの統合


2
アイデア#2は機能しません。シェルは、正しいパスワードが入力されると(/ etc / shadowで構成されたとおりに)呼び出されます。それが機能する場合でも、ログイン時に入力されたパスワードをスクリプトが確認する方法はありません。
フェイカー14年

@faker-この方法は、Unixのワンタイムパスワードに含まれているため、機能すると考えられます。システムの/ etc / shadowパスワードと直接統合できない場合がありますが、実行可能です。
slm

リンクしたページの@slm:This puts two passwords on the account: the traditional account password followed by the one-time password.もちろん、スクリプトで破棄パスワードをチェックできますが、正しいアカウントパスワードを入力した後に限ります。基本的に、3つのパスワードがあります。共通のアカウントパスワード、2番目のステップのパスワードを修正し、2番目のステップのパスワードを自己破壊します。ない非常に素晴らしく、かなり怪しい...
偽物

@faker:slmは正しい-私はステップごとにリンクをたどっていませんが、うまくいきます。まだ別のシェルまたはスクリプトにリンクしているだけです。間違っている理由はありません。
ジョシュ14年

@Joshは、3つのパスワードを覚えておく必要がある場合に機能します。それ以外の場合は機能しません。
フェイカー14年

16

これに対する私のアプローチはpamモジュールで自己破壊を引き起こすことです。スクリプトでパスワードをキャッチし、「特別な」パスワードであるかどうかを確認し、自己破壊プロセスを開始するメカニズムがあります。

/etc/pam.d/common-auth次のように最初の行にあなたの行を書きます:

auth    optional        pam_exec.so debug expose_authtok /etc/security/suicide.sh

(または、たとえば、/etc/pam.d/gdmを介して認証を使用したい場合gdmexpose_authtokは、pam_exec.soモジュールに、stdinを介して呼び出されるログインスクリプトにパスワードを配信させます/etc/security/suicide.sh。このスクリプトはルート権限で実行され、たとえば次のようになります。

#!/bin/bash
# read the users password from stdin (pam_exec.so gives the provided password 
# if invoked with expose_authtok)
read password

# if its an authentication and it's the user "user" and the special password
if [ "$PAM_TYPE" == "auth" ] && [ "$PAM_USER" == "user" ] && [ "$password" == "magic" ]; then
  # do whatever you want in the background and the authentication could continue
  # normally as though nothing had happened
  exit 0
else
  exit 0
fi

それは仕事とあなたがパスワードを変更しても、「通常」のユーザのを。


8

政府などからの誰かがあなたのコンピューターをつかむかどうかを知っているので、彼らが最初にすることは、ビットごとにドライブビットをコピーし、コピーから作業することです。誰かがコンピュータフォレンジックを行うときはいつでも同じことが行われるため、ドライブの分析中に損傷を与えた場合、コピーのみを損傷します。

それで、大きな悪いNSAがあなたのコンピューターを取り、あなたに彼らのパスワードを伝えるためにあなたの親指を悪徳に置くと言うことができます。間違ったパスワードを入力すると、元のファイルではなくコピーするだけで削除されます。今、彼らはあなたがそれらをいじっていることを知っています。

したがって、キルパスワードの使用は、だれかがシステムを把握する前に実行した場合にのみ有効です。そのため、エイリアスを作成できる複雑な方法を実行するだけです。


6

データを本当に破壊したい場合。最初に、だれもあなたのデータ(つまり、ディスク全体)のコピーを作成しないことを確認する必要があります。しかし、これはOSレベルでは不可能です。

データが間違った手に渡らないようにする唯一の方法は、暗号化を使用することです。特に、拒否可能な暗号化はあなたの場合には正しいことです。正しいパスワードを入力すると、個人データが表示されます。他のパスワードを入力すると、無害なデータが表示されます。


誰かがパスワードを入力するように強制するシナリオ、またはパスワードを入力するとコンピューターをつかむシナリオを最も心配しています。
ジョシュ14年

3
誰かにパスワードの入力を強制された場合、「その他」のパスワードを入力するだけで、無害なデータがロック解除されます。-したがって、実際のデータの存在を否定できます。-データの取得に真剣に取り組んでいる場合は、コンピュータに触れさせませんが、最初にすべてのコピーを作成します。
ミカ14年

6

NSAからデータを保護するためにデータを本当に破壊したい場合は、爆発物とディスクプラッターの金属を溶かす火が必要であり、リモートでトリガーできる必要があります。

これは実用的ではないと思います。


0

別のユーザー名でログインすると、プライマリユーザーの/ homeディレクトリ(および/ var、/ tmpなどの目だけのデータがある場所)を破棄するスクリプトを作成できます...スクリプトはログインしてから、見た目に便利なものを実行して見物人を欺くものを自動的にロードします。見物人をだますことなくシステムを破壊する場合、プラグを抜くだけで、最適な計画が機能しなくなる可能性があります。また、これは進行中のログインを許可します...トラッシュミーユーザーを別のドライブに移動しますが、トラッシュされるドライブはかなり混雑しているため、気味が悪いです。


1
規定の制約内ではありません。
ジョシュ14年

0

安全なハードドライブ、またはその点でフラッシュドライブは矛盾です。情報を保護する唯一の方法は、メモリで実行され、電源を切ると蒸発する仮想オペレーティングシステムを使用することです。必要に応じて外部メディアに保存する必要があるデータは、必要に応じて非表示にできます。それを可能にする「ライブ」Linuxディストリビューションが数多くあります。比較的少ない労力で、CDまたはDVDをリマスターし、ニーズに合わせてカスタマイズできます。また、行動情報の多くはブラウザによって中継されていることに注意してください。また、セキュリティが侵害されていると思われる検索には、Torなどの安全なブラウザを使用する必要があります。


私の要求ではありません。完全なセキュリティは非現実的であることを完全に認識しています。私は完璧な解決策を求めていません。
ジョシュ14年

0

物事を安全に保ちたい場合は、完璧なセキュリティというものは存在せず、正確なリスク評価が行われた後、セキュリティは容認できるもののトレードオフに過ぎないことを理解してください。

まず、何を破壊するのか。まず、アクセスのしやすさの低下を見てください。エアギャップを作成します。オンラインのものや、スニーカーを経由してそこにあるメインボックストランスポートから送信するもののために、bcheaapボックスを購入します。Scryptなどの適切暗号化を使用します。Truecryptやその他の人々は、由緒ある一日を過ごしました。

他にも多くの戦略を使用できますが、ここに入れるのに十分なスペースがありません。率直に言って、私はそれらに入るのに十分な時間がありません。あなたはまったく新しい学習パスを発見したと思います。


規定のコンテキスト内ではありません。
ジョシュ14年

0

私に指摘され、Phoronixで紹介されたように、Kali Linuxはこれを行う方法も作成しました。いくつかのコードを見ると、パッチを無効にできる弱点がありますが、効果的な自己破壊パスワードを許可するには長い道のりがあります。注として、弱点はデータのゼロ化に関連するハードウェアの特殊性です。製造元のツールはゼロ化されたデータを回復できます。また、メディア上のキーの場所をランダムジェネレーターで数回上書きして、データのスクランブルを確保する必要があります。

ここにリンク:http : //www.kali.org/how-to/emergency-self-destruction-luks-kali/


0

はい、ドライブの表面を破壊する必要があります。テルミット手ren弾をお勧めします(それは彼らが私たちに教えたものです)火のスターター(マグネシウムブロック)と点火源であなた自身を作ることができます...目標はクラスDの火を作成することです....消すことは不可能です。


OPが物理的な破壊について話しているとは思わない
...-don_crissti
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.