web-dev-qa-db-ja.com

ラップトップを攻撃から保護する(記事)

私はラップトップを強化する方法を探しているときに this の記事に出くわし、このガイドは非常に徹底されているように見えました。それはおそらく過度に偏執的ですが、私がこのレベルの保護を必要とする、おそらく仕事に関連した立場に来た場合に信頼できるガイドがあれば良いでしょう。

私の質問は次のとおりです。上記のガイドに、作者が攻撃者のアクセスを許可するという言及に失敗した穴はありますか?そして、攻撃者がスパナで殴ることに頼らずにアクセスを得るために行かなければならない長さはどれくらいでしょうか?

16
youjustreadthis

いくつかの解説:

一般的な泥棒から守る

Windows 7をワイプするのではなく、ハニーポットオペレーティングシステムとして残しました。泥棒がノートパソコンを盗んだ場合、ノートパソコンの電源を入れると、パスワードを要求されることさえなく、自動的にWindowsが起動します。私はPreyと呼ばれる無料のアプリケーションをインストールしました。これにより、ラップトップから場所などの情報や組み込みのWebカメラからの写真を取得できます。

ありそうもない。ほとんどのラップトップ泥棒は、人生のある時点で刑務所に入れられているため、仲間の受刑者から何かを学んだことがあります。彼らはこのトリックに賢明です。通信可能な電気製品を盗むと、バッテリーを取り出します(該当する場合はSIMカードも)。ほとんどの携帯電話の泥棒は、iPhone用の開封ツールを持っているので、SIMをすばやく取り外すことができます。次に、ラップトップをフェンス(盗品を売る人)に売り、ドライブを取り出して拭き取り、新しいOSをインストールします。通常、海賊版のWindows。

専門家からの防御

ラップトップをセキュリティで保護するには、フルディスク暗号化が不可欠だと思います。ただし、フルディスク暗号化を使用するマシンに対してはいくつかの攻撃があります。私はそれらのできるだけ多くを扱うことにしました。

フルディスク暗号化が良いことに同意しました!次へ移りましょう...

悪魔の攻撃

フルディスク暗号化を使用するマシンがある場合でも、ブートパーティションとブートローダーは暗号化されていない場所に保存する必要があります。通常、人々はそれを暗号化されたパーティションと一緒にハードドライブに保存します。これを行う際の問題は、あなたのマシンに行くたびに、誰かが暗号化されていないデータを改ざんして、パスワードをキャプチャするソフトウェアキーロガーをインストールしたかどうかわからないことです。これを回避するために、Corsair Survivor USBスティックにブートパーティションとブートローダーをインストールしました。私の側を離れないUSBスティックが欲しかった。

可能性は低いですが、これは本当の脅威です。ただし、USBスティックブーターしないがあなたを守ります。それは悪者の仕事をより困難にします、しかし彼らがハードウェアをいじる問題に行くつもりなら、彼らはキーボードの下にハードウェアのキーロガーを同じくらい簡単にインストールすることができました。それがあなたの視界の外にあるとき、ラップトップをケースにロックしてください。私は常に盗難を防ぐのにも役立つため、ホテルでこれを行います。まともな ケンジントンロック にも投資することをお勧めします。これは、パイプや他のさまざまな強力な器具の周りに取り付けることができます。

ディスク暗号化を使用する一般的なシステムでは、暗号化キーはRAMに保存されます。物理的にアクセスできる攻撃者が、実行中のマシン上でRAMの内容を読み取る方法、またはは最近実行されています。マシンのRAMは、電力が失われるとすぐにワイプされると思われるかもしれませんが、そうではありません。RAM電源が切れた後に完全にクリアするには、RAMをエアカンからのスプレーで冷却すると、その時間を延長できます。

これは誤解を招くものです。室温では、最新のDDR3は電源切断後約3〜15秒で50%信頼マークを下回る整合性を失います。 DDR2は約20〜30秒でそうする傾向があります。これにより、DRAMモジュールにコールドブート攻撃が発生しますveryすぐに部屋を出て、誰かが飛び込んでラップトップを便利な液体窒素タンクに落としても。それは起こらないだろう。ただし、すべきスリープモードを回避します。これにより、システムが低電力状態になり、RAMの更新が続行されます。このような場合、攻撃者はオンサイトでDRAMモジュールを凍結し、分析のために実験室に持ち込む可能性があります。フルディスク暗号化を使用している場合、ハイバネートは問題ではありません。マシンの状態はディスクに保存され、システムは完全にシャットダウンされます。

BIOSをパスワードで保護し、ハードドライブ以外からの起動を無効にすることもできますが、それでも保護されません。

コールドブート攻撃からは保護しませんが、他の多くのものか​​ら保護します。また、多くのBIOS実装がブートパスワードも提供していることもわかります。これは、マシンがパスワードなしでPOST=さえできないため、攻撃者または泥棒にとって事態をより困難にします。

私が使用した2番目の防御は、はるかに興味深いものです。 TRESORというものを使っています。 TRESORは、CPUデバッグレジスタにキーを保存し、すべての暗号化操作をCPUで直接処理する暗号化カーネルモジュールとしてのAESの実装で、キーがRAMに入るのを防ぎます。

これは、暗号鍵が盗まれるのを防ぐだけです。 RAMには、ファイルシステムキャッシュなど、他のあらゆる種類の重要なデータが含まれます。LSAキー、LSAボールト、メモリ内SAM(またはLinuxの同等の構造)も含まれます)アカウントパスワードハッシュの回復に使用できます。これらが解読された場合、攻撃者にディスク暗号化パスワードが何であるかがわかる可能性があります。そのため、ディスク暗号化には一意のパスワードを使用することを強くお勧めします。

firewire経由の攻撃

マシンにFireWireポートがある場合、または攻撃者がFireWireカードを挿入できるカードスロットがある場合は、他に対処する必要があります。 RAMの内容をFirewireポート経由で読み取ることができます。

はい、同じことがカードバス経由でも可能です。偏執狂の場合は、これらのインターフェースを物理的に無効にする必要があります。

そのため、代わりに、firewireをカーネルモジュールのセットとしてビルドし、/etc/modprobe.d/blacklistを使用して通常の状況でモジュールが読み込まれないようにしました。

うまくいきません。サポートを無効にしたり、ドライバーを削除したりすると、OSはデバイスとやり取りできなくなりますが、Firewireデバイスまたはカードバスモジュールは、ハードウェアレベルで任意の方法で機能できます。OSソフトウェアと直接やり取りすることはできません。 DMAリクエストと割り込みは引き続きデバイスから送信できるため、メモリを読み取ることができます。これにより、攻撃者は後でそれを収集したり、RF経由で送信したりできます。

ディスク暗号化の準備

ディスク暗号化を設定する前に、ランダムデータで新しいハードドライブを完全に消去する必要があります。これは、ドライブのどの部分に暗号化されたデータが書き込まれたかを誰かが検出できないようにするためです。これを行うのは、ランダムデータで埋めたいスペースにパーティションを作成し、「dd」コマンドを使用して、/dev/から/dev/urandomのパーティションデバイスにデータを直接コピーするだけです。これを私のシステムで実行するには、数時間かかりました。

これは愚かな方法です。 TrueCryptは、ボリューム作成ウィザードの一部として、ランダムデータでディスク全体を自動的にワイプします。 TCはシステムが提供するものに加えて独自の強力なAESベースのランダムデータ生成を行うため、/dev/urandomからの直接読み取りよりも高速です。 ddを使用して手動で実行しないでください。間違っている可能性があります。

購入したEntropyKeyと呼ばれるものを使用して、この手順を少し複雑にしました。 EntropyKeyは、オペレーティングシステムによって生成されるはるかに限定された「疑似」ランダムデータとは対照的に、「実際の」ランダムデータのはるかに大きなソースを提供します。

これはたぶん良い考えです。このデバイスの実際のテクニカル分析は表示されないので、それが良いかどうかは本当に言えません。さまざまな統計チェックに合格しても、それほど大きな意味はありません。ランダムノイズの優れたソースとして知られているトランジスタのP-N接合からのアバランシェノイズを使用します。これは、量子トンネリングの確率論的効果によって作成されるためです。ただし、ノイズには偏りがないわけではありません。インダクタンスやキャパシタンスなどの回路のさまざまな電気的特性により、ボードの銅経路内のさまざまな電源プレーンおよびループと「共振」する特定の波形に向かって小さなバイアスが発生します。このバイアスは、ビットペアを01から0、10から1に変換し、11と00のビットペアを破棄する von Neumann whitening と呼ばれるソフトウェアフィルターで減らすことができます。これにより、ジェネレータの出力速度は少なくとも1/4の因数で減少します(アイデアのランダムソースの場合)が、バイアスは取り除かれます。これがEntropyKey内で行われているかどうかはわかりません。

ディスク暗号化の詳細

最初にインストールを行ったときに、パスフレーズを使用してディスク全体の暗号化キーを保護することを選択しました。キーファイルで保護することもできます。キーファイルを使用する利点は、外部デバイスに保存できることです。攻撃者は、パスワードの入力を観察するだけでなく、キーファイルを入手する必要もあります。また、総当たりすることははるかに困難です。

bothキーファイルとパスワードがあれば、これで問題ありません。それは本質的に二要素認証を提供します。

スワップを使用する必要がある場合。それも暗号化されていることを確認してください。すべてが暗号化されていることを確認する最も簡単な方法は、暗号化されたデバイスを作成し、その上にLVMを使用して、すべてのパーティションとスワップが同じ暗号化されたデバイスの上に配置されるようにすることです。

賢明な言葉。 Windowsでは、仮想メモリ(スワップ)がフルディスク暗号化方式の一部であるディスクにのみ配置されるように構成する必要があります。

私が購入したラップトップには、トラステッドプラットフォームモジュールと呼ばれるものがあります。このTPMは、それ自体がいくつかの暗号操作を処理できます。また、EntropyKeyに似た乱数ジェネレータも提供します。どうやら最近のラップトップの多くはこれらの1つを含んでいます。

TPMと政府のバックドアに関する過去の問題のため、これは避けます。具体的な証拠を引用することはできませんが、それを避けるほど神経質になります。

私はFirefoxをWebブラウザーとして使用しています。ウェブをサーフィンすることは私を怖がらせます。リモートの攻撃者が侵入する可能性が最も高いのは、ブラウザです。それでも、ほとんどの人は他のプログラムと同じユーザーIDでブラウザを実行します。したがって、ブラウザが侵害された場合、ユーザーがアクセスできるすべてのファイルも即座に侵害されます。これが発生した場合の損傷を最小限に抑えるために、Firefoxを独自のアカウントで実行することにしました。

繰り返しますが、スマートです。完全にサンドボックス化し、独自のユーザーで実行する方が賢明です。これはWindowsではより難しいため、ユーザーアカウントをほとんどのタスク(UACをオンにした状態で)の制限付きユーザーとして設定し、実際に必要な場合にのみ管理者アカウントに切り替えることをお勧めします。 Sandboxie のようなものも役立ちます。

受信メールはすべて、公開GPGキーを使用して暗号化されています。ここでこれを行う方法を詳しく説明しました。つまり、ラップトップに秘密のGPGキーを保存する必要があります。パスフレーズで保護されていますが、これで十分ですか?私のアカウントが侵害された場合、攻撃者は私のパスフレーズをキーログに記録し、その後私のキーを盗む可能性があります。幸い、ノートパソコンを購入したとき、「スマートカードリーダー」オプションを選択しました。次に、OpenPGPスマートカードを購入しました。暗号化と署名のサブキーがスマートカードに転送され、マスターキーがラップトップから削除されました。

便利ですが、これは前述の「悪のメイド」攻撃を考慮に入れていません。カードの通信を盗聴したり、改ざんしてキーを保存して後で取得したりすることが可能です。

私は次のFirefoxアドオンを使用して、ブラウジングに対するMITM攻撃の可能性を最小限に抑え、ほとんどのXSS/CSRF攻撃を防ぎます:Certificate Patrol、Cipherfox、DNSSEC Validator、HTTPS Everywhere、HTTPS Finder、NoScript、Perspectives、およびRequest Policy。

良いリスト! Collusion、AdBlock Plus、Greasemonkeyも含めます。 CollusionはさまざまなトラッキングCookieをキャッチし、それらをブロックできます。 AdBlock Plusは、トラッカーCookieからマルウェアまで、さまざまな問題の原因となる可能性がある広告を削除するのに役立ちます。 Greasemonkeyは、選択したサイトまたはページに独自のJavaScriptを挿入できるユーザースクリプトアドオンです。特定のページでさまざまな機能を無効にする場合や、独自の機能を追加する場合に役立ちます。たとえば、さまざまなURL短縮リンクを検索し、そのターゲットをJavaScriptポップアップボックスに置き換えるスクリプトを使用して、リンクの処理方法を決定できます。

Blueproximityというアプリケーションをインストールしました。それは私の電話がBluetooth経由で範囲内にあることを検出します。スマートフォンが範囲外に移動すると、画面が自動的にロックされます。これは私の電話のなりすましによって防ぐことができることは間違いありませんが、それによってセキュリティがさらに強化されます。

クールな仕掛けですが、なりすましが簡単です。 Bluetoothのセキュリティはがらくたです。


全体として、かなりきちんとした記事です。それには欠点がありますが、健全なアドバイスもたくさんあります。あなたがそれの半分さえ追いかけるならば、あなたは最も決定的な攻撃者以外のすべてに対して安全でなければなりません。結局のところ、それはあなたが気にするリスクとそれに入れたい時間/お金の間のバランスをとる行為です。

21
Polynomial

多項式はすでに非常に優れた分析を書いています ですが、言及する価値がある点がいくつかあります。

部分分析

一般的な泥棒から身を守る

ケース1:泥棒はハードウェアを狙っています。彼はそれをフェンスし、OSを最初に再インストールします。彼がWindowsを起動して使用しようとする可能性は低い(ゼロではない:愚かな泥棒のようなものがある)。 Windowsを起動した人は、ラップトップを紛失して発見されたために、あなたが誰かを調べようとしている可能性もあります。

ケース2:泥棒はデータを狙っています。もちろん自分のためではなく、再販のためです。企業や政府のラップトップが盗まれる市場があります。その種の泥棒(または彼を雇っている人)は、デバイスを起動するのではなく、ディスクを移植して外部からデータを確認することを知っています。

ここに示したWindowsのインストールは、ディスク領域の無駄遣いだと考えています。

邪悪なメイド攻撃

これらの攻撃を防御する範囲は限られています。邪悪なメイドは、ハードウェアキーロガーを設置したり、ファームウェアルートキットをインストールしたりできます。

「私の側を離れないUSBスティック」の問題は、実際に紛失しやすいことです。ほとんどの人は有能なスリに対して脆弱です。かさばるラップトップより気づかずに群衆の中でUSBスティックを紛失する方が多少簡単です。

コールドブート攻撃

提案された防御は脆弱性をもたらします。新しいソースをダウンロードし、パッチを再適用して再コンパイルする必要がある場合、カーネルのアップグレードにはかなり長い時間がかかります。それは、外出中にコールドブート攻撃が問題となる場合に便利なことではない場合がよくあります。

ちなみに、セキュリティ更新プログラムをすぐに適用するは、記事にない基本的なアドバイスです。

トラステッドプラットフォームモジュール

情報漏えいに対するセキュリティを強化するには、暗号化キーをTPMまたはスマートカードに入れます。これは、キーを含むデバイスを失う重大なリスクをもたらします。マザーボードが揚げられている場合(TPM)またはカードを紛失した場合(スマートカード)、データにアクセスできなくなります。したがって、鍵をバックアップしたことを確認してください。旅行中にキーを紛失した場合の対処法を考えてください。

Webブラウザーの保護

ここには大きな娼婦がいます。ブラウザを別のユーザーとして実行しても、ローカルファイルアクセスの脆弱性など、いくつかの脆弱性から保護されます。追加のメリットについては、Firefoxに対してより制限の厳しいAppArmorポリシーを定義してください。ただし、攻撃者が任意のコードをmike.firefoxとして実行できる場合、攻撃者はmikeアカウントも作成します。 Xサーバーは分離の方法で多くを提供しません。 mike.firefoxは、他のアプリケーションに入力を詰め込んで、キーロガーを実行できます。 mike.firefoxは、パッチが適用されていないローカルの脆弱性の悪用(何もないことをどれだけ賭けてもよいですか)などのローカル攻撃や、任意の暗号に対するサイドチャネル攻撃も実行できます。少なくとも、実際の分離を提供するために、Firefoxは仮想マシンで実行する必要があります。

PGPスマートカード

(上記の「信頼できるプラットフォームモジュール」(sic)を参照)

不足しているもの

リスクとコストの評価はありません。追加の構成にどのくらいの時間が費やされましたか? (マイクの回答:「1か月で調査中」、「1〜2週間試してみて」 。)仕事をやり遂げるためのセキュリティの強化はどのくらいの妨げになりますか?

もう1つの不足は、データ漏洩以外の考慮事項です。特に、availabilityは、誰かが何かを「保護」しようとするときは常に少しヒットします。暗号化されたディスクと強化された認証により、ハードウェアに障害が発生した場合の回復時間が長くなります。

誰にでも当てはまるわけではありませんが、諦めざるを得ない場合もあります。国境警備隊員が「ノートパソコンと復号化キーをくれたら、国に入れない」と言ったら、どうしますか?パスワードを直接公開せず、自分で入力することのみが可能な場合があります(ただし、空港のいたるところにカメラが設置されていることを考慮してください)。 USBキーを含め、すべての電子機器を入り口に置いておきたいテクノロジー企業の内部に入る必要がある場合はどうでしょうか。 (はい、彼らは存在します。あなたは周りで最も偏執狂的な人ではないかもしれません!)本当にデータを漏らす余裕がないなら、それを持ち歩かないでください!機密性の高いものは自宅で(物理的なセキュリティが確保されたエリア内のデスクトップで)実行し、最低限の価値のあるものだけを持ち歩いてください。

それにもかかわらず、この記事は興味深いものでしたが、その部分に関していくつかの懸念があります。

一般的な泥棒から身を守る泥棒がデバイスを盗んでいるとき、おそらく彼はゲームをプレイするためにこれを行っていないか、または必死にFBアカウントを確認する必要があったためです。また、ラップトップを盗んでメールやその他の情報を読み取ることもありません。だから私は彼がウィンドウズを起動し始めることを強く疑います。おそらく(少なくとも私の国ではこのように)泥棒はお金を必要とし、彼の最初のステップはそれを売ろうとするため、これを行っています。この人たちは、クイックタイムで4〜8倍安い価格で購入できる知識を持っています。そして、ラップトップや携帯電話の場合、この二人称は、デバイスを手に入れたらすぐにすべてを削除します。

3
Salvador Dali

ハードウェアを改ざんする問題が発生した場合でも、キーボードの下にハードウェアキーロガーを簡単にインストールできます。それがあなたの視界の外にあるとき、ラップトップをケースにロックしてください。盗難防止にも役立つので、私は常にホテルでこれを行います。まともなケンジントンロックにも投資することをお勧めします。これはパイプや他のさまざまな強力な固定具の周りに取り付けることができます。

ケンジントンロックは、物理的に設置されたキーロガーを保護しません(ただし、それは良いアドバイスです)。また、ラップトップをケース内にロックできない場合(または忘れた場合、または不便な場合など)もあり、ほとんどの場合、荷物の「ロック」をあまり信頼していません。

これを試して:

  1. キラキラ光るマニキュアを手に入れ、ノートパソコンの底面のネジの上に塗ってください。
  2. 高解像度カメラを使用して、グリッター塗装されたネジをそれぞれ撮影します。
  3. いつも持っている別のデバイス(スマートフォンなど)に写真を保存します。

これで、キラキラ塗装されたネジを写真と簡単に照合できます。

このローテク防御により、ラップトップの内部コンポーネントへのアクセスを必要とする攻撃のレベルが大幅に上がります。これで、攻撃者はラップトップをチェックし、マッチするマニキュアを取得し、マニキュアをきれいにし、キーロガーをインストールし(ここに他の悪質な「メイド」アクティビティを挿入)、ネジを再塗装し、新しいグリッターパターンを撮影する必要があります、携帯電話をハックして、写真を置き換えます(ラップトップに戻る前に)。そのレベルでは、チームの運用、または非常に献身的で忍耐強い個人について話している。

エクストラパラノイドボーナスプラン:ネイルサロンで使用しているUV硬化ネイルポリッシュ/クリアコートの一部を使用します。日常の活動では衰えません。攻撃者はまた、アセトン(マニキュア液を溶かすのに5〜10分かかります)、UVライト(新しいマニキュア液を硬化させるため)、そして文字通りペイントが乾くのを見守っていなければなりません...

1
RajanPB

私の2セント:この記事では、物理的なセキュリティに重点を置きすぎており、ハッキングには不十分です。ブラウザーと電子メールアプリケーションのエクスプロイトについてもっと心配し、より安全なブラウザー(咳)、サンドボックス、および仮想マシンを使用してそれらを緩和します。